/*
 * MON MAILLOT SURPRISE — FICHE PRODUIT 0.9
 * Isolated WooCommerce product layout; native purchase / subscriptions markup.
 */
:root {
  --mms-pdp-ink:#1a1815;
  --mms-pdp-muted:#625c52;
  --mms-pdp-edge:#d9d2c7;
  --mms-pdp-paper:#f8f6f1;
  --mms-pdp-sand:#eeeae2;
}
body.single-product { background:var(--mms-pdp-paper); }
body.single-product .gb-shop { padding-top:0!important; padding-bottom:90px; max-width:1380px; }
body.single-product .gb-breadcrumb { padding:16px 0 14px; font-size:12px; }

/* Clear every historic float/grid rule on the WooCommerce div.product. */
body.single-product .gb-shop div.product.mms-pdp {
  display:block!important; position:relative; width:100%; max-width:100%;
  padding:0!important; margin:0!important; min-width:0;
}
.mms-pdp, .mms-pdp *, .mms-pdp *::before, .mms-pdp *::after { box-sizing:border-box; }
.mms-pdp__heading { display:flex; align-items:baseline; justify-content:space-between;
  flex-wrap:wrap; column-gap:25px; row-gap:4px; padding:17px 0 24px; border-top:1px solid var(--mms-pdp-edge); }
