/* ==========================================================
   AROMAZEN - CUSTOM BOOTSTRAP 2026
   By Agence Machin Machine ;)
   ========================================================== */

:root {

  /* =========================
     BRANDING
  ========================= */
  --bs-primary: #6c745f;
  --bs-primary-rgb: 108,116,95;

  --bs-secondary: #9b7a5d;
  --bs-secondary-rgb: 155,122,93;

  /* Aplats */
  --az-beige: #eaded0;
  --az-cream: #f2f2ea;
  --az-outline: #203034;

  /* Success / warning / danger : a valider */
  --bs-success: #5b6b55;
  --bs-success-rgb: 91,107,85;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;

  /* =========================
     STATES
  ========================= */
  --bs-primary-hover: #5d654f;
  --bs-primary-active: #51594a;
  --bs-secondary-hover: #836549;
  --bs-secondary-active: #6f573f;

  /* =========================
     UI BASE
  ========================= */
  --bs-body-color: #231f20;
  --bs-body-color-rgb: 35,31,32;
  --bs-body-bg: #ffffff;
  --bs-heading-color: #231f20;

  --bs-border-radius: 12px;
  --bs-border-radius-lg: 16px;
  --az-btn-radius: 25px;

  --bs-box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  --bs-box-shadow-sm: 0 5px 15px rgba(0,0,0,0.05);

  /* =========================
     LINKS
  ========================= */
  --bs-link-color: var(--bs-secondary);
  --bs-link-color-rgb: var(--bs-secondary-rgb);
  --bs-link-hover-color: var(--bs-secondary-hover);

  /* =========================
     PAGINATION THEME
  ========================= */
  --bs-pagination-color: var(--bs-primary);
  --bs-pagination-bg: #fff;
  --bs-pagination-border-color: #e5e5e5;

  --bs-pagination-hover-color: var(--az-cream);
  --bs-pagination-hover-bg: var(--bs-primary-hover);
  --bs-pagination-hover-border-color: var(--bs-primary-hover);

  --bs-pagination-active-color: var(--az-cream);
  --bs-pagination-active-bg: var(--bs-primary);
  --bs-pagination-active-border-color: var(--bs-primary);

  --bs-pagination-disabled-color: #aaa;
  --bs-pagination-disabled-bg: #f8f8f8;
  --bs-pagination-disabled-border-color: #e5e5e5;

  /* =========================
     MISE EN PAGE THEME
  ========================= */
  --section-spacing: 60px;
}


/* ==========================================================
   GLOBAL BASE
   ========================================================== */

html {
  scroll-behavior: smooth;
}

body {
  color: var(--bs-body-color);
  background: var(--bs-body-bg);
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  color: var(--bs-heading-color);
}

p {
  color: var(--bs-body-color);
}

a {
  color: var(--bs-link-color);
  transition: color 0.2s ease;
  text-decoration: none;
}

a:hover {
  color: var(--bs-link-hover-color);
}

p a {
  color: var(--bs-secondary);
}

p a:hover {
  color: var(--bs-secondary-hover);
}

p strong {
  color: var(--bs-secondary);
  font-weight: 500;
}

/* ==========================================================
   MISE EN PAGE
   ========================================================== */
@media (min-width: 768px) {
    :root {
        --section-spacing: 100px;
    }
}

.section-spacing {
    padding-top: var(--section-spacing);
    padding-bottom: var(--section-spacing);
}

.section-spacing-no-top {
    padding-top: 0;
}
.section-spacing-no-bottom {
  padding-bottom: 0;
}
/* ==========================================================
   APLATS DE COULEUR
   ========================================================== */

.bg-beige        { background-color: var(--az-beige) !important; }
.vert-pale       { background-color: var(--az-cream) !important; }
.vert-fonce      { background-color: var(--az-outline) !important; }
.vert            { background-color: var(--bs-primary) !important; }
.bg-primary-soft { background: rgba(var(--bs-primary-rgb), 0.12) !important; }

/* ==========================================================
   COULEUR
   ========================================================== */

.text-cream       { color: var(--az-cream) !important; }
.text-beige       { color: var(--bs-secondary) !important; }
.text-vert        { color: var(--bs-primary) !important; }


/* ==========================================================
   BUTTONS (GLOBAL)
   ========================================================== */

.btn {
  border-radius: var(--az-btn-radius);
  font-weight: 500;
  padding: 0.7rem 1.4rem;
  transition: all 0.25s ease;
}

