/* =========================================================
   STEPH LINGERIE — Charte graphique
   Rose Fuchsia #E8187A · Prune #6B2B5A · Style élégant & féminin
   Palette extraite du logo officiel Steph Lingerie
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Archivo:wght@500;600;700&family=Manrope:wght@400;500;600;700&display=swap');

:root {
  /* Couleurs extraites du logo Steph Lingerie */
  --dedi-blue: #E8187A;
  /* Rose fuchsia — silhouette logo (couleur principale) */
  --dedi-blue-deep: #B5105C;
  /* Rose fuchsia foncé — hover / actif */
  --dedi-blue-mid: #F03A8F;
  /* Rose moyen — transitions */
  --dedi-blue-soft: #FDEEF5;
  /* Rose très pâle — fond hover/badge */
  --dedi-blue-mist: #FFF5F8;
  /* Blanc rosé — fond tableau / hover tr */
  --dedi-gold: #E8187A;
  /* Prune remplacé par Fuchsia */
  --dedi-gold-deep: #B5105C;
  /* Prune foncé remplacé par Fuchsia foncé */
  --dedi-gold-soft: #F3E8F0;
  /* Prune très pâle — fond badge warning */
  --dedi-ink: #1A1A1A;
  /* Noir — texte "STEPH" du logo */
  --dedi-muted: #7A6070;
  /* Gris rosé — textes secondaires */
  --dedi-line: #EDDDEA;
  /* Rose-gris — bordures */
  --dedi-canvas: #FFF5F8;
  /* Blanc rosé — fond général */
  --dedi-white: #FFFFFF;
  --dedi-danger: #DC2626;
  /* Rouge — actions destructives (delete) */
  --dedi-danger-soft: #FDECEC;
  /* Rouge très pâle — fond "soft danger" au hover delete */
  --dedi-radius: 10px;
  --dedi-shadow: 0 12px 40px rgba(232, 24, 122, 0.08);

  --primary-color: var(--dedi-blue);
  --bs-primary: var(--dedi-blue);
  --bs-primary-rgb: 232, 24, 122;
}

html,
body {
  font-family: 'Manrope', system-ui, sans-serif;
  color: var(--dedi-ink);
  background-color: var(--dedi-canvas);
}

h1,
h2,
h3,
h4,
h5,
h6,
.page-header h4,
.card-title,
.login-userheading h3 {
  font-family: 'Archivo', 'Manrope', sans-serif;
  letter-spacing: -0.02em;
  color: var(--dedi-ink);
}

/* ---------- Primary overrides (ex-orange DreamsPOS) ---------- */
a {
  color: var(--dedi-blue);
}

a:hover {
  color: var(--dedi-blue-deep);
}

.btn.btn-primary,
.btn.btn-submit,
.btn.btn-login,
.btn.btn-added,
button.btn.btn-primary,
a.btn.btn-primary {
  background-color: var(--dedi-blue) !important;
  border-color: var(--dedi-blue) !important;
  color: #fff !important;
  border-radius: 8px;
  font-weight: 600;
  letter-spacing: 0.02em;
  box-shadow: none !important;
}

.btn.btn-primary:hover,
.btn.btn-primary:focus,
.btn.btn-primary:active,
.btn.btn-primary.active,
.btn.btn-submit:hover,
.btn.btn-login:hover,
.btn.btn-added:hover,
.btn.btn-added:focus,
.btn.btn-added:active {
  background-color: var(--dedi-blue-deep) !important;
  border-color: var(--dedi-blue-deep) !important;
}

.btn-secondary {
  background-color: var(--dedi-ink) !important;
  border-color: var(--dedi-ink) !important;
}

.btn-outline-primary {
  color: var(--dedi-blue) !important;
  border-color: var(--dedi-blue) !important;
}

.btn-outline-primary:hover {
  background-color: var(--dedi-blue) !important;
  color: #fff !important;
}

.text-primary,
.text-orange,
.badge-soft-primary {
  color: var(--dedi-blue) !important;
}

.bg-primary,
.badge-primary,
.bg-soft-primary {
  background-color: var(--dedi-blue) !important;
}

.border-primary {
  border-color: var(--dedi-blue) !important;
}

/* ---------- Header ---------- */
.header {
  background: var(--dedi-white) !important;
  border-bottom: 1px solid var(--dedi-line) !important;
  box-shadow: none !important;
}

