/*
 * AKT CERTIF — Charte de couleurs
 * Primaire   : #4a4a49 (charbon)
 * Accent     : #00aa9e (turquoise)
 *
 * Ce fichier surcharge les variables Bootstrap 5.3 (chargé via CDN).
 * À inclure APRÈS bootstrap.min.css dans chaque layout.
 */

:root {
    /* Marque */
    --ac-primary: #4a4a49;
    --ac-primary-dark: #3a3a39;
    --ac-primary-darker: #353534;
    --ac-primary-light: #f0f0ef;
    --ac-secondary: #00aa9e;
    --ac-secondary-dark: #008f85;
    --ac-secondary-darker: #007a72;
    --ac-secondary-light: #e0f5f3;

    /* Bootstrap : couleurs de thème */
    --bs-primary: #4a4a49;
    --bs-primary-rgb: 74, 74, 73;
    --bs-secondary: #00aa9e;
    --bs-secondary-rgb: 0, 170, 158;

    /* Liens */
    --bs-link-color: #00aa9e;
    --bs-link-color-rgb: 0, 170, 158;
    --bs-link-hover-color: #008f85;
    --bs-link-hover-color-rgb: 0, 143, 133;
}

/* ---------- Boutons ---------- */

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--ac-primary);
    --bs-btn-border-color: var(--ac-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--ac-primary-dark);
    --bs-btn-hover-border-color: var(--ac-primary-dark);
    --bs-btn-focus-shadow-rgb: 74, 74, 73;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--ac-primary-darker);
    --bs-btn-active-border-color: var(--ac-primary-darker);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--ac-primary);
    --bs-btn-disabled-border-color: var(--ac-primary);
}

.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--ac-secondary);
    --bs-btn-border-color: var(--ac-secondary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--ac-secondary-dark);
    --bs-btn-hover-border-color: var(--ac-secondary-dark);
    --bs-btn-focus-shadow-rgb: 0, 170, 158;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--ac-secondary-darker);
    --bs-btn-active-border-color: var(--ac-secondary-darker);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--ac-secondary);
    --bs-btn-disabled-border-color: var(--ac-secondary);
}

.btn-outline-primary {
    --bs-btn-color: var(--ac-primary);
    --bs-btn-border-color: var(--ac-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--ac-primary);
    --bs-btn-hover-border-color: var(--ac-primary);
    --bs-btn-focus-shadow-rgb: 74, 74, 73;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--ac-primary);
    --bs-btn-active-border-color: var(--ac-primary);
    --bs-btn-disabled-color: var(--ac-primary);
    --bs-btn-disabled-border-color: var(--ac-primary);
}

.btn-outline-secondary {
    --bs-btn-color: var(--ac-secondary);
    --bs-btn-border-color: var(--ac-secondary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--ac-secondary);
    --bs-btn-hover-border-color: var(--ac-secondary);
    --bs-btn-focus-shadow-rgb: 0, 170, 158;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--ac-secondary);
    --bs-btn-active-border-color: var(--ac-secondary);
    --bs-btn-disabled-color: var(--ac-secondary);
    --bs-btn-disabled-border-color: var(--ac-secondary);
}

/* Boutons "light" utilisés dans les listes (admin/commercial) */
.btn-light-primary,
.btn-light-primary:focus {
    color: var(--ac-primary);
    background-color: var(--ac-primary-light);
    border-color: transparent;
}
.btn-light-primary:hover, .btn-light-primary:active {
    color: #fff;
    background-color: var(--ac-primary);
}

/* ---------- Texte / fonds ---------- */

.text-primary { color: var(--ac-primary) !important; }
.text-secondary { color: var(--ac-secondary) !important; }
.bg-primary { background-color: var(--ac-primary) !important; }
.bg-secondary { background-color: var(--ac-secondary) !important; }
.border-primary { border-color: var(--ac-primary) !important; }
.border-secondary { border-color: var(--ac-secondary) !important; }

.bg-light-primary { background-color: var(--ac-primary-light) !important; }
.bg-light-secondary { background-color: var(--ac-secondary-light) !important; }

.badge.bg-primary { background-color: var(--ac-primary) !important; }
.badge.bg-secondary { background-color: var(--ac-secondary) !important; }
.badge-light-primary { background-color: var(--ac-primary-light) !important; color: var(--ac-primary-dark) !important; }
.badge-light-secondary { background-color: var(--ac-secondary-light) !important; color: var(--ac-secondary-darker) !important; }

/* ---------- Formulaires ---------- */

.form-control:focus, .form-select:focus {
    border-color: var(--ac-primary);
    box-shadow: 0 0 0 .2rem rgba(74, 74, 73, .15);
}
.form-check-input:checked {
    background-color: var(--ac-primary);
    border-color: var(--ac-primary);
}
.form-check-input:focus {
    border-color: var(--ac-primary);
    box-shadow: 0 0 0 .2rem rgba(74, 74, 73, .15);
}

