/* ===== BODY OFFSET FOR FIXED HEADER ===== */
body { padding-top: 20vw; }

@media (min-width: 576px) {
    body { padding-top: 16.5vw; }
}
@media (min-width: 992px) {
    body { padding-top: 6.51vw; }
}

/* ===== NAV HEADER ===== */
.nav-header {
    position: fixed;
    top: 0; left: 0; right: 0;
    background: #ffffff;
    border-bottom: 1px solid black;
    z-index: 999;
    display: flex;
    align-items: stretch;
}

.nav-logo-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 2px solid black;
    flex-shrink: 0;
}
.nav-logo-wrap > a {
    display: flex;
    align-items: center;
}

.nav-cities {
    align-items: center;
    flex: 1;
}

/* Madrid pill active state (dropdown visible) */
#nav-madrid-wrap .btn-primary-jdld.is-active {
    background-color: #000000 !important;
    color: #ffffff !important;
}

/* ENTRADAS: filled from the start */
.nav-entradas-wrap .btn-primary-jdld {
    background-color: #000000 !important;
    color: #ffffff !important;
}
.nav-entradas-wrap .btn-primary-jdld:hover {
    background-color: #ffffff !important;
    color: #000000 !important;
}

.nav-right {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.nav-hamburger {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

/* ===== DROPDOWN ===== */
.nav-dropdown {
    position: fixed;
    left: 0; right: 0;
    background: #ffffff;
    border-bottom: 1px solid black;
    z-index: 998;
    transform: translateY(-101%);
    transition: transform 0.35s cubic-bezier(.075, .82, .165, 1);
    pointer-events: none;
}
.nav-dropdown.is-visible {
    transform: translateY(0);
    pointer-events: auto;
}
.nav-dropdown-inner {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
}
.nav-dropdown-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.nav-dropdown-col a {
    display: inline-block;
    font-family: din-condBold;
    color: #000000;
    text-decoration: none;
    transition: color .2s;
}
.nav-dropdown-col a:hover { color: #595959; }
.nav-dropdown-label { font-weight: 700; }
.nav-dropdown-muted { color: #686C6D !important; }
.nav-dropdown-muted:hover { color: #595959 !important; }

/* ===== BACKDROP ===== */
.nav-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(18,21,21,.7);
    z-index: 997;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s;
}
.nav-backdrop.is-active {
    opacity: 1;
    pointer-events: auto;
}

/* ===== DRAWER ===== */
.nav-drawer {
    position: fixed;
    top: 0; right: 0; bottom: 0;
    background: #ffffff;
    z-index: 1000;
    transform: translateX(100%);
    transition: transform .3s ease-in-out;
    overflow-y: auto;
}
.nav-drawer.is-active { transform: translateX(0); }

.nav-drawer-close {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
}

.nav-drawer-item {
    border-bottom: 1px solid black;
}
.nav-drawer-item > a,
.nav-drawer-toggle {
    font-family: din-condBold;
    color: #000000;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    background: none;
    border: none;
    width: 100%;
    text-align: left;
    padding: 0;
}
.nav-drawer-item > a:hover { color: #000000; }
.nav-drawer-item-last { border-bottom: none; }

.nav-drawer-sub a {
    display: block;
    font-family: din-condMed;
    color: #595959;
    text-decoration: none;
    transition: color .2s;
}
.nav-drawer-sub a:hover { color: #000000; }

.nav-drawer-arrow {
    flex-shrink: 0;
    transition: transform .2s;
    fill: #000000;
}
.nav-drawer-toggle[aria-expanded="true"] .nav-drawer-arrow {
    transform: rotate(180deg);
}

/* ===== RESPONSIVE ===== */
@media (min-width: 992px) {
    .nav-header { height: 6.51vw; }
    .nav-logo-wrap { width: 15%; padding: 0 1.5vw; }
    .nav-logo { width: 8.6vw; }
    .nav-cities { gap: 1vw; padding: 0 2vw; }
    .nav-cities .btn-primary-jdld,
    .nav-entradas-wrap .btn-primary-jdld { font-size: 1.1vw !important; padding: 0.22em 1em !important; }
    .nav-right { gap: 1vw; padding: 0 1.5vw; }
    .nav-hamburger svg { width: 1.8vw; height: 1.8vw; }
    .nav-dropdown { top: 6.51vw; padding: 1.5vw 4.5vw 1.5vw 15%; }
    .nav-dropdown-inner { gap: 4vw; justify-content: flex-start; }
    .nav-dropdown-col a { font-size: 1.46vw; margin-bottom: 0.5vw; }
    .nav-drawer { width: 28vw; padding: 1.5vw 2vw; top: 6.51vw; }
    .nav-drawer-close { margin-bottom: 1vw; }
    .nav-drawer-close svg { width: 1.8vw; height: 1.8vw; }
    .nav-drawer-item > a,
    .nav-drawer-toggle { font-size: 1.56vw; padding: 1vw 0; }
    .nav-drawer-sub a { font-size: 1.3vw; padding: 0.4vw 0; }
    .nav-drawer-sub-cta { margin: 1vw 0; }
}

@media (min-width: 1920px) {
    body { padding-top: 125px; }
    .nav-header { height: 125px; }
    .nav-logo-wrap { width: 288px; padding: 0 29px; }
    .nav-logo { width: 165px; }
    .nav-cities { gap: 19px; padding: 0 38px; }
    .nav-cities .btn-primary-jdld,
    .nav-entradas-wrap .btn-primary-jdld { font-size: 21px !important; padding: 0.22em 1em !important; }
    .nav-right { gap: 19px; padding: 0 29px; }
    .nav-hamburger svg { width: 35px; height: 35px; }
    .nav-dropdown { top: 125px; padding: 29px 86px 29px 288px; }
    .nav-dropdown-inner { gap: 77px; justify-content: flex-start; }
    .nav-dropdown-col a { font-size: 28px; margin-bottom: 10px; }
    .nav-drawer { width: 538px; padding: 29px 38px; top: 125px; }
    .nav-drawer-close { margin-bottom: 19px; }
    .nav-drawer-close svg { width: 35px; height: 35px; }
    .nav-drawer-item > a,
    .nav-drawer-toggle { font-size: 30px; padding: 19px 0; }
    .nav-drawer-sub a { font-size: 25px; padding: 8px 0; }
    .nav-drawer-sub-cta { margin: 19px 0; }
}

@media (min-width: 576px) and (max-width: 991px) {
    .nav-header { height: 16.5vw; }
    .nav-logo-wrap { width: 20%; padding: 0 2vw; }
    .nav-logo { width: 12vw; }
    .nav-right { gap: 3vw; padding: 0 3vw; margin-left: auto; }
    .nav-hamburger svg { width: 5vw; height: 5vw; }
    .nav-drawer { width: 60%; padding: 5vw; }
    .nav-drawer-close { margin-bottom: 4vw; }
    .nav-drawer-close svg { width: 5vw; height: 5vw; }
    .nav-drawer-item > a,
    .nav-drawer-toggle { font-size: 4.5vw; padding: 3vw 0; }
    .nav-drawer-sub a { font-size: 3.5vw; padding: 1.5vw 0; }
    .nav-drawer-sub-cta { margin: 2vw 0; }
}

@media (max-width: 575px) {
    .nav-header { height: 20vw; }
    .nav-logo-wrap { width: 25%; padding: 0 3vw; }
    .nav-logo { width: 16vw; }
    .nav-right { gap: 3vw; padding: 0 4vw; margin-left: auto; }
    .nav-hamburger svg { width: 6vw; height: 6vw; }
    .nav-drawer { width: 80%; padding: 6vw 5vw; }
    .nav-drawer-close { margin-bottom: 5vw; }
    .nav-drawer-close svg { width: 6vw; height: 6vw; }
    .nav-drawer-item > a,
    .nav-drawer-toggle { font-size: 6vw; padding: 4vw 0; }
    .nav-drawer-sub a { font-size: 5vw; padding: 2vw 0; }
    .nav-drawer-sub-cta { margin: 3vw 0; }
}
