/* Shared skin for SECONDARY pages under a site template (layouts/app.blade.php adds body.tpl-page
   and loads this, then templates/<key>-page.css which only sets the variables below).
   Every secondary page was designed dark with a cyan accent and carries its own inline styles;
   this maps each of their colour rules to the template's variables:
     --pg-bg page · --pg-surface card · --pg-surface-2 raised card · --pg-line borders
     --pg-ink main text · --pg-ink-2 body text · --pg-ink-3 muted text
     --pg-accent links/highlights · --pg-accent-ink text on an accent fill
     --pg-price prices · --pg-star rating stars · --pg-display / --pg-text fonts
     --pg-radius card corners · --pg-btn-radius buttons
   Pages covered: show-category, shows-search, show-date-window (tonight/weekend/month), shows-tonight,
   shows-calendar, deals, tribute, FAQ. Purchase pages are excluded in the layout. */

body.tpl-page { background: var(--pg-bg); color: var(--pg-ink); font-family: var(--pg-text), system-ui, sans-serif; }
body.tpl-page .layout-main { background: var(--pg-bg); color: var(--pg-ink); }

/* ---- headings and links ------------------------------------------------------------------- */
body.tpl-page .layout-main h1,
body.tpl-page .layout-main h2,
body.tpl-page .layout-main .section-title {
    font-family: var(--pg-display), sans-serif; font-weight: var(--pg-display-weight, 400); letter-spacing: var(--pg-display-tracking, 0);
    color: var(--pg-ink); text-shadow: none; border-bottom: 0;
}
body.tpl-page .layout-main h3 { color: var(--pg-ink); }
body.tpl-page .layout-main p, body.tpl-page .layout-main li, body.tpl-page .layout-main dd { color: var(--pg-ink-2); }
body.tpl-page .layout-main a { color: var(--pg-accent); }

/* ---- breadcrumbs, leads, notes (all page types) ------------------------------------------- */
body.tpl-page :is(.cat-breadcrumb, .tonight-breadcrumb, .tonight-breadcrumb span, .datewin-breadcrumb, .deals-breadcrumb, .tribute-breadcrumb) { color: var(--pg-ink-3); }
body.tpl-page :is(.cat-breadcrumb, .tonight-breadcrumb, .datewin-breadcrumb, .deals-breadcrumb, .tribute-breadcrumb) a { color: var(--pg-accent); }
body.tpl-page :is(.cat-lead, .cat-summary, .datewin-lead, .deals-lead, .tribute-lead, .tonight-intro, .tonight-date) { color: var(--pg-ink-2); }
body.tpl-page :is(.cat-summary strong, .cat-lead strong, .datewin-lead strong) { color: var(--pg-ink); }
body.tpl-page :is(.cat-section .cat-sub, .datewin-section-note, .deals-note, .datewin-more, .deals-was, .deals-next, .cat-empty) { color: var(--pg-ink-3); }

/* ---- cards ------------------------------------------------------------------------------- */
body.tpl-page :is(.cat-card, .datewin-show, .datewin-perf, .datewin-review, .datewin-facts li, .deals-card, .deals-perf, .cat-review) {
    background: var(--pg-surface); border-color: var(--pg-line); border-radius: var(--pg-radius); box-shadow: none;
}
body.tpl-page :is(.cat-card-art, .datewin-show-art, .deals-card-art, .cat-hero-banner) { background: var(--pg-surface-2); }
body.tpl-page :is(.cat-card-title a, .cat-card h2 a, .datewin-show-title a, .deals-card h3, .datewin-perf-show, .deals-perf-show, .datewin-day-h, .datewin-fact-n, .cat-count) { color: var(--pg-ink); }
body.tpl-page :is(.cat-card-title a, .cat-card h2 a, .datewin-show-title a):hover { color: var(--pg-accent); }
body.tpl-page :is(.cat-card-blurb, .datewin-show-count, .deals-levels li, .cat-review blockquote, .datewin-review blockquote, .cat-venue-list li, .cat-body p, .cat-body ul, .cat-faq-item p, .tribute-faq-item p) { color: var(--pg-ink-2); }
body.tpl-page :is(.cat-card-meta, .cat-card-dates-label, .cat-card-dates span, .cat-card-rating em, .cat-card-credit, .cat-card-price small, .datewin-show-meta, .datewin-perf-venue, .datewin-fact-l, .datewin-day-count, .deals-perf-venue, .cat-venue-list span, .cat-review cite, .datewin-review figcaption, .cat-count small, .facet-label, .cat-active-label) { color: var(--pg-ink-3); }
body.tpl-page :is(.cat-card-meta li, .cat-card-dates a) { border-color: var(--pg-line); background: transparent; }
body.tpl-page .cat-card-meta .cat-card-price,
body.tpl-page .cat-card-price { color: var(--pg-ink); border-color: var(--pg-line); }
body.tpl-page :is(.cat-card-dates, .datewin-day, .cat-venue-list li, .cat-faq-item, .tribute-faq-item, .cat-facets, .cat-resultbar, .tonight-hero, .tonight-seo-content, .tonight-faq) { border-color: var(--pg-line); }
body.tpl-page .cat-card-dates strong { color: var(--pg-ink); }
body.tpl-page :is(.cat-card-dates a, .datewin-perf, .deals-perf):hover { border-color: var(--pg-accent); background: var(--pg-surface-2); }
body.tpl-page :is(.cat-card-alldates, .cat-card-bestfor, .datewin-time, .deals-time, .datewin-show-count strong, .deals-card-note, .datewin-dates) { color: var(--pg-accent); }
body.tpl-page :is(.cat-card-rating, .cat-review .cat-stars, .datewin-show-rating) { color: var(--pg-star); }
body.tpl-page :is(.datewin-perf-price, .datewin-facts li.is-price .datewin-fact-n, .deals-from-now, .deals-perf-price strong, .deals-levels strong) { color: var(--pg-price); }