.header .header-left,
.header-left.active {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-direction: row !important;
  gap: 8px;
  width: 260px;
  height: 66px;
  padding: 0 16px 0 20px !important;
  border-right: 1px solid var(--dedi-line) !important;
  border-bottom: 1px solid var(--dedi-line) !important;
  background: var(--dedi-white);
  transition: width 0.2s ease, padding 0.2s ease !important;
}

.header-left.active .logo.logo-normal,
.header .header-left .logo.logo-normal {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex: 1;
  line-height: 1.2 !important;
  text-decoration: none;
}

.header-left.active .logo img,
.header .logo img,
.header .logo-small img,
.dedi-header-logo {
  max-height: 40px;
  width: 40px;
  height: 40px;
  object-fit: contain;
  border-radius: 50%;
  flex-shrink: 0;
}

.dedi-header-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  min-width: 0;
  text-align: left;
}

.dedi-header-brand__name {
  display: block;
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: 'Archivo', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--dedi-ink);
  line-height: 1.25;
}

.dedi-header-brand__meta {
  display: block;
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 500;
  font-style: normal;
  color: var(--dedi-muted);
  line-height: 1.2;
  letter-spacing: 0.02em;
}

.header-left .logo h6,
.header-left .logo p {
  display: none;
}

.header-left #toggle_btn {
  position: absolute !important;
  right: -12px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px !important;
  height: 24px !important;
  border-radius: 50%;
  background: var(--dedi-blue) !important;
  color: #fff !important;
  opacity: 1 !important;
  z-index: 2;
  box-shadow: 0 2px 8px rgba(0, 57, 186, 0.25);
  transition: background 0.15s ease, opacity 0.15s ease;
}

.header-left #toggle_btn:hover {
  background: var(--dedi-blue-deep) !important;
}

.header-left #toggle_btn svg {
  width: 14px;
  height: 14px;
  stroke: #fff;
}

.header-left.active #toggle_btn svg {
  transform: rotate(0) !important;
}

.header-left:not(.active) #toggle_btn svg,
body.mini-sidebar .header-left #toggle_btn svg {
  transform: rotate(180deg) !important;
}

#toggle_btn,
.mobile_btn,
.nav.user-menu .nav-item-box a {
  color: var(--dedi-ink);
}

.nav.user-menu .nav-item-box a:hover {
  color: var(--dedi-blue);
  background: var(--dedi-blue-soft);
}

