/* MusechipieStore — Fiche produit V2 0.3.4
 * Scoped to designated WooCommerce single-product body class (culottes, lingerie, pyjamas).
 * They do not affect Elementor catalogue pages, the cart, or other categories.
 */
body.mspv2-product-page{
  --msp-ink:#30242a;--msp-wine:#84283a;--msp-wine-dark:#641d2c;
  --msp-border:#eadbd7;--msp-muted:#78666b;--msp-paper:#fffefa;
}
body.mspv2-product-page .site-content-wrapper{background:#fcf8f5!important;color:var(--msp-ink)}
body.mspv2-product-page .site-content-wrapper>.site-content,
body.mspv2-product-page .site-content-wrapper .container{max-width:1300px}

/* Product visual: balanced photography and information, not a tiny image and a large dead zone. */
body.mspv2-product-page div.product:not(.product-small){
  max-width:1240px!important;margin:0 auto!important;padding:36px 24px 68px!important;
  color:var(--msp-ink);box-sizing:border-box;
}
body.mspv2-product-page div.product .woocommerce-product-gallery,
body.mspv2-product-page div.product .images{
  float:none!important;min-width:0;max-width:none!important;
  margin:0!important;border-radius:17px!important;overflow:hidden!important;
  background:#f3eeec;box-shadow:0 13px 40px rgba(69,33,42,.08);
}
body.mspv2-product-page div.product .woocommerce-product-gallery__wrapper,
body.mspv2-product-page div.product .woocommerce-product-gallery__image{margin:0!important;width:100%!important}
body.mspv2-product-page div.product .woocommerce-product-gallery img,
body.mspv2-product-page div.product .images img{
  display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;
  border-radius:17px!important;
}
body.mspv2-product-page div.product .woocommerce-product-gallery__trigger{z-index:2}

/* Make the details column look like a finished checkout-ready product card. */
body.mspv2-product-page div.product .summary,
body.mspv2-product-page div.product .entry-summary,
body.mspv2-product-page div.product .product-summary{
  box-sizing:border-box;min-width:0;margin:0!important;
}
body.mspv2-product-page div.product .product_title,
body.mspv2-product-page div.product h1.product_title{
  color:var(--msp-ink)!important;font-family:Georgia,'Times New Roman',serif!important;
  letter-spacing:-.035em!important;font-size:clamp(30px,3.3vw,44px)!important;
  font-weight:500!important;line-height:1.17!important;margin:0 0 18px!important;
}
/* Price at top: the variation replaces this starting price dynamically. */
body.mspv2-product-page div.product .summary .price:not(.woocommerce-variation-price .price),
body.mspv2-product-page div.product .entry-summary .price:not(.woocommerce-variation-price .price),
body.mspv2-product-page div.product .product-summary .price:not(.woocommerce-variation-price .price){
  color:var(--msp-wine);font-weight:700;margin-bottom:17px;
}
body.mspv2-product-page div.product .mspv2-price-prefix{display:inline-block;font:600 13px/1.4 Arial,sans-serif;color:var(--msp-muted);margin-right:5px}
body.mspv2-product-page div.product .mspv2-price-value,
body.mspv2-product-page div.product .mspv2-price-value .woocommerce-Price-amount{
  color:var(--msp-wine)!important;font-size:clamp(29px,2.8vw,37px)!important;
  font-weight:700!important;line-height:1.15;letter-spacing:-.028em;
}
body.mspv2-product-page .mspv2-price-loaded div.product .woocommerce-variation-price,
body.mspv2-product-page.mspv2-price-loaded div.product .woocommerce-variation-price{display:none!important}

/* Description and three points of reassurance. */
body.mspv2-product-page div.product .woocommerce-product-details__short-description{color:#62565a;font-size:14px;line-height:1.55;margin:13px 0 18px!important}
body.mspv2-product-page div.product .ms-product-line{font-size:14px;line-height:1.6;margin:0 0 10px!important}
body.mspv2-product-page div.product .ms-product-perks{
  display:grid;gap:9px;list-style:none!important;padding:17px 20px!important;
  margin:12px 0 20px!important;background:var(--msp-paper);border:1px solid var(--msp-border);
  border-radius:13px;box-shadow:0 6px 20px rgba(103,62,70,.035);
}
body.mspv2-product-page div.product .ms-product-perks li{
  display:flex;align-items:baseline;gap:10px;font:500 13px/1.5 Arial,sans-serif;
  color:#46383d;margin:0!important;padding:0!important;list-style:none!important;
}
body.mspv2-product-page div.product .ms-product-perks li:before{
  content:'✓'!important;color:var(--msp-wine)!important;flex:none;font-size:17px!important;
  font-weight:800!important;background:none!important;position:static!important;
}

/* WooCommerce variation select + swatches, irrespective of the theme summary wrapper. */
body.mspv2-product-page div.product form.cart,
body.mspv2-product-page div.product form.variations_form{margin:18px 0 12px!important;max-width:100%}
body.mspv2-product-page div.product form.variations_form .variations{border:0!important;margin:0 0 12px!important;width:100%!important}
body.mspv2-product-page div.product form.variations_form .variations th,
body.mspv2-product-page div.product form.variations_form .variations td{
  display:block!important;float:none!important;width:100%!important;padding:0 0 8px!important;text-align:left!important;
}
body.mspv2-product-page div.product form.variations_form .variations label{
  display:inline-block;color:var(--msp-ink)!important;font-size:13px!important;font-weight:700!important;
  line-height:1.5!important;letter-spacing:0!important;margin:0 0 5px!important;
}
body.mspv2-product-page div.product form.cart .variable-items-wrapper{display:flex!important;flex-wrap:wrap;gap:9px!important;margin:8px 0 12px!important}
body.mspv2-product-page div.product form.cart .variable-items-wrapper .variable-item,
body.mspv2-product-page div.product form.cart .variable-items-wrapper li{
  box-shadow:none!important;min-height:44px!important;min-width:62px!important;height:auto!important;
  border:1px solid var(--msp-border)!important;border-radius:9px!important;
  padding:10px 14px!important;background:#fff!important;color:var(--msp-ink)!important;
  transition:background .2s,color .2s,border-color .2s!important;
}
body.mspv2-product-page div.product form.cart .variable-items-wrapper .variable-item.selected,
body.mspv2-product-page div.product form.cart .variable-items-wrapper li.selected,
body.mspv2-product-page.woo-variation-swatches div.product .variable-items-wrapper li.selected{
  background:var(--msp-wine)!important;border-color:var(--msp-wine)!important;color:#fff!important;
}
body.mspv2-product-page div.product form.cart .variable-items-wrapper li.selected *{color:#fff!important}
body.mspv2-product-page div.product form.variations_form select{border:1px solid var(--msp-border);border-radius:8px;background:#fff;padding:10px 13px;min-height:44px}
body.mspv2-product-page div.product form.variations_form .reset_variations{font-size:12px!important;text-transform:none!important;color:var(--msp-muted)!important}
body.mspv2-product-page div.product form.cart .woocommerce-variation-price .price{color:var(--msp-wine)!important;font-size:24px!important;font-weight:700!important}
body.mspv2-product-page div.product .stock{color:#547356!important;font-size:12px!important;line-height:1.5}
body.mspv2-product-page div.product .single_add_to_cart_button,
body.mspv2-product-page div.product button.single_add_to_cart_button,
body.mspv2-product-page div.product .button.single_add_to_cart_button{
  background:var(--msp-wine)!important;color:#fff!important;float:none!important;
  border:0!important;border-radius:10px!important;padding:15px 24px!important;
  min-height:53px!important;line-height:1.3!important;text-align:center!important;
  font-weight:700!important;font-size:14px!important;letter-spacing:0!important;text-transform:none!important;
  box-shadow:0 9px 22px rgba(132,40,58,.13)!important;transition:background .2s,transform .2s!important;
}
body.mspv2-product-page div.product .single_add_to_cart_button:hover{background:var(--msp-wine-dark)!important;transform:translateY(-1px)}
body.mspv2-product-page div.product .single_add_to_cart_button:focus-visible,
body.mspv2-product-page div.product form.variations_form button:focus-visible,
body.mspv2-product-page div.product .variable-item:focus-visible{outline:3px solid #bc8292!important;outline-offset:3px!important}

/* Theme Miniture/YITH product metadata, social links and wishlist have varied HTML wrappers.
 * Scope to the SINGLE PRODUCT tree, not the navigation's wishlist icon.
 */
body.mspv2-product-page div.product .product_meta,
body.mspv2-product-page div.product .product-meta,
body.mspv2-product-page div.product .nova-product-meta,
body.mspv2-product-page div.product .product__meta,
body.mspv2-product-page div.product .sku_wrapper,
body.mspv2-product-page div.product .posted_in,
body.mspv2-product-page div.product .tagged_as,
body.mspv2-product-page div.product .yith-wcwl-add-to-wishlist,
body.mspv2-product-page div.product .yith-wcwl-add-button,
body.mspv2-product-page div.product .yith-wcwl-add-to-wishlist-button,
body.mspv2-product-page div.product .yith-wcwl-wishlistaddedbrowse,
body.mspv2-product-page div.product .yith-wcwl-wishlistexistsbrowse,
body.mspv2-product-page div.product .wishlist-wrapper,
body.mspv2-product-page div.product .wishlist-button,
body.mspv2-product-page div.product .single_add_to_wishlist,
body.mspv2-product-page div.product .product_share,
body.mspv2-product-page div.product .product-share,
body.mspv2-product-page div.product .product-sharing,
body.mspv2-product-page div.product .social-sharing,
body.mspv2-product-page div.product .social-share,
body.mspv2-product-page div.product .share-links,
body.mspv2-product-page div.product .single-product-sharing,
body.mspv2-product-page div.product .product-socials,
body.mspv2-product-page div.product .product-social,
body.mspv2-product-page div.product .nova-share,
body.mspv2-product-page div.product .product-details-sharing,
body.mspv2-product-page div.product .product-details-wishlist,
body.mspv2-product-page div.product .single-product-social,
body.mspv2-product-page div.product .product-social-sharing,
body.mspv2-product-page div.product .social-share-list,
body.mspv2-product-page div.product .product-sharing-icons,
body.mspv2-product-page div.product .nova-share-box,
body.mspv2-product-page div.product .share_product,
body.mspv2-product-page div.product .share-wrapper,
body.mspv2-product-page div.product .woocommerce-tabs{
  display:none!important;visibility:hidden!important;
}

/* Advanced Product Fields plugin: dedicated block with clean rows and visible total. */
body.mspv2-product-page div.product .wapf{margin:18px 0 22px!important}
body.mspv2-product-page div.product .wapf-field-container{padding:9px 0!important}
body.mspv2-product-page div.product .wapf-field-label{font-size:13px;font-weight:700;color:var(--msp-ink)}
body.mspv2-product-page div.product .wapf-input-label{color:var(--msp-ink);font-size:13px}
body.mspv2-product-page div.product .wapf-product-totals{
  padding:16px 18px!important;border-radius:12px!important;background:#f8edef!important;
  border:1px solid var(--msp-border)!important;color:var(--msp-wine)!important;
}

/* Product recommendations can use either WooCommerce or Miniture markup. */
body.mspv2-product-page div.product .related,
body.mspv2-product-page div.product .related.products,
body.mspv2-product-page div.product .related-products{
  clear:both;border-top:1px solid var(--msp-border);padding-top:32px!important;margin-top:50px!important;
}
body.mspv2-product-page div.product .related>h2,
body.mspv2-product-page div.product .related .section-title,
body.mspv2-product-page div.product .related-products h2{
  color:var(--msp-ink)!important;font:500 clamp(25px,2.5vw,32px)/1.2 Georgia,serif!important;
  letter-spacing:-.025em;text-transform:none!important;margin:0 0 22px!important;
}

/* Miniture 1.0.1 product template structure:
   div.product > .product_infos > .grid-x > .cell.large-7 (gallery)
   and div.product > .product_infos > .grid-x > .cell.large-5 (summary).
   Do not turn the outer div.product into a grid: it has only ONE direct
   child (.product_infos). Doing so sends the whole 2-column theme layout
   into a single narrow grid track and creates the huge desktop blank area.
*/
@media (min-width:820px){
  body.mspv2-product-page div.product:not(.product-small){
    display:block!important;
    width:100%!important;
    max-width:1240px!important;
    margin:0 auto!important;
    padding:28px 26px 68px!important;
    box-sizing:border-box!important;
  }
  body.mspv2-product-page div.product:not(.product-small) > .product_infos{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    display:block!important;
  }
  body.mspv2-product-page div.product:not(.product-small) > .product_infos > .grid-x{
    display:grid!important;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr)!important;
    column-gap:clamp(28px,4.2vw,62px)!important;
    row-gap:20px!important;
    align-items:start!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  body.mspv2-product-page div.product:not(.product-small) > .product_infos > .grid-x > .cell{
    display:block!important;
    float:none!important;
    flex:none!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
  }
  body.mspv2-product-page div.product:not(.product-small) > .product_infos > .grid-x > .cell:first-child{
    grid-column:1!important;
    grid-row:1!important;
  }
  body.mspv2-product-page div.product:not(.product-small) > .product_infos > .grid-x > .cell:nth-child(2){
    grid-column:2!important;
    grid-row:1!important;
  }
  body.mspv2-product-page div.product:not(.product-small) > .product_infos .before-product-summary-wrapper{
    position:relative!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }
  body.mspv2-product-page div.product:not(.product-small) > .product_infos .woocommerce-product-gallery,
  body.mspv2-product-page div.product:not(.product-small) > .product_infos .images{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    float:none!important;
    margin:0!important;
  }
  body.mspv2-product-page div.product:not(.product-small) > .product_infos .summary.entry-summary{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    float:none!important;
    margin:0!important;
    box-sizing:border-box!important;
    padding:28px clamp(22px,3vw,36px) 34px!important;
    background:#fffefa!important;
    border:1px solid var(--msp-border)!important;
    border-radius:17px!important;
    box-shadow:0 10px 33px rgba(89,50,56,.035)!important;
  }
  body.mspv2-product-page div.product:not(.product-small) .single_add_to_cart_button{
    margin:12px 0!important;
    min-width:210px!important;
  }
}
@media(min-width:820px) and (max-width:1080px){
  body.mspv2-product-page div.product:not(.product-small){padding-left:18px!important;padding-right:18px!important}
  body.mspv2-product-page div.product:not(.product-small) > .product_infos > .grid-x{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    column-gap:24px!important;
  }
  body.mspv2-product-page div.product:not(.product-small) > .product_infos .summary.entry-summary{
    padding:22px!important;
  }
}
@media(max-width:819px){
  body.mspv2-product-page div.product:not(.product-small){padding:17px 17px 43px!important;display:block!important}
  body.mspv2-product-page div.product .woocommerce-product-gallery,
  body.mspv2-product-page div.product .images,
  body.mspv2-product-page div.product .summary,
  body.mspv2-product-page div.product .entry-summary,
  body.mspv2-product-page div.product .product-summary{
    float:none!important;width:100%!important;max-width:100%!important;min-width:0!important;
    box-sizing:border-box!important;
  }
  body.mspv2-product-page div.product .summary,
  body.mspv2-product-page div.product .entry-summary,
  body.mspv2-product-page div.product .product-summary{padding:22px 2px 4px!important;margin:0!important;background:transparent!important;box-shadow:none!important;border:0!important}
  body.mspv2-product-page div.product .product_title{font-size:clamp(28px,7vw,34px)!important}
  body.mspv2-product-page div.product .single_add_to_cart_button{display:block!important;width:100%!important;max-width:100%!important;min-height:55px!important;margin:12px 0!important}
  body.mspv2-product-page div.product .ms-product-perks{padding:14px 16px!important}
  body.mspv2-product-page div.product .related{margin-top:33px!important}
}
@media(max-width:380px){
  body.mspv2-product-page div.product:not(.product-small){padding:14px 12px 32px!important}
  body.mspv2-product-page div.product .ms-product-perks li{font-size:12px}
  body.mspv2-product-page div.product .variable-items-wrapper li{min-width:55px!important;padding:8px 10px!important}
}

/* Elementor/Miniture can place product sharing in separate widgets outside div.product.
   Scope strictly to the product template; keep header/footer social links intact. */
body.mspv2-product-page .elementor-location-single .elementor-widget-kitify-wooproduct-sharing,
body.mspv2-product-page .elementor-location-single .elementor-widget-kitify-wooproduct-share,
body.mspv2-product-page .elementor-location-single .elementor-widget-woocommerce-product-sharing,
body.mspv2-product-page .elementor-location-single .elementor-widget-woocommerce-product-share,
body.mspv2-product-page .elementor-location-single .kitify-product-sharing,
body.mspv2-product-page .elementor-location-single .nova-product-sharing,
body.mspv2-product-page .elementor-location-single .nova-single-product-share {display:none!important}


/* v0.3.4 — Mobile APF checkbox layout.
   APF's checkbox lists and theme floats can make consecutive choices snake
   across the row as their labels wrap. Use a single predictable column and
   anchor each native checkbox next to its own text. No price/JS alterations. */
@media (max-width: 819px) {
  body.mspv2-product-page .wapf-field-container .wapf-checkboxes {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 13px !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  body.mspv2-product-page .wapf-field-container .wapf-checkboxes .wapf-checkable {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  body.mspv2-product-page .wapf-field-container .wapf-checkboxes .wapf-checkable > label {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 28px !important;
    box-sizing: border-box !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    text-indent: 0 !important;
    line-height: 1.5 !important;
    white-space: normal !important;
  }
  body.mspv2-product-page .wapf-field-container .wapf-checkboxes .wapf-checkable input[type="checkbox"] {
    float: none !important;
    flex: 0 0 21px !important;
    width: 21px !important;
    min-width: 21px !important;
    height: 21px !important;
    margin: 3px 0 0 !important;
  }
  body.mspv2-product-page .wapf-field-container .wapf-checkboxes .wapf-label-text {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    white-space: normal !important;
    line-height: 1.5 !important;
    overflow-wrap: break-word !important;
  }
  body.mspv2-product-page .wapf-field-container .wapf-checkboxes .wapf-pricing-hint {
    white-space: normal !important;
  }
  body.mspv2-product-page .wapf-field-container .wapf-field-description {
    clear: both !important;
    margin-top: 13px !important;
    padding: 0 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
  }
}

/* The specific Kitify Social Share widget in Elementor Single Product #01
   is outside some div.product wrappers, so earlier theme selectors miss it.
   Target only this product-template widget; keep header/footer links. */
body.mspv2-product-page .elementor-element-65aa1fa2,
body.mspv2-product-page .elementor-widget-kitify-social-share.elementor-element-65aa1fa2 {
  display: none !important;
  visibility: hidden !important;
}
