/* Secondary pages of a show site on the SPOTLIGHT look (calendar, venue, FAQ, performers, contact, terms…).
   layouts/app.blade.php adds body.tpl-page.tpl-page-spotlight and loads templates/page-skin.css (colour
   variables below) then this file. Same language as the show page (spotlight-show.css): black canvas with a
   blue stage glow, dark cards with a blue hairline, white Montserrat headings, electric-blue buttons.
   SKIN ONLY: no section moves, hides or resizes. No generated art. */
body.tpl-page.tpl-page-spotlight {
    --pg-bg: #05070d; --pg-surface: rgba(11, 17, 30, .94); --pg-surface-2: #111a2d; --pg-line: rgba(64, 140, 255, .26); --pg-chip-line: rgba(90, 168, 255, .55);
    --pg-ink: #ffffff; --pg-ink-2: #c8d3e8; --pg-ink-3: #8d9ab5;
    --pg-accent: #1f7bff; --pg-accent-hover: #5aa8ff; --pg-accent-ink: #ffffff;
    --pg-price: #5aa8ff; --pg-star: #5aa8ff;
    --pg-display: 'Montserrat'; --pg-display-weight: 800; --pg-display-tracking: .04em;
    --pg-text: 'Montserrat'; --pg-button-font: 'Montserrat'; --pg-nav-font: 'Montserrat';
    --pg-nav-transform: uppercase; --pg-nav-tracking: .04em; --pg-nav-size: 15px;
    --pg-radius: 16px; --pg-btn-radius: 12px;
    --pg-header-bg: rgba(5, 7, 13, .94); --pg-header-ink: #ffffff;
    --sp-blue: #1f7bff; --sp-blue-hi: #5aa8ff; --sp-glow: rgba(31, 123, 255, .55);
    background: transparent !important;
}
html:has(> body.tpl-page-spotlight) { background: #05070d; }
body.tpl-page.tpl-page-spotlight::before {
    content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none;
    background:
        radial-gradient(ellipse 70% 40% at 50% 0%, rgba(31, 123, 255, .16), transparent 70%),
        radial-gradient(ellipse 40% 30% at 100% 70%, rgba(31, 123, 255, .07), transparent 70%),
        #05070d;
}
body.tpl-page.tpl-page-spotlight .layout-main { background: transparent; }
body.tpl-page.tpl-page-spotlight .layout-main :where(p, span, li, dd, dt, td, th, label, input, select, textarea, button, a, small, strong, em, div):not(.material-icons, .material-icons-outlined, .material-symbols-outlined) {
    font-family: 'Montserrat', system-ui, sans-serif;
}

/* ---- header + footer ---------------------------------------------------------------------- */
body.tpl-page.tpl-page-spotlight .site-header { background: rgba(5, 7, 13, .94); border-bottom: 1px solid rgba(64, 140, 255, .26); box-shadow: none; }
body.tpl-page.tpl-page-spotlight .site-header .logo img { mix-blend-mode: lighten; }
body.tpl-page.tpl-page-spotlight .site-header :is(.nav-links a, .nav-links .nav-dropdown-toggle, .nav-dropdown-item, .hamburger) {
    color: #ffffff; font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; font-size: 15px !important;
    letter-spacing: .04em !important; text-transform: uppercase !important;
}
body.tpl-page.tpl-page-spotlight .site-header :is(.nav-links a, .nav-dropdown-toggle):hover { color: var(--sp-blue-hi); }
body.tpl-page.tpl-page-spotlight footer#contact { background: rgba(5, 7, 13, .92); border-top: 1px solid rgba(64, 140, 255, .26); }
body.tpl-page.tpl-page-spotlight footer#contact :is(h2, h3, h4) { font-family: 'Montserrat', sans-serif; color: #ffffff; }
body.tpl-page.tpl-page-spotlight footer#contact a { color: #c8d3e8; }
body.tpl-page.tpl-page-spotlight footer#contact a:hover { color: var(--sp-blue-hi); }
body.tpl-page.tpl-page-spotlight .footer-newsletter-band { background: linear-gradient(180deg, #0b111e, #05070d) !important; border-color: rgba(64, 140, 255, .26) !important; }
body.tpl-page.tpl-page-spotlight .footer-newsletter-eyebrow { color: var(--sp-blue-hi) !important; }
body.tpl-page.tpl-page-spotlight .footer-newsletter-title { font-family: 'Montserrat', sans-serif !important; color: #ffffff !important; }
body.tpl-page.tpl-page-spotlight .footer-newsletter-input { background: rgba(5, 7, 13, .8) !important; border-color: rgba(90, 168, 255, .4) !important; color: #ffffff !important; }
body.tpl-page.tpl-page-spotlight .footer-newsletter-btn { background: var(--sp-blue) !important; color: #ffffff !important; border: 1px solid var(--sp-blue-hi) !important; box-shadow: 0 0 14px var(--sp-glow) !important; }

/* ---- page title bands --------------------------------------------------------------------- */
body.tpl-page.tpl-page-spotlight :is(.calendar-header, .faq-header, .contact-header, .tos-header, .tonight-hero, .datewin-hero, .deals-hero, .tribute-hero) {
    background: radial-gradient(ellipse 80% 120% at 85% 0%, rgba(31, 123, 255, .28), transparent 65%), #0b111e !important;
    border: 1px solid rgba(64, 140, 255, .32) !important; border-radius: 16px !important; box-shadow: 0 18px 40px rgba(0, 0, 0, .4) !important;
}
body.tpl-page.tpl-page-spotlight :is(.calendar-header, .faq-header, .contact-header, .tos-header) :is(p, .faq-header__subtitle, .contact-header__subtitle, .tos-header__subtitle) { color: #c8d3e8 !important; }

/* ---- headings ------------------------------------------------------------------------------- */
body.tpl-page.tpl-page-spotlight .layout-main :is(h1, h2, .section-title, .section-heading, .calendar-title, .faq-header__title, .contact-header__title, .tos-header__title) {
    font-family: 'Montserrat', sans-serif !important; font-weight: 800 !important; letter-spacing: .04em; text-transform: uppercase;
    color: #ffffff !important; text-shadow: none !important; background: none; -webkit-text-fill-color: currentColor;
}
body.tpl-page.tpl-page-spotlight .layout-main :is(h3, h4) { font-family: 'Montserrat', sans-serif; color: var(--sp-blue-hi) !important; }
body.tpl-page.tpl-page-spotlight .layout-main :is(p, li, dd, td) { color: #c8d3e8; }
body.tpl-page.tpl-page-spotlight .layout-main a:not([class*="btn"]):not([class*="cta"]):not([class*="button"]) { color: var(--sp-blue-hi); }

/* ---- cards ---------------------------------------------------------------------------------- */
body.tpl-page.tpl-page-spotlight :is(
    .calendar-panel, .faq-item, .faq-contact, .contact-form-card, .contact-info-card, .contact-response-notice,
    .tos-sidebar, .tos-content, .tos-toc, .perf-hero, .perf-photos, .perf-shows,
    .venue-sidebar-show-card, .venue-sidebar-amenity, .venue-faq-item, .venue-week-day, .show-card, .page-content
) {
    background: #0b111e !important; border: 1px solid rgba(64, 140, 255, .28) !important; border-radius: 16px !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, .35) !important; color: #c8d3e8;
}
body.tpl-page.tpl-page-spotlight .page-content { padding: 24px; }
body.tpl-page.tpl-page-spotlight :is(.perf-photos, .perf-shows) { padding: 18px 20px 20px !important; margin-top: 18px; }
body.tpl-page.tpl-page-spotlight .perf-bio { background: transparent !important; border: 0 !important; box-shadow: none !important; }

/* ---- buttons: the show page's electric-blue Buy button -------------------------------------- */
body.tpl-page.tpl-page-spotlight :is(.btn, .faq-contact__cta, .contact-form__submit, .calendar-show-site-cta, .venue-sidebar-show-cta, .card-cta-highlight, .cta-button) {
    background: var(--sp-blue) !important; color: #ffffff !important; border: 1px solid var(--sp-blue-hi) !important; border-radius: 12px !important;
    box-shadow: 0 0 18px var(--sp-glow) !important; font-family: 'Montserrat', sans-serif !important; font-weight: 800 !important; letter-spacing: .06em;
}
body.tpl-page.tpl-page-spotlight :is(.btn, .faq-contact__cta, .contact-form__submit, .calendar-show-site-cta, .venue-sidebar-show-cta, .card-cta-highlight, .cta-button) * { color: #ffffff !important; }
body.tpl-page.tpl-page-spotlight :is(.btn, .faq-contact__cta, .contact-form__submit, .calendar-show-site-cta, .venue-sidebar-show-cta, .cta-button):hover { filter: brightness(1.1); }

/* ---- calendar ------------------------------------------------------------------------------- */
body.tpl-page.tpl-page-spotlight :is(.calendar-day, .calendar-day-mobile) { background: rgba(5, 7, 13, .7) !important; border-color: rgba(64, 140, 255, .18) !important; color: #c8d3e8 !important; }
body.tpl-page.tpl-page-spotlight .calendar-day--past { opacity: .45; }
body.tpl-page.tpl-page-spotlight :is(.calendar-day-header, .day-label) { color: var(--sp-blue-hi) !important; font-family: 'Montserrat', sans-serif; letter-spacing: .14em; text-transform: uppercase; background: transparent !important; }
body.tpl-page.tpl-page-spotlight .day-number { color: #ffffff !important; }
body.tpl-page.tpl-page-spotlight .event-item {
    background: rgba(31, 123, 255, .14) !important; border: 1px solid rgba(90, 168, 255, .6) !important; color: #ffffff !important; border-radius: 8px !important;
}
body.tpl-page.tpl-page-spotlight .event-item:hover { background: rgba(31, 123, 255, .26) !important; border-color: var(--sp-blue-hi) !important; box-shadow: 0 0 12px var(--sp-glow); }
body.tpl-page.tpl-page-spotlight .event-item * { color: inherit !important; }
body.tpl-page.tpl-page-spotlight .event-time { color: var(--sp-blue-hi) !important; font-weight: 700; }

/* ---- FAQ ------------------------------------------------------------------------------------ */
body.tpl-page.tpl-page-spotlight .faq-section__heading { font-family: 'Montserrat', sans-serif !important; color: var(--sp-blue-hi) !important; }
body.tpl-page.tpl-page-spotlight .faq-item__question { color: #ffffff !important; font-family: 'Montserrat', sans-serif; font-weight: 700; }
body.tpl-page.tpl-page-spotlight .faq-item__arrow { color: var(--sp-blue-hi) !important; }
body.tpl-page.tpl-page-spotlight .faq-item__answer { color: #c8d3e8 !important; }

/* ---- contact form ----------------------------------------------------------------------------- */
body.tpl-page.tpl-page-spotlight :is(.contact-form__input, .contact-form__select, .contact-form__textarea) {
    background: rgba(5, 7, 13, .8) !important; border: 1px solid rgba(90, 168, 255, .35) !important; color: #ffffff !important; border-radius: 10px !important;
}
body.tpl-page.tpl-page-spotlight :is(.contact-form__input, .contact-form__select, .contact-form__textarea):focus { border-color: var(--sp-blue-hi) !important; outline: none; box-shadow: 0 0 0 3px rgba(31, 123, 255, .25) !important; }
body.tpl-page.tpl-page-spotlight :is(.contact-form__label, .contact-info-card__title) { color: var(--sp-blue-hi) !important; }
body.tpl-page.tpl-page-spotlight :is(.contact-info-card__icon, .amenity-icon, .material-icons) { color: var(--sp-blue-hi) !important; }
body.tpl-page.tpl-page-spotlight :is(.contact-info-card__value, .contact-info-card__note, .contact-response-notice__text) { color: #c8d3e8 !important; }

/* ---- terms ------------------------------------------------------------------------------------ */
body.tpl-page.tpl-page-spotlight :is(.tos-section-num, .tos-subsection-num, .tos-toc__title) { color: var(--sp-blue-hi) !important; }
body.tpl-page.tpl-page-spotlight .tos-toc__list a { color: #c8d3e8 !important; }
body.tpl-page.tpl-page-spotlight .tos-toc__list a:hover { color: var(--sp-blue-hi) !important; }

/* ---- performer pages ------------------------------------------------------------------------- */
body.tpl-page.tpl-page-spotlight :is(.perf-eyebrow, .perf-role, .performer-breadcrumb) { color: var(--sp-blue-hi) !important; }
body.tpl-page.tpl-page-spotlight .performer-breadcrumb a { color: #c8d3e8 !important; }
body.tpl-page.tpl-page-spotlight .perf-portrait { box-shadow: 0 0 0 2px var(--sp-blue-hi), 0 0 24px var(--sp-glow) !important; }
body.tpl-page.tpl-page-spotlight :is(.perf-gal img, .performer-gallery__item img) { border-radius: 12px; box-shadow: 0 0 0 1px rgba(90, 168, 255, .4); }
body.tpl-page.tpl-page-spotlight .perf-gal__more { border: 1px solid rgba(90, 168, 255, .6) !important; color: var(--sp-blue-hi) !important; border-radius: 12px !important; }

/* ---- venue page ------------------------------------------------------------------------------- */
body.tpl-page.tpl-page-spotlight :is(.venue-sidebar-show-next-kicker, .vw-label, .amenity-title) { color: var(--sp-blue-hi) !important; }
body.tpl-page.tpl-page-spotlight .venue-sidebar-show-title { color: #ffffff !important; font-family: 'Montserrat', sans-serif; }
body.tpl-page.tpl-page-spotlight .venue-sidebar-show-price { color: var(--sp-blue-hi) !important; }
body.tpl-page.tpl-page-spotlight :is(.venue-sidebar-show-meta, .amenity-desc, .vw-perfs) { color: #c8d3e8 !important; }
