/* ============================================================
   WESTCOAST DRAFTING — themes.css
   5-theme token system + theme switcher widget + logos + footer credit.

   Themes (applied via data-theme on <body>):
     blueprint  (default) — Technical blueprint blue/white
     brutalist            — Heavy black/yellow industrial
     minimal              — Airy white studio
     luxury               — Navy/gold serif estate
     eco                  — Forest green / earth organic

   IMPORTANT: Every CSS variable set here overrides the base :root
   tokens from main.css. All structural chrome (nav bg, footer bg,
   hero bg, card borders, grid gaps, border-radius, font-family)
   changes between themes.
   ============================================================ */

/* ── Google Fonts already loaded for Inter + Playfair in HTML ─ */
/* JetBrains Mono (blueprint) + Syne (brutalist) + DM Serif (eco) */
/* are imported directly here so themes.css is self-contained.   */
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;700&family=Syne:wght@700;800&family=DM+Serif+Display:ital@0;1&family=Source+Serif+4:ital,wght@0,300;0,400;0,600;1,300;1,400&display=swap');

/* ============================================================
   THEME 1: Blueprint (Default)
   Technical & precise. Monospace fonts, blueprint blue/white,
   thin 1px borders, architectural grid aesthetic.
   ============================================================ */
[data-theme="blueprint"] {
  /* Colors */
  --t-bg:         #0D1B2A;
  --t-bg-alt:     #0A1520;
  --t-surface:    #112233;
  --t-navy:       #E8F4FF;
  --t-text:       #C8DCEE;
  --t-muted:      #6B8FAD;
  --t-accent:     #4A9FDF;
  --t-accent2:    #7BC4F0;
  --t-border:     rgba(74,159,223,0.25);
  --t-rule:       rgba(74,159,223,0.15);
  --t-gold:       #4A9FDF;
  --t-gold-lt:    #7BC4F0;
  --t-white:      #E8F4FF;

  /* Typography */
  --t-font-display: 'JetBrains Mono', 'Courier New', monospace;
  --t-font-body:    'JetBrains Mono', 'Courier New', monospace;

  /* Structure */
  --t-radius:       0px;
  --t-radius-card:  0px;
  --t-nav-bg:       rgba(10, 21, 32, 0.92);
  --t-nav-shadow:   0 1px 0 rgba(74,159,223,0.2);
  --t-footer-bg:    #060E17;
  --t-footer-text:  rgba(200,220,238,0.5);
  --t-hero-bg:      #0D1B2A;
  --t-card-shadow:  none;
  --t-card-border:  1px solid rgba(74,159,223,0.22);
  --t-btn-radius:   0px;
  --t-stat-bg:      transparent;
  --t-grid-gap:     16px;
  --t-section-gap:  clamp(60px, 8vw, 96px);

  /* Override main.css design tokens */
  --color-navy:   #E8F4FF;
  --color-gold:   #4A9FDF;
  --color-gold-lt:#7BC4F0;
  --color-bg:     #0D1B2A;
  --color-white:  #112233;
  --color-text:   #C8DCEE;
  --color-muted:  #6B8FAD;
  --color-border: rgba(74,159,223,0.25);
  --color-rule:   rgba(74,159,223,0.12);
  --font-display: 'JetBrains Mono', 'Courier New', monospace;
  --font-body:    'JetBrains Mono', 'Courier New', monospace;
}

/* ============================================================
   THEME 2: Brutalist
   Heavy, industrial, raw. Stark black/yellow, zero radius,
   thick borders, oversized type, tight grid.
   ============================================================ */
