:root {
  --p: #f97316;
  --pd: #ea580c;
  --pl: #fed7aa;
  --pp: #fff7ed;
  --sh: 0 4px 20px rgba(249,115,22,0.12);
  --shl: 0 8px 32px rgba(249,115,22,0.18);
  --primary-900: #7c2d12;
  --primary-700: #c2410c;
  --primary-500: #f97316;
  --primary-300: #fdba74;
}

/* ── Dynamic colour overrides ── */
.btn-mi { background: #ea580c; box-shadow: 0 4px 14px rgba(234,88,12,.25); }
.btn-mi:hover { background: #c2410c; }
.btn-pu i { color: #ea580c; }
.btn-pu:hover { border-color: #fed7aa; color: #c2410c; }
.hero a { color: #ea580c; }
.hero a:hover { color: #c2410c; }
.btn-primary-auth { background: linear-gradient(135deg, #f97316, #ea580c); }
.btn-primary-auth:hover { background: linear-gradient(135deg, #ea580c, #c2410c); }
@keyframes pulse {
  0%   { box-shadow: 0 0 0 0 rgba(249,115,22,0.5); }
  70%  { box-shadow: 0 0 0 11px rgba(0,0,0,0); }
  100% { box-shadow: 0 0 0 0 rgba(0,0,0,0); }
}
body.theme-blue {
  --p: #3b82f6;
  --pd: #2563eb;
  --pl: #bfdbfe;
  --pp: #eff6ff;
  --sh: 0 4px 20px rgba(59,130,246,0.12);
  --shl: 0 8px 32px rgba(59,130,246,0.18);
  --primary-900: #101A4D;
  --primary-700: #1731B5;
  --primary-500: #2E5CF6;
  --primary-300: #7C9BFB;
}
body.theme-blue .btn-mi { background:#2563eb; box-shadow:0 4px 14px rgba(37,99,235,.25); }
body.theme-blue .btn-mi:hover { background:#1d4ed8; }
body.theme-blue .btn-pu i { color:#2563eb; }
body.theme-blue .hero a { color:#2563eb; }
body.theme-blue .btn-primary-auth { background: linear-gradient(135deg,#3b82f6,#2563eb); }
body.theme-green {
  --p: #10b981;
  --pd: #059669;
  --pl: #a7f3d0;
  --pp: #ecfdf5;
  --sh: 0 4px 20px rgba(16,185,129,0.12);
  --shl: 0 8px 32px rgba(16,185,129,0.18);
  --primary-900: #064e3b;
  --primary-700: #047857;
  --primary-500: #10b981;
  --primary-300: #6ee7b7;
}
body.theme-green .btn-mi { background:#059669; box-shadow:0 4px 14px rgba(5,150,105,.25); }
body.theme-green .btn-mi:hover { background:#047857; }
body.theme-green .btn-pu i { color:#059669; }
body.theme-green .hero a { color:#059669; }
body.theme-green .btn-primary-auth { background: linear-gradient(135deg,#10b981,#059669); }
body.theme-purple {
  --p: #8b5cf6;
  --pd: #7c3aed;
  --pl: #ddd6fe;
  --pp: #f5f3ff;
  --sh: 0 4px 20px rgba(139,92,246,0.12);
  --shl: 0 8px 32px rgba(139,92,246,0.18);
  --primary-900: #2e1065;
  --primary-700: #6d28d9;
  --primary-500: #8b5cf6;
  --primary-300: #c4b5fd;
}
body.theme-purple .btn-mi { background:#7c3aed; box-shadow:0 4px 14px rgba(124,58,237,.25); }
body.theme-purple .btn-mi:hover { background:#6d28d9; }
body.theme-purple .btn-pu i { color:#7c3aed; }
body.theme-purple .hero a { color:#7c3aed; }
body.theme-purple .btn-primary-auth { background: linear-gradient(135deg,#8b5cf6,#7c3aed); }
body.theme-rose {
  --p: #f43f5e;
  --pd: #e11d48;
  --pl: #fecdd3;
  --pp: #fff1f2;
  --sh: 0 4px 20px rgba(244,63,94,0.12);
  --shl: 0 8px 32px rgba(244,63,94,0.18);
  --primary-900: #881337;
  --primary-700: #be123c;
  --primary-500: #f43f5e;
  --primary-300: #fda4af;
}
body.theme-rose .btn-mi { background:#e11d48; box-shadow:0 4px 14px rgba(225,29,72,.25); }
body.theme-rose .btn-mi:hover { background:#be123c; }
body.theme-rose .btn-pu i { color:#e11d48; }
body.theme-rose .hero a { color:#e11d48; }
body.theme-rose .btn-primary-auth { background: linear-gradient(135deg,#f43f5e,#e11d48); }
body.theme-orange {
  --p: #f97316;
  --pd: #ea580c;
  --pl: #fed7aa;
  --pp: #fff7ed;
  --sh: 0 4px 20px rgba(249,115,22,0.12);
  --shl: 0 8px 32px rgba(249,115,22,0.18);
  --primary-900: #7c2d12;
  --primary-700: #c2410c;
  --primary-500: #f97316;
  --primary-300: #fdba74;
}
body.theme-orange .btn-mi { background:#ea580c; box-shadow:0 4px 14px rgba(234,88,12,.25); }
body.theme-orange .btn-mi:hover { background:#c2410c; }
body.theme-orange .btn-pu i { color:#ea580c; }
body.theme-orange .hero a { color:#ea580c; }
body.theme-orange .btn-primary-auth { background: linear-gradient(135deg,#f97316,#ea580c); }
body.theme-teal {
  --p: #14b8a6;
  --pd: #0d9488;
  --pl: #99f6e4;
  --pp: #f0fdfa;
  --sh: 0 4px 20px rgba(20,184,166,0.12);
  --shl: 0 8px 32px rgba(20,184,166,0.18);
  --primary-900: #134e4a;
  --primary-700: #0f766e;
  --primary-500: #14b8a6;
  --primary-300: #5eead4;
}
body.theme-teal .btn-mi { background:#0d9488; box-shadow:0 4px 14px rgba(13,148,136,.25); }
body.theme-teal .btn-mi:hover { background:#0f766e; }
body.theme-teal .btn-pu i { color:#0d9488; }
body.theme-teal .hero a { color:#0d9488; }
body.theme-teal .btn-primary-auth { background: linear-gradient(135deg,#14b8a6,#0d9488); }
body.theme-slate {
  --p: #475569;
  --pd: #334155;
  --pl: #cbd5e1;
  --pp: #f8fafc;
  --sh: 0 4px 20px rgba(71,85,105,0.12);
  --shl: 0 8px 32px rgba(71,85,105,0.18);
  --primary-900: #0f172a;
  --primary-700: #1e293b;
  --primary-500: #475569;
  --primary-300: #94a3b8;
}
body.theme-slate .btn-mi { background:#334155; box-shadow:0 4px 14px rgba(51,65,85,.25); }
body.theme-slate .btn-mi:hover { background:#1e293b; }
body.theme-slate .btn-pu i { color:#334155; }
body.theme-slate .hero a { color:#334155; }
body.theme-slate .btn-primary-auth { background: linear-gradient(135deg,#475569,#334155); }
