/* ============================================================
   FRG Menu · menu.css  v1.1.0
   I valori vivono nelle variabili --frg-nav-* generate da PHP.
   Le media query del breakpoint sono anch'esse generate da PHP.
   ============================================================ */

/* ── FIX DIVI ───────────────────────────────────────────── */
body #page-container,
body.et_pb_pagebuilder_layout #page-container,
body.et_pb_pagebuilder_layout.et_full_width_page #page-container {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.et-fixed-header #frg-navbar {
    top: var(--frg-nav-margin-top) !important;
    left: var(--frg-nav-margin) !important;
    right: var(--frg-nav-margin) !important;
}

#main-header,
.et-fixed-header#main-header {
    display: none !important;
}

/* ── RESET SCOPED ───────────────────────────────────────── */
#frg-navbar, #frg-navbar * { box-sizing: border-box; }
#frg-navbar ul, #frg-navbar li { list-style: none; padding: 0; margin: 0; }
#frg-navbar a { text-decoration: none; }
#frg-navbar button { cursor: pointer; background: none; border: none; font: inherit; padding: 0; }

#frgMobileOverlay, #frgMobileOverlay * { box-sizing: border-box; }
#frgMobileOverlay ul, #frgMobileOverlay li { list-style: none; padding: 0; margin: 0; }
#frgMobileOverlay a { text-decoration: none; }
#frgMobileOverlay button { cursor: pointer; background: none; border: none; font: inherit; padding: 0; }

/* ── FALLBACK VARIABILI ─────────────────────────────────────
   Di base il menu prende colori, font e margini dalle variabili del
   tema (--frg-*). Un colore impostato in Aspetto → FRG Menu vince,
   un campo lasciato vuoto torna a queste. */
:root {
    --frg-nav-color-transparent:   var(--frg-ink);
    --frg-nav-color-scrolled:      var(--frg-ink);
    --frg-nav-cta-bg-t:            var(--frg-ink);
    --frg-nav-cta-text-t:          var(--frg-bg);
    --frg-nav-cta-bg-s:            var(--frg-ink);
    --frg-nav-cta-text-s:          var(--frg-bg);
    --frg-nav-cta-dot:             var(--frg-accent);
    --frg-nav-hamburger-t:         var(--frg-ink);
    --frg-nav-hamburger-s:         var(--frg-ink);
    --frg-nav-close-color:         var(--frg-on-accent);
    --frg-nav-glass-bg:            color-mix(in srgb, var(--frg-bg) 88%, transparent);
    --frg-nav-overlay-bg:          var(--frg-accent);
    --frg-nav-mobile-text:         var(--frg-on-accent);
    --frg-nav-mob-line:            color-mix(in srgb, var(--frg-on-accent) 25%, transparent);
    --frg-nav-hover-text-desktop:  var(--frg-accent-ink);
    --frg-nav-hover-bg-desktop:    transparent;
    --frg-nav-font-desktop:        var(--frg-sans);
    --frg-nav-font-mobile:         var(--frg-sans);
    --frg-nav-font-weight-desktop: 400;
    --frg-nav-font-weight-mobile:  300;
    --frg-nav-font-size-desktop:   15px;
    --frg-nav-font-size-mobile:    clamp(40px, 12vw, 56px);
    --frg-nav-logo-height:         36px;
    --frg-nav-logo-text-size:      15px;
    --frg-nav-logo-text-weight:    500;
    --frg-nav-navbar-height:       68px;
    --frg-nav-radius:              0px;
    --frg-nav-margin:              0px;
    --frg-nav-margin-top:          0px;
    --frg-nav-nav-padding:         var(--frg-gut);
    --frg-nav-menu-gap:            28px;
    --frg-nav-ease:                cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── NAVBAR WRAPPER ─────────────────────────────────────── */
#frg-navbar {
    position: fixed;
    top: var(--frg-nav-margin-top);
    left: var(--frg-nav-margin);
    right: var(--frg-nav-margin);
    z-index: 9999;
    border-radius: var(--frg-nav-radius);
    border-bottom: 1px solid transparent;
    background: transparent;
    padding-top: env(safe-area-inset-top, 0px);
    transition:
        background      .35s var(--frg-nav-ease),
        backdrop-filter .35s var(--frg-nav-ease),
        border-color    .35s var(--frg-nav-ease),
        transform       .35s var(--frg-nav-ease),
        top             .35s var(--frg-nav-ease),
        left            .35s var(--frg-nav-ease),
        right           .35s var(--frg-nav-ease),
        border-radius   .35s var(--frg-nav-ease);
}

