/* Italia Sport Club — navigazione istituzionale, versione 2026-11-03.
   Foglio separato: non altera form, pagamenti, sezioni o stili della pagina. */

.main-header .main-nav { margin-right: clamp(14px, 1.6vw, 26px); }
.main-header .main-nav .isc-nav-list { display: flex; align-items: center; gap: clamp(10px, 1.5vw, 24px); }
.main-header .main-nav .isc-nav-item { position: relative; flex: 0 0 auto; }
.main-header .main-nav .isc-nav-link {
    display: inline-flex;
    align-items: center;
    min-height: 43px;
    padding: 7px 0;
    color: #243d58;
    font-size: clamp(.79rem, .86vw, .9rem);
    font-weight: 700;
    letter-spacing: .015em;
    line-height: 1.2;
    text-transform: none;
    border: 0;
    white-space: nowrap;
    transition: color .18s ease;
}
.main-header .main-nav .isc-nav-row { display: flex; align-items: center; gap: 2px; }
.main-header .main-nav .isc-nav-link:hover,
.main-header .main-nav .isc-nav-item.is-current > .isc-nav-row > .isc-nav-link,
.main-header .main-nav .isc-nav-item.is-open > .isc-nav-row > .isc-nav-link,
.main-header .main-nav .isc-nav-link[aria-current="page"] { color: var(--primary-navy); }
.main-header .main-nav .isc-nav-link[aria-current="page"]::after { display: none; }
.main-header .main-nav .isc-nav-link[aria-current="page"],
.main-header .main-nav .isc-nav-item.is-current > .isc-nav-row > .isc-nav-link { box-shadow: inset 0 -2px 0 var(--accent-green); }
.main-header .main-nav .isc-nav-expand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    width: 28px;
    height: 38px;
    padding: 0;
    background: none;
    border: 0;
    border-radius: 5px;
    color: #5e758c;
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}
.main-header .main-nav .isc-nav-expand:hover,
.main-header .main-nav .isc-nav-expand:focus-visible { background: #edf3f8; color: var(--primary-navy); }
.main-header .main-nav .isc-nav-expand svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .22s ease; }
.main-header .main-nav .isc-nav-item.is-open > .isc-nav-row .isc-nav-expand svg { transform: rotate(180deg); }

/* Desktop: menu ancorato al suo gruppo, mai sopra le CTA. */
@media (min-width:1121px) {
    .main-header .main-nav .isc-nav-submenu {
        position: absolute;
        top: 100%;
        left: -15px;
        display: block;
        width: 292px;
        min-width: 292px;
        padding: 10px;
        margin: 0;
        border: 1px solid #e4eaf0;
        border-top: 3px solid var(--primary-navy);
        border-radius: 0 0 11px 11px;
        background: #fff;
        box-shadow: 0 18px 42px rgba(13, 49, 115, .15);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(7px);
        transition: opacity .17s ease, transform .17s ease, visibility .17s;
        z-index: 1006;
    }
    .main-header .main-nav .isc-nav-item--last .isc-nav-submenu { left: auto; right: -8px; }
    .main-header .main-nav .isc-nav-item.is-open > .isc-nav-submenu {
        opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0);
    }
    .main-header .main-nav .isc-nav-submenu li { width: 100%; }
}