/* Mini-sidebar : header-left compact */
@media (min-width: 992px) {

  body.mini-sidebar .header .header-left,
  body.mini-sidebar .header-left.active {
    width: 80px !important;
    padding: 0 !important;
    justify-content: center !important;
    flex-direction: row !important;
  }

  body.mini-sidebar .header-left .logo.logo-normal,
  body.mini-sidebar .header-left .logo.logo-white {
    display: none !important;
  }

  body.mini-sidebar .header-left .logo-small {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    line-height: 0;
  }

  body.mini-sidebar .header-left .logo-small img,
  body.mini-sidebar .dedi-header-logo {
    max-height: 36px;
    width: 36px;
    height: 36px;
  }

  body.mini-sidebar .header-left #toggle_btn {
    opacity: 1 !important;
    right: -12px;
  }

  /* Masquer les titres de section (h6) en sidebar réduite */
  body.mini-sidebar .sidebar .sidebar-menu h6,
  body.mini-sidebar .sidebar .sidebar-menu .menu-header,
  body.mini-sidebar .sidebar .sidebar-menu .submenu-hdr,
  body.mini-sidebar .sidebars .sidebar-menu h6,
  body.mini-sidebar .sidebars .sidebar-menu .menu-header,
  body.mini-sidebar .sidebars .sidebar-menu .submenu-hdr {
    display: none !important;
  }

  /* Centrer les icônes (dont active) en sidebar réduite */
  body.mini-sidebar:not(.expand-menu) .sidebar .sidebar-menu a,
  body.mini-sidebar:not(.expand-menu) .sidebar .sidebar-menu .menu-link,
  body.mini-sidebar:not(.expand-menu) .sidebar .sidebar-menu>ul>li>a,
  body.mini-sidebar:not(.expand-menu) .sidebar .sidebar-menu>ul>li.submenu-open ul li a,
  body.mini-sidebar:not(.expand-menu) .sidebar .sidebar-menu li.active>a,
  body.mini-sidebar:not(.expand-menu) .sidebar .sidebar-menu a.active,
  body.mini-sidebar:not(.expand-menu) .sidebars .sidebar-menu a,
  body.mini-sidebar:not(.expand-menu) .sidebars .sidebar-menu li.active>a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 0 !important;
    margin: 2px 8px !important;
    gap: 0 !important;
    width: auto !important;
    min-height: 40px;
  }

  body.mini-sidebar:not(.expand-menu) .sidebar .sidebar-menu a span,
  body.mini-sidebar:not(.expand-menu) .sidebar .sidebar-menu .menu-arrow,
  body.mini-sidebar:not(.expand-menu) .sidebars .sidebar-menu a span,
  body.mini-sidebar:not(.expand-menu) .sidebars .sidebar-menu .menu-arrow {
    display: none !important;
  }

  body.mini-sidebar:not(.expand-menu) .sidebar .sidebar-menu a svg,
  body.mini-sidebar:not(.expand-menu) .sidebar .sidebar-menu a i,
  body.mini-sidebar:not(.expand-menu) .sidebar .sidebar-menu li.active>a svg,
  body.mini-sidebar:not(.expand-menu) .sidebar .sidebar-menu a.active svg,
  body.mini-sidebar:not(.expand-menu) .sidebars .sidebar-menu a svg {
    margin: 0 !important;
    display: block !important;
  }

  body.mini-sidebar:not(.expand-menu) .sidebar .sidebar-menu>ul>li.submenu-open ul,
  body.mini-sidebar:not(.expand-menu) .sidebar .sidebar-menu .submenu ul {
    padding: 0 !important;
    margin: 0 !important;
  }

  body.mini-sidebar.expand-menu .header .header-left,
  body.mini-sidebar.expand-menu .header-left.active {
    width: 260px !important;
    padding: 0 16px 0 20px !important;
    justify-content: space-between !important;
  }

  body.mini-sidebar.expand-menu .header-left .logo-small {
    display: none !important;
  }

  body.mini-sidebar.expand-menu .header-left .logo.logo-normal {
    display: inline-flex !important;
  }

  body.mini-sidebar.expand-menu .header-left #toggle_btn {
    opacity: 1 !important;
  }

  body.mini-sidebar.expand-menu .sidebar .sidebar-menu h6,
  body.mini-sidebar.expand-menu .sidebar .sidebar-menu .menu-header,
  body.mini-sidebar.expand-menu .sidebar .sidebar-menu .submenu-hdr,
  body.mini-sidebar.expand-menu .sidebars .sidebar-menu h6,
  body.mini-sidebar.expand-menu .sidebars .sidebar-menu .menu-header,
  body.mini-sidebar.expand-menu .sidebars .sidebar-menu .submenu-hdr {
    display: block !important;
  }
}

/* Mobile */
@media (max-width: 991.98px) {

  .header .header-left,
  .header-left.active {
    width: auto !important;
    max-width: calc(100% - 120px);
    position: relative !important;
    border-right: none !important;
    padding: 0 12px !important;
  }

  .header-left #toggle_btn {
    display: none !important;
  }

  .dedi-header-brand__name {
    max-width: 110px;
    font-size: 12px;
  }

  .header-left.active .logo img,
  .dedi-header-logo {
    max-height: 34px;
    width: 34px;
    height: 34px;
  }
}

/* ---------- Sidebar ---------- */
.sidebar {
  background: var(--dedi-white) !important;
  border-right: 1px solid var(--dedi-line) !important;
}

.sidebar .sidebar-menu,
.sidebars .sidebar-menu {
  padding: 16px 12px 24px !important;
}

/* Groupes de menu : respiration entre sections */
.sidebar .sidebar-menu>ul>li,
.sidebars .sidebar-menu>ul>li,
.sidebar .sidebar-menu .menu-group,
.sidebar .sidebar-menu .menu-item {
  margin-bottom: 4px !important;
}

.sidebar .sidebar-menu>ul>li.menu-group,
.sidebar .sidebar-menu .menu-group.submenu-open {
  margin-top: 0 !important;
  margin-bottom: 4px !important;
}

.sidebar .sidebar-menu>ul>li.menu-group:first-child,
.sidebar .sidebar-menu .menu-item:first-child {
  margin-top: 0 !important;
}

