/* ============================================================
   AssoFree — Theme Override
   Primary (violet/indigo) : #4F46E5
   Hover                   : #4338CA
   Light accent            : #818CF8
   Very light              : #C7D2FE
   Subtle bg               : #EEF2FF
   Secondary (orange)      : #EA580C
   ============================================================ */

/* ── Variables globales ──────────────────────────────────────── */
:root {
    /* Bootstrap 5 */
    --bs-primary:             #4F46E5;
    --bs-primary-rgb:         79, 70, 229;
    --bs-link-color:          #4F46E5;
    --bs-link-color-rgb:      79, 70, 229;
    --bs-link-hover-color:    #4338CA;
    /* Bootstrap 4 compat */
    --primary:                #4F46E5;
    /* Custom */
    --assofree-primary:       #4F46E5;
    --assofree-hover:         #4338CA;
    --assofree-light:         #818CF8;
    --assofree-subtle:        #EEF2FF;
    --assofree-orange:        #EA580C;
}

/* ═══════════════════════════════════════════════════════════════
   BOUTONS PRIMAIRES
   Bootstrap 5 : on écrase les variables CSS locales du composant.
   Bootstrap 4 / AdminLTE : on écrase avec !important.
   ═══════════════════════════════════════════════════════════════ */
.btn-primary {
    /* ── Bootstrap 5 — variables locales du bouton ── */
    --bs-btn-color:               #fff;
    --bs-btn-bg:                  #4F46E5;
    --bs-btn-border-color:        #4F46E5;
    --bs-btn-hover-color:         #fff;
    --bs-btn-hover-bg:            #4338CA;
    --bs-btn-hover-border-color:  #3730A3;
    --bs-btn-focus-shadow-rgb:    79, 70, 229;
    --bs-btn-active-color:        #fff;
    --bs-btn-active-bg:           #3730A3;
    --bs-btn-active-border-color: #312E81;
    --bs-btn-active-shadow:       inset 0 3px 5px rgba(0,0,0,.125);
    --bs-btn-disabled-color:      #fff;
    --bs-btn-disabled-bg:         #4F46E5;
    --bs-btn-disabled-border-color: #4F46E5;
    /* ── Bootstrap 4 / AdminLTE fallback ── */
    background-color: #4F46E5 !important;
    border-color:     #4F46E5 !important;
    color: #fff !important;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle {
    background-color: #4338CA !important;
    border-color:     #3730A3 !important;
    color: #fff !important;
}
.btn-primary:focus,
.btn-primary.focus {
    box-shadow: 0 0 0 0.2rem rgba(79, 70, 229, 0.45) !important;
}

/* ── Boutons outline primaires ─────────────────────────────── */
.btn-outline-primary {
    /* ── Bootstrap 5 ── */
    --bs-btn-color:               #4F46E5;
    --bs-btn-border-color:        #4F46E5;
    --bs-btn-hover-color:         #fff;
    --bs-btn-hover-bg:            #4F46E5;
    --bs-btn-hover-border-color:  #4F46E5;
    --bs-btn-focus-shadow-rgb:    79, 70, 229;
    --bs-btn-active-color:        #fff;
    --bs-btn-active-bg:           #4F46E5;
    --bs-btn-active-border-color: #4F46E5;
    --bs-btn-disabled-color:      #4F46E5;
    --bs-btn-disabled-bg:         transparent;
    --bs-btn-disabled-border-color: #4F46E5;
    /* ── Bootstrap 4 fallback ── */
    color:        #4F46E5 !important;
    border-color: #4F46E5 !important;
}
.btn-outline-primary:hover,
.btn-outline-primary:active {
    background-color: #4F46E5 !important;
    border-color:     #4F46E5 !important;
    color: #fff !important;
}
.btn-outline-primary:focus {
    box-shadow: 0 0 0 0.2rem rgba(79, 70, 229, 0.25) !important;
}

/* ═══════════════════════════════════════════════════════════════
   LIENS
   ═══════════════════════════════════════════════════════════════ */