[data-theme="brutalist"] {
  --t-bg:         #F5F0E8;
  --t-bg-alt:     #EDEAD9;
  --t-surface:    #ffffff;
  --t-navy:       #0A0A0A;
  --t-text:       #0A0A0A;
  --t-muted:      #3D3D3D;
  --t-accent:     #FFD600;
  --t-accent2:    #E5C000;
  --t-border:     #0A0A0A;
  --t-rule:       rgba(0,0,0,0.08);
  --t-gold:       #FFD600;
  --t-gold-lt:    #FFE566;
  --t-white:      #FFFFFF;

  --t-font-display: 'Syne', 'Arial Black', sans-serif;
  --t-font-body:    'Syne', 'Arial', sans-serif;

  --t-radius:       0px;
  --t-radius-card:  0px;
  --t-nav-bg:       #0A0A0A;
  --t-nav-shadow:   none;
  --t-footer-bg:    #0A0A0A;
  --t-footer-text:  rgba(255,255,255,0.6);
  --t-hero-bg:      #FFD600;
  --t-card-shadow:  4px 4px 0 #0A0A0A;
  --t-card-border:  3px solid #0A0A0A;
  --t-btn-radius:   0px;
  --t-stat-bg:      #FFD600;
  --t-grid-gap:     8px;
  --t-section-gap:  clamp(48px, 6vw, 80px);

  --color-navy:   #0A0A0A;
  --color-gold:   #FFD600;
  --color-gold-lt:#FFE566;
  --color-bg:     #F5F0E8;
  --color-white:  #FFFFFF;
  --color-text:   #0A0A0A;
  --color-muted:  #3D3D3D;
  --color-border: #0A0A0A;
  --color-rule:   rgba(0,0,0,0.08);
  --font-display: 'Syne', 'Arial Black', sans-serif;
  --font-body:    'Syne', 'Arial', sans-serif;
}

/* ============================================================
   THEME 3: Minimalist Studio
   Clean, airy, modern. Pure whites, wide gaps, subtle gray
   borders, Inter/Helvetica, max whitespace.
   ============================================================ */
[data-theme="minimal"] {
  --t-bg:         #FFFFFF;
  --t-bg-alt:     #F8F8F6;
  --t-surface:    #FFFFFF;
  --t-navy:       #111111;
  --t-text:       #222222;
  --t-muted:      #999999;
  --t-accent:     #111111;
  --t-accent2:    #555555;
  --t-border:     #EBEBEB;
  --t-rule:       rgba(0,0,0,0.04);
  --t-gold:       #111111;
  --t-gold-lt:    #555555;
  --t-white:      #FFFFFF;

  --t-font-display: 'Inter', Helvetica, Arial, sans-serif;
  --t-font-body:    'Inter', Helvetica, Arial, sans-serif;

  --t-radius:       2px;
  --t-radius-card:  2px;
  --t-nav-bg:       rgba(255,255,255,0.92);
  --t-nav-shadow:   0 1px 0 #EBEBEB;
  --t-footer-bg:    #111111;
  --t-footer-text:  rgba(255,255,255,0.4);
  --t-hero-bg:      #FFFFFF;
  --t-card-shadow:  none;
  --t-card-border:  1px solid #EBEBEB;
  --t-btn-radius:   2px;
  --t-stat-bg:      #F8F8F6;
  --t-grid-gap:     40px;
  --t-section-gap:  clamp(80px, 12vw, 140px);

  --color-navy:   #111111;
  --color-gold:   #111111;
  --color-gold-lt:#555555;
  --color-bg:     #FFFFFF;
  --color-white:  #FFFFFF;
  --color-text:   #222222;
  --color-muted:  #999999;
  --color-border: #EBEBEB;
  --color-rule:   rgba(0,0,0,0.04);
  --font-display: 'Inter', Helvetica, Arial, sans-serif;
  --font-body:    'Inter', Helvetica, Arial, sans-serif;
}

/* ============================================================
   THEME 4: Luxury Estate (mirrors original palette)
   Classic serif, deep navy + gold/champagne, soft shadows,
   generous padding, rounded corners.
   ============================================================ */
