:root{--ink:#2C2421;--ivory:#FDFBF9;--brass:#C4A882;--greige:#8B7E74;--line:#E4DBD1}
/* ══════════════════════════════════════════════════════════════
   LUVENTA — SIDE CART. Inspiration Respire, adapte a la charte
   warm-premium et a la contrainte GMC (aucune promesse, aucun
   "offert" : la barre montre le PARCOURS de livraison, pas un seuil).
   ══════════════════════════════════════════════════════════════ */
body.lv-sc-lock{overflow:hidden}
.lv-sc-back{position:fixed;inset:0;background:rgba(33,28,24,.42);backdrop-filter:blur(2px);z-index:9998;animation:lvfd .22s ease}
@keyframes lvfd{from{opacity:0}to{opacity:1}}
.lv-sidecart{position:fixed;top:0;right:0;height:100%;width:432px;max-width:94vw;background:var(--ivory);
  z-index:9999;transform:translateX(101%);transition:transform .34s cubic-bezier(.32,.72,0,1);
  display:flex;flex-direction:column;box-shadow:-26px 0 60px -24px rgba(33,28,24,.45)}
.lv-sidecart.on{transform:translateX(0)}
.lv-sidecart.busy{opacity:.5;pointer-events:none}
.lv-sidecart .hd{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 16px;flex:0 0 auto}
.lv-sidecart .hd .ti{font-family:'Cormorant',serif;font-size:26px;color:var(--ink)}
.lv-sidecart .hd .cl{background:none!important;border:0!important;box-shadow:none!important;font-size:26px!important;
  line-height:1!important;color:var(--ink)!important;cursor:pointer;padding:0 2px!important;min-width:0!important;width:auto!important}
.lv-sidecart .bd{flex:1;overflow-y:auto;display:flex;flex-direction:column}

/* TIMELINE DE LIVRAISON (factuelle) */
.lv-sc-time{padding:16px 24px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex:0 0 auto;background:#FDFBF9}
.lv-sc-time .rail{height:3px;border-radius:3px;background:rgba(33,28,24,.12);margin:6px 6px 12px;position:relative}
.lv-sc-time .rail .fill{position:absolute;left:0;top:0;height:100%;width:16%;border-radius:3px;background:var(--brass)}
.lv-sc-time .pts{display:flex;justify-content:space-between;gap:8px}
.lv-sc-time .p{flex:1;text-align:center}
.lv-sc-time .p:first-child{text-align:left}
.lv-sc-time .p:last-child{text-align:right}
.lv-sc-time b{display:block;font-family:''DM Sans'',sans-serif;font-size:11.5px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--greige);font-weight:600}
.lv-sc-time .p.on b{color:var(--brass)}
.lv-sc-time em{display:block;font-style:normal;font-family:''DM Sans'',sans-serif;font-size:11.5px;color:var(--greige);margin-top:2px}

/* LIGNES PRODUIT */
.lv-sc-lignes{list-style:none;margin:0;padding:4px 24px;flex:1 0 auto}
.lv-sc-lignes li{display:flex;gap:14px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line)}
.lv-sc-lignes .im{flex:0 0 78px}
.lv-sc-lignes .im img{width:78px;height:78px;object-fit:cover;border-radius:10px;display:block;background:#fff}
.lv-sc-lignes .in{flex:1;min-width:0}
.lv-sc-lignes .nm{display:block;font-family:''DM Sans'',sans-serif;font-size:13.5px;line-height:1.4;color:var(--ink);text-decoration:none}
.lv-sc-lignes .nm:hover{color:var(--brass)}
.lv-sc-lignes .vr{font-family:''DM Sans'',sans-serif;font-size:11.5px;color:var(--greige);margin-top:2px}
.lv-sc-lignes .qt{display:inline-flex;align-items:center;border:1px solid rgba(33,28,24,.18);border-radius:8px;margin-top:10px}
.lv-sc-lignes .qt button{background:none!important;border:0!important;box-shadow:none!important;width:28px!important;
  min-width:0!important;height:28px;padding:0!important;line-height:1!important;font-size:14px!important;color:var(--greige)!important;cursor:pointer}
.lv-sc-lignes .qt button:hover{color:var(--ink)!important;background:none!important}
.lv-sc-lignes .qt span{font-family:''DM Sans'',sans-serif;font-size:13px;color:var(--ink);min-width:22px;text-align:center}
.lv-sc-lignes .rt{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;align-self:stretch}
.lv-sc-lignes .pz{font-family:''DM Sans'',sans-serif;font-size:14px;color:var(--ink);font-weight:600;white-space:nowrap}
.lv-sc-lignes .rm{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;
  min-width:0!important;width:auto!important;cursor:pointer}
.lv-sc-lignes .rm svg{width:17px;height:17px;fill:none;stroke:#C9BFB2;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.lv-sc-lignes .rm:hover svg{stroke:#b00000}

/* RECOMMANDATIONS */
.lv-sc-reco{padding:18px 0 20px;border-top:1px solid var(--line);flex:0 0 auto}
.lv-sc-reco .tt{font-family:'Cormorant',serif;font-size:19px;color:var(--ink);padding:0 24px 12px}
.lv-sc-reco .rail-x{display:flex;gap:10px;overflow-x:auto;padding:0 24px 4px;scroll-snap-type:x mandatory}
.lv-sc-reco .rail-x::-webkit-scrollbar{height:0}
.lv-sc-reco .c{flex:0 0 216px;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);
  border-radius:11px;padding:8px;scroll-snap-align:start;position:relative}
.lv-sc-reco .c img{width:46px;height:46px;object-fit:cover;border-radius:7px;display:block}
.lv-sc-reco .tx{flex:1;min-width:0}
.lv-sc-reco .n{display:block;font-family:''DM Sans'',sans-serif;font-size:11.8px;line-height:1.3;color:var(--ink);text-decoration:none}
.lv-sc-reco .p{font-family:''DM Sans'',sans-serif;font-size:11.5px;color:var(--greige);margin-top:2px}
.lv-sc-reco .p .lv-vat{display:none}
.lv-sc-reco .ad{flex:0 0 26px;width:26px!important;min-width:0!important;height:26px;border-radius:50%;
  background:var(--brass)!important;color:#fff!important;border:0!important;box-shadow:none!important;
  font-size:15px!important;line-height:26px!important;padding:0!important;text-align:center;text-decoration:none;cursor:pointer}
.lv-sc-reco .ad:hover{background:var(--ink)!important}

/* PIED */
.lv-sc-pied{flex:0 0 auto;padding:18px 24px 22px;border-top:1px solid var(--line);background:#FDFBF9}
.lv-sc-pied .lg{display:flex;justify-content:space-between;align-items:baseline;font-family:''DM Sans'',sans-serif;
  font-size:13.5px;color:var(--greige);margin-bottom:6px}
.lv-sc-pied .lg b{color:var(--ink);font-size:14.5px}
.lv-sc-pied .vat{font-family:''DM Sans'',sans-serif;font-size:11.5px;color:var(--greige);margin-bottom:14px}
.lv-sc-cta{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--ink);color:var(--ivory);
  padding:17px;border-radius:40px;text-decoration:none;font-family:''DM Sans'',sans-serif;font-size:13px;
  letter-spacing:.12em;text-transform:uppercase;font-weight:600;transition:background .18s}
.lv-sc-cta:hover{background:var(--brass);color:#fff}
.lv-sc-cta i{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.5;display:block}
.lv-sc-cta .amount{color:currentColor}
.lv-sc-btn{display:block;text-align:center;padding:13px;border-radius:40px;font-family:''DM Sans'',sans-serif;font-size:12px;
  letter-spacing:.1em;text-transform:uppercase;font-weight:600;text-decoration:none;margin-top:9px}
.lv-sc-btn.ghost{background:transparent;color:var(--ink);border:1px solid rgba(33,28,24,.25)}
.lv-sc-btn.ghost:hover{background:var(--ink);color:var(--ivory)}
.lv-sc-pied .rass{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:14px;
  font-family:''DM Sans'',sans-serif;font-size:11px;color:var(--greige)}

/* VIDE */
.lv-sc-vide{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:60px 26px;text-align:center}
.lv-sc-vide svg{width:54px;height:54px;fill:none;stroke:#E4DBD1;stroke-width:1.4;stroke-linejoin:round}
.lv-sc-vide p{font-family:''DM Sans'',sans-serif;font-size:14.5px;color:var(--greige);margin:0}
.lv-sc-vide .lv-sc-btn{padding:13px 28px}

@media(max-width:520px){
  .lv-sidecart{width:100%;max-width:100%}
  .lv-sc-time,.lv-sc-lignes,.lv-sc-pied{padding-left:18px;padding-right:18px}
  .lv-sc-reco .rail-x,.lv-sc-reco .tt{padding-left:18px;padding-right:18px}
  .lv-sc-time em{font-size:10.5px}
}
.lv-sidecart .hd .ti em{font-style:normal;color:var(--greige);font-size:19px}
/* icones du bloc confiance (styles absents de luventa-cart.css) */
.lv-sc-trust{display:flex;gap:14px;justify-content:center;margin:14px 0 4px;flex-wrap:wrap}
.lv-sc-trust .t{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--greige)}
.lv-sc-trust .t svg{width:18px;height:18px;fill:none;stroke:var(--brass);stroke-width:1.6;flex-shrink:0}
.lv-sc-trust .t b{font-weight:600;color:var(--ink)}

/* ══════════════════════════════════════════════════════════════════
   VISION HUMAIN 31/08/2026 — trou dans le tiroir
   .lv-sc-lignes était en `flex:1 0 auto` : avec 1 seul article la liste
   grandissait de 180px à 338px, et le vide se retrouvait ENCADRÉ par la
   bordure du dernier <li> et le border-top des recos -> effet "boîte vide".
   On colle les articles en haut, on ancre recos + pied en bas, et on
   retire la bordure du dernier article pour ne plus cadrer le vide.
   ══════════════════════════════════════════════════════════════════ */
.lv-sidecart .lv-sc-lignes { flex: 0 0 auto !important; }
.lv-sidecart .lv-sc-lignes li:last-child { border-bottom: none !important; }
.lv-sidecart .lv-sc-reco { margin-top: auto !important; }

/* typographie française : espace avant les deux-points */
.lv-sc-lignes .vr { font-variant-numeric: tabular-nums; }
