header {
  position: relative !important;
  top: auto !important;
}
/* Applica tutto SOLO sotto i 768px */
@media (max-width: 768px) {

  /* BOX del menu mobile */
  .wp-block-navigation__responsive-container-content {
    background-color: #ffffff !important; /* Bianco */
    border: 2px solid #aac2d7 !important; /* Bordo azzurro */
    padding: 30px;
    max-width: 90%;
    margin: 40px auto;
    border-radius: 10px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
  }

  /* Link all'interno del menu */
  .wp-block-navigation__responsive-container-content a {
    display: block;
    padding: 18px 0;
    color: #103c6a !important; /* Blu scuro */
    font-weight: 700 !important;
    font-size: 18px !important;
    border-bottom: 1px solid #aac2d7;
    text-align: center;
    text-decoration: none;
  }
		
@media (max-width: 768px) {
  /* Forziamo l'allineamento a sinistra o centro UNIFORME */
  .wp-block-navigation__container.is-responsive {
    display: flex;
    flex-direction: column;
    align-items: center; /* O usa: flex-start per sinistra */
    text-align: center;
  }

  .wp-block-navigation__container.is-responsive li {
    width: 100%;
  }

  .wp-block-navigation__container.is-responsive a {
    display: block;
    width: 100%;
    text-align: center !important;
  }

  /* OPTIONAL: se vuoi spezzare le parole lunghe come “SERVIZI PER AZIENDE...” */
  .wp-block-navigation__container.is-responsive span.wp-block-navigation-item__label {
    word-break: break-word;
  }
}


  /* Nessuna linea sotto l'ultimo link */
  .wp-block-navigation__responsive-container-content a:last-child {
    border-bottom: none;
  }

  /* Overlay dietro il box */
  .wp-block-navigation__responsive-container {
    background: rgba(255, 255, 255, 0.7) !important; /* Overlay bianco trasparente */
  }

  /* Nascondere overlay finché il menu è chiuso */
  .is-menu-open.wp-block-navigation__responsive-container {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding-top: 100px;
  }
}

/* Bloccare la sillabazione ovunque */
p, h1, h2, h3, h4, h5, h6,
.wp-block-paragraph,
.wp-block-heading,
.wp-block-quote,
.wp-block-cover,
.wp-block-cover__inner-container,
.wp-block-group,
.wp-block-column,
.wp-block-columns {
  word-break: break-word;
  overflow-wrap: break-word;
  hyphens: none !important;
}

/* 1. Ridurre il font dei testi nel footer su mobile + margine laterale */
@media (max-width: 768px) {
  p.has-text-align-center.has-small-font-size {
    font-size: 11px !important;
    line-height: 1.4 !important;
    padding-left: 30px;
    padding-right: 30px;
  }
}

/* 2. Ridurre SOLO la dimensione del logo */
@media (max-width: 768px) {
  .wp-block-image img.wp-image-81 {
    width: 80px !important;
    height: auto !important;
    margin-bottom: 10px;
  }
}

/* 3. Disabilitare click sulla P.IVA interpretata come numero di telefono */
a[href^="tel"] {
  pointer-events: none !important;
  cursor: default !important;
  text-decoration: none !important;
  color: inherit !important;
}

/* SOLO su mobile */
@media (max-width: 768px) {
  h1 {
    font-size: 30px !important;
    line-height: 1.2 !important;
  }
  h2 {
    font-size: 28px !important;
    line-height: 1.3 !important;
  }
  h3 {
    font-size: 24px !important;
    line-height: 1.4 !important;
  }
  p {
    font-size: 20px !important;
    line-height: 1.6 !important;
  }
  li {
    font-size: 20px !important;
    line-height: 1.6 !important;
  }
}



