/*
Theme Name: Maison du Padel
Theme URI: https://www.maison-du-padel.fr
Description: Thème WooCommerce autonome de Maison du Padel — design répliqué de la boutique Shopify (Instrument Sans, #0f3cc9). Aucune dépendance à un thème parent.
Author: Maison du Padel
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: maison-du-padel
*/

:root {
  --mp-bg:#fff; --mp-bg-soft:#f4f7ff; --mp-fg:#252525; --mp-dark:#0d0d0d;
  --mp-muted:#6b7280; --mp-light:#9ca3af;
  --mp-border:rgba(0,0,0,.06); --mp-border-strong:rgba(0,0,0,.13); --mp-border-grey:#e5e7eb;
  --mp-primary:#0f3cc9; --mp-primary-hover:#0a2e9e; --mp-primary-text:#fff; --mp-primary-light:#eef2ff;
  --mp-red:#e8192c; --mp-green:#059669; --mp-star:#f5a623;
  --mp-font-body:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mp-font-heading:"Instrument Sans",sans-serif;
  --mp-font-inter:"Inter",-apple-system,sans-serif;
  --mp-radius-button:20px; --mp-radius-card:22px; --mp-radius-badge:10px; --mp-radius-input:6px;
  --mp-page-width:1300px; --mp-page-margin:40px; --mp-anim:.25s ease-in-out;
}

