/* ── Metronic overrides: force --primary everywhere ── */
/* Les CSS vars (--primary, etc.) sont définies dans base.php via <style> */

/* Buttons */
.kt-btn-primary {
    background-color: var(--primary) !important;
    color: var(--primary-foreground) !important;
    border-color: var(--primary) !important;
}
.kt-btn-primary:hover {
    background-color: color-mix(in oklab, var(--primary) 85%, black) !important;
}
.kt-btn-outline.kt-btn-primary,
.kt-btn-outline {
    border-color: var(--primary) !important;
    color: var(--primary-text) !important;
    background-color: transparent !important;
}
.kt-btn-outline:hover {
    background-color: var(--primary) !important;
    color: var(--primary-foreground) !important;
}

/* Badges */
.kt-badge-primary {
    background-color: var(--primary) !important;
    color: var(--primary-foreground) !important;
}
.kt-badge-primary.kt-badge-outline {
    background-color: transparent !important;
    color: var(--primary-text) !important;
    border-color: var(--primary) !important;
}
.kt-badge-light-primary {
    background-color: color-mix(in oklab, var(--primary) 12%, white) !important;
    color: var(--primary) !important;
}
/* Metronic lit --accent-foreground (quasi noir) sur --secondary (#333 par défaut) : 1,4:1.
   --secondary reste la couleur de marque, le badge prend le couple muted / foreground */
.kt-badge-secondary {
    background-color: var(--muted) !important;
    color: var(--foreground) !important;
}
.dark .kt-badge-secondary {
    background-color: var(--input) !important;
}
/* Rouge 600 sur fond rouge 950 : 3,2:1 en sombre, le rouge 400 atteint 5,3:1 */
.dark .kt-badge-destructive.kt-badge-outline {
    color: var(--color-red-400) !important;
}
.kt-badge-light-success {
    background-color: #DCFCE7 !important;
    color: #16A34A !important;
}
.kt-badge-light-warning {
    background-color: #FEF3C7 !important;
    color: #D97706 !important;
}
.kt-badge-light-danger {
    background-color: #FEE2E2 !important;
    color: #DC2626 !important;
}
.kt-badge-light {
    background-color: #F3F4F6 !important;
    color: #4B5563 !important;
}

/* Links */
.kt-link {
    color: var(--primary-text) !important;
}
.kt-link:hover {
    color: color-mix(in oklab, var(--primary) 80%, black) !important;
}
.dark .kt-link:hover {
    color: var(--foreground) !important;
}

/* Onglets : Metronic colore l'onglet actif et le survol en var(--primary) */
.kt-tabs .kt-tab-toggle:hover,
.kt-tabs .kt-tab-toggle[data-kt-tab-toggle].active,
.kt-tabs .kt-tab-toggle[data-kt-tab-toggle].active svg {
    color: var(--primary-text) !important;
}

/* Checkboxes & switches */
.kt-checkbox:checked,
input[type="checkbox"].kt-checkbox:checked {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
}
.kt-switch:checked,
input[type="checkbox"].kt-switch:checked {
    background-color: var(--primary) !important;
}

/* Focus rings */
.kt-input:focus,
.kt-input:focus-within {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 2px color-mix(in oklab, var(--primary) 25%, transparent) !important;
}

/* Semantic color helpers */
.text-primary { color: var(--primary-text) !important; }
.bg-primary { background-color: var(--primary) !important; }
.border-primary { border-color: var(--primary) !important; }
.text-foreground { color: var(--foreground) !important; }
.bg-muted { background-color: var(--muted) !important; }
.text-muted-foreground { color: var(--muted-foreground) !important; }
.text-secondary-foreground { color: var(--secondary-foreground) !important; }
.bg-background { background-color: var(--background) !important; }
.border-input { border-color: var(--border) !important; }
.hover\:text-primary:hover { color: var(--primary-text) !important; }

/* File input buttons */
input[type="file"]::file-selector-button {
    background-color: color-mix(in oklab, var(--primary) 12%, white) !important;
    color: var(--primary) !important;
}
input[type="file"]:hover::file-selector-button {
    background-color: var(--primary) !important;
    color: var(--primary-foreground) !important;
}

/* ── Textareas : force la hauteur a respecter l'attribut rows ── */
/* Metronic impose une hauteur fixe sur .kt-input, ce qui ecrase l'attribut rows */
textarea.kt-input,
textarea[class*="kt-input"] {
    height: auto !important;
    min-height: 120px !important;
    resize: vertical;
    line-height: 1.6;
}