:root{
  --bs-primary:#ff7a3d;
}

body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,"Helvetica Neue",Arial,"Noto Sans";}
.fw-800{font-weight:800;}

.bg-gradient{
  background:linear-gradient(180deg,#fff6ec, #fff);
}
.hero-card{
  height:clamp(260px,42vw,460px);
  position:relative;
  transition:transform .3s ease, box-shadow .3s ease;
}
.hero-card-glow{
  position:absolute; inset:-3px; z-index:0;
  background:linear-gradient(135deg, rgba(255,122,61,.15), rgba(255,183,3,.1));
  border-radius:inherit;
  opacity:0;
  filter:blur(24px);
  transition:opacity .4s ease;
  pointer-events:none;
}
.hero-card:hover .hero-card-glow{
  opacity:1;
}
.hero-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 48px rgba(0,0,0,.12);
}
.hero-card img{
  filter:brightness(1.05) saturate(1.08);
  transition:transform .6s cubic-bezier(0.34, 1.56, 0.64, 1);
  position:relative;
  z-index:1;
}
.hero-card:hover img{
  transform:scale(1.06);
}

/* Mobile adjustments - Hero */
/* Menu Staggered Mobile */
@media (max-width: 991.98px){
  .navbar-collapse{
    display:none !important;
  }
  .staggered-menu-panel{
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
  }
  .staggered-menu-toggle{
    display: inline-flex !important;
    position: relative;
    z-index: 10001;
  }
}

@media (min-width: 992px){
  .staggered-menu-toggle{
    display: none !important;
  }
  .staggered-menu-wrapper{
    display: none !important;
  }
}

@media (max-width: 767.98px){
  .display-5{
    font-size:clamp(1.75rem, 6vw, 2.25rem) !important;
    line-height:1.2;
    margin-bottom:1rem !important;
  }
  .lead{
    font-size:.95rem !important;
    line-height:1.5;
    margin-bottom:1.5rem !important;
  }
  .hero-card{
    height:clamp(240px, 60vw, 340px);
    margin-top:1.5rem;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 16px 40px rgba(0,0,0,.12), 0 0 0 1px rgba(255,122,61,.08);
    position:relative;
    background:#fff;
  }
  .hero-card::before{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, transparent 0%, rgba(0,0,0,.04) 100%);
    pointer-events:none;
    z-index:1;
  }
  .hero-card-glow{
    position:absolute; inset:-2px; z-index:0;
    background:linear-gradient(135deg, rgba(255,122,61,.2), rgba(255,183,3,.15));
    border-radius:inherit;
    opacity:0;
    filter:blur(20px);
    transition:opacity .4s ease;
    pointer-events:none;
  }
  .hero-card:hover .hero-card-glow{
    opacity:1;
  }
  .hero-card img{
    filter:brightness(1.08) saturate(1.12) contrast(1.05);
    transition:transform .6s cubic-bezier(0.34, 1.56, 0.64, 1);
    position:relative;
    z-index:1;
  }
  .hero-card:hover img{
    transform:scale(1.08);
  }
  .btn-lg{
    padding:.5rem 1rem;
    font-size:.9rem;
  }
  .navbar-brand{
    font-size:1.2rem !important;
  }
  .navbar-toggler-icon{
    width:1.2em;
    height:1.2em;
  }
  header.py-5{
    padding-top:2rem !important;
    padding-bottom:2rem !important;
  }
} 

.object-fit-cover{object-fit:cover;}

/* Cards */
.card{border:1px solid rgba(31,21,16,.08);} 

/* Product card utilities */
.product-card .price{font-weight:700;}
.product-card img{aspect-ratio:1/1;object-fit:cover;}

/* Produits populaires : 2 en mobile, 4 en desktop */
#home-products > .col-lg-3{
  flex: 0 0 50%;
  width: 50%;
  max-width: 50%;
}
@media (min-width: 768px){
  #home-products > .col-lg-3{
    flex: 0 0 33.333333%;
    width: 33.333333%;
    max-width: 33.333333%;
  }
}
@media (min-width: 992px){
  #home-products > .col-lg-3{
    flex: 0 0 25% !important;
    width: 25% !important;
    max-width: 25% !important;
  }
}

