﻿/* =========================
   1) TOKENS PALETTE (défaut = Bistro)
   ========================= */
:root {
    --bg: #F4F2F0;
    --bg-darker: #EAE3D8;
    --bg-lighter: #FBF6F3;
    --surface: #FFFFFF;
    --text: #1D1D1F;
    --muted: #8A8F98;
    --border: #E7E2DA;
    --primary: #2B5D4A;
    --primary-rgb: 43,93,74;
    --on-primary: #FFFFFF;
    --secondary: #D97452;
    --secondary-rgb: 217,116,82;
    --on-secondary: #111111;
    --accent: #CFA142;
    --success: #22C55E;
    --success-rgb: 34,197,94;
    --on-success: #072B12;
    --info: #0EA5E9;
    --info-rgb: 14,165,233;
    --on-info: #FFFFFF;
    --warning: #F59E0B;
    --warning-rgb: 245,158,11;
    --on-warning: #111111;
    --danger: #EF4444;
    --danger-rgb: 239,68,68;
    --on-danger: #FFFFFF;
}

/* =========================
   2) MAPPING -> VARIABLES BOOTSTRAP
   (une fois pour toutes)
   ========================= */
:root {
    /* Couleurs de thème */
    --bs-primary: var(--primary);
    --bs-primary-rgb: var(--primary-rgb);
    --bs-secondary: var(--secondary);
    --bs-secondary-rgb: var(--secondary-rgb);
    --bs-success: var(--success);
    --bs-success-rgb: var(--success-rgb);
    --bs-info: var(--info);
    --bs-info-rgb: var(--info-rgb);
    --bs-warning: var(--warning);
    --bs-warning-rgb: var(--warning-rgb);
    --bs-danger: var(--danger);
    --bs-danger-rgb: var(--danger-rgb);
    --bs-light: var(--surface);
    --bs-light-rgb: 255,255,255;
    --bs-dark: #111111;
    --bs-dark-rgb: 17,17,17;
    /* Texte / fond / bordures */
    --bs-body-bg: var(--bg);
    --bs-body-color: var(--text);
    --bs-border-color: var(--border);
    --bs-secondary-color: var(--muted);
    --bs-heading-color: var(--text);
    /* Liens & focus */
    --bs-link-color: var(--primary);
    --bs-link-hover-color: color-mix(in srgb, var(--primary) 85%, black);
    --bs-focus-ring-color: rgba(var(--bs-primary-rgb), .25);
    /* Surfaces de composants */
    --bs-card-bg: var(--surface);
    --bs-card-border-color: var(--border);
    --bs-dropdown-bg: var(--surface);
    --bs-dropdown-link-hover-bg: color-mix(in srgb, var(--bg) 88%, black);
    --bs-modal-bg: var(--surface);
    --bs-modal-header-border-color: var(--border);
    --bs-modal-footer-border-color: var(--border);
    --bs-offcanvas-bg: var(--surface);
    --bs-navbar-color: var(--text);
    --bs-navbar-brand-color: var(--text);
    --bs-table-bg: transparent;
}

/* Boutons (assure les bons contrastes) */
.btn-primary {
    --bs-btn-color: var(--on-primary);
    --bs-btn-bg: var(--primary);
    --bs-btn-border-color: var(--primary);
    --bs-btn-hover-bg: color-mix(in srgb, var(--primary) 90%, black);
    --bs-btn-hover-border-color: color-mix(in srgb, var(--primary) 85%, black);
    --bs-btn-active-bg: color-mix(in srgb, var(--primary) 80%, black);
    --bs-btn-active-border-color: color-mix(in srgb, var(--primary) 75%, black);
    --bs-btn-disabled-bg: var(--primary);
    --bs-btn-disabled-border-color: var(--primary);
}

.btn-secondary {
    --bs-btn-color: var(--on-secondary);
    --bs-btn-bg: var(--secondary);
    --bs-btn-border-color: var(--secondary);
    --bs-btn-hover-bg: color-mix(in srgb, var(--secondary) 90%, black);
    --bs-btn-hover-border-color: color-mix(in srgb, var(--secondary) 85%, black);
    --bs-btn-active-bg: color-mix(in srgb, var(--secondary) 80%, black);
    --bs-btn-active-border-color: color-mix(in srgb, var(--secondary) 75%, black);
    --bs-btn-disabled-bg: var(--secondary);
    --bs-btn-disabled-border-color: var(--secondary);
}

.btn-outline-primary {
    --bs-btn-color: var(--primary);
    --bs-btn-border-color: var(--primary);
    --bs-btn-hover-color: var(--on-primary);
    --bs-btn-hover-bg: var(--primary);
    --bs-btn-hover-border-color: var(--primary);
}

/* =========================
   3) THEMES ALTERNATIFS (switch via [data-theme])
   ========================= */

/* Marin */
[data-theme="marin"] {
    --bg: #F5F9FF;
    --surface: #FFFFFF;
    --text: #0A2239;
    --muted: #7A8AA0;
    --border: #E6EDF7;
    --primary: #0A5CA4;
    --primary-rgb: 10,92,164;
    --on-primary: #FFFFFF;
    --secondary: #1FB6D5;
    --secondary-rgb: 31,182,213;
    --on-secondary: #111111;
    --accent: #FFD166;
    --success: #22C55E;
    --success-rgb: 34,197,94;
    --on-success: #072B12;
    --info: #0EA5E9;
    --info-rgb: 14,165,233;
    --on-info: #FFFFFF;
    --warning: #F59E0B;
    --warning-rgb: 245,158,11;
    --on-warning: #111111;
    --danger: #EF4444;
    --danger-rgb: 239,68,68;
    --on-danger: #FFFFFF;
}

/* Street (dark) */
[data-theme="street"] {
    color-scheme: dark; /* formulaires natifs sombres */
    --bg: #0F1115;
    --surface: #171A1F;
    --text: #F4F6FA;
    --muted: #9AA4B2;
    --border: #2B3038;
    --primary: #FF5A3C;
    --primary-rgb: 255,90,60;
    --on-primary: #111111;
    --secondary: #A3E635;
    --secondary-rgb: 163,230,53;
    --on-secondary: #111111;
    --accent: #38BDF8;
    --success: #22C55E;
    --success-rgb: 34,197,94;
    --on-success: #072B12;
    --info: #0EA5E9;
    --info-rgb: 14,165,233;
    --on-info: #FFFFFF;
    --warning: #F59E0B;
    --warning-rgb: 245,158,11;
    --on-warning: #111111;
    --danger: #EF4444;
    --danger-rgb: 239,68,68;
    --on-danger: #FFFFFF;
}

/* Zen */
[data-theme="zen"] {
    --bg: #F5F7F4;
    --surface: #FFFFFF;
    --text: #1C2A21;
    --muted: #8BA098;
    --border: #E2E7E3;
    --primary: #2E7D5B;
    --primary-rgb: 46,125,91;
    --on-primary: #FFFFFF;
    --secondary: #A3D9A5;
    --secondary-rgb: 163,217,165;
    --on-secondary: #111111;
    --accent: #6B4E3D;
    --success: #22C55E;
    --success-rgb: 34,197,94;
    --on-success: #072B12;
    --info: #0EA5E9;
    --info-rgb: 14,165,233;
    --on-info: #FFFFFF;
    --warning: #F59E0B;
    --warning-rgb: 245,158,11;
    --on-warning: #111111;
    --danger: #EF4444;
    --danger-rgb: 239,68,68;
    --on-danger: #FFFFFF;
}