/* En-têtes de section */
.sidebar-menu .menu-header,
#sidebar-menu .menu-header,
.sidebar .sidebar-menu .submenu-hdr,
.sidebars .sidebar-menu .submenu-hdr,
.sidebar .sidebar-menu>ul>li.submenu-open .submenu-hdr,
.sidebars .sidebar-menu>ul>li.submenu-open .submenu-hdr {
  color: var(--dedi-muted) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 24px 10px 10px !important;
  padding: 0 !important;
  line-height: 1.4;
}

.sidebar .sidebar-menu>ul>li:first-child .submenu-hdr,
.sidebar .sidebar-menu>ul>li:first-child .menu-header,
.sidebar .sidebar-menu .menu-group:first-child .menu-header,
.sidebar .sidebar-menu .menu-item+.menu-group .menu-header {
  margin-top: 20px !important;
}

.sidebar .sidebar-menu>ul>li.menu-group:first-of-type .menu-header,
.sidebar .sidebar-menu>ul>li.submenu-open:first-child .submenu-hdr {
  margin-top: 8px !important;
}

/* Liste d’items dans un groupe */
.sidebar .sidebar-menu .menu-group>ul,
.sidebar .sidebar-menu>ul>li.submenu-open>ul,
.sidebars .sidebar-menu>ul>li.submenu-open>ul {
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.sidebar .sidebar-menu .menu-group>ul>li,
.sidebar .sidebar-menu>ul>li.submenu-open>ul>li {
  margin: 0 !important;
}

.sidebar .sidebar-menu a,
.sidebar .sidebar-menu .menu-link,
.sidebars .sidebar-menu a,
.sidebars .sidebar-menu .menu-link,
.sidebar .sidebar-menu>ul>li>a,
.sidebars .sidebar-menu>ul>li>a,
.sidebar .sidebar-menu>ul>li.submenu-open ul li a,
.sidebars .sidebar-menu>ul>li.submenu-open ul li a {
  color: var(--dedi-ink) !important;
  border-radius: 8px !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  box-shadow: none !important;
  gap: 10px;
  min-height: 40px;
}

.sidebar .sidebar-menu a span,
.sidebars .sidebar-menu a span,
.sidebar .sidebar-menu>ul>li.submenu-open ul li a span {
  color: var(--dedi-muted) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.sidebar .sidebar-menu a svg,
.sidebar .sidebar-menu .menu-link svg,
.sidebars .sidebar-menu a svg,
.sidebar .sidebar-menu>ul>li svg {
  color: var(--dedi-muted) !important;
  stroke: var(--dedi-muted) !important;
  margin-right: 0 !important;
  flex-shrink: 0;
}

/* Hover + Active : même style */
.sidebar .sidebar-menu a:hover,
.sidebar .sidebar-menu .menu-link:hover,
.sidebar .sidebar-menu li.active>a,
.sidebar .sidebar-menu li.active .menu-link,
.sidebar .sidebar-menu .active>a,
.sidebar .sidebar-menu a.active,
.sidebar .sidebar-menu>ul>li>a.active,
.sidebar .sidebar-menu>ul>li.active a,
.sidebar .sidebar-menu>ul>li.submenu-open ul li a.active,
.sidebar .sidebar-menu>ul>li.submenu-open ul>li.active a,
.sidebars .sidebar-menu a:hover,
.sidebars .sidebar-menu li.active>a,
.sidebars .sidebar-menu a.active,
.sidebars .sidebar-menu>ul>li>a.active,
.sidebars .sidebar-menu>ul>li.active a {
  background: var(--dedi-blue-soft) !important;
  color: var(--dedi-blue) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

.sidebar .sidebar-menu a:hover span,
.sidebar .sidebar-menu li.active>a span,
.sidebar .sidebar-menu a.active span,
.sidebar .sidebar-menu>ul>li>a.active span,
.sidebar .sidebar-menu>ul>li.active a span,
.sidebars .sidebar-menu a:hover span,
.sidebars .sidebar-menu li.active>a span,
.sidebars .sidebar-menu a.active span {
  color: var(--dedi-blue) !important;
}

.sidebar .sidebar-menu a:hover svg,
.sidebar .sidebar-menu .menu-link:hover svg,
.sidebar .sidebar-menu li.active>a svg,
.sidebar .sidebar-menu a.active svg,
.sidebar .sidebar-menu>ul>li>a.active svg,
.sidebar .sidebar-menu>ul>li.active svg,
.sidebars .sidebar-menu a:hover svg,
.sidebars .sidebar-menu li.active>a svg,
.sidebars .sidebar-menu a.active svg {
  color: var(--dedi-blue) !important;
  stroke: var(--dedi-blue) !important;
}

/* ---------- Cards & content ---------- */
.page-wrapper {
  background: var(--dedi-canvas) !important;
}

/* POS : laisser voir l'image de fond (body::before) */
.page-wrapper.pos-pg-wrapper {
  background: transparent !important;
}

.card {
  border: 1px solid var(--dedi-line) !important;
  border-radius: var(--dedi-radius) !important;
  box-shadow: none !important;
  background: var(--dedi-white);
}

.card-header {
  background: transparent !important;
  border-bottom: 1px solid var(--dedi-line) !important;
}

.dash-widget,
.dash-count {
  border-radius: var(--dedi-radius);
  border: 1px solid var(--dedi-line);
  box-shadow: none !important;
}

/* ---------- Forms ---------- */
.form-control,
.form-select,
.select2-container--default .select2-selection--single {
  border-color: var(--dedi-line) !important;
  border-radius: 8px !important;
  min-height: 44px;
  box-shadow: none !important;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--dedi-blue) !important;
  box-shadow: 0 0 0 3px rgba(0, 57, 186, 0.12) !important;
}

.form-label,
label {
  font-weight: 560;
  color: var(--dedi-ink);
  font-size: 0.875rem;
}

/* ---------- Tables ---------- */
.table thead th {
  background: var(--dedi-blue-mist) !important;
  color: var(--dedi-ink) !important;
  font-weight: 600;
  border-bottom: 1px solid var(--dedi-line) !important;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.table-striped>tbody>tr:nth-of-type(odd)>* {
  background-color: rgba(243, 246, 252, 0.6);
}

.page-item.active .page-link {
  background-color: var(--dedi-blue) !important;
  border-color: var(--dedi-blue) !important;
}

.page-link {
  color: var(--dedi-blue);
}

/* ---------- Checkboxes / switches ---------- */
.checkboxs input:checked~.checkmarks,
.checkmarks::after,
.custom-checkbox input:checked~.checkmark {
  background-color: var(--dedi-blue) !important;
  border-color: var(--dedi-blue) !important;
}

/* ---------- Badges & accents (charte bleu / or uniquement) ---------- */
.badge.bg-soft-primary,
.badge-linesuccess,
.badges-success {
  background: var(--dedi-blue-soft) !important;
  color: var(--dedi-blue) !important;
  border: 1px solid rgba(0, 57, 186, 0.22) !important;
  border-radius: 8px !important;
  padding: 5px 10px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em;
  box-shadow: none !important;
}

.badge-linedanger,
.badge-linedangered {
  background: var(--dedi-blue-mist) !important;
  color: var(--dedi-muted) !important;
  border: 1px solid var(--dedi-line) !important;
  border-radius: 8px !important;
  padding: 5px 10px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em;
  box-shadow: none !important;
}

/* Exception demandée : statut "Active" des catégories en vert (au lieu du bleu de la charte) */
.cat-badge-active {
  background: #e6f7ec !important;
  color: #1a7f37 !important;
  border: 1px solid rgba(26, 127, 55, 0.25) !important;
  border-radius: 8px !important;
  padding: 5px 10px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em;
  box-shadow: none !important;
}

/* Pastilles statut Livewire (Actif / Inactif) */
.dedi-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.3;
  white-space: nowrap;
  border: 1px solid transparent;
}

.dedi-status::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  flex-shrink: 0;
  background: currentColor;
}

.dedi-status--active {
  background: #E8F8EF;
  color: #1B9E4B;
  border-color: rgba(27, 158, 75, 0.25);
}

.dedi-status--inactive {
  background: #FDECEC;
  color: #D64545;
  border-color: rgba(214, 69, 69, 0.25);
}

.badge-primary,
.bg-primary,
.badge-info,
.bg-info,
.badge.bg-info,
.badge.badge-info,
.badge-success,
.bg-success,
.badge.bg-success,
.badge.badge-success {
  background-color: var(--dedi-blue) !important;
  background: var(--dedi-blue) !important;
  color: #fff !important;
  border-color: var(--dedi-blue) !important;
  box-shadow: none !important;
}

.badge-soft-info,
.badge-soft-success,
.badge.badge-soft-info,
.badge.badge-soft-success {
  background: var(--dedi-blue-soft) !important;
  color: var(--dedi-blue) !important;
  box-shadow: none !important;
}

.badge-warning,
.bg-warning,
.badge.bg-warning,
.badge.badge-warning {
  background-color: var(--dedi-gold) !important;
  background: var(--dedi-gold) !important;
  color: var(--dedi-ink) !important;
  border-color: var(--dedi-gold) !important;
  box-shadow: none !important;
}

.badge-soft-warning,
.badge.badge-soft-warning {
  background: var(--dedi-gold-soft) !important;
  color: var(--dedi-gold-deep) !important;
  box-shadow: none !important;
}

.badge-danger,
.bg-danger,
.badge.bg-danger,
.badge.badge-danger {
  background-color: var(--dedi-ink) !important;
  background: var(--dedi-ink) !important;
  color: #fff !important;
  border-color: var(--dedi-ink) !important;
  box-shadow: none !important;
}

.badge-soft-danger,
.badge.badge-soft-danger {
  background: var(--dedi-blue-mist) !important;
  color: var(--dedi-ink) !important;
  box-shadow: none !important;
}

.badge-secondary,
.bg-secondary,
.badge.bg-secondary {
  background-color: var(--dedi-blue-soft) !important;
  color: var(--dedi-blue) !important;
  border-color: var(--dedi-blue-soft) !important;
}

.text-info,
.text-success {
  color: var(--dedi-blue) !important;
}

.text-warning {
  color: var(--dedi-gold-deep) !important;
}

.text-danger {
  color: var(--dedi-ink) !important;
}

.btn-info,
.btn-success {
  background-color: var(--dedi-blue) !important;
  border-color: var(--dedi-blue) !important;
  color: #fff !important;
}

.btn-info:hover,
.btn-success:hover {
  background-color: var(--dedi-blue-deep) !important;
  border-color: var(--dedi-blue-deep) !important;
}

.btn-warning {
  background-color: var(--dedi-gold) !important;
  border-color: var(--dedi-gold) !important;
  color: var(--dedi-ink) !important;
}

.btn-danger {
  background-color: var(--dedi-ink) !important;
  border-color: var(--dedi-ink) !important;
  color: #fff !important;
}

.btn-danger:hover {
  background-color: var(--dedi-blue-deep) !important;
  border-color: var(--dedi-blue-deep) !important;
}

.alert-info,
.alert-success {
  background-color: var(--dedi-blue-mist) !important;
  border-color: var(--dedi-blue-soft) !important;
  color: var(--dedi-blue-deep) !important;
}

.alert-warning {
  background-color: var(--dedi-gold-soft) !important;
  border-color: var(--dedi-gold) !important;
  color: var(--dedi-ink) !important;
}

.alert-danger {
  background-color: var(--dedi-blue-mist) !important;
  border-color: var(--dedi-line) !important;
  color: var(--dedi-ink) !important;
}

/* ---------- Loader ---------- */
.whirly-loader::after,
#global-loader .whirly-loader {
  border-color: var(--dedi-blue) transparent var(--dedi-gold) transparent !important;
}