/* Footer accordéons mobile */
.footer-accordion{
  color:#1f1510;
  position:relative;
  transition:color .2s ease, background .2s ease;
  border-radius:6px;
  font-size:.85rem;
  padding:.4rem .6rem !important;
  margin-bottom:.3rem !important;
}
.footer-accordion:hover{
  color:var(--bs-primary);
  background:rgba(255,122,61,.05);
}
.footer-accordion[aria-expanded="true"]{
  color:var(--bs-primary);
  background:rgba(255,122,61,.08);
}
.footer-accordion[aria-expanded="true"] span{
  transform:rotate(45deg);
  display:inline-block;
  transition:transform .25s ease;
}
.footer-accordion span{
  transition:transform .25s ease;
  font-size:1rem;
  font-weight:300;
  line-height:1;
}
@media (max-width: 767.98px){
  footer .collapse:not(.show){
    display:none !important;
  }
  footer .collapse.show{
    display:block !important;
  }
  footer .col-12{
    border-bottom:1px solid rgba(31,21,16,.06);
    padding-bottom:.4rem !important;
    margin-bottom:.3rem !important;
  }
  footer .col-12:last-child{
    border-bottom:none;
  }
  footer h6{
    font-size:.85rem !important;
    margin-bottom:.4rem !important;
  }
  footer ul{
    margin-bottom:.3rem !important;
  }
  footer ul li{
    margin-bottom:.2rem !important;
  }
  footer ul li a{
    font-size:.8rem !important;
  }
}

/* Cart list */
.cart-line img{width:72px;height:72px;object-fit:cover;border-radius:.5rem;border:1px solid rgba(0,0,0,.06)}

/* ===================== NAV: Atypique morphing floating ===================== */
.navbar{ 
  position:relative; 
  transition:transform .4s cubic-bezier(0.4, 0, 0.2, 1), backdrop-filter .4s ease;
  background:transparent !important;
  padding-top:1rem; padding-bottom:1rem;
}
.navbar-brand{
  font-size:1.4rem;
  font-weight:800;
  background:linear-gradient(135deg, #1f1510 0%, var(--bs-primary) 50%, #1f1510 100%);
  background-size:200% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  transition:transform .3s cubic-bezier(0.34, 1.56, 0.64, 1);
  animation:brandShimmer 4s ease-in-out infinite;
}
@keyframes brandShimmer{
  0%,100%{ background-position:0% 50%; }
  50%{ background-position:100% 50%; }
}
.navbar-brand:hover{ transform:scale(1.05); }
.navbar::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.88) 100%);
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  border-bottom:1px solid rgba(255,122,61,.08);
  clip-path:polygon(0 0, 100% 0, 100% 85%, 98% 100%, 2% 100%, 0 85%);
  transition:clip-path .4s cubic-bezier(0.4, 0, 0.2, 1);
}
.navbar.scrolled-down{ transform:translateY(-100%); }
.navbar.scrolled-up{ transform:translateY(0); }
.navbar:hover::before{ clip-path:polygon(0 0, 100% 0, 100% 90%, 97% 100%, 3% 100%, 0 90%); }

.nav-innov{ 
  position:relative; 
  padding:.5rem; 
  border-radius:24px; 
  background:linear-gradient(135deg, rgba(255,255,255,.6), rgba(255,255,255,.3));
  backdrop-filter:blur(16px) saturate(150%);
  -webkit-backdrop-filter:blur(16px) saturate(150%);
  border:1.5px solid rgba(255,122,61,.15);
  box-shadow:0 8px 32px rgba(0,0,0,.06), inset 0 1px 0 rgba(255,255,255,.8);
  transform-style:preserve-3d;
  transition:transform .3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .3s ease;
}
.nav-innov::after{
  content:""; position:absolute; inset:-2px; z-index:-1; border-radius:inherit;
  background:linear-gradient(135deg, rgba(255,122,61,.2), rgba(255,183,3,.15));
  opacity:0; transition:opacity .3s ease;
  filter:blur(12px);
}
.nav-innov:hover{ transform:translateY(-2px) scale(1.01); box-shadow:0 12px 40px rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,.9); }
.nav-innov:hover::after{ opacity:1; }

.nav-innov .nav-link{ 
  position:relative; 
  border-radius:16px; 
  padding:.6rem 1.1rem;
  font-weight:500;
  transition:color .2s ease, transform .2s ease;
  z-index:1;
}
.nav-innov .nav-link:hover{ color:var(--bs-primary) !important; transform:scale(1.05); }
.nav-innov .nav-link.active{ color:var(--bs-primary) !important; font-weight:600; }

