/* ComicSyrup dark theme. Loads last and overrides the light palette in
   site.css, layout.css and preferences.css. Brand lime stays the accent. */
:root{
  color-scheme:dark;
  --paper:#0e1511;
  --surface:#151f19;
  --surface-2:#1b2720;
  --surface-3:#22312a;
  --ink:#edf1ea;
  --body:#cdd6cf;
  --muted:#a3b0a7;
  --line:#2a3830;
  --line-strong:#3c4d43;
  --green:#1d3427;
  --accent:#d7ec6a;
  --lime:#eef56a;
  --on-lime:#0e1511;
}
body{background:var(--paper);color:var(--ink)}
::selection{background:#eef56a;color:#0e1511}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline-color:var(--lime)}

/* Header, brand and controls */
.header{background:#0e1511f2;border-bottom-color:var(--line)}
.brand{color:var(--ink)}
.brand .syrup{color:#9fbaa7}
.brand svg rect,.image-watermark svg rect{fill:var(--lime)}
.brand svg circle,.image-watermark svg circle{fill:#0e1511}
.brand svg path,.image-watermark svg path{stroke:#0e1511}
.language,.menu-toggle{color:var(--ink);background:var(--surface);border-color:var(--line-strong)}
.language option,select option{background:var(--surface);color:var(--ink)}
.skip{color:var(--on-lime)}
@media(max-width:760px){.nav a{background:var(--surface-2)}}

/* Typography accents */
.eyebrow{color:var(--accent)}.eyebrow:before{background:var(--accent)}
.intro-strip{color:var(--muted)}
.article-body>p,.article-body section p,.prose p,.side-note p,.booking-banner p,.time-note{color:var(--body)}
.profile-scope{color:var(--muted)}

/* Buttons */
.button{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.button:hover{background:#ffffff;border-color:#ffffff}
.button.yellow{background:var(--lime);border-color:var(--lime);color:var(--on-lime)}
.button.yellow:hover{background:#f6fa9c;border-color:#f6fa9c}
.filters button{background:var(--lime);color:var(--on-lime)}
.filters button:hover{background:#f6fa9c}

/* Hero */
.hero-stage{background:var(--surface)}
.hero-chip{background:var(--surface-2);color:var(--ink)}
.hero-chip span{background:var(--accent)}
.feature-sticker{background:#151f19f0;border:1px solid var(--line-strong);box-shadow:0 14px 40px #00000066;color:var(--ink)}
.round-arrow{border-color:var(--line-strong)}

/* Filters and lists */
.filters{background:var(--surface);border-color:var(--line)}
.filters input,.filters select{background:var(--paper);color:var(--ink);border:1px solid var(--line-strong)}
.filters input::placeholder{color:#7f8c83}
.empty{background:var(--surface);border-color:var(--line)}

/* Show cards */
.poster-link{background:var(--surface)}
.show-poster{background:#09100c;border-color:var(--line)}
.show-poster>img{background:#09100c}
.show-media{background:#09100c;border:1px solid var(--line)}
.date-pill,.show-card>.date-pill{background:var(--surface-3);color:var(--ink)}
.past-badge{background:#2f5a40;color:var(--ink)}

/* City blocks */
.city-section{background:var(--green);color:var(--ink);border:1px solid #2c4b39}
.city-section h2{color:var(--ink)}
.city-tile{border-color:#3f5c4a;color:var(--ink)}
.cities-page .city-tile{background:var(--green);color:var(--ink);border:1px solid #2c4b39}
.cities-page .city-tile:hover{background:#24402f}

/* Booking and article furniture */
.booking-banner{background:var(--surface-2);border:1px solid var(--line)}
.ticket-card{background:#181f12;border-color:#46551f}
.ticket-card h2{color:var(--ink)}
.provider{background:var(--surface);border-color:#3a4720;color:var(--ink)}
.provider:hover{border-color:var(--lime)}
.details-box{background:var(--surface);border-color:var(--line)}
.side-note{background:var(--surface-2)}
.past-note{background:var(--surface-2);border-color:var(--line);border-inline-start-color:var(--accent)}
.past-note p{color:var(--ink)}
.partner-badge{color:var(--accent);border-color:var(--line-strong)}
.partner-disclosure,.prose .partner-disclosure{background:var(--surface-2);border-inline-start-color:var(--accent);color:var(--body)}
.page-illustration{border:1px solid var(--line)}

/* Comedian directory */
.comedian-directory li a{background:var(--surface);border-color:var(--line)}
.comedian-directory a:hover{background:var(--lime);color:var(--on-lime);border-color:var(--lime)}
.comedian-directory a:focus-visible,.profile-link:focus-visible{outline-color:var(--lime)}

/* Cookie banner and preference dialogs */
.cs-cookie-banner{background:var(--surface-2);color:var(--ink);border-color:var(--line-strong);box-shadow:0 14px 50px #00000080}
.cs-cookie-copy p,.cs-pref-dialog p{color:var(--body)}
.cs-pref-button{background:transparent;color:var(--ink);border-color:#6f8276}
.cs-pref-button:hover{background:var(--surface-3)}
.cs-pref-button:focus-visible,.cs-pref-close:focus-visible,.cs-pref-dialog :is(input,select,a):focus-visible{outline-color:var(--lime)}
.cs-pref-dialog{background:var(--surface);color:var(--ink);border-color:var(--line-strong);box-shadow:0 14px 55px #000000a0}
.cs-pref-dialog::backdrop{background:#000000b3}
.cs-pref-dialog[role=dialog]{box-shadow:0 0 0 100vmax #000000b3}
.cs-pref-close{background:var(--surface-2);color:var(--ink);border-color:var(--line-strong)}
.cs-pref-section{border-block-start-color:var(--line)}
.cs-pref-active{color:var(--accent)}
.cs-pref-check input{accent-color:var(--lime)}
.cs-pref-dialog select{background:var(--paper);color:var(--ink);border-color:var(--line-strong)}

/* High contrast in the dark theme: pure black, white text and borders. */
html[data-cs-contrast=true]{--paper:#000;--ink:#fff;--body:#fff;--muted:#fff;--green:#000;--line:#fff;--line-strong:#fff;--accent:#fff;--lime:#fff;--on-lime:#000}
html[data-cs-contrast=true] :is(body,.header,.footer,.filters,.filters input,.filters select,.city-section,.city-tile,.booking-banner,.ticket-card,.provider,.details-box,.side-note,.past-note,.date-pill,.feature-sticker,.hero-chip,.empty,.nav a,.cs-cookie-banner,.cs-pref-dialog,.cs-pref-dialog select,.comedian-directory li a,.language,.menu-toggle,.partner-disclosure){background:#000!important;color:#fff!important;border-color:#fff!important}
html[data-cs-contrast=true] :is(p,h1,h2,h3,small,label,dt,dd,.small-label,.eyebrow,.location,.time-note,.source-note,.footer-bottom,.intro-strip,.cs-pref-active,.profile-scope),html[data-cs-contrast=true] a{color:#fff!important}
html[data-cs-contrast=true] :is(.button,.filters button,.cs-pref-button,.cs-pref-close){background:#fff!important;color:#000!important;border-color:#fff!important}
html[data-cs-contrast=true] :is(.button,.filters button,.cs-pref-button,.cs-pref-close) *{color:inherit!important}
html[data-cs-contrast=true] .past-note p{color:#fff}
html[data-cs-contrast=true] .past-badge{color:#000!important;background:#fff!important}
html[data-cs-contrast=true] .city-tile-icon{color:#fff;background:#000;border:1px solid #fff}
html[data-cs-contrast=true] .partner-badge{color:#fff!important;border-color:#fff!important}
html[data-cs-contrast=true] .comedian-directory a:hover{background:#fff!important;color:#000!important}
html[data-cs-contrast=true] .image-watermark,html[data-cs-contrast=true] .image-watermark span{color:#fff!important}

@media print{
  :root{color-scheme:light;--paper:#fff;--ink:#000;--body:#000;--muted:#333;--line:#bbb}
  body,.header,.details-box,.ticket-card,.provider,.side-note,.past-note,.booking-banner,.city-section,.cities-page .city-tile{background:#fff!important;color:#000!important}
}

/* In-text links */
.text-ref{color:var(--ink);text-decoration-color:var(--accent)}
.text-ref:hover{color:var(--lime)}
html[data-cs-contrast=true] .text-ref{color:#fff!important;text-decoration-color:#fff}
