/* ==========================================================================
   Themes - defines CSS custom properties per data-theme attribute.
   ========================================================================== */

:root,
[data-theme="clair"] {
  --bg: #f5f6f8;
  --bg-elevated: #ffffff;
  --bg-hover: #eef1f5;
  --border: #dde1e7;
  --text: #1c232b;
  --text-muted: #667085;
  --primary: #2563eb;
  --primary-hover: #1d4ed8;
  --primary-contrast: #ffffff;
  --danger: #dc2626;
  --danger-hover: #b91c1c;
  --success: #16a34a;
  --navbar-bg: #ffffff;
  --navbar-text: #1c232b;
  --input-bg: #ffffff;
  --shadow: 0 1px 3px rgba(16, 24, 40, 0.08), 0 1px 2px rgba(16, 24, 40, 0.06);
  --code-bg: #f1f2f4;
}

[data-theme="bleu-clair"] {
  --bg: #eef4fc;
  --bg-elevated: #ffffff;
  --bg-hover: #e2edfb;
  --border: #cfe0f5;
  --text: #12233f;
  --text-muted: #4a6183;
  --primary: #2563eb;
  --primary-hover: #1d4ed8;
  --primary-contrast: #ffffff;
  --danger: #dc2626;
  --danger-hover: #b91c1c;
  --success: #16a34a;
  --navbar-bg: #dbe9fc;
  --navbar-text: #12233f;
  --input-bg: #ffffff;
  --shadow: 0 1px 3px rgba(16, 24, 40, 0.08), 0 1px 2px rgba(16, 24, 40, 0.06);
  --code-bg: #e6eefb;
}

[data-theme="bleu-nuit"] {
  --bg: #0b1424;
  --bg-elevated: #101d33;
  --bg-hover: #16243d;
  --border: #223251;
  --text: #e6ecf7;
  --text-muted: #93a3c2;
  --primary: #3b82f6;
  --primary-hover: #60a5fa;
  --primary-contrast: #051023;
  --danger: #f87171;
  --danger-hover: #fca5a5;
  --success: #4ade80;
  --navbar-bg: #0d1930;
  --navbar-text: #e6ecf7;
  --input-bg: #0e1c33;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.4), 0 1px 2px rgba(0, 0, 0, 0.3);
  --code-bg: #0f1e38;
}

[data-theme="gris-clair"] {
  --bg: #f1f1f2;
  --bg-elevated: #ffffff;
  --bg-hover: #e6e6e8;
  --border: #d6d6d9;
  --text: #212327;
  --text-muted: #63666e;
  --primary: #475569;
  --primary-hover: #334155;
  --primary-contrast: #ffffff;
  --danger: #dc2626;
  --danger-hover: #b91c1c;
  --success: #16a34a;
  --navbar-bg: #e2e3e6;
  --navbar-text: #212327;
  --input-bg: #ffffff;
  --shadow: 0 1px 3px rgba(16, 24, 40, 0.08), 0 1px 2px rgba(16, 24, 40, 0.06);
  --code-bg: #e9e9eb;
}

[data-theme="gris-fonce"] {
  --bg: #17181b;
  --bg-elevated: #1f2125;
  --bg-hover: #26282d;
  --border: #33353b;
  --text: #e7e8ea;
  --text-muted: #9a9ca3;
  --primary: #60a5fa;
  --primary-hover: #93c5fd;
  --primary-contrast: #0b1220;
  --danger: #f87171;
  --danger-hover: #fca5a5;
  --success: #4ade80;
  --navbar-bg: #1b1c20;
  --navbar-text: #e7e8ea;
  --input-bg: #212327;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4);
  --code-bg: #202226;
}