.nav-indicator{ 
  position:absolute; 
  top:6px; 
  height:42px; 
  background:linear-gradient(135deg, var(--bs-primary) 0%, #ffb703 50%, var(--bs-primary) 100%);
  background-size:200% 100%;
  border-radius:18px; 
  transition: transform .4s cubic-bezier(0.34, 1.56, 0.64, 1), width .4s cubic-bezier(0.34, 1.56, 0.64, 1), opacity .3s ease;
  opacity:.25;
  box-shadow:0 4px 16px rgba(255,122,61,.3), inset 0 1px 0 rgba(255,255,255,.3);
  animation:indicatorShimmer 3s ease-in-out infinite;
}
@keyframes indicatorShimmer{
  0%,100%{ background-position:0% 50%; }
  50%{ background-position:100% 50%; }
}
.nav-innov:hover .nav-indicator{ opacity:.4; box-shadow:0 6px 20px rgba(255,122,61,.4), inset 0 1px 0 rgba(255,255,255,.4); }

/* Cart button pill & badge - atypique */
.btn.btn-primary.rb-ripple{ 
  border-radius:18px; 
  padding:.6rem 1.3rem; 
  font-weight:600;
  background:linear-gradient(135deg, var(--bs-primary) 0%, #ffb703 100%);
  border:none;
  box-shadow:0 4px 16px rgba(255,122,61,.3), inset 0 1px 0 rgba(255,255,255,.3);
  transition:transform .25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .25s ease;
  position:relative;
  overflow:visible;
}
.btn.btn-primary.rb-ripple::before{
  content:""; position:absolute; inset:0; background:linear-gradient(135deg, rgba(255,255,255,.2), transparent);
  opacity:0; transition:opacity .25s ease;
  border-radius:inherit;
  z-index:1;
}
.btn.btn-primary.rb-ripple:hover{ 
  transform:translateY(-2px) scale(1.05); 
  box-shadow:0 8px 24px rgba(255,122,61,.4), inset 0 1px 0 rgba(255,255,255,.4);
}
.btn.btn-primary.rb-ripple:hover::before{ opacity:1; }
.badge-cart{ 
  min-width:26px !important; 
  height:26px !important; 
  display:inline-grid !important; 
  place-items:center !important; 
  border-radius:999px !important; 
  border:3px solid #fff !important; 
  box-shadow:0 4px 12px rgba(220,53,69,.5), 0 0 0 2px rgba(220,53,69,.15), inset 0 1px 0 rgba(255,255,255,.4) !important;
  font-weight:700 !important;
  font-size:.7rem !important;
  padding:0 6px !important;
  line-height:1 !important;
  position:absolute !important;
  top:-8px !important;
  right:-8px !important;
  left:auto !important;
  transform:none !important;
  translate:none !important;
  z-index:1051 !important;
  background:linear-gradient(135deg, #dc3545 0%, #c82333 100%) !important;
  animation:pulse 2s ease-in-out infinite;
  white-space:nowrap !important;
}
@keyframes pulse{
  0%,100%{ transform:scale(1); }
  50%{ transform:scale(1.15); }
}

/* ===================== Cards: lift + shimmer sweep ===================== */
.rb-card-animate{ transition: transform .25s ease, box-shadow .25s ease; }
.rb-card-animate:hover{ transform: translateY(-4px); box-shadow: 0 14px 32px rgba(0,0,0,.08); }
.rb-card-animate .card-img-top{ position:relative; overflow:hidden; }
.rb-card-animate .card-img-top::after{
  content:""; position:absolute; inset:0; background:linear-gradient(110deg, transparent 0%, rgba(255,255,255,.35) 18%, transparent 36%);
  transform: translateX(-120%); transition: transform .8s ease;
}
.rb-card-animate:hover .card-img-top::after{ transform: translateX(140%); }

/* ===================== Ripple (lightweight) ===================== */
.rb-ripple{ position:relative; overflow:hidden; }
.rb-ripple span.r{ position:absolute; border-radius:50%; transform:translate(-50%,-50%); background:rgba(0,0,0,.12); pointer-events:none; animation:ripple .6s ease-out forwards; }
@keyframes ripple{ from{ width:0; height:0; opacity:.35;} to{ width:260px; height:260px; opacity:0; } }

/* Low stock badge */
.badge-low{ background:#fff1f0; color:#c92a2a; border:1px solid rgba(201,42,42,.25); font-weight:600; }

/* ============ ReactBits-like: Underline (liquid) ============ */
.rb-underline{position:relative; text-decoration:none;}
.rb-underline::after{
  content:""; position:absolute; left:0; bottom:-2px; height:2px; width:100%;
  background:linear-gradient(90deg,var(--bs-primary), #ffb703);
  transform:scaleX(0); transform-origin:left; transition:transform .35s ease;
}
.rb-underline:hover::after{ transform:scaleX(1); }

/* ============ ReactBits-like: Spotlight on cards (mouse-position) ============ */
.rb-spotlight{ position:relative; overflow:hidden;}
.rb-spotlight::before{
  content:""; position:absolute; inset:-1px; pointer-events:none; border-radius:inherit;
  background:radial-gradient(280px 160px at var(--mx,50%) var(--my,50%), rgba(255,122,61,.18), transparent 60%);
  opacity:0; transition:opacity .25s ease;
}
.rb-spotlight:hover::before{ opacity:1; }

/* ============ ReactBits-like: Cursor aura (springy) ============ */
#cursor-aura{ position:fixed; left:0; top:0; width:28px; height:28px; border-radius:999px; pointer-events:none; z-index:1050; transform:translate(-50%,-50%);
  background:radial-gradient(14px 14px at 50% 50%, rgba(255,122,61,.35), transparent 70%);
  mix-blend-mode:multiply; opacity:.65; filter:blur(0.2px);
}
.aura-boost #cursor-aura{ width:40px; height:40px; background:radial-gradient(20px 20px at 50% 50%, rgba(255,122,61,.5), transparent 70%);} 

/* ============ Page transitions ReactBits-like ============ */
.page-enter{ opacity:0; transform:translateY(6px); }
.page-enter-active{ opacity:1; transform:translateY(0); transition:opacity .35s ease, transform .35s ease; }

/* ===================== Footer amélioré ===================== */
footer{
  background:linear-gradient(180deg, #ffffff 0%, #faf9f7 100%);
  border-top:2px solid rgba(255,122,61,.08);
  position:relative;
}
footer::before{
  content:""; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,122,61,.2), transparent);
}
footer h6{
  color:#1f1510;
  font-size:.9rem;
  letter-spacing:.02em;
  margin-bottom:1rem;
  position:relative;
  padding-bottom:.5rem;
}
footer h6::after{
  content:""; position:absolute; bottom:0; left:0; width:32px; height:2px;
  background:linear-gradient(90deg, var(--bs-primary), #ffb703);
  border-radius:2px;
}
footer ul li{
  margin-bottom:.5rem;
  transition:transform .2s ease;
}
footer ul li:hover{
  transform:translateX(4px);
}
footer a{
  transition:color .2s ease, opacity .2s ease;
  position:relative;
}
footer a:hover{
  color:var(--bs-primary) !important;
  opacity:1;
}
footer a::before{
  content:""; position:absolute; left:-8px; top:50%; transform:translateY(-50%);
  width:0; height:2px; background:var(--bs-primary);
  transition:width .2s ease;
  border-radius:2px;
}
footer a:hover::before{
  width:4px;
}
footer hr{
  border-color:rgba(31,21,16,.08);
  margin:1.5rem 0;
}
footer .text-body-secondary{
  color:#6b5d4f !important;
  font-size:.85rem;
}
footer .small{
  line-height:1.6;
}

/* ===================== PAGE CHECKOUT PROFESSIONNELLE ===================== */
.checkout-page{
  background:linear-gradient(180deg, #fff6ec 0%, #ffffff 50%);
  min-height:calc(100vh - 200px);
}

.checkout-header{
  padding-bottom:1.5rem;
  border-bottom:2px solid rgba(255,122,61,.1);
}

.checkout-steps{
  font-size:.9rem;
}

.checkout-steps .step{
  display:flex;
  align-items:center;
  gap:.5rem;
  color:#6c757d;
  font-weight:500;
}

.checkout-steps .step.active{
  color:var(--bs-primary);
}

.checkout-steps .step-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#e9ecef;
  color:#6c757d;
  font-weight:600;
  font-size:.85rem;
}

.checkout-steps .step.active .step-number{
  background:var(--bs-primary);
  color:#fff;
}

.checkout-steps .step-divider{
  color:#dee2e6;
  font-weight:300;
}

.checkout-card{
  border-radius:16px;
  overflow:hidden;
  background:#fff;
  transition:transform .3s ease, box-shadow .3s ease;
  border:1px solid rgba(255,122,61,.08);
}

.checkout-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 40px rgba(0,0,0,.1) !important;
}

.checkout-card-header{
  background:linear-gradient(135deg, rgba(255,122,61,.08) 0%, rgba(255,183,3,.05) 100%);
  border-bottom:1px solid rgba(255,122,61,.1);
  padding:1.25rem 1.5rem;
  display:flex;
  align-items:center;
  gap:.75rem;
}

.checkout-card-header svg{
  color:var(--bs-primary);
  flex-shrink:0;
}

.checkout-input{
  border:2px solid #e9ecef;
  border-radius:10px;
  padding:.75rem 1rem;
  font-size:.95rem;
  transition:all .3s ease;
  background:#fff;
}

.checkout-input:focus{
  border-color:var(--bs-primary);
  box-shadow:0 0 0 4px rgba(255,122,61,.1);
  outline:none;
}

.checkout-input:hover{
  border-color:#ced4da;
}

.checkout-trust-badges{
  padding:1rem;
  background:linear-gradient(135deg, rgba(16,185,129,.05) 0%, rgba(16,185,129,.02) 100%);
  border-radius:12px;
  border:1px solid rgba(16,185,129,.1);
}

.trust-badge{
  display:flex;
  align-items:center;
  gap:.5rem;
  color:#059669;
  font-size:.85rem;
  font-weight:600;
}

.trust-badge svg{
  flex-shrink:0;
}

.checkout-pay-button{
  padding:1rem 2rem;
  font-size:1.1rem;
  font-weight:700;
  border-radius:12px;
  background:linear-gradient(135deg, var(--bs-primary) 0%, #ff8a4d 100%);
  border:none;
  box-shadow:0 4px 16px rgba(255,122,61,.3);
  transition:all .3s cubic-bezier(0.34, 1.56, 0.64, 1);
  position:relative;
  overflow:hidden;
  color:#fff;
}

.checkout-pay-button::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.2) 0%, transparent 100%);
  opacity:0;
  transition:opacity .3s ease;
}

.checkout-pay-button:hover::before{
  opacity:1;
}

.checkout-pay-button:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 24px rgba(255,122,61,.4);
  color:#fff;
}

