/*
 * proparo-fiche-produit.css
 * CSS extrait verbatim de la maquette proparo-fiche-produit.html
 * Chargé uniquement sur les pages produit
 */

/* ════════════════════════════════════
   BREADCRUMB
════════════════════════════════════ */
.breadcrumb-wrap{padding-top:16px;padding-bottom:4px;border-bottom:1px solid var(--border);}
.breadcrumb{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-hint);}
.breadcrumb a{color:var(--ink-hint);transition:color .15s;}
.breadcrumb a:hover{color:var(--brand);}
.breadcrumb-sep{color:var(--ink-hint);opacity:.5;}
.breadcrumb-current{color:var(--ink-mid);font-weight:500;}

/* ════════════════════════════════════
   STICKY ADD TO CART
════════════════════════════════════ */
.sticky-bar{
  position:fixed;bottom:0;left:0;right:0;z-index:150;
  background:rgba(255,255,255,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-top:1px solid var(--border);
  padding:14px 0;
  transform:translateY(100%);
  transition:transform .35s var(--ease);
  box-shadow:0 -8px 32px rgba(0,0,0,.08);
}
.sticky-bar.visible{transform:translateY(0);}
.sticky-bar-inner{display:flex;align-items:center;gap:24px;}
.sticky-bar-img{width:44px;height:44px;border-radius:var(--r-sm);background:var(--canvas-warm);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;}
.sticky-bar-img img{width:100%;height:100%;object-fit:contain;}
.sticky-bar-name{font-size:14px;font-weight:600;color:var(--ink);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sticky-bar-price{font-size:18px;font-weight:800;color:var(--brand);letter-spacing:-.02em;flex-shrink:0;}
.sticky-bar-cta{background:var(--brand);color:#fff;font-size:14px;font-weight:700;padding:12px 24px;border-radius:var(--r-pill);box-shadow:var(--brand-sh);transition:background .2s,transform .15s;flex-shrink:0;display:flex;align-items:center;gap:8px;border:none;cursor:pointer;font-family:var(--font-b);}
.sticky-bar-cta:hover{background:var(--brand-dk);transform:translateY(-1px);}

/* ════════════════════════════════════
   PRODUCT LAYOUT
════════════════════════════════════ */
.product-wrap{padding:40px 0 0;}
.product-layout{display:grid;grid-template-columns:55fr 45fr;gap:64px;align-items:start;}

/* ════════════════════════════════════
   GALERIE
════════════════════════════════════ */
.gallery{position:sticky;top:88px;}
.gallery-main{
  background:#FFFFFF;
  border-radius:var(--r-xl);
  aspect-ratio:1/1;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;position:relative;
  margin-bottom:16px;
  border:1px solid var(--border);
}

/* Adapter le partial PS8 product-cover-thumbnails dans gallery-main */
.gallery-main .images-container{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.gallery-main .product-cover{width:100%;height:100%;position:relative;aspect-ratio:unset!important;border-radius:0!important;}
.gallery-main .product-cover picture{display:block;width:100%;height:100%;}
.gallery-main .product-cover img,
.gallery-main img.js-qv-product-cover,
.gallery-main img.img-fluid{
  position:absolute;inset:0;
  width:100%!important;height:100%!important;
  object-fit:contain;object-position:center;
  padding:8px;box-sizing:border-box;
  transition:transform .4s var(--ease);
}
.gallery-main:hover .product-cover img{transform:scale(1.04);}
/* Masquer la liste de thumbs PS8 rendue dans le partial */
.gallery-main .js-qv-mask{display:none!important;}
.gallery-main .product-cover .layer{display:none;}

/* Badge flottant */
.gallery-badge{
  position:absolute;top:16px;left:16px;z-index:2;
  background:var(--brand);color:#fff;
  font-size:11px;font-weight:700;
  padding:6px 12px;border-radius:var(--r-pill);
  letter-spacing:.04em;text-transform:uppercase;
}
.gallery-actions{position:absolute;top:16px;right:16px;z-index:2;display:flex;flex-direction:column;gap:8px;}
.gallery-action-btn{
  width:36px;height:36px;border-radius:50%;
  background:var(--canvas);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  color:var(--ink-mute);box-shadow:var(--sh-xs);
  transition:background .15s,border-color .15s,color .15s;
  cursor:pointer;
}
.gallery-action-btn:hover,.gallery-action-btn.active{background:var(--brand-light);border-color:var(--brand);color:var(--brand);}
.gallery-zoom{position:absolute;bottom:14px;right:14px;display:flex;align-items:center;gap:5px;background:rgba(255,255,255,.8);backdrop-filter:blur(4px);border-radius:var(--r-pill);padding:5px 10px;font-size:10px;font-weight:500;color:var(--ink-mute);pointer-events:none;}

.gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
.gallery-thumb{
  aspect-ratio:1/1;background:#FFFFFF;
  border-radius:var(--r-md);border:2px solid transparent;
  cursor:pointer;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  transition:border-color .2s,transform .2s;
}
.gallery-thumb:hover{border-color:var(--border-mid);transform:translateY(-2px);}
.gallery-thumb.active{border-color:var(--brand);}
.gallery-thumb img{width:100%;height:100%;object-fit:contain;padding:6px;}

/* ════════════════════════════════════
   BLOC ACHAT
════════════════════════════════════ */
.buy-block{padding-top:4px;}

.product-brand{font-size:11px;font-weight:700;color:var(--brand);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;display:flex;align-items:center;gap:8px;}
.product-brand::before{content:'';width:16px;height:2px;background:var(--brand);border-radius:1px;}
.product-title{font-family:var(--font-d);font-size:clamp(26px,3vw,38px);font-weight:700;color:var(--ink);line-height:1.15;letter-spacing:-.025em;margin-bottom:14px;}
.product-ref{font-size:11px;color:var(--ink-hint);margin-bottom:12px;}

/* Note avis */
.product-rating{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border);flex-wrap:wrap;}
.rating-stars{display:flex;gap:2px;}
.star{width:16px;height:16px;color:var(--stars);}
.star-empty{color:var(--border-mid);}
.rating-score{font-size:14px;font-weight:700;color:var(--ink);}
.rating-count{font-size:13px;color:var(--brand);text-decoration:underline;text-underline-offset:2px;cursor:pointer;}
.rating-count:hover{color:var(--brand-dk);}
.rating-sep{width:1px;height:14px;background:var(--border);}
.rating-qs{font-size:13px;color:var(--ink-mute);}

/* Prix — structure de base */
.price-block{margin-bottom:20px;}

/* Bridge CSS : adapter le rendu du partial PS8 product-prices.tpl */
.price-block .product-prices{display:block;}
.price-block .product-price{display:flex!important;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:4px;}
.price-block .current-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.price-block .current-price-value{font-family:var(--font-d)!important;font-size:38px!important;font-weight:800!important;color:var(--brand)!important;letter-spacing:-.03em!important;line-height:1!important;}
.price-block .product-discount .regular-price{font-size:18px;color:var(--ink-hint);text-decoration:line-through;}
.price-block .discount-percentage,.price-block .discount-amount{background:var(--brand)!important;color:#fff!important;font-size:11px!important;font-weight:700!important;padding:3px 8px!important;border-radius:var(--r-pill)!important;letter-spacing:.04em!important;vertical-align:middle;}
.price-block .tax-shipping-delivery-label{font-size:12px;color:var(--ink-hint);margin-top:4px;display:flex;align-items:center;gap:4px;}
.price-block .product-h5{font-size:inherit;font-weight:inherit;}

/* Stock */
.stock-row{display:flex;align-items:center;gap:8px;margin-bottom:24px;}
.stock-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.stock-dot.in{background:var(--success);box-shadow:0 0 0 3px rgba(45,138,78,.15);}
.stock-dot.low{background:var(--alert);box-shadow:0 0 0 3px rgba(232,122,42,.15);}
.stock-dot.out{background:var(--ink-hint);}
.stock-label{font-size:13px;font-weight:500;}
.stock-label.in{color:var(--success);}
.stock-label.low{color:var(--alert);}
.stock-label.out{color:var(--ink-mute);}
.stock-delivery{font-size:12px;color:var(--ink-hint);margin-left:4px;}

/* Déclinaisons — bridge CSS pour le partial PS8 product-variants.tpl */
.variants-block{margin-bottom:24px;}
/* Titre Choisissez une variante : injecté via :before sur le 1er enfant */
.variants-block::before{
  content:"Choisissez une variante";
  display:block;
  font-family:var(--font-d);
  font-size:14px;
  font-weight:600;
  color:var(--ink);
  margin-bottom:14px;
  letter-spacing:.01em;
}
.variants-block .product-variants-item{margin-bottom:14px;}
.variants-block .control-label{font-size:12px;font-weight:600;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;display:block;}
.variants-block .input-container,
.variants-block ul[id^="group_"]{
  display:flex;gap:10px;flex-wrap:wrap;list-style:none;padding:0;margin:0;
}
/* Cacher les radio / color inputs natifs */
.variants-block .input-radio,.variants-block .input-color{
  position:absolute;opacity:0;pointer-events:none;width:0;height:0;
}
/* Styler les labels-pilule (radio + select textuel) */
.variants-block .input-container label{
  display:flex;align-items:center;justify-content:center;
  padding:9px 18px;border-radius:var(--r-md);
  border:1.5px solid var(--border-mid);
  font-size:13px;font-weight:500;color:var(--ink-mid);
  transition:border-color .15s,background .15s,color .15s,transform .15s;
  cursor:pointer;background:var(--canvas);
  margin:0;
}
.variants-block .input-container label:hover{border-color:var(--brand);background:var(--brand-light);color:var(--brand);}
.variants-block .input-container input.input-radio:checked + .radio-label,
.variants-block .input-container input.input-radio:checked ~ .radio-label{font-weight:600;}
.variants-block .input-container input:checked + label,
.variants-block .input-container label:has(input:checked){
  border-color:var(--brand);background:var(--brand-light);color:var(--brand);font-weight:600;
}

/* === Color swatches (ronds colorés) === */
.variants-block .input-container label:has(.color){
  padding:0;background:transparent!important;border:none!important;
  width:38px;height:38px;border-radius:50%;
  position:relative;
}
.variants-block .input-container .color{
  display:block;
  width:32px;height:32px;border-radius:50%;
  border:1.5px solid var(--border-mid);
  box-shadow:inset 0 0 0 2px #fff;
  transition:transform .15s,box-shadow .15s,border-color .15s;
  margin:auto;
}
.variants-block .input-container label:hover .color{transform:scale(1.08);border-color:var(--ink-mute);}
.variants-block .input-container input:checked + .color,
.variants-block .input-container label:has(input:checked) .color{
  border-color:var(--brand);
  box-shadow:inset 0 0 0 2px #fff, 0 0 0 2px var(--brand);
}
.variants-block .input-container .attribute-name.sr-only{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* Fallback select */
.variants-block select.form-control-select{height:44px;padding:0 12px;border:1.5px solid var(--border-mid);border-radius:var(--r-md);font-size:14px;font-weight:500;color:var(--ink-mid);background:var(--canvas);cursor:pointer;transition:border-color .15s;}
.variants-block select.form-control-select:focus{border-color:var(--brand);outline:none;}

/* Quantite + CTA */
.buy-row{display:flex;gap:12px;align-items:stretch;margin-bottom:28px;}
.qty-stepper{display:inline-flex;align-items:center;border:1.5px solid var(--border-mid);border-radius:var(--r-pill);overflow:hidden;height:54px;flex-shrink:0;}
.qty-btn{width:46px;height:100%;background:var(--canvas-warm);font-size:22px;font-weight:300;color:var(--ink);transition:background .15s;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;font-family:var(--font-b);}
.qty-btn:hover{background:var(--canvas-deep);}
input[type="number"].qty-input,
.qty-input{width:52px!important;height:100%;border:none;border-left:1px solid var(--border);border-right:1px solid var(--border);text-align:center;font-size:15px;font-weight:700;color:var(--ink);font-family:var(--font-b);outline:none;background:var(--canvas);-moz-appearance:textfield;padding:0;border-radius:0;}
.qty-input::-webkit-outer-spin-button,.qty-input::-webkit-inner-spin-button{-webkit-appearance:none;}
button.btn-atc,
.btn-atc{
  flex:1;min-width:0;height:54px;
  background:var(--brand);color:#fff;
  font-size:15px;font-weight:700;
  border-radius:var(--r-pill);
  box-shadow:var(--brand-sh);
  display:flex;align-items:center;justify-content:center;gap:10px;
  transition:background .2s,transform .15s,box-shadow .2s;
  letter-spacing:-.01em;border:none;cursor:pointer;font-family:var(--font-b);
}
.btn-atc:hover{background:var(--brand-dk);transform:translateY(-2px);box-shadow:0 12px 32px rgba(212,0,18,.35);}
.btn-atc:active{transform:scale(.97);}
.btn-atc:disabled{background:var(--ink-hint);box-shadow:none;cursor:not-allowed;transform:none;}
.btn-atc.loading .atc-icon{display:none;}
.btn-atc.loading::after{content:'';width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:proparoSpin .6s linear infinite;}
@keyframes proparoSpin{to{transform:rotate(360deg);}}
.atc-icon{display:flex;align-items:center;justify-content:center;}

.btn-wishlist{height:54px;width:54px;border-radius:var(--r-pill);border:1.5px solid var(--border-mid);display:flex;align-items:center;justify-content:center;color:var(--ink-hint);flex-shrink:0;transition:border-color .15s,background .15s,color .15s;cursor:pointer;background:var(--canvas);}
.btn-wishlist:hover,.btn-wishlist.active{border-color:var(--brand);background:var(--brand-light);color:var(--brand);}

/* Disponibilite */
.product-availability{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;margin-top:10px;color:var(--ink-mid);}
.product-minimal-quantity{font-size:12px;color:var(--ink-hint);margin-top:6px;min-height:0;}

/* Payment icons */
.payment-row{display:flex;align-items:center;gap:8px;margin-bottom:32px;flex-wrap:wrap;}
.payment-label{font-size:11px;color:var(--ink-hint);margin-right:4px;}
.pay-icon{height:22px;padding:3px 8px;background:var(--canvas-warm);border-radius:4px;font-size:10px;font-weight:700;color:var(--ink-mute);display:flex;align-items:center;border:1px solid var(--border);}

/* Livraison */
.delivery-block{background:var(--canvas-warm);border-radius:var(--r-lg);padding:16px 18px;margin-bottom:24px;display:flex;flex-direction:column;gap:10px;}
.delivery-item{display:flex;align-items:center;gap:12px;}
.delivery-icon{width:32px;height:32px;border-radius:var(--r-sm);background:var(--canvas);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--border);}
.delivery-text{font-size:13px;color:var(--ink-mid);}
.delivery-text strong{font-weight:600;color:var(--ink);}

/* Accordeon */
.accordion{margin-bottom:24px;}
.accordion{margin-bottom:24px;}
.acc-item{border-top:1px solid var(--border);}
.acc-item:last-child{border-bottom:1px solid var(--border);}
.acc-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:18px 0;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;background:transparent;border:none;text-align:left;font-family:var(--font-b);transition:color .2s;}
.acc-trigger:hover{color:var(--brand);}
.acc-chevron{transition:transform .35s cubic-bezier(.4,0,.2,1);color:var(--ink-hint);flex-shrink:0;}
.acc-item.open .acc-chevron{transform:rotate(180deg);color:var(--brand);}
.acc-body{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1);}
.acc-item.open .acc-body{grid-template-rows:1fr;padding-bottom:18px;}
.acc-body > .acc-content{overflow:hidden;opacity:0;transition:opacity .3s .05s;}
.acc-item.open .acc-body > .acc-content{opacity:1;}
.acc-content{font-size:14px;color:var(--ink-mute);line-height:1.75;}
.acc-content ul{padding-left:18px;display:flex;flex-direction:column;gap:6px;margin-top:4px;}
.acc-content li{list-style:disc;}
.acc-content p{margin-bottom:10px;}
.acc-content p:last-child{margin-bottom:0;}
.acc-content strong{color:var(--ink);font-weight:600;}

/* Partage */
/* Masquer le partage PS8 natif — on utilise share-row */
.social-sharing{display:none!important;}

/* Masquer les blocs PS8 natifs (Deja vus, Meme categorie) */
.page-product .featured-products{display:none!important;}

/* Modal images produit — masque par defaut, visible uniquement quand .show */
.modal{display:none;position:fixed;inset:0;z-index:1050;overflow:auto;}
.modal.fade{opacity:0;transition:opacity .15s;}
.modal.fade.show,.modal.show{display:flex;align-items:center;justify-content:center;opacity:1;}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:1040;}
.modal-dialog{position:relative;max-width:900px;width:90%;z-index:1051;}
.modal-content{background:var(--canvas);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-lg);}
.modal-header{display:flex;justify-content:flex-end;padding:16px;}
.modal-header .close,.modal-header [data-dismiss="modal"]{background:none;border:none;font-size:24px;cursor:pointer;color:var(--ink-mute);}
.modal-body{padding:0 24px 24px;}
.modal-body img{width:100%;height:auto;border-radius:var(--r-lg);}
.share-row{display:flex;align-items:center;gap:10px;}
.share-label{font-size:12px;color:var(--ink-hint);font-weight:500;}
.share-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--ink-mute);transition:border-color .15s,color .15s,background .15s;cursor:pointer;background:var(--canvas);}
.share-btn:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-light);}

