/* Nightstalker Reserve CTA */
#header nav a.nightstalker-reserve-link,
.nightstalker-document-nav a.nightstalker-reserve-link {
    background: linear-gradient(135deg, #c57c22 0%, #efb24b 52%, #d58a24 100%) !important;
    color: #1d1024 !important;
    border-color: rgba(255, 219, 145, .95) !important;
    box-shadow: 0 0 0 1px rgba(255, 226, 165, .18), 0 0 18px rgba(229, 156, 55, .55), inset 0 1px rgba(255,255,255,.24) !important;
    font-weight: 700 !important;
    text-shadow: 0 1px rgba(255,255,255,.2);
    position: relative;
    z-index: 1;
    transform: translateZ(0);
}
#header nav a.nightstalker-reserve-link:hover,
.nightstalker-document-nav a.nightstalker-reserve-link:hover {
    background: linear-gradient(135deg, #e0962d 0%, #ffd078 52%, #e9a13a 100%) !important;
    color: #160d1c !important;
    box-shadow: 0 0 26px rgba(238, 171, 75, .78) !important;
}
@media (prefers-reduced-motion: no-preference) {
    #header nav a.nightstalker-reserve-link {
        animation: nightstalker-reserve-glow 3.4s ease-in-out infinite;
    }
    @keyframes nightstalker-reserve-glow {
        0%, 100% { box-shadow: 0 0 0 1px rgba(255,226,165,.16), 0 0 13px rgba(229,156,55,.42), inset 0 1px rgba(255,255,255,.22); }
        50% { box-shadow: 0 0 0 1px rgba(255,226,165,.28), 0 0 25px rgba(239,178,75,.78), inset 0 1px rgba(255,255,255,.28); }
    }
}

/* Reservation modal */
body.nightstalker-modal-open { overflow: hidden; }
.nightstalker-reservation-modal[hidden] { display: none !important; }
.nightstalker-reservation-modal {
    position: fixed;
    inset: 0;
    z-index: 10040;
    display: grid;
    place-items: center;
    padding: 1.25rem;
}
.nightstalker-reservation-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(10, 7, 15, .80);
    backdrop-filter: blur(5px);
}
.nightstalker-reservation-dialog {
    position: relative;
    width: min(92vw, 34rem);
    padding: 2.6rem 2.5rem 2.15rem;
    text-align: center;
    background: linear-gradient(180deg, rgba(55, 40, 69, .98), rgba(28, 18, 38, .98));
    border: 1px solid rgba(236, 190, 111, .66);
    border-radius: .5rem;
    box-shadow: 0 1.4rem 5rem rgba(0,0,0,.56), 0 0 32px rgba(213,138,36,.18);
    color: #fff;
}

.nightstalker-reservation-logo-wrap {
    margin: 0 0 .85rem;
}
.nightstalker-reservation-logo {
    display: block;
    width: min(92%, 22rem);
    height: auto;
    margin: 0 auto;
    filter: drop-shadow(0 0 18px rgba(233, 161, 58, .16));
}

.nightstalker-reservation-dialog h2 {
    margin: .2rem 0 1rem;
    color: #fff;
    font-size: clamp(1.65rem, 5vw, 2.35rem);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.nightstalker-msx2-logo-wrap {
    margin: -.15rem 0 .7rem;
}
.nightstalker-msx2-logo {
    display: block;
    width: min(66%, 13.25rem);
    height: auto;
    margin: 0 auto;
    filter: drop-shadow(0 0 10px rgba(55,40,69,.22));
}

.nightstalker-reservation-eyebrow {
    margin: 0 0 .35rem;
    color: #efb95d;
    font-size: .73rem;
    letter-spacing: .24em;
    text-transform: uppercase;
}
#nightstalker-reservation-copy {
    margin: 0 auto 1.65rem;
    max-width: 28rem;
    color: rgba(255,255,255,.82);
    line-height: 1.7;
}
.nightstalker-reservation-actions { margin: 0; }
.nightstalker-reservation-cta {
    display: inline-block;
    background: linear-gradient(135deg, #c57c22, #efb24b) !important;
    color: #1d1024 !important;
    border: 1px solid rgba(255,222,155,.9) !important;
    box-shadow: 0 0 22px rgba(232,161,59,.42) !important;
    font-weight: 800 !important;
    letter-spacing: .11em;
}
.nightstalker-reservation-close {
    position: absolute;
    top: .7rem;
    right: .75rem;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(255,255,255,.72);
    font: 300 1.8rem/1 sans-serif;
    cursor: pointer;
}
.nightstalker-reservation-continue {
    margin-top: 1.2rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(255,255,255,.62);
    font: inherit;
    font-size: .8rem;
    text-decoration: underline;
    cursor: pointer;
    box-shadow: none;
}
.nightstalker-reservation-continue:hover,
.nightstalker-reservation-close:hover { color: #fff; }
@media (max-width: 520px) {
    .nightstalker-reservation-dialog { padding: 2.35rem 1.35rem 1.8rem; }
}