/* Vetro sempre attivo: la navbar è leggibile fin da subito */
#frg-navbar[data-always-glass="true"],
#frg-navbar.scrolled {
    background: var(--frg-nav-glass-bg);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

#frg-navbar.scrolled {
    border-bottom-color: var(--frg-nav-mob-line);
}

/* Overlay aperto: via il vetro, si vede il fondo pieno dell'overlay */
#frg-navbar.frg-overlay-open {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-color: transparent !important;
}

/* Scrolled flush: niente margini né radius */
#frg-navbar[data-scrolled-flush="true"].scrolled {
    top: 0;
    left: 0;
    right: 0;
    border-radius: 0;
}

/* Sfondo scrolled pieno, senza blur */
#frg-navbar[data-scrolled-style="solid"].scrolled,
#frg-navbar[data-scrolled-style="solid"][data-always-glass="true"] {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

/* Comportamento smart / peek */
#frg-navbar.frg-nav-hidden {
    transform: translateY(calc(-100% - var(--frg-nav-margin-top) - 10px));
    pointer-events: none;
}

#frg-navbar nav {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: var(--frg-nav-navbar-height);
    padding: 0 var(--frg-nav-nav-padding);
    gap: 24px;
}

#frg-navbar .frg-nav-right {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

/* ── WORDMARK TESTUALE ──────────────────────────────────── */
#frg-navbar .frg-logo-brand {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    text-decoration: none;
}

#frg-navbar .frg-logo-type {
    font-family: var(--frg-nav-font-desktop);
    font-size: var(--frg-nav-logo-text-size);
    font-weight: var(--frg-nav-logo-text-weight);
    letter-spacing: 0.01em;
    line-height: 1;
    color: var(--frg-nav-color-transparent);
    white-space: nowrap;
    transition: color .3s var(--frg-nav-ease);
}
#frg-navbar.scrolled .frg-logo-type { color: var(--frg-nav-color-scrolled); }
#frg-navbar .frg-logo-brand:hover .frg-logo-type { color: var(--frg-nav-hover-text-desktop); }

/* ── LOGO IMMAGINE ──────────────────────────────────────── */
#frg-navbar .frg-logo-desktop,
#frg-navbar .frg-logo-mobile {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    text-decoration: none;
    position: relative;
}

#frg-navbar .frg-logo-img {
    height: var(--frg-nav-logo-height);
    width: auto;
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    opacity: 0;
    transition: opacity .4s var(--frg-nav-ease);
    pointer-events: none;
}

/* Il primo logo tiene lo spazio */
#frg-navbar .frg-logo-desktop .frg-logo-img:first-child,
#frg-navbar .frg-logo-mobile .frg-logo-img:first-child {
    position: relative;
    top: auto;
    transform: none;
    pointer-events: auto;
}

#frg-navbar .frg-logo-transparent { opacity: 1; }
#frg-navbar .frg-logo-scrolled    { opacity: 0; }
#frg-navbar .frg-logo-overlay     { opacity: 0; }

#frg-navbar.scrolled .frg-logo-transparent { opacity: 0; }
#frg-navbar.scrolled .frg-logo-scrolled    { opacity: 1; }

#frg-navbar.scrolled .frg-logo-transparent:only-child { opacity: 1; }

#frg-navbar.frg-overlay-open .frg-logo-transparent { opacity: 0; }
#frg-navbar.frg-overlay-open .frg-logo-scrolled    { opacity: 0; }
#frg-navbar.frg-overlay-open .frg-logo-overlay     { opacity: 1; }
#frg-navbar.frg-overlay-open .frg-logo-mobile .frg-logo-transparent:only-child { opacity: 1; }