/* Formulaires « floating » — style commun (cf. commercial/client/create) */
.ac-form .form-floating > label { padding-left: 1rem; }
.ac-form .form-floating > .form-control,
.ac-form .form-floating > .form-select { border-radius: .65rem; }
.ac-form .form-floating > textarea.form-control { min-height: 100px; }
.ac-form .form-section {
    display: flex; align-items: center; gap: .5rem; margin: .25rem 0;
    color: var(--ac-primary-darker); font-weight: 700; font-size: .8rem;
    text-transform: uppercase; letter-spacing: .03em;
}
.ac-form .form-section .line { flex: 1; height: 1px; background: #e5e5e5; }

/* ---------- Titres de page ---------- */

.page-title { display: flex; flex-direction: column; min-width: 0; }
.page-title-text {
    margin: 0; font-weight: 700; font-size: 1.4rem; line-height: 1.2;
    color: #1a1a1a; letter-spacing: -.01em;
}
.page-title-sub {
    margin-top: .15rem; color: #737373; font-size: .85rem; font-weight: 500;
}

/* ---------- Navigation / composants ---------- */

.nav-pills {
    --bs-nav-pills-link-active-bg: var(--ac-primary);
}
.nav-link { color: var(--ac-primary); }
.nav-link:hover { color: var(--ac-primary-dark); }

.dropdown-menu {
    --bs-dropdown-link-active-bg: var(--ac-primary);
}

.pagination {
    --bs-pagination-color: var(--ac-primary);
    --bs-pagination-hover-color: var(--ac-primary-dark);
    --bs-pagination-active-bg: var(--ac-primary);
    --bs-pagination-active-border-color: var(--ac-primary);
    --bs-pagination-focus-color: var(--ac-primary-dark);
}

.progress-bar { background-color: var(--ac-primary); }

.list-group {
    --bs-list-group-active-bg: var(--ac-primary);
    --bs-list-group-active-border-color: var(--ac-primary);
}

/* ---------- Cartes de statistiques (ac-stat-card) ---------- */

.ac-stat-card {
    position: relative;
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.06);
    overflow: hidden;
    transition: transform .2s ease, box-shadow .2s ease;
    height: 100%;
}
.ac-stat-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
}
.ac-stat-card__topbar {
    height: 4px;
    width: 100%;
}
.ac-stat-card--primary .ac-stat-card__topbar {
    background: linear-gradient(90deg, #1a1a1a, var(--ac-primary));
}
.ac-stat-card--success .ac-stat-card__topbar {
    background: linear-gradient(90deg, #10b981, #34d399);
}
.ac-stat-card--warning .ac-stat-card__topbar {
    background: linear-gradient(90deg, #f59e0b, #fbbf24);
}
.ac-stat-card--danger .ac-stat-card__topbar {
    background: linear-gradient(90deg, #ef4444, #f87171);
}
.ac-stat-card--info .ac-stat-card__topbar {
    background: linear-gradient(90deg, #0ea5e9, #38bdf8);
}
.ac-stat-card--secondary .ac-stat-card__topbar {
    background: linear-gradient(90deg, #6b7280, #9ca3af);
}
.ac-stat-card__body {
    display: flex;
    align-items: center;
    padding: 1.5rem;
    gap: 1rem;
}
.ac-stat-card__icon {
    flex-shrink: 0;
    width: 58px;
    height: 58px;
    border-radius: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
}
.ac-stat-card--primary .ac-stat-card__icon {
    color: #1d4ed8;
    background: linear-gradient(135deg, #dbeafe, #bfdbfe);
}
.ac-stat-card--success .ac-stat-card__icon {
    color: #047857;
    background: linear-gradient(135deg, #d1fae5, #a7f3d0);
}
.ac-stat-card--warning .ac-stat-card__icon {
    color: #b45309;
    background: linear-gradient(135deg, #fef3c7, #fde68a);
}
.ac-stat-card--danger .ac-stat-card__icon {
    color: #b91c1c;
    background: linear-gradient(135deg, #fee2e2, #fecaca);
}
.ac-stat-card--info .ac-stat-card__icon {
    color: #0369a1;
    background: linear-gradient(135deg, #e0f2fe, #bae6fd);
}
.ac-stat-card--secondary .ac-stat-card__icon {
    color: #4b5563;
    background: linear-gradient(135deg, #f3f4f6, #e5e7eb);
}
.ac-stat-card__content {
    flex-grow: 1;
    min-width: 0;
}
.ac-stat-card__label {
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #6b7280;
    margin-bottom: .25rem;
}
.ac-stat-card__value {
    font-size: 2.25rem;
    font-weight: 800;
    line-height: 1;
    color: #111827;
    margin-bottom: .25rem;
}
.ac-stat-card__hint {
    font-size: .8rem;
    color: #9ca3af;
}
.ac-stat-card__link {
    display: block;
    color: inherit;
    height: 100%;
}
