/* ============================================================
   CAURISHOP — Feuille de style du template
   S'appuie sur Bootstrap 5.3 · Palette : #1E4FD6 / #1A1A1A
   ============================================================ */
:root{
  --brand:#1E4FD6;
  --brand-dark:#163FB0;
  --brand-light:#EAF0FF;
  --amber:#F6C244;
  --amber-ink:#3a2a05;
  --ink:#1A1A1A;
  --gray:#6B7280;
  --gray-light:#9CA3AF;
  --line:#ECECEC;
  --line-input:#D9DFEA;
  --surface:#F5F6F8;
  --green:#1F8A5B;
}

body{
  font-family:'DM Sans',sans-serif;
  color:var(--ink);
  background:#fff;
}
a{color:inherit;text-decoration:none;}
a:hover{color:var(--brand);}
.text-ink{color:var(--ink)!important;}
.text-brand{color:var(--brand)!important;}
.bg-surface{background:var(--surface)!important;}

/* ------- boutons de marque ------- */
.btn{font-weight:600;border-radius:9px;}
.btn-brand{background:var(--brand);color:#fff;border:none;}
.btn-brand:hover,.btn-brand:focus{background:var(--brand-dark);color:#fff;}
.btn-amber{background:var(--amber);color:var(--amber-ink);border:none;}
.btn-amber:hover,.btn-amber:focus{background:#f0bb42;color:var(--amber-ink);}
.btn-soft{background:var(--brand-light);color:var(--brand);border:none;}
.btn-soft:hover{background:#dde7ff;color:var(--brand);}
.btn-outline-soft{border:1.5px solid var(--line-input);background:#fff;color:var(--ink);font-weight:600;}
.btn-outline-soft:hover{background:var(--surface);color:var(--ink);}

/* ------- champs de formulaire ------- */
.form-label{font-size:12.5px;font-weight:600;color:var(--gray);margin-bottom:6px;}
.form-control,.form-select{
  border:1.5px solid var(--line-input);border-radius:10px;
  padding:11px 14px;font-size:14px;color:var(--ink);
}
.form-control:focus,.form-select:focus{
  border-color:var(--brand);box-shadow:0 0 0 3px rgba(30,79,214,.12);
}
.form-check-input{border-color:var(--line-input);}
.form-check-input:checked{background-color:var(--brand);border-color:var(--brand);}
.form-check-input:focus{box-shadow:0 0 0 3px rgba(30,79,214,.12);border-color:var(--brand);}
.form-range::-webkit-slider-thumb{background:var(--brand);}
.form-range::-moz-range-thumb{background:var(--brand);}

/* ============================ HEADER ============================ */
.topstrip{font-size:12.5px;color:var(--gray);}
.topstrip a{color:var(--gray);}
.topstrip a:hover{color:var(--brand);}

.logo__mark{
  width:36px;height:36px;border-radius:8px;background:var(--brand);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:700;font-size:20px;
}
.logo__mark--sm{width:34px;height:34px;font-size:18px;}
.logo__name{font-weight:700;font-size:21px;color:var(--ink);letter-spacing:-.01em;}

.search{
  border:1.5px solid var(--brand);border-radius:9px;overflow:hidden;
  max-width:660px;min-width:240px;
}
.search__select{
  border:none;background:#fff;border-right:1px solid var(--line);
  padding:0 12px;font-size:13.5px;color:var(--ink);outline:none;cursor:pointer;
}
.search__input{flex:1;border:none;padding:11px 14px;font-size:14px;outline:none;min-width:0;}
.search__btn{
  background:var(--brand);border:none;color:#fff;padding:0 22px;
  font-weight:600;font-size:14px;transition:background .15s;
}
.search__btn:hover{background:var(--brand-dark);}

.header-action{color:var(--ink);font-weight:600;font-size:13px;}
.cart-icon{position:relative;font-size:20px;}
.cart-badge{
  position:absolute;top:-6px;right:-8px;background:var(--brand);color:#fff;
  font-size:10px;font-weight:700;min-width:17px;height:17px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;padding:0 4px;
}

.catnav{gap:2px;}
.catnav__all{color:var(--ink);padding:13px 16px 13px 0;font-weight:600;font-size:14px;border-bottom:2px solid transparent;}
.catnav__all:hover{color:var(--brand);}
.catnav__all--active{color:var(--brand);border-bottom-color:var(--brand);}
.catnav__link{
  padding:13px 13px;font-size:14px;font-weight:500;color:var(--ink);
  border-bottom:2px solid transparent;
}
.catnav__link:hover{color:var(--brand);}
.catnav__link--active{font-weight:700;color:var(--brand);border-bottom-color:var(--brand);}
.catnav__note{font-size:13px;color:var(--gray);padding:13px 0;}

/* ===================== BARRE CATÉGORIES (bleue) ===================== */
.catbar{background:var(--brand);}
.catbar__inner{gap:4px;overflow-x:auto;}
.catbar__all,.catbar__link{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:#fff;text-decoration:none;font-size:13.5px;font-weight:600;padding:13px 16px;border-bottom:3px solid transparent;text-transform:uppercase;letter-spacing:.02em;}
.catbar__all i,.catbar__link i{font-size:15px;opacity:.9;}
.catbar__all:hover,.catbar__link:hover{color:#fff;background:rgba(255,255,255,.12);}
.catbar__link--active{background:rgba(255,255,255,.15);border-bottom-color:#fff;color:#fff;}

/* ===================== HERO (image plein cadre + flou + texte) ===================== */
.mf-hero{position:relative;overflow:hidden;background:#12172a;}
.mf-slide{position:relative;min-height:500px;overflow:hidden;}
/* Image en arrière-plan, floutée et assombrie */
.mf-slide__bg{
  position:absolute;inset:-40px;z-index:0;
  background-size:cover;background-position:center;
  filter:blur(7px) brightness(.55);
  transform:scale(1.06);
}
.mf-slide__bg--plain{background:linear-gradient(120deg,var(--brand),#12172a);filter:none;}
/* Voile sombre par-dessus pour la lisibilité du texte */
.mf-slide::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(10,14,25,.72) 0%,rgba(10,14,25,.45) 55%,rgba(10,14,25,.30) 100%);}
.mf-slide__inner{position:relative;z-index:2;display:flex;align-items:center;min-height:500px;padding:40px 0;}
.mf-slide__content{max-width:640px;color:#fff;}
.mf-subtitle{font-size:20px;font-weight:400;color:rgba(255,255,255,.85);letter-spacing:.03em;margin:0 0 8px;}
.mf-subtitle .hl{color:#fff;font-weight:600;}
.mf-title{font-size:56px;font-weight:800;text-transform:uppercase;letter-spacing:.01em;line-height:1.03;color:#fff;margin:0 0 14px;text-shadow:0 2px 18px rgba(0,0,0,.35);}
.mf-offer{font-size:24px;color:rgba(255,255,255,.92);margin:0 0 28px;}
.mf-offer .hl{color:#ffd23f;font-weight:800;}
.mf-btn{display:inline-flex;align-items:center;gap:9px;background:#fff;color:#12172a;border:2px solid #fff;font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:14px;padding:13px 32px;border-radius:50px;text-decoration:none;transition:all .18s;}
.mf-btn i{font-size:16px;transition:transform .18s;}
.mf-btn:hover{background:transparent;color:#fff;}
.mf-btn:hover i{transform:translateX(3px);}
/* Indicateurs + flèches */
.mf-dots{margin-bottom:20px;z-index:3;}
.mf-dots [data-bs-target]{width:10px;height:10px;border-radius:50%;border:0;background:rgba(255,255,255,.5);}
.mf-dots .active{width:26px;border-radius:6px;background:#fff;}
.mf-arrow{width:52px;height:52px;top:50%;transform:translateY(-50%);bottom:auto;z-index:3;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.4);border-radius:50%;color:#fff;font-size:20px;opacity:0;transition:opacity .2s,background .2s;margin:0 18px;}
.mf-hero:hover .mf-arrow{opacity:1;}
.mf-arrow:hover{background:rgba(255,255,255,.35);}
.mf-arrow.carousel-control-prev{left:0;}
.mf-arrow.carousel-control-next{right:0;}

/* ===================== SERVICES ===================== */
.mf-services{background:#fff;}
.mf-service{display:flex;align-items:center;gap:14px;padding:22px 20px;border-right:1px solid var(--border);}
.mf-service:last-child{border-right:0;}
.mf-service i{font-size:30px;color:var(--brand);}
.mf-service__t{font-weight:700;color:var(--ink);font-size:15px;}
.mf-service__s{font-size:13px;color:var(--gray);}

@media(max-width:991px){
  .mf-slide,.mf-slide__inner{min-height:400px;}
  .mf-title{font-size:34px;}
  .mf-subtitle{font-size:17px;}
  .mf-offer{font-size:20px;}
  .mf-service{border-right:0;border-bottom:1px solid var(--border);}
}

/* ============================ HERO (legacy, inutilisé) ============================ */
.promo{height:380px;display:flex;align-items:center;}
.promo__inner{display:flex;align-items:center;justify-content:space-between;gap:48px;padding-left:84px;padding-right:84px;}
.promo__eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.8;}
.promo__title{font-weight:700;font-size:44px;line-height:1.06;letter-spacing:-.02em;margin:12px 0 14px;}
.promo__sub{font-size:16px;line-height:1.55;max-width:540px;opacity:.85;margin-bottom:26px;}
.promo__cta{
  display:inline-block;font-weight:600;font-size:14px;
  text-transform:uppercase;letter-spacing:.02em;
  padding:14px 28px;border-radius:8px;transition:opacity .15s;
}
.promo__cta:hover{opacity:.92;}
.promo__figure{font-weight:800;font-size:150px;line-height:1;letter-spacing:-.04em;flex-shrink:0;user-select:none;white-space:nowrap;text-transform:uppercase;}

.promo--blue{background:linear-gradient(120deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff;}
.promo--blue .promo__cta{background:#fff;color:var(--brand);}
.promo--blue .promo__cta:hover{color:var(--brand);}
.promo--blue .promo__figure{color:rgba(255,255,255,.20);}

.promo--dark{background:linear-gradient(120deg,var(--ink) 0%,#243049 100%);color:#fff;}
.promo--dark .promo__cta{background:#fff;color:var(--ink);}
.promo--dark .promo__cta:hover{color:var(--ink);}
.promo--dark .promo__figure{color:rgba(255,255,255,.14);}

.promo--light{background:var(--brand-light);color:var(--ink);}
.promo--light .promo__eyebrow{color:var(--brand);opacity:1;}
.promo--light .promo__sub{color:var(--gray);opacity:1;}
.promo--light .promo__cta{background:var(--brand);color:#fff;}
.promo--light .promo__cta:hover{background:var(--brand-dark);color:#fff;opacity:1;}
.promo--light .promo__figure{color:rgba(30,79,214,.14);}

/* flèches et points du carrousel Bootstrap, restylés */
.hero-arrow{
  width:42px;height:42px;border-radius:50%;border:none;opacity:1;
  background:rgba(255,255,255,.92);color:var(--ink);font-size:19px;
  top:50%;bottom:auto;transform:translateY(-50%);
  box-shadow:0 2px 10px rgba(17,24,39,.15);transition:background .15s;
}
.hero-arrow:hover{background:#fff;color:var(--ink);}
.hero-arrow--prev{left:18px;}
.hero-arrow--next{right:18px;}

.hero-dots{margin-bottom:14px;}
.hero-dots [data-bs-target]{
  width:8px;height:8px;border-radius:8px;border:none;margin:0 4px;
  background:rgba(255,255,255,.55);
  box-shadow:0 0 0 1px rgba(17,24,39,.12);
  opacity:1;transition:all .3s;
}
.hero-dots .active{width:24px;background:#fff;}

/* ============================ SECTIONS COMMUNES ============================ */
.section{padding-top:46px;}
.section-title{font-weight:700;font-size:22px;color:var(--ink);}
.section-link{font-weight:600;font-size:14px;color:var(--brand);}
.kicker{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);}
.chip{display:inline-block;background:var(--surface);color:var(--brand);font-size:12.5px;font-weight:600;padding:7px 15px;border-radius:30px;}

.trust__icon{
  width:44px;height:44px;border-radius:50%;background:var(--brand-light);
  display:flex;align-items:center;justify-content:center;font-size:21px;flex-shrink:0;
}
.trust__title{font-weight:700;font-size:14.5px;}
.trust__sub{font-size:13px;color:var(--gray);}

.cat{
  border:1px solid var(--line);border-radius:12px;padding:20px 12px;
  text-align:center;transition:border-color .15s;height:100%;
}
.cat:hover{border-color:var(--brand);}
.cat__icon{
  width:60px;height:60px;border-radius:50%;background:var(--brand-light);
  display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--brand);
  transition:background .18s,color .18s;
}
.cat:hover .cat__icon{background:var(--brand);color:#fff;}
.cat__name{font-weight:600;font-size:13px;color:var(--ink);}

/* ------- carte produit (e-commerce) ------- */
.pcard{
  background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;
  transition:border-color .18s,box-shadow .18s;position:relative;
  height:100%;display:flex;flex-direction:column;
}
.pcard:hover{border-color:transparent;box-shadow:0 12px 30px rgba(17,24,39,.13);}
.pcard__media{
  position:relative;aspect-ratio:1/1;background:var(--surface);overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.pcard__imglink{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.pcard__img{transition:transform .45s ease;}
.pcard:hover .pcard__img{transform:scale(1.07);}
.pcard__emoji{font-size:60px;position:absolute;opacity:.5;}
/* Badge */
.pcard__badge{
  position:absolute;top:10px;left:10px;background:var(--brand);color:#fff;
  font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;z-index:2;
}
.pcard__badge--new{background:var(--green);}
.pcard__badge--out{background:#8a8f99;}
/* Actions rapides (favoris / aperçu) */
.pcard__actions{
  position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:8px;z-index:2;
  opacity:0;transform:translateX(10px);transition:opacity .2s,transform .2s;
}
.pcard:hover .pcard__actions{opacity:1;transform:none;}
.pcard__act{
  width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;color:var(--ink);font-size:15px;
  box-shadow:0 2px 8px rgba(0,0,0,.10);transition:background .15s,color .15s,border-color .15s;
}
.pcard__act:hover{background:var(--brand);color:#fff;border-color:var(--brand);}
/* Barre "Ajouter au panier" (glisse au survol) */
.pcard__addbar{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  transform:translateY(100%);transition:transform .24s ease;
}
.pcard:hover .pcard__addbar{transform:none;}
.pcard__addbar button,.pcard__addbar--link{
  width:100%;border:0;background:var(--brand);color:#fff;font-weight:700;font-size:13px;
  padding:11px 10px;display:flex;align-items:center;justify-content:center;gap:8px;
  text-decoration:none;cursor:pointer;transition:background .15s;
}
.pcard__addbar button:hover,.pcard__addbar--link:hover{background:var(--brand-dark);color:#fff;}
/* Corps */
.pcard__body{padding:12px 14px 15px;display:flex;flex-direction:column;gap:5px;flex:1;}
.pcard__cat{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-light);font-weight:600;}
.pcard__title{
  font-size:13.5px;color:var(--ink);line-height:1.35;font-weight:500;text-decoration:none;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:37px;
}
.pcard__title:hover{color:var(--brand);}
.pcard__rating{color:#F6B01E;font-size:12px;letter-spacing:2px;line-height:1;}
.pcard__price{font-weight:800;font-size:16px;color:var(--brand);margin-top:2px;}
.pcard__old{font-size:12.5px;color:var(--gray-light);text-decoration:line-through;margin-left:6px;}

/* ============================ BANNIÈRE DE PAGE ============================ */
.crumbs{font-size:13px;color:var(--gray);}
.crumbs a{color:var(--gray);}
.crumbs a:hover{color:var(--brand);}
.crumb-current{color:var(--brand);font-weight:600;}
.title-tick{display:block;width:46px;height:5px;border-radius:5px;background:var(--brand);margin-bottom:12px;}
.page-title{font-weight:800;font-size:32px;color:var(--ink);}

/* ============================ PANNEAUX ============================ */
.panel{background:#fff;border:1px solid var(--line);border-radius:16px;}
.shadow-card{box-shadow:0 20px 50px rgba(18,58,135,.08);}
.tile{background:var(--surface);border-radius:14px;padding:18px;}

/* ============================ BOUTIQUE ============================ */
.side-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;}
.side-card__title{font-weight:700;font-size:15px;color:var(--ink);margin-bottom:12px;}
.filter-row{padding:7px 0;font-size:14px;color:#3a4150;cursor:pointer;}
.filter-count{font-size:12px;color:var(--gray-light);}
.offer-card{
  position:relative;border-radius:14px;overflow:hidden;
  background:var(--brand);color:#fff;padding:22px;
}
.offer-card::before{
  content:"";position:absolute;inset:0;opacity:.2;
  background:radial-gradient(circle,#fff 2px,transparent 3px) 0 0/16px 16px;
}
.offer-card__kicker{position:relative;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.offer-card__title{position:relative;font-weight:800;font-size:21px;margin:6px 0 3px;}
.offer-card__code{position:relative;font-size:13px;opacity:.92;}
.toolbar{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px;}

.pagination .page-link{
  color:var(--brand);border-color:var(--line-input);border-radius:10px;
  margin:0 3px;min-width:42px;text-align:center;font-weight:700;
}
.pagination .page-item.active .page-link{background:var(--brand);border-color:var(--brand);}
.pagination .page-link:focus{box-shadow:0 0 0 3px rgba(30,79,214,.12);}

/* ============================ PRODUIT ============================ */
.gallery-main{
  position:relative;border-radius:18px;background:var(--surface);
  aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;
}
.gallery-main .pcard__badge{top:16px;left:16px;font-size:12px;padding:6px 12px;border-radius:20px;}
.gallery-main__emoji{font-size:170px;filter:drop-shadow(0 16px 26px rgba(0,0,0,.15));}
.thumb{
  width:100%;aspect-ratio:1/1;border:2px solid var(--line);border-radius:12px;
  background:var(--surface);font-size:40px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:border-color .15s;
}
.thumb:hover{border-color:var(--brand);}
.thumb--active{border-color:var(--brand);}

.product-title{font-weight:800;font-size:32px;color:var(--ink);margin:8px 0 12px;line-height:1.15;}
.stars{color:var(--brand);letter-spacing:2px;}
.stock-ok{color:var(--green);}
.product-price{font-weight:800;font-size:34px;color:var(--brand);}
.product-old{font-size:18px;color:var(--gray-light);text-decoration:line-through;}
.save-chip{background:var(--brand-light);color:var(--brand);font-weight:700;font-size:13px;padding:5px 11px;border-radius:20px;}
.text-body-col{font-size:15px;color:#3a4150;line-height:1.7;}
.option-label{font-size:13.5px;font-weight:700;color:var(--ink);margin-bottom:9px;}

.swatch{width:40px;height:40px;border-radius:50%;cursor:pointer;border:3px solid #fff;box-shadow:0 0 0 1px var(--line-input);}
.swatch--active{border-color:var(--ink);box-shadow:none;}
.size-btn{
  min-width:48px;padding:11px 8px;border-radius:10px;font-weight:700;font-size:14px;
  cursor:pointer;background:#fff;color:var(--ink);border:1.5px solid var(--line-input);
}
.size-btn--active{background:var(--brand);color:#fff;border-color:var(--brand);}

.qty-stepper{display:flex;align-items:center;border:1.5px solid var(--line-input);border-radius:11px;overflow:hidden;}
.qty-stepper button{border:none;background:var(--surface);width:44px;height:50px;font-size:20px;color:var(--brand);cursor:pointer;}
.qty-stepper .qty-value{width:50px;text-align:center;font-weight:700;font-size:16px;}
.qty-stepper--sm button{width:34px;height:38px;font-size:17px;}
.qty-stepper--sm .qty-value{width:38px;font-size:14px;}

.info-card{
  background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:16px 18px;display:flex;flex-direction:column;gap:11px;
  font-size:13.5px;color:#3a4150;
}

.tabs-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;}
.product-tabs{border-bottom:1px solid var(--line);padding:0 10px;}
.product-tabs .nav-link{
  border:none;border-bottom:3px solid transparent;border-radius:0;
  padding:16px 22px;font-weight:700;font-size:15px;color:var(--gray);
}
.product-tabs .nav-link:hover{color:var(--brand);}
.product-tabs .nav-link.active{color:var(--brand);border-bottom-color:var(--brand);background:none;}

/* ============================ PANIER ============================ */
.cart-head{
  padding:14px 18px 12px;font-size:12px;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;color:var(--gray);margin:0;
}
.cart-row{padding:16px 18px;border-top:1px solid #F0F2F7;margin:0;}
.cart-thumb{
  width:62px;height:62px;border-radius:12px;background:var(--surface);
  display:flex;align-items:center;justify-content:center;font-size:32px;flex-shrink:0;
}
.cart-price-label{color:#3a4150;}
.cart-remove{border:none;background:none;font-size:17px;color:var(--gray-light);cursor:pointer;}
.cart-remove:hover{color:var(--brand);}
.promo-input{max-width:170px;border-radius:9px;}

.summary-sticky{top:90px;z-index:10;}
.summary-total{border-top:1.5px dashed #E2E7F0;padding-top:14px;}
.total-amount{font-weight:800;font-size:24px;color:var(--brand);}
.mini-chip{background:#fff;border:1px solid var(--line-input);border-radius:8px;height:34px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;}
.mini-chip img{display:block;max-height:22px;width:auto;}
.secure-note{
  background:var(--surface);border-radius:13px;padding:14px 16px;
  font-size:13px;color:#3a4150;display:flex;gap:10px;align-items:flex-start;
}

/* ============================ CHECKOUT ============================ */
.step-title{
  font-weight:800;font-size:17px;color:var(--ink);margin-bottom:18px;
  display:flex;align-items:center;gap:10px;
}
.step-num{
  width:28px;height:28px;border-radius:50%;background:var(--brand);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;
}
.choice-card{
  border:1.5px solid #E7ECF6;border-radius:13px;padding:14px 16px;
  cursor:pointer;margin-bottom:12px;transition:border-color .15s,background .15s;
}
.choice-card:hover{border-color:var(--brand);}
.choice-card:has(input:checked){border-color:var(--brand);background:#F5F8FF;}
.pay-chip{
  width:38px;height:38px;border-radius:10px;background:var(--surface);
  display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0;
}
.pay-hint{background:var(--surface);border-radius:13px;padding:16px;}
.ck-thumb{
  width:48px;height:48px;border-radius:11px;background:var(--surface);
  display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;
}

/* ============================ CONFIRMATION ============================ */
.ok-badge{
  width:84px;height:84px;border-radius:50%;background:var(--green);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:42px;
  margin:0 auto 18px;box-shadow:0 12px 30px rgba(31,138,91,.4);
  animation:pop .6s ease both;
}
@keyframes pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}
@media (prefers-reduced-motion:reduce){.ok-badge{animation:none;}}

.ostep{display:flex;flex-direction:column;align-items:center;}
.ostep__dot{
  width:38px;height:38px;border-radius:50%;background:var(--surface);color:var(--gray-light);
  display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;
}
.ostep__dot--done{background:var(--green);color:#fff;}
.ostep__dot--current{background:var(--brand);color:#fff;}
.ostep__label{font-size:11.5px;color:#3a4150;font-weight:600;margin-top:7px;text-align:center;}

/* ============================ COMPTE ============================ */
.brand-panel{background:var(--surface);}
.auth-pills{background:#F0F2F7;border-radius:12px;padding:5px;gap:5px;}
.auth-pills .nav-link{border-radius:9px;font-weight:700;font-size:14.5px;color:var(--gray);padding:11px;}
.auth-pills .nav-link.active{background:#fff;color:var(--brand);}
.divider-text{color:var(--gray-light);font-size:12.5px;}
.divider-text span{flex:1;height:1px;background:#E7ECF6;}

/* ============================ CONTACT ============================ */
.about-medallion{
  width:200px;height:200px;border-radius:50%;background:var(--surface);
  border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:96px;
}
.stats-card{
  background:#fff;border-radius:18px;box-shadow:0 10px 30px rgba(18,58,135,.07);
  margin-top:-30px;position:relative;z-index:5;
}
.stat-num{font-weight:800;font-size:28px;color:var(--brand);}
.value-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;height:100%;}
.value-card__icon{
  width:56px;height:56px;border-radius:14px;background:var(--surface);
  display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:14px;
}
.contact-row{
  background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;
  display:flex;align-items:center;gap:14px;
}
.contact-row__icon{
  width:46px;height:46px;border-radius:12px;background:var(--surface);
  display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;
}

/* ============================ FOOTER ============================ */
.footer-title{font-weight:700;font-size:14px;color:var(--ink);margin-bottom:14px;}
.footer-link{display:block;font-size:13.5px;color:var(--gray);margin-bottom:10px;}
.footer-link:hover{color:var(--brand);}
.newsletter-input{min-width:260px;border-radius:9px;}
.pay-badge{
  border:1px solid var(--line-input);background:#fff;color:var(--ink);border-radius:8px;
  min-width:54px;height:40px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;
}
.pay-badge img{display:block;max-height:28px;width:auto;}
.social{
  width:36px;height:36px;border-radius:8px;border:1px solid var(--line-input);
  display:flex;align-items:center;justify-content:center;font-size:17px;color:var(--ink);
  transition:background .15s,color .15s,border-color .15s;
}
.social:hover{background:var(--brand);border-color:var(--brand);color:#fff;}
.footer-bottom{font-size:12.5px;color:var(--gray-light);}
.footer-bottom a{color:var(--gray-light);}
.footer-bottom a:hover{color:var(--brand);}

/* ============================ RESPONSIVE ============================ */
@media (max-width:1199.98px){
  .promo__figure{font-size:100px;}
}
@media (max-width:991.98px){
  .promo{height:340px;}
  .promo__inner{padding-left:20px;padding-right:20px;}
  .promo__title{font-size:32px;}
  .promo__sub{font-size:14.5px;}
  .promo__figure{display:none;}
  .hero-arrow{display:none;}
  .search{order:3;width:100%;max-width:none;}
}
@media (max-width:575.98px){
  .header-action__label{display:none;}
  .page-title{font-size:26px;}
  .product-title{font-size:26px;}
  .product-price{font-size:28px;}
}

/* ============================ IMAGES PRODUITS & CATÉGORIES ============================ */
.pcard__img,.gallery-main__img,.thumb__img,.mini__img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}
.pcard__media{overflow:hidden;}
.gallery-main{overflow:hidden;border-radius:18px;}
.gallery-main .pcard__badge{z-index:2;}
.thumb{position:relative;overflow:hidden;}
.cart-thumb,.ck-thumb{position:relative;overflow:hidden;}
.cat__icon{position:relative;overflow:hidden;}
.cat__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;}
.cat__fallback{position:relative;}

/* ===================== SweetAlert2 — thème CauriShop ===================== */
.swal2-popup{font-family:'DM Sans',sans-serif;}
/* Popup standard */
.swal-cauri{border-radius:20px;padding:26px 24px 24px;box-shadow:0 28px 70px rgba(18,58,135,.20);border-top:5px solid var(--brand);}
.swal-cauri__title{font-weight:800;color:var(--ink);font-size:21px;}
.swal-cauri__html{color:var(--gray);font-size:14.5px;}
.swal-cauri__actions{gap:10px;}
.swal-cauri__btn{background:var(--brand);color:#fff;font-weight:700;border:0;border-radius:11px;padding:12px 30px;font-size:14px;transition:background .15s;}
.swal-cauri__btn:hover{background:var(--brand-dark);}
.swal-cauri__cancel{background:var(--brand-light);color:var(--brand);font-weight:700;border:0;border-radius:11px;padding:12px 26px;font-size:14px;}
.swal-cauri__cancel:hover{background:#dde7ff;}
/* Toast */
.swal-cauri-toast{border-radius:13px!important;border-left:5px solid var(--brand);box-shadow:0 10px 30px rgba(18,58,135,.16)!important;font-family:'DM Sans',sans-serif;padding:6px 6px!important;}
.swal-cauri-toast .swal2-title{font-weight:600;font-size:14px;color:var(--ink);}
.swal-cauri-toast .swal2-timer-progress-bar{background:var(--brand)!important;}
.swal-cauri-toast.swal-cauri-toast--error{border-left-color:#e0403a;}
.swal-cauri-toast.swal-cauri-toast--error .swal2-timer-progress-bar{background:#e0403a!important;}

/* ===================== ESPACE CLIENT ===================== */
.acct-side{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;}
.acct-side__head{display:flex;align-items:center;gap:12px;padding:18px;border-bottom:1px solid var(--line);}
.acct-avatar{width:46px;height:46px;border-radius:50%;background:var(--brand-light);color:var(--brand);font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;text-transform:uppercase;}
.acct-name{font-weight:700;color:var(--ink);line-height:1.15;}
.acct-mail{font-size:12px;color:var(--gray);word-break:break-all;}
.acct-nav{padding:8px;display:flex;flex-direction:column;gap:2px;}
.acct-nav__link{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:11px 13px;border-radius:10px;color:var(--ink);font-weight:600;font-size:14px;background:none;border:0;text-decoration:none;transition:background .15s,color .15s;}
.acct-nav__link i{font-size:17px;width:20px;text-align:center;}
.acct-nav__link:hover{background:var(--surface);color:var(--brand);}
.acct-nav__link.active{background:var(--brand);color:#fff;}
.acct-nav__link--out{color:#e0403a;}
.acct-nav__link--out:hover{background:#fdeceb;color:#e0403a;}

.acct-stat{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;height:100%;}
.acct-stat__ic{width:46px;height:46px;border-radius:12px;background:var(--brand-light);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.acct-stat__label{font-size:12.5px;color:var(--gray);}
.acct-stat__value{font-weight:800;color:var(--ink);font-size:18px;line-height:1.2;}

.acct-order{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.acct-order:last-child{border-bottom:0;}
.acct-order__ic{width:42px;height:42px;border-radius:12px;background:var(--surface);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0;}

.st-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:4px 11px;border-radius:20px;white-space:nowrap;}
.st-pill--paid,.st-pill--completed{background:#e7f6ef;color:#1F8A5B;}
.st-pill--pending{background:#fff4e0;color:#b26b00;}
.st-pill--confirmed{background:var(--brand-light);color:var(--brand);}
.st-pill--cancelled{background:#fdeceb;color:#e0403a;}