/* ── MENU DESKTOP ───────────────────────────────────────── */
#frg-navbar .frg-nav-links {
    display: flex !important;
    align-items: center !important;
    gap: var(--frg-nav-menu-gap);
    flex-wrap: wrap;
    justify-content: flex-end;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#frg-navbar .frg-nav-links > li {
    position: relative;
    display: flex !important;
    align-items: center !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#frg-navbar .frg-nav-links > li > a {
    display: flex !important;
    align-items: center !important;
    gap: 6px;
    padding: 6px 0;
    font-family: var(--frg-nav-font-desktop) !important;
    font-size: var(--frg-nav-font-size-desktop) !important;
    font-weight: var(--frg-nav-font-weight-desktop) !important;
    color: var(--frg-nav-color-transparent) !important;
    white-space: nowrap;
    line-height: 1 !important;
    text-decoration: none !important;
    background: transparent;
    transition: background .2s, color .2s, transform .2s, box-shadow .2s;
    position: relative;
}

/* Hover: highlight */
#frg-navbar[data-hover-effect="highlight"] .frg-nav-links > li:not(.nav-cta) > a {
    padding: 8px 14px;
    border-radius: 999px;
}
#frg-navbar[data-hover-effect="highlight"] .frg-nav-links > li:not(.nav-cta) > a:hover {
    background: var(--frg-nav-hover-bg-desktop) !important;
    color: var(--frg-nav-hover-text-desktop) !important;
}

/* Hover: underline */
#frg-navbar[data-hover-effect="underline"] .frg-nav-links > li:not(.nav-cta) > a::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .25s var(--frg-nav-ease);
}
#frg-navbar[data-hover-effect="underline"] .frg-nav-links > li:not(.nav-cta) > a:hover::before {
    transform: scaleX(1);
}
#frg-navbar[data-hover-effect="underline"] .frg-nav-links > li:not(.nav-cta) > a:hover {
    color: var(--frg-nav-hover-text-desktop) !important;
}

/* Hover: glow */
#frg-navbar[data-hover-effect="glow"] .frg-nav-links > li:not(.nav-cta) > a:hover {
    box-shadow: 0 0 16px 2px color-mix(in srgb, var(--frg-ink, #101820) 12%, transparent), 0 0 4px color-mix(in srgb, var(--frg-ink, #101820) 8%, transparent);
    color: var(--frg-nav-hover-text-desktop) !important;
}

/* Hover: scale */
#frg-navbar[data-hover-effect="scale"] .frg-nav-links > li:not(.nav-cta) > a:hover {
    transform: scale(1.06);
    color: var(--frg-nav-hover-text-desktop) !important;
}

/* Hover: none (solo cambio colore) */
#frg-navbar[data-hover-effect="none"] .frg-nav-links > li:not(.nav-cta) > a:hover {
    color: var(--frg-nav-hover-text-desktop) !important;
}

/* Voce corrente */
#frg-navbar .frg-nav-links > li.current-menu-item > a {
    color: var(--frg-nav-hover-text-desktop) !important;
}

/* Chevron voci con sottomenu */
#frg-navbar .frg-nav-links > li.has-submenu > a::after {
    content: '';
    width: 5px;
    height: 5px;
    border-right: 1.2px solid currentColor;
    border-bottom: 1.2px solid currentColor;
    transform: rotate(45deg);
    display: block;
    margin-top: -2px;
    flex-shrink: 0;
    transition: transform .25s var(--frg-nav-ease);
}
#frg-navbar .frg-nav-links > li.has-submenu.sub-open > a::after {
    transform: rotate(225deg);
    margin-top: 2px;
}