@media (max-width: 768px) {

  /* Tutti i pulsanti */
  .wp-block-button__link {
    font-size: 20px !important;
    font-weight: 600;
    padding: 14px 28px;
    text-align: center;
    white-space: normal;
    word-break: break-word;
  }

  /* SOLO il contenitore dell'ultimo pulsante */
  .wp-block-button.has-custom-width {
    width: 100% !important; /* Non più 50% su mobile */
    max-width: 90% !important;
  }
}

/* --- Styling generale form ID 3 --- */
.fluent_form_3 {
  background-color: #103c6a; /* Sfondo blu */
  color: #ffffff; /* Testo bianco */
  padding: 30px;
  border-radius: 10px;
}

/* Campi input, textarea, select */
.fluent_form_3 input,
.fluent_form_3 textarea,
.fluent_form_3 select {
  background-color: #ffffff;
  color: #103c6a;
  border-radius: 8px;
  padding: 12px;
  border: none;
}

/* Pulsante submit */
.fluent_form_3 .ff-btn-submit {
  background-color: #de8627;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  padding: 14px 24px;
  border: none;
  border-radius: 8px;
  margin-top: 20px;
  cursor: pointer;
  text-align: center;
}

/* Label dei campi */
.fluent_form_3 label {
  color: #ffffff;
  font-size: 20px;
}

/* Cambiare colore degli asterischi nel form ID 3 */
.fluent_form_3 .ff-el-input--label.ff-el-is-required.asterisk-right label:after {
    color: #ffffff !important;
}

/* GDPR Field - testo più piccolo */
.fluent_form_3 .ff-el-form-check label {
  font-size: 15px !important;
}

/* Checkbox GDPR */
.fluent_form_3 .ff-el-form-check {
  color: #ffffff;
}

/* FAQ container */
.faq-container {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 20px;
}

/* FAQ domanda */
.faq-question {
  background: #aac2d7;
  color: #103c6a;
  cursor: pointer;
  padding: 18px 24px;
  margin: 12px 0;
  border-radius: 12px;
  font-weight: 600;
  font-size: 18px;
  transition: background 0.3s ease;
}

/* FAQ risposta */
.faq-answer {
  display: none;
  background: #103c6a; /* Blu scuro */
  color: #ffffff; /* Testo bianco */
  padding: 18px 24px;
  margin-bottom: 12px;
  border-radius: 12px;
  font-size: 17px;
  line-height: 1.6;
  transition: all 0.3s ease;
}

/* Quando la domanda è attiva */
.faq-question.active + .faq-answer {
  display: block;
}

/* Piccola transizione morbida */
.faq-question:hover {
  background: #93b9d3;
}

/* Margine laterale solo sui box delle sessioni */
@media (max-width: 768px) {
  .wp-block-column.has-tertiary-background-color {
    margin-left: 30px;
    margin-right: 30px;
  }
}

/* Sistemare bene SOLO il box FAQ su mobile */
@media (max-width: 768px) {
  
  /* Solo la FAQ container */
  .faq-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
  }
  
  /* Non toccare altri container */
}
/* SOLO da mobile: allargare i box "fa per te" senza toccare altro */
@media (max-width: 768px) {
  /* Selezioniamo SOLO i box giusti */
  .wp-container-core-columns-is-layout-28f84493 > .wp-block-column.has-border-color {
    width: 100% !important;
    margin-left: 0;
    margin-right: 0;
  }
}

/* SOLO da mobile: margine laterale al testo interno della sezione chi-siamo */
@media (max-width: 768px) {
  #chi-siamo h2,
  #chi-siamo p {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
}

/* --- Styling generale form ID 4 --- */
.fluent_form_4 {
  background-color: #aac2d7; /* Sfondo azzurro */
  color: #103c6a; /* Testo blu scuro */
  padding: 30px;
  border-radius: 10px;
}

/* Campi input, textarea, select */
.fluent_form_4 input,
.fluent_form_4 textarea,
.fluent_form_4 select {
  background-color: #ffffff;
  color: #103c6a;
  border-radius: 8px;
  padding: 12px;
  border: none;
}

