/* Sottomenu condivisi: il collegamento principale resta indipendente. */
.site-header .nav-dropdown {
    position: relative;
    display: flex;
    align-items: center;
    gap: 2px;
}
.site-header .nav-dropdown-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    min-height: 44px;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: var(--ink);
}
.nav-dropdown-toggle svg { width: 14px; height: 14px; }
.nav-dropdown-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.site-header .nav-dropdown-toggle:hover { background: #f5f3ee; }
.site-header .nav-submenu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 2;
    min-width: 180px;
    margin: 0;
    padding: 8px;
    list-style: none;
    background: var(--paper);
    border-radius: 6px;
    box-shadow: 0 10px 24px rgba(43, 45, 66, .16);
}
.site-header .nav-submenu[hidden] { display: none; }
.site-header .nav-submenu a {
    display: block;
    padding: 10px 14px;
    font-size: 16px;
    line-height: 1.5;
    white-space: nowrap;
    border-radius: 3px;
}
.site-header .nav-submenu a:hover,
.site-header .nav-submenu a:focus-visible,
.site-header .nav-submenu a[aria-current="page"] {
    background: #fff0cf;
    text-decoration: underline;
}
.catalog-category { margin-block: 0 24px; }
.catalog-category a { margin-left: 12px; }
@media (max-width: 700px) {
    .site-header .nav-dropdown > a { padding: 6px 0; font-size: 14px; }
    .site-header .nav-dropdown-toggle { width: 28px; }
    .site-header .nav-submenu { min-width: 148px; max-width: calc(100vw - 32px); }
    .site-header .nav-submenu a { padding: 10px 12px; font-size: 16px; }
}

.site-header [id^="submenu-biglietteria-"] { min-width: 220px; }

/* Voci principali più compatte, con aree di apertura sempre agevoli. */
.site-header #navigation > a:not(.safe-travel-link):not(.nav-contact),
.site-header #navigation .nav-dropdown > a,
.site-header #navigation .nav-contact { font-size: 17px; white-space: nowrap; }
.site-header #navigation .nav-submenu a { font-size: 15px; }
.site-header #navigation { gap: 8px 20px; }
@media (max-width: 700px) {
    .site-header #navigation > a:not(.safe-travel-link):not(.nav-contact),
    .site-header #navigation .nav-dropdown > a,
    .site-header #navigation .nav-contact { font-size: 15px; }
    .site-header #navigation { gap: 4px 10px; }
}