/* ════════════════════════════════════
   SECTION TABS
════════════════════════════════════ */
.product-tabs-section{padding:64px 0;border-top:1px solid var(--border);margin-top:40px;}
.tabs-nav{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:48px;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.tabs-nav::-webkit-scrollbar{display:none;}
.tab-nav-btn{
  font-size:14px;font-weight:600;color:var(--ink-mute);
  padding:14px 24px;border-bottom:2px solid transparent;
  margin-bottom:-1px;transition:color .2s,border-color .2s;cursor:pointer;
  white-space:nowrap;background:transparent;border-top:none;border-left:none;border-right:none;
  font-family:var(--font-b);
}
.tab-nav-btn:hover{color:var(--ink);}
.tab-nav-btn.active{color:var(--brand);border-bottom-color:var(--brand);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}

/* Description */
.desc-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.desc-intro{font-size:17px;line-height:1.8;color:var(--ink-mid);margin-bottom:28px;}
.desc-highlight{
  position:relative;
  background:linear-gradient(135deg, #faf6ef 0%, #f5efe3 100%);
  border:1px solid rgba(180,150,90,.18);
  border-radius:var(--r-lg);
  padding:20px 24px 20px 64px;
  margin-bottom:28px;
  font-size:14.5px;
  line-height:1.7;
  color:var(--ink-mid);
  box-shadow:0 1px 2px rgba(140,110,60,.04), 0 4px 12px rgba(140,110,60,.05);
  transition:transform .25s var(--ease), box-shadow .25s var(--ease);
}
/* Pastille ronde Proparo (rouge brand) avec icone ampoule */
.desc-highlight::before{
  content:"";
  position:absolute;
  top:20px;
  left:20px;
  width:28px;
  height:28px;
  border-radius:50%;
  background:var(--brand) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M9 18h6'/><path d='M10 22h4'/><path d='M15.09 14c.18-.98.65-1.74 1.41-2.5A4.65 4.65 0 0 0 18 8 6 6 0 0 0 6 8c0 1 .23 2.23 1.5 3.5A4.61 4.61 0 0 1 8.91 14'/></svg>") no-repeat center / 16px 16px;
  box-shadow:0 2px 6px rgba(212,0,18,.2);
}
.desc-highlight:hover{
  transform:translateY(-1px);
  box-shadow:0 2px 4px rgba(140,110,60,.08), 0 8px 24px rgba(140,110,60,.08);
}
.desc-list{display:flex;flex-direction:column;gap:10px;margin-bottom:28px;}
.desc-list-item{display:flex;gap:12px;align-items:flex-start;}
.desc-list-icon{width:20px;height:20px;border-radius:50%;background:var(--success-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;}
.desc-list-text{font-size:14px;color:var(--ink-mid);line-height:1.55;}
.desc-visual{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/5;background:var(--canvas-deep);display:flex;align-items:center;justify-content:center;font-family:var(--font-d);font-style:italic;font-size:14px;color:var(--ink-hint);text-align:center;line-height:1.7;}
.desc-visual img{width:100%;height:100%;object-fit:cover;}
.desc-empty{color:var(--ink-mute);font-size:14px;}
.desc-raw{display:none !important;}

/* Rich content inside tabs (from CMS description) */
.desc-intro h3,.comp-rendered h3,.usage-rendered h3{font-family:var(--font-d);font-size:18px;font-weight:700;color:var(--ink);margin:28px 0 12px;line-height:1.35;}
.desc-intro h3:first-child,.comp-rendered h3:first-child,.usage-rendered h3:first-child{margin-top:0;}
.desc-intro p,.comp-rendered p,.usage-rendered p{font-size:15px;line-height:1.75;color:var(--ink-mid);margin-bottom:14px;}
.desc-intro ul,.comp-rendered ul,.usage-rendered ul{list-style:none;padding:0;margin:0 0 20px;}
.desc-intro ul li,.comp-rendered ul li,.usage-rendered ul li{position:relative;padding-left:24px;font-size:14px;line-height:1.7;color:var(--ink-mid);margin-bottom:8px;}
.desc-intro ul li::before,.comp-rendered ul li::before,.usage-rendered ul li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;background:var(--brand);}
.desc-intro ol,.comp-rendered ol,.usage-rendered ol{padding-left:24px;margin:0 0 20px;}
.desc-intro ol li,.comp-rendered ol li,.usage-rendered ol li{font-size:14px;line-height:1.7;color:var(--ink-mid);margin-bottom:8px;}
.desc-intro strong,.comp-rendered strong,.usage-rendered strong{color:var(--ink);font-weight:600;}
.desc-intro em,.comp-rendered em,.usage-rendered em{color:var(--brand);font-style:italic;}

/* Composition (product-details PS8 partial) */
.tab-panel-comp{font-size:14px;color:var(--ink-mid);}
.tab-panel-comp .data-sheet{border-collapse:collapse;width:100%;}
.tab-panel-comp .data-sheet tr{border-bottom:1px solid var(--border);}
.tab-panel-comp .data-sheet tr:last-child{border-bottom:none;}
.tab-panel-comp .data-sheet td,.tab-panel-comp .data-sheet th{padding:12px 16px;}
.tab-panel-comp .data-sheet .name{font-weight:600;color:var(--ink);width:40%;}
.tab-panel-comp .data-sheet .value{color:var(--ink-mid);}

/* Composition : tableau ingrédients */
.ingredients-table{width:100%;border-collapse:collapse;}
.ingredients-table th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mute);padding:10px 16px;background:var(--canvas-warm);text-align:left;border-bottom:1px solid var(--border);}
.ingredients-table td{padding:12px 16px;font-size:13px;color:var(--ink-mid);border-bottom:1px solid var(--border);}
.ingredients-table tr:last-child td{border-bottom:none;}
.ingredients-table tr:hover td{background:var(--canvas-warm);}
.ing-highlight{font-weight:600;color:var(--ink);}
.ing-badge{display:inline-block;background:var(--success-bg);color:var(--success);font-size:10px;font-weight:700;padding:2px 7px;border-radius:var(--r-pill);margin-left:6px;letter-spacing:.04em;}