/* ---------- Modals ---------- */
.modal-header {
  border-bottom: 1px solid var(--dedi-line);
}

.modal-title {
  font-family: 'Archivo', sans-serif;
}

/* ---------- Select2 / dropdowns ---------- */
.select2-container--default .select2-results__option--highlighted[aria-selected],
.dropdown-item.active,
.dropdown-item:active {
  background-color: var(--dedi-blue) !important;
  color: #fff !important;
}

/* ---------- Soft replacements for leftover orange / hors charte ---------- */
[style*="#FF9F43"],
.bg-orange {
  background-color: var(--dedi-blue) !important;
}

.edit-delete-action a:hover {
  background-color: var(--dedi-blue) !important;
  border-color: var(--dedi-blue) !important;
}

.edit-delete-action a.confirm-text:hover,
.edit-delete-action a:hover .feather-trash-2 {
  background-color: var(--dedi-ink) !important;
  border-color: var(--dedi-ink) !important;
  color: #fff !important;
}

.edit-delete-action a.edit-icon:hover {
  background-color: var(--dedi-gold) !important;
  border-color: var(--dedi-gold) !important;
  color: var(--dedi-ink) !important;
}

table tbody td.action-table-data a .feather-edit,
table tbody td.action-table-data a .action-download {
  color: var(--dedi-muted) !important;
}