* { box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{ margin:0; font-family:var(--mp-font-body); font-weight:400; font-size:.9375rem;
  line-height:1.5; color:var(--mp-fg); background:var(--mp-bg); overflow-x:hidden; }
a{ color:inherit; text-decoration:none; transition:opacity var(--mp-anim); }
a:hover{ opacity:.75; }
img{ max-width:100%; height:auto; display:block; }
button{ font-family:inherit; }

h1,h2,h3,h4,h5,h6{ font-family:var(--mp-font-heading); font-weight:600; line-height:1.25; color:var(--mp-fg); }
h1{ font-size:clamp(2rem,5vw,3rem); } h2{ font-size:clamp(1.6rem,4vw,2.25rem); } h3{ font-size:1.5rem; }

.mdp-container{ max-width:var(--mp-page-width); margin:0 auto; padding-left:clamp(16px,4vw,var(--mp-page-margin)); padding-right:clamp(16px,4vw,var(--mp-page-margin)); width:100%; }

/* ════ Barre timer déstockage ════ */
.ptb{ background:#fff; border-bottom:1px solid var(--mp-border-grey); font-family:var(--mp-font-inter);
  font-size:12px; color:#1a1a1a; padding:7px 16px; position:relative; z-index:90; }
.ptb__inner{ display:flex; align-items:center; justify-content:center; gap:10px; max-width:1320px; margin:0 auto; }
.ptb__dot{ width:6px; height:6px; border-radius:50%; background:var(--mp-red); flex-shrink:0; animation:ptbBlink 1.2s ease infinite; }
@keyframes ptbBlink{ 0%,100%{opacity:1;} 50%{opacity:.25;} }
.ptb__label{ font-weight:700; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--mp-red); }
.ptb__sep-v{ width:1px; height:12px; background:var(--mp-border-grey); flex-shrink:0; }
.ptb__text{ color:var(--mp-muted); font-size:11.5px; }
.ptb__countdown{ display:flex; align-items:center; gap:2px; font-weight:700; font-size:12px;
  font-variant-numeric:tabular-nums; color:#1a1a1a; letter-spacing:.02em; }
.ptb__colon{ color:var(--mp-light); margin:0 1px; line-height:1; }
.ptb__cta{ font-size:11px; font-weight:700; color:var(--mp-primary); letter-spacing:.03em; white-space:nowrap; }
@media (max-width:600px){
  .ptb__text,.ptb__sep-v{ display:none; }
  .ptb{ padding:6px 12px; }
}

/* ════ Bandeau annonces défilant ════ */
.ps-announce{ background:var(--mp-primary); overflow:hidden; position:relative; height:40px;
  display:flex; align-items:center; border-bottom:1px solid rgba(255,255,255,.06); }
.ps-announce::before,.ps-announce::after{ content:''; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none; }
.ps-announce::before{ left:0; background:linear-gradient(to right,#0d0d0d,transparent); }
.ps-announce::after{ right:0; background:linear-gradient(to left,#0d0d0d,transparent); }
.ps-announce__ticker{ display:flex; align-items:center; white-space:nowrap; animation:ps-scroll 28s linear infinite; }
.ps-announce__ticker:hover{ animation-play-state:paused; }
@keyframes ps-scroll{ 0%{transform:translateX(0);} 100%{transform:translateX(-50%);} }
.ps-announce__item{ display:inline-flex; align-items:center; gap:9px; padding:0 40px; font-family:var(--mp-font-inter);
  font-size:12.5px; font-weight:600; letter-spacing:.03em; color:rgba(255,255,255,.82); text-transform:uppercase; }
.ps-announce__item--hot{ color:#fff; font-weight:800; }
.ps-announce__badge{ display:inline-flex; align-items:center; background:var(--mp-red); color:#fff; font-size:10.5px;
  font-weight:800; letter-spacing:.06em; padding:2px 8px; border-radius:4px; line-height:1; flex-shrink:0; }
.ps-announce__badge--blue{ background:var(--mp-primary); }
.ps-announce__badge--green{ background:var(--mp-green); }
.ps-announce__sep{ display:inline-block; width:4px; height:4px; background:rgba(255,255,255,.2); transform:rotate(45deg); flex-shrink:0; margin:0 8px; }
.ps-announce__icon{ width:14px; height:14px; flex-shrink:0; opacity:.9; }

/* ════ Header ════ */
.mdp-header{ position:sticky; top:0; z-index:100; background:var(--mp-bg); border-bottom:1px solid var(--mp-border); }
.mdp-header__inner{ display:flex; align-items:center; gap:28px; min-height:76px; position:relative; }
.mdp-logo{ flex-shrink:0; }
.mdp-logo img{ height:27px; width:auto; }
.mdp-nav{ flex:1; min-width:0; }
.mdp-nav__list{ display:flex; gap:4px; list-style:none; margin:0; padding:0; flex-wrap:wrap; }
.mdp-nav__list > li{ position:relative; }
.mdp-nav__list a{ font-weight:500; font-size:.875rem; display:flex; align-items:center; gap:3px; padding:8px 10px; border-radius:8px; transition:background var(--mp-anim); }
.mdp-nav__list > li > a:hover{ opacity:1; background:var(--mp-primary-light); }
/* Chevron parents */
.mdp-nav__list li.menu-item-has-children > a::after{ content:''; width:8px; height:8px; flex-shrink:0; margin-left:2px;
  border-right:1.6px solid currentColor; border-bottom:1.6px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform var(--mp-anim); }
/* Dropdown desktop */
.mdp-nav__list .sub-menu{ position:absolute; top:100%; left:0; min-width:230px; background:#fff; border:1px solid var(--mp-border);
  border-radius:14px; box-shadow:0 16px 48px rgba(0,0,0,.10); list-style:none; margin:0; padding:8px;
  opacity:0; visibility:hidden; transform:translateY(8px); transition:all .2s ease; z-index:120; }
.mdp-nav__list li:hover > .sub-menu,.mdp-nav__list li:focus-within > .sub-menu{ opacity:1; visibility:visible; transform:translateY(2px); }
.mdp-nav__list .sub-menu a{ font-size:.85rem; font-weight:500; padding:9px 12px; border-radius:8px; display:block; }
.mdp-nav__list .sub-menu a:hover{ opacity:1; background:var(--mp-bg-soft); }
/* Actions */
.mdp-header__actions{ display:flex; align-items:center; gap:6px; margin-left:auto; flex-shrink:0; }
.mdp-icon-link{ position:relative; display:flex; align-items:center; justify-content:center; width:40px; height:40px;
  border-radius:10px; background:none; border:0; cursor:pointer; color:var(--mp-fg); transition:background var(--mp-anim); }
.mdp-icon-link:hover{ background:var(--mp-bg-soft); opacity:1; }
.mdp-icon-link svg{ width:21px; height:21px; }
.mdp-cart__count{ position:absolute; top:2px; right:0; background:var(--mp-primary); color:#fff; font-size:.65rem; font-weight:700;
  min-width:17px; height:17px; border-radius:999px; display:flex; align-items:center; justify-content:center; padding:0 4px; }
.mdp-burger{ display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:8px; }
.mdp-burger span{ width:22px; height:2px; background:var(--mp-fg); display:block; border-radius:2px; transition:transform var(--mp-anim),opacity var(--mp-anim); }
body.mdp-nav-open .mdp-burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
body.mdp-nav-open .mdp-burger span:nth-child(2){ opacity:0; }
body.mdp-nav-open .mdp-burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* Barre de recherche */
.mdp-search-bar{ border-top:1px solid var(--mp-border); padding:14px 0; background:#fff; }
.mdp-search-bar__form{ display:flex; align-items:center; gap:12px; }
.mdp-search-bar__form svg{ width:20px; height:20px; color:var(--mp-muted); flex-shrink:0; }
.mdp-search-bar__form input[type="search"]{ flex:1; border:0; outline:0; font-size:1rem; font-family:var(--mp-font-body); min-height:auto; padding:8px 0; background:none; }
.mdp-search-bar__submit{ background:var(--mp-primary); color:#fff; border:0; border-radius:10px; padding:10px 22px; font-weight:600; font-size:.85rem; cursor:pointer; transition:background var(--mp-anim); }
.mdp-search-bar__submit:hover{ background:var(--mp-primary-hover); }

/* Overlay drawer — voile semi-transparent DERRIÈRE le drawer (pas par-dessus) */
.mdp-nav-overlay{ position:fixed; inset:0; background:rgba(13,13,13,.45); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px); z-index:150; animation:mdpFadeIn .25s ease; }
@keyframes mdpFadeIn{ from{opacity:0;} to{opacity:1;} }
/* Le drawer .mdp-nav est piégé dans le contexte d'empilement du header (sticky z-index:100).
   On élève le header au-dessus de l'overlay quand le menu est ouvert pour que le drawer
   s'affiche NET au-dessus du voile au lieu d'être grisé en dessous. */
body.mdp-nav-open .mdp-header{ z-index:200; }
.mdp-nav-close{ display:none; }
.mdp-nav__foot{ display:none; }

/* ════ Boutons ════ */
.button,.wp-block-button__link,.woocommerce a.button,.woocommerce button.button,.woocommerce .button,
.woocommerce #respond input#submit,.single_add_to_cart_button,.checkout-button,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #respond input#submit.alt,
.woocommerce div.product form.cart .button,
.wc-block-components-button,button[type="submit"].mdp-btn,input[type="submit"]{
  background:var(--mp-primary); color:var(--mp-primary-text); font-family:var(--mp-font-body);
  font-weight:600; border:0; border-radius:var(--mp-radius-button); padding:12px 28px;
  text-transform:none; cursor:pointer; transition:background var(--mp-anim),transform var(--mp-anim),box-shadow var(--mp-anim);
}
.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.single_add_to_cart_button:hover,.checkout-button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,
.woocommerce div.product form.cart .button:hover{
  background:var(--mp-primary-hover); color:#fff; opacity:1; transform:translateY(-1px); box-shadow:0 8px 24px rgba(15,60,201,.18);
}

/* ════ Collection / boutique (cu-page, réplique Shopify) ════ */
.mdp-main{ padding:32px 0 64px; }
.cu-page{ font-family:var(--mp-font-inter); background:#fff; }
.cu-header{ background:#fff; padding:28px 0 0; }
.cu-breadcrumb{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--mp-muted); margin-bottom:14px; flex-wrap:wrap; }
.cu-breadcrumb a{ color:var(--mp-muted); }
.cu-breadcrumb a:hover{ color:var(--mp-primary); opacity:1; }
.cu-title-row{ display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:8px; padding-bottom:20px; border-bottom:1px solid var(--mp-border-grey); }
.cu-title{ font-family:'Anton',sans-serif; font-size:clamp(1.75rem,3vw,2.4rem); font-weight:400; color:#1a1a1a; margin:0; letter-spacing:.02em; text-transform:uppercase; }
.cu-title-accent{ color:var(--mp-primary); }
.cu-count{ font-size:13px; color:var(--mp-muted); white-space:nowrap; }
/* Toolbar */
.cu-toolbar{ background:#f5f7ff; border-bottom:1px solid var(--mp-border-grey); padding:12px 0; position:sticky; top:0; z-index:10; }
.cu-toolbar-inner{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.cu-filters{ display:flex; gap:8px; flex-wrap:wrap; }
.cu-filter-btn{ background:#fff; border:1px solid var(--mp-border-grey); color:#374151; font-size:13px; font-weight:600; padding:7px 14px; border-radius:999px; cursor:pointer; transition:all .15s; font-family:var(--mp-font-inter); }
.cu-filter-btn:hover,.cu-filter-btn.active{ background:var(--mp-primary); color:#fff; border-color:var(--mp-primary); }
.cu-sort-select{ border:1px solid var(--mp-border-grey); border-radius:8px; padding:7px 12px; font-size:13px; font-family:var(--mp-font-inter); background:#fff; color:#374151; cursor:pointer; outline:none; min-height:auto; }
/* Grid */
.cu-page ul.products,.cu-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; padding:32px 0; margin:0; list-style:none; }
.cu-page ul.products li.product,ul.products li.cu-card{ width:auto!important; float:none!important; margin:0!important; clear:none!important; }
.cu-page ul.products::before,.cu-page ul.products::after{ display:none; }
@media(max-width:1024px){ .cu-page ul.products,.cu-grid{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:768px){ .cu-page ul.products,.cu-grid{ grid-template-columns:repeat(2,1fr); gap:14px; } }
/* Card */
li.cu-card,.cu-card{ background:#fff; border:1px solid var(--mp-border-grey); border-radius:10px; overflow:hidden; transition:all .2s; display:flex; flex-direction:column; margin:0; padding:0; }
.cu-card:hover{ transform:translateY(-4px); box-shadow:0 8px 24px rgba(15,60,201,.12); border-color:#c7d2fe; }
.cu-card-link{ text-decoration:none; color:inherit; flex:1; display:flex; flex-direction:column; }
.cu-card-link:hover{ opacity:1; }
.cu-card-img-wrap{ position:relative; aspect-ratio:1/1; background:#f5f7ff; overflow:hidden; }
.cu-card-img,.cu-card-img-wrap img{ width:100%; height:100%; object-fit:cover; transition:transform .4s; display:block; }
.cu-card:hover .cu-card-img,.cu-card:hover .cu-card-img-wrap img{ transform:scale(1.04); }
.cu-card-img-placeholder{ width:100%; height:100%; background:var(--mp-border-grey); }
/* Sold out overlay */
.cu-soldout-overlay{ position:absolute; inset:0; background:rgba(0,0,0,.6); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; }
.cu-soldout-inner{ display:flex; align-items:center; gap:8px; background:rgba(255,255,255,.15); padding:8px 14px; border-radius:999px; }
.cu-soldout-dot{ width:8px; height:8px; background:var(--mp-red); border-radius:50%; animation:cu-blink 1.2s infinite; flex-shrink:0; }
@keyframes cu-blink{ 0%,100%{opacity:1} 50%{opacity:.3} }
.cu-soldout-label{ color:#fff; font-size:13px; font-weight:700; letter-spacing:.03em; }
.cu-soldout-fomo{ background:var(--mp-red); color:#fff; font-size:11px; font-weight:700; padding:4px 10px; border-radius:999px; letter-spacing:.03em; }
/* Discount badge */
.cu-badge-discount{ position:absolute; top:10px; left:10px; background:var(--mp-red); color:#fff; font-size:11px; font-weight:700; padding:3px 8px; border-radius:4px; letter-spacing:.03em; }
/* Card body */
.cu-card-body{ padding:12px 14px 8px; flex:1; display:flex; flex-direction:column; gap:6px; }
.cu-card-title{ font-size:13px; font-weight:600; color:#1a1a1a; margin:0; line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-family:var(--mp-font-inter); }
.cu-card-stars{ display:flex; align-items:center; gap:2px; font-size:12px; }
.cu-star.filled{ color:#f59e0b; }
.cu-star-note{ font-weight:700; color:#1a1a1a; margin-left:4px; font-size:12px; }
.cu-star-count{ color:var(--mp-muted); font-size:11px; }
.cu-card-price{ margin-top:auto; padding-top:4px; }
.cu-price,.cu-price-sale{ font-size:15px; font-weight:700; color:#1a1a1a; }
.cu-price-sale{ color:var(--mp-red); }
.cu-price-compare{ font-size:13px; color:var(--mp-light); text-decoration:line-through; margin-left:6px; }
.cu-price-sold{ font-size:13px; font-weight:600; color:var(--mp-light); font-style:italic; }
.cu-card-price .woocommerce-Price-amount{ font:inherit; color:inherit; }
/* Card buttons */
.cu-card form{ margin:0; }
.cu-btn{ display:block; width:100%; padding:10px; font-size:12px; font-weight:700; text-align:center; text-transform:uppercase; letter-spacing:.06em; border-radius:0; border:none; cursor:pointer; transition:all .2s; text-decoration:none; font-family:var(--mp-font-inter); box-sizing:border-box; }
.cu-btn-add{ background:var(--mp-primary); color:#fff; }
.cu-btn-add:hover{ background:var(--mp-primary-hover); transform:none; box-shadow:none; }
.cu-btn-view{ background:#f5f7ff; color:var(--mp-primary); border-top:1px solid var(--mp-border-grey); }
.cu-btn-view:hover{ background:var(--mp-primary-light); opacity:1; }
.cu-btn-soldout{ background:#f3f4f6; color:var(--mp-light); cursor:not-allowed; }
/* Empty + pagination */
.cu-empty{ text-align:center; padding:60px 20px; color:var(--mp-muted); font-size:15px; }
.cu-pagination{ display:flex; justify-content:center; align-items:center; gap:8px; padding:8px 0 48px; flex-wrap:wrap; }
.cu-page-btn{ display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 12px; border:1px solid var(--mp-border-grey); border-radius:8px; font-size:14px; font-weight:600; color:#374151; text-decoration:none; background:#fff; transition:all .15s; }
.cu-page-btn:hover{ border-color:var(--mp-primary); color:var(--mp-primary); opacity:1; }
.cu-page-current{ background:var(--mp-primary); color:#fff!important; border-color:var(--mp-primary); }
.cu-page-ellipsis{ color:var(--mp-light); padding:0 4px; border:0; background:none; min-width:auto; }

/* Promo badge Woo par défaut (masqué — remplacé par cu-badge-discount) */
.cu-card span.onsale{ display:none; }
.woocommerce span.onsale{ background:var(--mp-red); color:#fff; border-radius:6px; font-family:var(--mp-font-inter); font-weight:700; letter-spacing:.04em; text-transform:uppercase; font-size:11px; min-height:0; min-width:0; padding:4px 9px; top:10px; left:10px; line-height:1.3; }

/* Fiche produit */
.single-product div.product .product_title{ font-size:clamp(1.6rem,4vw,2.25rem); }
.single-product div.product p.price,.single-product div.product span.price{ color:var(--mp-primary); font-weight:600; }

/* Champs */
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce .quantity .qty,
select,input[type=text],input[type=email],input[type=tel],input[type=search],input[type=number]{
  border-radius:var(--mp-radius-input); border:1px solid var(--mp-border-strong); min-height:48px; padding:12px 14px; font-size:.9375rem; font-family:var(--mp-font-body);
}

/* ════ Pages / contenu ════ */
.mdp-page{ padding:8px 0 40px; max-width:860px; }
.mdp-page__title{ margin-bottom:24px; }
.mdp-page__content{ line-height:1.7; }
.mdp-page__content h2{ margin-top:32px; }

/* ════ Bandeau réassurance (au-dessus du footer) ════ */
.rb-section{ background:#fff; border-top:1px solid var(--mp-border-grey); margin-top:28px; font-family:var(--mp-font-inter); overflow:hidden; }
.rb-inner{ max-width:1320px; margin:0 auto; padding:0 clamp(16px,4vw,32px); }
.rb-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.rb-item{ display:flex; align-items:center; gap:14px; padding:20px 24px; border-right:1px solid var(--mp-border-grey); min-width:0; }
.rb-item:last-child{ border-right:none; }
.rb-icon{ width:40px; height:40px; flex-shrink:0; display:flex; align-items:center; justify-content:center; background:var(--mp-primary-light); border-radius:8px; }
.rb-icon svg{ width:20px; height:20px; color:var(--mp-primary); }
.rb-text{ min-width:0; }
.rb-title{ font-size:13px; font-weight:700; color:var(--mp-dark); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.3; }
.rb-desc{ font-size:11.5px; color:var(--mp-muted); line-height:1.4; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@media (max-width:768px){
  .rb-grid{ display:flex; transition:transform .35s cubic-bezier(.25,.46,.45,.94); will-change:transform; }
  .rb-item{ flex:0 0 100%; border-right:none; padding:16px 20px; }
  .rb-icon{ width:44px; height:44px; }
  .rb-title{ font-size:14px; white-space:normal; }
  .rb-desc{ font-size:12px; white-space:normal; }
  .rb-dots{ display:flex; justify-content:center; gap:6px; padding:0 0 12px; }
  .rb-dot{ width:6px; height:6px; border-radius:999px; background:#d1d5db; border:none; padding:0; cursor:pointer; transition:all .25s; }
  .rb-dot.active{ background:var(--mp-primary); width:20px; }
}
@media (min-width:769px){ .rb-dots{ display:none; } }

/* ════ Footer ════ */
.mdp-footer{ background:#000; color:#fff; }
.mdp-footer a{ color:#fff; }
.mdp-footer__grid{ display:grid; grid-template-columns:1.45fr 1fr 1fr 1.15fr; gap:30px; padding:50px 0 40px; }
.mdp-footer__col{ min-width:0; }
.mdp-footer__logo img{ width:250px; max-width:100%; height:auto; margin-bottom:18px; }
.mdp-footer__brand p{ color:rgba(255,255,255,.78); font-size:.875rem; line-height:1.65; margin:0 0 14px; max-width:340px; }
.mdp-footer__brand strong{ color:#fff; }
.mdp-footer__heading{ font-size:1.05rem; font-weight:600; color:#fff; margin:6px 0 18px; }
.mdp-footer__list{ display:flex; flex-direction:column; gap:12px; list-style:none; margin:0; padding:0; font-size:.9rem; }
.mdp-footer__list a{ color:rgba(255,255,255,.92); }
/* Newsletter */
.mdp-newsletter__row{ display:flex; gap:8px; }
.mdp-newsletter input[type="email"]{ flex:1; min-width:0; background:var(--mp-primary); border:1px solid var(--mp-primary); color:#fff;
  border-radius:var(--mp-radius-input); min-height:46px; padding:12px 14px; font-size:.9rem; font-family:var(--mp-font-body); outline:none; }
.mdp-newsletter input[type="email"]::placeholder{ color:rgba(255,255,255,.85); }
.mdp-newsletter button{ width:46px; height:46px; flex-shrink:0; background:#fff; color:var(--mp-dark); border:1px solid #fff;
  border-radius:var(--mp-radius-input); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:opacity var(--mp-anim); }
.mdp-newsletter button:hover{ opacity:.85; }
.mdp-newsletter button svg{ width:18px; height:18px; }
.mdp-newsletter__msg{ font-size:.8rem; color:rgba(255,255,255,.85); margin:10px 0 0; min-height:1em; }
/* Bottom bar */
.mdp-footer__bottom{ padding:8px 0 22px; }
.mdp-footer__bottom-inner{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; }
.mdp-payments{ display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.mdp-payments svg{ width:38px; height:24px; border-radius:3px; }
.mdp-copyright{ font-size:.78rem; color:rgba(255,255,255,.75); text-align:center; }
.mdp-copyright a{ color:rgba(255,255,255,.9); }

/* ════ Responsive ════ */
@media (max-width:1024px){ .woocommerce ul.products{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:900px){
  .mdp-burger{ display:flex; order:0; }
  .mdp-header__inner{ gap:8px; min-height:64px; }
  .mdp-logo{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); }
  .mdp-logo img{ height:22px; }
  .mdp-header__actions{ gap:2px; }
  .mdp-icon-account{ display:none; }
  .mdp-search-toggle{ position:absolute; left:42px; top:50%; transform:translateY(-50%); }
  /* ════ Drawer mobile — design premium brandé ════ */
  .mdp-nav-close{ position:absolute; top:12px; right:14px; width:38px; height:38px; background:rgba(255,255,255,.16); border:0; border-radius:50%; font-size:1.4rem; line-height:1; color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; z-index:3; transition:background var(--mp-anim); }
  .mdp-nav-close:hover{ background:rgba(255,255,255,.3); opacity:1; }
  .mdp-nav{ position:fixed; top:0; right:auto; left:0; bottom:0; width:86%; max-width:360px; background:#fff;
    transform:translateX(-100%); transition:transform .3s cubic-bezier(.4,0,.2,1); z-index:200; padding:0;
    box-shadow:10px 0 44px rgba(0,0,0,.22); overflow-y:auto; display:flex; flex-direction:column; }
  body.mdp-nav-open .mdp-nav{ transform:translateX(0); }
  body.mdp-nav-open{ overflow:hidden; }
  /* En-tête brandé : bandeau bleu + logo blanc */
  .mdp-nav::before{ content:''; display:block; flex-shrink:0; height:62px;
    background:var(--mp-primary) url('assets/logo-white.png') no-repeat 22px center; background-size:auto 24px; }
  /* Liste de navigation */
  .mdp-nav__list{ flex-direction:column; align-items:stretch; gap:0; padding:6px 0; flex:1 0 auto; }
  .mdp-nav__list > li{ border-bottom:1px solid var(--mp-border); }
  .mdp-nav__list > li:last-child{ border-bottom:0; }
  .mdp-nav__list a{ font-size:1.02rem; font-weight:600; padding:15px 22px; border-radius:0; color:var(--mp-fg); }
  .mdp-nav__list > li > a:hover, .mdp-nav__list > li > a:active{ background:var(--mp-primary-light); color:var(--mp-primary); opacity:1; }
  .mdp-nav__list li.menu-item-has-children > a{ justify-content:space-between; }
  .mdp-nav__list li.menu-item-has-children > a::after{ transform:rotate(45deg); border-color:var(--mp-muted); }
  .mdp-nav__list li.menu-item-has-children.is-open > a::after{ transform:rotate(225deg); border-color:var(--mp-primary); }
  .mdp-nav__list .sub-menu{ position:static; min-width:0; border:0; border-radius:0; box-shadow:none; padding:0; margin:0;
    background:var(--mp-bg-soft); opacity:1; visibility:visible; transform:none; display:none; }
  .mdp-nav__list li.is-open > .sub-menu{ display:block; }
  .mdp-nav__list .sub-menu a{ font-size:.93rem; font-weight:500; padding:12px 22px 12px 36px; color:var(--mp-muted); }
  .mdp-nav__list .sub-menu a:hover{ color:var(--mp-primary); background:#fff; }
  /* Pied du drawer : réassurance + CTA contact */
  .mdp-nav__foot{ display:block; flex-shrink:0; border-top:1px solid var(--mp-border); padding:18px 22px 26px; background:var(--mp-bg-soft); }
  .mdp-nav__foot-reassure{ display:flex; flex-direction:column; gap:10px; margin-bottom:16px; }
  .mdp-nav__foot-reassure span{ display:flex; align-items:center; gap:10px; font-size:.86rem; font-weight:500; color:var(--mp-fg); }
  .mdp-nav__foot-reassure svg{ width:17px; height:17px; color:var(--mp-primary); flex-shrink:0; }
  .mdp-nav__foot-cta{ display:flex; align-items:center; justify-content:center; gap:8px; background:var(--mp-primary); color:#fff !important; font-weight:600; font-size:.92rem; padding:13px; border-radius:12px; }
  .mdp-nav__foot-cta:hover{ background:var(--mp-primary-hover); opacity:1; }
  /* Footer */
  .mdp-footer__grid{ grid-template-columns:1fr 1fr; gap:36px 24px; padding:40px 0 32px; }
  .mdp-footer__brand{ grid-column:1 / -1; }
  .mdp-footer__newsletter{ grid-column:1 / -1; }
}
@media (max-width:768px){ .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); gap:16px; } }
@media (max-width:600px){
  .mdp-footer__grid{ grid-template-columns:1fr; gap:32px; }
  .mdp-footer__bottom-inner{ grid-template-columns:1fr; gap:14px; justify-items:center; }
  .mdp-payments{ justify-content:center; }
}

/* ════ Mention paiement ════ */
.mdp-pay-notice{ background:var(--mp-bg-soft); border:1px solid var(--mp-border); border-radius:12px; padding:14px 16px; margin:16px 0; font-size:.85rem; line-height:1.5; }
.mdp-pay-notice__title{ font-weight:600; margin:0 0 6px; }
.mdp-pay-notice p{ margin:0 0 6px; color:var(--mp-fg); }
.mdp-pay-notice__bonus{ display:inline-block; margin-top:4px; background:var(--mp-primary); color:#fff; font-weight:600; padding:4px 10px; border-radius:999px; font-size:.8rem; }

/* ════ Fiche produit (réplique Shopify) ════ */
.single-product div.product{ display:grid; grid-template-columns:minmax(0,55%) minmax(0,45%); gap:48px; align-items:start; }
.single-product div.product .woocommerce-product-gallery{ width:100%!important; max-width:100%; overflow:hidden; margin:0; float:none; }
.single-product .woocommerce-product-gallery .flex-viewport{ max-width:100%; }
.single-product .woocommerce-product-gallery__image img{ max-width:100%; height:auto; }
.single-product div.product .woocommerce-product-gallery__wrapper{ border-radius:14px; overflow:hidden; background:#fff; }
.single-product div.product .woocommerce-product-gallery__image img{ border-radius:14px; }
.single-product .flex-control-thumbs{ display:flex; gap:10px; list-style:none; margin:14px 0 0; padding:0; flex-wrap:wrap; }
.single-product .flex-control-thumbs li{ width:72px; }
.single-product .flex-control-thumbs img{ border:1px solid var(--mp-border-grey); border-radius:8px; cursor:pointer; opacity:.7; transition:all var(--mp-anim); padding:4px; background:#fff; }
.single-product .flex-control-thumbs img.flex-active,.single-product .flex-control-thumbs img:hover{ border-color:var(--mp-fg); opacity:1; }
.single-product div.product .summary{ margin:0; font-family:var(--mp-font-inter); width:100%!important; float:none!important; }
.single-product div.product div.images{ width:100%!important; float:none!important; margin:0!important; }
.single-product div.product span.onsale{ display:none; }
@media(min-width:901px){ .single-product div.product .summary{ position:sticky; top:96px; } }
/* Ligne Trustpilot */
.mp-tp-line{ display:flex; align-items:center; gap:6px; font-size:12.5px; color:var(--mp-fg); margin-bottom:10px; white-space:nowrap; }
.mp-tp-line__label{ font-weight:600; }
.mp-tp-line img{ height:17px; width:auto; }
.mp-tp-line__count{ color:var(--mp-muted); }
.mp-tp-line__tp{ font-weight:700; color:#00b67a; }
@media(max-width:420px){ .mp-tp-line{ font-size:11.5px; } }
/* Marque + titre + prix */
.mp-brand{ font-size:13px; color:var(--mp-muted); margin-bottom:4px; }
.single-product .product_title{ margin:0 0 8px; font-size:clamp(1.5rem,3vw,1.9rem); font-weight:700; font-family:var(--mp-font-inter); }
.single-product .summary > .price{ font-size:1.25rem; font-weight:700; color:var(--mp-fg)!important; margin:4px 0 14px; display:inline-flex; flex-direction:row-reverse; align-items:baseline; gap:10px; }
.single-product .summary > .price del{ color:var(--mp-light); font-weight:400; font-size:1rem; opacity:1; }
.single-product .summary > .price ins{ text-decoration:none; color:var(--mp-fg); font-weight:700; }
/* Description courte clampée */
.mp-excerpt{ margin:0 0 16px; }
.mp-excerpt__text{ font-size:13.5px; line-height:1.65; color:var(--mp-muted); }
.mp-excerpt.is-clamped .mp-excerpt__text{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.mp-excerpt__more{ background:none; border:0; padding:0; margin-top:6px; font-size:13px; font-weight:600; color:var(--mp-fg); text-decoration:underline; cursor:pointer; font-family:var(--mp-font-inter); }
/* Formulaire achat : qty + bouton sur une ligne */
.single-product form.cart{ display:flex; gap:10px; align-items:stretch; flex-wrap:wrap; margin:0 0 14px; }
.single-product form.cart .quantity{ display:flex; align-items:center; border:1px solid var(--mp-border-grey); border-radius:10px; overflow:hidden; background:#fff; flex-shrink:0; }
.single-product form.cart .quantity .qty{ width:44px; min-height:48px; border:0; text-align:center; font-weight:600; font-size:.95rem; padding:0; border-radius:0; -moz-appearance:textfield; }
.single-product form.cart .quantity .qty::-webkit-outer-spin-button,.single-product form.cart .quantity .qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.mp-qty-step{ width:36px; min-height:48px; background:#fff; border:0; font-size:1.1rem; color:var(--mp-fg); cursor:pointer; transition:background var(--mp-anim); }
.mp-qty-step:hover{ background:var(--mp-bg-soft); }
.single-product .single_add_to_cart_button{ flex:1; min-width:200px; padding:14px 18px; font-size:.92rem; font-weight:700; border-radius:10px; display:flex; align-items:center; justify-content:center; white-space:nowrap; }
.single-product .single_add_to_cart_button .mp-btn-price{ font-size:.95em; font-weight:600; }
.single-product .single_add_to_cart_button .mp-btn-price del{ color:rgba(255,255,255,.65); font-weight:400; font-size:.88em; }
.single-product .single_add_to_cart_button .mp-btn-price ins{ text-decoration:none; }
.single-product .single_add_to_cart_button .woocommerce-Price-amount{ color:#fff; }
/* Variations */
.single-product table.variations{ margin:0 0 14px; width:100%; }
.single-product table.variations td,.single-product table.variations th{ padding:6px 8px 6px 0; font-size:.85rem; }
.single-product table.variations select{ width:100%; min-height:44px; }
.single-product .woocommerce-variation-add-to-cart{ display:flex; gap:10px; flex:1 1 100%; }
.single-product .reset_variations{ font-size:.8rem; }
/* Icônes paiement */
.mp-pay-icons{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; width:100%; margin-top:12px; }
.mp-pay-icons__hint{ font-size:11.5px; color:var(--mp-muted); margin-right:4px; }
.mp-pay-icons svg{ border-radius:3px; box-shadow:0 0 0 1px var(--mp-border); }
/* Accordéons */
.mp-accs{ margin:18px 0 0; border-top:1px solid var(--mp-border-grey); }
.mp-acc{ border-bottom:1px solid var(--mp-border-grey); }
.mp-acc__head{ display:flex; align-items:center; justify-content:space-between; width:100%; background:none; border:0; padding:15px 2px; font-size:14px; font-weight:600; color:var(--mp-fg); cursor:pointer; font-family:var(--mp-font-inter); text-align:left; }
.mp-acc__chevron{ width:9px; height:9px; border-right:1.8px solid currentColor; border-bottom:1.8px solid currentColor; transform:rotate(45deg); transition:transform var(--mp-anim); flex-shrink:0; margin-left:12px; }
.mp-acc.is-open .mp-acc__chevron{ transform:rotate(225deg); }
.mp-acc__inner{ padding:2px 2px 18px; font-size:13.5px; line-height:1.7; color:var(--mp-muted); }
.mp-acc__inner h2,.mp-acc__inner h3,.mp-acc__inner h4{ font-size:1rem; color:var(--mp-fg); margin:14px 0 6px; }
.mp-acc__inner table{ width:100%; border-collapse:collapse; font-size:13px; }
.mp-acc__inner td,.mp-acc__inner th{ border:1px solid var(--mp-border-grey); padding:7px 10px; text-align:left; }
/* Meta produit */
.single-product .product_meta{ margin-top:14px; font-size:.78rem; color:var(--mp-muted); }
/* Sticky add-to-cart */
.mp-sticky-atc{ position:fixed; left:0; right:0; bottom:0; z-index:140; background:#fff; border-top:1px solid var(--mp-border-grey); box-shadow:0 -8px 24px rgba(0,0,0,.06); padding:10px 0; }
.mp-sticky-atc__inner{ display:flex; gap:10px; align-items:stretch; }
.mp-sticky-atc__qty{ display:flex; align-items:center; border:1px solid var(--mp-border-grey); border-radius:10px; overflow:hidden; background:#fff; flex-shrink:0; }
.mp-sticky-atc__qty input{ width:42px; min-height:46px; border:0; text-align:center; font-weight:600; padding:0; -moz-appearance:textfield; }
.mp-sticky-atc__qty input::-webkit-outer-spin-button,.mp-sticky-atc__qty input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.mp-sticky-atc__step{ width:34px; min-height:46px; background:#fff; border:0; font-size:1.05rem; cursor:pointer; }
.mp-sticky-atc__step:hover{ background:var(--mp-bg-soft); }
.mp-sticky-atc__btn{ flex:1; background:var(--mp-primary); color:#fff; border:0; border-radius:10px; font-weight:700; font-size:.92rem; cursor:pointer; padding:12px 16px; font-family:var(--mp-font-inter); transition:background var(--mp-anim); display:flex; align-items:center; justify-content:center; }
.mp-sticky-atc__btn:hover{ background:var(--mp-primary-hover); }
.mp-sticky-atc__price{ display:inline-flex; flex-direction:row-reverse; align-items:baseline; gap:6px; }
.mp-sticky-atc__price del{ color:rgba(255,255,255,.65); font-weight:400; font-size:.88em; }
.mp-sticky-atc__price ins{ text-decoration:none; }
.mp-sticky-atc__price .woocommerce-Price-amount{ color:#fff; }
/* Produits liés */
.mp-related-wrap .related.products > h2{ font-family:'Anton',sans-serif; font-weight:400; font-size:clamp(1.5rem,2.5vw,2rem); text-transform:uppercase; letter-spacing:.02em; margin:56px 0 4px; }
@media(max-width:900px){
  .single-product div.product{ grid-template-columns:minmax(0,1fr); gap:24px; }
  .single-product div.product .summary{ position:static; }
  .single-product form.cart .quantity{ min-width:116px; }
  .mp-sticky-atc{ padding:8px 0 max(8px,env(safe-area-inset-bottom)); }
}
@media(max-width:540px){
  .single-product form.cart{ flex-direction:column; align-items:stretch; }
  .single-product form.cart .quantity{ width:fit-content; }
  .single-product .single_add_to_cart_button{ min-width:0; width:100%; font-size:.88rem; padding:14px 10px; }
  .mp-sticky-atc__btn{ font-size:.85rem; padding:12px 8px; min-width:0; }
  .mp-sticky-atc__price del{ display:none; }
}

/* ════ Notices WooCommerce ════ */
.woocommerce-message,.woocommerce-info,.woocommerce-error{ border:1px solid var(--mp-border-grey); border-top:0; border-radius:12px; background:#fff; padding:14px 18px 14px 44px; margin:0 0 20px; font-size:.9rem; box-shadow:0 4px 16px rgba(0,0,0,.05); position:relative; }
.woocommerce-message{ border-left:4px solid var(--mp-green); }
.woocommerce-message::before{ color:var(--mp-green); }
.woocommerce-info{ border-left:4px solid var(--mp-primary); }
.woocommerce-info::before{ color:var(--mp-primary); }
.woocommerce-error{ border-left:4px solid var(--mp-red); }
.woocommerce-error::before{ color:var(--mp-red); }
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{ padding:8px 16px; font-size:.8rem; border-radius:10px; }

/* ════ Panier ════ */
.woocommerce-cart .mdp-main h1,.woocommerce-cart h1.entry-title{ font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.02em; }
.woocommerce table.shop_table{ border:1px solid var(--mp-border-grey); border-radius:14px; border-collapse:separate; border-spacing:0; overflow:hidden; }
.woocommerce table.shop_table th{ font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:var(--mp-muted); background:var(--mp-bg-soft); padding:12px 14px; }
.woocommerce table.shop_table td{ padding:14px; border-top:1px solid var(--mp-border-grey); vertical-align:middle; }
.woocommerce-cart table.cart img{ width:72px; border-radius:10px; border:1px solid var(--mp-border-grey); background:var(--mp-bg-soft); }
.woocommerce-cart table.cart .product-name a{ font-weight:600; font-size:.92rem; }
.woocommerce-cart table.cart .product-remove a{ font-size:1.1rem; color:var(--mp-muted)!important; width:28px; height:28px; display:flex; align-items:center; justify-content:center; border-radius:50%; transition:all var(--mp-anim); }
.woocommerce-cart table.cart .product-remove a:hover{ background:var(--mp-red); color:#fff!important; opacity:1; }
.woocommerce-cart .quantity .qty{ width:64px; min-height:42px; }
.woocommerce-cart table.cart td.actions .coupon .input-text{ min-height:44px; width:160px; margin-right:8px; }
.woocommerce-cart table.cart td.actions .button{ padding:11px 20px; font-size:.85rem; }
.woocommerce .cart_totals{ border:1px solid var(--mp-border-grey); border-radius:14px; padding:20px; background:var(--mp-bg-soft); }
.woocommerce .cart_totals h2{ font-size:1.15rem; margin:0 0 12px; }
.woocommerce .cart_totals table.shop_table{ border:0; background:transparent; }
.woocommerce .cart_totals table.shop_table th,.woocommerce .cart_totals table.shop_table td{ background:transparent; border-top:1px solid var(--mp-border-grey); padding:10px 4px; font-size:.9rem; }
.woocommerce .cart_totals .order-total .amount{ font-size:1.15rem; font-weight:700; }
.woocommerce .wc-proceed-to-checkout .checkout-button{ width:100%; text-align:center; font-size:1rem; padding:15px; border-radius:12px; }
.woocommerce-cart .cross-sells > h2{ font-family:'Anton',sans-serif; font-weight:400; font-size:clamp(1.4rem,2.5vw,1.9rem); text-transform:uppercase; margin:40px 0 16px; }
@media(max-width:768px){
  .woocommerce table.shop_table_responsive tr{ border-bottom:1px solid var(--mp-border-grey); }
  .woocommerce table.shop_table_responsive tr td{ border-top:0; }
  .woocommerce-cart table.cart td.actions .coupon .input-text{ width:100%; margin:0 0 8px; }
}

/* ════ Ancien bandeau réassurance (shortcode) ════ */
.mdp-trust{ background:var(--mp-bg-soft); border-bottom:1px solid var(--mp-border); font-size:.8125rem; }
.mdp-trust__items{ display:flex; justify-content:center; gap:32px; flex-wrap:wrap; padding:9px 0; font-weight:600; }

/* ════ Réassurance paiement (promo) ════ */
.mdp-pay-notice__promo{ display:block; margin-top:8px; background:var(--mp-primary-light); color:var(--mp-primary); font-weight:600; padding:8px 12px; border-radius:8px; font-size:.82rem; }
.mdp-pay-notice__promo strong{ color:var(--mp-primary); }

/* ════ Radar + fiche technique (accordéon profil de jeu) ════ */
.mp-specs-grid{ display:flex; gap:28px; flex-wrap:wrap; align-items:flex-start; }
.mp-radar{ flex:0 0 auto; text-align:center; max-width:300px; width:100%; margin:0 auto; }
.mp-radar__label{ font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--mp-muted); margin-bottom:6px; }
.mp-radar-svg{ display:block; max-width:300px; width:100%; margin:0 auto; height:auto; }
.mp-spec-table{ flex:1; min-width:240px; width:100%; border-collapse:collapse; font-size:14px; font-family:var(--mp-font-inter); }
.mp-spec-table td{ padding:9px 0; border-bottom:1px solid var(--mp-border-grey); }
.mp-spec-table tr:last-child td{ border-bottom:0; }
.mp-spec-k{ color:var(--mp-muted); font-weight:500; }
.mp-spec-v{ font-weight:600; text-align:right; }
.mp-spec-badge{ display:inline-block; font-size:12px; font-weight:700; padding:3px 10px; border-radius:99px; }
.mp-spec-badge--level{ background:var(--mp-primary-light); color:var(--mp-primary); }
.mp-spec-badge--style{ background:#fef2f2; color:var(--mp-red); }
@media(max-width:560px){ .mp-specs-grid{ flex-direction:column; gap:18px; } .mp-radar{ max-width:280px; } }

/* ════ FAQ fiche produit ════ */
.mp-pfaq{ background:var(--mp-bg-soft); padding:56px 0; margin-top:8px; }
.mp-pfaq__inner{ max-width:760px; margin:0 auto; padding:0 clamp(16px,4vw,32px); }
.mp-pfaq__eyebrow{ display:inline-flex; align-items:center; gap:7px; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--mp-primary); margin-bottom:10px; }
.mp-pfaq__eyebrow::before{ content:''; width:20px; height:2px; background:var(--mp-primary); border-radius:2px; }
.mp-pfaq__title{ font-family:'Anton',sans-serif; font-weight:400; font-size:clamp(1.6rem,3.5vw,2.4rem); text-transform:uppercase; color:var(--mp-dark); line-height:1.05; margin:0 0 28px; }
.mp-pfaq__title span{ color:var(--mp-primary); }
.mp-pfaq__item{ border-bottom:1px solid var(--mp-border-grey); }
.mp-pfaq__item:first-child{ border-top:1px solid var(--mp-border-grey); }
.mp-pfaq__q{ width:100%; background:none; border:0; padding:18px 0; display:flex; align-items:center; justify-content:space-between; gap:16px; cursor:pointer; text-align:left; font-family:var(--mp-font-inter); }
.mp-pfaq__q > span:first-child{ font-size:14px; font-weight:600; color:var(--mp-dark); line-height:1.4; transition:color .2s; }
.mp-pfaq__item.open .mp-pfaq__q > span:first-child,.mp-pfaq__q:hover > span:first-child{ color:var(--mp-primary); }
.mp-pfaq__icon{ position:relative; width:26px; height:26px; flex-shrink:0; border-radius:50%; background:#f3f4f6; transition:all .25s; }
.mp-pfaq__icon::before,.mp-pfaq__icon::after{ content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); background:var(--mp-muted); transition:all .25s; }
.mp-pfaq__icon::before{ width:11px; height:2.4px; }
.mp-pfaq__icon::after{ width:2.4px; height:11px; }
.mp-pfaq__item.open .mp-pfaq__icon{ background:var(--mp-primary); transform:rotate(135deg); }
.mp-pfaq__item.open .mp-pfaq__icon::before,.mp-pfaq__item.open .mp-pfaq__icon::after{ background:#fff; }
.mp-pfaq__a{ max-height:0; overflow:hidden; transition:max-height .35s cubic-bezier(.4,0,.2,1); }
.mp-pfaq__a-inner{ padding:0 0 18px; font-size:14px; color:#4b5563; line-height:1.7; }
.mp-pfaq__a-inner strong{ color:var(--mp-dark); font-weight:600; }
.mp-pfaq__cta{ margin-top:32px; background:#fff; border:1px solid #c7d2fe; border-radius:12px; padding:22px 26px; display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.mp-pfaq__cta-title{ font-size:15px; font-weight:700; color:var(--mp-dark); }
.mp-pfaq__cta-desc{ font-size:13px; color:var(--mp-muted); margin-top:2px; }
.mp-pfaq__cta-btn{ background:var(--mp-primary); color:#fff; border-radius:8px; font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:12px 22px; white-space:nowrap; }
.mp-pfaq__cta-btn:hover{ background:var(--mp-primary-hover); color:#fff; opacity:1; }
@media(max-width:600px){ .mp-pfaq__cta{ flex-direction:column; align-items:flex-start; } .mp-pfaq__cta-btn{ width:100%; text-align:center; } }

/* ════ Sortir produits liés + FAQ du grid 2 colonnes de la fiche produit ════ */
.single-product div.product{ align-items:start; }
.single-product div.product > .mp-related-wrap,
.single-product div.product > .mp-pfaq,
.single-product div.product > .related,
.single-product div.product > .upsells{ grid-column:1 / -1; width:100%; }

/* ════ Produits liés (fix affichage) ════ */
.mp-related-wrap{ background:#fff; padding:0 0 8px; }
.mp-related-wrap .related.products,.mp-related-wrap .upsells.products{ max-width:var(--mp-page-width); margin:0 auto; padding:0 clamp(16px,4vw,var(--mp-page-margin)); width:100%; clear:both; }
.mp-related-wrap .related.products ul.products,.mp-related-wrap .upsells.products ul.products{ display:grid!important; grid-template-columns:repeat(4,1fr); gap:24px; margin:0; padding:24px 0 0; list-style:none; }
.mp-related-wrap ul.products li.product{ width:auto!important; margin:0!important; float:none!important; }
.mp-related-wrap ul.products::before,.mp-related-wrap ul.products::after{ display:none!important; }
@media(max-width:1024px){ .mp-related-wrap .related.products ul.products,.mp-related-wrap .upsells.products ul.products{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:768px){ .mp-related-wrap .related.products ul.products,.mp-related-wrap .upsells.products ul.products{ grid-template-columns:repeat(2,1fr); gap:14px; } }

/* ════ Panier : coupon auto + cadeau ════ */
.mdp-auto-coupon{ color:var(--mp-green); font-weight:700; }
.mdp-gift-tag{ display:inline-block; background:var(--mp-primary-light); color:var(--mp-primary); font-size:11px; font-weight:700; padding:3px 9px; border-radius:99px; white-space:nowrap; }
.mdp-gift-free{ color:var(--mp-green); font-weight:700; }
.mdp-gift-qty{ color:var(--mp-muted); font-size:.85rem; }

/* ════ Checkout : réassurance / conversion ════ */
.mp-co-trust{ display:flex; flex-wrap:wrap; gap:14px 24px; align-items:center; justify-content:center; background:#fff; border:1px solid var(--mp-border-grey); border-radius:12px; padding:14px 18px; margin:0 0 14px; font-family:var(--mp-font-inter); }
.mp-co-trust__item{ display:flex; align-items:center; gap:7px; font-size:13px; font-weight:600; color:var(--mp-dark); }
.mp-co-trust__item img{ height:18px; width:auto; }
.mp-co-trust__item strong{ color:var(--mp-dark); }
.mp-co-promo{ background:var(--mp-primary-light); border:1px dashed var(--mp-primary); border-radius:10px; padding:12px 16px; margin:0 0 24px; font-size:.9rem; color:var(--mp-primary); text-align:center; }
.mp-co-promo strong{ color:var(--mp-primary); }
.mp-co-badges{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:18px; }
.mp-co-badge{ display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; background:var(--mp-bg-soft); border-radius:10px; padding:14px 8px; font-size:11px; font-weight:600; color:var(--mp-fg); line-height:1.3; }
.mp-co-badge span{ font-size:11px; }
@media(max-width:560px){ .mp-co-badges{ grid-template-columns:repeat(2,1fr); } }

/* ════ Pop-up anti-arnaque ════ */
.mdp-scam{ position:fixed; inset:0; z-index:9000; display:flex; align-items:center; justify-content:center; padding:20px; }
.mdp-scam[hidden]{ display:none; }  /* sinon display:flex écrase l'attribut hidden → impossible à fermer */
.mdp-scam__overlay{ position:absolute; inset:0; background:rgba(13,13,13,.6); backdrop-filter:blur(2px); animation:mdpScamFade .25s ease; }
.mdp-scam__box{ position:relative; background:#fff; border-radius:18px; max-width:440px; width:100%; padding:32px 28px 26px; box-shadow:0 24px 64px rgba(0,0,0,.28); animation:mdpScamPop .3s cubic-bezier(.22,1,.36,1); font-family:var(--mp-font-inter); max-height:90vh; overflow-y:auto; }
@keyframes mdpScamFade{ from{opacity:0} to{opacity:1} }
@keyframes mdpScamPop{ from{opacity:0;transform:translateY(16px) scale(.97)} to{opacity:1;transform:none} }
.mdp-scam__close{ position:absolute; top:14px; right:16px; width:34px; height:34px; border:0; background:var(--mp-bg-soft); border-radius:50%; font-size:1.4rem; line-height:1; color:var(--mp-muted); cursor:pointer; transition:all .2s; }
.mdp-scam__close:hover{ background:#fee; color:var(--mp-red); }
.mdp-scam__icon{ width:56px; height:56px; border-radius:14px; background:var(--mp-primary-light); color:var(--mp-primary); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.mdp-scam__icon svg{ width:30px; height:30px; }
.mdp-scam__title{ font-family:'Anton',sans-serif; font-weight:400; font-size:1.7rem; text-transform:uppercase; color:var(--mp-dark); margin:0 0 12px; letter-spacing:.01em; }
.mdp-scam__text{ font-size:14px; line-height:1.65; color:#4b5563; margin:0 0 12px; }
.mdp-scam__text strong{ color:var(--mp-dark); }
.mdp-scam__list{ list-style:none; margin:4px 0 20px; padding:14px 16px; background:var(--mp-bg-soft); border-radius:10px; display:flex; flex-direction:column; gap:8px; font-size:13px; color:var(--mp-fg); font-weight:500; }
.mdp-scam__btn{ width:100%; background:var(--mp-primary); color:#fff; border:0; border-radius:10px; padding:14px; font-size:.92rem; font-weight:700; cursor:pointer; transition:background .2s; }
.mdp-scam__btn:hover{ background:var(--mp-primary-hover); }
@media(max-width:480px){ .mdp-scam__box{ padding:28px 20px 22px; } .mdp-scam__title{ font-size:1.45rem; } }

/* ── Checkout : fond du bloc paiement (défaut WooCommerce = mauve) ── */
.woocommerce-checkout #payment,
.woocommerce #payment,
#payment.woocommerce-checkout-payment {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
}
.woocommerce-checkout #payment ul.payment_methods,
.woocommerce-checkout #payment ul.wc_payment_methods {
  background: transparent;
  border: 0;
  padding: 8px 16px;
}
.woocommerce-checkout #payment div.payment_box,
.woocommerce #payment div.payment_box {
  background: #f7f8fc;
  border: 1px solid rgba(0,0,0,.06);
  color: #252525;
  border-radius: 10px;
}
.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: #f7f8fc !important;
}
.woocommerce-checkout #payment .place-order {
  background: transparent;
  border: 0;
  padding: 16px;
}
.woocommerce-checkout #payment .woocommerce-privacy-policy-text {
  color: #6b7280;
  font-size: .82rem;
}
/* Variante "block checkout" (au cas où) */
.wp-block-woocommerce-checkout-payment-block,
.wc-block-checkout__payment-method {
  background: #ffffff;
  border-radius: 14px;
}

/* ════════ Ajustements (logo, checkout, marges mobile) ════════ */

/* Logo header — taille normale (le centrage mobile absolu de .mdp-logo est conservé) */
.mdp-logo img { width:150px !important; height:auto !important; max-width:100% !important; max-height:46px !important; object-fit:contain; }
@media (max-width:900px){
  .mdp-logo img { width:120px !important; max-height:38px !important; }
}

/* Réassurance sous le bouton de paiement (checkout) — retirée */
.mp-co-badges { display:none !important; }

/* Marges latérales sur le checkout en mobile (le contenu touchait les bords) */
@media (max-width:600px){
  body.woocommerce-checkout .mdp-main > .mdp-container,
  body.woocommerce-checkout .mdp-page,
  body.woocommerce-checkout .entry-content,
  body.woocommerce-cart .mdp-main > .mdp-container,
  body.woocommerce-cart .mdp-page {
    padding-left:16px !important; padding-right:16px !important; box-sizing:border-box;
  }
  .woocommerce-checkout form.checkout,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout .col2-set { width:100%; max-width:100%; box-sizing:border-box; }
  /* garde-fou anti débordement horizontal */
  .woocommerce-checkout #payment,
  .woocommerce-checkout .woocommerce-billing-fields,
  .woocommerce-checkout .woocommerce-additional-fields { max-width:100%; box-sizing:border-box; }
}

/* ════════ Formulaire de contact ════════ */
.mdp-contact-form{ max-width:680px; margin:8px 0 0; display:flex; flex-direction:column; gap:18px; }
.mdp-cf-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.mdp-cf-field{ display:flex; flex-direction:column; gap:7px; }
.mdp-cf-field > span{ font-size:.85rem; font-weight:600; color:var(--mp-fg); }
.mdp-contact-form input[type="text"],
.mdp-contact-form input[type="email"],
.mdp-contact-form select,
.mdp-contact-form textarea{
  width:100%; font-family:var(--mp-font-body); font-size:.95rem; color:var(--mp-fg);
  background:#fff; border:1px solid var(--mp-border-grey); border-radius:12px; padding:13px 15px;
  transition:border-color var(--mp-anim),box-shadow var(--mp-anim); box-sizing:border-box;
}
.mdp-contact-form textarea{ resize:vertical; min-height:130px; }
.mdp-contact-form input:focus,
.mdp-contact-form select:focus,
.mdp-contact-form textarea:focus{ outline:0; border-color:var(--mp-primary); box-shadow:0 0 0 3px var(--mp-primary-light); }
.mdp-cf-submit{ align-self:flex-start; background:var(--mp-primary); color:#fff; border:0; border-radius:var(--mp-radius-button);
  font-family:var(--mp-font-body); font-weight:600; font-size:.95rem; padding:14px 34px; cursor:pointer;
  transition:background var(--mp-anim),transform var(--mp-anim),box-shadow var(--mp-anim); }
.mdp-cf-submit:hover{ background:var(--mp-primary-hover); transform:translateY(-1px); box-shadow:0 8px 24px rgba(15,60,201,.18); }
.mdp-cf-note{ font-size:.8rem; color:var(--mp-muted); margin:0; }
.mdp-cf-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.mdp-contact-alert{ border-radius:12px; padding:15px 18px; margin:0 0 22px; font-size:.92rem; font-weight:500; line-height:1.5; }
.mdp-contact-alert--ok{ background:#ecfdf5; border:1px solid #a7f3d0; color:#065f46; }
.mdp-contact-alert--err{ background:#fef2f2; border:1px solid #fecaca; color:#991b1b; }
@media (max-width:600px){ .mdp-cf-row{ grid-template-columns:1fr; } }

/* ════════ Page Meilleures ventes (best-sellers) ════════ */
.mdp-bestsellers-intro{ text-align:center; max-width:720px; margin:0 auto 36px; }
.mdp-bestsellers-intro .mdp-bs-eyebrow{ display:inline-block; font-family:var(--mp-font-inter); font-size:.72rem; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; color:var(--mp-primary); background:var(--mp-primary-light);
  padding:6px 14px; border-radius:999px; margin-bottom:16px; }
.mdp-bestsellers-intro h1{ font-family:var(--mp-font-heading); margin:0 0 12px; }
.mdp-bestsellers-intro p{ color:var(--mp-muted); font-size:1.02rem; margin:0; }

/* ════════ FAQ (page) — accordéons natifs ════════ */
.mdp-faq-item{ border:1px solid var(--mp-border-grey); border-radius:14px; margin:0 0 12px; background:#fff; overflow:hidden; }
.mdp-faq-item[open]{ border-color:var(--mp-primary); box-shadow:0 6px 20px rgba(15,60,201,.07); }
.mdp-faq-item > summary{ list-style:none; cursor:pointer; padding:18px 22px; font-family:var(--mp-font-body);
  font-weight:600; font-size:1rem; color:var(--mp-fg); display:flex; align-items:center; justify-content:space-between; gap:16px; }
.mdp-faq-item > summary::-webkit-details-marker{ display:none; }
.mdp-faq-item > summary::after{ content:''; width:11px; height:11px; flex-shrink:0; border-right:2px solid var(--mp-primary);
  border-bottom:2px solid var(--mp-primary); transform:rotate(45deg); transition:transform var(--mp-anim); margin-top:-4px; }
.mdp-faq-item[open] > summary{ color:var(--mp-primary); }
.mdp-faq-item[open] > summary::after{ transform:rotate(225deg); margin-top:2px; }
.mdp-faq-item > summary:hover{ color:var(--mp-primary); }
.mdp-faq-a{ padding:0 22px 20px; }
.mdp-faq-a p{ margin:0; color:var(--mp-muted); line-height:1.65; font-size:.95rem; }