/* Placeholder dei campi */
.fluent_form_4 input::placeholder,
.fluent_form_4 textarea::placeholder {
  color: #103c6a;
  opacity: 1;
}

/* Cambiare colore degli asterischi nel form ID 4 */
.fluent_form_4 .ff-el-input--label.ff-el-is-required.asterisk-right label:after {
    color: #103c6a !important; /* Blu scuro */
}

/* GDPR Field - testo più piccolo */
.fluent_form_4 .ff-el-form-check label {
  font-size: 15px !important;
}

/* Margine laterale di 20px solo per il form ID 4 su mobile */
@media (max-width: 768px) {
  .fluent_form_4 {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
}

/* Styling generale form ID 5 */
.fluent_form_5 {
  background-color: #aac2d7; /* Azzurro */
  color: #103c6a; /* Testo blu scuro */
  padding: 30px;
  border-radius: 10px;
}

/* Campi input, textarea, select */
.fluent_form_5 input,
.fluent_form_5 textarea,
.fluent_form_5 select {
  background-color: #ffffff;
  color: #103c6a;
  border-radius: 8px;
  padding: 12px;
  border: none;
}

/* Asterisco blu */
.fluent_form_5 .ff-el-input--label.ff-el-is-required.asterisk-right label::after {
  content: " *";
  color: #103c6a !important;
  margin-left: 4px;
}

/* GDPR Field - testo più piccolo */
.fluent_form_5 .ff-el-form-check label {
  font-size: 15px !important;
}


/* Styling generale form ID 6 */
.fluent_form_6 {
  background-color: #aac2d7; /* Azzurro */
  color: #103c6a; /* Testo blu scuro */
  padding: 30px;
  border-radius: 10px;
}

/* Campi input, textarea, select */
.fluent_form_6 input,
.fluent_form_6 textarea,
.fluent_form_6 select {
  background-color: #ffffff;
  color: #103c6a;
  border-radius: 8px;
  padding: 12px;
  border: none;
}

/* Asterisco blu */
.fluent_form_6 .ff-el-input--label.ff-el-is-required.asterisk-right label::after {
  content: " *";
  color: #103c6a !important;
  margin-left: 4px;
}

/* GDPR Field - testo più piccolo */
.fluent_form_6 .ff-el-form-check label {
  font-size: 15px !important;
}

/* Nascondere data da articoli di blog */
.single-post time {
  display: none !important;
}

/* Nascondere sezione commenti da articoli di blog */
.single-post #comments,
.single-post #commentform,
.single-post .comment-form,
.single-post .comments-area {
  display: none !important;
}

/* ✅ Nasconde solo il nome autore */
.single-post .wp-block-post-author {
  display: none !important;
}

/* ✅ Nasconde il titolo "Lascia un commento" e tutto il form */
.single-post .wp-block-comments-query-loop,
.single-post .comment-respond,
.single-post #respond,
.single-post form.comment-form,
.single-post .comment-reply-title {
  display: none !important;
}

/* ✅ Nasconde il separatore orizzontale prima*/
.single-post hr.wp-block-separator {
  display: none !important;
}

/* Evitare che img in evidenza vengano tagliate negli articoli */
.single-post .wp-post-image {
  object-fit: contain !important;
  width: 100% !important;
  height: auto !important;
  display: block !important;
  margin-bottom: 20px !important;
}

/* SOLO su desktop: larghezza ridotta e margine più compatto */
@media (min-width: 768px) {
  .single-post .wp-post-image {
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 10px !important;  /* Ridotto da 20px a 10px */
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* 1. Annulla aspect ratio da desktop per mostrare tutta l'immagine */
@media (min-width: 769px) {
  .single-post .wp-block-post-featured-image {
    aspect-ratio: unset !important;
    max-width: 100%;
    margin-bottom: 20px !important;
  }

  .single-post .wp-block-post-featured-image img {
    height: auto !important;
    width: 100% !important;
    object-fit: contain !important;
    display: block;
    margin: 0 auto;
  }

  /* Riduci lo spazio tra immagine e primo paragrafo */
  .single-post .entry-content > p:first-of-type {
    margin-top: 10px !important;
  }
}

/* 2. Margine verticale su mobile se serve (opzionale) */
@media (max-width: 768px) {
  .single-post .wp-block-post-featured-image {
    margin-bottom: 16px !important;
  }
}

/* Margine tra immagine in evidenza e primo paragrafo su mobile */
@media (max-width: 768px) {
  .single-post .entry-content > p:first-of-type {
    margin-top: 30px !important;
  }
}

/* Espandere l'intera sezione dei post SOLO nella pagina blog (ID 31) */
@media (min-width: 1024px) {
  body.page-id-31 .wp-block-query.alignwide,
  body.page-id-31 .wp-block-columns.alignwide {
    width: 80vw;
    max-width: 80vw;
    padding-left: 40px;
    padding-right: 40px;
    margin-left: calc(-1 * ((80vw - 80%) / 2));
    margin-right: calc(-1 * ((80vw - 80%) / 2));
    margin-top: 60px;
    margin-bottom: 60px;
    box-sizing: border-box;
  }
}

/* Allinea meglio immagine e testo SOLO nella pagina blog */
@media (min-width: 769px) {
  body.page-id-31 .wp-block-columns.alignwide {
    gap: 40px;
    align-items: center;
  }

  body.page-id-31 .wp-block-columns.alignwide .wp-block-column:first-child {
    flex-basis: 50% !important;
  }

  body.page-id-31 .wp-block-columns.alignwide .wp-block-column:last-child {
    flex-basis: 50% !important;
  }

  body.page-id-31 .wp-block-post-excerpt {
    font-size: 18px;
    line-height: 1.6;
  }

  body.page-id-31 .wp-block-post-title {
    font-size: 26px;
    line-height: 1.3;
    margin-bottom: 10px;
  }

  body.page-id-31 .wp-block-post-featured-image img {
    border-radius: 10px;
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}

/* Ottimizzazione layout su mobile SOLO nella pagina blog */
@media (max-width: 768px) {
  body.page-id-31 .wp-block-columns.alignwide {
    flex-direction: column;
    gap: 30px;
  }

  body.page-id-31 .wp-block-post-title {
    font-size: 22px;
  }

  body.page-id-31 .wp-block-post-excerpt {
    font-size: 16px;
  }

  body.page-id-31 .wp-block-post-featured-image img {
    border-radius: 8px;
  }
}

img.wp-image-368 {
  display: block;
  width: 100vw;
  max-width: 100vw;
  height: auto;
  margin-left: calc(-1 * ((100vw - 100%) / 2)); /* allinea ai margini del viewport */
}

/* --- Styling generale form ID 7 --- */
.fluent_form_7 {
  background-color: #aac2d7; /* Sfondo azzurro */
  color: #103c6a; /* Testo blu scuro */
  padding: 30px;
  border-radius: 10px;
}

/* Campi input, textarea, select */
.fluent_form_7 input,
.fluent_form_7 textarea,
.fluent_form_7 select {
  background-color: #ffffff;
  color: #103c6a;
  border-radius: 8px;
  padding: 12px;
  border: none;
}

/* Placeholder dei campi */
.fluent_form_7 input::placeholder,
.fluent_form_7 textarea::placeholder {
  color: #103c6a;
  opacity: 1;
}

/* Cambiare colore degli asterischi nel form ID 7 */
.fluent_form_7 .ff-el-input--label.ff-el-is-required.asterisk-right label:after {
  color: #103c6a !important; /* Blu scuro */
}

/* GDPR Field - testo più piccolo */
.fluent_form_7 .ff-el-form-check label {
  font-size: 15px !important;
}

/* Margine laterale di 20px solo per il form ID 7 su mobile */
@media (max-width: 768px) {
  .fluent_form_7 {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
}


.hello-bar-landing {
  position: relative;
  left: 50%;
  right: 50%;
  width: 100vw;
  max-width: 100vw;
  transform: translateX(-50%);
  background-color: #de8627;
  color: #ffffff;
  text-align: center;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.5;
  padding: 15px 20px;
  box-sizing: border-box;
  z-index: 9999;
  margin: 0;
  border: none;
}

@media (min-width: 768px) {
  .hello-bar-landing {
    font-size: 25px !important;
  }
}


/* Blocchi solo visibili da desktop */
body.page-id-395 .desktop-only {
  display: none !important;
}

@media screen and (min-width: 768px) {
  body.page-id-395 .desktop-only {
    display: block !important;
  }
}

/* MOBILE ONLY */
body.page-id-395 .mobile-only {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
}

@media screen and (min-width: 768px) {
  body.page-id-395 .mobile-only {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
  }
}




/* Se il tema ha padding interno nel main o header */
main,
body,
.wp-site-blocks {
  padding-top: 0 !important;
  margin-top: 0 !important;
}





body.page-id-395 header,
body.page-id-395 .site-header,
body.page-id-395 #masthead,
body.page-id-395 .elementor-location-header {
  display: none !important;
}


/* --- Styling generale form ID 8 --- */
.fluent_form_8 {
  background-color: #aac2d7; /* Sfondo azzurro */
  color: #103c6a; /* Testo blu scuro */
  padding: 30px;
  border-radius: 10px;
}

/* Campi input, textarea, select */
.fluent_form_8 input,
.fluent_form_8 textarea,
.fluent_form_8 select {
  background-color: #ffffff;
  color: #103c6a;
  border-radius: 8px;
  padding: 12px;
  border: none;
}

/* Placeholder dei campi */
.fluent_form_8 input::placeholder,
.fluent_form_8 textarea::placeholder {
  color: #103c6a;
  opacity: 1;
}

/* Cambiare colore degli asterischi nel form ID 8 */
.fluent_form_8 .ff-el-input--label.ff-el-is-required.asterisk-right label:after {
    color: #103c6a !important; /* Blu scuro */
}

/* GDPR Field - testo più piccolo */
.fluent_form_8 .ff-el-form-check label {
  font-size: 15px !important;
}

/* Margine laterale di 20px solo per il form ID 8 su mobile */
@media (max-width: 768px) {
  .fluent_form_8 {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
}

/* Nasconde l'header solo nella pagina gruppo-facebook (ID 431) */
body.page-id-431 header,
body.page-id-431 .site-header {
  display: none !important;
}


/* ✅ Centra il contenuto wide dentro i blocchi full width - SOLO DESKTOP */
@media (min-width: 1024px) {

  /* Togliamo eventuali padding esagerati laterali dal contenuto principale */
  .entry-content.wp-block-post-content.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Regola base: tutti gli .alignwide stanno sempre centrati */
  .alignwide {
    max-width: 1200px; /* puoi portarlo a 1300/1400 se vuoi più largo */
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Caso specifico: gruppi full width (background a tutta larghezza) */
  .wp-block-group.alignfull > .alignwide,
  .wp-block-cover.alignfull > .alignwide,
  .wp-block-columns.alignfull > .alignwide {
    max-width: 1200px;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* I container full width restano a tutta larghezza, ma non devono spingere il contenuto */
  .wp-block-group.alignfull,
  .wp-block-cover.alignfull,
  .wp-block-columns.alignfull {
    width: 100%;
    max-width: 100vw;
  }

  /* Evita che qualche stile del tema li “spari” di lato con margini calcolati */
  .wp-block-group.alignfull,
  .wp-block-cover.alignfull,
  .wp-block-columns.alignfull {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* FAQ già ok, ma allineiamo in modo coerente su desktop */
@media (min-width: 1024px) {
  .faq-container {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
  }
}