/* Complementi ai moduli nativi Divi. Colori e tipografia principali restano nei preset. */
.filo-brand { white-space: nowrap; }
.filo-brand a { text-decoration: none; }
.filo-brand .filo-brand-dot { color: var(--gcid-b152b4f2-0d74-54c7-a64a-11b8e78b5ae7); }
/* La testata testuale non è un link come gli altri del footer: niente cambio
   colore né sottolineatura all'hover (richiesta di Lucia, 2026-09-06) — qui si
   sovrascrivono sia il preset (hover:rosa, comune a tutti i testi del sito) sia
   la regola generica ".filo-footer-main a:hover" pensata per i link di navigazione. */
.filo-footer-main .filo-brand a,
.filo-footer-main .filo-brand a:hover { color: inherit!important; text-decoration: none!important; }
/* Spazio tra la testata e il claim sotto, nel footer: 24px letto come troppo
   vicino alla testata grande (56px) ma proporzionalmente ampio sul claim
   piccolo sotto — stretto a 12px (2026-09-06). */
.filo-footer-main .filo-brand + .et_pb_module { margin-top: 12px!important; }
.filo-header { border-bottom: 1px solid var(--gcid-7b546d89-1ee8-5ed8-8ff8-29e328933c48); }
.filo-header-row.et_pb_row { display: flex; align-items: center; gap: 24px; }
.filo-header-row .filo-header-brand { flex: 0 0 235px; width: 235px; margin: 0; }
.filo-header-row .filo-header-brand .et_pb_image_wrap,
.filo-header-row .filo-header-brand img { display: block; width: 235px; max-width: 100%; height: auto; }
.filo-header-row .filo-header-menu { flex: 1; width: auto; min-width: 0; margin: 0; }
.filo-header-menu .et_pb_menu__wrap { justify-content: flex-end; }
.filo-header-menu .et-menu > li { padding-left: 10px; padding-right: 10px; align-items: center; }
.filo-header-menu .et-menu > li > a { padding: 12px 0; }
.filo-header-menu .et-menu > .filo-nav-subscribe > a,
.filo-header-menu .et_mobile_menu > .filo-nav-subscribe > a { background: var(--gcid-b152b4f2-0d74-54c7-a64a-11b8e78b5ae7); color: var(--gcid-3366c1aa-3934-562d-bafc-021311cf2315); padding: 12px 18px; }
.filo-header-menu .et-menu > .filo-nav-subscribe > a:hover { background: var(--gcid-13cc5c19-bca0-5460-adc9-cd3e850983f0); opacity: 1; }
.filo-header a:focus-visible, .filo-footer-main a:focus-visible,
.filo-footer-cta a:focus-visible, .filo-creditbar a:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.filo-footer-main a:hover, .filo-creditbar a:hover { text-decoration: underline; text-underline-offset: .22em; }
.filo-footer-main .et_pb_text p { padding-bottom: 0; }
.filo-cta-row { align-items: center; }
.filo-cta-actions { display: flex; flex-direction: column; justify-content: center; }
/* CTA del footer globale centrata, non più a due colonne (2026-09-06): con la
   fascia Forum della home appena introdotta (testo a sinistra, pulsante a
   destra) la stessa impaginazione qui sotto sarebbe sembrata "la stessa
   sezione due volte di fila" — richiesta di Lucia di distinguerle.
   "margin:0 auto" sulla colonna (figlio flex della riga di Divi) si comporta
   in modo imprevedibile — verificato dal vivo, il blocco finiva spinto tutto
   a destra invece che centrato. Si centra invece la riga stessa con
   justify-content, lasciando la colonna alla sua larghezza naturale. */
.filo-footer-cta .et_pb_row { justify-content: center; }
.filo-footer-cta .filo-cta-row { text-align: center; max-width: 640px; }
.filo-footer-cta .filo-cta-row .et_pb_button_module_wrapper { display: flex; justify-content: center; }
.filo-credit-signature { text-align: right; }
.filo-creditbar { border-top: 1px solid #36363c; }
@media (max-width: 980px) {
 .filo-header-row .filo-header-brand { flex-basis: auto; width: min(235px, calc(100vw - 92px)); max-width: 235px; }
 .filo-header-row .filo-header-menu { flex: 1; }
 .filo-header-menu .et_mobile_menu { left: auto; right: 0; width: min(92vw, 460px); border-top-color: var(--gcid-b152b4f2-0d74-54c7-a64a-11b8e78b5ae7); background: var(--gcid-998889a7-89c0-5f71-83dd-58b734815e2d); }
 .filo-header-menu .et_mobile_menu li a { padding: 14px 20px; color: var(--gcid-3366c1aa-3934-562d-bafc-021311cf2315); font-size: 16px; }
 .filo-header .et_pb_column { margin-bottom: 0; }
 .filo-cta-actions { margin-top: 32px; }
 .filo-credit-signature { text-align: left; }
 .filo-credit-row .et_pb_column:first-child { margin-bottom: 8px; }
}
@media (max-width: 767px) {
 .filo-header-row.et_pb_row { gap: 16px; }
}
/* Il clearfix delle righe classiche non deve occupare spazio nel menu in flex. */
.filo-header-row::before, .filo-header-row::after { display: none; }
.filo-header .filo-header-row > .et_pb_column { margin: 0; }
.filo-header-menu .et_pb_menu__wrap { flex: 1; }
@media (max-width: 980px) {
 .filo-header .filo-header-row > .filo-header-brand { width: auto !important; flex: 0 0 auto; }
 .filo-header .filo-header-row > .filo-header-menu { width: auto !important; flex: 1; min-width: 44px; }
 .filo-footer-main .filo-footer-nav > .et_pb_column { margin-bottom: 32px; }
 .filo-footer-main .filo-footer-nav > .et_pb_column:last-child { margin-bottom: 0; }
 .filo-header .mobile_menu_bar { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
 .filo-header .mobile_menu_bar:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
}
.filo-header .filo-header-menu .et_pb_menu__wrap { flex: 1; justify-content: flex-end; }