/* Utilisation */
.usage-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.usage-step{text-align:center;padding:28px 20px;}
.usage-num{font-family:var(--font-d);font-size:48px;font-weight:800;color:var(--border);line-height:1;margin-bottom:12px;letter-spacing:-.04em;}
.usage-icon{width:48px;height:48px;border-radius:var(--r-md);background:var(--brand-light);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.usage-title{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:6px;}
.usage-text{font-size:13px;color:var(--ink-mute);line-height:1.6;}

/* Livraison & retours */
.shipping-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.shipping-card{background:var(--canvas-warm);border-radius:var(--r-lg);padding:24px;}
.shipping-card-icon{width:40px;height:40px;border-radius:var(--r-md);background:var(--canvas);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.shipping-card-title{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:6px;}
.shipping-card-text{font-size:13px;color:var(--ink-mute);line-height:1.6;}

/* ════════════════════════════════════
   SECTION AVIS
════════════════════════════════════ */
.reviews-section{padding:64px 0;background:var(--canvas-warm);}
.reviews-header{display:grid;grid-template-columns:auto 1fr auto;gap:48px;align-items:center;margin-bottom:48px;}
.rev-score-big{font-family:var(--font-d);font-size:80px;font-weight:800;color:var(--ink);letter-spacing:-.05em;line-height:1;}
.rev-stars-lg{color:var(--stars);font-size:22px;letter-spacing:3px;margin:4px 0;}
.rev-total{font-size:13px;color:var(--ink-hint);}
.rev-badge{margin-top:12px;background:var(--brand);color:#fff;border-radius:var(--r-md);padding:8px 14px;font-size:10px;font-weight:800;text-align:center;letter-spacing:.05em;line-height:1.5;}
.rev-bars{display:flex;flex-direction:column;gap:8px;max-width:280px;}
.rev-bar-row{display:flex;align-items:center;gap:10px;}
.rev-bar-lbl{font-size:12px;color:var(--ink-mute);min-width:36px;}
.rev-bar-track{flex:1;height:7px;background:var(--canvas-deep);border-radius:var(--r-pill);overflow:hidden;}
.rev-bar-fill{height:100%;background:var(--stars);border-radius:var(--r-pill);}
.rev-bar-n{font-size:11px;color:var(--ink-hint);min-width:36px;text-align:right;}
.rev-write-btn{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--brand);color:var(--brand);font-size:13px;font-weight:600;padding:12px 20px;border-radius:var(--r-pill);transition:background .2s,color .2s;}
.rev-write-btn:hover{background:var(--brand);color:#fff;}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px;}
.review-card{background:var(--canvas);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px;transition:box-shadow .25s,transform .25s;}
.review-card:hover{box-shadow:var(--sh-md);transform:translateY(-3px);}
.review-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;}
.review-author{font-size:14px;font-weight:700;color:var(--ink);}
.review-date{font-size:11px;color:var(--ink-hint);margin-top:2px;}
.review-verified{font-size:10px;font-weight:600;color:var(--success);display:flex;align-items:center;gap:3px;}
.review-stars-sm{color:var(--stars);font-size:13px;letter-spacing:1px;}
.review-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:6px;}
.review-text{font-size:13px;color:var(--ink-mid);line-height:1.65;font-style:italic;}
.review-text::before{content:'\201C';}
.review-text::after{content:'\201D';}
.review-helpful{display:flex;align-items:center;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border);}
.review-helpful-label{font-size:11px;color:var(--ink-hint);}
.review-helpful-btn{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:var(--ink-mute);padding:3px 8px;border-radius:var(--r-pill);border:1px solid var(--border);background:none;cursor:pointer;transition:border-color .15s,color .15s;}
.review-helpful-btn:hover{border-color:var(--brand);color:var(--brand);}
.reviews-more{text-align:center;}
.btn-reviews-more{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--border-mid);color:var(--ink-mid);font-size:13px;font-weight:600;padding:12px 24px;border-radius:var(--r-pill);background:none;cursor:pointer;transition:border-color .2s,color .2s;}
.btn-reviews-more:hover{border-color:var(--ink);color:var(--ink);}

