/* ═══════════════════════════════════════════════════
   HFI SHARED CART — panier partagé entre les 6 marques
   Persistance : localStorage clé "hfi_cart"
   ═══════════════════════════════════════════════════ */

:root{
  --hfi-gold:#c4a050;
  --hfi-fire:#e85d04;
  --hfi-green:#2ec471;
  --hfi-bg:#0a0a0a;
  --hfi-card:#161616;
  --hfi-edge:rgba(255,255,255,.1);
  --hfi-ink:#fff;
  --hfi-muted:rgba(255,255,255,.7);
  --hfi-dim:rgba(255,255,255,.45);
}

/* Icône panier flottante */
.hfi-cart-fab{
  position:fixed;bottom:1.5rem;right:1.5rem;z-index:50;
  width:60px;height:60px;border-radius:50%;
  background:linear-gradient(135deg,var(--hfi-gold),var(--hfi-fire));
  display:flex;align-items:center;justify-content:center;
  color:#0a0a0a;cursor:pointer;border:none;
  box-shadow:0 8px 28px rgba(232,93,4,.45);
  transition:transform .2s,box-shadow .2s;
}
.hfi-cart-fab:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 12px 36px rgba(232,93,4,.6)}
.hfi-cart-fab svg{width:26px;height:26px;fill:currentColor}
.hfi-cart-fab .hfi-badge{
  position:absolute;top:-4px;right:-4px;
  background:#0a0a0a;color:var(--hfi-gold);
  min-width:22px;height:22px;border-radius:11px;
  font-size:.72rem;font-weight:800;font-family:'Playfair Display',Georgia,serif;
  display:flex;align-items:center;justify-content:center;
  padding:0 .4rem;border:2px solid var(--hfi-gold);
}
.hfi-cart-fab .hfi-badge.empty{display:none}
.hfi-cart-fab.wiggle{animation:hfi-wiggle .45s}
@keyframes hfi-wiggle{0%,100%{transform:translateY(0) scale(1)}30%{transform:translateY(-8px) scale(1.12) rotate(-8deg)}60%{transform:translateY(0) scale(1.06) rotate(6deg)}}

/* Drawer panier (slide depuis la droite) */
.hfi-cart-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(6px);
  z-index:199;opacity:0;pointer-events:none;transition:opacity .25s;
}
.hfi-cart-overlay.open{opacity:1;pointer-events:auto}

.hfi-cart-drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);z-index:200;
  background:#0d0d0d;border-left:1px solid var(--hfi-edge);
  transform:translateX(100%);transition:transform .35s cubic-bezier(.3,.8,.3,1);
  display:flex;flex-direction:column;color:var(--hfi-ink);
  font-family:'Inter',-apple-system,system-ui,sans-serif;
}
.hfi-cart-drawer.open{transform:translateX(0);box-shadow:-20px 0 60px rgba(0,0,0,.5)}

.hfi-cart-head{
  padding:1.5rem 1.4rem 1.25rem;
  border-bottom:1px solid var(--hfi-edge);
  display:flex;justify-content:space-between;align-items:center;
}
.hfi-cart-head h3{
  font-family:'Playfair Display',Georgia,serif;font-weight:800;
  font-size:1.25rem;color:var(--hfi-ink);margin:0;
}
.hfi-cart-head h3 em{color:var(--hfi-gold);font-style:italic;margin-left:.3rem}
.hfi-cart-head .hfi-close{
  background:transparent;border:none;color:var(--hfi-muted);
  font-size:1.6rem;line-height:1;cursor:pointer;padding:.25rem .5rem;
}
.hfi-cart-head .hfi-close:hover{color:var(--hfi-ink)}

/* Liste items */
.hfi-cart-body{flex:1;overflow-y:auto;padding:1rem 1.4rem}

.hfi-empty{
  text-align:center;padding:3rem 1rem;color:var(--hfi-dim);
}
.hfi-empty svg{width:48px;height:48px;fill:var(--hfi-dim);margin-bottom:1rem;opacity:.4}
.hfi-empty h4{font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:1.1rem;color:var(--hfi-muted);margin-bottom:.4rem}
.hfi-empty p{font-size:.88rem;line-height:1.5}

