/**
 * Portal dark theme — global surface, card, form and page overrides.
 * Loaded after portal-shell.css on every portal page.
 */

body.portal-body {
    color: var(--ink-soft);
    background:
        radial-gradient(ellipse 80% 50% at 50% -10%, rgba(109, 14, 14, 0.18), transparent 55%),
        linear-gradient(180deg, var(--paper-deep) 0%, var(--paper) 100%);
}

/* ========== Header & drawer ========== */
.site-header {
    background: rgba(10, 10, 10, 0.88);
    border-bottom-color: rgba(197, 160, 89, 0.12);
}

.site-header.is-scrolled {
    background: rgba(10, 10, 10, 0.96);
    border-bottom-color: rgba(197, 160, 89, 0.16);
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45);
}

.brand__name {
    color: #fff;
}

.brand__tag {
    color: var(--gold);
}

.site-nav__link {
    color: #cccccc;
}

.site-nav__link:hover,
.site-nav__link.is-active {
    color: var(--gold-soft);
}

.header-icon,
.header-login {
    color: #cccccc;
}

.header-icon:hover,
.header-login:hover,
.header-login:hover svg {
    color: var(--gold-soft);
    background: rgba(197, 160, 89, 0.08);
}

.menu-toggle {
    background: var(--surface);
    border-color: var(--line-strong);
}

.menu-toggle__lines,
.menu-toggle__lines::before,
.menu-toggle__lines::after {
    background: #fff;
}

