/* DMagicWorld Dark Mode v6 — html.dmw-dark */

/* ── CSS Variables ──────────────────────────────────────────────────────── */
html.dmw-dark {
  --bg:#0d1520; --bg-card:#132030; --bg-modal:#162438; --bg-input:#1a2d42;
  --text:#e2eaf4; --text-sub:#8fb3d0; --text-muted:#5a7a9a;
  --border:#1e3550; --border-card:#1e3550;
  --pill-bg:#1a2d42; --pill-text:#9abedf;
  --pill-green-bg:#0f2a1e; --pill-green:#4ecf87;
  --pill-red-bg:#2a1010; --pill-red:#f07070;
  --pill-orange-bg:#2a1a00; --pill-orange:#f0a040;
  --link:#5aacf0; --chart-border:#1e3550;
  --hero-bg:linear-gradient(135deg,#060e18 0%,#0d1f35 60%,#1a3560 100%);
  --shadow:0 2px 12px rgba(0,0,0,.4);
  --dm-bg:#0d1520; --dm-card:#132030; --dm-border:#1e3550;
  --dm-text:#e2eaf4; --dm-sub:#8fb3d0; --dm-muted:#5a7a9a; --dm-link:#5aacf0;
  --dm-show-bg:#0f1e35; --dm-show-color:#7ab8f0;
  --dm-show-now-bg:#2a1e00; --dm-show-now-color:#f0b840;
  --dm-badge-open-bg:#0f2a1e; --dm-badge-open-color:#4ecf87;
  --dm-badge-closed-bg:#2a1010; --dm-badge-closed-color:#f07070;
  --dm-badge-load-bg:#1a2d42; --dm-badge-load-color:#5a7a9a;
}

/* ── Body ───────────────────────────────────────────────────────────────── */
html.dmw-dark body { background:#0d1520 !important; color:#e2eaf4 !important; }

/* ── Header ─────────────────────────────────────────────────────────────── */
html.dmw-dark #header, html.dmw-dark header { background:#0a1828 !important; }
html.dmw-dark #header .header-nav-main nav > ul > li > a { color:#e2eaf4 !important; }
html.dmw-dark #header .header-nav-main nav > ul > li.active > a { color:#5aacf0 !important; }

/* ── Cards / panels ─────────────────────────────────────────────────────── */
html.dmw-dark .card, html.dmw-dark .panel, html.dmw-dark .widget-box,
html.dmw-dark .well, html.dmw-dark .thumbnail, html.dmw-dark .featured-box {
  background:#132030 !important; border-color:#1e3550 !important; color:#e2eaf4 !important;
}
html.dmw-dark .card-header, html.dmw-dark .panel-heading {
  background:#1a2d42 !important; border-color:#1e3550 !important; color:#e2eaf4 !important;
}

/* ── Text ───────────────────────────────────────────────────────────────── */
html.dmw-dark h1,html.dmw-dark h2,html.dmw-dark h3,
html.dmw-dark h4,html.dmw-dark h5,html.dmw-dark h6 { color:#e2eaf4 !important; }
html.dmw-dark p { color:#c8d8ea; }
html.dmw-dark .text-muted, html.dmw-dark .text-secondary { color:#5a7a9a !important; }
html.dmw-dark a:not(.btn):not([class*="badge"]):not(.resort-tab):not(.dmw-dm-toggle) { color:#5aacf0; }

/* ── Forms ──────────────────────────────────────────────────────────────── */
html.dmw-dark input:not([type=radio]):not([type=checkbox]),
html.dmw-dark select, html.dmw-dark textarea, html.dmw-dark .form-control {
  background:#1a2d42 !important; color:#e2eaf4 !important; border-color:#1e3550 !important;
}
html.dmw-dark input::placeholder, html.dmw-dark textarea::placeholder { color:#5a7a9a !important; }

/* ── Sections ───────────────────────────────────────────────────────────── */
html.dmw-dark section, html.dmw-dark .section { background:#0d1520 !important; }
html.dmw-dark .section-secondary, html.dmw-dark .bg-light { background:#132030 !important; }

/* ── Tables ─────────────────────────────────────────────────────────────── */
html.dmw-dark table, html.dmw-dark th, html.dmw-dark td {
  background:#132030 !important; color:#e2eaf4 !important; border-color:#1e3550 !important;
}
html.dmw-dark tr:nth-child(even) td { background:#1a2d42 !important; }

/* ── Buttons ────────────────────────────────────────────────────────────── */
html.dmw-dark .btn-default, html.dmw-dark .btn-secondary, html.dmw-dark .btn-light {
  background:#1e3550 !important; color:#e2eaf4 !important; border-color:#2e4560 !important;
}

/* ── Footer ─────────────────────────────────────────────────────────────── */
html.dmw-dark footer, html.dmw-dark .footer, html.dmw-dark .footer-copyright {
  background:#060e18 !important; color:#5a7a9a !important;
}

/* ── !! WAIT BADGES — park pages !! ────────────────────────────────────── */
html.dmw-dark .wait-high    { background:#7a1515 !important; color:#ffb3b3 !important; }
html.dmw-dark .wait-med     { background:#7a3a00 !important; color:#ffd090 !important; }
html.dmw-dark .wait-open    { background:#0f3a0f !important; color:#70e870 !important; }
html.dmw-dark .wait-closed  { background:#252535 !important; color:#9098b8 !important; }
html.dmw-dark .wait-low     { background:#0f3a0f !important; color:#70e870 !important; }
/* Extra specificity for wait badges */
html.dmw-dark .wait-badge.wait-high   { background:#7a1515 !important; color:#ffb3b3 !important; }
html.dmw-dark .wait-badge.wait-med    { background:#7a3a00 !important; color:#ffd090 !important; }
html.dmw-dark .wait-badge.wait-open   { background:#0f3a0f !important; color:#70e870 !important; }
html.dmw-dark .wait-badge.wait-closed { background:#252535 !important; color:#9098b8 !important; }
html.dmw-dark span.wait-high   { background:#7a1515 !important; color:#ffb3b3 !important; }
html.dmw-dark span.wait-med    { background:#7a3a00 !important; color:#ffd090 !important; }
html.dmw-dark span.wait-open   { background:#0f3a0f !important; color:#70e870 !important; }
html.dmw-dark span.wait-closed { background:#252535 !important; color:#9098b8 !important; }

/* ── Wait items / rows ──────────────────────────────────────────────────── */
html.dmw-dark .wait-item { border-color:#1e3550 !important; }
html.dmw-dark .wait-item-name { color:#e2eaf4 !important; }
html.dmw-dark .wait-item-sub  { color:#5a7a9a !important; }
html.dmw-dark .best-time-inline { background:#1a2d42 !important; color:#8fb3d0 !important; }
html.dmw-dark .best-time-good  { background:#0f2a1e !important; color:#4ecf87 !important; }
html.dmw-dark .best-time-warn  { background:#2a1a00 !important; color:#f0a040 !important; }
html.dmw-dark .dmw-attr-row:hover { background:#1a2d42 !important; color:#e2eaf4 !important; }
html.dmw-dark .attr-stats-hint  { background:#1a2d42 !important; color:#5aacf0 !important; }

/* ── Closed / refurb section ────────────────────────────────────────────── */
html.dmw-dark .refurb-item { color:#e2eaf4 !important; border-color:#1e3550 !important; }
html.dmw-dark .refurb-item-name { color:#e2eaf4 !important; }
html.dmw-dark .wait-closed-toggle { color:#5a7a9a !important; border-color:#1e3550 !important; }
html.dmw-dark .wait-closed-toggle:hover { background:#1a2d42 !important; }

/* ── Waits controls ─────────────────────────────────────────────────────── */
html.dmw-dark .waits-controls { background:#132030 !important; border-color:#1e3550 !important; }
html.dmw-dark .waits-controls select, html.dmw-dark .sort-select {
  background:#1a2d42 !important; color:#e2eaf4 !important; border-color:#1e3550 !important;
}

/* ── Park section ───────────────────────────────────────────────────────── */
html.dmw-dark .park-section { background:#132030 !important; border-color:#1e3550 !important; }
html.dmw-dark .park-section-title { color:#5a7a9a !important; }

/* ── Dashboard ──────────────────────────────────────────────────────────── */
html.dmw-dark .park-card {
  background:var(--dm-card,#132030) !important; border-color:var(--dm-border,#1e3550) !important;
  color:var(--dm-text,#e2eaf4) !important;
}
html.dmw-dark .park-card:hover { background:#1a2d42 !important; color:#e2eaf4 !important; }
html.dmw-dark .park-card-name { color:#e2eaf4 !important; }
html.dmw-dark .park-card-time { color:#5a7a9a !important; }
html.dmw-dark .park-hours-row { color:#8fb3d0 !important; }
html.dmw-dark .resort-title   { color:#5a7a9a !important; }
html.dmw-dark .show-strip { background:#0f1e35 !important; color:#7ab8f0 !important; }
html.dmw-dark .show-strip.now-strip { background:#2a1e00 !important; color:#f0b840 !important; }
html.dmw-dark .badge-open    { background:#0f2a1e !important; color:#4ecf87 !important; }
html.dmw-dark .badge-open .sdot    { background:#4ecf87 !important; }
html.dmw-dark .badge-closed  { background:#2a1010 !important; color:#f07070 !important; }
html.dmw-dark .badge-closed .sdot  { background:#f07070 !important; }
html.dmw-dark .badge-loading { background:#1a2d42 !important; color:#5a7a9a !important; }
html.dmw-dark .badge-seasonal { background:#2a1e00 !important; color:#f0c040 !important; }
html.dmw-dark .badge-refurb  { background:#2a1500 !important; color:#f0a040 !important; }
html.dmw-dark .down-alert    { color:#f07070 !important; }
html.dmw-dark .busy-busy, html.dmw-dark .busy-moderate { color:#f09060 !important; }
html.dmw-dark .busy-quiet, html.dmw-dark .busy-calmer  { color:#4ecf87 !important; }

/* ── Search bar ─────────────────────────────────────────────────────────── */
html.dmw-dark .attr-search { background:#1a2d42 !important; color:#e2eaf4 !important; border-color:#1e3550 !important; }
html.dmw-dark .attr-search::placeholder { color:#5a7a9a !important; }
html.dmw-dark .attr-search-wrap { background:#132030 !important; }
html.dmw-dark .attr-search-icon, html.dmw-dark .attr-search-clear { color:#5a7a9a !important; }

/* ── Radio / played page ────────────────────────────────────────────────── */
html.dmw-dark .dmw-row-title { color:#e2eaf4 !important; }
html.dmw-dark .muted          { color:#5a7a9a !important; }
html.dmw-dark #now-text       { color:#e2eaf4 !important; }
html.dmw-dark .progress-bar   { background:#1a2d42 !important; }
html.dmw-dark .progress-meta  { color:#5a7a9a !important; }
html.dmw-dark .badge.blue   { background:#0f2040 !important; color:#5aacf0 !important; }
html.dmw-dark .badge.yellow { background:#2a1e00 !important; color:#f0c040 !important; }
html.dmw-dark .badge.green  { background:#0f2a1e !important; color:#4ecf87 !important; }
html.dmw-dark .dmw-notif-success { background:#0f2a1e !important; border-color:#3a9e5f !important; }
html.dmw-dark .dmw-notif-warning { background:#2a1e00 !important; border-color:#f3a43a !important; }
html.dmw-dark .dmw-notif-error   { background:#2a1010 !important; border-color:#c53434 !important; }
html.dmw-dark .dmw-notif-title   { color:#e2eaf4 !important; }
html.dmw-dark .dmw-notif-sub     { color:#8fb3d0 !important; }

/* ── Radio program widget ───────────────────────────────────────────────── */
html.dmw-dark .orbL  { background:#132030 !important; }
html.dmw-dark .orbLt { background:#0d1f35 !important; }
html.dmw-dark .orbIL, html.dmw-dark .orbILs { background:#132030 !important; }
html.dmw-dark .orbILi > a, html.dmw-dark .orbILi > span { color:#e2eaf4 !important; }
html.dmw-dark .orbILi.a > a, html.dmw-dark .orbILi.a > span { color:#5aacf0 !important; background:#1a2d42 !important; }
html.dmw-dark .orbILi > a > time { color:#5a7a9a !important; }

/* ── Index.html body sections ───────────────────────────────────────────── */
html.dmw-dark .dmw-request-wrap { background:#0a1220 !important; }
html.dmw-dark hr, html.dmw-dark .divider { border-color:#1e3550 !important; }

/* ── Bootstrap badges ───────────────────────────────────────────────────── */
html.dmw-dark .badge-primary   { background:#1a4a8a !important; }
html.dmw-dark .badge-secondary { background:#2a3a4a !important; color:#8fb3d0 !important; }
html.dmw-dark .badge-success   { background:#1a4a1a !important; color:#4ecf87 !important; }
html.dmw-dark .badge-danger    { background:#4a1a1a !important; color:#f07070 !important; }
html.dmw-dark .badge-warning   { background:#4a2a00 !important; color:#f0a040 !important; }

/* ── Borders / dividers ─────────────────────────────────────────────────── */
html.dmw-dark hr, html.dmw-dark [class*="border-"] { border-color:#1e3550 !important; }

/* ── Premier Access / Lightning Lane / Single Rider badges ──────────────── */
html.dmw-dark .wait-ll { background:#3a2000 !important; color:#f0c060 !important; }
html.dmw-dark .wait-sr { background:#0f1e40 !important; color:#7ab0f0 !important; }
html.dmw-dark .wait-bg { background:#0f2a1e !important; color:#4ecf87 !important; }

/* Also fix inline style versions (JS renders with explicit bg color sometimes) */
html.dmw-dark [class*="wait-ll"] { background:#3a2000 !important; color:#f0c060 !important; }
html.dmw-dark [class*="wait-sr"] { background:#0f1e40 !important; color:#7ab0f0 !important; }
:root {
  --dmw-floating-right: 16px;
  --dmw-floating-bottom: 24px;
}

.dmw-floating-ui {
  position: fixed;
  right: var(--dmw-floating-right, 16px);
  bottom: var(--dmw-floating-bottom, 24px);
  z-index: 999999;
}