.hfi-item{
  display:grid;grid-template-columns:60px 1fr auto;gap:.85rem;
  padding:.9rem 0;border-bottom:1px dashed var(--hfi-edge);
}
.hfi-item:last-child{border-bottom:none}
.hfi-item-img{
  width:60px;height:60px;border-radius:8px;
  background:var(--hfi-card);overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  font-family:'Playfair Display',Georgia,serif;font-weight:800;color:var(--hfi-gold);font-size:.75rem;
  border:1px solid var(--hfi-edge);
}
.hfi-item-img img{width:100%;height:100%;object-fit:cover}
.hfi-item-info h5{font-family:'Inter',sans-serif;font-weight:600;font-size:.92rem;line-height:1.25;margin-bottom:.2rem;color:var(--hfi-ink)}
.hfi-item-info .hfi-item-brand{font-size:.65rem;color:var(--hfi-gold);letter-spacing:.15em;text-transform:uppercase;font-weight:700;margin-bottom:.25rem}
.hfi-item-info .hfi-item-fmt{font-size:.72rem;color:var(--hfi-dim);margin-bottom:.45rem}
.hfi-qty{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.06);border:1px solid var(--hfi-edge);border-radius:50px;padding:.2rem .35rem}
.hfi-qty button{background:transparent;border:none;color:var(--hfi-muted);width:22px;height:22px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;transition:all .15s}
.hfi-qty button:hover{background:var(--hfi-gold);color:#0a0a0a}
.hfi-qty .hfi-qty-val{font-weight:700;color:var(--hfi-ink);font-size:.82rem;min-width:20px;text-align:center;font-variant-numeric:tabular-nums}
.hfi-item-del{background:transparent;border:none;color:var(--hfi-dim);cursor:pointer;padding:0;align-self:flex-start;transition:color .15s}
.hfi-item-del:hover{color:var(--hfi-fire)}
.hfi-item-del svg{width:18px;height:18px;fill:currentColor}

/* Bannière livraison gratuite (progression) */
.hfi-freeship{
  margin:0 1.4rem 1rem;padding:.9rem 1.1rem;
  background:linear-gradient(135deg,rgba(46,196,113,.08),rgba(196,160,80,.05));
  border:1px solid rgba(46,196,113,.3);border-radius:.65rem;
  font-size:.82rem;color:var(--hfi-ink);line-height:1.4;
}
.hfi-freeship.unlocked{background:linear-gradient(135deg,rgba(46,196,113,.18),rgba(46,196,113,.08));border-color:var(--hfi-green)}
.hfi-freeship-msg{display:flex;align-items:center;gap:.5rem;font-weight:600;margin-bottom:.55rem}
.hfi-freeship-msg .fs-icon{font-size:1.05rem}
.hfi-freeship-msg strong{color:var(--hfi-green)}
.hfi-freeship.unlocked .hfi-freeship-msg{color:var(--hfi-green);font-weight:700}
.hfi-freeship-bar{height:6px;background:rgba(255,255,255,.08);border-radius:3px;overflow:hidden;position:relative}
.hfi-freeship-bar-fill{position:absolute;top:0;left:0;bottom:0;background:linear-gradient(90deg,var(--hfi-gold),var(--hfi-green));border-radius:3px;transition:width .4s cubic-bezier(.3,.8,.3,1)}
.hfi-freeship.unlocked .hfi-freeship-bar-fill{background:linear-gradient(90deg,var(--hfi-green),#1eb858)}
.hfi-freeship-thresh{display:flex;justify-content:space-between;font-size:.7rem;color:var(--hfi-dim);margin-top:.35rem}

/* Récap totaux */
.hfi-cart-recap{
  padding:1.1rem 1.4rem;border-top:1px solid var(--hfi-edge);
  background:rgba(196,160,80,.04);
}
.hfi-recap-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--hfi-muted);margin-bottom:.35rem}
.hfi-recap-row.total{font-size:.95rem;color:var(--hfi-ink);font-weight:600;margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--hfi-edge)}
.hfi-recap-row.total .hfi-amount{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:1.2rem;color:var(--hfi-gold)}
.hfi-recap-note{font-size:.7rem;color:var(--hfi-dim);margin-top:.6rem;line-height:1.4;font-style:italic}

/* Footer drawer (actions) */
.hfi-cart-foot{
  padding:1rem 1.4rem 1.4rem;
  border-top:1px solid var(--hfi-edge);
  display:flex;flex-direction:column;gap:.55rem;
}
.hfi-btn-send{
  background:linear-gradient(135deg,var(--hfi-green),#1eb858);
  color:#fff;font-weight:800;font-size:.95rem;
  padding:1rem 1.4rem;border-radius:50px;border:none;
  cursor:pointer;transition:transform .15s,box-shadow .2s;
  box-shadow:0 6px 20px rgba(46,196,113,.4);
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
}
.hfi-btn-send:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 28px rgba(46,196,113,.55)}
.hfi-btn-send:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}
.hfi-btn-continue{
  background:transparent;color:var(--hfi-muted);border:1px solid var(--hfi-edge);
  padding:.75rem;font-size:.82rem;border-radius:50px;cursor:pointer;font-weight:600;
  transition:border-color .2s,color .2s;
}
.hfi-btn-continue:hover{border-color:var(--hfi-gold);color:var(--hfi-gold)}