[data-theme="luxury"] {
  --t-bg:         #FAFAF8;
  --t-bg-alt:     #FFFFFF;
  --t-surface:    #FFFFFF;
  --t-navy:       #1A1A2E;
  --t-text:       #2D2D2D;
  --t-muted:      #7A7A7A;
  --t-accent:     #C9A96E;
  --t-accent2:    #DFC99A;
  --t-border:     #E8E6E1;
  --t-rule:       rgba(201,169,110,0.25);
  --t-gold:       #C9A96E;
  --t-gold-lt:    #DFC99A;
  --t-white:      #FFFFFF;

  --t-font-display: 'Playfair Display', Georgia, serif;
  --t-font-body:    'Inter', system-ui, sans-serif;

  --t-radius:       4px;
  --t-radius-card:  6px;
  --t-nav-bg:       rgba(250,250,248,0.95);
  --t-nav-shadow:   0 1px 0 #E8E6E1;
  --t-footer-bg:    #1A1A2E;
  --t-footer-text:  rgba(255,255,255,0.5);
  --t-hero-bg:      #FAFAF8;
  --t-card-shadow:  0 8px 32px rgba(0,0,0,0.08);
  --t-card-border:  1px solid #E8E6E1;
  --t-btn-radius:   4px;
  --t-stat-bg:      #FFFFFF;
  --t-grid-gap:     28px;
  --t-section-gap:  clamp(72px, 10vw, 120px);

  --color-navy:   #1A1A2E;
  --color-gold:   #C9A96E;
  --color-gold-lt:#DFC99A;
  --color-bg:     #FAFAF8;
  --color-white:  #FFFFFF;
  --color-text:   #2D2D2D;
  --color-muted:  #7A7A7A;
  --color-border: #E8E6E1;
  --color-rule:   rgba(201,169,110,0.35);
  --font-display: 'Playfair Display', Georgia, serif;
  --font-body:    'Inter', system-ui, sans-serif;
}

/* ============================================================
   THEME 5: Eco / Sustainable
   Earthy, organic. Forest greens, warm wood browns, rounded
   shapes, DM Serif Display, generous breathing room.
   ============================================================ */
[data-theme="eco"] {
  --t-bg:         #F2EDE6;
  --t-bg-alt:     #EAE3D8;
  --t-surface:    #F8F4EF;
  --t-navy:       #2D4A2D;
  --t-text:       #3A3028;
  --t-muted:      #7A6F5E;
  --t-accent:     #4A7C4A;
  --t-accent2:    #6A9F5A;
  --t-border:     #D4C9B8;
  --t-rule:       rgba(74,124,74,0.12);
  --t-gold:       #6A7C4A;
  --t-gold-lt:    #8FA86A;
  --t-white:      #F8F4EF;

  --t-font-display: 'DM Serif Display', 'Source Serif 4', Georgia, serif;
  --t-font-body:    'Source Serif 4', Georgia, serif;

  --t-radius:       12px;
  --t-radius-card:  16px;
  --t-nav-bg:       rgba(242,237,230,0.93);
  --t-nav-shadow:   0 1px 0 #D4C9B8;
  --t-footer-bg:    #2D4A2D;
  --t-footer-text:  rgba(255,255,255,0.55);
  --t-hero-bg:      #F2EDE6;
  --t-card-shadow:  0 4px 20px rgba(58,48,40,0.08);
  --t-card-border:  1px solid #D4C9B8;
  --t-btn-radius:   999px;
  --t-stat-bg:      #EAE3D8;
  --t-grid-gap:     32px;
  --t-section-gap:  clamp(72px, 10vw, 120px);

  --color-navy:   #2D4A2D;
  --color-gold:   #6A7C4A;
  --color-gold-lt:#8FA86A;
  --color-bg:     #F2EDE6;
  --color-white:  #F8F4EF;
  --color-text:   #3A3028;
  --color-muted:  #7A6F5E;
  --color-border: #D4C9B8;
  --color-rule:   rgba(74,124,74,0.12);
  --font-display: 'DM Serif Display', Georgia, serif;
  --font-body:    'Source Serif 4', Georgia, serif;
}

/* ============================================================
   STRUCTURAL THEME OVERRIDES
   These rules apply structural/layout changes per theme on top
   of the existing main.css component styles.
   ============================================================ */

/* Body & background */
body {
  font-family: var(--t-font-body, var(--font-body));
  background-color: var(--t-bg, var(--color-bg));
  color: var(--t-text, var(--color-text));
}

/* Headings */
h1, h2, h3, h4 {
  font-family: var(--t-font-display, var(--font-display));
  color: var(--t-navy, var(--color-navy));
}

