
/* ===== ANIMANIA PDP REDESIGN v5 — 2026-06-30 (hors CCC, versionné) ===== */
.pdp-redesign{ --pdp-slate:#374a5f; --pdp-magenta:#e0145b; --pdp-line:#e3e7ec; --pdp-soft:#5a6b7d; --pdp-cream:#f7f8fa; --pdp-ok:#2e9c5a; }
.pdp-redesign{ font-family:'Rubik','Ubuntu',sans-serif; }
.pdp-redesign *{ box-sizing:border-box; }

/* ---------- Fil d'ariane ---------- */
/* masquer le fil d'ariane natif du thème (doublon sur la fiche produit) — on garde .pdp-breadcrumb */
nav.breadcrumb{ display:none !important; }
.pdp-redesign .pdp-breadcrumb{ font-size:12.5px; color:#94a0ad; margin:2px 0 14px; display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.pdp-redesign .pdp-breadcrumb a{ color:#94a0ad; text-decoration:none; }
.pdp-redesign .pdp-breadcrumb a:hover{ color:var(--pdp-slate); }
.pdp-redesign .pdp-breadcrumb .sep{ color:#c2ccd6; }
.pdp-redesign .pdp-breadcrumb .cur{ color:var(--pdp-slate); font-weight:600; }

/* ---------- Hero grid ---------- */
.pdp-redesign .pdp-hero{ display:grid; gap:16px; grid-template-areas:"title" "gallery" "buy"; }
.pdp-redesign .ph-title{ grid-area:title; }
.pdp-redesign .ph-gallery{ grid-area:gallery; align-self:start; }
.pdp-redesign .ph-buy{ grid-area:buy; }

.pdp-redesign .pdp-eyebrow{ font-size:11.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--pdp-magenta); margin:0 0 6px; }
.pdp-redesign h1.pdp-h1{ font-family:'Ubuntu',sans-serif; color:var(--pdp-slate); font-size:23px; line-height:1.22; margin:0 0 9px; font-weight:700; }
.pdp-redesign .pdp-rating{ display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.pdp-redesign .pdp-rating:empty{ display:none; }

/* ---------- Galerie (vignettes plus petites, 5/ligne) ---------- */
.pdp-redesign .ph-gallery .images-container{ max-width:100%; }
.pdp-redesign .ph-gallery .product-cover img,
.pdp-redesign .ph-gallery .js-qv-product-cover{ max-width:100%; height:auto; border-radius:14px; }
.pdp-redesign .ph-gallery .product-images{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; padding:0; list-style:none; }
.pdp-redesign .ph-gallery .product-images li,
.pdp-redesign .ph-gallery .product-images .thumb-container{ width:auto; margin:0; }
.pdp-redesign .ph-gallery .product-images img,
.pdp-redesign .ph-gallery .thumb{ width:58px !important; height:58px !important; object-fit:cover; border-radius:9px; border:1px solid var(--pdp-line); cursor:pointer; }
.pdp-redesign .ph-gallery .product-images img.selected,
.pdp-redesign .ph-gallery .thumb.selected{ border:2px solid var(--pdp-magenta); }

/* ---------- Prix (gris foncé, à gauche, + TTC/unité petit) ---------- */
.pdp-redesign .product-information{ margin-top:0 !important; padding-top:0 !important; }
.pdp-redesign .product-prices{ text-align:left !important; margin:2px 0 6px; padding:0; border:0; }
.pdp-redesign .product-prices .product-price,
.pdp-redesign .product-prices .current-price,
.pdp-redesign .product-prices .current-price > span,
.pdp-redesign .product-prices .current-price span[itemprop=price]{ text-align:left !important; }
.pdp-redesign .product-prices .current-price{ display:block; }
.pdp-redesign .current-price span,
.pdp-redesign .current-price .price,
.pdp-redesign .product-price.h5,
.pdp-redesign .current-price-value{ color:var(--pdp-slate) !important; font-family:'Ubuntu',sans-serif; font-weight:700; font-size:26px; }
.pdp-redesign .tax-shipping-delivery-label,
.pdp-redesign .product-unit-price,
.pdp-redesign .product-prices .price-per-unit{ color:#9aa4b1 !important; font-size:12px !important; font-weight:500; }
.pdp-redesign .product-prices .regular-price{ color:#aab3bd; font-size:14px; text-decoration:line-through; }
.pdp-redesign .product-discount{ color:var(--pdp-magenta); }

/* marque / référence discrets */
.pdp-redesign .product-reference{ font-size:12px; color:#8a96a4; margin:2px 0 4px; display:flex; flex-wrap:wrap; gap:14px; }
.pdp-redesign .product-reference label{ color:#aab3bd; font-weight:500; }
.pdp-redesign .product-reference a{ color:var(--pdp-soft); }

/* ---------- Stock (pastille propre) ---------- */
.pdp-redesign .td_stock .availability_value{ display:inline-flex; align-items:center; gap:5px; margin:0; font-size:11.5px; line-height:1.2; white-space:nowrap; }
.pdp-redesign .td_stock .bullet{ width:9px !important; height:9px !important; flex:0 0 9px; vertical-align:middle; }

/* ---------- Tableau conditionnements ---------- */
/* Le module rend _desktop_table (UA desktop) OU _mobile (UA mobile, cartes empilées). On stylise les deux en compact. */

/* ----- _mobile (UA mobile) : transformer les cartes empilées en lignes compactes ----- */
.pdp-redesign .table_d_c._mobile{ display:table !important; width:100%; margin:10px 0 4px; border:0; background:transparent; }
.pdp-redesign .table_d_c._mobile > tbody{ display:block; }
.pdp-redesign .table_d_c._mobile > tbody > tr{ display:block; }
.pdp-redesign .table_d_c._mobile > tbody > tr > td{ display:block; padding:0; border:0; }
.pdp-redesign .table_d_c._mobile .inner_table{ display:flex !important; flex-wrap:wrap; align-items:center; column-gap:12px; row-gap:3px;
  width:100%; border:1px solid var(--pdp-line); border-radius:10px; padding:9px 12px; margin-bottom:8px; background:#fff; }
.pdp-redesign .table_d_c._mobile .inner_table tbody{ display:contents; }
.pdp-redesign .table_d_c._mobile .inner_table tr{ display:flex; align-items:center; gap:5px; }
/* masquer libellés + lignes image / référence / quantité */
.pdp-redesign .table_d_c._mobile .inner_table td.attribute_name{ display:none; }
.pdp-redesign .table_d_c._mobile .inner_table tr:has(.attribute_img),
.pdp-redesign .table_d_c._mobile .inner_table tr:has(.reference),
.pdp-redesign .table_d_c._mobile .inner_table tr:has(.d_qty){ display:none; }
/* Taille en gras sur sa ligne ; stock puis prix dessous (prix à droite) */
.pdp-redesign .table_d_c._mobile .inner_table tr:has(td.attribute){ flex:1 1 100%; order:1; }
.pdp-redesign .table_d_c._mobile .inner_table tr:has(td.td_stock){ order:2; }
.pdp-redesign .table_d_c._mobile .inner_table tr:has(td.td_price){ order:3; margin-left:auto; }
.pdp-redesign .table_d_c._mobile .attribute .attribute_name{ font-weight:600; color:var(--pdp-slate); font-size:13.5px; }
.pdp-redesign .table_d_c._mobile .td_stock .availability_value{ font-size:11px; margin:0; display:inline-flex; align-items:center; gap:4px; }
.pdp-redesign .table_d_c._mobile .td_stock .bullet{ width:9px !important; height:9px !important; }
.pdp-redesign .table_d_c._mobile .price,.pdp-redesign .table_d_c._mobile .our_price_display{ font-weight:700; color:var(--pdp-slate); font-size:15px; white-space:nowrap; }

/* ----- _desktop_table (UA desktop) : table compacte ----- */
.pdp-redesign .table_d_c._desktop_table{
  display:table !important; width:100%; border-collapse:separate; border-spacing:0; table-layout:auto;
  border:1px solid var(--pdp-line); border-radius:11px; overflow:hidden; font-size:12.5px; background:#fff; margin:10px 0 4px;
}
.pdp-redesign .table_d_c._desktop_table thead{ display:table-header-group !important; }
.pdp-redesign .table_d_c._desktop_table thead td{
  background:#f4f6f8; font-size:10px; text-transform:uppercase; letter-spacing:.03em;
  color:#9aa4b1; font-weight:600; padding:7px 9px; border:0; text-align:left;
}
.pdp-redesign .table_d_c._desktop_table tr.shadow td{ padding:7px 9px; border-top:1px solid var(--pdp-line); vertical-align:middle; background:#fff; }
.pdp-redesign .table_d_c._desktop_table tr.shadow:hover td{ background:#fafbfc; }
.pdp-redesign .table_d_c._desktop_table .spacer{ display:none !important; }
/* colonnes masquées : image, référence, quantité (vide) */
.pdp-redesign .table_d_c._desktop_table .attribute_img,
.pdp-redesign .table_d_c._desktop_table .reference,
.pdp-redesign .table_d_c._desktop_table .d_qty,
.pdp-redesign .table_d_c._desktop_table thead td.no-border,
.pdp-redesign .table_d_c._desktop_table thead td.left-corner,
.pdp-redesign .table_d_c._desktop_table thead td.right-corner{ display:none !important; }
.pdp-redesign .table_d_c._desktop_table .public_name{ display:none; }
.pdp-redesign .table_d_c._desktop_table .attribute_name{ font-weight:600; color:var(--pdp-slate); font-size:12.5px; }
.pdp-redesign .table_d_c._desktop_table .cell-container,
.pdp-redesign .table_d_c._desktop_table .cell-container-content{ display:block; padding:0; }
.pdp-redesign .table_d_c._desktop_table .price,
.pdp-redesign .table_d_c._desktop_table .our_price_display{ font-weight:700; color:var(--pdp-slate); font-size:13.5px; white-space:nowrap; }

/* ---------- Bouton "Ajouter au panier" (module) : pleine largeur, à droite ---------- */
.pdp-redesign .product-information .row:has(.add-to-cart.btn-cart){ margin-left:0; margin-right:0; }
.pdp-redesign .product-information .row:has(.add-to-cart.btn-cart) > div{ flex:0 0 100%; max-width:100%; width:100%; padding-left:0; padding-right:0; }
.pdp-redesign .product-information .row:has(.add-to-cart.btn-cart) > .hidden-sm-down{ display:none !important; }
.pdp-redesign .add-to-cart.btn-cart{
  width:100% !important; padding:13px; border-radius:11px; font-weight:600; font-size:15px;
  box-shadow:0 8px 20px rgba(224,20,91,.26); margin-top:6px; display:inline-flex; align-items:center; justify-content:center; gap:8px;
}
.pdp-redesign .alert-warning{
  background:#fff7ed; border:1px solid #ffe0b8; color:#9a6b2f; border-radius:10px;
  padding:8px 11px; font-size:12px; display:flex; align-items:center; gap:7px; margin:6px 0 0;
}
/* masquer le sélecteur de variante natif (redondant) */
.pdp-redesign .product-actions .product-variants{ display:none; }

/* ---------- Cartes réassurance ---------- */
.pdp-redesign .pdp-reassurance{ display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin-top:14px; }
.pdp-redesign .pdp-reassurance .rcard{ display:flex; align-items:center; gap:8px; font-size:12px; color:var(--pdp-soft); background:var(--pdp-cream); border:1px solid var(--pdp-line); border-radius:10px; padding:9px 11px; }
.pdp-redesign .pdp-reassurance .ri{ font-size:16px; line-height:1; }

/* ---------- Sections Description / Avis ---------- */
.pdp-redesign .pdp-section{ background:#fff; border:1px solid var(--pdp-line); border-radius:14px; padding:18px 20px; margin:16px 0 0; box-shadow:0 4px 16px rgba(55,74,95,.05); }
.pdp-redesign .pdp-section-title{ font-family:'Ubuntu',sans-serif; font-size:18px; color:var(--pdp-slate); margin:0 0 12px; padding-left:13px; position:relative; font-weight:700; }
.pdp-redesign .pdp-section-title::before{ content:""; position:absolute; left:0; top:3px; bottom:3px; width:5px; border-radius:3px; background:var(--pdp-magenta); }
.pdp-redesign .pdp-description .product-description,
.pdp-redesign .pdp-description .product-description-short{ color:#48586a; line-height:1.6; }
.pdp-redesign .pdp-description .product-description-short{ margin:0 0 12px; }
.pdp-redesign .pdp-description .product-description img{ max-width:100%; height:auto; }
.pdp-redesign .pdp-extra-content{ color:#48586a; }
/* séparateur fin entre description courte et complète (produits à variantes) */
.pdp-redesign .pdp-desc-sep{ border:0; border-top:1px solid var(--pdp-line); margin:14px 0; }
/* description courte remontée (produits simples, à la place du tableau) */
.pdp-redesign .pdp-simple-shortdesc{ color:#48586a; line-height:1.6; margin:10px 0 6px; }
.pdp-redesign .pdp-simple-shortdesc img{ max-width:100%; height:auto; }

/* ---------- DESKTOP ---------- */
@media (min-width:768px){
  .pdp-redesign .pdp-hero{ grid-template-columns:48% 1fr; column-gap:32px; row-gap:6px; grid-template-areas:"gallery title" "gallery buy"; align-items:start; }
  .pdp-redesign h1.pdp-h1{ font-size:27px; }
  .pdp-redesign .current-price span,.pdp-redesign .current-price .price{ font-size:28px; }
  .pdp-redesign .pdp-section{ padding:24px; }
}

/* ---------- MOBILE : marges réduites + galerie ---------- */
@media (max-width:767px){
  .pdp-redesign .ph-gallery .product-cover img{ max-height:330px; width:auto; max-width:100%; margin:0 auto; display:block; object-fit:contain; }
  .pdp-redesign .ph-gallery .product-images img,
  .pdp-redesign .ph-gallery .thumb{ width:52px !important; height:52px !important; }
  /* paddings serrés autour de description + avis (10px) */
  .pdp-redesign .pdp-section{ padding:10px; margin:5px 0 0; border-radius:10px; }
  .pdp-redesign .pdp-section-title{ font-size:16px; margin:2px 0 6px; padding-left:11px; }
  .pdp-redesign .pdp-extra-content > *{ margin-left:0 !important; margin-right:0 !important; }
  .pdp-redesign .pdp-reassurance{ gap:6px; }
}
/* ---------- Vignette galerie : carré forcé ---------- */
.pdp-redesign .ph-gallery .product-images{ align-items:flex-start; }
.pdp-redesign .ph-gallery .product-images li,
.pdp-redesign .ph-gallery .thumb-container{ height:auto !important; width:auto !important; flex:0 0 auto; }
.pdp-redesign .ph-gallery .product-images img.thumb,
.pdp-redesign .ph-gallery img.js-thumb{ width:58px !important; height:58px !important; min-height:58px !important; aspect-ratio:1 !important; object-fit:cover !important; border-radius:9px; border:1px solid var(--pdp-line); }
.pdp-redesign .ph-gallery img.js-thumb.selected{ border:2px solid var(--pdp-magenta); }
@media (max-width:767px){
  .pdp-redesign .ph-gallery .product-images img.thumb,
  .pdp-redesign .ph-gallery img.js-thumb{ width:54px !important; height:54px !important; min-height:54px !important; }
}

/* ---------- TABLEAU VARIANTES CUSTOM (mockup) ---------- */
.pdp-redesign #pdp-variants-mount{ margin:10px 0 2px; }
.pdp-redesign .pdp-vtable{ border:1px solid var(--pdp-line); border-radius:14px; overflow:hidden; background:#fff; }
.pdp-redesign .pdp-vhead,
.pdp-redesign .pdp-vrow{ display:grid; grid-template-columns:minmax(90px,auto) 1fr auto minmax(22px,auto); align-items:center; column-gap:10px; }
.pdp-redesign .pdp-vhead{ background:#f4f6f8; font-size:10.5px; text-transform:uppercase; letter-spacing:.04em; color:#9aa4b1; font-weight:600; padding:9px 14px; }
.pdp-redesign .pdp-vrow{ width:100%; text-align:left; background:#fff; border:0; border-top:1px solid var(--pdp-line); padding:11px 14px; cursor:pointer; font:inherit; color:inherit; transition:.15s; position:relative; }
.pdp-redesign .pdp-vrow:hover:not(.oos){ background:#fafbfc; }
.pdp-redesign .pdp-tcell{ display:flex; align-items:center; gap:9px; min-width:0; }
.pdp-redesign .pdp-badge{ width:24px; height:24px; flex:0 0 24px; border-radius:7px; background:#eef1f4; display:grid; place-items:center; font-size:11px; font-weight:700; color:var(--pdp-soft); }
.pdp-redesign .pdp-vsize{ font-weight:700; color:var(--pdp-slate); font-size:13.5px; white-space:nowrap; }
.pdp-redesign .pdp-vdims{ color:#8a96a4; font-size:12.5px; }
.pdp-redesign .pdp-vprice{ font-weight:700; color:var(--pdp-slate); font-size:14px; white-space:nowrap; }
.pdp-redesign .pdp-vradio{ width:20px; height:20px; border-radius:50%; border:2px solid var(--pdp-line); justify-self:end; }
.pdp-redesign .pdp-vrow.sel{ background:#fef1f6; }
.pdp-redesign .pdp-vrow.sel .pdp-badge{ background:var(--pdp-magenta); color:#fff; }
.pdp-redesign .pdp-vrow.sel .pdp-vradio{ border-color:var(--pdp-magenta); background:radial-gradient(circle,var(--pdp-magenta) 0 42%,#fff 46%); }
.pdp-redesign .pdp-vrow.oos{ cursor:not-allowed; opacity:.6; }
.pdp-redesign .pdp-voos{ font-size:10px; font-weight:700; color:#c0392b; background:#fdecea; border-radius:20px; padding:2px 8px; justify-self:end; white-space:nowrap; }

.pdp-redesign .pdp-buyrow{ display:flex; gap:10px; margin-top:12px; align-items:stretch; }
.pdp-redesign .pdp-qty{ display:flex; align-items:center; border:1px solid var(--pdp-line); border-radius:11px; overflow:hidden; }
.pdp-redesign .pdp-qty button{ width:40px; border:0; background:#f4f6f8; font-size:18px; color:var(--pdp-slate); cursor:pointer; }
.pdp-redesign .pdp-qtyinput{ width:44px; border:0; text-align:center; font-size:15px; -moz-appearance:textfield; }
.pdp-redesign .pdp-qtyinput::-webkit-outer-spin-button,
.pdp-redesign .pdp-qtyinput::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.pdp-redesign .pdp-addcart{ flex:1; border:0; border-radius:11px; background:var(--pdp-magenta); color:#fff; font-weight:600; font-size:15px; cursor:pointer; padding:13px; box-shadow:0 8px 20px rgba(224,20,91,.26); display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.pdp-redesign .pdp-addcart:hover:not(:disabled){ background:#bb0f49; }
.pdp-redesign .pdp-addcart:disabled{ background:#cbd2da; box-shadow:none; cursor:not-allowed; }

@media (max-width:767px){
  .pdp-redesign .pdp-vhead,
  .pdp-redesign .pdp-vrow{ grid-template-columns:auto 1fr auto minmax(20px,auto); column-gap:7px; padding:9px 11px; }
  .pdp-redesign .pdp-vhead .c-dims{ display:block; }
  .pdp-redesign .pdp-tcell{ gap:7px; }
  .pdp-redesign .pdp-badge{ width:22px; height:22px; flex-basis:22px; }
  .pdp-redesign .pdp-vsize{ font-size:12.5px; }
  .pdp-redesign .pdp-vdims{ font-size:11px; }
  .pdp-redesign .pdp-vprice{ font-size:13.5px; }
}
/* ===== FIN PDP REDESIGN ===== */
