@import url('/styles/templates/christmas-shared.css?v=20261104h');
/* Show pages under the Christmas template (christmasvegas.com/shows/<slug>) — Pete's show-page pick C (11/4, DiffUI
   6d3e2819). Built on the light skin (themes/light.css, like Showroom/Record), then: skyline + moon band behind the
   header, hero = the show's own 3:2 card art (body --cv-card-art, set in sincityseats/show.blade.php) beside a cream
   panel led by the holiday name (--cv-label) and season line (--cv-season); the show's holiday dates on a red band;
   every section a cream paper card with a gold rim on the night sky. SKIN ONLY on booking parts (Checkout UX spec). */
body.tpl-show.tpl-show-christmas {
    --cvs-paper: #fbf8f1; --cvs-paper-2: #f3ecdf; --cvs-rim: #c9a24a;
    background: radial-gradient(ellipse 70% 40% at 50% 0, rgba(227, 181, 79, .07), transparent 70%), #0b0f22 !important;
    color: var(--cv-ink); font-family: var(--cv-text);
}

/* ---- header band: the moon & skyline behind the bar ------------------------------------------ */
body.tpl-show-christmas .site-header.cv-header {
    background: linear-gradient(180deg, rgba(3, 5, 14, .7), rgba(3, 5, 14, .15) 60%, rgba(11, 15, 34, .9)),
        url('/uploads/sites/christmasvegas/moon-right-2048.jpg') 70% 62% / cover no-repeat;
    border-bottom: 2px solid var(--cv-gold-deep);
}
body.tpl-show-christmas .cv-header-inner { min-height: 150px; align-items: flex-start; padding-top: 14px; }
body.tpl-show-christmas .cv-mark .cv-sign { --cv-sign-w: 190px; }
@media (max-width: 1023px) {
    body.tpl-show-christmas .cv-header-inner { min-height: 96px; padding-top: 8px; }
    body.tpl-show-christmas .cv-mark .cv-sign { --cv-sign-w: 132px; }
}