/* Navigation */
#nav.nav--scrolled {
  background: var(--t-nav-bg, rgba(250,250,248,0.95));
  box-shadow: var(--t-nav-shadow, 0 1px 0 var(--color-border));
}

/* Hero */
#hero {
  background-color: var(--t-hero-bg, var(--color-bg));
}
#hero::after {
  background: linear-gradient(to top, var(--t-hero-bg, var(--color-bg)), transparent);
}

/* Buttons */
.btn-primary {
  border-radius: var(--t-btn-radius, 2px);
  background: var(--t-navy, var(--color-navy));
  color: var(--t-bg, var(--color-white));
}
.btn-primary:hover {
  background: var(--t-accent, var(--color-gold));
  color: var(--t-navy, var(--color-navy));
}

.btn-outline {
  border-radius: var(--t-btn-radius, 2px);
  border-color: var(--t-navy, var(--color-navy));
  color: var(--t-navy, var(--color-navy));
}
.btn-outline:hover {
  background: var(--t-navy, var(--color-navy));
  color: var(--t-bg, var(--color-white));
}

/* About section */
#about {
  background: var(--t-bg-alt, var(--color-white));
  border-top-color: var(--t-border, var(--color-border));
  border-bottom-color: var(--t-border, var(--color-border));
}

.stat-card {
  border-radius: var(--t-radius-card, 4px);
  border-color: var(--t-border, var(--color-border));
  background: var(--t-stat-bg, transparent);
  box-shadow: var(--t-card-shadow, none);
}
.stat-card:hover { border-color: var(--t-accent, var(--color-gold)); }

/* Contact */
#contact { background: var(--t-bg, var(--color-bg)); }

.contact-detail__icon {
  border-radius: var(--t-radius, 2px);
  border-color: var(--t-border, var(--color-border));
  color: var(--t-accent, var(--color-gold));
}

.form-group input,
.form-group textarea,
.form-group select {
  border-color: var(--t-border, var(--color-border));
  background: var(--t-surface, var(--color-white));
  color: var(--t-text, var(--color-text));
  border-radius: var(--t-radius, 2px);
}
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  border-color: var(--t-accent, var(--color-gold));
}

/* Footer */
footer {
  background: var(--t-footer-bg, var(--color-navy));
  color: var(--t-footer-text, rgba(255,255,255,0.55));
}

/* ============================================================
   BLUEPRINT THEME — structural specifics
   Dark bg hero, monospace everything, blueprint grid prominent
   ============================================================ */
[data-theme="blueprint"] body {
  background-color: #0D1B2A;
}

[data-theme="blueprint"] #hero {
  background-color: #0D1B2A;
  color: #C8DCEE;
}

[data-theme="blueprint"] #hero::before {
  background-image:
    linear-gradient(rgba(74,159,223,0.18) 1px, transparent 1px),
    linear-gradient(90deg, rgba(74,159,223,0.18) 1px, transparent 1px);
  background-size: 60px 60px;
  opacity: 1;
}

[data-theme="blueprint"] .hero-inner h1 {
  font-size: clamp(2rem, 4vw, 3.2rem);
  letter-spacing: -0.01em;
  color: #E8F4FF;
}

[data-theme="blueprint"] .hero-inner h1 em {
  color: #4A9FDF;
  font-style: normal;
}

[data-theme="blueprint"] #about {
  background: #112233;
  border-color: rgba(74,159,223,0.2);
}

[data-theme="blueprint"] .eyebrow {
  color: #4A9FDF;
}

[data-theme="blueprint"] #contact {
  background: #0D1B2A;
}

[data-theme="blueprint"] #nav.nav--scrolled {
  background: rgba(10,21,32,0.95);
  box-shadow: 0 1px 0 rgba(74,159,223,0.2);
}

[data-theme="blueprint"] .nav-links a,
[data-theme="blueprint"] .logo-sub {
  color: #E8F4FF;
}

[data-theme="blueprint"] section {
  padding: var(--t-section-gap, var(--section-pad)) 0;
}