table tbody td.action-table-data a .feather-trash-2 {
  color: var(--dedi-muted) !important;
}

table tbody td.action-table-data a .feather-eye,
table tbody td.action-table-data a .action-eye {
  color: var(--dedi-muted) !important;
}

/* ---------- POS / receipts brand strip ---------- */
.dedi-brand-strip {
  height: 3px;
  background: linear-gradient(90deg, var(--dedi-blue) 0%, var(--dedi-gold) 100%);
  width: 100%;
}

.dedi-gold-rule {
  height: 2px;
  width: 48px;
  background: var(--dedi-gold);
  border: 0;
  margin: 12px 0;
}

/* ---------- Low stock FAB (bas droite) ---------- */
@keyframes dedi-stock-pulse {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.05);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes dedi-stock-bounce {

  0%,
  20%,
  53%,
  80%,
  100% {
    transform: translateY(0);
  }

  40%,
  43% {
    transform: translateY(-12px);
  }

  70% {
    transform: translateY(-6px);
  }

  90% {
    transform: translateY(-2px);
  }
}

.floating-low-stock-btn {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 1055;
}

.dedi-stock-fab {
  position: relative;
  width: 52px;
  height: 52px;
  border: 1px solid var(--dedi-blue);
  border-radius: 14px;
  background: var(--dedi-blue);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(0, 57, 186, 0.28);
  animation: dedi-stock-pulse 2s infinite;
  transition: background 0.2s ease, transform 0.2s ease;
}

