/* Menu pubblico desktop: leggibilita e gerarchia visiva. */
@media (min-width: 1180px) {
    .site-main-header {
        border-bottom-color: rgb(216 189 113 / .26);
        background: rgb(7 6 5 / .65);
        box-shadow: 0 .65rem 2rem rgb(0 0 0 / .24);
        -webkit-backdrop-filter: blur(12px) saturate(.82);
        backdrop-filter: blur(12px) saturate(.82);
    }

    .site-main-header--overlay {
        background: rgb(7 6 5 / .65);
    }

    .site-main-header-inner {
        min-height: 5.65rem;
        width: min(100% - 3rem, 1680px);
        gap: clamp(1.4rem, 2.3vw, 2.8rem);
    }

    .site-main-header-logo img {
        width: clamp(9rem, 11vw, 12.25rem);
        max-height: 4.8rem;
    }

    .site-primary-menu-root {
        align-items: center;
        gap: clamp(.02rem, .18vw, .22rem);
    }

    .site-primary-menu-root > .site-primary-menu-item > a,
    .site-primary-menu-root > .site-primary-menu-item > span {
        position: relative;
        min-height: 3.5rem;
        align-items: center;
        padding: .7rem clamp(.48rem, .58vw, .68rem);
        border-radius: .25rem;
        color: #f3f0e9;
        font-family: var(--font-display);
        font-size: clamp(.76rem, .68vw, .86rem);
        font-weight: 500;
        letter-spacing: .08em;
        line-height: 1.25;
        white-space: nowrap;
    }

    .site-primary-menu-root > .site-primary-menu-item > a::before {
        position: absolute;
        right: .62rem;
        bottom: .36rem;
        left: .62rem;
        height: 1px;
        background: #f22;
        content: '';
        opacity: 0;
        transform: scaleX(.35);
        transition: opacity .18s, transform .18s;
    }

    .site-primary-menu-root > .site-primary-menu-item > a:hover,
    .site-primary-menu-root > .site-primary-menu-item > a:focus-visible {
        background: rgb(255 34 34 / .09);
        color: #f22;
    }

    .site-primary-menu-root > .site-primary-menu-item > a:hover::before,
    .site-primary-menu-root > .site-primary-menu-item > a:focus-visible::before {
        opacity: 1;
        transform: scaleX(1);
    }

    .site-primary-menu-label {
        display: block;
    }

    .site-primary-menu-label--stacked {
        width: auto;
        white-space: nowrap;
        text-align: left;
    }

    .site-primary-menu-item--has-children > a::after,
    .site-primary-menu-item--has-children > span::after {
        margin-top: 0;
        margin-left: .42rem;
        color: #d8bd71;
        font-size: .62rem;
    }

    .site-primary-menu-item--has-children:hover > a::after,
    .site-primary-menu-item--has-children:focus-within > a::after {
        color: #f22;
    }

    .site-primary-menu-root > .site-primary-menu-item:nth-last-child(-n+3) > .site-primary-submenu {
        right: 0;
        left: auto;
    }

    .site-primary-submenu {
        top: calc(100% - .18rem);
        min-width: 18rem;
        max-width: 24rem;
        max-height: min(72vh, 42rem);
        border-color: rgb(216 189 113 / .38);
        border-radius: .62rem;
        background: linear-gradient(145deg, rgb(24 21 18 / .985), rgb(8 7 6 / .99));
        padding: .62rem;
        box-shadow: 0 1.4rem 3.6rem rgb(0 0 0 / .62), inset 0 1px rgb(255 255 255 / .045);
        transform: translateY(.5rem);
    }

    .site-primary-submenu::before {
        position: absolute;
        top: 0;
        right: 1rem;
        left: 1rem;
        height: 1px;
        background: linear-gradient(90deg, transparent, #d8bd71, transparent);
        content: '';
        opacity: .65;
    }

    .site-primary-submenu .site-primary-menu-item > a,
    .site-primary-submenu .site-primary-menu-item > span {
        min-height: 2.8rem;
        align-items: center;
        border-radius: .38rem;
        padding: .72rem .85rem;
        color: #eeeae2;
        font-family: var(--font-display);
        font-size: .86rem;
        font-weight: 500;
        letter-spacing: .045em;
        line-height: 1.4;
        text-transform: none;
    }

    .site-primary-submenu .site-primary-menu-item > a:hover,
    .site-primary-submenu .site-primary-menu-item > a:focus-visible {
        background: rgb(255 34 34 / .1);
        color: #f22;
    }
}