/* Modal commande (formulaire envoi) */
.hfi-order-modal{
  position:fixed;inset:0;background:rgba(0,0,0,.86);backdrop-filter:blur(8px);
  z-index:210;display:none;align-items:center;justify-content:center;padding:1rem;
  animation:hfi-fade .3s;
}
.hfi-order-modal.open{display:flex}
@keyframes hfi-fade{from{opacity:0}to{opacity:1}}
.hfi-order-card{
  background:#111;border:1px solid var(--hfi-gold);
  border-radius:1rem;padding:1.75rem;max-width:460px;width:100%;
  max-height:92vh;overflow-y:auto;position:relative;
  font-family:'Inter',sans-serif;color:var(--hfi-ink);
}
.hfi-order-close{
  position:absolute;top:.85rem;right:1.1rem;
  background:transparent;border:none;color:var(--hfi-muted);
  font-size:1.6rem;cursor:pointer;line-height:1;
}
.hfi-order-close:hover{color:var(--hfi-ink)}
.hfi-order-card h3{
  font-family:'Playfair Display',Georgia,serif;font-weight:800;
  font-size:1.35rem;margin-bottom:.35rem;color:var(--hfi-gold);
}
.hfi-order-lead{color:var(--hfi-muted);font-size:.85rem;margin-bottom:1.25rem;line-height:1.5}

.hfi-summary{
  background:rgba(196,160,80,.06);border:1px solid rgba(196,160,80,.25);
  border-radius:.6rem;padding:.85rem 1rem;margin-bottom:1.1rem;font-size:.8rem;
}
.hfi-summary strong{color:var(--hfi-gold);font-weight:700}
.hfi-summary .hfi-sum-items{color:var(--hfi-muted);margin-top:.4rem;line-height:1.5}

.hfi-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem}
.hfi-field label{font-size:.7rem;font-weight:700;color:var(--hfi-gold);letter-spacing:.12em;text-transform:uppercase}
.hfi-field input,.hfi-field select,.hfi-field textarea{
  background:rgba(255,255,255,.04);border:1px solid var(--hfi-edge);
  border-radius:.5rem;padding:.8rem 1rem;
  color:var(--hfi-ink);font-family:'Inter',sans-serif;font-size:.9rem;
  transition:border-color .2s,background .2s;
}
.hfi-field input:focus,.hfi-field select:focus,.hfi-field textarea:focus{outline:none;border-color:var(--hfi-gold);background:rgba(196,160,80,.05)}

.hfi-field-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}

.hfi-pay-options{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.4rem}
.hfi-pay-opt{
  background:rgba(255,255,255,.04);border:1px solid var(--hfi-edge);
  border-radius:.6rem;padding:.85rem;cursor:pointer;
  display:flex;flex-direction:column;gap:.25rem;
  transition:border-color .2s,background .2s;
}
.hfi-pay-opt:hover{border-color:var(--hfi-gold);background:rgba(196,160,80,.06)}
.hfi-pay-opt input[type="radio"]{display:none}
.hfi-pay-opt.selected{border-color:var(--hfi-gold);background:rgba(196,160,80,.08)}
.hfi-pay-opt .hfi-pay-icon{font-size:1.2rem;margin-bottom:.2rem}
.hfi-pay-opt .hfi-pay-name{font-weight:700;font-size:.85rem}
.hfi-pay-opt .hfi-pay-desc{font-size:.7rem;color:var(--hfi-dim);line-height:1.35}