/* ── CTA A PILLOLA ──────────────────────────────────────── */
#frg-navbar .frg-nav-links > li.nav-cta > a {
    background: var(--frg-nav-cta-bg-t) !important;
    color: var(--frg-nav-cta-text-t) !important;
    padding: 8px 16px !important;
    border-radius: 999px;
    font-weight: 400 !important;
    letter-spacing: 0;
    gap: 8px;
    position: relative;
    overflow: hidden;
    z-index: 0;
    transition: color .35s var(--frg-nav-ease);
}

/* Pallino davanti al testo */
#frg-navbar[data-cta-dot="1"] .frg-nav-links > li.nav-cta > a::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--frg-nav-cta-dot);
    flex-shrink: 0;
}

/* Sfondo hover in crossfade */
#frg-navbar .frg-nav-links > li.nav-cta > a::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: var(--frg-nav-hover-cta-bg-t, var(--frg-nav-cta-bg-t));
    opacity: 0;
    transition: opacity .35s var(--frg-nav-ease);
    z-index: -1;
}
#frg-navbar .frg-nav-links > li.nav-cta > a:hover::after { opacity: 1; }
#frg-navbar .frg-nav-links > li.nav-cta > a:hover {
    color: var(--frg-nav-hover-cta-text-t, var(--frg-nav-cta-text-t)) !important;
}

/* La CTA non eredita chevron o underline */
#frg-navbar .frg-nav-links > li.nav-cta.has-submenu > a::after {
    width: auto; height: auto; border: 0; transform: none;
}

/* ── STATO SCROLLED ─────────────────────────────────────── */
#frg-navbar.scrolled .frg-nav-links > li > a {
    color: var(--frg-nav-color-scrolled) !important;
}
#frg-navbar.scrolled .frg-nav-links > li:hover > a,
#frg-navbar.scrolled .frg-nav-links > li.current-menu-item > a {
    color: var(--frg-nav-hover-text-desktop) !important;
}
#frg-navbar.scrolled .frg-nav-links > li.nav-cta > a {
    background: var(--frg-nav-cta-bg-s) !important;
    color: var(--frg-nav-cta-text-s) !important;
}
#frg-navbar.scrolled .frg-nav-links > li.nav-cta > a::after {
    background: var(--frg-nav-hover-cta-bg-s, var(--frg-nav-cta-bg-s));
}
#frg-navbar.scrolled .frg-nav-links > li.nav-cta > a:hover {
    color: var(--frg-nav-hover-cta-text-s, var(--frg-nav-cta-text-s)) !important;
}

/* ── SUBMENU DESKTOP ────────────────────────────────────── */
#frg-navbar .frg-submenu {
    position: absolute;
    top: 100%;
    left: 0;
    padding-top: 12px;
    z-index: 10000;
    pointer-events: none;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity .2s ease, transform .2s ease;
    list-style: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
}

#frg-navbar .frg-nav-links > li.has-submenu.sub-open .frg-submenu {
    opacity: 1;
    pointer-events: all;
    transform: translateY(0);
}

#frg-navbar .frg-submenu-inner {
    background: var(--frg-bg, #F5F7FA);
    border: 1px solid var(--frg-nav-mob-line);
    border-radius: 6px;
    padding: 6px;
    min-width: 210px;
    box-shadow: 0 16px 36px -18px color-mix(in srgb, var(--frg-ink, #101820) 45%, transparent);
    position: relative;
}

#frg-navbar .frg-submenu-inner li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#frg-navbar .frg-submenu-inner li a {
    display: block !important;
    width: 100%;
    padding: 9px 14px !important;
    font-family: var(--frg-nav-font-desktop) !important;
    font-size: 15px !important;
    font-weight: var(--frg-nav-font-weight-desktop) !important;
    color: var(--frg-ink, #101820) !important;
    border-radius: 4px;
    white-space: nowrap;
    text-decoration: none !important;
    background: transparent;
    transition: background .15s, color .15s;
}
#frg-navbar .frg-submenu-inner li a:hover {
    background: var(--frg-bg-2, #E9EDF2) !important;
    color: var(--frg-nav-hover-text-desktop) !important;
}

/* ── HAMBURGER ──────────────────────────────────────────── */
#frg-navbar .frg-hamburger {
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    flex-shrink: 0;
    position: relative;
    z-index: 10001;
    transition: background .25s, border-color .25s;
}

#frg-navbar .frg-hamburger span {
    display: block;
    height: 1.5px;
    background: var(--frg-nav-hamburger-t);
    border-radius: 2px;
    transition:
        transform  .28s var(--frg-nav-ease),
        opacity    .28s ease,
        width      .28s ease,
        background .28s var(--frg-nav-ease);
}

