/* Three curated palettes. These overrides intentionally preserve the site's structure, motion, and bilingual typography. */
:root {
  --theme-stage: radial-gradient(ellipse at 66% 42%,#493151,transparent 45%),linear-gradient(122deg,#1d1325,#27152f);
  --theme-gate: radial-gradient(ellipse 64% 50% at 50% 40%,#3a2540 0,#22172c 58%,#170f20 100%);
  --theme-intro: #ed744f;
  --theme-intro-light: #ffb48b;
  --theme-intro-shadow: #ce465a;
  --theme-disc: radial-gradient(circle at 35% 34%,#ffbc95,#ff826a 42%,#ef685e 64%,#b34760 100%);
  --theme-card-ta: linear-gradient(145deg,#fba580,#f27869 50%,#e96e69 100%);
  --theme-card-en: linear-gradient(140deg,#eae9c0,#cedcb3 62%,#b1d2b6);
  --theme-events-card: #e8a691;
  --theme-location-surface: #ece3d5;
  --theme-rsvp: #d3c1df;
  --theme-form: #281b33;
  --theme-input: #3a2944;
  --theme-family: #f0e8db;
  --theme-gate-ink: #251527;
}
html[data-theme="royal"] {
  --plum: #381328; --plum-dark:#230d1c; --paper:#fff6e8; --cream:#fff0db;
  --orange:#d79b4c; --peach:#e8af6c; --lime:#f3cc78; --lavender:#edcbb7;
  --ink:#351b2a; --violet:#77405d;
  --theme-stage:radial-gradient(ellipse at 66% 42%,#682d49,transparent 49%),linear-gradient(122deg,#230b1e,#4e1c35);
  --theme-gate:radial-gradient(ellipse 64% 50% at 50% 40%,#74334c 0,#41192e 58%,#200c1a 100%);
  --theme-intro:#ca8f55;--theme-intro-light:#f4cc8d;--theme-intro-shadow:#ae5464;
  --theme-disc:radial-gradient(circle at 34% 33%,#ffe5ae,#eebc72 42%,#b97367 70%,#784258 100%);
  --theme-card-ta:linear-gradient(145deg,#ffe3a8,#e8b271 57%,#c78465 100%);
  --theme-card-en:linear-gradient(140deg,#ffe9cc,#ecc7b7 62%,#d9a6aa);
  --theme-events-card:#e9bd91;--theme-location-surface:#f3e4d3;
  --theme-rsvp:#edcebd;--theme-form:#371c2c;--theme-input:#573348;--theme-family:#f5e7d5;
  --theme-gate-ink:#371627;
}
html[data-theme="peacock"] {
  --plum:#073941;--plum-dark:#042b36;--paper:#fffaf0;--cream:#fff2d4;
  --orange:#f1b65c;--peach:#f3bc66;--lime:#f6d98b;--lavender:#b8d8d2;
  --ink:#14363b;--violet:#166f77;
  --theme-stage:radial-gradient(ellipse at 66% 42%,#195f68,transparent 50%),linear-gradient(122deg,#062732,#0b454f);
  --theme-gate:radial-gradient(ellipse 64% 50% at 50% 40%,#17616b 0,#0b414c 58%,#052a34 100%);
  --theme-intro:#dfa85c;--theme-intro-light:#f9db9b;--theme-intro-shadow:#a36f60;
  --theme-disc:radial-gradient(circle at 34% 32%,#c1ece1,#73bdb4 41%,#268b8b 68%,#155d6a 100%);
  --theme-card-ta:linear-gradient(145deg,#ffdf9c,#f2c16e 56%,#dca164 100%);
  --theme-card-en:linear-gradient(140deg,#def2e6,#a5d3c6 62%,#75b7b6);
  --theme-events-card:#bdd8c8;--theme-location-surface:#e9f0e9;
  --theme-rsvp:#c5e2d8;--theme-form:#103d47;--theme-input:#275861;--theme-family:#edf2e9;
  --theme-gate-ink:#143e42;
}
/* Variants of the extensive original design including previously hard-coded surfaces. */
html[data-theme="royal"] body.language-gate,
html[data-theme="peacock"] body.language-gate {background:var(--theme-gate)}
html[data-theme="royal"] .hero,
html[data-theme="peacock"] .hero {background:var(--theme-stage)}
html[data-theme="royal"] .intro,
html[data-theme="peacock"] .intro {background:var(--theme-intro);color:var(--plum)}
html[data-theme="royal"] .intro-noise,
html[data-theme="peacock"] .intro-noise {background:radial-gradient(ellipse at 8% 80%,var(--theme-intro-light) 0,transparent 46%),radial-gradient(ellipse at 85% 10%,var(--theme-intro-shadow) 0,transparent 48%)}
html[data-theme="royal"] .visual-disc,
html[data-theme="peacock"] .visual-disc {background:var(--theme-disc)}
html[data-theme="royal"] .hero-light-a,
html[data-theme="peacock"] .hero-light-a {background:var(--peach)}
html[data-theme="royal"] .hero-light-b,
html[data-theme="peacock"] .hero-light-b {background:var(--violet)}
html[data-theme="royal"] .language-card,
html[data-theme="peacock"] .language-card {background:var(--theme-card-ta);color:var(--theme-gate-ink)}
html[data-theme="royal"] .language-card-english,
html[data-theme="peacock"] .language-card-english {background:var(--theme-card-en)}
html[data-theme="royal"] .event-panel,
html[data-theme="peacock"] .event-panel {background:var(--theme-events-card)}
html[data-theme="royal"] .event-panel-alt {background:#e8cbd0}
html[data-theme="peacock"] .event-panel-alt {background:#d3e4e9}
html[data-theme="royal"] .venue-details,
html[data-theme="peacock"] .venue-details {background:var(--theme-location-surface)}
html[data-theme="royal"] .rsvp,
html[data-theme="peacock"] .rsvp {background:var(--theme-rsvp)}
html[data-theme="royal"] .rsvp-form,
html[data-theme="peacock"] .rsvp-form {background:var(--theme-form)}
html[data-theme="royal"] .rsvp-fields input,
html[data-theme="royal"] .rsvp-fields select,
html[data-theme="peacock"] .rsvp-fields input,
html[data-theme="peacock"] .rsvp-fields select {background-color:var(--theme-input)}
html[data-theme="royal"] .family-panel,
html[data-theme="peacock"] .family-panel {background:var(--theme-family)}
html[data-theme="royal"] .ticket-stub::before,
html[data-theme="royal"] .ticket-stub::after,
html[data-theme="peacock"] .ticket-stub::before,
html[data-theme="peacock"] .ticket-stub::after {background:var(--theme-rsvp)}
html[data-theme="royal"] .footer,
html[data-theme="peacock"] .footer {background:var(--plum-dark)}
html[data-theme="royal"] .venue-title h2 em,
html[data-theme="royal"] .rsvp-heading h2 em,
html[data-theme="royal"] .intermission p em,
html[data-theme="peacock"] .venue-title h2 em,
html[data-theme="peacock"] .rsvp-heading h2 em,
html[data-theme="peacock"] .intermission p em {color:var(--orange)}
html[data-theme="royal"] .story-art-text,
html[data-theme="peacock"] .story-art-text,
html[data-theme="royal"] .family-member h3,
html[data-theme="peacock"] .family-member h3 {color:var(--ink)}
html[data-theme="royal"] .venue-direction,
html[data-theme="peacock"] .venue-direction {background:var(--plum);border-color:var(--plum)}
html[data-theme="royal"] .venue-details .venue-direction:hover,
html[data-theme="peacock"] .venue-details .venue-direction:hover {background:var(--violet)}
html[data-theme="royal"] .kolam,
html[data-theme="peacock"] .kolam {color:var(--peach)}
html[data-theme="royal"] .gate-tamil-line,
html[data-theme="peacock"] .gate-tamil-line {color:var(--cream)}
html[data-theme="royal"] .gate-intro,
html[data-theme="peacock"] .gate-intro {color:var(--lavender)}
html[data-theme="royal"] .gate-footer,
html[data-theme="peacock"] .gate-footer {color:var(--lavender)}
html[data-theme="royal"] .gate-overline,
html[data-theme="peacock"] .gate-overline {color:var(--lime)}
html[data-theme="royal"] .card-arrow,
html[data-theme="peacock"] .card-arrow {border-color:currentColor}
html[data-theme="royal"] .names-label,
html[data-theme="peacock"] .names-label,
html[data-theme="royal"] .person,
html[data-theme="peacock"] .person {color:var(--plum)}
html[data-theme="royal"] .hero-subline,
html[data-theme="peacock"] .hero-subline,
html[data-theme="royal"] .events-heading>p,
html[data-theme="peacock"] .events-heading>p {color:var(--cream)}
html[data-theme="royal"] .story-head h2 em,
html[data-theme="peacock"] .story-head h2 em {color:var(--orange)}
html[data-theme="royal"] .ticket-main,
html[data-theme="peacock"] .ticket-main {background:var(--paper)}
/* The always-visible theme control. Interactive, accessible and designed for a compact MacBook viewport. */
.theme-switcher {display:flex;align-items:center;justify-content:center;gap:7px;position:relative;flex-shrink:0;padding:5px 7px 5px 11px;border-radius:99px;border:1px solid rgba(255,255,255,.33);background:rgba(9,9,12,.30);backdrop-filter:blur(18px);box-shadow:0 5px 22px #0002;white-space:nowrap;line-height:1;}
.theme-switcher-label{font:700 .56rem/1 'Space Mono',monospace;letter-spacing:.1em;color:#fff6e8;margin-right:3px}
.theme-swatch{width:27px;height:27px;flex:none;border:2px solid rgba(255,255,255,.53);border-radius:50%;box-shadow:0 2px 7px #0003;display:grid;place-items:center;padding:0;appearance:none;transition:transform .2s,box-shadow .2s,border-color .2s}
.theme-swatch:hover{transform:translateY(-2px) scale(1.1)}.theme-swatch[aria-pressed="true"]{border-color:#fff;box-shadow:0 0 0 2px #fff8,0 0 0 4px #ffffff15;transform:scale(1.07)}
.theme-swatch:focus-visible{outline:3px solid #fff;outline-offset:4px}
.theme-swatch-coral{background:linear-gradient(140deg,#ff7558 0 49%,#211429 50%)}
.theme-swatch-royal{background:linear-gradient(140deg,#d79b4c 0 49%,#381328 50%)}
.theme-swatch-peacock{background:linear-gradient(140deg,#f1b65c 0 49%,#073941 50%)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Gate selector belongs to the header and does not make the centered language cards scroll away. */
.language-gate .theme-switcher{margin-left:auto}
.language-gate .gate-number{display:none}
.site>.theme-switcher{position:fixed;bottom:16px;right:16px;z-index:102;box-shadow:0 10px 35px #0005;background:rgba(29,20,37,.86)}
body.intro-active .site>.theme-switcher{opacity:0;pointer-events:none}
@media(max-width:600px){
 .theme-switcher{gap:5px;padding:4px 6px 4px 8px}
 .theme-switcher-label{font-size:.51rem;margin-right:1px}
 .theme-swatch{width:23px;height:23px}
 .language-gate .gate-mark{font-size:.58rem}
 .site>.theme-switcher{bottom:12px;right:12px}
}
@media(prefers-reduced-motion:reduce){.theme-swatch{transition:none}}
