/* Ross Pearson 2.6.1 — stable confirmed product layout. */
.single-product .rps-confirmed-product {
  display: grid !important;
  grid-template-columns: minmax(0, 1.06fr) minmax(360px, .94fr) !important;
  column-gap: clamp(42px, 6vw, 86px) !important;
  row-gap: 0 !important;
  align-items: start !important;
}

.single-product .rps-confirmed-product > .woocommerce-product-gallery,
.single-product .rps-confirmed-product > .summary {
  width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  margin: 0 !important;
}

.single-product .rps-confirmed-product .rps-product-gallery,
.single-product .rps-confirmed-product .rps-product-gallery__stage {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.single-product .rps-confirmed-product .rps-product-gallery__stage {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
}

.single-product .rps-confirmed-product .rps-product-gallery__main-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

.single-product .rps-confirmed-product > .summary {
  padding: 8px 0 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.single-product .rps-confirmed-product form.cart:not(.variations_form) {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 94px minmax(0, 1fr) !important;
  gap: 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.single-product .rps-confirmed-product form.cart .quantity {
  width: 94px !important;
  min-width: 94px !important;
  height: 52px !important;
  display: grid !important;
  grid-template-columns: 30px 34px 30px !important;
  align-items: stretch !important;
  overflow: hidden !important;
  border: 1px solid #c8d8dd !important;
  border-radius: 8px !important;
  background: #fff !important;
}

.single-product .rps-confirmed-product form.cart .quantity .qty,
.single-product .rps-confirmed-product form.cart .quantity input.qty {
  width: 34px !important;
  min-width: 0 !important;
  height: 50px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 1px solid #d9e4e7 !important;
  border-right: 1px solid #d9e4e7 !important;
  border-radius: 0 !important;
  text-align: center !important;
  appearance: textfield;
}

.single-product .rps-confirmed-product form.cart .rps-qty-btn {
  position: static !important;
  width: 30px !important;
  min-width: 30px !important;
  height: 50px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #073746 !important;
  font-size: 17px !important;
  font-weight: 800 !important;
}

.single-product .rps-confirmed-product form.cart .single_add_to_cart_button {
  width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  border-radius: 8px !important;
}

.single-product .rps-confirmed-product form.cart .rps-buy-now {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #082e3b !important;
  color: #fff !important;
  font-weight: 800 !important;
}

.single-product .rps-confirmed-product > .woocommerce-tabs,
.single-product .rps-confirmed-product > .related,
.single-product .rps-confirmed-product > .upsells,
.single-product .rps-confirmed-product > .rps-recently-viewed,
.single-product .rps-confirmed-product > .rps-mobile-sticky-atc {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}

.single-product .rps-confirmed-product .related ul.products,
.single-product .rps-confirmed-product .upsells ul.products,
.single-product .rps-confirmed-product .rps-recently-viewed ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(16px, 2vw, 24px) !important;
}

.single-product .rps-confirmed-product .related li.product,
.single-product .rps-confirmed-product .upsells li.product,
.single-product .rps-confirmed-product .rps-recently-viewed li.product {
  width: auto !important;
  margin: 0 !important;
  padding: 0 0 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.single-product .rps-confirmed-product .related li.product img,
.single-product .rps-confirmed-product .upsells li.product img,
.single-product .rps-confirmed-product .rps-recently-viewed li.product img {
  border-radius: 0 !important;
  background: #fff !important;
}

@media (max-width: 960px) {
  .single-product .rps-confirmed-product { display: block !important; }
  .single-product .rps-confirmed-product > .summary { padding-top: 28px !important; }
}

@media (max-width: 760px) {
  .single-product .rps-confirmed-product form.cart:not(.variations_form) { grid-template-columns: 88px minmax(0, 1fr) !important; gap: 8px !important; }
  .single-product .rps-confirmed-product form.cart .quantity { width: 88px !important; min-width: 88px !important; grid-template-columns: 28px 32px 28px !important; }
  .single-product .rps-confirmed-product form.cart .quantity .qty { width: 32px !important; }
  .single-product .rps-confirmed-product form.cart .rps-qty-btn { width: 28px !important; min-width: 28px !important; }
  .single-product .rps-confirmed-product .related ul.products,
  .single-product .rps-confirmed-product .upsells ul.products,
  .single-product .rps-confirmed-product .rps-recently-viewed ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
}

/* 2.6.2: the header cart is an icon control, never a labelled button. */
.rps-control-head__actions .rps-cart-button {
  position: relative !important;
  flex: 0 0 46px !important;
  width: 46px !important;
  min-width: 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 14px !important;
  background: #082e3b !important;
  color: #fff !important;
}

.rps-control-head__actions .rps-cart-button > span:not(.rps-cart-count) {
  display: none !important;
}

.rps-control-head__actions .rps-cart-button > svg {
  width: 21px !important;
  height: 21px !important;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.rps-control-head__actions .rps-cart-button .rps-cart-count {
  position: absolute !important;
  top: -5px !important;
  right: -6px !important;
  width: 19px !important;
  min-width: 19px !important;
  height: 19px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 2px solid #fff;
  border-radius: 50% !important;
  background: #c8ff3d !important;
  color: #082e3b !important;
  font-size: 9px !important;
  line-height: 1 !important;
}

/* 2.6.2: one stable WooCommerce variation layout in the confirmed template. */
.single-product .rps-confirmed-product form.variations_form {
  display: block !important;
  width: 100% !important;
}

.single-product .rps-confirmed-product form.variations_form table.variations {
  width: 100% !important;
  margin: 0 0 20px !important;
}

.single-product .rps-confirmed-product form.variations_form .single_variation_wrap {
  display: block !important;
  width: 100% !important;
}

.single-product .rps-confirmed-product form.variations_form .woocommerce-variation {
  margin: 0 0 14px !important;
  padding: 14px 16px !important;
  border: 1px solid #d9e5e8 !important;
  border-radius: 10px !important;
  background: #f4f8f9 !important;
}

.single-product .rps-confirmed-product form.variations_form .woocommerce-variation:empty {
  display: none !important;
}

.single-product .rps-confirmed-product form.variations_form .woocommerce-variation-add-to-cart {
  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr) !important;
  gap: 10px !important;
  width: 100% !important;
  align-items: stretch !important;
}

.single-product .rps-confirmed-product form.variations_form .quantity {
  width: 112px !important;
  min-width: 112px !important;
  margin: 0 !important;
}

.single-product .rps-confirmed-product form.variations_form .rps-buy-now {
  grid-column: 1 / -1 !important;
}

.single-product .rps-confirmed-product form.variations_form .rps-buy-now:disabled {
  cursor: not-allowed !important;
  opacity: .48 !important;
}

@media (max-width: 560px) {
  .single-product .rps-confirmed-product form.variations_form .woocommerce-variation-add-to-cart {
    grid-template-columns: 96px minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  .single-product .rps-confirmed-product form.variations_form .quantity {
    width: 96px !important;
    min-width: 96px !important;
  }
}