@media (max-width: 1180px) {
    .nav-drawer__panel {
        background: linear-gradient(180deg, #121212 0%, #0a0a0a 100%);
        border-inline-end-color: rgba(197, 160, 89, 0.14);
        box-shadow: -12px 0 40px rgba(0, 0, 0, 0.55);
    }

    .nav-drawer__top {
        border-bottom-color: rgba(197, 160, 89, 0.12);
        background: linear-gradient(135deg, rgba(109, 14, 14, 0.2), transparent 70%);
    }

    .nav-drawer__brand strong {
        color: #fff;
    }

    .nav-drawer__brand span {
        color: var(--muted);
    }

    .nav-drawer__close {
        background: var(--surface);
        border-color: var(--line-strong);
        color: var(--gold-soft);
    }

    .nav-drawer__link {
        color: #cccccc;
    }

    .nav-drawer__link:hover,
    .nav-drawer__link.is-active {
        background: rgba(109, 14, 14, 0.18);
        color: #fff;
    }

    .nav-drawer__foot {
        border-top-color: rgba(197, 160, 89, 0.12);
        background: rgba(10, 10, 10, 0.98);
    }
}

/* ========== Footer ========== */
.site-footer {
    --footer-ink: #0a0a0a;
    --footer-panel: #4b0e0e;
    background:
        radial-gradient(ellipse 70% 55% at 100% 0%, rgba(109, 14, 14, 0.35), transparent 55%),
        radial-gradient(ellipse 55% 45% at 0% 100%, rgba(197, 160, 89, 0.08), transparent 50%),
        linear-gradient(180deg, #4b0e0e 0%, #2a0808 55%, #0a0a0a 100%);
}

/* ========== Shared cards & panels ========== */
.show-card,
.home-theater,
.feature,
.news-band,
.about-panel,
.show-listing-card,
.theater-listing-card,
.theater-card h3,
.schedule-day,
.news-card,
.contact-card,
.shows-toolbar,
.theaters-toolbar,
.page-card {
    background: var(--surface) !important;
    border-color: rgba(197, 160, 89, 0.22) !important;
    color: var(--ink-soft);
}

.home-theater,
.show-listing-card {
    border: 1px solid rgba(197, 160, 89, 0.32) !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
}

.home-theater {
    background: var(--surface) !important;
}

.show-card__body h3,
.show-listing-card__title,
.theater-listing-card__title,
.home-theater__body h3,
.feature h3,
.section__heading h2,
.shows-hero h1,
.page-hero h1,
.schedule-hero h1,
.news-hero h1,
.contact-hero h1 {
    color: #fff;
}

.show-card__theater,
.show-listing-card__meta,
.home-theater__body p {
    color: var(--gold) !important;
}

.btn--ghost-card {
    border-color: rgba(197, 160, 89, 0.35) !important;
    color: #fff !important;
}

.btn--ghost-card:hover {
    border-color: var(--gold) !important;
    color: var(--gold-soft) !important;
    background: rgba(197, 160, 89, 0.08);
}

.carousel__btn {
    background: var(--surface);
    border-color: rgba(197, 160, 89, 0.28);
    color: #fff;
}

.carousel__btn:hover {
    color: var(--gold-soft);
}

/* ========== Forms & toolbars ========== */
.search-panel__inner,
.shows-toolbar,
.theaters-toolbar,
.field select,
.field input,
.shows-toolbar__search,
.shows-toolbar__select select,
.contact-form input,
.contact-form textarea,
.contact-form select {
    background: #0e0e0e !important;
    border-color: rgba(197, 160, 89, 0.22) !important;
    color: #fff !important;
}

.search-panel__inner,
.shows-toolbar,
.theaters-toolbar {
    background: rgba(22, 22, 22, 0.96) !important;
    box-shadow: 0 24px 55px rgba(0, 0, 0, 0.45);
}

.search-panel__heading h2,
.shows-toolbar__search input {
    color: #fff;
}

.field select:focus,
.field input:focus,
.shows-toolbar__select select:focus,
.shows-toolbar__search:focus-within {
    border-color: rgba(197, 160, 89, 0.45) !important;
    box-shadow: 0 0 0 4px rgba(197, 160, 89, 0.1) !important;
}

/* ========== Page heroes ========== */
.shows-hero,
.page-hero,
.schedule-hero,
.news-hero,
.contact-hero,
.theaters-page .page-hero {
    background: linear-gradient(100deg, #0a0a0a 0%, #121212 55%, #161616 100%) !important;
}

.shows-hero p,
.page-hero p,
.schedule-hero p,
.news-hero p,
.contact-hero p {
    color: var(--muted);
}

.page-hero__crumbs,
.shows-hero__crumbs {
    color: var(--muted);
}

.page-hero__crumbs a,
.shows-hero__crumbs a {
    color: var(--gold);
}

/* ========== Home grid background ========== */
.portal-grid-bg__mesh {
    opacity: 0.22;
    background-image:
        linear-gradient(rgba(197, 160, 89, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(197, 160, 89, 0.06) 1px, transparent 1px),
        linear-gradient(rgba(109, 14, 14, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(109, 14, 14, 0.04) 1px, transparent 1px);
}

.portal-grid-bg__sheen {
    background:
        radial-gradient(ellipse 48% 36% at 78% 18%, rgba(197, 160, 89, 0.08), transparent 70%),
        radial-gradient(ellipse 42% 40% at 12% 72%, rgba(109, 14, 14, 0.12), transparent 68%);
}

/* ========== Section accents ========== */
.section__eyebrow,
.section__more {
    color: var(--gold);
}

.section__more:hover {
    color: var(--gold-soft);
}

.section--available {
    background: linear-gradient(180deg, rgba(109, 14, 14, 0.12), transparent 55%);
}

.section__ornament {
    background: rgba(197, 160, 89, 0.12);
    color: var(--gold);
}

.feature {
    background: linear-gradient(180deg, #181818, #121212) !important;
}

.feature p {
    color: var(--muted);
}

.feature__icon {
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.38);
}

.home-theater__visual {
    background:
        radial-gradient(circle at 30% 20%, rgba(197, 160, 89, 0.08), transparent 55%),
        linear-gradient(160deg, #1a1410 0%, #121010 48%, #161210 100%) !important;
    border-bottom: 0 !important;
    border-inline-start: 1px solid rgba(197, 160, 89, 0.14) !important;
}

.home-theater__cta {
    color: var(--gold-soft);
}

.about-panel {
    background:
        radial-gradient(circle at 100% 0%, rgba(197, 160, 89, 0.1), transparent 40%),
        linear-gradient(180deg, #181818, #121212) !important;
}

.about-panel__icon {
    color: var(--gold);
    background: rgba(197, 160, 89, 0.1);
    border-color: rgba(197, 160, 89, 0.2);
}

.schedule-strip,
.contact-panel {
    background:
        linear-gradient(125deg, rgba(109, 14, 14, 0.98), rgba(75, 14, 14, 0.95)) !important;
}

.schedule-strip .btn--ticket {
    background: var(--gold) !important;
    color: var(--maroon-deep) !important;
}

.schedule-strip .btn--ticket:hover {
    background: var(--gold-soft) !important;
    color: #0a0a0a !important;
}

.btn--gold {
    color: #0a0a0a;
}
