/* =====================================================================
   Optimisation fiche produit — thème enfant warehousechild
   Restyle SEO/UX/conversion scopé à la page produit (#main-product-wrapper).
   N'affecte volontairement PAS le header/footer global du site.
   Cibles : configurateur sur-mesure (#configurator_block, .step_group),
   bloc prix, bouton #add_configurator_to_cart, réassurance.
   ===================================================================== */

#main-product-wrapper{
  --op-ink:#161a1d; --op-muted:#5b6167; --op-faint:#868d92;
  --op-surface:#ffffff; --op-surface-2:#f4f6f4; --op-line:#e2e5e2; --op-line-2:#d3d7d3;
  --op-brand:#1f5560; --op-brand-soft:#e6f0f0;
  --op-signal:#d8402a; --op-signal-soft:#fbe7e2;
  --op-good:#2e7d5b; --op-star:#e0a132;
  --op-radius:14px; --op-radius-sm:9px;
  --op-shadow:0 1px 2px rgba(16,24,28,.05),0 8px 26px rgba(16,24,28,.07);
  --op-shadow-sm:0 1px 2px rgba(16,24,28,.06);
}
@media (prefers-color-scheme:dark){
  #main-product-wrapper{
    --op-ink:#edf0f1; --op-muted:#9aa2a8; --op-faint:#79828a;
    --op-surface:#161b1f; --op-surface-2:#1c2227; --op-line:#28313a; --op-line-2:#33424c;
    --op-brand:#54b3c2; --op-brand-soft:#132a30;
    --op-signal:#f0634c; --op-signal-soft:#33170f;
    --op-good:#5bbd8f; --op-star:#eeb95f;
    --op-shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px rgba(0,0,0,.45);
  }
}

/* ---------- Titre produit ---------- */
#configurator_block > h1.h1{
  font-size:29px; line-height:1.14; letter-spacing:-.02em; font-weight:800;
  margin:0 0 6px; color:var(--op-ink); text-wrap:balance;
}
/* "Étape requise" : discret, sur sa propre ligne, plus collé au titre */
#configurator_block > h1.h1 .required,
#configurator_block .pull-right.required{
  float:none !important; display:block; font-size:11px; font-weight:600;
  letter-spacing:.04em; color:var(--op-faint); margin-top:2px;
}

/* Accroche + chip "Excellent rapport qualité/prix" (style indépendant de l'emplacement) */
[id^="product-description-short"] h2{
  font-size:16px; font-weight:700; color:var(--op-ink); margin:8px 0 10px; letter-spacing:-.01em;
}
[id^="product-description-short"] p{ color:var(--op-muted); font-size:14px; line-height:1.55; margin:0 0 10px; }
[id^="product-description-short"] h3{
  display:inline-flex; align-items:center; gap:7px;
  font-size:12.5px; font-weight:700; color:var(--op-brand);
  background:var(--op-brand-soft); border-radius:999px; padding:6px 13px; margin-top:6px;
}
[id^="product-description-short"] h3::before{ content:"★"; color:var(--op-star); }
/* Quand déplacé sous les vignettes (colonne galerie) */
.op-shortdesc-moved{ margin-top:22px; padding-top:20px; border-top:1px solid var(--op-line); }

/* ---------- Étoiles + avis injectés (JS) ---------- */
.op-rating{ display:flex; align-items:center; gap:9px; margin:2px 0 14px; }
.op-stars{ color:var(--op-star); font-size:16px; letter-spacing:1px; }
.op-rating b{ font-size:14px; color:var(--op-ink); }
.op-rating a{ font-size:13px; color:var(--op-muted); text-decoration:none; border-bottom:1px solid var(--op-line-2); }

/* ---------- Étapes du configurateur en cartes ---------- */
#configurator_block .step_list{ display:flex; flex-direction:column; gap:14px; }
#configurator_block .step_group.form-group{
  background:var(--op-surface); border:1px solid var(--op-line); border-radius:var(--op-radius);
  padding:16px 18px; margin:0; box-shadow:var(--op-shadow-sm);
}
/* Titre d'étape : label capitale espacée */
#configurator_block .step_group > label,
#configurator_block .step_group .form-control-label,
#configurator_block .step_group > .control-label,
#configurator_block .step_group legend{
  display:block; font-size:12px !important; font-weight:700; letter-spacing:.05em;
  text-transform:uppercase; color:var(--op-ink); margin-bottom:10px;
}
/* Astérisque requis en rouge signal */
#configurator_block .step_group .required,
#configurator_block .step_group sup{ color:var(--op-signal); }