/* ════════════════════════════════════
   PRODUITS ASSOCIES
════════════════════════════════════ */
.related-section{padding:80px 0;}
.section-eyebrow{font-size:11px;font-weight:700;color:var(--brand);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:10px;}
.section-eyebrow::before{content:'';width:20px;height:2px;background:var(--brand);border-radius:1px;}
.section-title{font-family:var(--font-d);font-size:clamp(28px,3vw,40px);font-weight:700;color:var(--ink);letter-spacing:-.025em;margin-bottom:40px;}
.section-title em{font-style:italic;color:var(--brand);}
.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.pcard{background:var(--canvas-warm);border-radius:var(--r-lg);border:1px solid var(--border);overflow:hidden;position:relative;transition:box-shadow .3s var(--ease),transform .3s var(--ease);cursor:pointer;display:flex;flex-direction:column;height:100%;}
.pcard-body{flex:1;}
.pcard:hover{box-shadow:var(--sh-lg);transform:translateY(-5px);}
.pcard:hover .pcard-img{transform:scale(1.05);}
.pcard:hover .pcard-add{transform:translateY(0);opacity:1;}
.pcard-badges{position:absolute;top:12px;left:12px;z-index:2;display:flex;flex-direction:column;gap:4px;}
.badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 9px;border-radius:var(--r-pill);}
.badge-best{background:var(--brand);color:#fff;}
.badge-new{background:var(--ink);color:#fff;}
.badge-kit{background:#1A3A5C;color:#fff;}
.pcard-fav{position:absolute;top:12px;right:12px;z-index:2;width:32px;height:32px;border-radius:50%;background:var(--canvas);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--ink-hint);box-shadow:var(--sh-xs);transition:background .15s,border-color .15s,color .15s;cursor:pointer;}
.pcard-fav:hover{background:var(--brand-light);border-color:var(--brand);color:var(--brand);}
.pcard-img-wrap{background:#FFFFFF;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;padding:12px;}
.pcard-img{width:100%;height:100%;object-fit:contain;transition:transform .4s var(--ease);}
.pcard-add{position:absolute;bottom:0;left:0;right:0;background:var(--brand);color:#fff;font-size:12px;font-weight:700;padding:11px 0;text-align:center;transform:translateY(100%);opacity:0;transition:transform .3s var(--ease),opacity .3s var(--ease);display:flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;font-family:var(--font-b);}
.pcard-body{padding:16px;background:var(--canvas-warm);}
.pcard-brand{font-size:10px;font-weight:700;color:var(--brand);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px;}
.pcard-name{font-size:14px;font-weight:500;color:var(--ink);line-height:1.4;margin-bottom:8px;}
.pcard-stars-row{display:flex;align-items:center;gap:4px;margin-bottom:10px;}
.pcard-stars-v{color:var(--stars);font-size:11px;}
.pcard-stars-n{font-size:11px;color:var(--ink-hint);}
.pcard-price-row{display:flex;align-items:baseline;gap:7px;}
.pcard-price-main{font-size:18px;font-weight:800;color:var(--brand);letter-spacing:-.02em;}
.pcard-price-old{font-size:12px;color:var(--ink-hint);text-decoration:line-through;}

/* ════════════════════════════════════
   REASSURANCE
════════════════════════════════════ */
.reassurance{background:var(--ink);padding:22px 0;margin:32px 0 0 !important;max-width:none !important;border-radius:0 !important;}
.reassurance .container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad);}
.reassurance-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.reass-item{display:flex;align-items:center;gap:14px;padding:6px 32px;border-right:1px solid rgba(255,255,255,.07);}
.reass-item:last-child{border-right:none;}
.reass-icon{width:38px;height:38px;min-width:38px;background:rgba(255,255,255,.06);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;}
.reass-title{font-size:13px;font-weight:600;color:#fff;}
.reass-sub{font-size:11px;color:rgba(255,255,255,.38);margin-top:1px;}

/* ════════════════════════════════════
   RESPONSIVE
════════════════════════════════════ */
@media(max-width:1024px){
  .product-layout{gap:40px;}
  .related-grid{grid-template-columns:repeat(3,1fr);}
  .desc-layout{gap:40px;}
}
@media(max-width:768px){
  .product-layout{grid-template-columns:1fr;gap:32px;}
  .gallery{position:static;}
  .gallery-thumbs{grid-template-columns:repeat(5,1fr);}
  .reviews-header{grid-template-columns:1fr;gap:24px;}
  .reviews-grid{grid-template-columns:1fr;}
  .related-grid{grid-template-columns:repeat(2,1fr);}
  .reassurance-inner{grid-template-columns:repeat(2,1fr);}
  .reass-item:nth-child(2){border-right:none;}
  .reass-item:nth-child(3){border-top:1px solid rgba(255,255,255,.07);}
  .desc-layout{grid-template-columns:1fr;}
  .desc-visual{display:none;}
  .usage-steps{grid-template-columns:1fr;}
  .shipping-grid{grid-template-columns:1fr;}
  .breadcrumb-wrap{padding-top:16px;}
}
@media(max-width:480px){
  .sticky-bar-name{display:none;}
  .gallery-thumbs{grid-template-columns:repeat(4,1fr);}
  .related-grid{grid-template-columns:1fr;}
  .reassurance-inner{grid-template-columns:1fr;}
  .reass-item{border-right:none;border-bottom:1px solid rgba(255,255,255,.07);}
  .reass-item:last-child{border-bottom:none;}
  .product-layout{padding:0 0 32px;}
  .buy-row{flex-wrap:wrap;}
  .btn-atc{flex:1 1 160px;}
}