.dedi-stock-fab:hover {
  background: var(--dedi-blue-deep);
  transform: translateY(-2px);
}

.dedi-stock-fab svg {
  width: 22px;
  height: 22px;
  stroke: #fff;
}

.dedi-stock-fab__badge {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--dedi-gold);
  color: var(--dedi-ink);
  font-size: 11px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  border: 2px solid #fff;
}

@media (max-width: 768px) {
  .floating-low-stock-btn {
    bottom: 80px;
    right: 16px;
  }
}


/* ---------- Livewire / Rappasoft tables ---------- */
.dedi-livewire-table {
  font-family: 'Manrope', sans-serif;
}

.card.table-list-card .card-body.dedi-livewire-table {
  padding: 0 !important;
}

.dedi-livewire-table .d-md-flex.justify-content-between {
  padding: 24px 24px 16px !important;
  margin: 0 !important;
}

.dedi-livewire-table .mb-3 {
  margin-bottom: 0.75rem !important;
}

.dedi-livewire-table .d-md-flex.justify-content-between.mb-3 {
  margin-bottom: 0 !important;
}

/* Tris / filtres appliqués — padding latéral (wrapper Rappasoft imbriqué) */
.dedi-livewire-table .d-flex.flex-column>.mb-3,
.dedi-livewire-table .d-flex.flex-column>div>.mb-3 {
  padding: 16px 24px 12px !important;
  margin-bottom: 0 !important;
}

.dedi-livewire-table .d-flex.flex-column>div:first-child>.mb-3,
.dedi-livewire-table .d-flex.flex-column>.mb-3:first-child {
  padding-top: 20px !important;
}

/* Filter slidedown — pas de container Bootstrap */
.dedi-livewire-table .dedi-filter-slidedown {
  width: 100% !important;
  max-width: none !important;
  padding: 0 24px 12px !important;
  margin: 0 !important;
}