/* ============================================================
   BRUTALIST THEME — structural specifics
   Yellow hero, black nav, heavy borders, thick typography
   ============================================================ */
[data-theme="brutalist"] #hero {
  background-color: #FFD600;
  min-height: 100vh;
}

[data-theme="brutalist"] #hero::before {
  background-image:
    linear-gradient(rgba(0,0,0,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,0.06) 1px, transparent 1px);
  background-size: 40px 40px;
  opacity: 1;
}

[data-theme="brutalist"] #hero::after {
  background: linear-gradient(to top, #F5F0E8, transparent);
}

[data-theme="brutalist"] .hero-inner h1 {
  font-size: clamp(3rem, 7vw, 6rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
  color: #0A0A0A;
  text-transform: uppercase;
}

[data-theme="brutalist"] .hero-inner h1 em {
  color: #0A0A0A;
  font-style: normal;
  text-decoration: underline;
  text-decoration-thickness: 6px;
}

[data-theme="brutalist"] .hero-sub { color: #3D3D3D; }

[data-theme="brutalist"] .eyebrow {
  color: #0A0A0A;
  border-left: 4px solid #0A0A0A;
  padding-left: 10px;
  letter-spacing: 0.05em;
}

[data-theme="brutalist"] .btn-primary {
  background: #0A0A0A;
  color: #FFD600;
  border: 3px solid #0A0A0A;
  font-weight: 800;
  font-size: 0.9rem;
  letter-spacing: 0.05em;
}
[data-theme="brutalist"] .btn-primary:hover {
  background: #FFD600;
  color: #0A0A0A;
}

[data-theme="brutalist"] .btn-outline {
  border: 3px solid #0A0A0A;
  font-weight: 800;
}

[data-theme="brutalist"] #about {
  background: #F5F0E8;
  border-top: 4px solid #0A0A0A;
  border-bottom: 4px solid #0A0A0A;
}

[data-theme="brutalist"] .stat-card {
  border: 3px solid #0A0A0A;
  box-shadow: 5px 5px 0 #0A0A0A;
  background: #FFD600;
}
[data-theme="brutalist"] .stat-card:hover {
  transform: translate(-2px, -2px);
  box-shadow: 7px 7px 0 #0A0A0A;
  border-color: #0A0A0A;
}

[data-theme="brutalist"] .stat-card__number { color: #0A0A0A; }

[data-theme="brutalist"] #contact {
  background: #EDEAD9;
  border-top: 4px solid #0A0A0A;
}

[data-theme="brutalist"] .contact-detail__icon {
  border: 3px solid #0A0A0A;
  color: #0A0A0A;
  background: #FFD600;
}

[data-theme="brutalist"] .form-group input,
[data-theme="brutalist"] .form-group textarea,
[data-theme="brutalist"] .form-group select {
  border: 3px solid #0A0A0A;
}

[data-theme="brutalist"] .nav-links a { color: #FFFFFF; }
[data-theme="brutalist"] .logo-sub { color: #FFD600; }

[data-theme="brutalist"] #nav.nav--scrolled {
  background: #0A0A0A;
  box-shadow: none;
}

/* ============================================================
   MINIMALIST THEME — structural specifics
   No borders visible, huge whitespace, clean Inter
   ============================================================ */
[data-theme="minimal"] #hero {
  background: #FFFFFF;
}

[data-theme="minimal"] #hero::before { display: none; }

[data-theme="minimal"] .hero-inner h1 {
  font-size: clamp(2.8rem, 5.5vw, 5rem);
  font-weight: 300;
  letter-spacing: -0.04em;
  color: #111111;
  line-height: 1.05;
}

[data-theme="minimal"] .hero-inner h1 em {
  font-style: normal;
  font-weight: 700;
  color: #111111;
}

[data-theme="minimal"] .eyebrow {
  color: #999999;
  letter-spacing: 0.25em;
}

[data-theme="minimal"] #about {
  background: #F8F8F6;
  border-top: 1px solid #EBEBEB;
  border-bottom: 1px solid #EBEBEB;
}

