/**
 * Show detail + booking — dark theme overrides.
 * Loaded after portal-show.css on the show page only.
 */

.show-page {
    background: var(--paper);
}

.show-body {
    background: transparent;
}

/* Panels & rails */
.show-panel,
.show-booking,
.show-rail {
    background: var(--surface) !important;
    border-color: rgba(197, 160, 89, 0.22) !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.32);
    color: var(--ink-soft);
}

.show-panel__head h2,
.show-panel h2,
.show-booking__head h2,
.show-booking__block-head h3,
.show-summary h3 {
    color: #fff;
}

.show-panel__text,
.show-booking__head p,
.show-booking__block-head p {
    color: var(--muted);
}

.show-panel__head h2 em {
    color: var(--gold-soft);
    background: rgba(197, 160, 89, 0.12);
}

.show-stats article {
    background: linear-gradient(180deg, #181818, #121212);
    border-color: rgba(197, 160, 89, 0.18);
}

.show-stats strong {
    color: #fff;
}

.show-nav-btn {
    background: #1a1a1a;
    border-color: rgba(197, 160, 89, 0.25);
    color: #fff;
}

.show-cast-card {
    background: linear-gradient(180deg, #181818, #121212) !important;
    border-color: rgba(197, 160, 89, 0.2) !important;
}

.show-cast-card__body strong {
    color: #fff;
}

.show-rail__block {
    border-top-color: rgba(197, 160, 89, 0.12);
}

.show-side-card__eyebrow {
    color: var(--gold);
}

.show-theater-name {
    color: var(--gold-soft);
}

.show-hall-name {
    color: var(--ink-soft);
}

.show-side-map {
    background: #121212;
    border-color: rgba(197, 160, 89, 0.18);
}

.show-side-cta {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.72);
}

.show-side-cta:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
}

.show-booking__head {
    border-bottom-color: rgba(197, 160, 89, 0.14);
}

.show-booking__eyebrow,
.show-side-card__eyebrow {
    color: var(--gold);
}

.show-panel__text {
    color: var(--ink-soft);
}

/* Booking dates */
.show-date {
    background: #121212;
    border-color: rgba(197, 160, 89, 0.22);
    color: #fff;
}

.show-date__num,
.show-date__month {
    color: #fff;
}

.show-date__day,
.show-date__time {
    color: var(--muted);
}

.show-date__time {
    background: rgba(255, 255, 255, 0.06);
}

.show-date.is-selected {
    border-color: var(--maroon);
    background: linear-gradient(180deg, rgba(109, 14, 14, 0.35), rgba(109, 14, 14, 0.12));
    box-shadow: 0 10px 24px rgba(109, 14, 14, 0.2);
    color: #fff;
}

.show-date.is-selected .show-date__day,
.show-date.is-selected .show-date__month,
.show-date.is-selected .show-date__num {
    color: #fff;
}

.show-date.is-selected .show-date__time {
    background: rgba(197, 160, 89, 0.18);
    color: var(--gold-soft);
}

/* Categories */
.show-cat__body {
    background: #121212 !important;
    border-color: rgba(197, 160, 89, 0.22) !important;
}

.show-cat__info strong {
    color: #fff;
}

.show-cat__price {
    color: var(--gold);
}

.show-cat.is-selected .show-cat__body {
    background: rgba(109, 14, 14, 0.18) !important;
    border-color: var(--maroon) !important;
    box-shadow: 0 10px 24px rgba(109, 14, 14, 0.15);
}

.show-cat__swatch {
    box-shadow: 0 0 0 2px #262626, 0 1px 3px rgba(0, 0, 0, 0.35);
}

