/**
 * themes/default/theme.css — Thème Kaiadmin Default
 * Inspiré de Kaiadmin Lite (themekita.com) — Bootstrap 5.3
 * Surcharge les variables :root de assets/css/core.css
 * Compatible dark-mode natif Bootstrap 5.3 (data-bs-theme="dark")
 */

/* ══════════════════════════════════════════════════════════
   PALETTE LIGHT
   ══════════════════════════════════════════════════════════ */
:root {
    /* Primaire Kaiadmin — bleu électrique */
    --cms-primary:        #1572E8;
    --cms-primary-dark:   #1269d3;
    --cms-primary-light:  #dde9fd;

    /* Secondaires */
    --cms-success:        #31CE36;
    --cms-danger:         #F25961;
    --cms-warning:        #FFAD46;
    --cms-info:           #48ABF7;
    --cms-secondary:      #6861CE;

    /* Surfaces publiques */
    --cms-bg:             #f9fafb;
    --cms-bg-alt:         #f1f3f8;
    --cms-border:         #e6e9f0;
    --cms-text:           #2d3748;
    --cms-text-muted:     #8898aa;

    /* Admin surfaces */
    --cms-admin-bg:       #f4f6fb;
    --cms-text-dark:      #1a202c;

    /* Topbar */
    --cms-topbar-bg:      #ffffff;
    --cms-topbar-border:  #edf0f7;
    --cms-topbar-shadow:  0 2px 14px rgba(21,114,232,.07);
    --cms-topbar-text:    #6b7a99;
    --cms-topbar-height:  64px;

    /* Sidebar */
    --cms-sidebar-width:       260px;
    --cms-sidebar-mini-width:  70px;
    --cms-sidebar-bg:          #1a2035;
    --cms-sidebar-logo-bg:     #141b2d;
    --cms-sidebar-text:        #9ab3cf;
    --cms-sidebar-text-muted:  rgba(154,179,207,.45);
    --cms-sidebar-section:     rgba(154,179,207,.38);
    --cms-sidebar-divider:     rgba(255,255,255,.06);
    --cms-sidebar-hover-bg:    rgba(255,255,255,.07);
    --cms-sidebar-active-bg:   rgba(21,114,232,.2);
    --cms-sidebar-active:      #ffffff;
    --cms-sidebar-shadow:      5px 0 25px rgba(0,0,0,.22);

    /* Navigation publique */
    --cms-nav-bg:         #1a2035;
    --cms-nav-text:       #c8d3e6;
    --cms-nav-hover:      #1572E8;

    /* Misc */
    --cms-radius:         0.45rem;
    --cms-shadow:         0 2px 8px rgba(0,0,0,.07);
    --cms-shadow-lg:      0 8px 28px rgba(0,0,0,.13);
}

/* ══════════════════════════════════════════════════════════
   PALETTE DARK
   ══════════════════════════════════════════════════════════ */
[data-bs-theme="dark"] {
    --cms-bg:             #111827;
    --cms-bg-alt:         #1e2534;
    --cms-border:         #2d3a4e;
    --cms-text:           #e2e8f0;
    --cms-text-muted:     #7a8fa6;
    --cms-admin-bg:       #0f172a;
    --cms-text-dark:      #f1f5f9;

    --cms-topbar-bg:      #1e2534;
    --cms-topbar-border:  #2d3a4e;
    --cms-topbar-shadow:  0 2px 14px rgba(0,0,0,.3);
    --cms-topbar-text:    #94a3b8;

    --cms-sidebar-bg:          #0f1623;
    --cms-sidebar-logo-bg:     #0a1018;
    --cms-sidebar-text:        #8099b8;
    --cms-sidebar-section:     rgba(128,153,184,.35);
    --cms-sidebar-divider:     rgba(255,255,255,.05);
    --cms-sidebar-hover-bg:    rgba(255,255,255,.06);
    --cms-sidebar-active-bg:   rgba(21,114,232,.22);

    --cms-nav-bg:    #0f1623;
    --cms-nav-text:  #94a3b8;
}

/* ══════════════════════════════════════════════════════════
   BODY PUBLIC
   ══════════════════════════════════════════════════════════ */
body {
    font-family:   'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
    background:    var(--cms-bg);
    color:         var(--cms-text);
    -webkit-font-smoothing: antialiased;
}

/* ══════════════════════════════════════════════════════════
   NAVBAR PUBLIQUE
   ══════════════════════════════════════════════════════════ */
.navbar {
    background: var(--cms-nav-bg) !important;
    padding-top:    .6rem;
    padding-bottom: .6rem;
    box-shadow:     0 2px 16px rgba(0,0,0,.18);
}
.navbar .navbar-brand {
    font-weight: 700;
    font-size:   1.05rem;
    color:       #fff !important;
    letter-spacing: -.3px;
}
.navbar .nav-link {
    color:         var(--cms-nav-text) !important;
    font-size:     .875rem;
    font-weight:   500;
    padding:       .45rem .75rem !important;
    border-radius: var(--cms-radius);
    transition:    color .15s, background .15s;
}
.navbar .nav-link:hover,
.navbar .nav-link.cms-nav-active {
    color:      #fff !important;
    background: rgba(255,255,255,.1);
}
.navbar .navbar-toggler {
    border: none;
    color: rgba(255,255,255,.7) !important;
}