/* ---- buttons, chips, filters ---------------------------------------------------------------- */
body.tpl-page :is(.cat-card-cta, .deals-cta, .search-form button, .faq-contact__cta) {
    background: var(--pg-accent); color: var(--pg-accent-ink); border-radius: var(--pg-btn-radius); box-shadow: none;
    font-family: var(--pg-button-font, var(--pg-text)), sans-serif;
}
body.tpl-page :is(.cat-card-cta, .deals-cta, .search-form button, .faq-contact__cta):hover { background: var(--pg-accent-hover, var(--pg-accent)); color: var(--pg-accent-ink); }
body.tpl-page :is(.cat-chip, .facet a, .datewin-links a, .deals-links a, .cat-filterpanel > summary, .cat-active .cat-clear, .datewin-more button) {
    border-color: var(--pg-chip-line, var(--pg-line)); color: var(--pg-ink); border-radius: var(--pg-btn-radius); background: transparent;
}
body.tpl-page :is(.cat-chip, .facet a, .datewin-links a, .deals-links a, .cat-filterpanel > summary):hover { border-color: var(--pg-accent); color: var(--pg-accent); }
body.tpl-page :is(.facet a.is-on, .cat-filterpanel-badge, .datewin-links a[aria-current="page"]) { background: var(--pg-accent); border-color: var(--pg-accent); color: var(--pg-accent-ink); }
body.tpl-page .cat-active a { background: var(--pg-surface-2); border-color: var(--pg-accent); color: var(--pg-accent); }
body.tpl-page .cat-sorts a { color: var(--pg-ink-3); }
body.tpl-page .cat-sorts a.is-on { color: var(--pg-ink); background: var(--pg-surface-2); }
body.tpl-page .search-form input[type="search"] { background: var(--pg-surface); border-color: var(--pg-line); color: var(--pg-ink); border-radius: var(--pg-btn-radius); }
body.tpl-page .search-form input[type="search"]::placeholder { color: var(--pg-ink-3); }
body.tpl-page .deals-save { background: var(--pg-price); color: var(--pg-bg); }

/* ---- shows tonight -------------------------------------------------------------------------- */
body.tpl-page :is(.tonight-item, .tonight-empty) { background: var(--pg-surface); border-color: var(--pg-line); color: var(--pg-ink); border-radius: var(--pg-radius); }
body.tpl-page .tonight-item:hover { border-color: var(--pg-accent); background: var(--pg-surface-2); }
body.tpl-page :is(.tonight-item-img, .tonight-item-img-placeholder) { background: var(--pg-surface-2); }
body.tpl-page :is(.tonight-time, .tonight-price, .tonight-next-heading, .tonight-cute-sub, .tonight-page .section-title) { color: var(--pg-accent); }
body.tpl-page .tonight-price { color: var(--pg-price); }
body.tpl-page :is(.tonight-show, .tonight-cute, .tonight-answer strong, .tonight-faq-list dt) { color: var(--pg-ink); }
body.tpl-page :is(.tonight-venue, .tonight-seo-content h2, .tonight-seo-content p, .tonight-faq h2, .tonight-faq-list dd, .tonight-empty) { color: var(--pg-ink-3); }
body.tpl-page .tonight-answer { background: var(--pg-surface-2); border-color: var(--pg-line); color: var(--pg-ink-2); border-radius: var(--pg-radius); }
body.tpl-page .tonight-cta { border-color: var(--pg-accent); color: var(--pg-accent); border-radius: var(--pg-btn-radius); }
body.tpl-page .tonight-item:hover .tonight-cta { background: var(--pg-accent); color: var(--pg-accent-ink); }

