:root {
  /* Palette principale */
  --bs-primary: #f97316;
  --bs-primary-rgb: 249, 115, 22;

  --bs-secondary: #6d28d9;
  --bs-secondary-rgb: 109, 40, 217;

  --bs-success: #7c3aed;
  --bs-success-rgb: 124, 58, 237;

  --bs-info: #a855f7;
  --bs-info-rgb: 168, 85, 247;

  --bs-warning: #fb923c;
  --bs-warning-rgb: 251, 146, 60;

  --bs-danger: #dc2626;
  --bs-danger-rgb: 220, 38, 38;

  --bs-light: #f8f6fc;
  --bs-light-rgb: 248, 246, 252;

  --bs-dark: #2e1065;
  --bs-dark-rgb: 46, 16, 101;

  /* Texte / fonds globaux */
  --bs-body-color: #4b5563;
  --bs-body-color-rgb: 75, 85, 99;

  --bs-body-bg: #ffffff;
  --bs-body-bg-rgb: 255, 255, 255;

  --bs-emphasis-color: #2e1065;
  --bs-secondary-color: #7c8192;
  --bs-secondary-bg: #f8f6fc;

  --bs-tertiary-bg: #f4effc;
  --bs-border-color: #e7def7;

  /* Liens */
  --bs-link-color: #6d28d9;
  --bs-link-hover-color: #4c1d95;

  /* Border radius un peu plus moderne */
  --bs-border-radius: 0.75rem;
  --bs-border-radius-sm: 0.5rem;
  --bs-border-radius-lg: 1rem;

  /* Ombres douces */
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(46, 16, 101, 0.08);
  --bs-box-shadow: 0 0.5rem 1rem rgba(46, 16, 101, 0.12);
  --bs-box-shadow-lg: 0 1rem 2rem rgba(46, 16, 101, 0.16);
}

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

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #f97316;
  --bs-btn-border-color: #f97316;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #ea580c;
  --bs-btn-hover-border-color: #ea580c;
  --bs-btn-focus-shadow-rgb: 249, 115, 22;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #c2410c;
  --bs-btn-active-border-color: #c2410c;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #f97316;
  --bs-btn-disabled-border-color: #f97316;
}

.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #6d28d9;
  --bs-btn-border-color: #6d28d9;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #5b21b6;
  --bs-btn-hover-border-color: #5b21b6;
  --bs-btn-focus-shadow-rgb: 109, 40, 217;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #4c1d95;
  --bs-btn-active-border-color: #4c1d95;
}

.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #2e1065;
  --bs-btn-border-color: #2e1065;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #4c1d95;
  --bs-btn-hover-border-color: #4c1d95;
  --bs-btn-focus-shadow-rgb: 46, 16, 101;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #24104f;
  --bs-btn-active-border-color: #24104f;
}

.btn-outline-primary {
  --bs-btn-color: #f97316;
  --bs-btn-border-color: #f97316;
  --bs-btn-hover-bg: #f97316;
  --bs-btn-hover-border-color: #f97316;
  --bs-btn-active-bg: #f97316;
  --bs-btn-active-border-color: #f97316;
}

.btn-outline-secondary {
  --bs-btn-color: #6d28d9;
  --bs-btn-border-color: #6d28d9;
  --bs-btn-hover-bg: #6d28d9;
  --bs-btn-hover-border-color: #6d28d9;
  --bs-btn-active-bg: #6d28d9;
  --bs-btn-active-border-color: #6d28d9;
}

/* -------------------------------------------------
   Fonds utilitaires
------------------------------------------------- */

.bg-primary {
  background-color: #f97316 !important;
}

.bg-secondary {
  background-color: #6d28d9 !important;
}

.bg-dark {
  background-color: #2e1065 !important;
}

.text-primary {
  color: #f97316 !important;
}

.text-secondary {
  color: #6d28d9 !important;
}

.text-dark {
  color: #2e1065 !important;
}

/* -------------------------------------------------
   Navbar
------------------------------------------------- */