.checkout-pay-button:active{
  transform:translateY(0);
}

.checkout-pay-button:disabled{
  opacity:.7;
  cursor:not-allowed;
  transform:none;
}

.checkout-summary{
  max-height:400px;
  overflow-y:auto;
  padding-right:.5rem;
}

.checkout-summary::-webkit-scrollbar{
  width:6px;
}

.checkout-summary::-webkit-scrollbar-track{
  background:#f1f1f1;
  border-radius:10px;
}

.checkout-summary::-webkit-scrollbar-thumb{
  background:var(--bs-primary);
  border-radius:10px;
}

.checkout-item{
  border-bottom:1px solid rgba(0,0,0,.06) !important;
}

.checkout-total{
  background:linear-gradient(135deg, rgba(255,122,61,.05) 0%, rgba(255,183,3,.03) 100%);
  padding:1.25rem;
  border-radius:12px;
  margin-top:1rem;
}

.checkout-guarantees{
  background:#f8f9fa;
  border-radius:12px;
  padding:1.25rem;
}

.guarantee-item{
  display:flex;
  align-items:center;
  color:#495057;
}

.guarantee-item svg{
  flex-shrink:0;
}

/* Mobile checkout */
@media (max-width: 991.98px){
  .checkout-card.sticky-top{
    position:relative !important;
    top:0 !important;
  }
  .checkout-steps{
    display:none !important;
  }
  .checkout-header h1{
    font-size:1.5rem;
  }
  .checkout-card-header{
    padding:1rem 1.25rem;
  }
  .checkout-card-body{
    padding:1.25rem !important;
  }
}