/* Textes d'aide sous les titres */
#configurator_block .step_group small,
#configurator_block .step_group .help-block,
#configurator_block .step_group p{ color:var(--op-faint); font-size:12px; }

/* ---------- Selects (Uniform) restylés ---------- */
#configurator_block .selector.fixedWidth,
#configurator_block div.selector{
  width:100% !important; max-width:100%; height:auto !important;
  background:var(--op-surface) !important; border:1.5px solid var(--op-line-2) !important;
  border-radius:var(--op-radius-sm) !important; box-shadow:none !important;
  transition:border-color .15s, box-shadow .15s;
}
#configurator_block .selector.fixedWidth:hover{ border-color:var(--op-brand) !important; }
#configurator_block .selector span{
  height:auto !important; line-height:1.4 !important; padding:12px 40px 12px 14px !important;
  font-size:14px !important; font-weight:600; color:var(--op-ink) !important;
  background:transparent !important; width:auto !important;
}
#configurator_block .selector select{ height:100% !important; }

/* ---------- Dimensions (inputs) — label au-dessus + grande case + suffixe mm ---------- */
#configurator_block .option_input .input-group{
  position:relative; display:flex; flex-direction:column; align-items:stretch; width:100%;
  border:0; background:none; box-shadow:none; overflow:visible; max-width:none;
}
/* le préfixe natif « Hauteur en mm : » devient le label au-dessus */
#configurator_block .option_input .input-group-addon{
  order:0; width:auto !important; text-align:left; white-space:normal;
  background:none !important; border:0 !important; padding:0 0 7px !important;
  font-size:11px !important; font-weight:600; color:var(--op-faint) !important; text-transform:none;
}
/* la grande case */
#configurator_block .option_input .input-group .form-control{
  width:100% !important; height:auto !important; float:none !important;
  border:1.5px solid var(--op-line-2) !important; border-radius:var(--op-radius-sm) !important;
  background:var(--op-surface) !important; box-shadow:none !important;
  font-size:22px !important; font-weight:700; color:var(--op-ink) !important;
  padding:12px 50px 12px 14px !important; line-height:1.2;
}
#configurator_block .option_input .input-group .form-control:focus{
  border-color:var(--op-brand) !important; box-shadow:0 0 0 3px var(--op-brand-soft) !important;
}
#configurator_block .option_input .input-group.op-dim-bad .form-control{
  border-color:var(--op-signal) !important; box-shadow:0 0 0 3px var(--op-signal-soft) !important;
}
/* suffixe « mm » dans la case */
#configurator_block .option_input .input-group::after{
  content:"mm"; position:absolute; right:15px; bottom:15px;
  font-size:12px; font-weight:600; color:var(--op-faint); pointer-events:none;
}
/* message de validation */
#configurator_block .option_input .op-dim-msg{ font-size:11px; font-weight:600; margin-top:6px; min-height:14px; }
#configurator_block .option_input .op-dim-msg.ok{ color:var(--op-good); }
#configurator_block .option_input .op-dim-msg.bad{ color:var(--op-signal); }

/* ---------- Pastilles couleur (radios image) ---------- */
#configurator_block .step_group img{ border-radius:7px; }

