/* Secondary pages of a show site on the Queen Selena look (queenselena.com: calendar, venue, FAQ,
   performers, contact, terms…). layouts/app.blade.php adds body.tpl-page.tpl-page-selena and loads
   templates/page-skin.css (colour variables below) then this file. Same language as the show page
   (selena-show.css): plum stage canvas, gold-framed plum cards, gold-gradient Playfair headings, gold
   buttons. SKIN ONLY: no section moves, hides or resizes. Decoration art is the show page's own. */
body.tpl-page.tpl-page-selena {
    --pg-bg: #0d0614; --pg-surface: rgba(30, 14, 42, .92); --pg-surface-2: #241232; --pg-line: rgba(237, 196, 106, .28); --pg-chip-line: rgba(237, 196, 106, .55);
    --pg-ink: #fff6ec; --pg-ink-2: #e2d1e6; --pg-ink-3: #b49cc0;
    --pg-accent: #edc46a; --pg-accent-hover: #fbe39a; --pg-accent-ink: #2a1206;
    --pg-price: #edc46a; --pg-star: #edc46a;
    --pg-display: 'Playfair Display'; --pg-display-weight: 800; --pg-display-tracking: .02em;
    --pg-text: 'Montserrat'; --pg-button-font: 'Montserrat'; --pg-nav-font: 'Montserrat';
    --pg-nav-transform: uppercase; --pg-nav-tracking: .02em; --pg-nav-size: 15px;
    --pg-radius: 18px; --pg-btn-radius: 8px;
    --pg-header-bg: rgba(13, 6, 20, .94); --pg-header-ink: #fff6ec;
    --sq-gold: #edc46a; --sq-gold-hi: #fbe39a; --sq-gold-lo: #b8862b; --sq-pink: #ff3fb4; --sq-violet: #a259ff;
    background: transparent !important;
}
html:has(> body.tpl-page-selena) { background: #0d0614; }
body.tpl-page.tpl-page-selena::before {
    content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none;
    background:
        radial-gradient(ellipse 70% 45% at 50% 0%, rgba(162, 89, 255, .16), transparent 70%),
        radial-gradient(ellipse 50% 40% at 100% 60%, rgba(255, 63, 180, .10), transparent 70%),
        linear-gradient(180deg, rgba(13, 6, 20, .86), rgba(13, 6, 20, .96)),
        url('/images/templates/selena/stage-backdrop.webp') center 20% / cover no-repeat;
}
@media (min-width: 1280px) {
    body.tpl-page.tpl-page-selena::after {
        content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .2;
        background:
            url('/images/templates/selena/rose-vine.webp?v=2') left -60px top 60px / auto 92vh no-repeat,
            url('/images/templates/selena/rose-vine.webp?v=2') right -60px top 60px / auto 92vh no-repeat;
    }
}
body.tpl-page.tpl-page-selena .layout-main { background: transparent; }
/* The pages' own styles set Rajdhani on small text; the template's text face is Montserrat. Icon fonts
   and headings keep theirs (heading rules further down are more specific or later). */
body.tpl-page.tpl-page-selena .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 (same as the show page) ---------------------------------------------- */
body.tpl-page.tpl-page-selena .site-header { background: rgba(13, 6, 20, .94); border-bottom: 1px solid rgba(237, 196, 106, .25); box-shadow: none; }
body.tpl-page.tpl-page-selena .site-header :is(.nav-links a, .nav-dropdown-toggle, .hamburger) { color: #fff6ec; font-family: 'Montserrat', sans-serif; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; }
body.tpl-page.tpl-page-selena .site-header :is(.nav-links a, .nav-dropdown-toggle):hover { color: var(--sq-gold); }
body.tpl-page.tpl-page-selena footer#contact { background: rgba(13, 6, 20, .9); border-top: 1px solid rgba(237, 196, 106, .25); }
body.tpl-page.tpl-page-selena footer#contact :is(h2, h3, h4) { font-family: 'Playfair Display', Georgia, serif; color: var(--sq-gold); }
body.tpl-page.tpl-page-selena footer#contact a { color: #e2d1e6; }
body.tpl-page.tpl-page-selena footer#contact a:hover { color: var(--sq-gold-hi); }
body.tpl-page.tpl-page-selena .footer-newsletter-band { background: linear-gradient(180deg, rgba(36, 18, 50, .9), rgba(13, 6, 20, .95)) !important; border-color: rgba(237, 196, 106, .25) !important; }
body.tpl-page.tpl-page-selena .footer-newsletter-eyebrow { color: var(--sq-pink) !important; }
body.tpl-page.tpl-page-selena .footer-newsletter-title { font-family: 'Playfair Display', Georgia, serif !important; color: var(--sq-gold) !important; }
body.tpl-page.tpl-page-selena .footer-newsletter-input { background: rgba(13, 6, 20, .7) !important; border-color: rgba(237, 196, 106, .4) !important; color: #fff6ec !important; }
body.tpl-page.tpl-page-selena .footer-newsletter-btn { background: linear-gradient(180deg, var(--sq-gold-hi), var(--sq-gold) 45%, var(--sq-gold-lo)) !important; color: #2a1206 !important; border: 0 !important; }

/* ---- page title bands: the stage backdrop behind each page title ------------------------------ */
body.tpl-page.tpl-page-selena :is(.calendar-header, .faq-header, .contact-header, .tos-header, .tonight-hero, .datewin-hero, .deals-hero, .tribute-hero) {
    background:
        linear-gradient(90deg, rgba(13, 6, 20, .92) 0%, rgba(13, 6, 20, .6) 55%, rgba(13, 6, 20, .35) 100%),
        url('/images/templates/selena/stage-backdrop.webp') center 30% / cover no-repeat, #1a0c25 !important;
    border: 1px solid rgba(237, 196, 106, .38) !important; border-radius: 18px !important; box-shadow: 0 18px 40px rgba(0, 0, 0, .38) !important;
}
body.tpl-page.tpl-page-selena :is(.calendar-header, .faq-header, .contact-header, .tos-header) :is(p, .faq-header__subtitle, .contact-header__subtitle, .tos-header__subtitle) { color: #e2d1e6 !important; }

/* ---- headings: the show page's gold-gradient Playfair ---------------------------------------- */
body.tpl-page.tpl-page-selena .layout-main :is(h1, h2, .section-title, .section-heading, .calendar-title, .faq-header__title, .contact-header__title, .tos-header__title) {
    font-family: 'Playfair Display', Georgia, serif !important; font-weight: 800 !important; letter-spacing: .02em;
    background: linear-gradient(180deg, #fff1c4 0%, var(--sq-gold-hi) 35%, var(--sq-gold) 70%, var(--sq-gold-lo) 100%);
    -webkit-background-clip: text; background-clip: text; color: transparent !important; text-shadow: none !important;
}
body.tpl-page.tpl-page-selena .layout-main :is(h3, h4) { font-family: 'Playfair Display', Georgia, serif; color: var(--sq-gold) !important; }
body.tpl-page.tpl-page-selena .layout-main :is(p, li, dd, td) { color: #e2d1e6; }
body.tpl-page.tpl-page-selena .layout-main a:not([class*="btn"]):not([class*="cta"]):not([class*="button"]) { color: var(--sq-gold); }

/* ---- cards: plum glass with a gold hairline frame ------------------------------------------- */
body.tpl-page.tpl-page-selena :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: linear-gradient(180deg, rgba(38, 18, 54, .92) 0%, rgba(22, 10, 32, .94) 100%) !important;
    border: 1px solid rgba(237, 196, 106, .32) !important; border-radius: 16px !important;
    box-shadow: inset 0 1px 0 rgba(251, 227, 154, .08), 0 14px 32px rgba(0, 0, 0, .32) !important; color: #e2d1e6;
}
body.tpl-page.tpl-page-selena .page-content { padding: 24px; }
body.tpl-page.tpl-page-selena :is(.perf-photos, .perf-shows) { padding: 18px 20px 20px !important; margin-top: 18px; }
body.tpl-page.tpl-page-selena .perf-bio { background: transparent !important; border: 0 !important; box-shadow: none !important; }

/* ---- buttons: gold, like the show page's Buy button ---------------------------------------- */
body.tpl-page.tpl-page-selena :is(.btn, .faq-contact__cta, .contact-form__submit, .calendar-show-site-cta, .venue-sidebar-show-cta, .card-cta-highlight, .cta-button) {
    background: linear-gradient(180deg, #fff0bd 0%, var(--sq-gold-hi) 18%, var(--sq-gold) 55%, var(--sq-gold-lo) 100%) !important;
    color: #2a1206 !important; border: 1px solid var(--sq-gold-hi) !important; border-radius: 8px !important; box-shadow: 0 8px 20px rgba(0, 0, 0, .35) !important;
    font-family: 'Montserrat', sans-serif !important; font-weight: 700 !important; letter-spacing: .06em;
}
body.tpl-page.tpl-page-selena :is(.btn, .faq-contact__cta, .contact-form__submit, .calendar-show-site-cta, .venue-sidebar-show-cta, .card-cta-highlight, .cta-button) * { color: #2a1206 !important; }
body.tpl-page.tpl-page-selena :is(.btn, .faq-contact__cta, .contact-form__submit, .calendar-show-site-cta, .venue-sidebar-show-cta, .cta-button):hover { filter: brightness(1.06); }

/* ---- calendar --------------------------------------------------------------------------------- */
body.tpl-page.tpl-page-selena :is(.calendar-day, .calendar-day-mobile) { background: rgba(13, 6, 20, .55) !important; border-color: rgba(237, 196, 106, .18) !important; color: #e2d1e6 !important; }
body.tpl-page.tpl-page-selena .calendar-day--past { opacity: .45; }
body.tpl-page.tpl-page-selena :is(.calendar-day-header, .day-label) { color: var(--sq-gold) !important; font-family: 'Montserrat', sans-serif; letter-spacing: .14em; text-transform: uppercase; background: transparent !important; }
body.tpl-page.tpl-page-selena .day-number { color: #fff6ec !important; }
body.tpl-page.tpl-page-selena .event-item {
    background: rgba(237, 196, 106, .1) !important; border: 1px solid rgba(237, 196, 106, .55) !important; color: #fff6ec !important; border-radius: 8px !important;
}
body.tpl-page.tpl-page-selena .event-item:hover { background: rgba(237, 196, 106, .2) !important; border-color: var(--sq-gold-hi) !important; }
body.tpl-page.tpl-page-selena .event-item * { color: inherit !important; }
body.tpl-page.tpl-page-selena .event-time { color: var(--sq-pink) !important; font-weight: 700; }

/* ---- FAQ ------------------------------------------------------------------------------------- */
body.tpl-page.tpl-page-selena .faq-section__heading { font-family: 'Playfair Display', Georgia, serif !important; color: var(--sq-gold) !important; }
body.tpl-page.tpl-page-selena .faq-item__question { color: #fff6ec !important; font-family: 'Playfair Display', Georgia, serif; font-weight: 700; }
body.tpl-page.tpl-page-selena .faq-item__arrow { color: var(--sq-gold) !important; }
body.tpl-page.tpl-page-selena .faq-item__answer { color: #e2d1e6 !important; }

/* ---- contact form ----------------------------------------------------------------------------- */
body.tpl-page.tpl-page-selena :is(.contact-form__input, .contact-form__select, .contact-form__textarea) {
    background: rgba(13, 6, 20, .7) !important; border: 1px solid rgba(237, 196, 106, .35) !important; color: #fff6ec !important; border-radius: 8px !important;
}
body.tpl-page.tpl-page-selena :is(.contact-form__input, .contact-form__select, .contact-form__textarea):focus { border-color: var(--sq-gold-hi) !important; outline: none; box-shadow: 0 0 0 3px rgba(237, 196, 106, .18) !important; }
body.tpl-page.tpl-page-selena :is(.contact-form__label, .contact-info-card__title) { color: var(--sq-gold) !important; }
body.tpl-page.tpl-page-selena :is(.contact-info-card__icon, .amenity-icon, .material-icons) { color: var(--sq-gold) !important; }
body.tpl-page.tpl-page-selena :is(.contact-info-card__value, .contact-info-card__note, .contact-response-notice__text) { color: #e2d1e6 !important; }

/* ---- terms ------------------------------------------------------------------------------------ */
body.tpl-page.tpl-page-selena :is(.tos-section-num, .tos-subsection-num, .tos-toc__title) { color: var(--sq-gold) !important; }
body.tpl-page.tpl-page-selena .tos-toc__list a { color: #e2d1e6 !important; }
body.tpl-page.tpl-page-selena .tos-toc__list a:hover { color: var(--sq-gold-hi) !important; }

/* ---- performer pages ------------------------------------------------------------------------- */
body.tpl-page.tpl-page-selena :is(.perf-eyebrow, .perf-role, .performer-breadcrumb) { color: var(--sq-gold) !important; }
body.tpl-page.tpl-page-selena .performer-breadcrumb a { color: #e2d1e6 !important; }
body.tpl-page.tpl-page-selena .perf-portrait { box-shadow: 0 0 0 2px var(--sq-gold), 0 0 22px rgba(255, 63, 180, .4) !important; }
body.tpl-page.tpl-page-selena :is(.perf-gal img, .performer-gallery__item img) { border-radius: 12px; box-shadow: 0 0 0 1px rgba(237, 196, 106, .4); }
body.tpl-page.tpl-page-selena .perf-gal__more { border: 1px solid rgba(237, 196, 106, .6) !important; color: var(--sq-gold-hi) !important; border-radius: 12px !important; }

/* ---- venue page ------------------------------------------------------------------------------- */
body.tpl-page.tpl-page-selena :is(.venue-sidebar-show-next-kicker, .vw-label, .amenity-title) { color: var(--sq-gold) !important; }
body.tpl-page.tpl-page-selena :is(.venue-sidebar-show-title) { color: #fff6ec !important; font-family: 'Playfair Display', Georgia, serif; }
body.tpl-page.tpl-page-selena :is(.venue-sidebar-show-price) { color: var(--sq-gold) !important; }
body.tpl-page.tpl-page-selena :is(.venue-sidebar-show-meta, .amenity-desc, .vw-perfs) { color: #e2d1e6 !important; }

/* Menu: same face as the show page (selena-show.css). */
body.tpl-page.tpl-page-selena .site-header :is(.nav-links a, .nav-links .nav-dropdown-toggle, .nav-dropdown-item) {
    font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; font-size: 15px !important;
    letter-spacing: .02em !important; text-transform: uppercase !important;
}