/* PRIMARY */
.btn-primary {
  --bs-btn-color: var(--az-cream);
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: var(--az-cream);
  --bs-btn-hover-bg: var(--bs-primary-hover);
  --bs-btn-hover-border-color: var(--bs-primary-hover);
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
  --bs-btn-active-color: var(--az-cream);
  --bs-btn-active-bg: var(--bs-primary-active);
  --bs-btn-active-border-color: var(--bs-primary-active);
  --bs-btn-disabled-color: var(--az-cream);
  --bs-btn-disabled-bg: var(--bs-primary);
  --bs-btn-disabled-border-color: var(--bs-primary);
  box-shadow: 0 8px 20px rgba(var(--bs-primary-rgb), 0.25);
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(var(--bs-primary-rgb), 0.35);
}

.btn-primary:active {
  transform: translateY(0);
  box-shadow: 0 5px 15px rgba(var(--bs-primary-rgb), 0.2);
}

.btn-primary:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.4);
}

/* SECONDARY */
.btn-secondary {
  --bs-btn-color: var(--az-cream);
  --bs-btn-bg: var(--bs-secondary);
  --bs-btn-border-color: var(--bs-secondary);
  --bs-btn-hover-color: var(--az-cream);
  --bs-btn-hover-bg: var(--bs-secondary-hover);
  --bs-btn-hover-border-color: var(--bs-secondary-hover);
  --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb);
  --bs-btn-active-color: var(--az-cream);
  --bs-btn-active-bg: var(--bs-secondary-active);
  --bs-btn-active-border-color: var(--bs-secondary-active);
  --bs-btn-disabled-color: var(--az-cream);
  --bs-btn-disabled-bg: var(--bs-secondary);
  --bs-btn-disabled-border-color: var(--bs-secondary);
}

/* OUTLINE (bordure seule) */
.btn-outline-primary {
  --bs-btn-color: var(--az-outline);
  --bs-btn-border-color: var(--az-outline);
  --bs-btn-hover-color: var(--az-cream);
  --bs-btn-hover-bg: var(--az-outline);
  --bs-btn-hover-border-color: var(--az-outline);
  --bs-btn-focus-shadow-rgb: 32,48,52;
  --bs-btn-active-color: var(--az-cream);
  --bs-btn-active-bg: var(--az-outline);
  --bs-btn-active-border-color: var(--az-outline);
  --bs-btn-disabled-color: var(--az-outline);
  --bs-btn-disabled-border-color: var(--az-outline);
}

/* BLANC */
.btn-blanc {
  --bs-btn-color: #203034;
  --bs-btn-bg: #fff;
  --bs-btn-border-color: #fff;
  --bs-btn-hover-color: #203034;
  --bs-btn-hover-bg: var(--az-cream);
  --bs-btn-hover-border-color: var(--az-cream);
  --bs-btn-focus-shadow-rgb: 255, 255, 255;
  --bs-btn-active-color: #203034;
  --bs-btn-active-bg: var(--az-cream);
  --bs-btn-active-border-color: var(--az-cream);
  --bs-btn-disabled-color: #203034;
  --bs-btn-disabled-bg: #fff;
  --bs-btn-disabled-border-color: #fff;
  box-shadow: 0 8px 20px rgba(35, 31, 32, 0.15);
}


/* ==========================================================
   CARDS
   ========================================================== */

.card {
  border: none;
  border-radius: var(--bs-border-radius-lg);
  box-shadow: var(--bs-box-shadow-sm);
  transition: all 0.25s ease;
  background: #fff;
}

.card-title {
  font-weight: 600;
  color: var(--bs-heading-color);
}


/* ==========================================================
   FORMS
   ========================================================== */

.form-control {
  border-radius: 25px;
  border: 1px solid #ddd;
  padding: 0.8rem 0.9rem;
  transition: all 0.2s ease;
}

.form-control:focus {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.2);
}


/* ==========================================================
   ALERTS
   ========================================================== */

.alert {
  border: none;
  border-radius: var(--bs-border-radius);
  padding: 1rem 1.25rem;
}

.alert-primary {
  background: rgba(var(--bs-primary-rgb), 0.1);
  color: var(--bs-primary);
}

.alert-success {
  background: rgba(var(--bs-success-rgb), 0.1);
  color: var(--bs-success);
}

.alert-warning {
  background: rgba(255,193,7,0.15);
}

.alert-danger {
  background: rgba(220,53,69,0.1);
}


/* ==========================================================
   BADGES
   ========================================================== */

.badge {
  border-radius: 50px;
  padding: 0.4em 0.7em;
  font-weight: 500;
}

.bg-primary {
  background: var(--bs-primary) !important;
}

.bg-secondary {
  background: var(--bs-secondary) !important;
}

.bg-success {
  background: var(--bs-success) !important;
}


/* ==========================================================
   TABLES
   ========================================================== */

.table {
  border-radius: var(--bs-border-radius);
  overflow: hidden;
}