/* ---------- Bloc "Votre configuration" + prix ---------- */
#configurator_block .page-subheading{
  font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--op-faint); border:0; margin:6px 0 8px;
}
/* Encadré prix (le conteneur du prix final) */
#configurator_preview_container,
#configurator_block .configurator_total,
#configurator_block .our_price_display{
  background:var(--op-surface); border:1px solid var(--op-line); border-radius:var(--op-radius);
  padding:16px 18px; box-shadow:var(--op-shadow-sm);
}
/* Prix final : gros et net */
#configurator_block .price,
#configurator_block .our_price_display,
#configurator_block .configurator_final_price,
span#our_price_display{
  font-size:30px !important; font-weight:800 !important; letter-spacing:-.03em; color:var(--op-ink) !important;
  font-variant-numeric:tabular-nums;
}
#configurator_block .regular-price,
#configurator_block .old_price,
#configurator_block .configurator_base_price{
  text-decoration:line-through; color:var(--op-faint) !important; font-weight:600; font-size:16px !important;
}
/* Chip -30% */
.op-discount-chip{
  display:inline-block; font-size:12px; font-weight:800; color:var(--op-signal);
  background:var(--op-signal-soft); padding:3px 9px; border-radius:7px; margin-left:8px;
}
/* Mention 4x injectée */
.op-4x{ display:flex; align-items:center; gap:7px; font-size:12.5px; color:var(--op-muted); margin-top:8px; }
.op-4x b{ color:var(--op-ink); font-weight:700; }

/* ---------- Bouton Ajouter au panier (compact, une seule ligne) ---------- */
#add_configurator_to_cart{
  background:var(--op-signal) !important; border:0 !important; color:#fff !important;
  font-size:15px !important; font-weight:800 !important; letter-spacing:.01em;
  border-radius:11px !important; padding:14px 26px !important;
  width:auto !important; min-width:200px; max-width:100%;
  display:inline-flex !important; align-items:center; justify-content:center; white-space:nowrap;
  box-shadow:0 6px 18px rgba(216,64,42,.32); transition:filter .15s, transform .15s;
}
#add_configurator_to_cart:hover{ filter:brightness(1.05); transform:translateY(-1px); }
#current_configurator_to_cart, #wait_configurator_to_cart{ white-space:nowrap; }

/* Conteneur du bouton : aligné à droite, sans halo ni encadré */
.configurator-add.op-sticky-cta{
  display:flex; justify-content:flex-end; align-items:center;
  background:none; border:0; box-shadow:none; backdrop-filter:none; padding:0; margin-top:8px;
}

/* ---------- Bandeau réassurance (Elementor déjà présent) ---------- */
.elementor-displayReassurance{ margin-top:22px; }
.elementor-displayReassurance .elementor-section{
  background:var(--op-surface); border:1px solid var(--op-line); border-radius:var(--op-radius);
  box-shadow:var(--op-shadow-sm); padding:6px 4px;
}

/* ---------- Trust chips injectées sous le prix ---------- */
.op-trust{ display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }
.op-trust span{
  display:inline-flex; align-items:center; gap:6px; font-size:11.5px; font-weight:600;
  color:var(--op-muted); background:var(--op-surface-2); border:1px solid var(--op-line);
  padding:5px 10px; border-radius:999px;
}
.op-trust span::before{ content:"✓"; color:var(--op-good); font-weight:800; }

