/* ============================================================
   Page produit Supertrainers — WooCommerce classique
   Style only : aucun impact sur le fonctionnel (panier, prix…)
   ============================================================ */

.woocommerce div.product{ margin-top:2.4rem; }

/* ---------- Galerie ---------- */
.woocommerce div.product div.images{ width:46% !important; }
.woocommerce div.product div.images .woocommerce-product-gallery{
  background:linear-gradient(160deg, var(--wp--preset--color--blue-soft), #ffffff);
  border:1px solid var(--wp--preset--color--border);
  border-radius:24px; padding:30px; position:relative;
}
.woocommerce div.product div.images img{ border-radius:8px; }
.woocommerce div.product .woocommerce-product-gallery__trigger{ top:1.2rem; right:1.2rem; }
.woocommerce div.product .flex-control-thumbs{ margin-top:16px; display:flex; gap:10px; padding:0; }
.woocommerce div.product .flex-control-thumbs li{ width:auto !important; flex:1; margin:0; }
.woocommerce div.product .flex-control-thumbs img{
  border:1.5px solid var(--wp--preset--color--border); border-radius:12px; padding:6px; background:#fff;
}

/* ---------- Bloc d'achat (résumé) ---------- */
.woocommerce div.product div.summary{ width:50% !important; }
.woocommerce div.product .product_title{
  font-family:var(--wp--preset--font-family--hanken) !important; font-weight:900;
  font-size:clamp(1.9rem, 3vw, 2.7rem); letter-spacing:-.025em; line-height:1.06;
  color:var(--wp--preset--color--charcoal); margin-bottom:.6rem;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce div.product p.price ins{
  font-family:var(--wp--preset--font-family--hanken) !important; font-weight:900 !important;
  font-size:2.1rem !important; color:var(--wp--preset--color--charcoal) !important;
}
.woocommerce div.product p.price del{ font-size:1.1rem; color:#9a98a6; font-weight:400; }
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before{ color:var(--wp--preset--color--yellow-deep); }
.woocommerce div.product .woocommerce-product-rating{ margin:.5rem 0 1rem; }
.woocommerce div.product .stock.in-stock{ color:#3FA46C; font-weight:700; }
.woocommerce-product-details__short-description{ color:#55525f; margin:1rem 0 1.4rem; font-size:1rem; }

/* Quantité + bouton */
.woocommerce div.product form.cart{ display:flex; align-items:center; gap:12px; margin:1.4rem 0; }
.woocommerce .quantity .qty{
  border:1.5px solid var(--wp--preset--color--border); border-radius:12px;
  padding:.7rem .5rem; height:auto; width:4.5em;
  font-family:var(--wp--preset--font-family--hanken); font-weight:700; text-align:center;
}
.woocommerce div.product form.cart .button,
.woocommerce div.product .single_add_to_cart_button{
  background:var(--wp--preset--color--blue) !important; color:#fff !important;
  font-family:var(--wp--preset--font-family--hanken) !important; font-weight:700 !important;
  border-radius:13px !important; padding:1rem 2rem !important; font-size:1rem !important;
  box-shadow:0 8px 18px -6px rgba(108,156,228,.65); transition:.2s ease; border:0 !important;
  text-transform:none !important; letter-spacing:0;
}
.woocommerce div.product form.cart .button:hover,
.woocommerce div.product .single_add_to_cart_button:hover{
  background:var(--wp--preset--color--blue) !important; transform:translateY(-2px);
  box-shadow:0 12px 22px -6px rgba(108,156,228,.7);
}

/* Sélecteur de variations (quand le produit sera "variable") */
.woocommerce div.product form.variations_form .variations{ margin-bottom:1rem; }
.woocommerce div.product form.variations_form .variations td.value select{
  border:1.5px solid var(--wp--preset--color--border); border-radius:11px; padding:.7rem .9rem;
  font-family:var(--wp--preset--font-family--inter);
}

/* ---------- Réassurance (injectée via hook) ---------- */
.st-reassure{
  list-style:none; margin:1.4rem 0 0; padding:1.3rem 0 0;
  border-top:1px solid var(--wp--preset--color--border);
  display:grid; grid-template-columns:1fr 1fr; gap:.7rem .9rem;
}
.st-reassure li{ display:flex; align-items:center; gap:.55rem; font-size:.86rem; color:#55525f; }
.st-reassure li::before{
  content:"✓"; color:#3FA46C; font-weight:900;
  width:20px; height:20px; display:inline-flex; align-items:center; justify-content:center;
  background:#E3F3EA; border-radius:50%; font-size:.72rem; flex-shrink:0;
}

/* ---------- Tableau "Informations complémentaires" ---------- */
.woocommerce div.product .woocommerce-tabs ul.tabs::before{ border-color:var(--wp--preset--color--border); }
.woocommerce .woocommerce-product-attributes{ border:1px solid var(--wp--preset--color--border); border-radius:14px; overflow:hidden; }
.woocommerce .woocommerce-product-attributes th{
  font-family:var(--wp--preset--font-family--hanken); font-weight:700;
  color:var(--wp--preset--color--charcoal); background:var(--wp--preset--color--cream);
}
.woocommerce .woocommerce-product-attributes td{ color:#55525f; }

/* Titres de sections (onglets, avis, complémentaires) */
.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce #reviews h2,
.woocommerce div.product h2{
  font-family:var(--wp--preset--font-family--hanken) !important; font-weight:800;
  color:var(--wp--preset--color--charcoal); letter-spacing:-.02em;
}

/* ---------- Produits liés / ventes croisées ---------- */
.woocommerce .related > h2, .woocommerce .upsells > h2{
  font-family:var(--wp--preset--font-family--hanken) !important; font-weight:800;
}

/* ---------- Responsive ---------- */
@media(max-width:768px){
  .woocommerce div.product div.images,
  .woocommerce div.product div.summary{ width:100% !important; }
  .st-reassure{ grid-template-columns:1fr; }
  .woocommerce div.product div.summary{ margin-top:1.5rem; }
}

/* ============================================================
   Sections sur-mesure (réassurance, bénéfices, auteur, FAQ)
   ============================================================ */
.st-prod-section{ max-width:1180px; margin:64px auto; padding:0 4px; clear:both; }
.st-prod-head{ max-width:620px; margin:0 auto 32px; text-align:center; }
.st-prod-head .st-eyebrow{ justify-content:center; }
.st-prod-head h2{
  font-family:var(--wp--preset--font-family--hanken); font-weight:800; letter-spacing:-.02em;
  font-size:clamp(1.8rem,3vw,2.4rem); color:var(--wp--preset--color--charcoal); margin:12px 0 10px;
}
.st-prod-head p{ color:#55525f; }

/* Bandeau réassurance */
.st-prod-trust{
  clear:both; max-width:1180px; margin:48px auto 0;
  background:var(--wp--preset--color--charcoal); color:#fff; border-radius:18px;
  padding:22px 28px; display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap;
}
.st-prod-trust div{
  display:flex; align-items:center; gap:9px; font-family:var(--wp--preset--font-family--hanken);
  font-weight:600; font-size:.92rem;
}
.st-prod-trust span{ font-size:1.1rem; }

/* Bénéfices */
.st-bens{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.st-ben{ background:var(--wp--preset--color--cream); border:1px solid var(--wp--preset--color--border); border-radius:20px; padding:26px; }
.st-ben-i{ width:50px; height:50px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:1.5rem; margin-bottom:16px; }
.st-ben-i.is-blue{ background:var(--wp--preset--color--blue-soft); }
.st-ben-i.is-yellow{ background:#FEF1CC; }
.st-ben-i.is-lavender{ background:#ECECF6; }
.st-ben h3{ font-family:var(--wp--preset--font-family--hanken); font-weight:800; font-size:1.18rem; margin-bottom:8px; color:var(--wp--preset--color--charcoal); }
.st-ben p{ font-size:.92rem; color:#55525f; }

/* Auteur */
.st-author{ display:grid; grid-template-columns:.8fr 1.2fr; gap:46px; align-items:center; }
.st-author-photo{
  aspect-ratio:1; border-radius:24px; position:relative; overflow:hidden;
  background:linear-gradient(160deg,var(--wp--preset--color--blue),var(--wp--preset--color--blue-deep));
  display:flex; align-items:flex-end; justify-content:center;
}
.st-author-photo span{ color:rgba(255,255,255,.9); font-family:var(--wp--preset--font-family--jetbrains); font-size:.8rem; padding:14px; }
.st-author-txt h2{ font-family:var(--wp--preset--font-family--hanken); font-weight:800; font-size:1.9rem; margin:12px 0 14px; color:var(--wp--preset--color--charcoal); letter-spacing:-.02em; }
.st-author-txt p{ color:#55525f; margin-bottom:14px; }
.st-author-txt .st-sig{ font-family:var(--wp--preset--font-family--hanken); font-weight:800; color:var(--wp--preset--color--blue-deep); font-size:1.2rem; }

/* FAQ */
.st-faq{ max-width:760px; }
.st-fq{ border:1px solid var(--wp--preset--color--border); border-radius:14px; margin-bottom:12px; overflow:hidden; background:#fff; }
.st-fq summary{ padding:18px 22px; font-family:var(--wp--preset--font-family--hanken); font-weight:700; font-size:1.02rem; color:var(--wp--preset--color--charcoal); cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; }
.st-fq summary::-webkit-details-marker{ display:none; }
.st-fq summary::after{ content:"+"; font-size:1.4rem; color:var(--wp--preset--color--blue); }
.st-fq[open] summary::after{ content:"–"; }
.st-fq p{ padding:0 22px 20px; font-size:.94rem; color:#55525f; }

@media(max-width:768px){
  .st-bens{ grid-template-columns:1fr; }
  .st-author{ grid-template-columns:1fr; gap:24px; }
  .st-prod-trust{ flex-direction:column; gap:12px; }
}

/* ============================================================
   Sections maquette supplémentaires
   ============================================================ */

/* Fil d'Ariane */
.wc-block-breadcrumbs,
.woocommerce-breadcrumb{
  max-width:1180px; margin:1.4rem auto .2rem; padding:0 4px;
  font-family:var(--wp--preset--font-family--inter);
  font-size:.82rem; color:#9a98a6;
}
.wc-block-breadcrumbs a,
.woocommerce-breadcrumb a{ color:#55525f; text-decoration:none; }
.wc-block-breadcrumbs a:hover,
.woocommerce-breadcrumb a:hover{ color:var(--wp--preset--color--blue-deep); }

/* À l'intérieur / sommaire */
.st-inside-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;
  max-width:1180px; margin:0 auto;
}
.st-inside h2{
  font-family:var(--wp--preset--font-family--hanken); font-weight:800;
  font-size:2rem; letter-spacing:-.02em; color:var(--wp--preset--color--charcoal);
  margin:12px 0 14px;
}
.st-inside p{ color:#55525f; margin-bottom:14px; }
.st-inside .st-inside-meta{ font-size:.9rem; color:#9a98a6; }
.st-toc{ list-style:none; margin:0; padding:0; }
.st-toc li{
  display:flex; gap:16px; align-items:flex-start; padding:15px 18px;
  background:#fff; border:1px solid var(--wp--preset--color--border);
  border-radius:14px; margin-bottom:10px;
}
.st-toc .n{
  font-family:var(--wp--preset--font-family--jetbrains); font-weight:700;
  color:var(--wp--preset--color--blue); font-size:1rem; min-width:26px;
}
.st-toc b{
  display:block; font-family:var(--wp--preset--font-family--hanken);
  font-weight:700; color:var(--wp--preset--color--charcoal);
}
.st-toc span{ font-size:.88rem; color:#9a98a6; }

/* Souvent achetés ensemble */
.st-cross{
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
  max-width:1180px; margin:0 auto;
}
.st-pc{
  display:flex; flex-direction:column; text-decoration:none;
  background:#fff; border:1px solid var(--wp--preset--color--border);
  border-radius:18px; overflow:hidden;
  transition:transform .15s ease, box-shadow .15s ease;
}
.st-pc:hover{ transform:translateY(-3px); box-shadow:0 12px 28px rgba(28,27,36,.08); }
.st-pc-img{
  background:var(--wp--preset--color--cream); aspect-ratio:1/1;
  display:flex; align-items:center; justify-content:center; padding:14px;
}
.st-pc-img img{ width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.st-pc-b{ padding:18px; text-align:center; }
.st-pc-b h3{
  font-family:var(--wp--preset--font-family--hanken); font-weight:700;
  font-size:1rem; color:var(--wp--preset--color--charcoal); margin-bottom:6px;
}
.st-pc-p{ color:var(--wp--preset--color--blue-deep); font-weight:800; margin-bottom:10px; }
.st-pc-p del{ color:#9a98a6; font-weight:400; font-size:.85em; margin-left:6px; }
.st-pc-cta{
  font-family:var(--wp--preset--font-family--hanken); font-weight:700;
  font-size:.9rem; color:var(--wp--preset--color--blue-deep);
}

/* Avis (vrais avis WooCommerce sortis de l'onglet) */
.st-reviews-wrap #reviews{ max-width:980px; margin:0 auto; }
.st-reviews-wrap #reviews .commentlist{
  list-style:none; margin:0 0 8px; padding:0;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:18px;
}
.st-reviews-wrap #reviews .commentlist li{
  background:#fff; border:1px solid var(--wp--preset--color--border);
  border-radius:18px; padding:22px;
}
.st-reviews-wrap #reviews .commentlist li .comment_container{ display:block; }
.st-reviews-wrap #reviews .comment-text{ margin:0; }
.st-reviews-wrap #reviews .description p{ color:#55525f; margin:.6rem 0 0; }
.st-reviews-wrap #reviews .meta{ font-size:.85rem; color:#9a98a6; margin:.4rem 0 0; }
.st-reviews-wrap #reviews .star-rating::before,
.st-reviews-wrap #reviews .star-rating span::before{ color:var(--wp--preset--color--yellow-deep); }
.st-reviews-wrap #review_form_wrapper{ margin-top:26px; }
.st-reviews-wrap #review_form_wrapper input[type=text],
.st-reviews-wrap #review_form_wrapper input[type=email],
.st-reviews-wrap #review_form_wrapper textarea{
  border:1px solid var(--wp--preset--color--border); border-radius:10px; padding:10px 12px;
}

@media(max-width:900px){
  .st-inside-grid{ grid-template-columns:1fr; gap:28px; }
  .st-cross{ grid-template-columns:1fr; }
}

/* Description produit rendue en section "prose" (sortie de l'onglet) */
.st-prose{ max-width:860px; margin:0 auto; }
.st-prose > *:first-child{ margin-top:0; }
.st-prose h2{
  font-family:var(--wp--preset--font-family--hanken); font-weight:800;
  font-size:1.7rem; line-height:1.2; letter-spacing:-.02em;
  color:var(--wp--preset--color--charcoal); margin:2.4rem 0 1rem;
}
.st-prose h3{
  font-family:var(--wp--preset--font-family--hanken); font-weight:700;
  font-size:1.22rem; color:var(--wp--preset--color--charcoal); margin:1.8rem 0 .7rem;
}
.st-prose p{ color:#55525f; line-height:1.75; margin:0 0 1.1rem; }
.st-prose ul, .st-prose ol{ color:#55525f; line-height:1.7; padding-left:1.2rem; margin:0 0 1.2rem; }
.st-prose li{ margin-bottom:.5rem; }
.st-prose strong, .st-prose b{ color:var(--wp--preset--color--charcoal); }
.st-prose a{ color:var(--wp--preset--color--blue-deep); }
.st-prose img{ max-width:100%; height:auto; border-radius:14px; margin:1.2rem 0; }
.st-prose .wp-block-columns{ gap:32px; align-items:center; }

/* Sélecteur de format en cartes (remplace le menu déroulant des variations) */
form.variations_form .variations,
form.variations_form .variations tbody,
form.variations_form .variations tr,
form.variations_form .variations td.value,
form.variations_form .variations th.label{
  display:block; width:100%; padding:0; border:0; text-align:left; background:none;
}
form.variations_form .variations th.label{
  font-family:var(--wp--preset--font-family--hanken); font-weight:700;
  color:var(--wp--preset--color--charcoal); margin:0 0 10px; font-size:.95rem;
}
.st-fmt-cards{ display:flex; flex-direction:column; gap:10px; margin:2px 0; }
.st-fmt{
  position:relative; width:100%; text-align:left; cursor:pointer;
  background:#fff; border:2px solid var(--wp--preset--color--border);
  border-radius:14px; padding:15px 18px;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  font-family:inherit; transition:border-color .15s ease, box-shadow .15s ease;
}
.st-fmt:hover{ border-color:var(--wp--preset--color--blue-soft); }
.st-fmt.is-active{
  border-color:var(--wp--preset--color--blue);
  box-shadow:0 0 0 3px rgba(108,156,228,.18);
}
.st-fmt-main{ display:flex; flex-direction:column; gap:2px; }
.st-fmt-name{
  font-family:var(--wp--preset--font-family--hanken); font-weight:700;
  color:var(--wp--preset--color--charcoal); font-size:1rem;
}
.st-fmt-desc{ font-size:.85rem; color:#9a98a6; }
.st-fmt-price{
  font-family:var(--wp--preset--font-family--hanken); font-weight:800;
  color:var(--wp--preset--color--blue-deep); white-space:nowrap; font-size:1.05rem;
}
.st-fmt-price .price{ color:inherit; font-size:inherit; font-weight:inherit; margin:0; }
.st-fmt-price del{ color:#b8b6c0; font-weight:400; font-size:.8em; margin-right:5px; }
.st-fmt-badge{
  position:absolute; top:-10px; right:16px;
  background:var(--wp--preset--color--yellow); color:var(--wp--preset--color--charcoal);
  font-family:var(--wp--preset--font-family--jetbrains); font-weight:700;
  font-size:.6rem; letter-spacing:.08em; text-transform:uppercase;
  padding:3px 9px; border-radius:999px;
}

/* ============================================================
   Rythme des sections : alternance blanc / crème pleine largeur
   ============================================================ */
.st-prod-section{ padding-top:62px; padding-bottom:62px; }

/* Sections teintées (crème) en pleine largeur, façon maquette */
.st-prod-section.st-inside,
.st-prod-section.st-reviews-wrap,
.st-prod-section.st-faq{
  position:relative; left:50%; right:50%;
  width:100vw; margin-left:-50vw; margin-right:-50vw;
  padding-left:24px; padding-right:24px;
  background:#FBFBFD;
  border-top:1px solid rgba(38,36,48,.10);
  border-bottom:1px solid rgba(38,36,48,.10);
}
/* Le contenu interne reste centré et contraint */
.st-prod-section.st-inside > *,
.st-prod-section.st-reviews-wrap > *,
.st-prod-section.st-faq > *{
  max-width:1180px; margin-left:auto; margin-right:auto;
}

/* Garde-fou anti-débordement horizontal dû au plein-largeur (sans casser le sticky) */
body.single-product{ overflow-x:clip; }

/* ============================================================
   FIDÉLITÉ MAQUETTE — variables + sections (avis, cross, auteur, barre)
   Ces règles, en fin de fichier, font autorité.
   ============================================================ */
body.single-product{
  --st-blue:#6C9CE4; --st-blue-deep:#3F6CB0; --st-blue-soft:#E3ECFA;
  --st-ink:#262430; --st-charcoal:#1C1B24; --st-cream:#FBFBFD;
  --st-yellow:#FCCC48; --st-peach:#E0A888; --st-lav:#CCCCE4; --st-green:#3DA56B;
  --st-line:rgba(38,36,48,.12);
}

/* Titres de section centrés (bénéfices, avis, cross, FAQ) */
.st-prod-head{ text-align:center; max-width:600px; margin:0 auto 38px; }
.st-prod-head h2{ font-family:'Hanken Grotesk',sans-serif; font-weight:800; font-size:clamp(1.9rem,3.4vw,2.6rem); letter-spacing:-.025em; color:var(--st-charcoal); margin:12px 0; }
.st-prod-head p{ font-size:1.05rem; color:#55525f; }

/* Bénéfices — pastilles d'icône comme la maquette */
.st-ben{ background:var(--st-cream); border:1px solid var(--st-line); border-radius:20px; padding:26px; }
.st-ben-i{ width:50px; height:50px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:1.5rem; margin-bottom:16px; }
.st-ben-i.is-blue{ background:var(--st-blue-soft); }
.st-ben-i.is-yellow{ background:#FEF1CC; }
.st-ben-i.is-lavender{ background:#ECECF6; }

/* Auteur */
.st-author-grid{ display:grid; grid-template-columns:.8fr 1.2fr; gap:46px; align-items:center; max-width:1180px; margin:0 auto; }
.st-author-photo{ aspect-ratio:1; border-radius:24px; background:linear-gradient(160deg,var(--st-blue),var(--st-blue-deep)); position:relative; overflow:hidden; display:flex; align-items:flex-end; justify-content:center; }
.st-author-photo img{ position:absolute; top:46%; left:50%; transform:translate(-50%,-50%); width:96px; height:96px; border-radius:50%; border:3px solid rgba(255,255,255,.55); }
.st-author-cr{ position:relative; width:100%; background:rgba(28,27,36,.5); backdrop-filter:blur(4px); padding:14px 18px; color:#fff; font-family:'JetBrains Mono',monospace; font-size:.76rem; display:flex; justify-content:space-between; }
.st-author h2{ font-family:'Hanken Grotesk',sans-serif; font-weight:800; font-size:2rem; margin:12px 0 14px; color:var(--st-charcoal); letter-spacing:-.02em; }
.st-author p{ margin-bottom:14px; font-size:1.02rem; color:#55525f; }
.st-author .st-sig{ font-family:'Hanken Grotesk',sans-serif; font-weight:800; color:var(--st-blue-deep); font-size:1.2rem; }

/* Avis — cartes 3 colonnes (vrais avis) */
.st-reviews{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; max-width:1180px; margin:0 auto; }
.st-rev{ background:#fff; border:1px solid var(--st-line); border-radius:20px; padding:24px; }
.st-rev-stars{ display:block; font-size:1rem; letter-spacing:1px; color:var(--st-yellow); margin-bottom:12px; }
.st-rev p{ font-size:.94rem; color:var(--st-ink); margin-bottom:16px; }
.st-rev-who{ display:flex; align-items:center; gap:10px; }
.st-rev-av{ width:38px; height:38px; border-radius:50%; display:block; flex:none; }
.st-rev-who b{ font-family:'Hanken Grotesk',sans-serif; font-weight:700; font-size:.9rem; display:block; color:var(--st-charcoal); }
.st-rev-who span{ font-family:'JetBrains Mono',monospace; font-size:.66rem; color:var(--st-green); }
.st-rev-form{ max-width:760px; margin:30px auto 0; }
/* quand les cartes sont là, on masque la liste WooCommerce dupliquée, on garde le formulaire */
.st-reviews-wrap.has-cards #comments .commentlist,
.st-reviews-wrap.has-cards #comments > h2{ display:none; }

/* Souvent achetés ensemble — cartes .pc maquette */
.st-cross{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; max-width:1180px; margin:0 auto; }
.st-pc{ display:block; background:var(--st-cream); border:1px solid var(--st-line); border-radius:20px; overflow:hidden; text-decoration:none; transition:.25s; }
.st-pc:hover{ transform:translateY(-5px); box-shadow:0 24px 40px -30px rgba(38,36,48,.4); }
.st-pc-img{ background:linear-gradient(160deg,var(--st-blue-soft),#fff); padding:26px; display:flex; align-items:center; justify-content:center; height:200px; }
.st-pc-img img{ height:100%; width:auto; max-width:100%; object-fit:contain; border-radius:6px; filter:drop-shadow(0 14px 18px rgba(38,36,48,.25)); mix-blend-mode:normal; }
.st-pc-b{ padding:18px 20px 22px; }
.st-pc-b h3{ font-family:'Hanken Grotesk',sans-serif; font-weight:800; font-size:1.05rem; color:var(--st-charcoal); margin-bottom:6px; }
.st-pc-p{ font-family:'Hanken Grotesk',sans-serif; font-weight:800; color:var(--st-blue-deep); margin-bottom:12px; }
.st-pc-p .price{ color:inherit; font-size:1rem; }
.st-pc-cta{ display:inline-flex; align-items:center; font-family:'Hanken Grotesk',sans-serif; font-weight:700; font-size:.88rem; padding:.55rem 1.1rem; border-radius:10px; background:#fff; border:1.5px solid var(--st-charcoal); color:var(--st-charcoal); transition:.2s; }
.st-pc:hover .st-pc-cta{ background:var(--st-charcoal); color:#fff; }

/* Barre flottante d'achat */
.st-stickybar{ position:fixed; left:0; right:0; bottom:0; z-index:60; background:#fff; border-top:1px solid var(--st-line); box-shadow:0 -8px 24px -16px rgba(0,0,0,.3); transform:translateY(110%); transition:transform .3s ease; }
.st-stickybar.show{ transform:none; }
.st-stickybar-in{ max-width:1180px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 24px; }
.st-sb-info{ display:flex; align-items:center; gap:12px; }
.st-sb-info img{ height:42px; width:auto; border-radius:4px; }
.st-sb-info b{ font-family:'Hanken Grotesk',sans-serif; font-weight:800; font-size:.96rem; color:var(--st-charcoal); display:block; line-height:1.2; }
.st-sb-price{ font-family:'Hanken Grotesk',sans-serif; font-weight:800; color:var(--st-blue-deep); }
.st-sb-price .price{ color:inherit; font-size:.95rem; }
.st-sb-price del{ color:#b8b6c0; font-weight:400; font-size:.85em; margin-right:5px; }
.st-sb-cta{ display:inline-flex; align-items:center; white-space:nowrap; background:var(--st-blue); color:#fff; font-family:'Hanken Grotesk',sans-serif; font-weight:700; font-size:.9rem; padding:.7rem 1.5rem; border-radius:10px; box-shadow:0 8px 18px -6px rgba(108,156,228,.65); }
.st-sb-cta:hover{ transform:translateY(-1px); }

@media(max-width:900px){
  .st-reviews,.st-cross{ grid-template-columns:1fr; }
  .st-author-grid{ grid-template-columns:1fr; gap:30px; }
}
@media(max-width:600px){
  .st-sb-info b{ font-size:.85rem; }
  .st-sb-info img{ height:36px; }
  .st-sb-cta{ padding:.6rem 1rem; }
}

/* ============================================================
   CORRECTIFS — alignement (flottants WooCommerce) + texte boutons
   Bloc final = autorité.
   ============================================================ */

/* 1) Empilement propre : les sections passent SOUS galerie+bloc d'achat,
      en pleine largeur viewport, contenu centré à 1180. */
.single-product div.product > .st-prod-trust{ clear:both; }
.single-product div.product > .st-prod-section{
  clear:both;
  position:relative; left:50%; right:50%;
  width:100vw; margin-left:-50vw; margin-right:-50vw;
  padding:62px 24px;
}
.single-product div.product > .st-prod-section > *{
  max-width:1180px; margin-left:auto; margin-right:auto;
}
/* FAQ : colonne plus étroite */
.single-product div.product > .st-prod-section.st-faq > .st-fq{ max-width:760px; }
/* Description : prose centrée plus étroite */
.single-product div.product > .st-prod-section.st-prose-wrap > .st-prose{ max-width:860px; }
/* Avis : formulaire centré plus étroit */
.single-product div.product > .st-prod-section .st-rev-form{ max-width:760px; }

/* Fonds crème (alternance maquette) */
.single-product div.product > .st-prod-section.st-inside,
.single-product div.product > .st-prod-section.st-reviews-wrap,
.single-product div.product > .st-prod-section.st-faq{
  background:#FBFBFD;
  border-top:1px solid rgba(38,36,48,.10);
  border-bottom:1px solid rgba(38,36,48,.10);
}

/* 2) Texte des boutons : le bleu global des liens (theme.json) est neutralisé. */
.st-sb-cta{ color:#fff !important; }
.st-pc-cta{ color:var(--st-charcoal) !important; }
.st-pc:hover .st-pc-cta{ color:#fff !important; }

/* ============================================================
   RESET ALIGNEMENT (autorité absolue) — annule tout "plein écran"
   et recentre simplement chaque section par son contenu.
   ============================================================ */
.single-product .st-prod-section{
  position:static !important;
  left:auto !important; right:auto !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  clear:both !important;
  padding:58px 24px !important;
  box-sizing:border-box;
  float:none !important;
}
.single-product .st-prod-section > *{
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  float:none !important;
}
.single-product .st-prod-section.st-faq > .st-fq{ max-width:760px !important; }
.single-product .st-prod-section.st-prose-wrap > .st-prose{ max-width:860px !important; }
.single-product .st-prod-section .st-rev-form{ max-width:760px !important; }

/* Fonds crème au niveau de la section (remplit la largeur du conteneur) */
.single-product .st-prod-section.st-inside,
.single-product .st-prod-section.st-reviews-wrap,
.single-product .st-prod-section.st-faq{
  background:#FBFBFD !important;
  border-top:1px solid rgba(38,36,48,.10) !important;
  border-bottom:1px solid rgba(38,36,48,.10) !important;
}
.single-product .st-prod-trust{ clear:both !important; }