.main-header .main-nav .isc-nav-submenu li { white-space: normal; }
.main-header .main-nav .isc-nav-submenu a {
    display: block;
    padding: 11px 13px;
    min-width: 0;
    border-radius: 6px;
    color: #203f5d;
    font-size: .89rem;
    font-weight: 650;
    line-height: 1.35;
    text-align: left;
    white-space: normal;
    text-transform: none;
    letter-spacing: 0;
    transition: background .16s ease, color .16s ease;
}
.main-header .main-nav .isc-nav-submenu a:hover,
.main-header .main-nav .isc-nav-submenu a:focus-visible,
.main-header .main-nav .isc-nav-submenu a[aria-current="page"] { background: #edf4f7; color: var(--primary-navy); }
.main-header .main-nav .isc-nav-submenu a[aria-current="page"]::after { display: none; }
.main-header .main-nav .isc-submenu-title { display: block; font-size: .88rem; font-weight: 700; }
.main-header .main-nav .isc-submenu-desc { display: block; margin-top: 3px; color: #688096; font-size: .74rem; font-weight: 500; line-height: 1.35; }
.main-header .main-nav .isc-submenu-title--gift { display: inline-flex; align-items: center; gap: 7px; color: var(--primary-navy); }
.main-header .main-nav .isc-submenu-title--gift svg { width: 16px; height: 16px; stroke: var(--accent-green); stroke-width: 1.7; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.main-header .main-nav a:focus-visible,
.main-header .main-nav button:focus-visible,
.main-header .mobile-menu-toggle:focus-visible,
.main-header .header-cta a:focus-visible { outline: 2px solid var(--accent-green); outline-offset: 3px; }

/* Il menu a scomparsa diventa un indice ordinato a gruppi su tablet e mobile. */
@media (max-width:1120px) {
    .main-header .main-nav { width: 100%; margin: 0 0 14px; }
    .main-header .main-nav .isc-nav-list { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
    .main-header .main-nav .isc-nav-item { width: 100%; border-bottom: 1px solid #e9eef3; }
    .main-header .main-nav .isc-nav-row { width: 100%; justify-content: space-between; gap: 12px; }
    .main-header .main-nav .isc-nav-link {
        display: flex;
        align-items: center;
        flex: 1 1 auto;
        min-width: 0;
        min-height: 54px;
        padding: 14px 4px;
        font-size: 1rem;
        border: 0;
        box-shadow: none !important;
        white-space: normal;
    }
    .main-header .main-nav .isc-nav-item > .isc-nav-link { display: flex; }
    .main-header .main-nav .isc-nav-expand {
        width: 48px; height: 48px;
        flex: 0 0 48px;
        color: var(--primary-navy);
        background: #f1f5f8;
        border-radius: 9px;
    }
    .main-header .main-nav .isc-nav-expand svg { width: 20px; height: 20px; }
    .main-header .main-nav .isc-nav-item.is-current > .isc-nav-row > .isc-nav-link,
    .main-header .main-nav .isc-nav-link[aria-current="page"] { color: var(--primary-navy); font-weight: 800; }
    .main-header .main-nav .isc-nav-submenu {
        position: static;
        display: none;
        width: 100%;
        padding: 6px 0 11px 12px;
        margin: 0;
        border: 0;
        border-left: 2px solid #d0e0df;
        background: #fff;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
    }
    .main-header .main-nav .isc-nav-item.is-open > .isc-nav-submenu { display: block; }
    .main-header .main-nav .isc-nav-submenu li { display: block; width: 100%; }
    .main-header .main-nav .isc-nav-submenu a {
        padding: 10px 13px;
        border: 0;
        border-radius: 7px;
        font-size: .9rem;
    }
    .main-header .main-nav .isc-submenu-title { font-size: .9rem; }
    .main-header .main-nav .isc-submenu-desc { font-size: .76rem; }
    .main-header .header-cta { border-top: 1px solid #e2e9ef; padding-top: 16px; gap: 9px; }
    .main-header .header-link-text { border-bottom: 0; padding: 12px 4px; }
    .main-header .header-cta .btn { margin-bottom: 8px; }
    .main-header .header-nav-wrapper { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
}

@media (max-width:700px) {
    .main-header .header-nav-wrapper { padding-top: 15px; padding-bottom: calc(24px + env(safe-area-inset-bottom)); }
}

@media (prefers-reduced-motion: reduce) {
    .main-header .main-nav .isc-nav-submenu,
    .main-header .main-nav .isc-nav-expand svg { transition: none; }
}