/* ---------- Selects simples → cartes cliquables (JS) ---------- */
.op-cards{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media (max-width:520px){ .op-cards{ grid-template-columns:1fr; } }
.op-card{
  display:flex; gap:11px; align-items:flex-start; text-align:left; cursor:pointer;
  border:1.5px solid var(--op-line-2); background:var(--op-surface); border-radius:var(--op-radius-sm);
  padding:12px 13px; font-family:inherit; transition:.14s;
}
.op-card:hover{ background:var(--op-surface-2); }
.op-card[aria-pressed="true"]{ border-color:var(--op-brand); background:var(--op-brand-soft); }
.op-card-mark{
  width:18px; height:18px; border-radius:50%; border:2px solid var(--op-line-2);
  flex:none; margin-top:1px; position:relative; transition:.14s;
}
.op-card[aria-pressed="true"] .op-card-mark{ border-color:var(--op-brand); }
.op-card[aria-pressed="true"] .op-card-mark::after{ content:""; position:absolute; inset:3px; border-radius:50%; background:var(--op-brand); }
.op-card-body{ display:flex; flex-direction:column; gap:4px; }
.op-card-t{ font-size:13px; font-weight:700; line-height:1.25; color:var(--op-ink); }
.op-card-pr{ font-size:12.5px; font-weight:800; color:var(--op-brand); }
.op-card-pr.free{ color:var(--op-good); }

/* ---------- Eyebrow au-dessus du titre ---------- */
.op-eyebrow{
  display:block; font-size:11px; font-weight:700; letter-spacing:.16em;
  text-transform:uppercase; color:var(--op-brand); margin-bottom:4px;
}

/* ---------- Bloc prix en haut (miroir du prix configurateur) ---------- */
.op-pricebox{
  background:var(--op-surface); border:1px solid var(--op-line); border-radius:var(--op-radius);
  padding:16px 18px; box-shadow:var(--op-shadow-sm); margin:16px 0 6px;
}
.op-pricebox .op-pb-from{ font-size:12px; font-weight:600; color:var(--op-faint); margin-bottom:2px; }
.op-pricebox .op-pb-row{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.op-pricebox .op-pb-now{ font-size:32px; font-weight:800; letter-spacing:-.03em; color:var(--op-ink); font-variant-numeric:tabular-nums; }
.op-pricebox .op-pb-was{ font-size:16px; color:var(--op-faint); text-decoration:line-through; font-variant-numeric:tabular-nums; }
.op-pricebox .op-pb-chip{ font-size:12px; font-weight:800; color:var(--op-signal); background:var(--op-signal-soft); padding:3px 9px; border-radius:7px; }
.op-pricebox .op-pb-tax{ font-size:11px; color:var(--op-faint); margin-top:3px; }

/* ---------- (A) Barre récap = barre CUSTOM (miroir) + panneau natif masqué ---------- */
/* Le panneau natif est masqué visuellement mais reste dans le DOM (le module
   continue de mettre à jour #final_price/#old_price et le vrai bouton reste
   cliquable via le bouton proxy). */
.op-native-hidden{
  position:absolute !important; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); margin:-1px; padding:0 !important; border:0 !important;
}
.op-summary{
  display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  background:var(--op-surface); border:1px solid var(--op-line); border-radius:var(--op-radius);
  box-shadow:var(--op-shadow-sm); padding:16px 22px; margin-top:14px;
}
.op-summary .op-sum-left{ display:flex; flex-direction:column; gap:4px; }
.op-summary .op-sum-lab{ font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--op-faint); }
.op-summary .op-sum-priceline{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.op-summary .op-sum-final{ font-size:30px; font-weight:800; letter-spacing:-.03em; color:var(--op-ink); font-variant-numeric:tabular-nums; }
.op-summary .op-sum-old{ font-size:16px; color:var(--op-faint); text-decoration:line-through; font-weight:600; }
.op-summary .op-sum-chip{ font-size:12px; font-weight:800; color:var(--op-signal); background:var(--op-signal-soft); padding:3px 9px; border-radius:7px; }
.op-summary .op-sum-btn{
  margin-left:auto; display:inline-flex; align-items:center; gap:10px;
  background:var(--op-signal); color:#fff; border:0; border-radius:11px;
  font-family:inherit; font-size:15px; font-weight:800; padding:15px 28px; cursor:pointer; white-space:nowrap;
  box-shadow:0 6px 18px rgba(216,64,42,.32); transition:filter .15s, transform .15s;
}
.op-summary .op-sum-btn:hover{ filter:brightness(1.05); transform:translateY(-1px); }
.op-summary .op-sum-btn svg{ width:18px; height:18px; }
@media (max-width:600px){ .op-summary .op-sum-btn{ margin-left:0; width:100%; justify-content:center; } }

/* ---------- (B) Barre fixe sticky bas d'écran (couleurs autonomes) ---------- */
.op-stickybar{
  position:fixed; left:0; right:0; bottom:0; z-index:1000;
  background:rgba(255,255,255,.97); backdrop-filter:blur(10px);
  border-top:1px solid #e2e5e2; box-shadow:0 -6px 24px rgba(16,24,28,.12);
  padding:11px 22px; transform:translateY(115%); transition:transform .28s ease; visibility:hidden;
}
.op-stickybar.op-show{ transform:translateY(0); visibility:visible; }
.op-stickybar .op-sb-inner{ max-width:1180px; margin:0 auto; width:100%; display:flex; align-items:center; gap:18px; }
.op-stickybar .op-sb-name{ font-size:14px; font-weight:700; color:#161a1d; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:40%; }
.op-stickybar .op-sb-prices{ display:inline-flex; align-items:baseline; }
.op-stickybar .op-sb-price{ font-size:22px; font-weight:800; color:#161a1d; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.op-stickybar .op-sb-old{ font-size:13px; color:#868d92; text-decoration:line-through; margin-left:8px; }
.op-stickybar .op-sb-chip{ font-size:12px; font-weight:800; color:#d8402a; background:#fbe7e2; padding:3px 9px; border-radius:7px; margin-left:8px; }
.op-stickybar .op-sb-chip:empty{ display:none; }
.op-stickybar .op-sb-btn{
  margin-left:auto; background:#d8402a; color:#fff; border:0; border-radius:11px;
  font-family:inherit; font-size:15px; font-weight:800; padding:13px 28px; cursor:pointer; white-space:nowrap;
  box-shadow:0 6px 18px rgba(216,64,42,.34); transition:filter .15s;
}
.op-stickybar .op-sb-btn:hover{ filter:brightness(1.06); }
@media (max-width:600px){ .op-stickybar .op-sb-name{ display:none; } .op-stickybar{ padding:10px 14px; } .op-stickybar .op-sb-btn{ padding:12px 20px; } }
@media (prefers-color-scheme:dark){
  .op-stickybar{ background:rgba(22,27,31,.97); border-top-color:#28313a; box-shadow:0 -6px 24px rgba(0,0,0,.5); }
  .op-stickybar .op-sb-name, .op-stickybar .op-sb-price{ color:#edf0f1; }
  .op-stickybar .op-sb-old{ color:#79828a; }
  .op-stickybar .op-sb-chip{ color:#f0634c; background:#33170f; }
  .op-stickybar .op-sb-btn{ background:#f0634c; color:#1a0f0d; }
}

/* ---------- Bandeau garanties sous la galerie ---------- */
.op-ribbon{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:12px; }
@media (max-width:520px){ .op-ribbon{ grid-template-columns:1fr 1fr; } }
.op-ribbon .op-rib{ background:var(--op-surface); border:1px solid var(--op-line); border-radius:10px; padding:11px 10px; display:flex; flex-direction:column; gap:3px; }
.op-ribbon .op-rib b{ font-size:11.5px; font-weight:700; color:var(--op-ink); letter-spacing:-.01em; }
.op-ribbon .op-rib span{ font-size:10.5px; color:var(--op-faint); line-height:1.3; }

/* ---------- Strip de réassurance 4 cartes ---------- */
.op-reassure{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:26px 0 8px; }
@media (max-width:760px){ .op-reassure{ grid-template-columns:1fr 1fr; } }
.op-reassure .op-rc{ background:var(--op-surface); border:1px solid var(--op-line); border-radius:var(--op-radius); padding:18px; box-shadow:var(--op-shadow-sm); }
.op-reassure .op-rc .op-ic{ width:38px; height:38px; border-radius:10px; background:var(--op-brand-soft); color:var(--op-brand); display:flex; align-items:center; justify-content:center; margin-bottom:11px; font-size:18px; }
.op-reassure .op-rc b{ font-size:14px; font-weight:700; display:block; }
.op-reassure .op-rc p{ font-size:12.5px; color:var(--op-muted); margin:5px 0 0; line-height:1.45; }

/* ---------- Étapes à cases à cocher (motorisation…) → mêmes cartes que les selects ---------- */
/* Le conteneur des options devient la grille 2 colonnes (.op-cards, déjà défini) */
/* Le module force display:block sur .option.option_group → on ré-impose le flex. */
.op-card.op-check{ position:relative; display:flex !important; align-items:flex-start; gap:11px; }
.op-card.op-check > .op-card-mark{ flex:0 0 18px; }
.op-card.op-check > input[type="checkbox"]{ position:absolute; opacity:0; pointer-events:none; margin:0; }
.op-card.op-check > label{
  display:flex; flex-direction:column; align-items:flex-start; gap:4px; flex:1; margin:0; cursor:pointer;
}
.op-card.op-check.op-checked{ border-color:var(--op-brand); background:var(--op-brand-soft); }
.op-card.op-check.op-checked .op-card-mark{ border-color:var(--op-brand); }
.op-card.op-check.op-checked .op-card-mark::after{ content:""; position:absolute; inset:3px; border-radius:50%; background:var(--op-brand); }

/* ---------- Galerie produit : image encadrée/arrondie + badges + miniatures ---------- */
.col-product-image .product-cover{
  position:relative; border:1px solid var(--op-line); border-radius:var(--op-radius);
  overflow:hidden; box-shadow:var(--op-shadow);
}
/* badges empilés en haut à gauche */
.col-product-image .product-flags{
  position:absolute; top:14px; left:14px; z-index:6; margin:0; padding:0; list-style:none;
  display:flex; flex-direction:column; gap:8px; align-items:flex-start;
}
.col-product-image .product-flag{
  position:static !important; margin:0 !important; float:none !important; top:auto !important; left:auto !important; right:auto !important;
  display:inline-flex; align-items:center; gap:6px; width:max-content; max-width:none;
  font-size:15px; font-weight:800; letter-spacing:.02em; line-height:1.1;
  padding:7px 13px; border-radius:8px; box-shadow:var(--op-shadow-sm); border:0;
  background:var(--op-signal); color:#fff; text-transform:none;
}
.col-product-image .product-flag.discount{ order:1; }
.col-product-image .product-flag.on-sale{
  order:2; background:var(--op-surface); color:var(--op-ink);
  border:1px solid var(--op-line-2); font-weight:600; font-size:13px;
}
/* miniatures arrondies + sélection */
.col-product-image #product-images-thumbs{ margin-top:12px; }
.col-product-image #product-images-thumbs img.thumb{
  border:1.5px solid var(--op-line) !important; border-radius:10px; transition:.15s;
}
.col-product-image #product-images-thumbs img.thumb.selected,
.col-product-image #product-images-thumbs .swiper-slide-thumb-active img.thumb{
  border-color:var(--op-brand) !important; box-shadow:0 0 0 2px var(--op-brand-soft);
}

/* ---------- Avis clients (module iqitreviews) → note + cartes ---------- */
.op-reviews-head{ margin:0 0 18px; }
.op-reviews-head .op-rv-score{ display:flex; align-items:baseline; gap:9px; }
.op-reviews-head .op-rv-stars{ color:var(--op-star,#e0a132); font-size:18px; letter-spacing:1px; }
.op-reviews-head .op-rv-big{ font-size:42px; font-weight:800; letter-spacing:-.03em; color:var(--op-ink,#161a1d); font-variant-numeric:tabular-nums; }
.op-reviews-head .op-rv-out{ font-size:15px; color:var(--op-faint,#868d92); }

#iqitreviews-list{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:640px){ #iqitreviews-list{ grid-template-columns:1fr; } }
#iqitreviews-list .iqitreviews-review{
  background:var(--op-surface,#fff); border:1px solid var(--op-line,#e2e5e2);
  border-radius:var(--op-radius,14px); padding:18px; margin:0;
  box-shadow:var(--op-shadow-sm,0 1px 2px rgba(16,24,28,.06));
}
#iqitreviews-list .iqitreviews-review hr{ display:none; }
#iqitreviews-list .iqitreviews-review .title{ font-size:13px; font-weight:700; color:var(--op-ink,#161a1d); margin-bottom:4px; }
#iqitreviews-list .iqitreviews-review .title:empty{ display:none; }
#iqitreviews-list .iqitreviews-review .rating{ margin-bottom:9px; font-size:15px; }
#iqitreviews-list .iqitreviews-review .rating .iqit-review-star,
#iqitreviews-list .iqitreviews-review .rating .fa-star{ color:var(--op-star,#e0a132); }
#iqitreviews-list .iqitreviews-review .comment{ font-size:14px; line-height:1.55; color:var(--op-ink,#161a1d); margin-bottom:12px; }
#iqitreviews-list .iqitreviews-review .author{ font-size:12.5px; color:var(--op-faint,#868d92); }
#iqitreviews-list .iqitreviews-review .author::before{ content:"par "; }
#iqitreviews-list .iqitreviews-review .author span span{ color:var(--op-ink,#161a1d); font-weight:700; }

/* ---------- Onglets description → cartes lisibles ---------- */
.product-tabs, .tabs .tab-content, #description{ line-height:1.65; }
.product-features, .data-sheet{ font-size:14px; }
