/* Inter latin-ext (OFL), ospitato qui: nessuna richiesta a Google */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/ofh/font/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Inter latin (OFL), ospitato qui: nessuna richiesta a Google */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/ofh/font/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* =====================================================================
   Stile OurFitHub "Apple": carattere di sistema + barra di navigazione.
   Si applica sopra le pagine copiate dal live (lib/personalizza.ts).
   ===================================================================== */
:root {
  --ofh-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --ofh-testo: #1d1d1f;
  --ofh-rosa: #EC71A2;
  --ofh-rosa-scuro: #B8386A;
  --ofh-barra: 52px;
}

/* --- carattere: tutto il testo, non le icone (Divi e Font Awesome) --- */
body, body :not(.et-pb-icon):not(.et_pb_font_icon):not([class*="et-pb-icon"]):not(.fa):not(.fas):not(.far):not(.fab):not([class^="fa-"]):not([class*=" fa-"]):not(.dashicons):not([class*="eztoc"]):not(svg):not(svg *) {
  font-family: var(--ofh-font) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4 { letter-spacing: -0.015em; }

/* --- la vecchia intestazione di Divi lascia il posto alla nostra --- */
header.et-l--header { display: none !important; }

.ofh-barra {
  position: sticky; top: 0; z-index: 99999;
  height: var(--ofh-barra);
  background: rgba(255, 255, 255, 0.8);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.ofh-barra__dentro {
  max-width: 1100px; height: 100%; margin: 0 auto; padding: 0 22px;
  display: flex; align-items: center; gap: 28px;
}
.ofh-barra__logo { display: flex; align-items: center; flex: none; }
.ofh-barra__logo img { height: 30px; width: auto; display: block; }
.ofh-barra__voci {
  display: flex; align-items: center; justify-content: center; gap: 26px;
  flex: 1; margin: 0; padding: 0; list-style: none;
}
.ofh-barra__voci a, .ofh-barra__accedi {
  font-size: 13px !important; font-weight: 400; letter-spacing: -0.01em;
  color: var(--ofh-testo) !important; opacity: 0.8; text-decoration: none !important;
  transition: opacity 0.2s ease; white-space: nowrap; padding: 0 !important;
}
.ofh-barra__voci a:hover, .ofh-barra__accedi:hover, .ofh-barra__voci a[aria-current="page"] { opacity: 1; }
.ofh-barra__voci a[aria-current="page"] { font-weight: 600; }
.ofh-barra__azioni { display: flex; align-items: center; gap: 18px; flex: none; }
.ofh-barra__cta {
  font-size: 13px !important; font-weight: 500; line-height: 1;
  color: #fff !important; background: var(--ofh-rosa);
  padding: 9px 16px !important; border-radius: 980px; text-decoration: none !important;
  transition: background-color 0.2s ease; white-space: nowrap;
}
.ofh-barra__cta:hover { background: var(--ofh-rosa-scuro); }

/* --- telefono: hamburger e menu a tutto schermo --- */
.ofh-barra__apri {
  display: none; flex: none; width: 36px; height: 36px; margin-right: -8px;
  border: 0; background: none; cursor: pointer; position: relative;
}
.ofh-barra__apri span {
  position: absolute; left: 9px; width: 18px; height: 1.5px; border-radius: 2px; transform-origin: 50% 50%;
  background: var(--ofh-testo); transition: transform 0.3s ease, top 0.3s ease;
}
.ofh-barra__apri span:nth-child(1) { top: 14px; }
.ofh-barra__apri span:nth-child(2) { top: 21px; }
.ofh-barra--aperta .ofh-barra__apri span:nth-child(1) { top: 17.5px; transform: rotate(45deg); }
.ofh-barra--aperta .ofh-barra__apri span:nth-child(2) { top: 17.5px; transform: rotate(-45deg); }

@media (max-width: 980px) {
  .ofh-barra__dentro { gap: 14px; padding: 0 16px; }
  .ofh-barra__voci, .ofh-barra__accedi { display: none; }
  .ofh-barra__azioni { margin-left: auto; }
  .ofh-barra__apri { display: block; }
  /* la sfocatura renderebbe il pannello "figlio" della barra (resterebbe alto 52px): da aperto si toglie */
  .ofh-barra--aperta { background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .ofh-barra--aperta .ofh-barra__voci {
    display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 0;
    position: fixed; top: var(--ofh-barra); left: 0; right: 0; bottom: 0;
    padding: 20px 40px 40px; background: #fff; overflow-y: auto;
    animation: ofh-scendi 0.3s ease;
  }
  .ofh-barra--aperta .ofh-barra__voci a {
    font-size: 26px !important; font-weight: 600; line-height: 1.25; opacity: 1;
    padding: 10px 0 !important; display: block;
  }
  .ofh-barra--aperta .ofh-barra__voci .ofh-barra__solo-telefono { display: block; }
}
.ofh-barra__solo-telefono { display: none; }
@keyframes ofh-scendi { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
/* solo sul body: su html e body insieme la pagina scorrerebbe dentro il body e la barra uscirebbe dallo schermo */
html.ofh-menu-aperto body { overflow: hidden; }

/* --- "Gestisci consenso" a sinistra, cosi' non copre il pulsante WhatsApp (in basso a destra) --- */
#cmplz-manage-consent .cmplz-manage-consent { left: 20px !important; right: auto !important; z-index: 9998 !important; }
.et_pb_image_0_tb_footer { z-index: 9999 !important; }

/* i bottoni di Divi dichiarano il carattere con selettori molto specifici */
html body #page-container .et_pb_section a.et_pb_button, html body #page-container .et_pb_section .et_pb_button { font-family: var(--ofh-font) !important; }

/* home: via il cerchio rosa con la freccia sopra la foto */
.et_pb_image.small_icon { display: none !important; }

/* "Gestisci consenso" piccolo e discreto, su computer e telefono */
#cmplz-manage-consent .cmplz-manage-consent {
  left: 10px !important; bottom: 0 !important; width: auto !important; height: 24px !important; min-height: 0 !important;
  margin: 0 !important; padding: 0 8px !important; font-size: 11px !important; line-height: 24px !important;
  border-radius: 6px 6px 0 0 !important; box-shadow: 0 0 6px rgba(0, 0, 0, 0.12) !important;
}