#frg-navbar .frg-hamburger span:nth-child(1) { width: 16px; align-self: flex-start; margin-left: 10px; }
#frg-navbar .frg-hamburger span:nth-child(2) { width: 26px; }
#frg-navbar .frg-hamburger span:nth-child(3) { width: 16px; align-self: flex-end; margin-right: 10px; }

#frg-navbar.scrolled .frg-hamburger span { background: var(--frg-nav-hamburger-s); }
#frg-navbar .frg-hamburger.open span     { background: var(--frg-nav-close-color) !important; }

#frg-navbar .frg-hamburger.open span:nth-child(1) {
    width: 20px; margin-left: 10px;
    transform: translateY(6.5px) rotate(45deg);
}
#frg-navbar .frg-hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
#frg-navbar .frg-hamburger.open span:nth-child(3) {
    width: 20px; margin-right: 10px;
    transform: translateY(-6.5px) rotate(-45deg);
}

/* Variante cerchio: bordo tondo, tre righe allineate */
#frg-navbar[data-burger="circle"] .frg-hamburger {
    width: 46px;
    height: 46px;
    border: 1px solid var(--frg-nav-hamburger-t);
    border-radius: 50%;
    gap: 4px;
}
#frg-navbar.scrolled[data-burger="circle"] .frg-hamburger { border-color: var(--frg-nav-hamburger-s); }
#frg-navbar[data-burger="circle"] .frg-hamburger.open     { border-color: var(--frg-nav-close-color); }

#frg-navbar[data-burger="circle"] .frg-hamburger span:nth-child(1),
#frg-navbar[data-burger="circle"] .frg-hamburger span:nth-child(2),
#frg-navbar[data-burger="circle"] .frg-hamburger span:nth-child(3) {
    width: 18px;
    align-self: center;
    margin: 0;
}
#frg-navbar[data-burger="circle"] .frg-hamburger.open span:nth-child(1) {
    transform: translateY(5.5px) rotate(45deg);
}
#frg-navbar[data-burger="circle"] .frg-hamburger.open span:nth-child(3) {
    transform: translateY(-5.5px) rotate(-45deg);
}

#frg-navbar .frg-hamburger:focus-visible {
    outline: 2px solid var(--frg-nav-cta-dot);
    outline-offset: 3px;
}

/* ══════════════════════════════════════════════════════════
   OVERLAY MOBILE
   ══════════════════════════════════════════════════════════ */
#frgMobileOverlay {
    position: fixed;
    inset: 0;
    background: var(--frg-nav-overlay-bg);
    color: var(--frg-nav-mobile-text);
    z-index: 9998;
    display: none;
    flex-direction: column;
    justify-content: center;
    padding:
        calc(var(--frg-nav-navbar-height) + 32px + env(safe-area-inset-top, 0px))
        var(--frg-nav-nav-padding)
        calc(40px + env(safe-area-inset-bottom, 0px));
    overflow-y: auto;
    pointer-events: none;
}

#frgMobileOverlay[data-align="bottom"] { justify-content: flex-end; }

#frgMobileOverlay.open { pointer-events: auto; }

/* Animazione: circle reveal dall'hamburger */
#frgMobileOverlay[data-animation="circle"][data-mode="overlay"] {
    clip-path: circle(0% at calc(100% - 40px) 46px);
    transition: clip-path .52s var(--frg-nav-ease);
}
#frgMobileOverlay[data-animation="circle"][data-mode="overlay"].open {
    clip-path: circle(165% at calc(100% - 40px) 46px);
}