/* ---- shows calendar -------------------------------------------------------------------------- */
body.tpl-page :is(.calendar-panel, .calendar-day, .calendar-day-mobile, .show-select-mobile, .show-list a) { background: var(--pg-surface); border-color: var(--pg-line); color: var(--pg-ink); }
body.tpl-page .calendar-panel { border-radius: var(--pg-radius); }
body.tpl-page :is(.show-list a:hover, .show-list a.active) { background: var(--pg-surface-2); border-color: var(--pg-accent); }
body.tpl-page :is(.calendar-title, .calendar-page .section-title) { color: var(--pg-ink); }
body.tpl-page :is(.calendar-day-header, .day-number, .shows-sidebar h3, .calendar-empty, .calendar-list-mobile-empty, .calendar-day-mobile .day-label, .calendar-show-site-cta a, .event-time) { color: var(--pg-ink-3); border-color: var(--pg-line); }
body.tpl-page .event-item { background: var(--pg-surface-2); color: var(--pg-ink); }
body.tpl-page .calendar-nav .btn { background: var(--pg-surface); border-color: var(--pg-line); color: var(--pg-ink); border-radius: var(--pg-btn-radius); }
body.tpl-page .calendar-nav .btn:hover { border-color: var(--pg-accent); color: var(--pg-accent); }

/* ---- FAQ page -------------------------------------------------------------------------------- */
body.tpl-page.faq-page { background: var(--pg-bg); }
body.tpl-page :is(.faq-header, .faq-item, .faq-contact) { background: var(--pg-surface); border-color: var(--pg-line); box-shadow: none; }
body.tpl-page .faq-header { border-bottom-color: var(--pg-accent); }
body.tpl-page :is(.faq-header__title, .faq-item__question, .faq-contact__title) { color: var(--pg-ink); }
body.tpl-page :is(.faq-header__subtitle, .faq-item__answer, .faq-contact__details) { color: var(--pg-ink-2); border-color: var(--pg-line); }
body.tpl-page :is(.faq-section__heading, .faq-item__arrow, .faq-item__answer a) { color: var(--pg-accent); }
body.tpl-page .faq-item:hover { border-color: var(--pg-accent); box-shadow: none; }
body.tpl-page .faq-item.is-open { border-left-color: var(--pg-accent); }
body.tpl-page .faq-contact { border-color: var(--pg-accent); }

/* ---- shared header bar ------------------------------------------------------------------------ */
body.tpl-page .site-header { background: var(--pg-header-bg, var(--pg-bg)); border-bottom: 0; box-shadow: none; }
body.tpl-page .site-header :is(.nav-links a, .nav-dropdown-toggle, .hamburger) { color: var(--pg-header-ink, var(--pg-ink)); font-family: var(--pg-nav-font, var(--pg-text)), sans-serif; }

/* ---- category tiles (shows page, categories grid) and FAQ lists on date / deals pages ---------- */
body.tpl-page .cat-tile a { background: var(--pg-surface); border-color: var(--pg-line); border-radius: var(--pg-radius); }
body.tpl-page .cat-tile a:hover { border-color: var(--pg-accent); }
body.tpl-page .cat-tile-art { background: var(--pg-surface-2); }
body.tpl-page .cat-tile-name { color: var(--pg-ink); }
body.tpl-page :is(.cat-tile-count, .cat-tiles-sub, .cat-tiles-actions a) { color: var(--pg-ink-3); }
body.tpl-page .cat-tiles-toggle { background: var(--pg-surface); border-color: var(--pg-line); color: var(--pg-ink); border-radius: var(--pg-btn-radius); }
body.tpl-page .cat-tiles-toggle:hover { border-color: var(--pg-accent); background: var(--pg-surface-2); }
body.tpl-page :is(.datewin-faq dt, .deals-faq dt, .tonight-faq-list dt, .cat-card-credit strong) { color: var(--pg-ink); }
body.tpl-page :is(.datewin-faq dd, .deals-faq dd) { color: var(--pg-ink-2); }

/* Headings set over a photo (category banner) stay white on the photo's dark fade, in every template. */
body.tpl-page .cat-hero-caption :is(h1, h2, .section-title, p) { color: #ffffff; text-shadow: 0 2px 18px rgba(0, 0, 0, .6); }
body.tpl-page .site-header :is(.nav-links a, .nav-dropdown-toggle) { text-transform: var(--pg-nav-transform, none); letter-spacing: var(--pg-nav-tracking, 0); font-size: var(--pg-nav-size, 17px); }
