/* Shared red cinema theme. Loaded from php-app-nav.php on public pages. */
:root {
  --swa-red: #e50914;
  --swa-red-bright: #ff3946;
  --swa-red-dark: #8f0710;
  --swa-ink: #090a0d;
  --swa-panel: #151820;
  --swa-panel-raised: #1d222b;
  --swa-line: #343b47;
  --swa-text: #f4f5f7;
  --swa-muted: #a7aeb9;
  --swa-gold: #f3bd4a;
  --swa-green: #3ccd78;
  --swa-blue: #76c8ff;
}

html, body { background: var(--swa-ink) !important; color: var(--swa-text); }
body::selection { background: var(--swa-red); color: #fff; }

/* Brand, global navigation and account entry. */
.logo i, .logo span, .brand-media { color: var(--swa-red) !important; }
.top, .topbar { background: #0b0c10 !important; border-color: #2b3039 !important; }
.swa-app-nav { background: #0d0f14f7 !important; border-color: #333842 !important; }
.swa-app-nav a.active::before { background: var(--swa-red) !important; }
.swa-app-nav a.active i { color: var(--swa-red-bright) !important; filter: drop-shadow(0 0 6px #e5091499) !important; }
.swa-app-nav a:hover { color: #fff !important; }
.account-nudge, .account-dialog { background: var(--swa-panel) !important; border-color: #5a2630 !important; }
.account-nudge-icon, .account-submit, .account-nudge button.primary { background: var(--swa-red) !important; border-color: var(--swa-red) !important; }
.account-phone { border-color: #5a4146 !important; background: #0b0d11 !important; }
.account-phone span { background: #282029 !important; }

/* Search, actions, loading and primary calls to action. */
.search button, .top-search button, .red-btn, .action.primary, .pay-action,
.login-action, .success-actions button, .payment-tab.active, .confirm,
.age-actions .confirm { background: var(--swa-red) !important; border-color: var(--swa-red) !important; color: #fff !important; }
.search, .top-search { border-color: #4b3940 !important; background: #171a20 !important; }
.search input, .top-search input { background: #171a20 !important; }
.spinner, .load-spinner { border-top-color: var(--swa-red) !important; }
.payment-dialog, .dialog, .modal .dialog { background: #15161d !important; border-color: #49333a !important; }
.payment-tabs { background: #24242d !important; }
.payment-tab.active { box-shadow: 0 5px 14px #8f071055; }
.pay-plan.selected, .method.selected { border-color: var(--swa-red) !important; box-shadow: 0 0 0 2px #e5091433 !important; }
.pay-plan.selected::after, .method.selected::after { border-color: var(--swa-red) !important; background: var(--swa-red) !important; }

/* Content rails, cards, categories and labels. */
.section-head h2::before, .section-label::before, .heading::after { background: var(--swa-red) !important; color: var(--swa-red) !important; }
.heading h1 { border-left-color: var(--swa-red) !important; }
.card, .rec, .new-card, .category-card, .category-tile, .genre-card,
.description-card, .more, .episodes, .panel, .metric, .restricted-hero { border-color: #343a45 !important; }
.card:hover, .rec:hover, .new-card:hover, .category-card:hover, .category-tile:hover,
.genre-card:hover { border-color: var(--swa-red) !important; }
.poster .dj-badge, .dj-badge { background: #a90b16ed !important; }
.poster .rating, .rating { color: #191208 !important; background: var(--swa-gold) !important; }
.category-card, .category-tile, .genre-card { background: #191c23 !important; }
.category-card::before, .category-tile::before, .genre-card::before { background: var(--swa-red) !important; }

/* Player colours: access remains easy to distinguish from free content. */
.player { border-color: #414650 !important; }
.back:hover, .play-icon, .cover-badge.episode-badge, .action-tool.unlock .tool-icon,
.episode.active::before, .episode.active::after { background: var(--swa-red) !important; }
.episode.active { border-color: var(--swa-red) !important; background: #35131a !important; }
.now-playing-episode { border-left-color: var(--swa-red) !important; border-color: #5c2630 !important; background: #211217 !important; }
.now-playing-pulse { background: var(--swa-green) !important; }
.player-tools.reference-tools > button:last-child b { background: var(--swa-red) !important; border-color: var(--swa-red-bright) !important; }
.unlock-offer { background: #9d101a !important; border-color: var(--swa-red-bright) !important; box-shadow: 0 12px 35px #7e071944 !important; }
.read-more { color: var(--swa-blue) !important; }
.episode .free-label, .free { color: var(--swa-green) !important; }
.episode .locked-label { color: var(--swa-gold) !important; }

/* Secondary palette: gold for ratings, blue for metadata, green for successful states. */
.hero-dj, .new-card small, .card small, .meta, .muted { color: var(--swa-blue) !important; }
.signal.active, .feedback { color: var(--swa-green) !important; }
.plan:nth-child(2) .price, .pay-plan:nth-child(2) .plan-mark { color: var(--swa-gold) !important; }
.plan:nth-child(3) .price, .pay-plan:nth-child(3) .plan-mark { color: var(--swa-red-bright) !important; }

@media (max-width: 700px) {
  .swa-app-nav { box-shadow: 0 -8px 28px #000c !important; }
  .account-nudge { border-left: 3px solid var(--swa-red) !important; }
}