/* Animazione: slide da destra */
#frgMobileOverlay[data-animation="slide"][data-mode="overlay"] {
    transform: translateX(100%);
    transition: transform .45s var(--frg-nav-ease);
}
#frgMobileOverlay[data-animation="slide"][data-mode="overlay"].open {
    transform: translateX(0);
}

/* Animazione: slide dal basso */
#frgMobileOverlay[data-animation="slide-up"][data-mode="overlay"] {
    transform: translateY(100%);
    transition: transform .45s var(--frg-nav-ease);
}
#frgMobileOverlay[data-animation="slide-up"][data-mode="overlay"].open {
    transform: translateY(0);
}

/* Animazione: fade */
#frgMobileOverlay[data-animation="fade"][data-mode="overlay"] {
    opacity: 0;
    transition: opacity .35s ease;
}
#frgMobileOverlay[data-animation="fade"][data-mode="overlay"].open { opacity: 1; }

/* ── MODALITÀ DROPDOWN ──────────────────────────────────── */
#frgMobileOverlay[data-mode="dropdown"] {
    inset: auto;
    position: fixed;
    top: calc(var(--frg-nav-margin-top) + var(--frg-nav-navbar-height) + 8px);
    left: var(--frg-nav-margin);
    right: var(--frg-nav-margin);
    bottom: auto;
    max-height: calc(100vh - var(--frg-nav-navbar-height) - var(--frg-nav-margin-top) - 32px);
    border-radius: 6px;
    box-shadow: 0 16px 40px -18px color-mix(in srgb, var(--frg-ink, #101820) 45%, transparent);
    border: 1px solid var(--frg-nav-mob-line);
    padding: 8px 24px 24px;
    justify-content: flex-start;
    transform: translateY(-10px);
    opacity: 0;
    transition: transform .3s var(--frg-nav-ease), opacity .3s ease;
}
#frgMobileOverlay[data-mode="dropdown"].open {
    transform: translateY(0);
    opacity: 1;
}
#frgMobileOverlay[data-mode="dropdown"] .frg-mob-row {
    padding: 14px 0;
    font-size: clamp(20px, 5vw, 26px);
}

/* ── VOCI OVERLAY ───────────────────────────────────────── */
#frgMobileOverlay .frg-mob-links { width: 100%; }

#frgMobileOverlay .frg-mob-links > li {
    border-top: 1px solid var(--frg-nav-mob-line);
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .3s ease, transform .3s ease;
}

/* Entrata a cascata */
#frgMobileOverlay.open .frg-mob-links > li              { opacity: 1; transform: none; }
#frgMobileOverlay.open .frg-mob-links > li:nth-child(1) { transition-delay: .17s; }
#frgMobileOverlay.open .frg-mob-links > li:nth-child(2) { transition-delay: .22s; }
#frgMobileOverlay.open .frg-mob-links > li:nth-child(3) { transition-delay: .27s; }
#frgMobileOverlay.open .frg-mob-links > li:nth-child(4) { transition-delay: .32s; }
#frgMobileOverlay.open .frg-mob-links > li:nth-child(5) { transition-delay: .37s; }
#frgMobileOverlay.open .frg-mob-links > li:nth-child(6) { transition-delay: .42s; }
#frgMobileOverlay.open .frg-mob-links > li:nth-child(7) { transition-delay: .47s; }
#frgMobileOverlay.open .frg-mob-links > li:nth-child(8) { transition-delay: .52s; }

#frgMobileOverlay .frg-mob-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 6px 0;
    font-family: var(--frg-nav-font-mobile);
    font-size: var(--frg-nav-font-size-mobile);
    font-weight: var(--frg-nav-font-weight-mobile);
    color: var(--frg-nav-mobile-text);
    letter-spacing: -0.04em;
    line-height: 1.08;
    background: none;
    border: none;
    text-align: left;
    transition: opacity .2s, color .2s;
}
#frgMobileOverlay .frg-mob-row:hover {
    color: var(--frg-nav-hover-text-mobile, var(--frg-nav-mobile-text));
    opacity: .6;
}