.dedi-livewire-table .table-responsive {
  padding: 0 !important;
  border-top: 1px solid var(--dedi-line, #E3E7EF);
}

.dedi-livewire-table .table {
  margin-bottom: 0 !important;
}

.dedi-livewire-table .table thead th {
  background: #F5F6F8 !important;
  font-family: 'Archivo', sans-serif;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--dedi-ink, #121826) !important;
  border-bottom: 1px solid var(--dedi-line, #E3E7EF) !important;
  padding: 12px !important;
  white-space: nowrap;
  vertical-align: middle;
}

.dedi-livewire-table .table tbody td {
  font-size: 14px;
  padding: 12px !important;
  vertical-align: middle;
  border-bottom: 1px solid #F0F2F7 !important;
  background: #fff !important;
}

.dedi-livewire-table .table tbody tr:hover td {
  background: var(--dedi-blue-mist, #F3F6FC) !important;
}

.dedi-livewire-table .productimgname {
  display: flex;
  align-items: center;
  gap: 8px;
}

.dedi-livewire-table .productimgname__text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.dedi-livewire-table .productimgname__name {
  font-size: 14px;
  font-weight: 600;
  color: var(--dedi-ink, #121826);
  line-height: 1.25;
}

.dedi-livewire-table .productimgname__type {
  font-size: 12px;
  font-weight: 500;
  color: var(--dedi-muted, #5B6475);
  line-height: 1.2;
}

.dedi-livewire-table .productimgname img {
  width: 32px;
  height: 32px;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid var(--dedi-line, #E3E7EF);
}

/* Actions — neutres, couleur au hover */
.dedi-livewire-table .dedi-actions-cell {
  display: flex !important;
  align-items: center;
  gap: 6px !important;
  height: auto !important;
}

.dedi-livewire-table .dedi-action-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 8px !important;
  border: 1px solid var(--dedi-line, #E3E7EF) !important;
  background: #fff !important;
  color: var(--dedi-muted, #5B6475) !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.dedi-livewire-table .dedi-action-btn svg {
  width: 15px;
  height: 15px;
  color: inherit !important;
  stroke: currentColor !important;
}

.dedi-livewire-table .dedi-action-btn--qty:hover,
.dedi-livewire-table .dedi-action-btn--view:hover {
  color: #fff !important;
  background: var(--dedi-blue, #0039BA) !important;
  border-color: var(--dedi-blue, #0039BA) !important;
}

.dedi-livewire-table .dedi-action-btn--edit:hover {
  color: #fff !important;
  background: var(--dedi-gold, #FABA01) !important;
  border-color: var(--dedi-gold, #FABA01) !important;
}

.dedi-livewire-table .dedi-action-btn--delete:hover {
  color: var(--dedi-danger, #DC2626) !important;
  background: var(--dedi-danger-soft, #FDECEC) !important;
  border-color: var(--dedi-danger, #DC2626) !important;
}

.dedi-livewire-table .dedi-action-btn:hover svg {
  color: inherit !important;
  stroke: currentColor !important;
}

/* Pagination */
.dedi-livewire-table .dedi-table-pagination {
  padding: 16px 24px !important;
  border-top: 1px solid var(--dedi-line, #E3E7EF);
}

.dedi-livewire-table .dedi-table-pagination .pagination {
  display: flex !important;
  gap: 6px;
}

.dedi-livewire-table .dedi-table-pagination .page-link {
  margin-left: 0 !important;
  border-radius: 8px !important;
  border: 1px solid var(--dedi-line, #E3E7EF) !important;
  color: var(--dedi-ink, #121826) !important;
  min-width: 32px;
  text-align: center;
  padding: 4px 8px !important;
}

.dedi-livewire-table .dedi-table-pagination .page-item.active .page-link {
  background: var(--dedi-blue, #0039BA) !important;
  border-color: var(--dedi-blue, #0039BA) !important;
  color: #fff !important;
}

/* Bulk */
.dedi-livewire-table .form-check {
  margin: 0;
  min-height: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.dedi-livewire-table .form-check-input {
  width: 16px;
  height: 16px;
  margin: 0;
  cursor: pointer;
}

.dedi-livewire-table .dedi-bulk-actions-menu.dropdown-menu {
  z-index: 1080 !important;
  min-width: 200px;
  border-radius: 8px !important;
  border: 1px solid var(--dedi-line, #E3E7EF) !important;
  box-shadow: 0 8px 24px rgba(18, 24, 38, 0.12) !important;
}
/* ---------- Override Secondary Button to match Primary ---------- */
.btn-secondary,
.btn.btn-secondary,
.btn-secondary:not(:disabled):not(.disabled).active,
.btn-secondary:not(:disabled):not(.disabled):active,
.show > .btn-secondary.dropdown-toggle {
  background-color: var(--dedi-blue) !important;
  border-color: var(--dedi-blue) !important;
  color: #fff !important;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn.btn-secondary:hover,
.btn.btn-secondary:focus,
.btn-secondary.focus {
  background-color: var(--dedi-blue-deep) !important;
  border-color: var(--dedi-blue-deep) !important;
  color: #fff !important;
}

.btn-secondary-light,
.btn.btn-secondary-light {
  background-color: rgba(232, 24, 122, 0.1) !important;
  color: var(--dedi-blue) !important;
}
.btn-secondary-light:hover,
.btn.btn-secondary-light:hover {
  background-color: var(--dedi-blue) !important;
  color: #fff !important;
}
