/* ============ Marignan Boutique — fiche produit ============ */
.mbo-fiche,.mbo-barre{--mbo-noir:#000;--mbo-encre:#16130f;--mbo-or:#b8975a;--mbo-or-clair:#d9c49a;--mbo-papier:#fbfaf7;--mbo-pierre:#8c8577;--mbo-trait:#ddd6c9;--mbo-texte:#4a443b}
.mbo-fiche{font-family:"Jost","Helvetica Neue",Arial,sans-serif;font-weight:300;color:var(--mbo-encre);line-height:1.6}
.mbo-fiche *{box-sizing:border-box}
.mbo-fiche a:focus-visible,.mbo-fiche button:focus-visible,.mbo-fiche summary:focus-visible,.mbo-barre button:focus-visible{outline:2px solid var(--mbo-or);outline-offset:3px}

/* ---------- Mise en page ---------- */
.mbo-fiche .mbo-haut{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,72px);align-items:start;margin:clamp(16px,3vw,32px) 0 clamp(56px,8vw,100px)}
.mbo-fiche .mbo-galerie{position:sticky;top:32px;position:-webkit-sticky}
.admin-bar .mbo-fiche .mbo-galerie{top:64px}
.mbo-fiche div.images,.mbo-fiche .woocommerce-product-gallery,.mbo-fiche .mbo-resume,.mbo-fiche div.summary{float:none!important;width:100%!important;max-width:none!important;margin:0!important;padding:0}
.mbo-fiche .woocommerce-product-gallery__image img{background:#f1ede6}
.mbo-fiche .flex-control-thumbs{display:grid!important;grid-template-columns:repeat(5,1fr);gap:10px;margin:12px 0 0!important;padding:0;list-style:none}
.mbo-fiche .flex-control-thumbs li{width:auto!important;float:none!important;margin:0!important}
.mbo-fiche .flex-control-thumbs img{opacity:.55;border:1px solid transparent;transition:opacity .2s}
.mbo-fiche .flex-control-thumbs img.flex-active,.mbo-fiche .flex-control-thumbs img:hover{opacity:1;border-color:var(--mbo-or)}
.mbo-fiche .woocommerce-product-gallery__trigger{background:var(--mbo-papier)!important;border-radius:0!important}
.mbo-fiche span.onsale{background:var(--mbo-noir);color:var(--mbo-or);border-radius:0;min-height:0;min-width:0;padding:6px 12px;line-height:1.2;font-weight:400;font-size:13px;top:14px;left:14px;margin:0}

/* ---------- En-tête ---------- */
.mbo-fiche .mbo-cat{margin:0 0 10px;font-size:14px;letter-spacing:.03em}
.mbo-fiche .mbo-cat a{color:var(--mbo-or);text-decoration:none}
.mbo-fiche .mbo-titre{font-family:"Bodoni Moda","Didot",Georgia,serif;font-weight:400;font-size:clamp(32px,3.6vw,48px);line-height:1.08;letter-spacing:-.01em;margin:0 0 16px;color:var(--mbo-encre)}
.mbo-fiche .mbo-resume p.price,.mbo-fiche .mbo-resume span.price{font-family:"Bodoni Moda",Georgia,serif;font-weight:400;font-size:26px;color:var(--mbo-encre)!important;margin:0 0 20px}
.mbo-fiche .price del{color:var(--mbo-pierre);font-size:.75em;opacity:1;margin-right:8px}
.mbo-fiche .price ins{text-decoration:none}
.mbo-fiche .woocommerce-product-details__short-description{font-size:17px;color:var(--mbo-texte);margin-bottom:28px}
.mbo-fiche .woocommerce-product-details__short-description p{margin:0 0 12px}

/* ---------- Variantes ---------- */
.mbo-fiche table.variations,.mbo-fiche table.variations tbody,.mbo-fiche table.variations tr,.mbo-fiche table.variations th,.mbo-fiche table.variations td{display:block;border:0!important;padding:0!important;background:none!important;width:auto;text-align:left}
.mbo-fiche table.variations{margin:0 0 14px}
.mbo-fiche table.variations tr{margin-bottom:18px}
.mbo-fiche table.variations th label{font-weight:400;font-size:15px;margin-bottom:10px;display:block}
.mbo-fiche .mbo-vars{position:relative}
.mbo-fiche .mbo-vars select{position:absolute!important;opacity:0;pointer-events:none;width:1px!important;height:1px!important;overflow:hidden}
.mbo-fiche .mbo-var-liste{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.mbo-fiche .mbo-var{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:16px 18px;background:#fff;border:1px solid var(--mbo-trait);border-radius:0;color:var(--mbo-encre);font-family:inherit;font-weight:300;font-size:15px;line-height:1.35;cursor:pointer;box-shadow:none;transition:border-color .2s,background .2s,color .2s}
.mbo-fiche .mbo-var:hover{border-color:var(--mbo-encre);background:#fff;color:var(--mbo-encre)}
.mbo-fiche .mbo-var.is-active{background:var(--mbo-encre);border-color:var(--mbo-encre);color:#fff}
.mbo-fiche .mbo-var:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.mbo-fiche .mbo-var-nom{font-weight:400}
.mbo-fiche .mbo-var-prix{font-family:"Bodoni Moda",Georgia,serif;font-size:22px}
.mbo-fiche .mbo-var-prix .amount{color:inherit}
.mbo-fiche .mbo-var-mention{font-size:13px;color:var(--mbo-or)}
.mbo-fiche .mbo-var.is-active .mbo-var-mention{color:var(--mbo-or-clair)}
.mbo-fiche .reset_variations{font-size:13px;color:var(--mbo-pierre);margin-top:10px;display:inline-block}
.mbo-fiche .woocommerce-variation-price{display:none}
.mbo-fiche .woocommerce-variation-description p{font-size:15px;color:var(--mbo-texte)}
.mbo-fiche .stock{font-size:14px;color:var(--mbo-pierre)}
.mbo-fiche .stock.out-of-stock{color:#a33}

/* ---------- Ajout au panier ---------- */
.mbo-fiche form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin:0 0 22px!important}
.mbo-fiche form.variations_form{display:block}
.mbo-fiche .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
.mbo-fiche form.cart .quantity{margin:0!important;float:none!important}
.mbo-fiche form.cart .quantity .qty{width:72px;height:54px;border:1px solid var(--mbo-encre);border-radius:0;background:#fff;font-family:inherit;font-size:16px;text-align:center;color:var(--mbo-encre)}
.mbo-fiche form.cart button.single_add_to_cart_button.button{flex:1;min-width:200px;height:54px;padding:0 28px;background:var(--mbo-encre)!important;color:#fff!important;border:1px solid var(--mbo-encre);border-radius:0;font-family:inherit;font-weight:400;font-size:15.5px;letter-spacing:.04em;float:none;opacity:1;transition:background .25s,color .25s,border-color .25s}
.mbo-fiche form.cart button.single_add_to_cart_button.button:hover{background:var(--mbo-or)!important;border-color:var(--mbo-or);color:#000!important}
.mbo-fiche form.cart button.single_add_to_cart_button.disabled{opacity:.45!important;cursor:not-allowed}

/* ---------- Réassurance ---------- */
.mbo-fiche .mbo-reass{list-style:none;margin:0 0 30px;padding:18px 0 0;border-top:1px solid var(--mbo-trait);display:grid;gap:8px}
.mbo-fiche .mbo-reass li{display:flex;align-items:center;gap:10px;font-size:14.5px;color:var(--mbo-texte);margin:0}
.mbo-fiche .mbo-reass svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--mbo-or);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Accordéons ---------- */
.mbo-fiche .mbo-accordeons{border-bottom:1px solid var(--mbo-trait)}
.mbo-fiche .mbo-acc{border-top:1px solid var(--mbo-trait)}
.mbo-fiche .mbo-acc summary{list-style:none;cursor:pointer;position:relative;padding:18px 36px 18px 0;font-size:16.5px;font-weight:400}
.mbo-fiche .mbo-acc summary::-webkit-details-marker{display:none}
.mbo-fiche .mbo-acc summary::after{content:"+";position:absolute;right:4px;top:11px;font-family:"Bodoni Moda",Georgia,serif;font-size:26px;color:var(--mbo-or);transition:transform .25s}
.mbo-fiche .mbo-acc[open] summary::after{transform:rotate(45deg)}
.mbo-fiche .mbo-acc-corps{padding:0 0 22px;font-size:15.5px;color:var(--mbo-texte)}
.mbo-fiche .mbo-acc-corps p{margin:0 0 12px}
.mbo-fiche .mbo-acc-corps table{width:100%;border-collapse:collapse;font-size:14.5px}
.mbo-fiche .mbo-acc-corps th,.mbo-fiche .mbo-acc-corps td{padding:8px 0;border-bottom:1px solid var(--mbo-trait);text-align:left;font-weight:300}

/* ---------- Produits associés ---------- */
.mbo-fiche .mbo-associes{border-top:1px solid var(--mbo-encre);padding:clamp(40px,6vw,72px) 0 clamp(56px,8vw,96px);clear:both}
.mbo-fiche .mbo-associes-tete{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px}
.mbo-fiche .mbo-associes h2{font-family:"Bodoni Moda","Didot",Georgia,serif;font-weight:400;font-size:clamp(28px,3vw,40px);margin:0;color:var(--mbo-encre)}
.mbo-fiche .mbo-associes-nav{display:flex;gap:8px}
.mbo-fiche .mbo-nav{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--mbo-encre);border-radius:0;color:var(--mbo-encre);cursor:pointer;padding:0}
.mbo-fiche .mbo-nav:hover:not(:disabled){background:var(--mbo-encre);color:#fff}
.mbo-fiche .mbo-nav:disabled{opacity:.3;cursor:default}
.mbo-fiche .mbo-associes.is-statique .mbo-associes-nav{display:none}
.mbo-fiche svg path{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.mbo-fiche .mbo-nav svg{width:20px;height:20px}
.mbo-fiche .mbo-piste{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3 * 24px) / 4);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;list-style:none;margin:0;padding:0}
.mbo-fiche .mbo-piste::-webkit-scrollbar{display:none}
.mbo-fiche .mbo-carte{scroll-snap-align:start;margin:0;list-style:none}
.mbo-fiche .mbo-carte-image{display:block;aspect-ratio:4/5;overflow:hidden;background:#f1ede6}
.mbo-fiche .mbo-carte-image img{width:100%;height:100%;object-fit:cover;display:block;margin:0}
.mbo-fiche .mbo-carte-nom{font-family:"Bodoni Moda",Georgia,serif;font-weight:400;font-size:19px;line-height:1.25;margin:14px 0 4px}
.mbo-fiche .mbo-carte-nom a{color:var(--mbo-encre);text-decoration:none}
.mbo-fiche .mbo-carte-nom a:hover{color:var(--mbo-or)}
.mbo-fiche .mbo-carte-prix{font-size:15px}

/* ---------- Barre mobile ---------- */
.mbo-barre{position:fixed;left:0;right:0;bottom:0;z-index:999;display:flex;align-items:center;gap:14px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));
  background:var(--mbo-noir);color:#fff;font-family:"Jost","Helvetica Neue",Arial,sans-serif;font-weight:300;line-height:1.3;transform:translateY(110%);transition:transform .3s ease}
.mbo-barre.is-visible{transform:none}
.mbo-barre[hidden]{display:none}
.mbo-barre-infos{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.mbo-barre-nom{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mbo-barre-prix{display:block;font-family:"Bodoni Moda",Georgia,serif;font-size:18px;line-height:1.2;color:var(--mbo-or);white-space:nowrap}
.mbo-barre-prix del{color:#8c8577;font-size:.75em;margin-right:4px}
.mbo-barre-prix ins{text-decoration:none}
.mbo-barre-prix .amount{color:inherit}
.mbo-barre-livraison{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:11.5px;line-height:1.35;color:#bdb6a8}
.mbo-barre-btn{flex:none;align-self:center;height:46px;padding:0 18px;background:var(--mbo-or);color:#000;border:0;border-radius:0;font-family:inherit;font-weight:400;font-size:14.5px;letter-spacing:.03em;white-space:nowrap;cursor:pointer}

/* Bandeau de la boutique masqué sur la fiche produit (filet de sécurité si le thème l'affiche lui-même) */
body.single-product .woocommerce-store-notice,body.single-product p.demo_store{display:none!important}

/* Espace réservé en bas de page sous la barre mobile (hauteur mesurée par produit.js) */
@media (max-width:860px){body.mbo-avec-barre{padding-bottom:var(--mbo-barre-h,0px)!important}}

/* ---------- Responsive ---------- */
@media (max-width:1024px){.mbo-fiche .mbo-piste{grid-auto-columns:calc((100% - 2 * 20px) / 3);gap:20px}}
@media (max-width:860px){
  .mbo-fiche .mbo-haut{grid-template-columns:1fr}
  .mbo-fiche .mbo-galerie{position:static}
  .mbo-fiche .mbo-piste{grid-auto-columns:62%;gap:16px}
}
@media (min-width:861px){.mbo-barre{display:none!important}}
@media (max-width:480px){.mbo-fiche .mbo-piste{grid-auto-columns:78%}.mbo-fiche .mbo-var-liste{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.mbo-barre{transition:none}.mbo-fiche .mbo-acc summary::after{transition:none}}