/* Voce in corsivo serif: classe frg-it sulla voce di menu in Aspetto → Menu */
#frgMobileOverlay .frg-mob-row.frg-it,
#frgMobileOverlay .frg-mob-links > li.frg-it > .frg-mob-row {
    font-family: var(--frg-serif, Georgia, serif);
    font-style: italic;
    font-weight: 400;
    letter-spacing: -0.01em;
}

/* Frecce */
#frgMobileOverlay .frg-mob-arrow {
    flex-shrink: 0;
    margin-left: 12px;
    color: currentColor;
    opacity: .5;
    transition: transform .25s var(--frg-nav-ease);
    display: flex;
    align-items: center;
}
#frgMobileOverlay .frg-mob-arrow svg {
    width: 20px;
    height: 20px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
#frgMobileOverlay .frg-mob-links > li.frg-mob-sub.frg-mob-open > .frg-mob-row .frg-mob-arrow {
    transform: rotate(90deg);
}

/* Accordion sottomenu */
#frgMobileOverlay .frg-mob-sub-list { overflow: hidden; }
#frgMobileOverlay .frg-mob-sub-list li { border-top: 1px solid var(--frg-nav-mob-line); }
#frgMobileOverlay .frg-mob-sub-list li:first-child { border-top: none; }
#frgMobileOverlay .frg-mob-sub-list li a {
    display: block;
    padding: 10px 0 10px 18px;
    font-family: var(--frg-nav-font-desktop);
    font-size: 17px;
    color: var(--frg-nav-mobile-text);
    opacity: .7;
    transition: opacity .18s;
    text-decoration: none;
}
#frgMobileOverlay .frg-mob-sub-list li:last-child a { padding-bottom: 16px; }
#frgMobileOverlay .frg-mob-sub-list li a:hover { opacity: 1; }

/* CTA come pillola nell'overlay */
#frgMobileOverlay .frg-mob-links > li.frg-mob-cta {
    border: none;
    padding-top: 22px;
}
#frgMobileOverlay .frg-mob-links > li.frg-mob-cta > .frg-mob-row {
    display: inline-flex;
    width: auto;
    gap: 10px;
    padding: 13px 24px;
    background: var(--frg-nav-cta-bg-s);
    color: var(--frg-nav-cta-text-s);
    border-radius: 999px;
    font-size: 16px;
    font-family: var(--frg-nav-font-desktop);
    font-weight: 500;
    letter-spacing: 0;
    opacity: 1;
}
#frgMobileOverlay[data-cta-dot="1"] .frg-mob-links > li.frg-mob-cta > .frg-mob-row::before {
    content: '';
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--frg-nav-cta-dot);
    flex-shrink: 0;
}
#frgMobileOverlay .frg-mob-links > li.frg-mob-cta > .frg-mob-row:hover {
    background: var(--frg-nav-hover-cta-bg-s, var(--frg-nav-cta-bg-s));
    opacity: 1;
}

/* Riga finale dell'overlay */
#frgMobileOverlay .frg-mob-footer {
    margin: 28px 0 0;
    font-family: var(--frg-nav-font-desktop);
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--frg-nav-mobile-text);
    opacity: .75;
    opacity: 0;
    transition: opacity .3s ease .55s;
}
#frgMobileOverlay.open .frg-mob-footer { opacity: .75; }

/* Blocca lo scroll del sito con overlay aperto */
body.frg-menu-open { overflow: hidden; }

/* ── REDUCED MOTION ─────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    #frg-navbar,
    #frg-navbar *,
    #frgMobileOverlay,
    #frgMobileOverlay * {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
    #frgMobileOverlay[data-animation="circle"][data-mode="overlay"] { clip-path: none; }
    #frgMobileOverlay[data-animation="slide"][data-mode="overlay"],
    #frgMobileOverlay[data-animation="slide-up"][data-mode="overlay"] { transform: none; }
    #frgMobileOverlay:not(.open) { opacity: 0; visibility: hidden; }
    #frgMobileOverlay.open { opacity: 1; visibility: visible; }
}