/* ===================== BANDE PROMOTIONNELLE ===================== */
.promo-banner{
  position:relative;
  background:linear-gradient(135deg, var(--bs-primary) 0%, #ff8a4d 100%);
  color:#fff;
  padding:.75rem 1rem;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  z-index:1030;
  box-shadow:0 2px 8px rgba(0,0,0,.1);
  overflow:hidden;
}

.promo-banner::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.1) 50%, transparent 100%);
  animation:promoShimmer 3s infinite;
}

@keyframes promoShimmer{
  0%{ transform:translateX(-100%); }
  100%{ transform:translateX(100%); }
}

.promo-banner-content{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  position:relative;
}

.promo-banner-text{
  font-weight:600;
  font-size:.95rem;
  white-space:nowrap;
  text-align:center;
  padding:0 1rem;
}

.promo-banner-scroll{
  animation:promoScroll 20s linear infinite;
  display:inline-block;
}

@keyframes promoScroll{
  0%{ transform:translateX(100%); }
  100%{ transform:translateX(-100%); }
}

.promo-banner-close{
  background:rgba(255,255,255,.2);
  border:none;
  color:#fff;
  width:32px;
  height:32px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:all .3s ease;
  flex-shrink:0;
  z-index:1;
}

.promo-banner-close:hover{
  background:rgba(255,255,255,.3);
  transform:scale(1.1);
}