/* Seat map shell */
.seat-map {
    background: linear-gradient(180deg, #161616 0%, #121212 42%) !important;
    border-color: rgba(197, 160, 89, 0.2) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
}

.seat-map__head h3 {
    color: #fff !important;
}

.seat-map__hint {
    color: var(--muted);
}

.seat-map__zoom {
    background: #1a1a1a;
    border-color: rgba(197, 160, 89, 0.2);
}

.seat-map__zoom-btn {
    background: #262626;
    color: #fff;
}

.seat-map__zoom-btn:disabled {
    background: #1f1f1f;
    color: #888;
}

.seat-map__zoom-value {
    color: var(--gold-soft);
}

.seat-map__legend,
.seat-map__cat-legend,
.seat-map__status-legend {
    color: #ccc;
}

.seat-map__viewport {
    background:
        radial-gradient(ellipse 85% 40% at 50% 8%, rgba(109, 14, 14, 0.12), transparent 55%),
        linear-gradient(180deg, #1a1614 0%, #141210 100%) !important;
    border-color: rgba(197, 160, 89, 0.16) !important;
}

/* National theater floor plan — dark surfaces */
.seat-hall-standard__block {
    background: rgba(38, 34, 28, 0.55) !important;
    border-color: rgba(197, 160, 89, 0.2) !important;
}

.seat-hall-standard__tag {
    color: var(--gold-soft);
}

.np-hall__horseshoe {
    background: linear-gradient(180deg, rgba(38, 38, 38, 0.65), rgba(22, 22, 22, 0.85)) !important;
    border-color: rgba(197, 160, 89, 0.14) !important;
}

.np-hall__normal {
    background: rgba(38, 34, 28, 0.55) !important;
    border-color: rgba(197, 160, 89, 0.2) !important;
    box-shadow: inset 0 0 0 1px rgba(197, 160, 89, 0.08) !important;
}

.np-hall__normal-tag {
    color: var(--gold-soft);
}

.np-hall__balcony {
    background: rgba(48, 40, 24, 0.55) !important;
    border-color: rgba(197, 160, 89, 0.22) !important;
}

.np-hall__balcony-tag {
    color: var(--gold);
}

.np-arc__label {
    color: var(--gold-soft) !important;
}

.np-arc--out .np-arc__seats {
    background: rgba(193, 127, 58, 0.14) !important;
    border-color: rgba(193, 127, 58, 0.28) !important;
}

.np-arc--in .np-arc__seats {
    background: rgba(61, 107, 79, 0.14) !important;
    border-color: rgba(61, 107, 79, 0.28) !important;
}

.seat-map__cat-legend strong {
    color: var(--gold);
}

/* Seat buttons — tinted cushions instead of bright white on dark map */
.seat-map--theater .seat-btn__cushion {
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--seat-color) 28%, #2a2622) 0%,
        color-mix(in srgb, var(--seat-color) 42%, #1a1816) 100%
    ) !important;
    border-color: color-mix(in srgb, var(--seat-color) 70%, #888) !important;
    box-shadow:
        0 2px 0 rgba(0, 0, 0, 0.25),
        inset 0 -1px 0 rgba(0, 0, 0, 0.15) !important;
}

.seat-map--theater .seat-btn__num {
    color: #e8e4df;
}

.seat-map--theater .seat-btn:hover:not(:disabled):not(.is-selected) .seat-btn__cushion {
    background: color-mix(in srgb, var(--seat-color) 72%, #3a3632) !important;
    color: #fff;
}

.seat-map--theater .seat-btn.is-selected {
    z-index: 4;
    transform: scale(1.28);
}

.seat-map--theater .seat-btn.is-selected .seat-btn__back {
    background: #8a6a12 !important;
}

.seat-map--theater .seat-btn.is-selected .seat-btn__cushion,
.seat-map--theater .seat-btn.is-selected:hover .seat-btn__cushion {
    background: linear-gradient(180deg, #ffe38a 0%, #e2b340 100%) !important;
    border-color: #fff4c2 !important;
    box-shadow:
        0 0 0 2px #1a1408,
        0 0 0 4px #f6e27a,
        0 0 18px rgba(246, 226, 122, 0.9) !important;
}

.seat-map--theater .seat-btn.is-selected .seat-btn__num {
    display: inline;
    color: #1a1408;
    font-size: 0.64rem;
}

.seat-map--theater .seat-btn.is-selected .seat-btn__mark--check {
    position: absolute;
    top: -5px;
    inset-inline-end: -5px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 15px;
    height: 15px;
    margin: 0;
    border-radius: 50%;
    background: #1a1408;
    color: #ffe38a;
    font-size: 0.58rem;
    line-height: 1;
    box-shadow: 0 0 0 2px #ffe38a;
}

.seat-map__status-legend .seat-dot.is-selected {
    background: #e2b340 !important;
    border-color: #fff4c2 !important;
    color: #1a1408;
}

.seat-dot {
    background: color-mix(in srgb, var(--seat-color) 35%, #2a2622) !important;
    border-color: color-mix(in srgb, var(--seat-color) 75%, #888) !important;
}

.seat-map__side {
    background: rgba(22, 22, 22, 0.85);
    border-color: rgba(197, 160, 89, 0.14);
}

.seat-map__side-label,
.seat-side-row__label {
    color: var(--gold);
}

.seat-map__zoom-hint {
    color: var(--muted);
}

.seat-map--theater .seat-row--hall .seat-row__label {
    background: rgba(38, 38, 38, 0.9);
    color: #ddd;
}

.seat-map__fs-btn[aria-pressed="true"] {
    background: #262626;
    color: var(--gold-soft);
    border-color: rgba(197, 160, 89, 0.35);
}

.seat-map__fs-topbar {
    background: rgba(38, 38, 38, 0.96);
    border-color: rgba(197, 160, 89, 0.18);
}

.seat-map__fs-topbar strong {
    color: #f5f5f5;
}

.seat-map__fs-close {
    background: linear-gradient(180deg, #8a3347 0%, #6e2435 100%);
}

/* Hold timer */
.show-hold-timer {
    border-color: rgba(31, 157, 85, 0.35);
    background: linear-gradient(180deg, rgba(31, 157, 85, 0.16), rgba(31, 157, 85, 0.06));
    color: #86efac;
}

.show-hold-timer__note {
    color: #a7f3d0;
}

.show-hold-timer.is-urgent {
    border-color: rgba(239, 68, 68, 0.4);
    background: linear-gradient(180deg, rgba(239, 68, 68, 0.16), rgba(239, 68, 68, 0.06));
    color: #fca5a5;
}

.show-hold-timer.is-urgent .show-hold-timer__note {
    color: #fecaca;
}

.show-hold-timer.is-expired {
    border-color: rgba(120, 113, 108, 0.35);
    background: #1f1f1f;
    color: var(--muted);
}

.show-hold-error {
    background: rgba(239, 68, 68, 0.12);
    color: #fca5a5;
}

/* Summary panel */
.show-summary {
    background: var(--surface) !important;
    border-color: rgba(197, 160, 89, 0.22) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.32);
}

.show-summary__list li {
    border-bottom-color: rgba(197, 160, 89, 0.14);
}

.show-summary__list strong {
    color: #fff;
}

.show-summary__chip {
    background: rgba(197, 160, 89, 0.12);
    color: #fff;
    border: 1px solid rgba(197, 160, 89, 0.2);
}

.show-summary__chip em {
    color: var(--gold-soft);
}

.show-summary__list .is-price strong {
    color: var(--gold);
}

.show-booking__empty,
.show-place__empty {
    color: var(--muted);
}

/* Hero tag on stage */
.show-tag {
    background: linear-gradient(180deg, var(--gold-soft), var(--gold));
    color: #0a0a0a;
}

.show-chip {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.16);
}

/* Fullscreen map */
.show-place.is-fullscreen {
    background:
        radial-gradient(ellipse 90% 40% at 50% 0%, rgba(109, 14, 14, 0.15), transparent 55%),
        #0a0a0a !important;
}

.show-place.is-fullscreen .seat-map {
    background: #161616 !important;
}

.show-place.is-fullscreen .show-summary {
    background: #161616 !important;
}