[data-theme="minimal"] .stat-card {
  border: none;
  box-shadow: none;
  background: #F8F8F6;
}
[data-theme="minimal"] .stat-card:hover {
  background: #F0F0EE;
  border-color: transparent;
}

[data-theme="minimal"] #contact { background: #FFFFFF; }

[data-theme="minimal"] section {
  padding: var(--t-section-gap) 0;
}

[data-theme="minimal"] .nav-links a { color: #111111; }
[data-theme="minimal"] .logo-sub { color: #111111; }

[data-theme="minimal"] .contact-detail__icon {
  border: 1px solid #EBEBEB;
  background: #F8F8F6;
  color: #111111;
}

/* ============================================================
   LUXURY THEME — structural specifics
   Identical to original site palette with soft shadows + serifs
   ============================================================ */
[data-theme="luxury"] #hero {
  background-color: #FAFAF8;
}

[data-theme="luxury"] #hero::before {
  background-image:
    linear-gradient(rgba(201,169,110,0.35) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,169,110,0.35) 1px, transparent 1px);
}

[data-theme="luxury"] .hero-inner h1 em { color: #C9A96E; }

[data-theme="luxury"] .stat-card {
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
  border-radius: 6px;
}

[data-theme="luxury"] .nav-links a { color: #1A1A2E; }
[data-theme="luxury"] .logo-sub { color: #1A1A2E; }

/* ============================================================
   ECO THEME — structural specifics
   Organic shapes, rounded, earthy greens and warm browns
   ============================================================ */
[data-theme="eco"] #hero {
  background-color: #F2EDE6;
}

[data-theme="eco"] #hero::before {
  background-image:
    linear-gradient(rgba(74,124,74,0.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(74,124,74,0.1) 1px, transparent 1px);
  background-size: 48px 48px;
  opacity: 0.8;
}

[data-theme="eco"] .hero-inner h1 {
  font-style: italic;
  color: #2D4A2D;
}

[data-theme="eco"] .hero-inner h1 em {
  font-style: normal;
  color: #4A7C4A;
}

[data-theme="eco"] .eyebrow { color: #4A7C4A; }

[data-theme="eco"] #about {
  background: #EAE3D8;
  border-color: #D4C9B8;
}

[data-theme="eco"] .stat-card {
  border-radius: 16px;
  border-color: #D4C9B8;
  background: #EAE3D8;
}

[data-theme="eco"] #contact { background: #F2EDE6; }

[data-theme="eco"] .nav-links a { color: #2D4A2D; }
[data-theme="eco"] .logo-sub { color: #2D4A2D; }

[data-theme="eco"] #nav.nav--scrolled {
  background: rgba(242,237,230,0.95);
  box-shadow: 0 1px 0 #D4C9B8;
}

[data-theme="eco"] .btn-primary {
  border-radius: 999px;
  background: #2D4A2D;
  color: #F2EDE6;
}
[data-theme="eco"] .btn-primary:hover {
  background: #4A7C4A;
  color: #F2EDE6;
}

[data-theme="eco"] .btn-outline {
  border-radius: 999px;
  border-color: #2D4A2D;
  color: #2D4A2D;
}

[data-theme="eco"] .form-group input,
[data-theme="eco"] .form-group textarea,
[data-theme="eco"] .form-group select {
  border-radius: 12px;
  background: #EAE3D8;
}

[data-theme="eco"] .contact-detail__icon {
  border-radius: 12px;
  border-color: #D4C9B8;
  color: #4A7C4A;
  background: #EAE3D8;
}

/* ============================================================
   THEME-ADAPTIVE LOGO VISIBILITY
   Only show the logo variant that matches the active theme.
   The nav contains all 5 as siblings; CSS hides all but one.
   ============================================================ */

/* Default: hide all themed logos, show only theme-1 */
.logo-svg { display: none; }

/* One logo shown per active theme; JS always sets data-theme on <html> */
[data-theme="blueprint"]  .logo-svg--blueprint { display: inline-block; }
[data-theme="brutalist"]  .logo-svg--brutalist  { display: inline-block; }
[data-theme="minimal"]    .logo-svg--minimal     { display: inline-block; }
[data-theme="luxury"]     .logo-svg--luxury      { display: inline-block; }
[data-theme="eco"]        .logo-svg--eco         { display: inline-block; }

/* ============================================================
   THEME SWITCHER WIDGET
   Floating bottom-right gear icon → popup panel with 5 buttons.
   ============================================================ */
#theme-switcher {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 900;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}

#theme-toggle-btn {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--t-navy, var(--color-navy));
  color: var(--t-bg, var(--color-bg));
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(0,0,0,0.25);
  cursor: pointer;
  border: none;
  font: inherit;
  transition: transform 0.4s cubic-bezier(0.34,1.56,0.64,1), background 0.2s;
  z-index: 1;
}

#theme-toggle-btn:hover { transform: rotate(45deg); }
#theme-toggle-btn.is-open { transform: rotate(180deg); }

#theme-panel {
  background: var(--t-surface, #fff);
  border: 1px solid var(--t-border, #E8E6E1);
  border-radius: 12px;
  padding: 12px;
  box-shadow: 0 16px 48px rgba(0,0,0,0.18);
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 178px;
  opacity: 0;
  transform: translateY(8px) scale(0.96);
  pointer-events: none;
  transition: opacity 0.22s ease, transform 0.22s ease;
  transform-origin: bottom right;
}

#theme-panel.is-open {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

#theme-panel-label {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--t-muted, #999);
  padding: 2px 6px 6px;
  border-bottom: 1px solid var(--t-border, #eee);
  margin-bottom: 2px;
}

.theme-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 8px 10px;
  border: none;
  background: none;
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--t-text, var(--color-text));
  transition: background 0.15s;
  text-align: left;
}

.theme-btn:hover { background: var(--t-bg-alt, #f4f4f4); }

.theme-btn.is-active {
  background: var(--t-accent, var(--color-gold));
  color: var(--t-bg, #fff);
  font-weight: 700;
}

.theme-btn__swatch {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  flex-shrink: 0;
  border: 2px solid rgba(0,0,0,0.12);
}

/* Swatch colors */
.theme-btn[data-pick="blueprint"] .theme-btn__swatch { background: #4A9FDF; }
.theme-btn[data-pick="brutalist"] .theme-btn__swatch { background: #FFD600; border-color: #0A0A0A; }
.theme-btn[data-pick="minimal"]   .theme-btn__swatch { background: #EBEBEB; border-color: #aaa; }
.theme-btn[data-pick="luxury"]    .theme-btn__swatch { background: #C9A96E; }
.theme-btn[data-pick="eco"]       .theme-btn__swatch { background: #4A7C4A; }

/* ============================================================
   DEVELOPER FOOTER CREDIT
   "Developed by GoCesar.com" — adapts to each active theme.
   ============================================================ */
.footer-dev-credit {
  width: 100%;
  text-align: center;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,0.1);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  color: var(--t-footer-text, rgba(255,255,255,0.35));
}

.footer-dev-credit a {
  color: var(--t-gold-lt, rgba(255,255,255,0.7));
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 3px;
  transition: color 0.2s, text-decoration-color 0.2s;
}

.footer-dev-credit a:hover {
  color: var(--t-accent2, var(--color-gold-lt));
  text-decoration-color: currentColor;
}

/* Brutalist theme: credit styled differently */
[data-theme="brutalist"] .footer-dev-credit {
  border-top-color: rgba(255,214,0,0.25);
}
[data-theme="brutalist"] .footer-dev-credit a {
  color: #FFD600;
}

/* Eco: green tint */
[data-theme="eco"] .footer-dev-credit a {
  color: #8FA86A;
}

/* Minimal: faint gray */
[data-theme="minimal"] .footer-dev-credit a {
  color: rgba(255,255,255,0.5);
}

/* Blueprint: accent blue */
[data-theme="blueprint"] .footer-dev-credit a {
  color: #7BC4F0;
}

/* ============================================================
   RESPONSIVE: Hide switcher label text on very small screens
   ============================================================ */
@media (max-width: 480px) {
  #theme-switcher { bottom: 16px; right: 16px; }
  #theme-panel { min-width: 158px; }
}