.promo-banner-close:active{
  transform:scale(.95);
}

.promo-banner-close svg{
  width:16px;
  height:16px;
}

.promo-banner-fixed{
  display:inline-block;
  animation:none;
}

.promo-banner-scroll{
  animation:promoScroll 20s linear infinite;
  display:inline-block;
}

/* Mobile promo banner */
@media (max-width: 767.98px){
  .promo-banner{
    padding:.6rem .75rem;
  }
  .promo-banner-text{
    font-size:.85rem;
    padding:0 .5rem;
  }
  .promo-banner-close{
    width:28px;
    height:28px;
  }
  .promo-banner-close svg{
    width:14px;
    height:14px;
  }
}

/* ===================== PAGE ADMIN STYLE ===================== */
.admin-card{
  border-radius:16px;
  overflow:hidden;
  background:#fff;
  transition:transform .3s ease, box-shadow .3s ease;
  border:1px solid rgba(255,122,61,.08);
}

.admin-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 40px rgba(0,0,0,.1) !important;
}

.admin-card-header{
  background:linear-gradient(135deg, rgba(255,122,61,.08) 0%, rgba(255,183,3,.05) 100%);
  border-bottom:1px solid rgba(255,122,61,.1);
  padding:1.25rem 1.5rem;
  display:flex;
  align-items:center;
  gap:.75rem;
}

.admin-card-header svg{
  color:var(--bs-primary);
  flex-shrink:0;
}

.admin-input{
  border:2px solid #e9ecef;
  border-radius:10px;
  padding:.75rem 1rem;
  font-size:.95rem;
  transition:all .3s ease;
  background:#fff;
}

.admin-input:focus{
  border-color:var(--bs-primary);
  box-shadow:0 0 0 4px rgba(255,122,61,.1);
  outline:none;
}

.admin-input:hover{
  border-color:#ced4da;
}

.admin-btn{
  padding:.75rem 1.5rem;
  font-size:1rem;
  font-weight:600;
  border-radius:10px;
  background:linear-gradient(135deg, var(--bs-primary) 0%, #ff8a4d 100%);
  border:none;
  box-shadow:0 4px 16px rgba(255,122,61,.3);
  transition:all .3s cubic-bezier(0.34, 1.56, 0.64, 1);
  position:relative;
  overflow:hidden;
  color:#fff;
}

.admin-btn::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.2) 0%, transparent 100%);
  opacity:0;
  transition:opacity .3s ease;
}

.admin-btn:hover::before{
  opacity:1;
}

.admin-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 24px rgba(255,122,61,.4);
  color:#fff;
}

.admin-btn:active{
  transform:translateY(0);
}

#admin-list .border{
  border:1px solid rgba(255,122,61,.15) !important;
  border-radius:12px;
  transition:all .3s ease;
}

#admin-list .border:hover{
  border-color:var(--bs-primary) !important;
  box-shadow:0 4px 12px rgba(255,122,61,.15);
  transform:translateY(-2px);
}

.admin-card-header button{
  color:inherit;
  border:none;
  background:transparent;
}

.admin-card-header button:hover{
  color:var(--bs-primary);
}

.promo-chevron{
  transition:transform .3s ease;
  flex-shrink:0;
}

.admin-card-header button[aria-expanded="true"] .promo-chevron{
  transform:rotate(180deg);
}

/* Mobile admin */
@media (max-width: 991.98px){
  .admin-card-header{
    padding:1rem 1.25rem;
  }
  .admin-card-body{
    padding:1.25rem !important;
  }
}

