/* V138: wider single-product summary + horizontal MSPC row tuning */

@media (min-width: 1024px){
  .single-product .woocommerce div.product,
  .single-product div.product{
    display: flex !important;
    gap: 56px !important;
    align-items: flex-start !important;
  }

  .single-product .woocommerce div.product div.images,
  .single-product div.product div.images,
  .single-product .mdm-product-top .mdm-simple-gallery{
    flex: 0 0 440px !important;
    max-width: 440px !important;
  }

  .single-product .woocommerce div.product div.summary.entry-summary,
  .single-product div.product div.summary.entry-summary,
  .single-product .mdm-product-top .summary.entry-summary{
    flex: 1 1 760px !important;
    width: auto !important;
    max-width: 760px !important;
    min-width: 760px !important;
  }
}

/* Let MSPC content breathe */
.single-product .summary.entry-summary .mspc-wrapper,
.single-product .summary.entry-summary .mspc-content{
  overflow: visible !important;
}

/* Force a single horizontal row for the format choices */
.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variations{
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  gap: 24px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 18px 0 8px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

/* Each option as a fixed-width card */
.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation{
  flex: 0 0 110px !important;
  width: 110px !important;
  min-width: 110px !important;
  max-width: 110px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Reset child floats that may force side layout */
.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation > *{
  float: none !important;
}

/* Radio above image */
.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation .mspc-radio{
  order: 1 !important;
  margin: 0 auto 10px !important;
}

/* Image */
.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation img.mspc-attribute-image{
  order: 2 !important;
  display: block !important;
  width: 72px !important;
  max-width: 72px !important;
  height: auto !important;
  margin: 0 auto 10px !important;
}

/* Text below image */
.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation .mspc-text-wrapper{
  order: 3 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation .mspc-attribute-title,
.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation .mspc-text-wrapper strong{
  display: block !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}

/* Nicer cart row spacing */
.single-product form.cart{
  margin-top: 18px !important;
}


/* V139: Cart button and text block styling under button */

/* Lägg till i varukorg – mindre tung text + guldfärg */
.single-product .single_add_to_cart_button,
.single-product button.single_add_to_cart_button,
.single-product .woocommerce button.single_add_to_cart_button{
  background: #d8c27a !important;
  border-color: #d8c27a !important;
  color: #fff !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

.single-product .single_add_to_cart_button:hover,
.single-product button.single_add_to_cart_button:hover,
.single-product .woocommerce button.single_add_to_cart_button:hover{
  background: #cdb46a !important;
  border-color: #cdb46a !important;
  color: #fff !important;
}

/* Kort beskrivning under knappen */
.single-product .woocommerce-product-details__short-description{
  margin-top: 28px !important;
  padding-top: 24px !important;
  border-top: 1px solid #d9d9d9 !important;
  color: #2b2b2b !important;
}

.single-product .woocommerce-product-details__short-description p{
  margin: 0 0 18px 0 !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #2b2b2b !important;
}

.single-product .woocommerce-product-details__short-description p strong{
  font-weight: 700 !important;
}

.single-product .woocommerce-product-details__short-description p:nth-of-type(2){
  color: #e53935 !important;
}

.single-product .woocommerce-product-details__short-description h3{
  margin: 18px 0 6px 0 !important;
  font-size: 24px !important;
  font-weight: 500 !important;
  letter-spacing: 1px !important;
  text-transform: none !important;
  color: #333 !important;
}

.single-product .woocommerce-product-details__short-description p + h3 + p{
  margin-top: 0 !important;
  color: #333 !important;
}

/* Produktmeta längst ner */
.single-product .product_meta{
  margin-top: 28px !important;
  padding-top: 24px !important;
  border-top: 1px solid #d9d9d9 !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  color: #333 !important;
}

.single-product .product_meta > span{
  display: block !important;
  margin: 0 0 8px 0 !important;
}

.single-product .product_meta .sku_wrapper,
.single-product .product_meta .posted_in,
.single-product .product_meta .tagged_as{
  font-weight: 400 !important;
}

.single-product .product_meta a{
  color: #333 !important;
  text-decoration: none !important;
}

.single-product .product_meta a:hover{
  text-decoration: underline !important;
}


/* V140: typography, gold button, smaller title, meta at bottom */

body.single-product,
body.single-product .summary.entry-summary,
body.single-product .summary.entry-summary *:not(svg):not(path){
  font-family: 'Montserrat', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif !important;
}

.single-product .product_title.entry-title,
.single-product h1.product_title{
  font-size: 44px !important;
  line-height: 1.05 !important;
  letter-spacing: 0.5px !important;
}

/* Gold add-to-cart button, including disabled variation state */
.single-product .single_add_to_cart_button,
.single-product button.single_add_to_cart_button,
.single-product .woocommerce button.single_add_to_cart_button,
.single-product .single_add_to_cart_button.disabled,
.single-product .single_add_to_cart_button.wc-variation-selection-needed,
.single-product .single_add_to_cart_button.alt{
  background: #d6c58e !important;
  border-color: #d6c58e !important;
  color: #ffffff !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

.single-product .single_add_to_cart_button:hover,
.single-product button.single_add_to_cart_button:hover,
.single-product .woocommerce button.single_add_to_cart_button:hover{
  background: #ccb978 !important;
  border-color: #ccb978 !important;
  color: #ffffff !important;
}

/* Short description block styling */
.single-product .woocommerce-product-details__short-description{
  order: 50;
  margin-top: 28px !important;
  padding-top: 24px !important;
  border-top: 1px solid #d9d9d9 !important;
  color: #2b2b2b !important;
}

.single-product .woocommerce-product-details__short-description p{
  margin: 0 0 18px 0 !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #2b2b2b !important;
}

.single-product .woocommerce-product-details__short-description p strong{
  font-weight: 700 !important;
}

.single-product .woocommerce-product-details__short-description p:nth-of-type(2){
  color: #e53935 !important;
}

.single-product .woocommerce-product-details__short-description h3{
  margin: 18px 0 6px 0 !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  letter-spacing: 1px !important;
  text-transform: none !important;
  color: #333 !important;
}

/* Product meta at very bottom */
.single-product .summary.entry-summary{
  display: flex !important;
  flex-direction: column !important;
}

.single-product .product_meta{
  order: 60;
  margin-top: 28px !important;
  padding-top: 24px !important;
  border-top: 1px solid #d9d9d9 !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
  color: #333 !important;
}

.single-product .product_meta > span{
  display: block !important;
  margin: 0 0 8px 0 !important;
}

.single-product .product_meta .sku_wrapper,
.single-product .product_meta .posted_in,
.single-product .product_meta .tagged_as{
  font-weight: 400 !important;
}

.single-product .product_meta a{
  color: #333 !important;
  text-decoration: none !important;
}

.single-product .product_meta a:hover{
  text-decoration: underline !important;
}

/* Avoid upscaling the custom main image into blur */
.single-product .mdm-simple-gallery .mdm-main-image img{
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  image-rendering: auto;
}

.single-product .mdm-simple-gallery .mdm-thumbs img{
  width: 92px !important;
  height: 92px !important;
  object-fit: cover !important;
}

/* Slightly sharper archive/category cards */
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img{
  width: 100% !important;
  height: auto !important;
}


/* V143: harder summary width override + MSPC auto-next fallback + typography/button adjustments */

@media (min-width: 1024px){
  .single-product .mdm-product-top{
    display: grid !important;
    grid-template-columns: 440px 680px !important;
    column-gap: 48px !important;
    align-items: start !important;
  }

  .single-product .mdm-product-top > .mdm-simple-gallery{
    width: 440px !important;
    max-width: 440px !important;
  }

  .single-product .mdm-product-top > .summary.entry-summary{
    width: 680px !important;
    min-width: 680px !important;
    max-width: 680px !important;
  }
}

/* tighter MSPC cards */
.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variations{
  gap: 10px !important;
}

.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation{
  flex: 0 0 86px !important;
  width: 86px !important;
  min-width: 86px !important;
  max-width: 86px !important;
}

.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation img.mspc-attribute-image{
  width: 56px !important;
  max-width: 56px !important;
}

/* gold button */
.single-product .single_add_to_cart_button,
.single-product button.single_add_to_cart_button,
.single-product .woocommerce button.single_add_to_cart_button,
.single-product .single_add_to_cart_button.disabled,
.single-product .single_add_to_cart_button.wc-variation-selection-needed,
.single-product .single_add_to_cart_button.alt{
  background: #d6c58e !important;
  border-color: #d6c58e !important;
  color: #fff !important;
  font-weight: 500 !important;
  opacity: 1 !important;
}

/* typography */
body,
.hero,
.hero h1,
.hero p,
.slide,
.slide h1,
.slide p,
.intro,
.intro h2,
.intro p,
.puff-grid,
.puff-grid *,
.single-product .summary.entry-summary,
.single-product .summary.entry-summary *:not(svg):not(path){
  font-family: 'Montserrat', Arial, sans-serif !important;
}

.single-product .product_title.entry-title,
.single-product h1.product_title{
  font-size: 44px !important;
  line-height: 1.05 !important;
  letter-spacing: .5px !important;
}

/* product meta at bottom */
.single-product .summary.entry-summary{
  display:flex !important;
  flex-direction:column !important;
}
.single-product .product_meta{
  order:60 !important;
  margin-top:28px !important;
}

/* main image not upscaled into blur */
.single-product .mdm-simple-gallery .mdm-main-image img{
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
}


/* V144: smaller product title, adaptive summary width, MSPC click sync support */

@media (min-width: 1024px){
  .single-product .mdm-product-top{
    grid-template-columns: 440px fit-content(620px) !important;
    column-gap: 40px !important;
  }

  .single-product .mdm-product-top > .summary.entry-summary{
    width: auto !important;
    min-width: 560px !important;
    max-width: 620px !important;
  }
}

.single-product .product_title.entry-title,
.single-product h1.product_title{
  font-size: 34px !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variations{
  gap: 8px !important;
}

.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation{
  flex: 0 0 78px !important;
  width: 78px !important;
  min-width: 78px !important;
  max-width: 78px !important;
  cursor: pointer !important;
}

.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation img.mspc-attribute-image{
  width: 50px !important;
  max-width: 50px !important;
}

.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation .mspc-attribute-title,
.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation .mspc-text-wrapper strong{
  font-size: 12px !important;
}

.single-product .single_add_to_cart_button,
.single-product button.single_add_to_cart_button,
.single-product .woocommerce button.single_add_to_cart_button,
.single-product .single_add_to_cart_button.disabled,
.single-product .single_add_to_cart_button.wc-variation-selection-needed,
.single-product .single_add_to_cart_button.alt,
.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button{
  background: #d6c58e !important;
  border-color: #d6c58e !important;
  color: #ffffff !important;
}

.single-product .single_add_to_cart_button:hover,
.single-product button.single_add_to_cart_button:hover{
  background: #ccb978 !important;
  border-color: #ccb978 !important;
}

.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation.mdm-selected,
.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation.mspc-active,
.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation.selected{
  outline: 2px solid #d6c58e !important;
  outline-offset: 2px !important;
  border-radius: 4px !important;
}


/* V145: color choices in wrapped rows, price moved up, add-to-cart button gold */

/* Show color choices in multiple rows instead of horizontal scroll */
.single-product .summary.entry-summary .mspc-wrapper .mspc-pa_valj-kantbands-farg,
.single-product .summary.entry-summary .mspc-wrapper .mspc-pa_valj-kantbands-farg.mspc-variations{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px 12px !important;
  overflow: visible !important;
  padding-bottom: 0 !important;
}

.single-product .summary.entry-summary .mspc-wrapper .mspc-pa_valj-kantbands-farg .mspc-variation{
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: initial !important;
}

@media (max-width: 900px){
  .single-product .summary.entry-summary .mspc-wrapper .mspc-pa_valj-kantbands-farg,
  .single-product .summary.entry-summary .mspc-wrapper .mspc-pa_valj-kantbands-farg.mspc-variations{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

.single-product .summary.entry-summary .mspc-wrapper .mspc-pa_valj-kantbands-farg::-webkit-scrollbar{
  display: none !important;
}

/* Move price block a bit higher */
.single-product .summary.entry-summary .price,
.single-product .summary.entry-summary p.price{
  margin-top: 8px !important;
  margin-bottom: 8px !important;
}

.single-product .summary.entry-summary .woocommerce-variation.single_variation{
  margin-bottom: 4px !important;
}

.single-product .summary.entry-summary .single_variation_wrap{
  margin-top: -6px !important;
}

/* Gold add to cart button should always win */
.single-product .single_add_to_cart_button,
.single-product button.single_add_to_cart_button,
.single-product .woocommerce button.single_add_to_cart_button,
.single-product .single_add_to_cart_button.disabled,
.single-product .single_add_to_cart_button.wc-variation-selection-needed,
.single-product .single_add_to_cart_button.alt,
.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button,
.single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button{
  background: #d6c58e !important;
  background-color: #d6c58e !important;
  border: 1px solid #d6c58e !important;
  border-color: #d6c58e !important;
  color: #ffffff !important;
  opacity: 1 !important;
  box-shadow: none !important;
}

.single-product .single_add_to_cart_button:hover,
.single-product button.single_add_to_cart_button:hover,
.single-product .woocommerce button.single_add_to_cart_button:hover{
  background: #cbb874 !important;
  background-color: #cbb874 !important;
  border-color: #cbb874 !important;
  color: #ffffff !important;
}


/* V146 quantity refresh button */
.mdm-refresh-price{
  font-size:12px;
  color:#666;
  cursor:pointer;
  margin-top:6px;
  user-select:none;
}

.mdm-refresh-price:hover{
  color:#000;
}



/* V147 total price display under price */
.mdm-qty-total-price{
  margin: 6px 0 10px 0;
  font-size: 14px;
  color: #666;
}


/* V150: same color-card width as other options, no extra qty total helper */

.single-product .summary.entry-summary .mspc-wrapper .mspc-pa_valj-kantbands-farg,
.single-product .summary.entry-summary .mspc-wrapper .mspc-pa_valj-kantbands-farg.mspc-variations{
  grid-template-columns: repeat(4, 78px) !important;
  justify-content: start !important;
  gap: 14px 8px !important;
}

.single-product .summary.entry-summary .mspc-wrapper .mspc-pa_valj-kantbands-farg .mspc-variation{
  width: 78px !important;
  min-width: 78px !important;
  max-width: 78px !important;
  flex: 0 0 78px !important;
}

.single-product .summary.entry-summary .mspc-wrapper .mspc-pa_valj-kantbands-farg .mspc-variation img.mspc-attribute-image{
  width: 50px !important;
  max-width: 50px !important;
}

/* remove previous helper line */
.mdm-qty-total-price{
  display: none !important;
}


/* V151: remove refresh button, normal title/price weight, move cart button up */

.mdm-refresh-price{
  display: none !important;
}

.single-product .product_title.entry-title,
.single-product h1.product_title{
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.single-product .summary.entry-summary .price,
.single-product .summary.entry-summary p.price{
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* move cart row closer to price */
.single-product .summary.entry-summary .single_variation_wrap{
  margin-top: -18px !important;
}

.single-product form.cart,
.single-product .variations_form.cart,
.single-product .woocommerce-variation-add-to-cart{
  margin-top: 4px !important;
}


/* V152: selected frame inside card, adaptive width, improved price spacing/alignment */

/* Let summary width follow content better */
@media (min-width: 1024px){
  .single-product .mdm-product-top{
    grid-template-columns: 440px minmax(460px, 560px) !important;
    column-gap: 34px !important;
  }

  .single-product .mdm-product-top > .summary.entry-summary{
    width: auto !important;
    min-width: 460px !important;
    max-width: 560px !important;
  }
}

/* Keep selected gold frame inside the option box */
.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation{
  position: relative !important;
  border: 1px solid transparent !important;
  border-radius: 6px !important;
  box-sizing: border-box !important;
  outline: none !important;
}

.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation.mdm-selected,
.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation.mspc-active,
.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation.selected{
  border-color: #d6c58e !important;
  box-shadow: inset 0 0 0 1px #d6c58e !important;
  outline: none !important;
}

/* Price interval and price/st aligned and spaced */
.single-product .summary.entry-summary p.price,
.single-product .summary.entry-summary .price{
  margin-top: 12px !important;
  margin-bottom: 2px !important;
  line-height: 1.3 !important;
}

.single-product .summary.entry-summary .single_variation_wrap{
  margin-top: 0 !important;
}

.single-product .summary.entry-summary .single_variation_wrap .woocommerce-variation,
.single-product .summary.entry-summary .single_variation_wrap .single_variation{
  margin: 0 0 12px 0 !important;
  min-height: 28px !important;
}

.single-product .summary.entry-summary .single_variation_wrap .price,
.single-product .summary.entry-summary .single_variation_wrap .woocommerce-variation-price,
.single-product .summary.entry-summary .single_variation_wrap .woocommerce-variation .price{
  margin: 0 !important;
  line-height: 1.3 !important;
}

/* remove helper remnants */
.mdm-qty-total-price{
  display: none !important;
}


/* V153: narrower summary, aligned price rows, computed unit price */
@media (min-width: 1024px){
  .single-product .mdm-product-top{
    grid-template-columns: 440px minmax(390px, 470px) !important;
    column-gap: 28px !important;
  }

  .single-product .mdm-product-top > .summary.entry-summary{
    width: auto !important;
    min-width: 390px !important;
    max-width: 470px !important;
  }
}

/* align both price lines from same start */
.single-product .summary.entry-summary p.price,
.single-product .summary.entry-summary .price,
.single-product .summary.entry-summary .mdm-unit-price-row{
  margin-left: 0 !important;
  padding-left: 0 !important;
  text-align: left !important;
}

.single-product .summary.entry-summary p.price,
.single-product .summary.entry-summary .price{
  margin-top: 12px !important;
  margin-bottom: 6px !important;
  line-height: 1.25 !important;
}

.single-product .summary.entry-summary .single_variation_wrap{
  margin-top: 0 !important;
}

.single-product .summary.entry-summary .mdm-unit-price-row{
  margin: 0 0 12px 0 !important;
  line-height: 1.25 !important;
  color: #c9a24d !important;
  font-size: 16px !important;
  font-weight: 400 !important;
}

.single-product .summary.entry-summary .mdm-unit-price-value{
  display: inline-block !important;
  min-width: 110px !important;
}

.single-product .summary.entry-summary .mdm-unit-price-label{
  color: #666 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

/* keep cart row tight */
.single-product form.cart,
.single-product .variations_form.cart,
.single-product .woocommerce-variation-add-to-cart{
  margin-top: 2px !important;
}


/* V154: remove extra price row above quantity and force narrower product summary column */

/* Hide extra price row above quantity */
.single-product .summary.entry-summary .single_variation_wrap .mdm-unit-price-row,
.single-product .summary.entry-summary .single_variation_wrap .woocommerce-variation-price,
.single-product .summary.entry-summary .single_variation_wrap .single_variation .price{
  display: none !important;
}

/* Narrower and more content-fitted product column */
@media (min-width: 1024px){
  .single-product .mdm-product-top{
    display: grid !important;
    grid-template-columns: 420px 460px !important;
    column-gap: 24px !important;
    align-items: start !important;
    justify-content: center !important;
  }

  .single-product .mdm-product-top > .mdm-simple-gallery{
    width: 420px !important;
    max-width: 420px !important;
  }

  .single-product .mdm-product-top > .summary.entry-summary{
    width: 460px !important;
    min-width: 460px !important;
    max-width: 460px !important;
  }
}


/* V155: tighter product grid, aligned price block, selection frame inside card */

/* Center and constrain whole product area */
@media (min-width: 1024px){
  .single-product .woocommerce div.product,
  .single-product div.product{
    max-width: 980px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .single-product .mdm-product-top{
    display: grid !important;
    grid-template-columns: 440px 440px !important;
    gap: 40px !important;
    justify-content: center !important;
    align-items: start !important;
  }

  .single-product .mdm-product-top > .mdm-simple-gallery{
    width: 440px !important;
    max-width: 440px !important;
  }

  .single-product .mdm-product-top > .summary.entry-summary,
  .single-product .summary.entry-summary{
    width: 440px !important;
    min-width: 440px !important;
    max-width: 440px !important;
  }
}

/* Align price block left and keep spacing */
.single-product .summary.entry-summary .price,
.single-product .summary.entry-summary p.price{
  display: block !important;
  text-align: left !important;
  margin-top: 12px !important;
  margin-bottom: 14px !important;
  line-height: 1.25 !important;
}

.single-product .summary.entry-summary .price,
.single-product .summary.entry-summary .woocommerce-Price-amount{
  font-size: 20px !important;
}

/* Selection frame stays inside card */
.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation{
  box-sizing: border-box !important;
  position: relative !important;
  border: 1px solid transparent !important;
  border-radius: 6px !important;
  outline: none !important;
}

.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation.mdm-selected,
.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation.selected,
.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation.mspc-active,
.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-variation.active{
  outline: 2px solid #c6a25a !important;
  outline-offset: -2px !important;
  box-shadow: none !important;
}

/* Keep cart row close to prices */
.single-product .summary.entry-summary .single_variation_wrap,
.single-product .summary.entry-summary form.cart,
.single-product .summary.entry-summary .variations_form.cart{
  margin-top: 4px !important;
}


/* V156: hard product layout width override on outer Woo/theme wrappers */

@media (min-width: 1024px){

  /* Outer product wrappers */
  body.single-product .site-main,
  body.single-product main,
  body.single-product .woocommerce,
  body.single-product .woocommerce-page,
  body.single-product .woocommerce div.product,
  body.single-product div.product{
    max-width: 980px !important;
  }

  body.single-product .woocommerce div.product,
  body.single-product div.product,
  body.single-product .mdm-product-top{
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 28px !important;
  }

  body.single-product .woocommerce div.product > .images,
  body.single-product div.product > .images,
  body.single-product .mdm-product-top > .mdm-simple-gallery{
    flex: 0 0 420px !important;
    width: 420px !important;
    min-width: 420px !important;
    max-width: 420px !important;
  }

  body.single-product .woocommerce div.product > .summary,
  body.single-product div.product > .summary,
  body.single-product .woocommerce div.product > .summary.entry-summary,
  body.single-product div.product > .summary.entry-summary,
  body.single-product .mdm-product-top > .summary,
  body.single-product .mdm-product-top > .summary.entry-summary,
  body.single-product .summary.entry-summary{
    flex: 0 0 440px !important;
    width: 440px !important;
    min-width: 440px !important;
    max-width: 440px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Prevent inner blocks from stretching the column */
body.single-product .summary.entry-summary > *{
  max-width: 100% !important;
}

/* Keep price/button area aligned inside narrower column */
body.single-product .summary.entry-summary .price,
body.single-product .summary.entry-summary p.price,
body.single-product .summary.entry-summary form.cart,
body.single-product .summary.entry-summary .variations_form.cart,
body.single-product .summary.entry-summary .single_variation_wrap{
  width: 100% !important;
}


/* V158: bold step headings */
.single-product .summary.entry-summary .mspc-menu-item,
.single-product .summary.entry-summary .mspc-menu-item span,
.single-product .summary.entry-summary .mspc-menu-item > span{
  font-weight: 700 !important;
}


/* V159: bold title part only + narrower right column */

.single-product .summary.entry-summary .mspc-title-part{
  font-weight: 700 !important;
}

.single-product .summary.entry-summary .mspc-value-part{
  font-weight: 400 !important;
}

/* harder, narrower right column */
@media (min-width: 1024px){
  body.single-product .site-main,
  body.single-product main,
  body.single-product .woocommerce,
  body.single-product .woocommerce-page,
  body.single-product .woocommerce div.product,
  body.single-product div.product{
    max-width: 900px !important;
  }

  body.single-product .woocommerce div.product,
  body.single-product div.product,
  body.single-product .mdm-product-top{
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 22px !important;
  }

  body.single-product .woocommerce div.product > .images,
  body.single-product div.product > .images,
  body.single-product .mdm-product-top > .mdm-simple-gallery{
    flex: 0 0 400px !important;
    width: 400px !important;
    min-width: 400px !important;
    max-width: 400px !important;
  }

  body.single-product .woocommerce div.product > .summary,
  body.single-product div.product > .summary,
  body.single-product .woocommerce div.product > .summary.entry-summary,
  body.single-product div.product > .summary.entry-summary,
  body.single-product .mdm-product-top > .summary,
  body.single-product .mdm-product-top > .summary.entry-summary,
  body.single-product .summary.entry-summary{
    flex: 0 0 400px !important;
    width: 400px !important;
    min-width: 400px !important;
    max-width: 400px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.single-product .summary.entry-summary .mspc-wrapper{
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* V160: force normal value weight in step headings and tighten product layout using broader wrapper targets */

/* Step heading value must never inherit bold */
body.single-product .mspc-menu-item .mspc-title-part{
  font-weight: 700 !important;
}
body.single-product .mspc-menu-item .mspc-value-part,
body.single-product .mspc-menu-item .mspc-title-part + .mspc-value-part,
body.single-product .summary.entry-summary .mspc-menu-item .mspc-value-part{
  font-weight: 400 !important;
  font-family: inherit !important;
}

/* Tighter overall product area */
@media (min-width: 1024px){
  body.single-product .site-main,
  body.single-product main.site-main,
  body.single-product .wp-site-blocks,
  body.single-product .woocommerce,
  body.single-product .woocommerce-page{
    max-width: 940px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.single-product .woocommerce div.product,
  body.single-product div.product,
  body.single-product .mdm-product-top,
  body.single-product .wp-block-woocommerce-product{
    display: grid !important;
    grid-template-columns: 420px 380px !important;
    gap: 30px !important;
    align-items: start !important;
    justify-content: center !important;
    max-width: 830px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.single-product .woocommerce div.product > .images,
  body.single-product div.product > .images,
  body.single-product .mdm-product-top > .mdm-simple-gallery{
    width: 420px !important;
    min-width: 420px !important;
    max-width: 420px !important;
  }

  body.single-product .woocommerce div.product > .summary,
  body.single-product div.product > .summary,
  body.single-product .woocommerce div.product > .summary.entry-summary,
  body.single-product div.product > .summary.entry-summary,
  body.single-product .mdm-product-top > .summary,
  body.single-product .mdm-product-top > .summary.entry-summary,
  body.single-product .wp-block-woocommerce-product .summary,
  body.single-product .summary.entry-summary{
    width: 380px !important;
    min-width: 380px !important;
    max-width: 380px !important;
    margin: 0 !important;
    justify-self: start !important;
  }

  body.single-product .summary.entry-summary .mspc-wrapper,
  body.single-product .summary.entry-summary form.cart,
  body.single-product .summary.entry-summary .variations_form.cart,
  body.single-product .summary.entry-summary .price,
  body.single-product .summary.entry-summary p.price,
  body.single-product .summary.entry-summary .single_variation_wrap{
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* Keep button/qty centered within narrow column */
body.single-product .summary.entry-summary form.cart,
body.single-product .summary.entry-summary .variations_form.cart{
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}


/* V161: Cart page redesign */

/* Constrain cart area instead of full width */
body.woocommerce-cart .site-main,
body.woocommerce-cart main.site-main,
body.woocommerce-cart .woocommerce,
body.woocommerce-cart .woocommerce-page{
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.woocommerce-cart .woocommerce{
  padding-top: 8px !important;
}

/* Page title */
body.woocommerce-cart h1.entry-title,
body.woocommerce-cart .entry-title,
body.woocommerce-cart .woocommerce h1{
  font-size: 46px !important;
  line-height: 1.05 !important;
  letter-spacing: .5px !important;
  margin-bottom: 22px !important;
}

/* Cart table frame */
body.woocommerce-cart table.shop_table{
  border: 1px solid #e5e5e5 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #fff !important;
}

body.woocommerce-cart table.shop_table th,
body.woocommerce-cart table.shop_table td{
  border-color: #ececec !important;
  vertical-align: middle !important;
}

body.woocommerce-cart table.shop_table thead th{
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #222 !important;
  background: #fafafa !important;
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}

/* Product cell layout */
body.woocommerce-cart td.product-thumbnail{
  width: 130px !important;
  min-width: 130px !important;
  text-align: center !important;
}

body.woocommerce-cart td.product-thumbnail img{
  width: 96px !important;
  max-width: 96px !important;
  height: auto !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 20px rgba(0,0,0,.08) !important;
}

body.woocommerce-cart td.product-name{
  min-width: 360px !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

body.woocommerce-cart td.product-name a{
  font-size: 18px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  color: #111 !important;
}

body.woocommerce-cart td.product-name a:hover{
  text-decoration: underline !important;
}

body.woocommerce-cart td.product-price,
body.woocommerce-cart td.product-subtotal{
  font-size: 18px !important;
  white-space: nowrap !important;
}

body.woocommerce-cart td.product-quantity{
  text-align: center !important;
}

body.woocommerce-cart td.product-quantity input.qty{
  width: 74px !important;
  height: 44px !important;
  border-radius: 10px !important;
  font-size: 18px !important;
  text-align: center !important;
}

/* Cleaner attribute/meta layout inside product column */
body.woocommerce-cart td.product-name .variation{
  margin: 12px 0 0 0 !important;
  display: grid !important;
  grid-template-columns: 150px 1fr !important;
  row-gap: 6px !important;
  column-gap: 12px !important;
}

body.woocommerce-cart td.product-name .variation dt,
body.woocommerce-cart td.product-name .variation dd{
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  display: block !important;
}

body.woocommerce-cart td.product-name .variation dt{
  font-weight: 600 !important;
  color: #222 !important;
}

body.woocommerce-cart td.product-name .variation dd{
  color: #333 !important;
}

body.woocommerce-cart td.product-name .variation p{
  margin: 0 !important;
}

/* Remove button */
body.woocommerce-cart td.product-remove a.remove{
  color: #9b1c1c !important;
  font-size: 28px !important;
  font-weight: 400 !important;
}

/* Coupon/update row */
body.woocommerce-cart .actions{
  padding: 14px !important;
}

body.woocommerce-cart .coupon .input-text{
  height: 42px !important;
  border-radius: 10px !important;
}

body.woocommerce-cart button.button,
body.woocommerce-cart a.button,
body.woocommerce-cart input.button{
  border-radius: 12px !important;
  min-height: 46px !important;
  font-size: 16px !important;
}

/* Totals card */
body.woocommerce-cart .cart-collaterals{
  margin-top: 26px !important;
}

body.woocommerce-cart .cart_totals{
  width: 100% !important;
  max-width: 520px !important;
  margin-left: auto !important;
}

body.woocommerce-cart .cart_totals h2{
  font-size: 22px !important;
  font-weight: 700 !important;
  margin-bottom: 16px !important;
}

body.woocommerce-cart .cart_totals .shop_table{
  border-radius: 14px !important;
}

body.woocommerce-cart .cart_totals .shop_table th,
body.woocommerce-cart .cart_totals .shop_table td{
  font-size: 18px !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

/* Gold checkout button */
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  background: #d6c58e !important;
  background-color: #d6c58e !important;
  border: 1px solid #d6c58e !important;
  color: #fff !important;
  border-radius: 14px !important;
  min-height: 60px !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  letter-spacing: .2px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{
  background: #ccb874 !important;
  border-color: #ccb874 !important;
  color: #fff !important;
}

/* Mobile */
@media (max-width: 900px){
  body.woocommerce-cart td.product-name .variation{
    grid-template-columns: 1fr !important;
    row-gap: 2px !important;
  }

  body.woocommerce-cart td.product-thumbnail{
    width: 92px !important;
    min-width: 92px !important;
  }

  body.woocommerce-cart td.product-thumbnail img{
    width: 72px !important;
    max-width: 72px !important;
  }

  body.woocommerce-cart .cart_totals{
    max-width: 100% !important;
  }
}


/* V162: cart page tweaks */

/* Move product title visually above the variation fields */
body.woocommerce-cart td.product-name{
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

body.woocommerce-cart td.product-name > a{
  order: -1 !important;
  display: block !important;
  margin-bottom: 12px !important;
}

/* Keep variation labels on one line */
body.woocommerce-cart td.product-name .variation{
  grid-template-columns: 170px 1fr !important;
  column-gap: 14px !important;
  row-gap: 8px !important;
}

body.woocommerce-cart td.product-name .variation dt{
  white-space: nowrap !important;
  word-break: normal !important;
}

body.woocommerce-cart td.product-name .variation dd{
  white-space: nowrap !important;
}

/* Larger coupon field */
body.woocommerce-cart .coupon .input-text{
  width: 180px !important;
  min-width: 180px !important;
  height: 46px !important;
  padding: 0 14px !important;
  font-size: 15px !important;
}

/* Remove shadow from quantity field */
body.woocommerce-cart td.product-quantity input.qty{
  box-shadow: none !important;
  filter: none !important;
}

/* Slightly cleaner remove icon alignment */
body.woocommerce-cart td.product-remove{
  vertical-align: middle !important;
}


/* V163: align VARUKORG title with cart container */
body.woocommerce-cart h1.entry-title,
body.woocommerce-cart .entry-title{
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}


/* V164: align cart H2 title with cart frame */
body.woocommerce-cart .section .center{
  max-width: 1180px !important;
  margin: 0 auto !important;
}

body.woocommerce-cart .section .center article > h2{
  margin: 0 0 24px 0 !important;
  padding-left: 270px !important;
  box-sizing: border-box !important;
}

/* V165: product grid responsive */
/* Desktop 4 per row */
body.woocommerce ul.products{
    display:flex;
    flex-wrap:wrap;
    gap:24px;
}

body.woocommerce ul.products li.product{
    width: calc(25% - 18px) !important;
    margin:0 !important;
}

/* Tablet 3 per row */
@media (max-width:1100px){
    body.woocommerce ul.products li.product{
        width: calc(33.33% - 18px) !important;
    }
}

/* Mobile 1 per row */
@media (max-width:700px){
    body.woocommerce ul.products li.product{
        width: 100% !important;
    }
}


/* V166: compact product cards, equal heights, gold hover accents */
body.woocommerce ul.products li.product{
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    border: 1px solid #ece8de !important;
    border-radius: 18px !important;
    background: #fff !important;
    padding: 14px 14px 16px !important;
    box-sizing: border-box !important;
    min-height: 100% !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

body.woocommerce ul.products li.product:hover{
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.08) !important;
    border-color: #d6c58e !important;
}

body.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    text-decoration: none !important;
}

body.woocommerce ul.products li.product img{
    width: 100% !important;
    max-width: 100% !important;
    height: 260px !important;
    object-fit: contain !important;
    margin: 0 0 12px 0 !important;
}

body.woocommerce ul.products li.product h2,
body.woocommerce ul.products li.product .woocommerce-loop-product__title{
    font-size: 18px !important;
    line-height: 1.25 !important;
    min-height: 46px !important;
    margin: 0 0 8px 0 !important;
}

body.woocommerce ul.products li.product .price{
    min-height: 30px !important;
    margin: 0 0 14px 0 !important;
    color: #c8a35a !important;
    font-weight: 600 !important;
}

body.woocommerce ul.products li.product .button,
body.woocommerce ul.products li.product a.button{
    margin-top: auto !important;
    width: 100% !important;
    min-height: 48px !important;
    border-radius: 14px !important;
    background: #000 !important;
    color: #fff !important;
    border: 1px solid #000 !important;
    text-align: center !important;
    font-weight: 700 !important;
    letter-spacing: .2px !important;
}

body.woocommerce ul.products li.product:hover .button,
body.woocommerce ul.products li.product:hover a.button{
    background: #d6c58e !important;
    border-color: #d6c58e !important;
    color: #fff !important;
}

@media (max-width: 1100px){
    body.woocommerce ul.products li.product img{
        height: 220px !important;
    }
}

@media (max-width: 700px){
    body.woocommerce ul.products{
        gap: 18px !important;
    }
    body.woocommerce ul.products li.product{
        padding: 12px 12px 14px !important;
    }
    body.woocommerce ul.products li.product img{
        height: 240px !important;
    }
}


/* V167: center product card buttons horizontally */
body.woocommerce ul.products li.product .button,
body.woocommerce ul.products li.product a.button{
    display: block !important;
    width: 85% !important;
    margin: 20px auto 0 auto !important;
    text-align: center !important;
}


/* V169: force all MSPC swatch/option images to same format and size */
.single-product .mspc-variation img.mspc-attribute-image,
.single-product .mspc-variation-image img,
.single-product .mspc-variation img{
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  min-height: 64px !important;
  max-width: 64px !important;
  max-height: 64px !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 auto 10px auto !important;
  border-radius: 8px !important;
}

.single-product .mspc-variation{
  width: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;
}

.single-product .mspc-tab-content.mspc-variations{
  align-items: flex-start !important;
}

/* ==========================================================
   V277 – Responsive Product Pages
   Replaces the legacy fixed 940/830/420/380px single-product
   constraints with a fluid, viewport-aware product layout.
   ========================================================== */

body.single-product{
  overflow-x: clip;
}

/* Give the product page the real browser width instead of V160's 940px cap. */
body.single-product .site-main,
body.single-product main.site-main,
body.single-product .woocommerce,
body.single-product .woocommerce-page{
  width: 100% !important;
  max-width: 1500px !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.single-product .mdm-shop-layout,
body.single-product .mdm-shop-main,
body.single-product .woocommerce div.product,
body.single-product div.product{
  min-width: 0 !important;
  max-width: 100% !important;
}

/* Desktop/laptop: fluid two-column product area. */
@media (min-width: 1101px){
  body.single-product .mdm-product-top,
  body.single-product .woocommerce div.product .mdm-product-top,
  body.single-product div.product .mdm-product-top{
    display: grid !important;
    grid-template-columns: minmax(300px, .90fr) minmax(0, 1.30fr) !important;
    gap: clamp(24px, 3vw, 52px) !important;
    width: 100% !important;
    max-width: 1240px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-items: start !important;
    justify-content: stretch !important;
  }

  body.single-product .mdm-product-top > .mdm-simple-gallery,
  body.single-product .mdm-product-top > .woocommerce-product-gallery,
  body.single-product .woocommerce div.product > .images,
  body.single-product div.product > .images{
    width: 100% !important;
    min-width: 0 !important;
    max-width: 560px !important;
    justify-self: center !important;
    flex: initial !important;
  }

  body.single-product .mdm-product-top > .summary,
  body.single-product .mdm-product-top > .summary.entry-summary,
  body.single-product .woocommerce div.product > .summary,
  body.single-product .woocommerce div.product > .summary.entry-summary,
  body.single-product div.product > .summary,
  body.single-product div.product > .summary.entry-summary,
  body.single-product .summary.entry-summary{
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    justify-self: stretch !important;
    flex: initial !important;
  }
}

/* Smaller laptops/tablets: stack before either column becomes cramped. */
@media (max-width: 1100px){
  body.single-product .mdm-product-top,
  body.single-product .woocommerce div.product .mdm-product-top,
  body.single-product div.product .mdm-product-top{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
    width: 100% !important;
    max-width: 820px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.single-product .mdm-product-top > .mdm-simple-gallery,
  body.single-product .mdm-product-top > .woocommerce-product-gallery,
  body.single-product .mdm-product-top > .summary,
  body.single-product .mdm-product-top > .summary.entry-summary,
  body.single-product .woocommerce div.product > .images,
  body.single-product .woocommerce div.product > .summary,
  body.single-product .summary.entry-summary{
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    flex: initial !important;
  }
}

/* Gallery may scale down; never force the old 420/440px square outside its column. */
body.single-product .mdm-simple-gallery{
  width: 100% !important;
  min-width: 0 !important;
  max-width: 560px !important;
}

body.single-product .mdm-simple-gallery .mdm-main-image{
  width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  aspect-ratio: 1 / 1;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.single-product .mdm-simple-gallery .mdm-main-image img,
body.single-product .woocommerce-product-gallery img{
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}

body.single-product .mdm-simple-gallery .mdm-thumbs{
  max-width: 100% !important;
  flex-wrap: wrap !important;
}

/* Everything inside the summary must be allowed to shrink with the column. */
body.single-product .summary.entry-summary,
body.single-product .summary.entry-summary > *,
body.single-product .summary.entry-summary form,
body.single-product .summary.entry-summary table,
body.single-product .summary.entry-summary .mspc-wrapper,
body.single-product .summary.entry-summary .mspc-content,
body.single-product .summary.entry-summary .single_variation_wrap,
body.single-product .summary.entry-summary .woocommerce-variation{
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.single-product .product_title.entry-title,
body.single-product h1.product_title{
  max-width: 100% !important;
  font-size: clamp(28px, 2.25vw, 40px) !important;
  line-height: 1.08 !important;
  overflow-wrap: anywhere;
}

/* MSPC option grids: responsive counts instead of a forced desktop row. */
body.single-product .mspc-wrapper .mspc-tab-content.mspc-variations,
body.single-product .mspc-wrapper.mspc-items-vertical .mspc-tab-content.mspc-variations{
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body.single-product .mspc-wrapper .mspc-tab-content.mspc-variations .mspc-variation,
body.single-product .mspc-wrapper.mspc-items-vertical .mspc-tab-content.mspc-variations .mspc-variation{
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: none !important;
}

@media (max-width: 1280px) and (min-width: 1101px){
  body.single-product .mspc-wrapper .mspc-tab-content.mspc-variations,
  body.single-product .mspc-wrapper.mspc-items-vertical .mspc-tab-content.mspc-variations{
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px){
  body.single-product .mspc-wrapper .mspc-tab-content.mspc-variations,
  body.single-product .mspc-wrapper.mspc-items-vertical .mspc-tab-content.mspc-variations{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
}

@media (max-width: 430px){
  body.single-product .mspc-wrapper .mspc-tab-content.mspc-variations,
  body.single-product .mspc-wrapper.mspc-items-vertical .mspc-tab-content.mspc-variations{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Quantity + cart button wrap instead of pushing outside the viewport. */
body.single-product .summary.entry-summary form.cart,
body.single-product .summary.entry-summary .variations_form.cart,
body.single-product .summary.entry-summary .woocommerce-variation-add-to-cart{
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

body.single-product form.cart .quantity{
  flex: 0 0 auto !important;
  min-width: 0 !important;
}

body.single-product form.cart .single_add_to_cart_button{
  flex: 1 1 260px !important;
  min-width: min(260px, 100%) !important;
  max-width: 100% !important;
  white-space: normal !important;
}

@media (max-width: 560px){
  body.single-product form.cart .quantity,
  body.single-product form.cart .single_add_to_cart_button{
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
  }

  body.single-product form.cart .quantity .qty{
    width: 100% !important;
  }
}

/* V277 form safety: configurator form stays vertical; only the actual buy row flexes. */
body.single-product .summary.entry-summary form.variations_form.cart{
  display: block !important;
  width: 100% !important;
}

body.single-product .summary.entry-summary .woocommerce-variation-add-to-cart,
body.single-product .summary.entry-summary .variations_button{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body.single-product .summary.entry-summary select,
body.single-product .summary.entry-summary input,
body.single-product .summary.entry-summary button,
body.single-product .summary.entry-summary .mspc-menu-item,
body.single-product .summary.entry-summary .mspc-tab-content{
  max-width: 100% !important;
  box-sizing: border-box !important;
}


/* ==========================================================
   V278 – Compact Product Options
   V277 made every MSPC option fill its responsive grid cell. That is
   useful for large colour groups, but small groups such as Format and
   Tillbehör became stretched across the whole row. JavaScript marks
   groups with six or fewer options as .mdm278-compact-options.
   ========================================================== */
body.single-product .mspc-wrapper .mspc-tab-content.mspc-variations.mdm278-compact-options,
body.single-product .mspc-wrapper.mspc-items-vertical .mspc-tab-content.mspc-variations.mdm278-compact-options{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  align-content:flex-start !important;
  column-gap:22px !important;
  row-gap:18px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:visible !important;
}

body.single-product .mspc-wrapper .mspc-tab-content.mspc-variations.mdm278-compact-options > .mspc-variation,
body.single-product .mspc-wrapper.mspc-items-vertical .mspc-tab-content.mspc-variations.mdm278-compact-options > .mspc-variation{
  flex:0 0 96px !important;
  width:96px !important;
  min-width:96px !important;
  max-width:96px !important;
  box-sizing:border-box !important;
  justify-self:auto !important;
}

/* Keep image/title centred inside compact choices, matching the colour swatches. */
body.single-product .mspc-tab-content.mspc-variations.mdm278-compact-options > .mspc-variation .mspc-attribute-image,
body.single-product .mspc-tab-content.mspc-variations.mdm278-compact-options > .mspc-variation img{
  margin-left:auto !important;
  margin-right:auto !important;
}

body.single-product .mspc-tab-content.mspc-variations.mdm278-compact-options > .mspc-variation .mspc-text-wrapper{
  width:100% !important;
  max-width:96px !important;
  text-align:center !important;
}

@media (max-width:560px){
  body.single-product .mspc-wrapper .mspc-tab-content.mspc-variations.mdm278-compact-options,
  body.single-product .mspc-wrapper.mspc-items-vertical .mspc-tab-content.mspc-variations.mdm278-compact-options{
    column-gap:12px !important;
    row-gap:14px !important;
  }
  body.single-product .mspc-wrapper .mspc-tab-content.mspc-variations.mdm278-compact-options > .mspc-variation,
  body.single-product .mspc-wrapper.mspc-items-vertical .mspc-tab-content.mspc-variations.mdm278-compact-options > .mspc-variation{
    flex-basis:88px !important;
    width:88px !important;
    min-width:88px !important;
    max-width:88px !important;
  }
  body.single-product .mspc-tab-content.mspc-variations.mdm278-compact-options > .mspc-variation .mspc-text-wrapper{
    max-width:88px !important;
  }
}

/* ==========================================================
   V279 – Global Compact Product Options
   Alla MSPC-val använder samma kompakta, vänsterställda flöde.
   Detta ersätter V277:s utdragna grid och V278:s antalstyrda specialfall.
   Gäller Format, Färg, Modell, Tillbehör, Tryck och övriga val på alla produkter.
   ========================================================== */
body.single-product .mspc-wrapper .mspc-tab-content.mspc-variations,
body.single-product .mspc-wrapper.mspc-items-vertical .mspc-tab-content.mspc-variations,
body.single-product .mspc-wrapper .mspc-tab-content.mspc-variations.mdm278-compact-options,
body.single-product .mspc-wrapper.mspc-items-vertical .mspc-tab-content.mspc-variations.mdm278-compact-options{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  align-content:flex-start !important;
  column-gap:14px !important;
  row-gap:14px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:visible !important;
}

body.single-product .mspc-wrapper .mspc-tab-content.mspc-variations > .mspc-variation,
body.single-product .mspc-wrapper.mspc-items-vertical .mspc-tab-content.mspc-variations > .mspc-variation,
body.single-product .mspc-wrapper .mspc-tab-content.mspc-variations.mdm278-compact-options > .mspc-variation,
body.single-product .mspc-wrapper.mspc-items-vertical .mspc-tab-content.mspc-variations.mdm278-compact-options > .mspc-variation{
  flex:0 0 104px !important;
  width:104px !important;
  min-width:104px !important;
  max-width:104px !important;
  box-sizing:border-box !important;
  justify-self:auto !important;
  margin:0 !important;
}

body.single-product .mspc-tab-content.mspc-variations > .mspc-variation .mspc-attribute-image,
body.single-product .mspc-tab-content.mspc-variations > .mspc-variation img{
  margin-left:auto !important;
  margin-right:auto !important;
}

body.single-product .mspc-tab-content.mspc-variations > .mspc-variation .mspc-text-wrapper{
  width:100% !important;
  max-width:104px !important;
  text-align:center !important;
}

@media (max-width:767px){
  body.single-product .mspc-wrapper .mspc-tab-content.mspc-variations,
  body.single-product .mspc-wrapper.mspc-items-vertical .mspc-tab-content.mspc-variations,
  body.single-product .mspc-wrapper .mspc-tab-content.mspc-variations.mdm278-compact-options,
  body.single-product .mspc-wrapper.mspc-items-vertical .mspc-tab-content.mspc-variations.mdm278-compact-options{
    column-gap:10px !important;
    row-gap:12px !important;
  }

  body.single-product .mspc-wrapper .mspc-tab-content.mspc-variations > .mspc-variation,
  body.single-product .mspc-wrapper.mspc-items-vertical .mspc-tab-content.mspc-variations > .mspc-variation{
    flex-basis:92px !important;
    width:92px !important;
    min-width:92px !important;
    max-width:92px !important;
  }

  body.single-product .mspc-tab-content.mspc-variations > .mspc-variation .mspc-text-wrapper{
    max-width:92px !important;
  }
}

@media (max-width:430px){
  body.single-product .mspc-wrapper .mspc-tab-content.mspc-variations,
  body.single-product .mspc-wrapper.mspc-items-vertical .mspc-tab-content.mspc-variations{
    column-gap:8px !important;
    row-gap:10px !important;
  }

  body.single-product .mspc-wrapper .mspc-tab-content.mspc-variations > .mspc-variation,
  body.single-product .mspc-wrapper.mspc-items-vertical .mspc-tab-content.mspc-variations > .mspc-variation{
    flex-basis:86px !important;
    width:86px !important;
    min-width:86px !important;
    max-width:86px !important;
  }

  body.single-product .mspc-tab-content.mspc-variations > .mspc-variation .mspc-text-wrapper{
    max-width:86px !important;
  }
}


/* ==========================================================
   V280 – Unified Responsive Option Grid
   - Colour groups fill the available row evenly and wrap to new rows.
   - Other option groups stay compact and left-aligned.
   - Strong selectors intentionally neutralize V145/V150/V169/V227-V279
     legacy width rules so every product uses the same layout logic.
   ========================================================== */
body.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-tab-content.mspc-variations,
body.single-product .summary.entry-summary .mspc-wrapper .mspc-tab-content.mspc-variations{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  padding:16px 14px 14px !important;
  margin:0 !important;
  overflow:hidden !important;
  align-items:start !important;
  align-content:start !important;
}

/* Colours: use the whole row, then create as many rows as needed. */
body.single-product .summary.entry-summary .mspc-wrapper .mspc-tab-content.mspc-variations.mdm280-color-grid,
body.single-product .summary.entry-summary .mspc-wrapper [class*="mspc-pa_"][class*="farg"].mspc-variations,
body.single-product .summary.entry-summary .mspc-wrapper [class*="mspc-pa_"][class*="color"].mspc-variations,
body.single-product .summary.entry-summary .mspc-wrapper .mspc-pa_valj-kantbands-farg.mspc-variations{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(108px,1fr)) !important;
  column-gap:10px !important;
  row-gap:16px !important;
  justify-content:stretch !important;
}

/* Format, model, accessories, print etc: compact cards that wrap naturally. */
body.single-product .summary.entry-summary .mspc-wrapper .mspc-tab-content.mspc-variations.mdm280-option-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(96px,112px)) !important;
  column-gap:12px !important;
  row-gap:14px !important;
  justify-content:start !important;
}

/* Every option must stay inside its grid cell – no legacy fixed width may win. */
body.single-product .summary.entry-summary .mspc-wrapper .mspc-tab-content.mspc-variations > .mspc-variation,
body.single-product .summary.entry-summary .mspc-wrapper .mspc-tab-content.mspc-variations.mdm280-color-grid > .mspc-variation,
body.single-product .summary.entry-summary .mspc-wrapper .mspc-tab-content.mspc-variations.mdm280-option-grid > .mspc-variation,
body.single-product .summary.entry-summary .mspc-wrapper .mspc-pa_valj-kantbands-farg.mspc-variations > .mspc-variation{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  flex:none !important;
  margin:0 !important;
  padding:6px 4px 4px !important;
  box-sizing:border-box !important;
  justify-self:stretch !important;
  text-align:center !important;
  overflow:visible !important;
}

/* Uniform visual size for image/swatch options across American, Berlin, Oxford, etc. */
body.single-product .summary.entry-summary .mspc-wrapper .mspc-tab-content.mspc-variations > .mspc-variation img.mspc-attribute-image,
body.single-product .summary.entry-summary .mspc-wrapper .mspc-tab-content.mspc-variations > .mspc-variation .mspc-attribute-image,
body.single-product .summary.entry-summary .mspc-wrapper .mspc-tab-content.mspc-variations > .mspc-variation img{
  width:76px !important;
  height:76px !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:100% !important;
  max-height:76px !important;
  object-fit:cover !important;
  display:block !important;
  margin:0 auto 9px !important;
  border-radius:8px !important;
}

body.single-product .summary.entry-summary .mspc-wrapper .mspc-tab-content.mspc-variations > .mspc-variation .mspc-text-wrapper,
body.single-product .summary.entry-summary .mspc-wrapper .mspc-tab-content.mspc-variations > .mspc-variation .mspc-attribute-title{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  text-align:center !important;
  overflow-wrap:anywhere !important;
  box-sizing:border-box !important;
}

/* Keep the selected outline inside the group instead of touching/crossing its edge. */
body.single-product .summary.entry-summary .mspc-wrapper .mspc-tab-content.mspc-variations > .mspc-variation.mdm-selected,
body.single-product .summary.entry-summary .mspc-wrapper .mspc-tab-content.mspc-variations > .mspc-variation.selected,
body.single-product .summary.entry-summary .mspc-wrapper .mspc-tab-content.mspc-variations > .mspc-variation.mspc-active{
  outline-offset:-1px !important;
}

@media (max-width:900px){
  body.single-product .summary.entry-summary .mspc-wrapper .mspc-tab-content.mspc-variations.mdm280-color-grid,
  body.single-product .summary.entry-summary .mspc-wrapper [class*="mspc-pa_"][class*="farg"].mspc-variations,
  body.single-product .summary.entry-summary .mspc-wrapper .mspc-pa_valj-kantbands-farg.mspc-variations{
    grid-template-columns:repeat(auto-fit,minmax(98px,1fr)) !important;
  }
}

@media (max-width:767px){
  body.single-product .summary.entry-summary .mspc-wrapper .mspc-content .mspc-tab-content.mspc-variations,
  body.single-product .summary.entry-summary .mspc-wrapper .mspc-tab-content.mspc-variations{
    padding:12px 10px !important;
  }
  body.single-product .summary.entry-summary .mspc-wrapper .mspc-tab-content.mspc-variations.mdm280-color-grid,
  body.single-product .summary.entry-summary .mspc-wrapper [class*="mspc-pa_"][class*="farg"].mspc-variations,
  body.single-product .summary.entry-summary .mspc-wrapper .mspc-pa_valj-kantbands-farg.mspc-variations{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:12px 8px !important;
  }
  body.single-product .summary.entry-summary .mspc-wrapper .mspc-tab-content.mspc-variations.mdm280-option-grid{
    grid-template-columns:repeat(auto-fill,minmax(86px,102px)) !important;
    gap:11px 9px !important;
  }
  body.single-product .summary.entry-summary .mspc-wrapper .mspc-tab-content.mspc-variations > .mspc-variation img.mspc-attribute-image,
  body.single-product .summary.entry-summary .mspc-wrapper .mspc-tab-content.mspc-variations > .mspc-variation .mspc-attribute-image,
  body.single-product .summary.entry-summary .mspc-wrapper .mspc-tab-content.mspc-variations > .mspc-variation img{
    width:68px !important;
    height:68px !important;
    max-height:68px !important;
  }
}

@media (max-width:390px){
  body.single-product .summary.entry-summary .mspc-wrapper .mspc-tab-content.mspc-variations.mdm280-color-grid,
  body.single-product .summary.entry-summary .mspc-wrapper [class*="mspc-pa_"][class*="farg"].mspc-variations,
  body.single-product .summary.entry-summary .mspc-wrapper .mspc-pa_valj-kantbands-farg.mspc-variations{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}


/* ==========================================================
   V298 – PRODUCT FIRST / COMPACT RIGHT COLUMN
   Final override layer. This file loads after style.css.
   ========================================================== */

/* Keep image + configurator side-by-side much further down than V297.
   The old <=1100px stack was the main reason the configurator took over
   the whole visible page on narrower desktop/laptop windows. */
@media (min-width: 781px){
  body.single-product.mdm-native-product-options .mdm-product-top,
  body.single-product.mdm-native-product-options .woocommerce div.product .mdm-product-top,
  body.single-product.mdm-native-product-options div.product .mdm-product-top{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 430px !important;
    gap:18px !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    align-items:start !important;
    justify-content:stretch !important;
  }

  body.single-product.mdm-native-product-options .mdm-product-top > .mdm-simple-gallery,
  body.single-product.mdm-native-product-options .mdm-product-top > .woocommerce-product-gallery,
  body.single-product.mdm-native-product-options .woocommerce div.product .mdm-product-top > .images,
  body.single-product.mdm-native-product-options div.product .mdm-product-top > .images{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    justify-self:stretch !important;
    margin:0 !important;
    float:none !important;
    flex:initial !important;
  }

  body.single-product.mdm-native-product-options .mdm-product-top > .summary,
  body.single-product.mdm-native-product-options .mdm-product-top > .summary.entry-summary,
  body.single-product.mdm-native-product-options .woocommerce div.product .mdm-product-top > .summary.entry-summary,
  body.single-product.mdm-native-product-options div.product .mdm-product-top > .summary.entry-summary,
  body.single-product.mdm-native-product-options .summary.entry-summary{
    width:430px !important;
    min-width:430px !important;
    max-width:430px !important;
    margin:0 !important;
    justify-self:end !important;
    float:none !important;
    flex:initial !important;
  }
}

/* Title / price stay above the choices and do not visually overpower the product. */
body.single-product.mdm-native-product-options .summary.entry-summary .product_title,
body.single-product.mdm-native-product-options .summary.entry-summary h1.product_title{
  width:100% !important;
  max-width:100% !important;
  margin:0 0 5px !important;
  font-size:30px !important;
  line-height:1.08 !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

body.single-product.mdm-native-product-options .summary.entry-summary > .price,
body.single-product.mdm-native-product-options .summary.entry-summary > p.price{
  width:100% !important;
  max-width:100% !important;
  margin:0 0 10px !important;
  font-size:22px !important;
  line-height:1.15 !important;
  font-weight:500 !important;
}

/* The variation form follows the right column width exactly. */
body.single-product.mdm-native-product-options .summary.entry-summary form.variations_form,
body.single-product.mdm-native-product-options .summary.entry-summary form.variations_form.cart{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:430px !important;
  margin:0 0 0 auto !important;
}

/* Compact configurator shell. */
body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator{
  --mdm298-card-width:98px;
  --mdm298-gap:5px;
  width:100% !important;
  max-width:430px !important;
  margin:0 !important;
  padding:0 !important;
  display:grid !important;
  gap:5px !important;
  border:0 !important;
  background:transparent !important;
}

body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm287-step{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:0 !important;
  border:1px solid #e3dfd7 !important;
  border-radius:10px !important;
  overflow:hidden !important;
  background:#fff !important;
}
body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm287-step + .mdm287-step{
  border-top:1px solid #e3dfd7 !important;
}

/* Smaller headings: the product must be visually more important than the controls. */
body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm287-step-head{
  width:100% !important;
  min-height:42px !important;
  height:auto !important;
  padding:6px 9px !important;
  display:grid !important;
  grid-template-columns:28px minmax(0,1fr) auto 14px !important;
  column-gap:7px !important;
  align-items:center !important;
  background:#fff !important;
  border:0 !important;
  border-radius:0 !important;
}

body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-step-number{
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  line-height:28px !important;
  font-size:13px !important;
}

body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm287-step-title{
  font-size:16px !important;
  line-height:1.08 !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm287-step-value{
  min-height:0 !important;
  margin:0 !important;
  padding:2px 6px !important;
  font-size:11.5px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  color:#7e5c1f !important;
  background:#fff9ed !important;
  border:1px solid #d8bd7e !important;
  border-radius:999px !important;
  box-shadow:none !important;
  white-space:nowrap !important;
}
body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm287-step-value:empty{
  display:none !important;
}
body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-chevron{
  width:9px !important;
  height:9px !important;
}

/* Heading sits directly above the choices; almost no unused panel padding. */
body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm287-step-panel{
  width:100% !important;
  max-width:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:6px 7px 7px !important;
  display:flex !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  border-top:1px solid #eeeae2 !important;
  overflow:hidden !important;
}

/* Fixed card width, always the same whether a row has 2, 3 or 4 options. */
body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm287-options-grid{
  display:grid !important;
  grid-template-columns:repeat(var(--mdm287-cols), var(--mdm298-card-width)) !important;
  column-gap:var(--mdm298-gap) !important;
  row-gap:var(--mdm298-gap) !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  justify-content:start !important;
  justify-items:stretch !important;
  align-items:start !important;
}

body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm287-option,
body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm287-option.no-image{
  width:var(--mdm298-card-width) !important;
  min-width:var(--mdm298-card-width) !important;
  max-width:var(--mdm298-card-width) !important;
  min-height:0 !important;
  margin:0 !important;
  padding:2px !important;
  box-sizing:border-box !important;
  border-radius:9px !important;
}

/* COLOUR = reference size from V297. Do not make it larger. */
body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm289-step-color .mdm287-option-image{
  width:76px !important;
  height:76px !important;
  aspect-ratio:1/1 !important;
  padding:0.8mm !important;
  margin:0 auto !important;
  box-sizing:content-box !important;
  border-radius:10px !important;
}
body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm289-step-color .mdm287-option-image img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:cover !important;
  border-radius:8px !important;
}

/* FORMAT / ACCESSORY use the SAME card footprint as colour,
   but the actual artwork is smaller inside it (about 15%). */
body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm289-step-format .mdm287-option-image,
body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm289-step-accessory .mdm287-option-image{
  width:76px !important;
  height:76px !important;
  aspect-ratio:1/1 !important;
  padding:0.8mm !important;
  margin:0 auto !important;
  display:grid !important;
  place-items:center !important;
  box-sizing:content-box !important;
  border-radius:10px !important;
}
body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm289-step-format .mdm287-option-image img,
body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm289-step-accessory .mdm287-option-image img{
  width:auto !important;
  height:auto !important;
  max-width:85% !important;
  max-height:85% !important;
  object-fit:contain !important;
  border-radius:6px !important;
}

body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm287-option-label{
  display:block !important;
  width:100% !important;
  margin:2px 0 0 !important;
  padding:0 !important;
  font-size:12px !important;
  line-height:1.08 !important;
  font-weight:800 !important;
  text-align:center !important;
}

/* Selected state remains visible, without growing the card. */
body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm287-option.is-selected .mdm287-option-image,
body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm287-option[aria-pressed="true"] .mdm287-option-image{
  border-color:#c6a25a !important;
  box-shadow:0 0 0 1px #c6a25a !important;
  background:#fffaf0 !important;
}

/* Reset sits close to the configurator. */
body.single-product.mdm-native-product-options .summary.entry-summary form.variations_form .mdm287-reset-row{
  width:100% !important;
  max-width:430px !important;
  margin:4px 0 5px !important;
  padding:0 !important;
  text-align:right !important;
}
body.single-product.mdm-native-product-options .summary.entry-summary form.variations_form .mdm287-reset{
  font-size:12px !important;
  line-height:1.1 !important;
}

/* Quantity + BUY immediately below, exactly the same total width as configurator. */
body.single-product.mdm-native-product-options .summary.entry-summary .single_variation_wrap,
body.single-product.mdm-native-product-options .summary.entry-summary .woocommerce-variation-add-to-cart,
body.single-product.mdm-native-product-options .summary.entry-summary .woocommerce-variation-add-to-cart.variations_button{
  width:100% !important;
  max-width:430px !important;
}
body.single-product.mdm-native-product-options .summary.entry-summary .woocommerce-variation-add-to-cart,
body.single-product.mdm-native-product-options .summary.entry-summary .woocommerce-variation-add-to-cart.variations_button{
  display:grid !important;
  grid-template-columns:68px minmax(0,1fr) !important;
  gap:7px !important;
  align-items:stretch !important;
  margin:0 !important;
}
body.single-product.mdm-native-product-options .summary.entry-summary form.cart .quantity,
body.single-product.mdm-native-product-options .summary.entry-summary .woocommerce-variation-add-to-cart .quantity{
  width:68px !important;
  min-width:68px !important;
  max-width:68px !important;
  margin:0 !important;
}
body.single-product.mdm-native-product-options .summary.entry-summary form.cart .quantity .qty,
body.single-product.mdm-native-product-options .summary.entry-summary .woocommerce-variation-add-to-cart .quantity .qty{
  width:68px !important;
  height:44px !important;
  min-height:44px !important;
  padding:0 5px !important;
  border-radius:9px !important;
  font-size:15px !important;
}
body.single-product.mdm-native-product-options .summary.entry-summary form.cart .single_add_to_cart_button,
body.single-product.mdm-native-product-options .summary.entry-summary .woocommerce-variation-add-to-cart .single_add_to_cart_button{
  width:100% !important;
  height:44px !important;
  min-height:44px !important;
  margin:0 !important;
  padding:0 12px !important;
  border:1px solid #b78e3d !important;
  border-radius:9px !important;
  background:#c6a25a !important;
  color:#17130d !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.25px !important;
  box-shadow:none !important;
}
body.single-product.mdm-native-product-options .summary.entry-summary form.cart .single_add_to_cart_button:hover,
body.single-product.mdm-native-product-options .summary.entry-summary .woocommerce-variation-add-to-cart .single_add_to_cart_button:hover{
  background:#b99449 !important;
  color:#111 !important;
}

/* Only genuinely narrow screens stack the product. */
@media (max-width:780px){
  body.single-product.mdm-native-product-options .mdm-product-top,
  body.single-product.mdm-native-product-options .woocommerce div.product .mdm-product-top,
  body.single-product.mdm-native-product-options div.product .mdm-product-top{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:18px !important;
    width:100% !important;
  }

  body.single-product.mdm-native-product-options .mdm-product-top > .summary,
  body.single-product.mdm-native-product-options .mdm-product-top > .summary.entry-summary,
  body.single-product.mdm-native-product-options .summary.entry-summary,
  body.single-product.mdm-native-product-options .summary.entry-summary form.variations_form,
  body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator,
  body.single-product.mdm-native-product-options .summary.entry-summary .single_variation_wrap,
  body.single-product.mdm-native-product-options .summary.entry-summary .woocommerce-variation-add-to-cart{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }

  body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator{
    --mdm298-card-width:98px;
  }
}

@media (max-width:480px){
  body.single-product.mdm-native-product-options .summary.entry-summary .product_title,
  body.single-product.mdm-native-product-options .summary.entry-summary h1.product_title{
    font-size:27px !important;
  }
  body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm287-options-grid{
    --mdm287-cols:2 !important;
    grid-template-columns:repeat(2,var(--mdm298-card-width)) !important;
  }
}


/* ==========================================================
   V300 – 5-up selector + real sequential panels + product/cart polish
   ========================================================== */

/* CRITICAL: later V298 flex rules must never override the hidden attribute. */
body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm287-step-panel[hidden]{
  display:none !important;
}

/* Five compact options per row on desktop. */
@media (min-width:781px){
  body.single-product.mdm-native-product-options .mdm-product-top,
  body.single-product.mdm-native-product-options .woocommerce div.product .mdm-product-top,
  body.single-product.mdm-native-product-options div.product .mdm-product-top{
    grid-template-columns:minmax(0,1fr) 460px !important;
    gap:20px !important;
  }

  body.single-product.mdm-native-product-options .mdm-product-top > .summary,
  body.single-product.mdm-native-product-options .mdm-product-top > .summary.entry-summary,
  body.single-product.mdm-native-product-options .woocommerce div.product .mdm-product-top > .summary.entry-summary,
  body.single-product.mdm-native-product-options div.product .mdm-product-top > .summary.entry-summary,
  body.single-product.mdm-native-product-options .summary.entry-summary{
    width:460px !important;
    min-width:460px !important;
    max-width:460px !important;
  }

  body.single-product.mdm-native-product-options .summary.entry-summary form.variations_form,
  body.single-product.mdm-native-product-options .summary.entry-summary form.variations_form.cart,
  body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator,
  body.single-product.mdm-native-product-options .summary.entry-summary .single_variation_wrap,
  body.single-product.mdm-native-product-options .summary.entry-summary .woocommerce-variation-add-to-cart,
  body.single-product.mdm-native-product-options .summary.entry-summary form.variations_form .mdm287-reset-row{
    max-width:460px !important;
  }

  body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator{
    --mdm298-card-width:84px;
    --mdm298-gap:4px;
  }

  body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm287-options-grid{
    grid-template-columns:repeat(var(--mdm287-cols), var(--mdm298-card-width)) !important;
    column-gap:var(--mdm298-gap) !important;
    row-gap:var(--mdm298-gap) !important;
  }

  body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm287-step-panel{
    padding:6px 7px 7px !important;
  }

  body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm287-option,
  body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm287-option.no-image{
    width:var(--mdm298-card-width) !important;
    min-width:var(--mdm298-card-width) !important;
    max-width:var(--mdm298-card-width) !important;
  }

  /* Keep the colour swatch feel from V298 but fit five across. */
  body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm289-step-color .mdm287-option-image,
  body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm289-step-format .mdm287-option-image,
  body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm289-step-accessory .mdm287-option-image{
    width:68px !important;
    height:68px !important;
  }

  body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm289-step-format .mdm287-option-image img,
  body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm289-step-accessory .mdm287-option-image img{
    max-width:84% !important;
    max-height:84% !important;
  }

  body.single-product.mdm-native-product-options .summary.entry-summary .mdm289-configurator .mdm287-option-label{
    font-size:11.5px !important;
    line-height:1.05 !important;
  }
}

/* Give the product image the space it already owns – do not cap it at intrinsic CSS size. */
@media (min-width:781px){
  body.single-product.mdm-native-product-options .mdm-product-top > .mdm-simple-gallery{
    max-width:none !important;
    width:100% !important;
  }
  body.single-product.mdm-native-product-options .mdm-simple-gallery .mdm-main-image{
    width:100% !important;
    max-width:none !important;
    overflow:hidden !important;
  }
  body.single-product.mdm-native-product-options .mdm-simple-gallery .mdm-main-image img{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:contain !important;
  }
}

/* Product information now uses the width below BOTH gallery and configurator. */
body.single-product .mdm300-product-information{
  width:100% !important;
  max-width:1180px !important;
  margin:26px auto 20px !important;
  padding:24px 26px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.8fr) minmax(250px,.8fr) !important;
  gap:34px !important;
  align-items:start !important;
  background:#fff !important;
  border:1px solid #e3dfd7 !important;
  border-top:3px solid #c6a25a !important;
  border-radius:14px !important;
  box-shadow:0 8px 24px rgba(45,38,27,.035) !important;
}
body.single-product .mdm300-product-copy{
  min-width:0 !important;
  font-size:16px !important;
  line-height:1.62 !important;
  color:#2a2927 !important;
}
body.single-product .mdm300-product-copy > *:first-child{margin-top:0 !important;}
body.single-product .mdm300-product-copy > *:last-child{margin-bottom:0 !important;}
body.single-product .mdm300-product-copy h2,
body.single-product .mdm300-product-copy h3{
  margin:0 0 10px !important;
  font-size:24px !important;
  line-height:1.15 !important;
}
body.single-product .mdm300-product-meta{
  min-width:0 !important;
  padding:16px 18px !important;
  background:#fbfaf7 !important;
  border:1px solid #ebe5d9 !important;
  border-radius:12px !important;
}
body.single-product .mdm300-product-meta .product_meta{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  font-size:14px !important;
  line-height:1.55 !important;
}
body.single-product .mdm300-product-meta .product_meta > span{
  display:block !important;
  margin:0 0 9px !important;
}
body.single-product .mdm300-product-meta .product_meta > span:last-child{margin-bottom:0 !important;}

@media (max-width:780px){
  body.single-product .mdm300-product-information{
    grid-template-columns:1fr !important;
    gap:16px !important;
    padding:18px !important;
    margin-top:18px !important;
  }
}

/* Added-to-cart notice in the same Menydesign visual language. */
body.single-product .woocommerce-message,
body.single-product .woocommerce-info,
body.single-product .woocommerce-error{
  position:relative !important;
  max-width:1180px !important;
  min-height:58px !important;
  margin:12px auto 22px !important;
  padding:15px 178px 15px 52px !important;
  display:flex !important;
  align-items:center !important;
  color:#25231f !important;
  background:#fffdf8 !important;
  border:1px solid #e3dfd7 !important;
  border-top:3px solid #c6a25a !important;
  border-radius:12px !important;
  box-shadow:0 8px 24px rgba(45,38,27,.035) !important;
  outline:none !important;
}
body.single-product .woocommerce-message::before{
  color:#c6a25a !important;
  left:18px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  font-size:20px !important;
}
body.single-product .woocommerce-message .button,
body.single-product .woocommerce-info .button{
  position:absolute !important;
  right:14px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  min-width:142px !important;
  min-height:38px !important;
  padding:9px 16px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#c6a25a !important;
  border:1px solid #b78e3d !important;
  border-radius:9px !important;
  color:#17130d !important;
  font-weight:800 !important;
  text-decoration:none !important;
}
body.single-product .woocommerce-message .button:hover{background:#b99449 !important;}

@media (max-width:620px){
  body.single-product .woocommerce-message,
  body.single-product .woocommerce-info,
  body.single-product .woocommerce-error{
    padding:14px 14px 14px 44px !important;
    display:block !important;
  }
  body.single-product .woocommerce-message .button,
  body.single-product .woocommerce-info .button{
    position:static !important;
    transform:none !important;
    margin:10px 0 0 !important;
  }
}

/* V300 CART – same white / warm gold / rounded card language. */
body.woocommerce-cart .site-main,
body.woocommerce-cart main.site-main,
body.woocommerce-cart .woocommerce,
body.woocommerce-cart .woocommerce-page{
  max-width:1220px !important;
}
body.woocommerce-cart h1.entry-title,
body.woocommerce-cart .entry-title,
body.woocommerce-cart .woocommerce h1{
  font-size:36px !important;
  line-height:1.08 !important;
  margin:0 0 20px !important;
  font-weight:700 !important;
}
body.woocommerce-cart table.shop_table{
  border:1px solid #e3dfd7 !important;
  border-top:3px solid #c6a25a !important;
  border-radius:14px !important;
  box-shadow:0 8px 24px rgba(45,38,27,.035) !important;
  overflow:hidden !important;
}
body.woocommerce-cart table.shop_table thead th{
  background:#fbfaf7 !important;
  color:#24211c !important;
  font-size:14px !important;
  font-weight:800 !important;
  padding:15px 14px !important;
}
body.woocommerce-cart table.shop_table td{
  padding:18px 14px !important;
  border-color:#eee9df !important;
}
body.woocommerce-cart td.product-thumbnail{
  width:118px !important;
  min-width:118px !important;
}
body.woocommerce-cart td.product-thumbnail img{
  width:94px !important;
  max-width:94px !important;
  padding:5px !important;
  background:#fff !important;
  border:1px solid #e7e1d5 !important;
  border-radius:10px !important;
  box-shadow:0 8px 18px rgba(45,38,27,.06) !important;
}
body.woocommerce-cart td.product-name{
  min-width:330px !important;
}
body.woocommerce-cart td.product-name > a{
  margin-bottom:10px !important;
  font-size:18px !important;
  font-weight:800 !important;
}
body.woocommerce-cart td.product-name .variation{
  display:grid !important;
  grid-template-columns:max-content 1fr !important;
  gap:5px 14px !important;
  margin:8px 0 0 !important;
  padding:10px 12px !important;
  background:#fbfaf7 !important;
  border:1px solid #eee8dc !important;
  border-radius:9px !important;
}
body.woocommerce-cart td.product-name .variation dt{
  color:#7e5c1f !important;
  font-weight:800 !important;
}
body.woocommerce-cart td.product-name .variation dd{
  color:#24211c !important;
  font-weight:600 !important;
}
body.woocommerce-cart td.product-price,
body.woocommerce-cart td.product-subtotal{
  color:#7e5c1f !important;
  font-size:17px !important;
  font-weight:800 !important;
}
body.woocommerce-cart td.product-quantity input.qty{
  width:66px !important;
  height:42px !important;
  border:1px solid #d9d3c7 !important;
  border-radius:9px !important;
  background:#fff !important;
  font-size:16px !important;
}
body.woocommerce-cart td.product-remove a.remove{
  display:inline-flex !important;
  width:30px !important;
  height:30px !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  color:#8d3028 !important;
  background:#fff7f5 !important;
  font-size:21px !important;
  text-decoration:none !important;
}
body.woocommerce-cart .actions{
  padding:14px !important;
  background:#fbfaf7 !important;
}
body.woocommerce-cart .coupon .input-text{
  height:44px !important;
  border:1px solid #d9d3c7 !important;
  border-radius:9px !important;
  background:#fff !important;
}
body.woocommerce-cart .coupon button.button,
body.woocommerce-cart .actions button.button,
body.woocommerce-cart .actions input.button{
  min-height:44px !important;
  padding:9px 16px !important;
  background:#c6a25a !important;
  border:1px solid #b78e3d !important;
  border-radius:9px !important;
  color:#17130d !important;
  font-weight:800 !important;
}
body.woocommerce-cart .coupon button.button:hover,
body.woocommerce-cart .actions button.button:hover{background:#b99449 !important;}
body.woocommerce-cart .actions button.button:disabled,
body.woocommerce-cart .actions button.button.disabled{
  opacity:.45 !important;
  background:#d7cfbe !important;
  border-color:#d7cfbe !important;
  color:#6f6a60 !important;
}
body.woocommerce-cart .cart_totals{
  max-width:520px !important;
  padding:20px !important;
  background:#fff !important;
  border:1px solid #e3dfd7 !important;
  border-top:3px solid #c6a25a !important;
  border-radius:14px !important;
  box-shadow:0 8px 24px rgba(45,38,27,.035) !important;
}
body.woocommerce-cart .cart_totals h2{
  margin:0 0 12px !important;
  font-size:22px !important;
  font-weight:800 !important;
}
body.woocommerce-cart .cart_totals .shop_table{
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  background:#c6a25a !important;
  border-color:#b78e3d !important;
  color:#17130d !important;
  min-height:54px !important;
  border-radius:10px !important;
  font-size:17px !important;
  font-weight:900 !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{
  background:#b99449 !important;
  border-color:#a98037 !important;
  color:#111 !important;
}

@media (max-width:900px){
  body.woocommerce-cart td.product-name{
    min-width:0 !important;
  }
  body.woocommerce-cart td.product-name .variation{
    grid-template-columns:1fr !important;
  }
  body.woocommerce-cart .cart_totals{
    max-width:100% !important;
  }
}