/* ══════════════════════════════════════════════════════════
   CARDS PUBLIQUES
   ══════════════════════════════════════════════════════════ */
.card {
    border-radius: var(--cms-radius) !important;
    border:        1px solid var(--cms-border) !important;
    box-shadow:    var(--cms-shadow) !important;
}
.card-header {
    background:   var(--cms-bg-alt) !important;
    border-color: var(--cms-border) !important;
}

/* ══════════════════════════════════════════════════════════
   FORMULAIRES
   ══════════════════════════════════════════════════════════ */
.form-control, .form-select {
    border-color:  var(--cms-border);
    border-radius: var(--cms-radius);
    font-size:     .875rem;
    transition:    border-color .15s, box-shadow .15s;
}
.form-control:focus, .form-select:focus {
    border-color: var(--cms-primary);
    box-shadow:   0 0 0 3px rgba(21,114,232,.12);
}

/* ══════════════════════════════════════════════════════════
   BOUTONS
   ══════════════════════════════════════════════════════════ */
.btn {
    font-weight:   500;
    font-size:     .855rem;
    border-radius: var(--cms-radius);
    letter-spacing:.1px;
    transition:    all .18s;
}
.btn-primary {
    background: var(--cms-primary);
    border-color: var(--cms-primary);
}
.btn-primary:hover {
    background:   var(--cms-primary-dark);
    border-color: var(--cms-primary-dark);
    transform:    translateY(-1px);
    box-shadow:   0 4px 14px rgba(21,114,232,.35);
}
.btn-outline-primary { color: var(--cms-primary); border-color: var(--cms-primary); }
.btn-outline-primary:hover {
    background:   var(--cms-primary);
    border-color: var(--cms-primary);
    color:        #fff;
}

/* ══════════════════════════════════════════════════════════
   BADGES
   ══════════════════════════════════════════════════════════ */
.badge {
    font-weight:   600;
    font-size:     .7rem;
    letter-spacing:.3px;
    border-radius: .35rem;
}

/* ══════════════════════════════════════════════════════════
   TABLES
   ══════════════════════════════════════════════════════════ */
.table {
    font-size: .855rem;
}
.table th {
    font-size:      .75rem;
    font-weight:    700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color:          var(--cms-text-muted);
    border-bottom:  2px solid var(--cms-border);
}
.table-hover tbody tr:hover {
    background: rgba(21,114,232,.04);
}

/* ══════════════════════════════════════════════════════════
   ALERTS
   ══════════════════════════════════════════════════════════ */
.alert {
    border-radius: var(--cms-radius);
    border-width:  0;
    border-left:   4px solid currentColor;
    font-size:     .875rem;
}

/* ══════════════════════════════════════════════════════════
   PAGINATION
   ══════════════════════════════════════════════════════════ */
.page-link {
    border-radius: var(--cms-radius) !important;
    margin:        0 2px;
    color:         var(--cms-primary);
    border-color:  var(--cms-border);
    font-size:     .83rem;
}
.page-item.active .page-link {
    background:   var(--cms-primary);
    border-color: var(--cms-primary);
}

/* ══════════════════════════════════════════════════════════
   DROPDOWN MENU
   ══════════════════════════════════════════════════════════ */
.dropdown-menu {
    border:        1px solid var(--cms-border);
    border-radius: var(--cms-radius);
    box-shadow:    var(--cms-shadow-lg);
    font-size:     .855rem;
    padding:       .4rem;
}
.dropdown-item {
    border-radius: calc(var(--cms-radius) - 2px);
    padding:       .42rem .75rem;
    transition:    background .13s;
}
.dropdown-item:hover { background: var(--cms-bg-alt); }

/* ══════════════════════════════════════════════════════════
   MODAL
   ══════════════════════════════════════════════════════════ */
.modal-content {
    border:        1px solid var(--cms-border);
    border-radius: calc(var(--cms-radius) * 1.5);
    box-shadow:    var(--cms-shadow-lg);
}
.modal-header {
    border-color: var(--cms-border);
    font-weight:  700;
}
.modal-footer { border-color: var(--cms-border); }

/* ══════════════════════════════════════════════════════════
   SCROLLBAR GLOBALE (WebKit)
   ══════════════════════════════════════════════════════════ */
::-webkit-scrollbar        { width: 6px; height: 6px; }
::-webkit-scrollbar-track  { background: transparent; }
::-webkit-scrollbar-thumb  { background: rgba(0,0,0,.15); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(0,0,0,.25); }
[data-bs-theme="dark"] ::-webkit-scrollbar-thumb { background: rgba(255,255,255,.12); }

/* ══════════════════════════════════════════════════════════
   FOOTER PUBLIC
   ══════════════════════════════════════════════════════════ */
footer.border-top {
    background:  var(--cms-bg-alt) !important;
    border-color:var(--cms-border) !important;
}

/* ══════════════════════════════════════════════════════════
   TRANSITIONS GLOBALES
   ══════════════════════════════════════════════════════════ */
*, *::before, *::after {
    box-sizing: border-box;
}
a { transition: color .15s; }