/* ===================== SYSTÈME DE FILTRAGE CATALOGUE ===================== */
.catalog-header{
  padding-bottom:1.5rem;
  border-bottom:2px solid rgba(255,122,61,.1);
}

.catalog-filters{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  align-items:flex-end;
}

.filter-group{
  display:flex;
  flex-direction:column;
  gap:.5rem;
  flex:1;
  min-width:200px;
}

.filter-label{
  display:flex;
  align-items:center;
  gap:.5rem;
  font-size:.85rem;
  font-weight:600;
  color:#495057;
  margin-bottom:.25rem;
}

.filter-label svg{
  color:var(--bs-primary);
  flex-shrink:0;
}

.catalog-filter-input,
.catalog-filter-select{
  border:2px solid #e9ecef;
  border-radius:10px;
  padding:.75rem 1rem;
  font-size:.95rem;
  transition:all .3s ease;
  background:#fff;
  width:100%;
}

.catalog-filter-input:focus,
.catalog-filter-select:focus{
  border-color:var(--bs-primary);
  box-shadow:0 0 0 4px rgba(255,122,61,.1);
  outline:none;
}

.catalog-filter-input:hover,
.catalog-filter-select:hover{
  border-color:#ced4da;
}

/* ===================== ALERTE STOCK FAIBLE ===================== */
.stock-alert{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.5rem .75rem;
  background:linear-gradient(135deg, rgba(255,193,7,.1) 0%, rgba(255,152,0,.08) 100%);
  border:1px solid rgba(255,193,7,.3);
  border-radius:8px;
  color:#f57c00;
  font-size:.85rem;
  font-weight:600;
  animation:stockPulse 2s ease-in-out infinite;
}

.stock-alert svg{
  flex-shrink:0;
  color:#ff9800;
  animation:stockIconPulse 1.5s ease-in-out infinite;
}

.stock-alert span{
  line-height:1.2;
}

@keyframes stockPulse{
  0%, 100%{ opacity:1; transform:scale(1); }
  50%{ opacity:.9; transform:scale(1.02); }
}

@keyframes stockIconPulse{
  0%, 100%{ transform:scale(1) rotate(0deg); }
  25%{ transform:scale(1.1) rotate(-5deg); }
  75%{ transform:scale(1.1) rotate(5deg); }
}

/* Mobile filters */
@media (max-width: 767.98px){
  .catalog-filters{
    flex-direction:column;
    gap:.75rem;
  }
  .filter-group{
    min-width:100%;
  }
  .filter-label{
    font-size:.8rem;
  }
  .catalog-filter-input,
  .catalog-filter-select{
    padding:.65rem .875rem;
    font-size:.9rem;
  }
  .stock-alert{
    padding:.4rem .65rem;
    font-size:.8rem;
  }
}

/* ===================== GESTION CATÉGORIES ADMIN ===================== */
.bulk-products-checkboxes{
  min-height:120px;
  max-height:200px;
  overflow-y:auto;
  border:1px solid rgba(255,122,61,.2);
  border-radius:12px;
  padding:.75rem;
  background:#fff;
}

.bulk-product-item{
  padding:.5rem;
  margin-bottom:.25rem;
  border-radius:8px;
  transition:all .2s ease;
  cursor:pointer;
}

.bulk-product-item:hover{
  background:rgba(255,122,61,.05);
}

.bulk-product-item .form-check-input{
  cursor:pointer;
  margin-top:.35rem;
}

.bulk-product-item .form-check-input:checked{
  background-color:var(--bs-primary);
  border-color:var(--bs-primary);
}

.bulk-product-item .form-check-label{
  cursor:pointer;
  user-select:none;
  margin-left:.5rem;
}

#categories-list .border{
  border:1px solid rgba(255,122,61,.15) !important;
  border-radius:12px;
  transition:all .3s ease;
}

#categories-list .border:hover{
  border-color:var(--bs-primary) !important;
  box-shadow:0 4px 12px rgba(255,122,61,.15);
  transform:translateY(-2px);
}

/* Mobile categories */
@media (max-width: 767.98px){
  .bulk-products-checkboxes{
    min-height:100px;
    max-height:150px;
  }
  
  .bulk-product-item{
    padding:.4rem;
    margin-bottom:.2rem;
  }
  
  .bulk-product-item .form-check-label{
    font-size:.9rem;
  }
}