.mms-pdp__overline { margin:0!important; font:700 10px/1.5 Arial,sans-serif;
  letter-spacing:.2em; text-transform:uppercase; color:#826849; }
.mms-pdp__chapter { margin:0!important; color:#80766a; font:400 12px/1.6 Georgia,serif; font-style:italic; }
.mms-pdp__core { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  align-items:start; gap:clamp(30px,5vw,80px); width:100%; }
.mms-pdp__visual, .mms-pdp__summary, .mms-pdp__after { min-width:0; max-width:100%; }

/* Native Woo gallery inside its own stable grid column */
body.single-product .mms-pdp__visual div.images,
body.single-product .mms-pdp__visual .woocommerce-product-gallery,
body.single-product .mms-pdp__core div.summary.mms-pdp__summary {
  float:none!important; clear:none!important; width:100%!important;
  margin:0!important; max-width:100%!important;
}
body.single-product .mms-pdp__visual div.images,
body.single-product .mms-pdp__visual .woocommerce-product-gallery {
  display:block!important; position:relative!important; padding:0!important; border:none!important;
  border-radius:0!important; box-shadow:none!important; background:transparent!important; overflow:visible!important;
}
.mms-pdp__visual .onsale { position:absolute!important; top:18px!important; left:18px!important;
  z-index:4; max-width:85%; background:#fff8!important; color:#25211c!important; border:1px solid #c8bcad;
  padding:8px 12px; font-size:11px; }
body.single-product .mms-pdp__visual .woocommerce-product-gallery__wrapper {
  width:100%; display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:stretch; gap:10px; overflow:visible!important; margin:0!important;
  transform:none!important;
}
body.single-product .mms-pdp__visual .woocommerce-product-gallery__image {
  display:block!important; width:auto!important; min-width:0; flex:none!important; grid-column:span 1;
  margin:0!important; padding:0!important; background:var(--mms-pdp-sand)!important; border-radius:0!important;
  overflow:hidden; position:relative; aspect-ratio:1/1;
}
body.single-product .mms-pdp__visual .woocommerce-product-gallery__image:first-child,
body.single-product .mms-pdp__visual .woocommerce-product-gallery__image:only-child {
  grid-column:1/-1!important; aspect-ratio:1/1.05; min-height:0;
}
body.single-product .mms-pdp__visual .woocommerce-product-gallery__image a { display:block; height:100%; }
body.single-product .mms-pdp__visual .woocommerce-product-gallery__image img {
  width:100%!important; height:100%!important; max-width:100%; object-fit:contain;
  aspect-ratio:auto!important; padding:clamp(8px,2.2vw,28px)!important; display:block;
  transform:none!important; transition:transform .25s ease; background:transparent;
}
body.single-product .mms-pdp__visual .woocommerce-product-gallery__image:not(:first-child) img { padding:10px!important; }
body.single-product .mms-pdp__visual .woocommerce-product-gallery__trigger { display:none!important; }
.mms-pdp__art-note { margin:13px 0 0!important; font:400 11px/1.6 Arial,sans-serif;
  color:#847c70; }

/* Summary : column is always independent, never overlaps a gallery image */
body.single-product .mms-pdp__core div.summary.mms-pdp__summary {
  position:static!important; inset:auto!important; top:auto!important; align-self:start;
  display:block!important; padding:3px 0 0!important; background:transparent!important;
  border:0!important; border-radius:0!important; box-shadow:none!important;
  overflow-wrap:anywhere; word-break:normal;
}
body.single-product .mms-pdp__summary > * { max-width:100%; }
body.single-product .mms-pdp__summary .mms-product-eyebrow { display:block; margin:0 0 12px!important;
  color:#8d7454!important; font:700 10px/1.4 Arial,sans-serif!important; letter-spacing:.2em; }
body.single-product .mms-pdp__summary h1.product_title,
body.single-product .mms-pdp__summary .product_title {
  font:400 clamp(2.25rem,3.3vw,4.5rem)/1.06 Georgia,'Times New Roman',serif!important;
  color:var(--mms-pdp-ink)!important; text-transform:none!important; letter-spacing:-.045em!important;
  margin:0 0 17px!important; overflow-wrap:break-word; text-wrap:pretty;
}
body.single-product .mms-pdp__summary .woocommerce-product-rating { margin:0 0 16px!important; display:flex; gap:12px;
  flex-wrap:wrap; align-items:center; }
body.single-product .mms-pdp__summary p.price,
body.single-product .mms-pdp__summary > .price {
  display:block; font:600 clamp(1.55rem,2.1vw,2.2rem)/1.25 Arial,sans-serif!important;
  color:var(--mms-pdp-ink)!important; margin:0 0 24px!important;
}
.mms-pdp__summary .price del,.mms-pdp__summary .price ins { white-space:normal; }
.mms-pdp__summary .woocommerce-product-details__short-description {
  display:block; padding:0 0 23px; margin:0 0 22px; border-bottom:1px solid var(--mms-pdp-edge);
  color:var(--mms-pdp-muted); font:400 14px/1.8 Arial,sans-serif;
}
.mms-pdp__summary .woocommerce-product-details__short-description p { margin:0 0 12px; }
.mms-pdp__summary .woocommerce-product-details__short-description p:last-child { margin:0; }

/* Other mode / recurring / benefits: readable, stacked, no forced narrow columns */
.mms-pdp__summary .maison-choice { margin:22px 0 24px!important; }
.mms-pdp__summary .maison-choice__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.mms-pdp__summary .maison-choice__grid>a,.mms-pdp__summary .maison-choice__selected {
  width:100%; min-width:0; min-height:92px; padding:16px!important; font-size:13px;
  overflow-wrap:anywhere; gap:8px; justify-content:center;
}
.mms-pdp__summary .maison-choice__grid strong { font-size:13px; line-height:1.35; }
.mms-pdp__summary .maison-choice__grid small { font-size:11px; line-height:1.6; }
.mms-pdp__summary .mms-product-benefits { display:grid!important; grid-template-columns:1fr;
  gap:0!important; margin:18px 0 20px!important; padding:0; }
.mms-pdp__summary .mms-product-benefit { min-width:0; display:flex; gap:12px!important; align-items:center;
  background:transparent!important; padding:10px 0!important; border:0!important;
  border-bottom:1px solid var(--mms-pdp-edge)!important; border-radius:0!important;
  color:#50493e; font-size:12px; font-weight:500; line-height:1.5;
}
.mms-pdp__summary .mms-product-benefit__icon { flex:0 0 30px; width:30px!important;
  height:30px!important; background:#ebe5d9!important; color:#715f43!important; }
.mms-pdp__summary .mms-recurring { margin:18px 0!important; padding:15px 17px!important;
  border:1px solid #e4dac8!important; background:#f2eee6!important; border-radius:0!important; }
.mms-pdp__summary .mms-recurring p { font-size:12px!important; line-height:1.65; margin:5px 0 0!important; }
.mms-pdp__summary .maison-purchase-intro { display:block!important; padding:0 0 12px!important;
  font-size:22px!important; margin:0 0 18px!important; }
.mms-pdp__summary .maison-purchase-intro span { display:block; font-size:12px!important; margin:6px 0 0; }

/* All native Woo add-to-cart forms and plugin fields are in normal document flow. */
body.single-product .mms-pdp__summary form.cart { display:block!important;
  float:none!important; position:relative; clear:both!important; width:100%; min-width:0;
  margin:24px 0!important; padding:20px 0 0!important; border-top:1px solid var(--mms-pdp-edge);
}
body.single-product .mms-pdp__summary form.cart::after { content:""; display:block; clear:both; }
.mms-pdp__summary form.cart > *, .mms-pdp__summary form.cart .variations_form,
.mms-pdp__summary form.cart .single_variation_wrap { max-width:100%; min-width:0; }
.mms-pdp__summary form.cart table.variations { display:table!important; width:100%!important;
  max-width:100%; table-layout:fixed; margin:0 0 20px!important; border:0!important; border-collapse:separate;
  border-spacing:0 12px; }
.mms-pdp__summary form.cart table.variations tbody { display:table-row-group!important; }
.mms-pdp__summary form.cart table.variations tr { display:table-row!important; }
.mms-pdp__summary form.cart table.variations th,
.mms-pdp__summary form.cart table.variations td {
  display:table-cell!important; vertical-align:middle!important; height:auto!important;
  float:none!important; margin:0!important; padding:0 0 9px!important; border:0!important;
}
.mms-pdp__summary form.cart table.variations th { width:31%; padding-right:14px!important; }
.mms-pdp__summary form.cart table.variations td { width:69%; }
.mms-pdp__summary form.cart table.variations label { display:block; margin:0!important;
  color:var(--mms-pdp-ink); font:700 12px/1.5 Arial,sans-serif; }
.mms-pdp__summary form.cart select, .mms-pdp__summary form.cart input:not([type="checkbox"]):not([type="radio"]),
.mms-pdp__summary form.cart textarea { display:block; max-width:100%; min-width:0;
  color:#1b1815; background:#fff; border:1px solid #bfb5a7!important; border-radius:0!important;
  box-shadow:none!important; font-size:14px; }
.mms-pdp__summary form.cart select { width:100%!important; min-height:52px!important;
  padding:10px 37px 10px 15px!important; line-height:1.3; }
.mms-pdp__summary form.cart .reset_variations { display:inline-block; padding:8px 0; white-space:normal; }
.mms-pdp__summary form.cart .single_variation_wrap,
.mms-pdp__summary form.cart .woocommerce-variation { display:block!important; clear:both!important; }
.mms-pdp__summary form.cart .woocommerce-variation-add-to-cart { display:flex!important;
  flex-wrap:wrap; gap:12px; align-items:stretch; max-width:100%; margin-top:16px; }
.mms-pdp__summary form.cart .quantity { display:inline-flex!important; flex:0 0 86px;
  margin:0!important; max-width:100%; }
.mms-pdp__summary form.cart .quantity .qty { display:block; width:86px!important; max-width:86px;
  min-height:56px!important; padding:10px 6px!important; text-align:center; }
body.single-product .mms-pdp__summary form.cart button.single_add_to_cart_button,
body.single-product .mms-pdp__summary form.cart .single_add_to_cart_button {
  display:inline-flex!important; flex:1 1 215px!important; width:auto!important; min-width:0;
  align-items:center; justify-content:center; padding:15px 20px!important;
  min-height:56px!important; height:auto; line-height:1.35!important;
  background:#211c16!important; color:#fff!important; border:1px solid #211c16!important;
  border-radius:0!important; box-shadow:none!important; text-transform:uppercase!important;
  font:700 12px/1.35 Arial,sans-serif!important; letter-spacing:.11em!important; white-space:normal;
}
body.single-product .mms-pdp__summary form.cart .single_add_to_cart_button:hover:not(:disabled) {
  background:#806343!important; border-color:#806343!important; }
.mms-pdp__summary form.cart .woocommerce-variation-availability,
.mms-pdp__summary form.cart .subscription-details,
.mms-pdp__summary form.cart .woocommerce-variation-description { margin:12px 0;
  line-height:1.6; overflow-wrap:anywhere; }
.mms-pdp__summary form.cart .wc-pao-addon, .mms-pdp__summary form.cart .wc-pao-addon-container,
.mms-pdp__summary form.cart .wapf-wrapper, .mms-pdp__summary form.cart .tm-extra-product-options {
  width:100%; max-width:100%; min-width:0; clear:both; }
.mms-pdp__summary .gb-reassurance { margin:22px 0 0!important; }
.mms-pdp__summary .gb-reassurance li { line-height:1.6!important; font-size:12px!important; }
.mms-pdp__summary .product_meta, .mms-pdp__summary .maison-after-order { clear:both; }
.mms-pdp__assistance { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;
  padding:20px 0 0; margin:20px 0 0; border-top:1px solid var(--mms-pdp-edge); }
.mms-pdp__assistance a { color:#51483b; text-decoration:none; border:1px solid var(--mms-pdp-edge);
  padding:12px 13px; min-width:0; display:flex; justify-content:space-between; gap:8px;
  align-items:center; font:600 11px/1.5 Arial,sans-serif; }
.mms-pdp__assistance a:hover { background:#e7e0d3; }

/* Tabs, story and related products live under the two-column core, never inside it. */
body.single-product .gb-shop .mms-pdp__after { display:block!important; clear:both!important;
  grid-column:1/-1; margin:clamp(50px,7vw,100px) 0 0; padding:0; }
body.single-product .mms-pdp__after > * { max-width:100%; min-width:0; clear:both; }
body.single-product .mms-pdp__after .woocommerce-tabs { margin:0!important;
  border-top:1px solid var(--mms-pdp-edge)!important; padding:45px 0!important; }
body.single-product .mms-pdp__after .mms-product-story { padding:0 0 36px!important;
  width:100%; max-width:100%; }
body.single-product .mms-pdp__after .mms-product-story__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
body.single-product .mms-pdp__after .related,body.single-product .mms-pdp__after .upsells { clear:both; width:100%; }
body.single-product .mms-pdp__after .related ul.products,
body.single-product .mms-pdp__after .upsells ul.products { margin:0; }

@media(max-width:1050px){
  .mms-pdp__core { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; }
  body.single-product .mms-pdp__summary h1.product_title { font-size:clamp(2.1rem,3vw,3.3rem)!important; }
}
@media(max-width:840px){
  body.single-product .gb-shop { padding-bottom:115px; }
  .mms-pdp__core { grid-template-columns:minmax(0,1fr)!important; gap:26px; }
  .mms-pdp__visual { max-width:680px; margin-inline:auto; width:100%; }
  body.single-product .mms-pdp__summary h1.product_title { font-size:clamp(2.4rem,8vw,3.7rem)!important; }
  body.single-product .mms-pdp__after .mms-product-story__grid { grid-template-columns:1fr; }
}
@media(max-width:540px){
  body.single-product .gb-shop { padding-top:0!important; }
  .mms-pdp__heading { padding:12px 0 17px; }
  .mms-pdp__chapter { display:none; }
  body.single-product .mms-pdp__visual .woocommerce-product-gallery__wrapper { gap:6px!important; }
  body.single-product .mms-pdp__visual .woocommerce-product-gallery__image:first-child { aspect-ratio:1/1.06; }
  .mms-pdp__art-note { font-size:10px; }
  .mms-pdp__summary .maison-choice__grid { grid-template-columns:1fr 1fr; gap:7px; }
  .mms-pdp__summary .maison-choice__grid>a,.mms-pdp__summary .maison-choice__selected { min-height:86px; padding:12px!important; }
  .mms-pdp__summary form.cart table.variations { display:block!important; width:100%!important; }
  .mms-pdp__summary form.cart table.variations tbody,
  .mms-pdp__summary form.cart table.variations tr,
  .mms-pdp__summary form.cart table.variations th,
  .mms-pdp__summary form.cart table.variations td {
    display:block!important; width:100%!important; max-width:100%; padding:0!important; }
  .mms-pdp__summary form.cart table.variations tr { margin-bottom:15px; }
  .mms-pdp__summary form.cart table.variations th { margin-bottom:7px!important; }
  .mms-pdp__summary form.cart .quantity { flex:0 0 78px; }
  .mms-pdp__summary form.cart .quantity .qty { width:78px!important; }
  body.single-product .mms-pdp__summary form.cart .single_add_to_cart_button { flex:1 1 165px!important; }
  .mms-pdp__assistance { grid-template-columns:1fr; }
  body.single-product .mms-pdp__after .woocommerce-tabs { padding:28px 0!important; }
  body.single-product .mms-pdp__after .woocommerce-tabs ul.tabs { gap:17px; }
}
@media(prefers-reduced-motion:reduce){ .mms-pdp__visual img { transition:none!important; } }
/* Keep the sale badge anchored to its gallery, not the entire document. */
.mms-pdp__visual { position:relative; }
/* Allow line wraps in WooCommerce Subscriptions price descriptions and labels. */
.mms-pdp__summary .subscription-details,
.mms-pdp__summary .woocommerce-Price-amount,
.mms-pdp__summary .woocommerce-variation,
.mms-pdp__summary .wcsatt-options-wrapper { max-width:100%; overflow-wrap:anywhere; }

/* MMS 0.9.1 – Order FIRST. Real native variation/subscription form just after title + price. */
body.single-product .mms-pdp__summary form.cart {
  margin:10px 0 18px!important;
  padding:14px 0 0!important;
}
body.single-product .mms-pdp__summary > .price,
body.single-product .mms-pdp__summary p.price { margin-bottom:8px!important; }
.mms-pdp__summary .mms-product-benefits,
.mms-pdp__summary .maison-choice,
.mms-pdp__summary .mms-recurring { margin-top:18px!important; }
.mms-pdp__form-anchor { display:block; position:relative; width:0; height:0; scroll-margin-top:110px; }
.mms-pdp__description { border-top:1px solid var(--mms-pdp-edge); margin:19px 0 0; padding:12px 0; }
.mms-pdp__description summary { cursor:pointer; padding:10px 4px 10px 0; display:flex; align-items:center; justify-content:space-between; gap:12px; color:#3b3126; font:600 13px/1.4 Arial,sans-serif; list-style:none; }
.mms-pdp__description summary::-webkit-details-marker { display:none; }
.mms-pdp__description summary::after { content:'+'; font:400 23px/1 Georgia,serif; color:#8d7252; }
.mms-pdp__description[open] summary::after { content:'−'; }
.mms-pdp__description-content { padding:10px 0 4px; font:400 14px/1.75 Arial,sans-serif; color:var(--mms-pdp-muted); }
.mms-pdp__description .woocommerce-product-details__short-description { margin:0!important; border:0; padding:0; }
.mms-pdp__mobile-jump { display:none; }

/* Shrink the giant lead image on mobile; keep clickable thumbnails and product photography. */
@media (max-width:840px) {
  body.single-product .mms-pdp__visual .woocommerce-product-gallery__image:first-child,
  body.single-product .mms-pdp__visual .woocommerce-product-gallery__image:only-child {
    aspect-ratio:16/9!important;
    max-height:270px!important;
  }
  body.single-product .mms-pdp__visual .woocommerce-product-gallery__image:not(:first-child) {
    aspect-ratio:1/1!important;
    max-height:75px;
  }
  .mms-pdp__art-note { display:none!important; }
  .mms-pdp__heading { padding-top:8px; padding-bottom:12px; }
  body.single-product .mms-pdp__summary h1.product_title { font-size:clamp(2rem,6vw,3rem)!important; margin:0 0 10px!important; }
  .mms-pdp__core { gap:16px; }
  .mms-pdp__mobile-jump {
    position:fixed; z-index:952; left:12px; right:12px;
    bottom:max(12px,env(safe-area-inset-bottom));
    display:flex; justify-content:space-between; align-items:center; gap:12px;
    min-height:58px; padding:15px 20px; text-decoration:none!important;
    color:#19130d!important; background:#e7cd9c!important;
    border:2px solid #9e7a4c; box-shadow:0 10px 32px #16100b55;
    font:700 12px/1.3 Arial,sans-serif; letter-spacing:.065em; text-transform:uppercase;
  }
  .mms-pdp__mobile-jump:hover,.mms-pdp__mobile-jump:focus-visible { background:#fff0cc!important; outline:2px solid #342616; outline-offset:2px; }
  .mms-pdp__mobile-jump.is-form-visible { display:none; }
  /* On a product page, the general museum offer selector would cover the quick order entry. */
  body.single-product button.musee-mobile-buy { display:none!important; }
  body.single-product .gb-shop { padding-bottom:105px; }
}
@media (max-width:540px) {
  body.single-product .mms-pdp__visual .woocommerce-product-gallery__image:first-child,
  body.single-product .mms-pdp__visual .woocommerce-product-gallery__image:only-child {
    aspect-ratio:16/8!important;
    max-height:210px!important;
  }
  body.single-product .mms-pdp__summary .mms-product-eyebrow { margin-bottom:6px!important; }
  body.single-product .mms-pdp__summary h1.product_title { font-size:clamp(1.85rem,8vw,2.65rem)!important; margin-bottom:9px!important; }
  body.single-product .mms-pdp__summary form.cart { margin:6px 0 16px!important; padding-top:9px!important; }
}
@media (min-width:841px) { .mms-pdp__mobile-jump { display:none!important; } }
@media print { .mms-pdp__mobile-jump { display:none!important; } }