[data-theme="vert-clair"] {
  --bg: #eff8f1;
  --bg-elevated: #ffffff;
  --bg-hover: #e2f3e6;
  --border: #cbe8d2;
  --text: #123420;
  --text-muted: #4d7a5c;
  --primary: #16a34a;
  --primary-hover: #15803d;
  --primary-contrast: #ffffff;
  --danger: #dc2626;
  --danger-hover: #b91c1c;
  --success: #16a34a;
  --navbar-bg: #dcf0e1;
  --navbar-text: #123420;
  --input-bg: #ffffff;
  --shadow: 0 1px 3px rgba(16, 24, 40, 0.08), 0 1px 2px rgba(16, 24, 40, 0.06);
  --code-bg: #e5f4e9;
}

[data-theme="vert-nuit"] {
  --bg: #0a1712;
  --bg-elevated: #0f231b;
  --bg-hover: #142e23;
  --border: #1e3d2e;
  --text: #e3f5ea;
  --text-muted: #82ac93;
  --primary: #34d399;
  --primary-hover: #6ee7b7;
  --primary-contrast: #04140d;
  --danger: #f87171;
  --danger-hover: #fca5a5;
  --success: #4ade80;
  --navbar-bg: #0c1e17;
  --navbar-text: #e3f5ea;
  --input-bg: #0f2019;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.4), 0 1px 2px rgba(0, 0, 0, 0.3);
  --code-bg: #10231b;
}

[data-theme="violet-clair"] {
  --bg: #f4f0fb;
  --bg-elevated: #ffffff;
  --bg-hover: #ece4f9;
  --border: #dccef2;
  --text: #2c1e47;
  --text-muted: #6b5a8e;
  --primary: #7c3aed;
  --primary-hover: #6d28d9;
  --primary-contrast: #ffffff;
  --danger: #dc2626;
  --danger-hover: #b91c1c;
  --success: #16a34a;
  --navbar-bg: #e8ddf8;
  --navbar-text: #2c1e47;
  --input-bg: #ffffff;
  --shadow: 0 1px 3px rgba(16, 24, 40, 0.08), 0 1px 2px rgba(16, 24, 40, 0.06);
  --code-bg: #ede3fa;
}

[data-theme="violet-nuit"] {
  --bg: #150f24;
  --bg-elevated: #1d1633;
  --bg-hover: #261d42;
  --border: #362a54;
  --text: #ece6fa;
  --text-muted: #a293c4;
  --primary: #a78bfa;
  --primary-hover: #c4b5fd;
  --primary-contrast: #150f24;
  --danger: #f87171;
  --danger-hover: #fca5a5;
  --success: #4ade80;
  --navbar-bg: #19122b;
  --navbar-text: #ece6fa;
  --input-bg: #1c1530;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.4), 0 1px 2px rgba(0, 0, 0, 0.3);
  --code-bg: #1d1632;
}

[data-theme="rose-clair"] {
  --bg: #fdf1f6;
  --bg-elevated: #ffffff;
  --bg-hover: #fbe3ee;
  --border: #f6cee0;
  --text: #451b30;
  --text-muted: #8a5470;
  --primary: #db2777;
  --primary-hover: #be185d;
  --primary-contrast: #ffffff;
  --danger: #dc2626;
  --danger-hover: #b91c1c;
  --success: #16a34a;
  --navbar-bg: #fbe0ec;
  --navbar-text: #451b30;
  --input-bg: #ffffff;
  --shadow: 0 1px 3px rgba(16, 24, 40, 0.08), 0 1px 2px rgba(16, 24, 40, 0.06);
  --code-bg: #fce7f1;
}

[data-theme="rouge-sombre"] {
  --bg: #1c0f0f;
  --bg-elevated: #271515;
  --bg-hover: #331c1c;
  --border: #472525;
  --text: #f8e4e4;
  --text-muted: #c19696;
  --primary: #f87171;
  --primary-hover: #fca5a5;
  --primary-contrast: #1c0f0f;
  --danger: #ef4444;
  --danger-hover: #f87171;
  --success: #4ade80;
  --navbar-bg: #221313;
  --navbar-text: #f8e4e4;
  --input-bg: #241414;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4);
  --code-bg: #271515;
}