.hfi-order-submit{
  margin-top:.9rem;width:100%;
  background:linear-gradient(135deg,var(--hfi-green),#1eb858);
  color:#fff;font-weight:800;font-size:1rem;padding:1rem;
  border-radius:50px;border:none;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  transition:transform .15s,box-shadow .2s;
}
.hfi-order-submit:hover{transform:translateY(-1px)}
.hfi-order-reassure{
  margin-top:.85rem;padding-top:.85rem;border-top:1px dashed var(--hfi-edge);
  font-size:.7rem;color:var(--hfi-dim);text-align:center;line-height:1.45;
}
.hfi-order-reassure strong{color:var(--hfi-green);font-weight:700}

@media(max-width:600px){
  .hfi-cart-drawer{width:100vw}
  .hfi-cart-fab{bottom:1rem;right:1rem;width:56px;height:56px}
  .hfi-field-row,.hfi-pay-options{grid-template-columns:1fr}
}

/* Toast confirmation ajout */
.hfi-toast{
  position:fixed;top:1.5rem;left:50%;transform:translateX(-50%) translateY(-80px);
  background:linear-gradient(135deg,var(--hfi-green),#1eb858);color:#fff;
  padding:.75rem 1.3rem;border-radius:50px;font-size:.88rem;font-weight:700;
  box-shadow:0 10px 30px rgba(46,196,113,.4);z-index:300;
  display:flex;align-items:center;gap:.5rem;
  opacity:0;transition:all .35s cubic-bezier(.3,.8,.3,1);
  font-family:'Inter',sans-serif;
  pointer-events:none;
}
.hfi-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.hfi-toast svg{width:18px;height:18px;fill:currentColor}

/* Scroll natif vers ancres — deux couches de sécurité
   1. scroll-padding-top sur html
   2. scroll-margin-top sur chaque section ancrée (plus fiable en cross-browser) */
html{scroll-padding-top:200px !important;scroll-behavior:smooth !important}
@media(max-width:700px){html{scroll-padding-top:150px !important}}

/* Appliquer scroll-margin-top à TOUTES les sections avec un id — triple sécurité */
section[id],div[id],article[id]{scroll-margin-top:200px !important}
@media(max-width:700px){section[id],div[id],article[id]{scroll-margin-top:150px !important}}

/* Fiche technique dépliable (details/summary) — forcer l'affichage correct */
.p-details summary{list-style:none;-webkit-appearance:none;appearance:none;display:inline-block}
.p-details summary::-webkit-details-marker{display:none}
.p-details summary::marker{display:none;content:''}
.p-details[open] summary::after{content:' ‹'}
.p-details summary:hover{color:#e85d04 !important}

/* Fiche technique dépliable (details/summary) — forcer l'affichage correct */
.p-details summary{list-style:none;-webkit-appearance:none;appearance:none;display:inline-block}
.p-details summary::-webkit-details-marker{display:none}
.p-details summary::marker{display:none;content:''}
.p-details[open] summary::after{content:' ‹'}
.p-details summary:hover{color:#e85d04 !important}

/* ═══════════════════════════════════════════════════════
   HFI GLOBAL NAVIGATION BAR — une seule barre sur toutes
   les pages : Accueil · Distributeurs · Horeca · Studio
   + nom de la marque courante + panier
   ═══════════════════════════════════════════════════════ */
.hfi-top-bar{
  background:linear-gradient(90deg,#050505 0%,#0a0a0a 100%);
  color:rgba(255,255,255,.88);
  font-family:'Inter',-apple-system,system-ui,sans-serif;
  font-size:.85rem;
  padding:.75rem 1.25rem;
  display:flex;
  align-items:center;
  gap:1rem;
  border-bottom:2px solid rgba(196,160,80,.35);
  position:sticky;
  top:0;
  z-index:120;
  line-height:1.3;
  box-shadow:0 2px 12px rgba(0,0,0,.35);
  flex-wrap:wrap;
}
/* Bouton Accueil HFI — plus à gauche, très visible */
.hfi-bc-home{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  color:#0a0a0a;
  background:linear-gradient(135deg,#c4a050,#e85d04);
  font-weight:800;
  padding:.5rem .95rem;
  border-radius:50px;
  transition:transform .15s,box-shadow .2s;
  text-decoration:none;
  box-shadow:0 3px 12px rgba(196,160,80,.35);
  letter-spacing:.01em;
  white-space:nowrap;
  flex-shrink:0;
  font-size:.83rem;
}
.hfi-bc-home:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(232,93,4,.5)}
.hfi-bc-home svg{width:15px;height:15px;fill:currentColor;flex-shrink:0}
.hfi-bc-home .hfi-home-arrow{font-size:1rem;font-weight:800;transition:transform .2s}
.hfi-bc-home:hover .hfi-home-arrow{transform:translateX(-3px)}

/* Navigation principale globale */
.hfi-top-nav{
  display:flex;
  align-items:center;
  gap:.35rem;
  flex-wrap:wrap;
  flex:1;
}
.hfi-top-nav a{
  color:rgba(255,255,255,.75);
  text-decoration:none;
  font-weight:600;
  font-size:.82rem;
  padding:.45rem .75rem;
  border-radius:8px;
  transition:background .15s,color .15s;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  white-space:nowrap;
}
.hfi-top-nav a:hover{color:#c4a050;background:rgba(196,160,80,.1)}
.hfi-top-nav a.active{color:#c4a050;background:rgba(196,160,80,.12)}
.hfi-top-nav a.studio-link{
  background:rgba(196,160,80,.08);
  border:1px solid rgba(196,160,80,.3);
  color:#c4a050;
}
.hfi-top-nav a.studio-link:hover{background:rgba(196,160,80,.15);border-color:#c4a050}
.hfi-top-nav a.studio-link .lock{font-size:.72rem;opacity:.8}
.hfi-top-nav-sep{width:1px;height:20px;background:rgba(255,255,255,.1);margin:0 .35rem;flex-shrink:0}

/* Côté droit : marque courante + bouton Panier */
.hfi-top-right{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  flex-shrink:0;
  margin-left:auto;
}
.hfi-bc-current{
  color:#c4a050;
  font-weight:700;
  letter-spacing:.02em;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  font-size:.82rem;
  padding:.35rem .7rem;
  border:1px solid rgba(196,160,80,.3);
  border-radius:50px;
  background:rgba(196,160,80,.06);
}
.hfi-bc-current em{font-style:normal;opacity:.6;font-weight:500;color:rgba(255,255,255,.5)}

/* Bouton Panier dans la barre HFI */
.hfi-top-cart{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  background:linear-gradient(135deg,#2ec471,#1eb858);
  color:#fff;
  font-weight:700;
  font-size:.82rem;
  padding:.45rem .85rem;
  border-radius:50px;
  border:none;
  cursor:pointer;
  transition:transform .15s,box-shadow .2s;
  box-shadow:0 3px 10px rgba(46,196,113,.35);
  text-decoration:none;
  white-space:nowrap;
  position:relative;
}
.hfi-top-cart:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(46,196,113,.5)}
.hfi-top-cart svg{width:16px;height:16px;fill:currentColor}
.hfi-top-cart .hfi-top-cart-badge{
  background:#0a0a0a;color:#c4a050;
  min-width:20px;height:20px;border-radius:10px;
  font-size:.68rem;font-weight:800;
  display:inline-flex;align-items:center;justify-content:center;
  padding:0 .3rem;border:1.5px solid #c4a050;
  font-family:'Playfair Display',Georgia,serif;
  margin-left:.1rem;
}
.hfi-top-cart .hfi-top-cart-badge.empty{display:none}

/* Menu burger mobile */
.hfi-burger{
  display:none;
  background:none;
  border:1px solid rgba(196,160,80,.3);
  border-radius:6px;
  color:rgba(255,255,255,.85);
  padding:.35rem .6rem;
  cursor:pointer;
  font-size:1.1rem;
  line-height:1;
  flex-shrink:0;
}
.hfi-burger:hover{border-color:#c4a050;color:#c4a050}

@media(max-width:880px){
  .hfi-top-nav{display:none;order:99;flex-basis:100%;flex-direction:column;align-items:stretch;gap:.25rem;padding-top:.6rem;border-top:1px dashed rgba(255,255,255,.08);margin-top:.5rem}
  .hfi-top-nav.open{display:flex}
  .hfi-top-nav a{padding:.65rem .85rem;font-size:.88rem;width:100%}
  .hfi-top-nav-sep{display:none}
  .hfi-burger{display:inline-flex;align-items:center;justify-content:center;gap:.3rem}
  .hfi-bc-current em{display:none}
}
@media(max-width:500px){
  .hfi-top-bar{padding:.6rem .75rem;gap:.5rem}
  .hfi-bc-home{padding:.4rem .7rem;font-size:.75rem}
  .hfi-bc-home span{font-size:.75rem}
  .hfi-bc-current{font-size:.72rem;padding:.25rem .55rem}
}

/* ═══════════════════════════════════════════════════════
   WAR-MACHINE LAYER — agressivité commerciale
   Code promo · Bundle -50% · Créneaux · Exit-intent · Parrainage
   ═══════════════════════════════════════════════════════ */

/* Bandeau promo global (code SAHA20) — tout en haut */
.hfi-promo-bar{
  background:linear-gradient(90deg,#e85d04 0%,#c4a050 50%,#e85d04 100%);
  background-size:200% 100%;
  animation:hfi-promo-shine 4s linear infinite;
  color:#fff;
  font-family:'Inter',-apple-system,system-ui,sans-serif;
  font-size:.82rem;font-weight:700;padding:.55rem 1rem;
  text-align:center;display:flex;align-items:center;justify-content:center;
  gap:.7rem;flex-wrap:wrap;line-height:1.3;letter-spacing:.02em;
  position:relative;z-index:118;box-shadow:0 2px 10px rgba(232,93,4,.3);
}
@keyframes hfi-promo-shine{0%{background-position:0 0}100%{background-position:200% 0}}
.hfi-promo-bar strong{font-weight:800;background:rgba(0,0,0,.32);padding:.1rem .55rem;border-radius:4px;letter-spacing:.08em;text-transform:uppercase}
.hfi-promo-bar .cd-live{font-variant-numeric:tabular-nums;font-weight:800;background:rgba(0,0,0,.42);padding:.1rem .45rem;border-radius:4px}
@media(max-width:600px){.hfi-promo-bar{font-size:.72rem;padding:.45rem .6rem}.hfi-promo-bar .hide-sm{display:none}}

/* Bundle -50% dans le drawer */
.hfi-bundle-alert{
  margin:.75rem 1.4rem .75rem;padding:.85rem 1rem;
  background:linear-gradient(135deg,rgba(232,93,4,.15),rgba(196,160,80,.08));
  border:1px solid rgba(232,93,4,.4);border-radius:.65rem;
  font-size:.82rem;color:var(--hfi-ink);line-height:1.4;
  display:flex;align-items:flex-start;gap:.55rem;
}
.hfi-bundle-alert.active{background:linear-gradient(135deg,rgba(46,196,113,.18),rgba(232,93,4,.08));border-color:var(--hfi-green)}
.hfi-bundle-alert .ba-ico{font-size:1.05rem;flex-shrink:0;margin-top:.1rem}
.hfi-bundle-alert strong{font-weight:800}
.hfi-bundle-alert.active strong{color:var(--hfi-green)}

/* Créneaux de livraison restants */
.hfi-slots-widget{
  margin:.75rem 1.4rem 0;padding:.75rem 1rem;
  background:rgba(0,0,0,.35);border:1px solid var(--hfi-edge);border-radius:.6rem;
  display:flex;justify-content:space-between;align-items:center;gap:.7rem;
  font-size:.78rem;color:var(--hfi-muted);
}
.hfi-slots-widget .slots-label{display:inline-flex;align-items:center;gap:.45rem}
.hfi-slots-widget .slots-dot{width:8px;height:8px;border-radius:50%;background:var(--hfi-fire,#e85d04);box-shadow:0 0 8px var(--hfi-fire,#e85d04);animation:hfi-pulse 1.5s infinite}
.hfi-slots-widget strong{color:var(--hfi-fire,#e85d04);font-weight:800;font-family:'Playfair Display',Georgia,serif;font-size:.92rem}

/* Champ code promo dans la modal commande */
.hfi-promo-code-row{
  background:rgba(196,160,80,.06);border:1px dashed rgba(196,160,80,.35);
  border-radius:.55rem;padding:.75rem .9rem;margin-bottom:.85rem;
}
.hfi-promo-code-row label{display:block;font-size:.7rem;font-weight:700;color:var(--hfi-gold,#c4a050);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem}
.hfi-promo-code-box{display:flex;gap:.4rem}
.hfi-promo-code-box input{flex:1;background:rgba(255,255,255,.04);border:1px solid var(--hfi-edge);border-radius:.4rem;padding:.6rem .8rem;color:var(--hfi-ink);font-family:ui-monospace,Menlo,monospace;text-transform:uppercase;letter-spacing:.15em;font-weight:700;font-size:.88rem}
.hfi-promo-code-box input:focus{outline:none;border-color:var(--hfi-gold,#c4a050);background:rgba(196,160,80,.06)}
.hfi-promo-code-box button{background:var(--hfi-gold,#c4a050);color:#0a0a0a;font-weight:800;padding:0 1.1rem;border-radius:.4rem;font-size:.78rem;letter-spacing:.04em;cursor:pointer;border:none;transition:filter .15s}
.hfi-promo-code-box button:hover{filter:brightness(1.1)}
.hfi-promo-code-msg{margin-top:.45rem;font-size:.72rem;font-weight:600;display:none}
.hfi-promo-code-msg.ok{color:var(--hfi-green);display:block}
.hfi-promo-code-msg.err{color:#fca5a5;display:block}

/* EXIT INTENT MODAL */
.hfi-exit-modal{
  position:fixed;inset:0;background:rgba(0,0,0,.88);backdrop-filter:blur(10px);
  z-index:280;display:none;align-items:center;justify-content:center;padding:1rem;
}
.hfi-exit-modal.open{display:flex;animation:hfi-fade .3s}
.hfi-exit-card{
  background:linear-gradient(135deg,#0a0a0a 0%,#1a0a05 60%,#0a0a0a 100%);
  border:2px solid var(--hfi-gold,#c4a050);
  border-radius:1.25rem;padding:2.5rem 2rem 2rem;
  max-width:480px;width:100%;position:relative;color:#fff;
  font-family:'Inter',sans-serif;text-align:center;
  box-shadow:0 30px 80px rgba(232,93,4,.4),0 0 0 1px rgba(196,160,80,.25);
  animation:hfi-wiggle .5s ease .1s;
}
.hfi-exit-card::before{
  content:'';position:absolute;inset:-2px;border-radius:1.25rem;padding:2px;
  background:linear-gradient(135deg,var(--hfi-fire,#e85d04),var(--hfi-gold,#c4a050),var(--hfi-fire,#e85d04));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;
}
.hfi-exit-close{
  position:absolute;top:.8rem;right:1.1rem;
  background:none;border:none;color:rgba(255,255,255,.4);
  font-size:1.6rem;cursor:pointer;line-height:1;transition:color .15s;
}
.hfi-exit-close:hover{color:#fff}
.hfi-exit-eyebrow{display:inline-block;background:var(--hfi-fire,#e85d04);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.2em;padding:.3rem .8rem;border-radius:50px;text-transform:uppercase;margin-bottom:1rem}
.hfi-exit-card h3{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:1.65rem;line-height:1.15;margin-bottom:.6rem}
.hfi-exit-card h3 em{color:var(--hfi-gold,#c4a050);font-style:italic}
.hfi-exit-card p{color:rgba(255,255,255,.75);font-size:.9rem;margin-bottom:1.5rem;line-height:1.55}
.hfi-exit-code{background:#0a0a0a;border:2px dashed var(--hfi-gold,#c4a050);border-radius:.6rem;padding:.85rem;margin-bottom:1.25rem;font-family:ui-monospace,Menlo,monospace;font-size:1.25rem;font-weight:800;color:var(--hfi-gold,#c4a050);letter-spacing:.2em;cursor:pointer;transition:background .15s;position:relative}
.hfi-exit-code::before{content:'📋 CLIQUEZ POUR COPIER';position:absolute;top:-.55rem;left:50%;transform:translateX(-50%);background:var(--hfi-gold,#c4a050);color:#0a0a0a;font-size:.58rem;letter-spacing:.12em;padding:.15rem .55rem;border-radius:10px;font-family:'Inter',sans-serif;font-weight:800}
.hfi-exit-code:hover{background:rgba(196,160,80,.08)}
.hfi-exit-code.copied{background:rgba(46,196,113,.12);border-color:var(--hfi-green);color:var(--hfi-green)}
.hfi-exit-code.copied::before{content:'✓ CODE COPIÉ'}
.hfi-exit-cta{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,var(--hfi-gold,#c4a050),var(--hfi-fire,#e85d04));color:#0a0a0a;font-weight:800;padding:1rem 1.8rem;border-radius:50px;text-decoration:none;font-size:1rem;letter-spacing:.01em;transition:transform .15s}
.hfi-exit-cta:hover{transform:translateY(-2px)}
.hfi-exit-foot{margin-top:1rem;font-size:.72rem;color:rgba(255,255,255,.45)}

/* Section parrainage dans lhima.html */
.hfi-referral-cta{
  background:linear-gradient(135deg,rgba(46,196,113,.08),rgba(196,160,80,.04));
  border:1px solid rgba(46,196,113,.25);border-radius:1rem;
  padding:2rem 1.5rem;margin:2.5rem 0;text-align:center;
}
.hfi-referral-cta .eb{color:var(--hfi-green);font-size:.68rem;letter-spacing:.25em;font-weight:800;text-transform:uppercase;margin-bottom:.75rem;display:inline-block}
.hfi-referral-cta h3{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:1.6rem;line-height:1.15;margin-bottom:.6rem;color:var(--hfi-ink)}
.hfi-referral-cta h3 em{color:var(--hfi-green);font-style:italic}
.hfi-referral-cta p{color:var(--hfi-muted);font-size:.92rem;max-width:520px;margin:0 auto 1.25rem;line-height:1.55}
.hfi-referral-nums{display:flex;justify-content:center;gap:1.5rem;margin:1.25rem 0}
.hfi-referral-num{background:rgba(0,0,0,.35);border:1px solid var(--hfi-edge);border-radius:.6rem;padding:.85rem 1.1rem;text-align:center;min-width:130px}
.hfi-referral-num .num{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:1.6rem;color:var(--hfi-green);display:block}
.hfi-referral-num .label{font-size:.7rem;color:var(--hfi-muted);font-weight:600;letter-spacing:.05em}

/* Newsletter WhatsApp opt-in */
.hfi-newsletter{
  background:linear-gradient(135deg,rgba(37,211,102,.08),rgba(0,0,0,.4));
  border:1px solid rgba(37,211,102,.3);border-radius:1rem;
  padding:1.75rem 1.5rem;margin:2rem 0;display:flex;gap:1rem;align-items:center;flex-wrap:wrap
}
.hfi-newsletter .nl-icon{width:54px;height:54px;border-radius:50%;background:var(--hfi-green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}
.hfi-newsletter .nl-text{flex:1;min-width:200px}
.hfi-newsletter h4{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:1.1rem;margin-bottom:.25rem;color:var(--hfi-ink)}
.hfi-newsletter h4 strong{color:var(--hfi-green)}
.hfi-newsletter p{color:var(--hfi-muted);font-size:.82rem;line-height:1.4;margin:0}
.hfi-newsletter form{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.hfi-newsletter input{background:rgba(255,255,255,.05);border:1px solid var(--hfi-edge);border-radius:.5rem;padding:.7rem 1rem;color:var(--hfi-ink);font-family:inherit;font-size:.88rem;min-width:180px}
.hfi-newsletter input:focus{outline:none;border-color:var(--hfi-green)}
.hfi-newsletter button{background:var(--hfi-green);color:#fff;font-weight:700;font-size:.85rem;padding:.7rem 1.2rem;border-radius:.5rem;border:none;cursor:pointer;transition:transform .15s}
.hfi-newsletter button:hover{transform:translateY(-1px);filter:brightness(1.1)}

/* Bandeau annonce livraison gratuite (partout sur le site via cart.js init) */
.hfi-freeship-bar-global{
  background:linear-gradient(90deg,var(--hfi-green,#2ec471) 0%,#1eb858 50%,var(--hfi-gold,#c4a050) 100%);
  color:#0a0a0a;
  font-family:'Inter',-apple-system,system-ui,sans-serif;
  font-size:.78rem;
  font-weight:700;
  padding:.5rem 1rem;
  text-align:center;
  display:flex;align-items:center;justify-content:center;gap:.7rem;
  flex-wrap:wrap;line-height:1.3;letter-spacing:.01em;
  position:relative;z-index:115;
}
.hfi-freeship-bar-global strong{font-weight:800}
.hfi-freeship-bar-global .fs-pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:#0a0a0a;animation:hfi-pulse 1.6s infinite}
@media(max-width:600px){.hfi-freeship-bar-global{font-size:.72rem;padding:.45rem .65rem}.hfi-freeship-bar-global .fs-hide{display:none}}

/* Modal Studio (petit modal qui redirige vers studio-login) */
.hfi-studio-modal{position:fixed;inset:0;background:rgba(0,0,0,.88);backdrop-filter:blur(8px);z-index:250;display:none;align-items:center;justify-content:center;padding:1rem}
.hfi-studio-modal.open{display:flex}
.hfi-studio-card{background:#111;border:1px solid #c4a050;border-radius:1rem;padding:2rem;max-width:400px;width:100%;text-align:center;position:relative;color:#fff;font-family:'Inter',sans-serif}
.hfi-studio-card h3{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:1.35rem;margin-bottom:.6rem;color:#c4a050}
.hfi-studio-card p{color:rgba(255,255,255,.7);font-size:.88rem;margin-bottom:1.25rem;line-height:1.5}
.hfi-studio-card .lock-icon{font-size:2rem;margin-bottom:.5rem}
.hfi-studio-card .go-btn{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#c4a050,#e85d04);color:#0a0a0a;font-weight:800;padding:.85rem 1.5rem;border-radius:50px;text-decoration:none;transition:transform .15s}
.hfi-studio-card .go-btn:hover{transform:translateY(-1px)}
.hfi-studio-card .close{position:absolute;top:.75rem;right:1rem;background:none;border:none;color:rgba(255,255,255,.6);font-size:1.5rem;cursor:pointer}

/* Bouton ajout au panier (utilisable à la place des Commander) */
.hfi-add-btn{
  background:linear-gradient(135deg,var(--hfi-gold),var(--hfi-fire));
  color:#0a0a0a;font-weight:700;font-size:.82rem;
  padding:.7rem 1.1rem;border-radius:50px;border:none;
  cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;
  transition:transform .15s,box-shadow .2s;
  font-family:'Inter',sans-serif;
}
.hfi-add-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(232,93,4,.35)}
.hfi-add-btn.added{background:linear-gradient(135deg,var(--hfi-green),#1eb858);color:#fff}
.hfi-add-btn svg{width:14px;height:14px;fill:currentColor}

/* ───── CROSS-SELL : "Complétez votre commande" ───── */
.hfi-cross-sell{
  margin:.85rem 1.1rem 0;
  padding:.95rem 1rem 1.05rem;
  background:linear-gradient(180deg,rgba(196,160,80,.06),rgba(196,160,80,.02));
  border:1px solid rgba(196,160,80,.18);
  border-radius:.7rem;
  font-family:'Inter',sans-serif;
}
.hfi-xs-head{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.75rem}
.hfi-xs-title{
  font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  font-weight:800;color:#c4a050;display:inline-flex;align-items:center;gap:.45rem;
}
.hfi-xs-title::before{content:'＋';font-size:.95rem;letter-spacing:0;color:#c4a050;font-weight:700}
.hfi-xs-sub{font-size:.78rem;color:rgba(255,255,255,.65);line-height:1.35}
.hfi-xs-sub strong{color:#fff;font-weight:700}

.hfi-xs-grid{display:grid;grid-template-columns:1fr;gap:.55rem}
@media(min-width:480px){.hfi-xs-grid{grid-template-columns:1fr 1fr}}

.hfi-xs-card{
  display:grid;grid-template-columns:48px 1fr 36px;
  align-items:center;gap:.65rem;
  padding:.5rem .55rem;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);
  border-radius:.5rem;
  transition:background .2s,border-color .2s;
}
.hfi-xs-card:hover{background:rgba(255,255,255,.06);border-color:rgba(196,160,80,.35)}
.hfi-xs-img{width:48px;height:48px;border-radius:.4rem;overflow:hidden;background:#0a0a0a;flex-shrink:0}
.hfi-xs-img img{width:100%;height:100%;object-fit:cover;display:block}
.hfi-xs-body{min-width:0;display:flex;flex-direction:column;gap:.1rem}
.hfi-xs-name{
  font-size:.78rem;font-weight:600;color:#fff;line-height:1.25;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.hfi-xs-price{font-size:.72rem;color:#c4a050;font-weight:700;letter-spacing:.01em}
.hfi-xs-add{
  width:32px;height:32px;border-radius:.45rem;
  background:linear-gradient(135deg,#c4a050,#e85d04);
  color:#0a0a0a;border:none;cursor:pointer;
  font-size:1.1rem;font-weight:800;line-height:1;
  display:flex;align-items:center;justify-content:center;
  transition:transform .15s,filter .2s;flex-shrink:0;
}
.hfi-xs-add:hover{transform:scale(1.08);filter:brightness(1.1)}
.hfi-xs-add:active{transform:scale(.95)}
