/* Stili per email e moduli di contatto (usa `variables.css`). */
@import url("variables.css");

/* Reset e font base */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: var(--font-family-primary);
}

.linea-bianca ul {
  list-style-type: none;
  padding-left: 0;
}

nav ul li a {
  color: var(--light-color);
  text-decoration: none;
}

.navbar-light .navbar-nav .nav-link {
  border-color: var(--dark-color) !important;
}

.navbar {
  margin-bottom: 0;
  height: var(--navbar-height);
  box-shadow: var(--shadow-md);
}

.navbar-toggler {
  border-radius: var(--border-radius-lg);
}

.nav-link {
  color: var(--dark-color) !important;
  text-decoration: none !important;
}

body {
  background-color: var(--bg-secondary) !important;
  font-size: var(--font-size-base);
  color: var(--dark-color);
  font-family: var(--font-family-primary) !important;
}

.container {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 120px;
}

.form-box {
  background-color: #ffffff;
  padding: 40px;
  max-width: 600px;
  width: 100%;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  border-radius: 12px;
  transition: transform 0.3s ease;
}

h2 {
  text-align: center;
  font-size: 26px;
  font-weight: 600;
  color: #004f87;
  margin-bottom: 20px;
}

/* Container per le righe del form */
.input-group-row {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

/* Stile per ogni campo input */
.input-group {
  flex: 1 1 100%; /* Occupa il 100% della larghezza */
  margin-right: 10px;
  margin-bottom: 20px;
  position: relative;
}

.input-group input {
  width: 100%;
  padding: 12px;
  font-size: 14px;
  border: 1px solid #cccccc;
  border-radius: 4px;
}

.input-group input:focus {
  border-color: #0063a8;
  outline: none;
}

/* Stile per il placeholder */
.input-group input::placeholder {
  font-size: 14px;
  color: #636a77;
}

/* Stile del pulsante submit */
.submit-btn {
  width: 100%;
  padding: 14px;
  font-size: 16px;
  font-weight: 600;
  background-color: #0063a8;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  margin-top: 20px;
}

.submit-btn:hover {
  background-color: #004f87;
  transform: translateY(-2px);
}

/* Linea bianca con immagine */
.linea-bianca {
  display: flex;
  align-items: center;
  background-color: #ffffff;
  height: 100px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  padding-right: 20px; /* Spazio per il link Home a destra */
}

.immagine-linea {
  margin-left: 20px;
  height: 80px;
}

/* Contenitore flessibile per "Dati obbligatori" e il pulsante */
.input-group-optional {
  display: flex; /* Allinea gli elementi orizzontalmente */
  align-items: center; /* Centra verticalmente gli elementi */
  justify-content: flex-start; /* Allinea tutto a sinistra */
  margin-top: 10px; /* Spazio sopra */
  margin-bottom: 20px; /* Spazio sotto */
}

/* Stile per lo span con il messaggio "Dati obbligatori" */
.input-group-span {
  margin-right: 20px; /* Spazio a destra tra lo span e il pulsante */
  text-align: left; /* Allinea il testo a sinistra */
}

.input-group-span span {
  color: #636a77; /* Colore per il messaggio */
  font-size: 14px; /* Font piccolo */
}

/* Responsività per dispositivi mobili */
@media (max-width: 768px) {
  .form-box {
    padding: 20px;
  }

  .submit-btn {
    padding: 12px;
  }
}

.navbar-toggler {
  /*background-color: black !important;*/
  border-radius: 15px !important;
  /* Modificato per arrotondare i bordi */
}

/* Stile per la finestra laterale */
.sidebar {
  position: fixed;
  top: 0;
  right: -250px;
  /* Nasconde la sidebar a destra */
  width: 250px;
  height: 100%;
  background-color: #fff;
  box-shadow: -2px 0 5px rgba(0, 0, 0, 0.5);
  transition: right 0.3s ease;
  /* Transizione per l'apertura e chiusura */
  z-index: 1000;
  /* Assicura che sia sopra altri elementi */
  padding: 20px;
}

.sidebar.open {
  right: 0;
  /* Mostra la sidebar */
}

.sidebar ul {
  list-style-type: none;
  padding-left: 0;
}

.sidebar ul li {
  margin: 20px 0;
  /* Margine tra i link */
}

.sidebar ul li a {
  color: black;
  /* Colore del link */
  text-decoration: none;
  /* Nessuna sottolineatura */
  /*font-weight: bold;*/
  /* Grassetto per i link */
}

.close-btn {
  cursor: pointer;
  /* Cambia il cursore per indicare che è cliccabile */
  font-size: 24px;
  /* Dimensione del carattere per la freccia */
  color: #d32f2f;
  /* Colore della freccia */
  margin-bottom: 20px;
  /* Spazio sotto la freccia */
  display: inline-block;
  /* Permette di gestire il margine */
}