.table thead {
  background: rgba(var(--bs-primary-rgb), 0.05);
}


/* ==========================================================
   NAVIGATION
   ========================================================== */

.nav-link {
  color: var(--bs-body-color);
  transition: 0.2s;
}

.nav-link:hover {
  color: var(--bs-primary);
}

.nav-pills .nav-link.active {
  background: var(--bs-primary);
  color: var(--az-cream);
}


/* ==========================================================
   DROPDOWN
   ========================================================== */

.dropdown-menu {
  border-radius: var(--bs-border-radius);
  border: none;
  box-shadow: var(--bs-box-shadow);
}

.dropdown-item:hover {
  background: rgba(var(--bs-primary-rgb), 0.08);
}


/* ==========================================================
   PROGRESS BAR
   ========================================================== */

.progress {
  height: 8px;
  border-radius: 50px;
  background: #eee;
}

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


/* ==========================================================
   MODAL
   ========================================================== */

.modal-content {
  border-radius: var(--bs-border-radius-lg);
  border: none;
}

.modal-header {
  border-bottom: none;
}

.modal-footer {
  border-top: none;
}


/* ==========================================================
   PAGINATION
   ========================================================== */

.page-link {
  position: relative;
  display: block;
  padding: 0.5rem 0.75rem;
  color: var(--bs-primary);
  text-decoration: none;
  background-color: var(--bs-pagination-bg);
  border: 1px solid var(--bs-pagination-border-color);
  transition: all 0.2s ease;
}

.page-link:hover {
  z-index: 2;
  color: var(--bs-pagination-hover-color);
  background-color: var(--bs-pagination-hover-bg);
  border-color: var(--bs-pagination-hover-border-color);
}

.page-link:focus {
  z-index: 3;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25);
}

.page-item.active .page-link,
.page-link.active {
  z-index: 3;
  color: var(--bs-pagination-active-color);
  background-color: var(--bs-pagination-active-bg);
  border-color: var(--bs-pagination-active-border-color);
}

.page-item.disabled .page-link {
  color: var(--bs-pagination-disabled-color);
  pointer-events: none;
  background-color: var(--bs-pagination-disabled-bg);
  border-color: var(--bs-pagination-disabled-border-color);
}

.page-item:first-child .page-link {
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}

.page-item:last-child .page-link {
  border-top-right-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
}

.dt-paging-button.page-item.active .page-link {
  background-color: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
  color: var(--az-cream) !important;
}

/* ==========================================================
   DROPDOWN / SOUS-MENU
   ========================================================== */

.dropdown-menu {
  --bs-dropdown-bg: #fff;
  --bs-dropdown-border-radius: var(--bs-border-radius);
  --bs-dropdown-padding-y: 0.5rem;
  --bs-dropdown-link-color: var(--bs-body-color);
  --bs-dropdown-link-hover-color: var(--bs-primary);
  --bs-dropdown-link-hover-bg: var(--az-cream);
  --bs-dropdown-link-active-color: var(--az-cream);
  --bs-dropdown-link-active-bg: var(--bs-primary);
  --bs-dropdown-link-disabled-color: #aaa;
  border: none;
  box-shadow: var(--bs-box-shadow);
}

.dropdown-item {
  transition: all 0.2s ease;
}

.dropdown-item:focus,
.dropdown-item:focus-visible {
  color: var(--bs-primary);
  background-color: var(--az-cream);
  outline: 0;
}

/* Item de la page courante (WordPress) */
.dropdown-item.active,
.dropdown-item:active,
.current-menu-item > .dropdown-item {
  color: var(--az-cream);
  background-color: var(--bs-primary);
}

/* Parent ouvert / actif dans la barre */
.navbar-nav .nav-link.show,
.navbar-nav .nav-link.active,
.navbar-nav .current-menu-ancestor > .nav-link {
  color: var(--bs-primary);
}

/* Lien + chevron sur la même ligne */
.navbar-nav > .dropdown {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.navbar-nav > .dropdown > .nav-link:first-child {
  flex-grow: 1;
}

.navbar-nav > .dropdown > .dropdown-menu {
  flex: 0 0 100%;
}

/* Desktop : ouverture au survol */
@media (min-width: 992px) {
  .navbar-nav > .dropdown {
    position: relative;
    flex-wrap: nowrap;
  }

  .navbar-nav > .dropdown > .nav-link:first-child {
    flex-grow: 0;
  }

  .navbar-nav > .dropdown > .dropdown-menu {
    flex: none;
    top: 100%;
    left: 0;
  }

  .navbar-nav > .dropdown:hover > .dropdown-menu {
    display: block;
    margin-top: 0;
  }
}