a:not(.btn):not(.nav-link):not(.dropdown-item):not(.page-link):not(.brand-link) {
    color: #4F46E5;
}
a:not(.btn):not(.nav-link):not(.dropdown-item):not(.page-link):not(.brand-link):hover {
    color: #4338CA;
}
/* AdminLTE breadcrumb & nav links */
.nav-link:not(.active):not(.btn) { }
.text-primary   { color: #4F46E5 !important; }
a.text-primary  { color: #4F46E5 !important; }

/* ═══════════════════════════════════════════════════════════════
   BACKGROUNDS
   ═══════════════════════════════════════════════════════════════ */
.bg-primary               { background-color: #4F46E5 !important; }
.bg-primary-subtle        { background-color: #EEF2FF !important; }
.bg-gradient-primary      { background: linear-gradient(135deg, #4F46E5 0%, #6366F1 100%) !important; }
/* AdminLTE info boxes */
.small-box.bg-primary     { background-color: #4F46E5 !important; }
.info-box-icon.bg-primary { background-color: #4F46E5 !important; }

/* ═══════════════════════════════════════════════════════════════
   BORDURES
   ═══════════════════════════════════════════════════════════════ */
.border-primary { border-color: #4F46E5 !important; }

/* ═══════════════════════════════════════════════════════════════
   FORMULAIRES
   ═══════════════════════════════════════════════════════════════ */
.form-control:focus,
.form-select:focus {
    border-color: #818CF8 !important;
    box-shadow:   0 0 0 0.2rem rgba(79, 70, 229, 0.25) !important;
}
/* Checkboxes / radios (Bootstrap 5) */
.form-check-input {
    --bs-form-check-bg:        #fff;
}
.form-check-input:checked {
    background-color: #4F46E5 !important;
    border-color:     #4F46E5 !important;
}
.form-check-input:focus {
    border-color: #818CF8 !important;
    box-shadow:   0 0 0 0.2rem rgba(79, 70, 229, 0.25) !important;
}
/* Bootstrap 4 custom switches */
.custom-control-input:checked ~ .custom-control-label::before {
    background-color: #4F46E5 !important;
    border-color:     #4F46E5 !important;
}

/* ═══════════════════════════════════════════════════════════════
   BADGES
   ═══════════════════════════════════════════════════════════════ */
/* Bootstrap 5 */
.badge {
    --bs-badge-color: #fff;
}
.badge.bg-primary,
.badge.text-bg-primary {
    --bs-badge-bg: #4F46E5;
    background-color: #4F46E5 !important;
    color: #fff !important;
}
/* Bootstrap 4 */
.badge-primary { background-color: #4F46E5 !important; color: #fff !important; }

/* ═══════════════════════════════════════════════════════════════
   ALERTS
   ═══════════════════════════════════════════════════════════════ */
.alert-primary {
    --bs-alert-bg:          #EEF2FF;
    --bs-alert-border-color:#C7D2FE;
    --bs-alert-color:       #3730A3;
    background-color: #EEF2FF !important;
    border-color:     #C7D2FE !important;
    color:            #3730A3 !important;
}

/* ═══════════════════════════════════════════════════════════════
   PAGINATION
   ═══════════════════════════════════════════════════════════════ */
/* Bootstrap 5 CSS vars */
.pagination {
    --bs-pagination-color:              #4F46E5;
    --bs-pagination-active-bg:          #4F46E5;
    --bs-pagination-active-border-color:#4F46E5;
    --bs-pagination-hover-color:        #4338CA;
    --bs-pagination-focus-box-shadow:   0 0 0 0.2rem rgba(79,70,229,.25);
    --bs-pagination-focus-color:        #4338CA;
}
/* Bootstrap 4 / AdminLTE fallback */
.page-item.active .page-link {
    background-color: #4F46E5 !important;
    border-color:     #4F46E5 !important;
}
.page-link { color: #4F46E5 !important; }
.page-link:focus {
    box-shadow: 0 0 0 0.2rem rgba(79, 70, 229, 0.25) !important;
}

/* ═══════════════════════════════════════════════════════════════
   PROGRESS BARS
   ═══════════════════════════════════════════════════════════════ */
.progress-bar,
.progress-bar.bg-primary {
    background-color: #4F46E5 !important;
}

/* ═══════════════════════════════════════════════════════════════
   NAV PILLS & TABS
   ═══════════════════════════════════════════════════════════════ */
.nav-pills {
    --bs-nav-pills-link-active-bg: #4F46E5;
}
.nav-pills .nav-link.active        { background-color: #4F46E5 !important; }
.nav-tabs .nav-link.active         { color: #4F46E5 !important; border-bottom-color: #4F46E5 !important; }
.nav-tabs .nav-link:hover          { color: #4338CA !important; }

/* ═══════════════════════════════════════════════════════════════
   LIST GROUP
   ═══════════════════════════════════════════════════════════════ */
.list-group {
    --bs-list-group-active-bg:          #4F46E5;
    --bs-list-group-active-border-color:#4F46E5;
}
.list-group-item.active {
    background-color: #4F46E5 !important;
    border-color:     #4F46E5 !important;
}

/* ═══════════════════════════════════════════════════════════════
   DROPDOWN
   ═══════════════════════════════════════════════════════════════ */
.dropdown-item.active,
.dropdown-item:active {
    background-color: #4F46E5 !important;
}

/* ═══════════════════════════════════════════════════════════════
   ADMINLTE 3 — SIDEBAR & COMPOSANTS
   ═══════════════════════════════════════════════════════════════ */
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active,
.sidebar-dark-primary .nav-sidebar > .nav-item.menu-open > .nav-link {
    background-color: #4F46E5 !important;
    color: #fff !important;
}
.main-sidebar .brand-link:hover {
    background-color: rgba(79, 70, 229, 0.12) !important;
}
.card-primary:not(.card-outline) > .card-header {
    background-color:    #4F46E5 !important;
    border-bottom-color: #4F46E5 !important;
}
.card-primary.card-outline {
    border-top: 3px solid #4F46E5 !important;
}

/* ═══════════════════════════════════════════════════════════════
   DATATABLES
   ═══════════════════════════════════════════════════════════════ */
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background:   #4F46E5 !important;
    border-color: #4F46E5 !important;
    color: #fff !important;
}

/* ═══════════════════════════════════════════════════════════════
   SCROLLBAR
   ═══════════════════════════════════════════════════════════════ */
::-webkit-scrollbar             { width: 6px; height: 6px; }
::-webkit-scrollbar-track       { background: #f1f5f9; }
::-webkit-scrollbar-thumb       { background-color: #818CF8; border-radius: 4px; }
