/* ==========================================================================
   LET'S DATE — 15 LUXURY THEMES & DYNAMIC CUSTOM COLOR PALETTE ENGINE
   ========================================================================== */

:root {
  /* Default Typography */
  --font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-serif: 'Playfair Display', Georgia, serif;
  --font-mono: 'JetBrains Mono', monospace;

  /* Standard Radii & Transitions */
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-full: 9999px;

  --transition-fast: 0.18s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-normal: 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-bounce: 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
  --transition-cinematic: 0.8s cubic-bezier(0.25, 1, 0.5, 1);

  /* Elevation Shadows */
  --shadow-subtle: 0 4px 20px rgba(0, 0, 0, 0.25);
  --shadow-float: 0 16px 48px rgba(0, 0, 0, 0.45);
  --shadow-glow: 0 0 30px var(--accent-glow);
}

/* 1. MIDNIGHT (Default: Deep starry charcoal & romantic rose glow) */
body[data-theme="midnight"], :root {
  --bg-base: #09090d;
  --bg-gradient: radial-gradient(circle at 50% 0%, #1c1124 0%, #09090d 100%);
  --surface-1: rgba(255, 255, 255, 0.035);
  --surface-2: rgba(255, 255, 255, 0.065);
  --surface-3: rgba(255, 255, 255, 0.1);
  --surface-border: rgba(255, 255, 255, 0.09);
  --surface-border-focus: rgba(244, 63, 94, 0.5);
  --text-primary: #fafafa;
  --text-secondary: #a1a1aa;
  --text-muted: #71717a;
  --accent: #f43f5e;
  --accent-secondary: #c084fc;
  --accent-glow: rgba(244, 63, 94, 0.35);
  --accent-contrast: #ffffff;
  --particle-color: #f43f5e;
  --envelope-bg: linear-gradient(145deg, #181822, #101017);
  --envelope-seal: radial-gradient(circle, #e11d48, #9f1239);
  --datepass-bg: linear-gradient(160deg, #151520, #0a0a0f);
}

/* 2. ROSE GARDEN (Velvety petal rose & warm wine) */
body[data-theme="rosegarden"] {
  --bg-base: #14050b;
  --bg-gradient: radial-gradient(circle at 50% 0%, #2e0817 0%, #14050b 100%);
  --surface-1: rgba(255, 241, 242, 0.04);
  --surface-2: rgba(255, 241, 242, 0.08);
  --surface-3: rgba(255, 241, 242, 0.12);
  --surface-border: rgba(251, 113, 133, 0.18);
  --surface-border-focus: rgba(244, 63, 94, 0.7);
  --text-primary: #fff1f2;
  --text-secondary: #fda4af;
  --text-muted: #9f1239;
  --accent: #fb7185;
  --accent-secondary: #f43f5e;
  --accent-glow: rgba(251, 113, 133, 0.4);
  --accent-contrast: #4c0519;
  --particle-color: #fb7185;
  --envelope-bg: linear-gradient(145deg, #240a15, #14050b);
  --envelope-seal: radial-gradient(circle, #f43f5e, #be123c);
  --datepass-bg: linear-gradient(160deg, #200812, #0d0206);
}

/* 3. SUNSET (Warm amber, violet & dusk horizon) */
body[data-theme="sunset"] {
  --bg-base: #110914;
  --bg-gradient: radial-gradient(circle at 50% 0%, #2f1227 0%, #110914 100%);
  --surface-1: rgba(255, 255, 255, 0.04);
  --surface-2: rgba(255, 255, 255, 0.08);
  --surface-3: rgba(255, 255, 255, 0.12);
  --surface-border: rgba(251, 146, 60, 0.2);
  --surface-border-focus: rgba(249, 115, 22, 0.7);
  --text-primary: #fff7ed;
  --text-secondary: #fdba74;
  --text-muted: #9a3412;
  --accent: #f97316;
  --accent-secondary: #ec4899;
  --accent-glow: rgba(249, 115, 22, 0.38);
  --accent-contrast: #ffffff;
  --particle-color: #fb923c;
  --envelope-bg: linear-gradient(145deg, #281220, #140810);
  --envelope-seal: radial-gradient(circle, #f97316, #c2410c);
  --datepass-bg: linear-gradient(160deg, #230d1c, #0d040a);
}

/* 4. MINIMAL (Stark monochrome architectural editorial) */
body[data-theme="minimal"] {
  --bg-base: #0a0a0a;
  --bg-gradient: radial-gradient(circle at 50% 0%, #1a1a1a 0%, #0a0a0a 100%);
  --surface-1: rgba(255, 255, 255, 0.03);
  --surface-2: rgba(255, 255, 255, 0.06);
  --surface-3: rgba(255, 255, 255, 0.1);
  --surface-border: rgba(255, 255, 255, 0.12);
  --surface-border-focus: rgba(255, 255, 255, 0.6);
  --text-primary: #f5f5f5;
  --text-secondary: #a3a3a3;
  --text-muted: #525252;
  --accent: #ffffff;
  --accent-secondary: #d4d4d4;
  --accent-glow: rgba(255, 255, 255, 0.3);
  --accent-contrast: #0a0a0a;
  --particle-color: #ffffff;
  --envelope-bg: linear-gradient(145deg, #1c1c1c, #0e0e0e);
  --envelope-seal: radial-gradient(circle, #ffffff, #a3a3a3);
  --datepass-bg: linear-gradient(160deg, #171717, #080808);
}

/* 5. CINEMA (Golden noir 35mm warmth) */
body[data-theme="cinema"] {
  --bg-base: #0d0c0a;
  --bg-gradient: radial-gradient(circle at 50% 0%, #262218 0%, #0d0c0a 100%);
  --surface-1: rgba(254, 240, 138, 0.035);
  --surface-2: rgba(254, 240, 138, 0.07);
  --surface-3: rgba(254, 240, 138, 0.11);
  --surface-border: rgba(234, 179, 8, 0.18);
  --surface-border-focus: rgba(234, 179, 8, 0.65);
  --text-primary: #fef9c3;
  --text-secondary: #fde047;
  --text-muted: #854d0e;
  --accent: #eab308;
  --accent-secondary: #f59e0b;
  --accent-glow: rgba(234, 179, 8, 0.38);
  --accent-contrast: #422006;
  --particle-color: #facc15;
  --envelope-bg: linear-gradient(145deg, #211c13, #100e08);
  --envelope-seal: radial-gradient(circle, #eab308, #a16207);
  --datepass-bg: linear-gradient(160deg, #1c180e, #090704);
}

/* 6. COFFEE DATE (Warm espresso & caramel glow) */
body[data-theme="coffeedate"] {
  --bg-base: #100b08;
  --bg-gradient: radial-gradient(circle at 50% 0%, #2c1a10 0%, #100b08 100%);
  --surface-1: rgba(255, 237, 213, 0.04);
  --surface-2: rgba(255, 237, 213, 0.08);
  --surface-3: rgba(255, 237, 213, 0.12);
  --surface-border: rgba(217, 119, 6, 0.18);
  --surface-border-focus: rgba(217, 119, 6, 0.6);
  --text-primary: #ffedd5;
  --text-secondary: #fed7aa;
  --text-muted: #9a3412;
  --accent: #d97706;
  --accent-secondary: #b45309;
  --accent-glow: rgba(217, 119, 6, 0.35);
  --accent-contrast: #ffffff;
  --particle-color: #fbbf24;
  --envelope-bg: linear-gradient(145deg, #24160d, #120a05);
  --envelope-seal: radial-gradient(circle, #d97706, #92400e);
  --datepass-bg: linear-gradient(160deg, #1f120a, #0a0502);
}

/* 7. STARGAZING / COSMOS (Deep cosmic indigo & cyan nebula) */
body[data-theme="stargazing"] {
  --bg-base: #060913;
  --bg-gradient: radial-gradient(circle at 50% 0%, #0f1c3f 0%, #060913 100%);
  --surface-1: rgba(224, 242, 254, 0.035);
  --surface-2: rgba(224, 242, 254, 0.07);
  --surface-3: rgba(224, 242, 254, 0.11);
  --surface-border: rgba(56, 189, 248, 0.18);
  --surface-border-focus: rgba(56, 189, 248, 0.65);
  --text-primary: #f0f9ff;
  --text-secondary: #bae6fd;
  --text-muted: #0369a1;
  --accent: #38bdf8;
  --accent-secondary: #818cf8;
  --accent-glow: rgba(56, 189, 248, 0.38);
  --accent-contrast: #082f49;
  --particle-color: #38bdf8;
  --envelope-bg: linear-gradient(145deg, #0e172e, #060b18);
  --envelope-seal: radial-gradient(circle, #38bdf8, #0284c7);
  --datepass-bg: linear-gradient(160deg, #0a1329, #03060f);
}

/* 8. VINTAGE (Warm parchment & sepia ink) */
body[data-theme="vintage"] {
  --bg-base: #14110d;
  --bg-gradient: radial-gradient(circle at 50% 0%, #2b2319 0%, #14110d 100%);
  --surface-1: rgba(254, 243, 199, 0.04);
  --surface-2: rgba(254, 243, 199, 0.08);
  --surface-3: rgba(254, 243, 199, 0.12);
  --surface-border: rgba(212, 163, 115, 0.2);
  --surface-border-focus: rgba(212, 163, 115, 0.65);
  --text-primary: #fef3c7;
  --text-secondary: #e9d5a1;
  --text-muted: #92400e;
  --accent: #d4a373;
  --accent-secondary: #ccd5ae;
  --accent-glow: rgba(212, 163, 115, 0.35);
  --accent-contrast: #3a220f;
  --particle-color: #d4a373;
  --envelope-bg: linear-gradient(145deg, #261e14, #120e09);
  --envelope-seal: radial-gradient(circle, #d4a373, #a97142);
  --datepass-bg: linear-gradient(160deg, #21190f, #0c0905);
}

/* 9. PAPER LETTER (Handcrafted card & wax seal stamp) */
body[data-theme="paperletter"] {
  --bg-base: #120c11;
  --bg-gradient: radial-gradient(circle at 50% 0%, #291726 0%, #120c11 100%);
  --surface-1: rgba(253, 242, 248, 0.04);
  --surface-2: rgba(253, 242, 248, 0.08);
  --surface-3: rgba(253, 242, 248, 0.12);
  --surface-border: rgba(244, 114, 182, 0.18);
  --surface-border-focus: rgba(236, 72, 153, 0.65);
  --text-primary: #fdf2f8;
  --text-secondary: #fbcfe8;
  --text-muted: #9d174d;
  --accent: #ec4899;
  --accent-secondary: #f472b6;
  --accent-glow: rgba(236, 72, 153, 0.38);
  --accent-contrast: #500724;
  --particle-color: #f472b6;
  --envelope-bg: linear-gradient(145deg, #241221, #120810);
  --envelope-seal: radial-gradient(circle, #ec4899, #be185d);
  --datepass-bg: linear-gradient(160deg, #1e0d1b, #0c040b);
}

/* 10. DREAMY (Pastel cloud iridescence & ethereal violet) */
body[data-theme="dreamy"] {
  --bg-base: #0d0a14;
  --bg-gradient: radial-gradient(circle at 50% 0%, #24163d 0%, #0d0a14 100%);
  --surface-1: rgba(243, 232, 255, 0.04);
  --surface-2: rgba(243, 232, 255, 0.08);
  --surface-3: rgba(243, 232, 255, 0.12);
  --surface-border: rgba(192, 132, 252, 0.2);
  --surface-border-focus: rgba(168, 85, 247, 0.65);
  --text-primary: #f3e8ff;
  --text-secondary: #e9d5ff;
  --text-muted: #7e22ce;
  --accent: #c084fc;
  --accent-secondary: #a855f7;
  --accent-glow: rgba(192, 132, 252, 0.4);
  --accent-contrast: #3b0764;
  --particle-color: #c084fc;
  --envelope-bg: linear-gradient(145deg, #1f1236, #0e071c);
  --envelope-seal: radial-gradient(circle, #c084fc, #9333ea);
  --datepass-bg: linear-gradient(160deg, #1a0d30, #090314);
}

/* 11. GARDEN (Emerald botanical serenity & lush flora) */
body[data-theme="garden"] {
  --bg-base: #06110b;
  --bg-gradient: radial-gradient(circle at 50% 0%, #0f2b1c 0%, #06110b 100%);
  --surface-1: rgba(236, 253, 245, 0.035);
  --surface-2: rgba(236, 253, 245, 0.07);
  --surface-3: rgba(236, 253, 245, 0.11);
  --surface-border: rgba(52, 211, 153, 0.18);
  --surface-border-focus: rgba(16, 185, 129, 0.65);
  --text-primary: #ecfdf5;
  --text-secondary: #a7f3d0;
  --text-muted: #047857;
  --accent: #10b981;
  --accent-secondary: #34d399;
  --accent-glow: rgba(16, 185, 129, 0.35);
  --accent-contrast: #022c22;
  --particle-color: #34d399;
  --envelope-bg: linear-gradient(145deg, #0d2116, #05100a);
  --envelope-seal: radial-gradient(circle, #10b981, #059669);
  --datepass-bg: linear-gradient(160deg, #0a1c12, #030a06);
}

/* 12. PEARL (Luminous iridescent oyster & ivory shimmer) */
body[data-theme="pearl"] {
  --bg-base: #0c0e12;
  --bg-gradient: radial-gradient(circle at 50% 0%, #1e2430 0%, #0c0e12 100%);
  --surface-1: rgba(248, 250, 252, 0.04);
  --surface-2: rgba(248, 250, 252, 0.08);
  --surface-3: rgba(248, 250, 252, 0.12);
  --surface-border: rgba(226, 232, 240, 0.2);
  --surface-border-focus: rgba(203, 213, 225, 0.6);
  --text-primary: #f8fafc;
  --text-secondary: #cbd5e1;
  --text-muted: #64748b;
  --accent: #e2e8f0;
  --accent-secondary: #94a3b8;
  --accent-glow: rgba(226, 232, 240, 0.35);
  --accent-contrast: #0f172a;
  --particle-color: #cbd5e1;
  --envelope-bg: linear-gradient(145deg, #1a202c, #0e121a);
  --envelope-seal: radial-gradient(circle, #f8fafc, #94a3b8);
  --datepass-bg: linear-gradient(160deg, #151a24, #080a0e);
}

/* 13. VELVET (Royal plum, burgundy & gilded touch) */
body[data-theme="velvet"] {
  --bg-base: #120714;
  --bg-gradient: radial-gradient(circle at 50% 0%, #2d0e32 0%, #120714 100%);
  --surface-1: rgba(250, 232, 255, 0.04);
  --surface-2: rgba(250, 232, 255, 0.08);
  --surface-3: rgba(250, 232, 255, 0.12);
  --surface-border: rgba(217, 70, 239, 0.18);
  --surface-border-focus: rgba(192, 38, 211, 0.65);
  --text-primary: #fae8ff;
  --text-secondary: #f0abfc;
  --text-muted: #86198f;
  --accent: #d946ef;
  --accent-secondary: #c026d3;
  --accent-glow: rgba(217, 70, 239, 0.38);
  --accent-contrast: #4a044e;
  --particle-color: #e879f9;
  --envelope-bg: linear-gradient(145deg, #240a28, #100412);
  --envelope-seal: radial-gradient(circle, #d946ef, #a21caf);
  --datepass-bg: linear-gradient(160deg, #1e0722, #0b020c);
}

/* 14. GOLDEN HOUR (Radiant champagne sunburst & amber warmth) */
body[data-theme="goldenhour"] {
  --bg-base: #140d04;
  --bg-gradient: radial-gradient(circle at 50% 0%, #331f08 0%, #140d04 100%);
  --surface-1: rgba(254, 240, 138, 0.04);
  --surface-2: rgba(254, 240, 138, 0.08);
  --surface-3: rgba(254, 240, 138, 0.12);
  --surface-border: rgba(245, 158, 11, 0.2);
  --surface-border-focus: rgba(245, 158, 11, 0.65);
  --text-primary: #fffbeb;
  --text-secondary: #fde68a;
  --text-muted: #92400e;
  --accent: #f59e0b;
  --accent-secondary: #fbbf24;
  --accent-glow: rgba(245, 158, 11, 0.4);
  --accent-contrast: #451a03;
  --particle-color: #fcd34d;
  --envelope-bg: linear-gradient(145deg, #281705, #140b02);
  --envelope-seal: radial-gradient(circle, #f59e0b, #b45309);
  --datepass-bg: linear-gradient(160deg, #201203, #0d0701);
}

/* 15. OCEAN (Abyssal sapphire & aquamarine glimmer) */
body[data-theme="ocean"] {
  --bg-base: #040c14;
  --bg-gradient: radial-gradient(circle at 50% 0%, #0a233a 0%, #040c14 100%);
  --surface-1: rgba(207, 250, 254, 0.035);
  --surface-2: rgba(207, 250, 254, 0.07);
  --surface-3: rgba(207, 250, 254, 0.11);
  --surface-border: rgba(6, 182, 212, 0.18);
  --surface-border-focus: rgba(6, 182, 212, 0.65);
  --text-primary: #cffafe;
  --text-secondary: #a5f3fc;
  --text-muted: #155e75;
  --accent: #06b6d4;
  --accent-secondary: #0ea5e9;
  --accent-glow: rgba(6, 182, 212, 0.38);
  --accent-contrast: #083344;
  --particle-color: #22d3ee;
  --envelope-bg: linear-gradient(145deg, #071c2e, #030e17);
  --envelope-seal: radial-gradient(circle, #06b6d4, #0891b2);
  --datepass-bg: linear-gradient(160deg, #051624, #02090f);
}
