/* Product-specific styling: intentionally isolated from article pages. */
body.woocommerce .mmn-commerce-page, body.woocommerce-page .mmn-commerce-page { padding: clamp(28px,5vw,76px) 0 90px; }
.mmn-commerce-shell { max-width: 1160px; margin: 0 auto; padding: 0 24px; }
.mmn-commerce-page .woocommerce-breadcrumb { color:#64748b; font-size:13px; margin-bottom:22px; }
.mmn-commerce-page div.product { display: flow-root; }
.mmn-commerce-page div.product .product_title { color:#172b43; font-family: 'Space Grotesk',sans-serif; font-size:clamp(32px,3.4vw,48px); line-height:1.12; letter-spacing:-.035em; margin:0 0 18px; }
.mmn-commerce-page div.product p.price, .mmn-commerce-page div.product span.price { color:#172b43; font-weight:750; font-size:32px; margin:0 0 20px; }
.mmn-commerce-page div.product .woocommerce-product-gallery { margin-bottom:28px; }
.mmn-commerce-page div.product .woocommerce-product-gallery img { border-radius:16px; background:#f3f6f8; }
.mmn-commerce-page div.product .summary { background:#fff; padding:clamp(16px,3vw,32px); border:1px solid #dfe6eb; border-radius:18px; box-sizing:border-box; }
.mmn-product-benefits { display:grid; gap:9px; margin:14px 0 24px; font-size:14px; color:#243c51; }
.mmn-product-benefits span:before { content:'✓'; display:inline-block; color:#0d817f; font-weight:800; margin-right:10px; }
.mmn-commerce-page .single_add_to_cart_button, .mmn-commerce-page .button.alt, .mmn-commerce-page a.button { background:#117e81!important; color:white!important; border-radius:9px!important; border:0!important; padding:15px 23px!important; font-weight:700!important; }
.mmn-commerce-page .quantity input.qty { min-height:46px; border:1px solid #cbd5e1; border-radius:8px; }
.mmn-commerce-page .product_meta { display:none; }
.mmn-commerce-page .woocommerce-tabs { clear:both; padding-top:38px; }
.mmn-commerce-page .woocommerce-tabs .panel { max-width:850px; font-size:17px; line-height:1.75; color:#25354a; }
.mmn-commerce-page .woocommerce-tabs .panel h2 { font-size:28px; margin:20px 0 14px; }
.mmn-commerce-page .woocommerce-tabs .panel h3 { font-size:22px; margin:24px 0 12px; }
.mmn-commerce-page .woocommerce-tabs .panel p { margin:0 0 16px; }
.mmn-commerce-page .woocommerce-tabs .panel ul { padding-left:26px; }
.mmn-commerce-page .woocommerce-tabs .tabs { margin-bottom:20px; }
.mmn-commerce-page .woocommerce-message, .mmn-commerce-page .woocommerce-info { border-top-color:#117e81; }
@media (max-width:767px) { .mmn-commerce-shell {padding:0 16px;} .mmn-commerce-page div.product .summary {padding:18px;} }

/* Shop archive — scoped to WooCommerce shop only. */
.mmn-shop-hero {background:#f5f7f8;border:1px solid #e1e8ed;border-radius:20px;padding:clamp(28px,5vw,62px);margin:0 0 44px;}
.mmn-shop-eyebrow {font-size:12px!important;letter-spacing:.17em;font-weight:800;color:#d45a19!important;margin:0 0 15px!important;}
.mmn-shop-hero h1 {font-family:'Space Grotesk',sans-serif;color:#172b43;font-size:clamp(34px,4.5vw,58px);letter-spacing:-.045em;line-height:1.07;max-width:750px;margin:0 0 18px;}
.mmn-shop-hero > p:last-child {font-size:clamp(16px,1.65vw,20px);line-height:1.6;color:#475569;max-width:720px;margin:0;}
.mmn-shop-catalog-head {margin-bottom:24px;}
.mmn-shop-catalog-head h2 {font-size:clamp(25px,3vw,34px);letter-spacing:-.03em;color:#172b43;margin:0 0 6px;}
.mmn-shop-catalog-head p {margin:0;color:#64748b;font-size:15px;}
.mmn-shop-catalog .woocommerce-result-count {font-size:13px;color:#64748b;margin:4px 0 22px;}
.mmn-shop-catalog .woocommerce-ordering {margin:0 0 22px;}
.mmn-shop-catalog .woocommerce-ordering select {border:1px solid #cbd5e1;border-radius:8px;padding:10px;background:#fff;color:#24364a;}
.mmn-shop-catalog ul.products {clear:both;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:26px;margin:0!important;padding:0!important;list-style:none;}
.mmn-shop-catalog ul.products:before,.mmn-shop-catalog ul.products:after {display:none!important;}
.mmn-shop-catalog ul.products li.product {float:none!important;width:auto!important;margin:0!important;padding:16px 16px 22px!important;background:#fff;border:1px solid #e1e8ed;border-radius:16px;box-shadow:0 6px 20px rgba(18,42,60,.035);display:flex;flex-direction:column;align-items:flex-start;min-width:0;}
.mmn-shop-catalog ul.products li.product a.woocommerce-LoopProduct-link {display:block;width:100%;text-decoration:none;}
.mmn-shop-catalog ul.products li.product img {width:100%!important;height:260px!important;object-fit:contain!important;background:#f8fafb;border-radius:10px;margin:0 0 20px!important;}
.mmn-shop-catalog ul.products li.product .woocommerce-loop-product__title {font-family:'Space Grotesk',sans-serif;font-size:21px!important;line-height:1.24;color:#172b43;padding:0!important;margin:0 0 12px!important;}
.mmn-shop-catalog ul.products li.product .price {font-size:23px!important;font-weight:800!important;color:#172b43!important;margin:0 0 17px!important;}
.mmn-shop-catalog ul.products li.product .button {margin-top:auto!important;display:inline-block!important;}
.mmn-shop-catalog .woocommerce-pagination {margin:30px 0;}
@media(max-width:680px){.mmn-shop-hero{padding:26px 22px;margin-bottom:32px}.mmn-shop-catalog ul.products{grid-template-columns:1fr!important}.mmn-shop-catalog ul.products li.product img{height:240px!important}}

/* rc14: Keep the featured product image and gallery thumbnails distinct. */
@media (min-width: 800px) {
  body.single-product .mmn-commerce-page div.product {
    display:grid; grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr);
    column-gap:clamp(24px,4vw,52px); align-items:start;
  }
  body.single-product .mmn-commerce-page div.product > .woocommerce-product-gallery {
    grid-column:1; grid-row:1;
  }
  body.single-product .mmn-commerce-page div.product > .summary {
    grid-column:2; grid-row:1;
  }
  body.single-product .mmn-commerce-page div.product > .woocommerce-tabs,
  body.single-product .mmn-commerce-page div.product > .related,
  body.single-product .mmn-commerce-page div.product > .upsells {grid-column:1 / -1;}
}
body.single-product .mmn-commerce-page div.product > .woocommerce-product-gallery,
body.single-product .mmn-commerce-page div.product > .summary {
  float:none!important; width:100%!important; max-width:none!important;
  min-width:0; margin-left:0!important; margin-right:0!important;
}
body.single-product .mmn-commerce-page .woocommerce-product-gallery__wrapper {
  margin:0!important; display:block;
}
body.single-product .mmn-commerce-page .woocommerce-product-gallery__image {
  width:100%!important; float:none!important;
}
body.single-product .mmn-commerce-page .woocommerce-product-gallery__image img {
  width:100%!important; height:auto!important; max-height:560px; object-fit:contain;
  display:block; background:#f7f9fa; border-radius:14px;
}
body.single-product .mmn-commerce-page .flex-viewport {
  border-radius:14px; background:#f7f9fa;
}
body.single-product .mmn-commerce-page .flex-viewport .woocommerce-product-gallery__image img {
  max-height:none;
}
body.single-product .mmn-commerce-page .flex-control-nav.flex-control-thumbs {
  display:grid!important; grid-template-columns:repeat(auto-fill,minmax(75px,1fr));
  gap:12px; list-style:none; margin:14px 0 0!important; padding:0!important;
}
body.single-product .mmn-commerce-page .flex-control-nav.flex-control-thumbs li {
  width:100%!important; float:none!important; margin:0!important; padding:0!important;
}
body.single-product .mmn-commerce-page .flex-control-nav.flex-control-thumbs img {
  display:block; width:100%!important; height:84px!important; object-fit:contain;
  padding:5px; box-sizing:border-box; border:1px solid #dfe6eb;
  border-radius:9px; background:#f8fafb; opacity:.7; cursor:pointer;
}
body.single-product .mmn-commerce-page .flex-control-nav.flex-control-thumbs img.flex-active,
body.single-product .mmn-commerce-page .flex-control-nav.flex-control-thumbs img:hover {
  opacity:1; border-color:#117e81;
}
@media (max-width:799px) {
  body.single-product .mmn-commerce-page div.product {display:flex;flex-direction:column;}
  body.single-product .mmn-commerce-page div.product > .woocommerce-product-gallery,
  body.single-product .mmn-commerce-page div.product > .summary,
  body.single-product .mmn-commerce-page div.product > .woocommerce-tabs {width:100%!important;}
}

/* rc15: constrain native WooCommerce FlexSlider and its thumbnail rail. */
body.single-product .mmn-commerce-page .woocommerce-product-gallery { overflow:hidden; min-width:0; max-width:100%; }
body.single-product .mmn-commerce-page .woocommerce-product-gallery .flex-viewport { width:100%; max-width:100%; overflow:hidden!important; }
body.single-product .mmn-commerce-page .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper { display:block!important; }
body.single-product .mmn-commerce-page .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image { max-width:100%; }
body.single-product .mmn-commerce-page .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs { grid-template-columns:repeat(4,minmax(0,88px))!important; justify-content:start; }
/* If a cache or script blocker prevents FlexSlider initialization, never show a vertical stack of full-size gallery images. */
body.single-product .mmn-commerce-page .woocommerce-product-gallery:not(.woocommerce-product-gallery--with-images) .woocommerce-product-gallery__image:not(:first-child) { display:none; }
body.single-product .mmn-commerce-page .woocommerce-product-gallery:not(.flexslider) > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child) { display:none!important; }

/* rc16: fix main image overscaling while retaining rc15 thumbnails.
   FlexSlider owns slide widths; do not force each slide to gallery width. */
body.single-product .mmn-commerce-page .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image {
  width:auto!important; max-width:none!important; float:left!important;
}
body.single-product .mmn-commerce-page .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image img,
body.single-product .mmn-commerce-page .woocommerce-product-gallery .woocommerce-product-gallery__image > a > img {
  display:block!important; width:100%!important; max-width:100%!important; height:auto!important;
  max-height:560px!important; object-fit:contain!important; transform:none!important;
}
body.single-product .mmn-commerce-page .woocommerce-product-gallery .zoomImg {display:none!important;}
body.single-product .mmn-commerce-page .woocommerce-product-gallery .flex-viewport {height:auto; max-width:100%!important;}

/* rc17: independent wide shop image; no single-product gallery changes. */
.mmn-shop-catalog ul.products li.product img.mmn-shop-display-image { aspect-ratio:16/9; height:auto!important; max-height:320px; object-fit:contain!important; }

/* rc19: shop-only wide promotional image. Remove rc18 excess vertical
   padding and the 320px height cap which letterboxed the 16:9 artwork.
   Limit display width to avoid an excessively tall full-bleed image. */
.mmn-shop-catalog ul.products li.product img.mmn-shop-display-image {
  display:block!important;
  width:min(100%, 1100px)!important;
  max-width:1100px!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:16/9;
  object-fit:contain!important;
  padding:12px 0!important;
  box-sizing:border-box!important;
  margin:0 auto 20px!important;
}
@media(max-width:680px) {
  .mmn-shop-catalog ul.products li.product img.mmn-shop-display-image {
    width:100%!important;
    padding:8px 0!important;
  }
}