[data-theme="orange-clair"] {
  --bg: #fdf3e9;
  --bg-elevated: #ffffff;
  --bg-hover: #fbe6cf;
  --border: #f5d3a8;
  --text: #442a0e;
  --text-muted: #8a6640;
  --primary: #ea580c;
  --primary-hover: #c2410c;
  --primary-contrast: #ffffff;
  --danger: #dc2626;
  --danger-hover: #b91c1c;
  --success: #16a34a;
  --navbar-bg: #fbe4c8;
  --navbar-text: #442a0e;
  --input-bg: #ffffff;
  --shadow: 0 1px 3px rgba(16, 24, 40, 0.08), 0 1px 2px rgba(16, 24, 40, 0.06);
  --code-bg: #fbe9d3;
}

[data-theme="cyan-nuit"] {
  --bg: #08191a;
  --bg-elevated: #0d2426;
  --bg-hover: #123033;
  --border: #1b4247;
  --text: #dff6f8;
  --text-muted: #82b6bc;
  --primary: #22d3ee;
  --primary-hover: #67e8f9;
  --primary-contrast: #062225;
  --danger: #f87171;
  --danger-hover: #fca5a5;
  --success: #4ade80;
  --navbar-bg: #0a2022;
  --navbar-text: #dff6f8;
  --input-bg: #0c2224;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.4), 0 1px 2px rgba(0, 0, 0, 0.3);
  --code-bg: #0d2426;
}

[data-theme="sepia"] {
  --bg: #f4ecdc;
  --bg-elevated: #fbf6ea;
  --bg-hover: #ede1c8;
  --border: #ddccA5;
  --text: #3a2c1a;
  --text-muted: #7a6a4c;
  --primary: #92400e;
  --primary-hover: #78350f;
  --primary-contrast: #fdf6ea;
  --danger: #b91c1c;
  --danger-hover: #991b1b;
  --success: #15803d;
  --navbar-bg: #ecdfc2;
  --navbar-text: #3a2c1a;
  --input-bg: #fbf6ea;
  --shadow: 0 1px 3px rgba(58, 44, 26, 0.12), 0 1px 2px rgba(58, 44, 26, 0.08);
  --code-bg: #ede1c8;
}

[data-theme="contraste-eleve"] {
  --bg: #000000;
  --bg-elevated: #0a0a0a;
  --bg-hover: #1a1a1a;
  --border: #ffff00;
  --text: #ffffff;
  --text-muted: #d4d4d4;
  --primary: #ffff00;
  --primary-hover: #ffff66;
  --primary-contrast: #000000;
  --danger: #ff3b3b;
  --danger-hover: #ff6b6b;
  --success: #3bff6a;
  --navbar-bg: #0a0a0a;
  --navbar-text: #ffffff;
  --input-bg: #0a0a0a;
  --shadow: 0 0 0 1px rgba(255, 255, 0, 0.4);
  --code-bg: #111111;
}

/* Custom theme: base fallback values (overridden live via inline
   custom-property overrides applied by theme.js from the saved cookie). */
[data-theme="custom"] {
  --bg: #f5f6f8;
  --bg-elevated: #ffffff;
  --bg-hover: #eef1f5;
  --border: #dde1e7;
  --text: #1c232b;
  --text-muted: #667085;
  --primary: #2563eb;
  --primary-hover: #1d4ed8;
  --primary-contrast: #ffffff;
  --danger: #dc2626;
  --danger-hover: #b91c1c;
  --success: #16a34a;
  --navbar-bg: #ffffff;
  --navbar-text: #1c232b;
  --input-bg: #ffffff;
  --shadow: 0 1px 3px rgba(16, 24, 40, 0.08), 0 1px 2px rgba(16, 24, 40, 0.06);
  --code-bg: #f1f2f4;
}