/* ---- hero: card art + cream panel -------------------------------------------------------------- */
body.tpl-show-christmas .show-hero {
    display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; max-width: 1280px; margin: 18px auto 0; padding: 0 16px;
    background: none !important; min-height: 0 !important; box-sizing: border-box;
}
body.tpl-show-christmas .show-hero::before {
    content: ''; display: block; order: -1; aspect-ratio: 3 / 2; border-radius: 14px 14px 0 0;
    background: var(--cv-card-art, none) center / contain no-repeat, #000;
    border: 3px solid var(--cvs-rim); border-bottom: 0;
}
body.tpl-show-christmas .show-hero-image-wrap { display: contents; }
body.tpl-show-christmas .show-hero-image-wrap > img,
body.tpl-show-christmas .show-hero-social { display: none !important; }
body.tpl-show-christmas .show-hero-head,
body.tpl-show-christmas .show-hero-overlay {
    position: static !important; inset: auto !important; transform: none !important; width: auto !important; max-width: none !important;
    background: radial-gradient(ellipse 80% 60% at 50% 0, #ffffff, transparent 70%), var(--cvs-paper) !important;
    border-left: 3px solid var(--cvs-rim); border-right: 3px solid var(--cvs-rim); text-align: center; box-shadow: none !important;
}
body.tpl-show-christmas .show-hero-head { padding: 16px 16px 4px !important; margin: 0 !important; }
body.tpl-show-christmas .show-hero-head::before {
    content: var(--cv-label, ''); display: block; font-family: var(--cv-script); font-size: clamp(40px, 9vw, 64px); line-height: 1.05; color: var(--cv-red);
}
body.tpl-show-christmas .show-hero-title {
    font-family: var(--cv-serif) !important; font-weight: 800 !important; font-size: clamp(30px, 6vw, 46px) !important; line-height: 1.05 !important;
    color: #14110c !important; text-transform: uppercase; letter-spacing: .02em !important; text-shadow: none !important; margin: 0 !important;
}
body.tpl-show-christmas .show-hero-tagline { color: var(--cv-ink-2) !important; text-shadow: none !important; font-family: var(--cv-serif) !important; }
body.tpl-show-christmas .show-hero-rating { background: transparent !important; border: 0 !important; box-shadow: none !important; color: var(--cv-ink) !important; }
body.tpl-show-christmas .show-hero-rating-star { color: #e0a722 !important; }
body.tpl-show-christmas .show-hero-rating-text, body.tpl-show-christmas .show-hero-rating-count { color: var(--cv-ink) !important; }
body.tpl-show-christmas .show-hero-recent-activity { color: #9e5d00 !important; }
body.tpl-show-christmas .show-hero-overlay { padding: 4px 16px 18px !important; border-bottom: 3px solid var(--cvs-rim); border-radius: 0 0 14px 14px; }
body.tpl-show-christmas .show-hero-overlay::before {
    content: var(--cv-season, ''); display: block; margin: 0 0 8px; padding-top: 10px; border-top: 1px solid rgba(184, 134, 43, .45);
    font-family: var(--cv-serif); font-weight: 700; font-size: 17px; color: var(--cv-ink);
}
body.tpl-show-christmas .show-hero-cta-bottom, body.tpl-show-christmas .show-hero-cta { position: static !important; background: none !important; padding: 0 !important; box-shadow: none !important; }
body.tpl-show-christmas .starting-price { color: var(--cv-red) !important; font-family: var(--cv-serif) !important; font-weight: 800 !important; text-shadow: none !important; }
body.tpl-show-christmas .hero-date-label { color: var(--cv-gold-deep) !important; font-family: var(--cv-serif) !important; }
body.tpl-show-christmas .show-hero .cta-button:not(.hero-date-btn) {
    background: linear-gradient(180deg, #e0263f 0%, var(--cv-red) 45%, var(--cv-red-dark) 100%) !important; color: #ffffff !important;
    border: 2px solid var(--cv-gold) !important; border-radius: 999px !important; font-family: var(--cv-serif) !important; font-weight: 700 !important;
}
body.tpl-show-christmas .hero-date-btn {
    background: #ffffff !important; color: var(--cv-ink) !important; border: 1.5px solid var(--cv-gold-deep) !important; border-radius: 10px !important; box-shadow: none !important;
}
body.tpl-show-christmas .hero-date-btn :is(.hero-date-btn-line, .hero-date-btn-book-now) { color: var(--cv-red-dark) !important; }
body.tpl-show-christmas .hero-more-dates { color: var(--cv-red-dark) !important; }
body.tpl-show-christmas .show-hero-trust-label { color: var(--cv-ink-2) !important; }
@media (min-width: 1000px) {
    body.tpl-show-christmas .show-hero { grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); grid-template-rows: auto 1fr; padding: 0 24px; }
    body.tpl-show-christmas .show-hero::before { grid-column: 1; grid-row: 1 / 3; border-radius: 14px 0 0 14px; border-bottom: 3px solid var(--cvs-rim); border-right: 0; align-self: stretch; aspect-ratio: auto; min-height: 420px; }
    body.tpl-show-christmas .show-hero-head { grid-column: 2; grid-row: 1; border-radius: 0 14px 0 0; border-top: 3px solid var(--cvs-rim); padding-top: 22px !important; }
    body.tpl-show-christmas .show-hero-overlay { grid-column: 2; grid-row: 2; border-radius: 0 0 14px 0; }
}

/* ---- the show's holiday dates: a red band (holiday partial, components/show/partials/holiday-hero) ---------- */
body.tpl-show-christmas .hh { background: none !important; padding: 22px 16px 0 !important; }
body.tpl-show-christmas .hh-inner { max-width: 1280px; margin: 0 auto; }
body.tpl-show-christmas .hh-garland { display: none !important; }
body.tpl-show-christmas .hh-top { text-align: center; color: #fbf5e8; }
body.tpl-show-christmas .hh-kw { color: var(--cv-gold) !important; font-family: var(--cv-serif) !important; }
body.tpl-show-christmas .hh-label { font-family: var(--cv-script) !important; color: #ff9aa8 !important; }
body.tpl-show-christmas .hh-meta { color: #e9dfcc !important; }
body.tpl-show-christmas .hh-card {
    background: var(--cvs-paper) !important; color: var(--cv-ink) !important; border: 3px solid var(--cvs-rim) !important; border-radius: 14px !important; box-shadow: 0 10px 26px rgba(0, 0, 0, .45) !important;
}
body.tpl-show-christmas .hh-dates {
    background: radial-gradient(ellipse 80% 120% at 30% 0, #e2263f 0%, var(--cv-red) 45%, #7a0819 100%) !important; border-color: var(--cv-gold) !important;
}
body.tpl-show-christmas .hh-dates-h { color: var(--cv-gold) !important; font-family: var(--cv-serif) !important; text-transform: uppercase; letter-spacing: .06em; }
body.tpl-show-christmas .hh-rows { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
body.tpl-show-christmas .hh-row {
    display: grid !important; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px 8px; padding: 10px 12px !important;
    background: #ffffff !important; border: 1.5px solid var(--cv-gold) !important; border-radius: 10px !important; color: var(--cv-ink) !important;
}
body.tpl-show-christmas .hh-day { grid-column: 1; font-family: var(--cv-serif); font-weight: 800; color: var(--cv-ink) !important; }
body.tpl-show-christmas .hh-time { grid-column: 1; color: var(--cv-ink-2) !important; font-size: 14px; }
body.tpl-show-christmas .hh-tagwrap { display: none !important; }
body.tpl-show-christmas .hh-buy { grid-column: 2; grid-row: 1 / 3; color: var(--cv-red) !important; font-weight: 800; text-decoration: none; }
body.tpl-show-christmas .hh-card :is(p, li, h3, span, strong, a:not(.hh-buy):not(.cta-button)) { color: inherit; }
body.tpl-show-christmas .hh-dates :is(.hh-more, a.hh-all) { color: #ffffff !important; }

/* ---- sections: cream paper cards with a gold rim on the night sky ------------------------------ */
body.tpl-show-christmas .show-page { background: none !important; }
body.tpl-show-christmas .section-card {
    background: radial-gradient(ellipse 90% 30% at 50% 0, #ffffff, transparent 70%), var(--cvs-paper) !important;
    border: 2px solid var(--cvs-rim) !important; border-radius: 14px !important; box-shadow: 0 8px 22px rgba(0, 0, 0, .4) !important;
}
body.tpl-show-christmas .section-card > h2,
body.tpl-show-christmas .section-card h2 {
    font-family: var(--cv-serif) !important; font-weight: 700 !important; color: #14110c !important; text-transform: uppercase; letter-spacing: .05em !important;
}
body.tpl-show-christmas .section-card > h2::before { content: '❄ '; color: var(--cv-gold-deep); }
body.tpl-show-christmas .section-card :is(a:not(.cta-button):not(.hero-date-btn)) { color: var(--cv-red-dark); }
body.tpl-show-christmas .section-card .cta-button:not(.hero-date-btn) { background: var(--cv-red) !important; color: #fff !important; border-color: var(--cv-gold) !important; }
body.tpl-show-christmas .guest-review-item { background: #ffffff !important; border: 1px solid rgba(184, 134, 43, .45) !important; border-radius: 10px !important; }
body.tpl-show-christmas .faq-item { border-left: 4px solid var(--cv-red) !important; }
/* The light skin paints the area between cards white: keep the night sky there. */
body.tpl-show-christmas :is(.show-layout, main, .layout-main) { background: transparent !important; }

/* ---- fixes after the first look (11/4) ------------------------------------------------------- */
body.tpl-show-christmas .hh-row { grid-template-areas: none !important; grid-template-columns: minmax(0, 1fr) auto !important; grid-template-rows: auto auto !important; }
body.tpl-show-christmas .hh-day { grid-area: auto !important; grid-column: 1 !important; grid-row: 1 !important; font-size: 15px; }
body.tpl-show-christmas .hh-time { grid-area: auto !important; grid-column: 1 !important; grid-row: 2 !important; }
body.tpl-show-christmas .hh-buy {
    grid-area: auto !important; grid-column: 2 !important; grid-row: 1 / 3 !important; align-self: center;
    color: #ffffff !important; background: linear-gradient(180deg, #e0263f, var(--cv-red-dark)) !important; border: 1px solid var(--cv-gold) !important;
    border-radius: 999px !important; padding: 6px 14px !important; font-size: 14px !important;
}
body.tpl-show-christmas .hh-dates-h img { display: none; }
body.tpl-show-christmas .show-hero-overlay, body.tpl-show-christmas .show-hero-cta { text-align: center !important; }
body.tpl-show-christmas :is(.hero-date-buttons, .hero-dates-group, .show-hero-trust) { justify-content: center !important; margin-left: auto !important; margin-right: auto !important; }
body.tpl-show-christmas .starting-price { text-align: center !important; font-size: 30px !important; }
body.tpl-show-christmas .section-card h2 { border-bottom-color: var(--cvs-rim) !important; }
body.tpl-show-christmas .section-card h2::after { background: var(--cvs-rim) !important; }
body.tpl-show-christmas :is(.sidebar-price, .sidebar-section .starting-price) { color: var(--cv-red) !important; }
body.tpl-show-christmas .show-hero-recent-activity { background: transparent !important; }
/* Slim holiday ribbon (holiday partial 'ribbon') under the header: gold on the night bar. */
body.tpl-show-christmas [class^="hhr"], body.tpl-show-christmas [class*=" hhr"] { color: #fbf5e8 !important; }
body.tpl-show-christmas .hhr-go { color: var(--cv-gold) !important; }

/* ---- "make it fit the graphic" (Pete 11/4): on desktop the art is its own 3:2 gold-framed card (never stretched into a
   tall black column, never cover-cropped) beside the panel card; the panel is tightened so the two sit level. ---------- */
@media (min-width: 1000px) {
    body.tpl-show-christmas .show-hero { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); column-gap: 22px; align-items: center; }
    body.tpl-show-christmas .show-hero::before {
        grid-row: 1 / 3; align-self: center; aspect-ratio: 3 / 2; min-height: 0; height: auto;
        border: 3px solid var(--cvs-rim); border-radius: 14px; box-shadow: 0 10px 26px rgba(0, 0, 0, .5);
        background: var(--cv-card-art, none) center / contain no-repeat, #000;
    }
    body.tpl-show-christmas .show-hero-head { align-self: end; border-left: 3px solid var(--cvs-rim); border-radius: 14px 14px 0 0; padding: 16px 18px 2px !important; }
    body.tpl-show-christmas .show-hero-overlay { align-self: start; border-radius: 0 0 14px 14px; padding: 2px 18px 14px !important; }
    body.tpl-show-christmas .show-hero-head::before { font-size: 52px; }
    body.tpl-show-christmas .show-hero-title { font-size: 38px !important; }
    body.tpl-show-christmas .show-hero-overlay::before { font-size: 15px; margin-bottom: 4px; padding-top: 8px; }
    body.tpl-show-christmas .starting-price { font-size: 26px !important; margin: 0 0 2px !important; }
    body.tpl-show-christmas .hero-date-buttons { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px !important; }
    body.tpl-show-christmas .hero-date-btn { min-height: 0 !important; padding: 6px 4px !important; margin: 0 !important; width: auto !important; }
    body.tpl-show-christmas .hero-date-btn-line { font-size: 13px !important; }
    body.tpl-show-christmas .hero-date-btn-book-now { font-size: 10px !important; }
    body.tpl-show-christmas .hero-date-label { margin: 4px 0 !important; }
    body.tpl-show-christmas .show-hero-trust { margin-top: 6px !important; }
}

/* ---- readability (Pete 11/4 "font colors are a problem again"; contrast audit) ------------------------------------
   The show page's own dark-theme colours (white / grey / cyan / neon green) leak onto the cream cards: force dark ink
   inside every cream card; links red; light text on the night sky around them. */
body.tpl-show-christmas :is(.section-card, .hh-about) :is(p, span, div, li, h3, h4, h5, small, strong, em, b, td, th, dd, dt, label, time, cite, blockquote) {
    color: #2b241b !important;
}
body.tpl-show-christmas :is(.section-card, .hh-about) :is(.performer-name, h3, h4, strong, b, .sidebar-title) { color: #14110c !important; }
body.tpl-show-christmas :is(.section-card, .hh-about) a:not(.cta-button):not(.hero-date-btn):not([class*="btn"]),
body.tpl-show-christmas :is(.section-card, .hh-about) :is(.performer-link, .mini-calendars-title, a span) { color: #8e0a1f !important; }
body.tpl-show-christmas .section-card :is(.recent-activity) { color: #1f6b3a !important; }
body.tpl-show-christmas .section-card [class*="star"] { color: #b07d10 !important; }
/* Buttons and filled chips keep their own text colour. */
body.tpl-show-christmas .section-card :is(.cta-button, [class*="btn"], .sidebar-date-buttons a) :is(span, div, b, strong, small),
body.tpl-show-christmas .section-card :is(.cta-button, [class*="btn"]) { color: inherit !important; }
body.tpl-show-christmas .hero-date-label { color: #7d5a12 !important; }
body.tpl-show-christmas .hh-dates-h { color: #ffffff !important; }
body.tpl-show-christmas .hh-hub { color: var(--cv-gold) !important; }
/* Jump menu sits on the night sky. */
body.tpl-show-christmas .show-jump-nav, body.tpl-show-christmas .show-jump-nav :is(a, span) { color: #fbf5e8 !important; }
body.tpl-show-christmas .show-jump-nav a:hover { color: var(--cv-gold) !important; }
/* Inline-styled badges ("Verified Buyer": dark green chip) keep their own light text. */
body.tpl-show-christmas .section-card span[style*="background"] { color: #bbf7d0 !important; }
/* Sidebar mini calendar + other-show cards on cream: dark ink; event days red with white numbers. */
body.tpl-show-christmas .section-card :is(.mini-calendar-month, .mini-calendar-head, .mini-calendar-head *, .mini-calendar-day, .sidebar-show-card-name, .sidebar-show-card-price) { color: #2b241b !important; }
body.tpl-show-christmas .section-card .mini-calendar-day.has-event { background: var(--cv-red) !important; border-color: var(--cv-gold) !important; }
body.tpl-show-christmas .section-card .mini-calendar-day.has-event, body.tpl-show-christmas .section-card .mini-calendar-day.has-event * { color: #ffffff !important; }
body.tpl-show-christmas .section-card .mini-calendar-day.past { color: #9a8f7c !important; }
/* Components that paint their own dark panels inside a card: give them light panels so the dark ink reads. */
body.tpl-show-christmas .section-card :is([class*="mini-calendar"]:not(.mini-calendar-day.has-event), .sidebar-show-card, .sidebar-show-card-info, .show-badge) {
    background: #ffffff !important; border-color: rgba(184, 134, 43, .5) !important;
}
body.tpl-show-christmas .section-card .mini-calendar-day.has-event a, body.tpl-show-christmas .section-card a[href*="tickets"].mini-calendar-day { color: #ffffff !important; }
body.tpl-show-christmas .section-card span[style*="#111"], body.tpl-show-christmas .section-card span[style*="background:#1"], body.tpl-show-christmas .section-card span[style*="background: #1"] { background: #f3ecdf !important; }
body.tpl-show-christmas .section-card .show-badge { color: #14110c !important; }
body.tpl-show-christmas .section-card span[style*="background:#1"], body.tpl-show-christmas .section-card span[style*="background: #1"] { color: #14110c !important; }
body.tpl-show-christmas .section-card.sidebar-section [class*="mini-calendar"] a, body.tpl-show-christmas .section-card.sidebar-section .mini-calendars a { color: #ffffff !important; }
body.tpl-show-christmas.tpl-show.theme-light .section-card.sidebar-section .mini-calendar-day.has-event a { color: #ffffff !important; }