.navbar-dark,
.navbar.bg-dark {
  background: linear-gradient(90deg, #2e1065 0%, #4c1d95 100%) !important;
}

.navbar-dark .navbar-brand,
.navbar-dark .nav-link,
.navbar-dark .navbar-nav .nav-link.active {
  color: #ffffff !important;
}

.navbar-dark .nav-link:hover,
.navbar-dark .nav-link:focus {
  color: #fb923c !important;
}

/* -------------------------------------------------
   Cards / Panels / Containers
------------------------------------------------- */

.card {
  border-color: #e7def7;
  box-shadow: 0 0.5rem 1rem rgba(46, 16, 101, 0.08);
}

.card-header {
  background-color: #f8f6fc;
  color: #2e1065;
  border-bottom-color: #e7def7;
}

/* -------------------------------------------------
   Alerts
------------------------------------------------- */

.alert-primary {
  color: #7c2d12;
  background-color: #ffedd5;
  border-color: #fdba74;
}

.alert-secondary {
  color: #3b0764;
  background-color: #f3e8ff;
  border-color: #d8b4fe;
}

.alert-dark {
  color: #ffffff;
  background-color: #2e1065;
  border-color: #4c1d95;
}

/* -------------------------------------------------
   Badges
------------------------------------------------- */

.text-bg-primary {
  background-color: #f97316 !important;
  color: #fff !important;
}

.text-bg-secondary {
  background-color: #6d28d9 !important;
  color: #fff !important;
}

.text-bg-dark {
  background-color: #2e1065 !important;
  color: #fff !important;
}

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

.form-control:focus,
.form-select:focus {
  border-color: #c4b5fd;
  box-shadow: 0 0 0 0.25rem rgba(109, 40, 217, 0.15);
}

.form-check-input:checked {
  background-color: #6d28d9;
  border-color: #6d28d9;
}

.form-check-input:focus {
  box-shadow: 0 0 0 0.25rem rgba(109, 40, 217, 0.15);
}

/* -------------------------------------------------
   Dropdown / pagination / list-group
------------------------------------------------- */

.dropdown-item:active {
  background-color: #6d28d9;
}

.page-link {
  color: #6d28d9;
}

.page-link:hover {
  color: #4c1d95;
}

.page-item.active .page-link {
  background-color: #6d28d9;
  border-color: #6d28d9;
}

.list-group-item.active {
  background-color: #6d28d9;
  border-color: #6d28d9;
}

/* -------------------------------------------------
   Tables
------------------------------------------------- */

.table-dark {
  --bs-table-bg: #2e1065;
  --bs-table-striped-bg: #3c157f;
  --bs-table-hover-bg: #4c1d95;
  --bs-table-border-color: #5b21b6;
}

/* -------------------------------------------------
   Petites touches visuelles
------------------------------------------------- */

a {
  text-decoration-color: rgba(109, 40, 217, 0.35);
}

a:hover {
  text-decoration-color: rgba(76, 29, 149, 0.5);
}

hr {
  border-color: #e7def7;
}


.admin-layout {
    display: flex;
    min-height: 100vh;
}

.admin-sidebar {
    width: 260px;
    min-height: 100vh;
    flex-shrink: 0;
}

.admin-content {
    flex: 1;
    min-width: 0;
    overflow-x: hidden;
}

.admin-logo {
    max-height: 40px;
    width: auto;
}

/* Liens sidebar */
.admin-sidebar .nav-link,
.offcanvas .nav-link {
    border-radius: 0.5rem;
    transition: background-color 0.2s ease;
}

.admin-sidebar .nav-link:hover,
.offcanvas .nav-link:hover {
    background: rgba(255, 255, 255, 0.08);
}

/* Mobile / tablette */
@media (max-width: 991.98px) {
    .admin-layout {
        display: block;
        min-height: auto;
    }

    .admin-content {
        width: 100%;
    }
}

.admin-logo-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
}

.admin-logo {
    max-width: 100%;
    height: auto;
    max-height: 42px;
}

/* sidebar desktop */
.admin-sidebar .admin-logo {
    max-height: 40px;
}

/* sidebar mobile */
.offcanvas .admin-logo {
    max-height: 36px;
    width: 100%;
}

.admin-header-logo-link {
    display: flex;
    align-items: center;
    text-decoration: none;
}

.admin-header-logo {
    height: 32px;
    width: auto;
}

/* Desktop : on masque le header logo car il existe déjà dans la sidebar */
@media (min-width: 992px) {
    .admin-header-logo {
        display: none;
    }
}

.navbar .btn {
    transition: transform .15s ease;
}

.navbar .btn:hover {
    transform: scale(1.05);
}

