/*
 * Single Product Modern Surface (LTR base)
 * Scoped to qutoofmart single product layout to avoid global regressions.
 */

body.woocommerce.single-product .qutoofmart-single-product-layout {
  --qutoofmart-sp-border: rgba(15, 23, 42, 0.11);
  --qutoofmart-sp-surface: #ffffff;
  --qutoofmart-sp-surface-soft: #f8fafc;
  --qutoofmart-sp-shadow: 0 2px 8px rgba(2, 8, 23, 0.06);
  --qutoofmart-sp-radius: 18px;
  --qutoofmart-sp-gap: clamp(16px, 2vw, 24px);
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  grid-template-areas:
    "gallery summary"
    "full full";
  align-items: stretch;
  gap: var(--qutoofmart-sp-gap);
  max-width: none;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: clamp(18px, 2.2vw, 30px);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.woocommerce.single-product .qutoofmart-single-product-layout > .qutoofmart-sp-col {
  min-width: 0;
}

body.woocommerce.single-product .qutoofmart-single-product-layout > .qutoofmart-sp-col-gallery,
body.woocommerce.single-product .qutoofmart-single-product-layout > .qutoofmart-sp-col-summary {
  display: flex;
}

body.woocommerce.single-product .qutoofmart-single-product-layout > .qutoofmart-sp-col-gallery {
  grid-area: gallery;
}

body.woocommerce.single-product .qutoofmart-single-product-layout > .qutoofmart-sp-col-summary {
  grid-area: summary;
}

body.woocommerce.single-product .qutoofmart-single-product-layout > .qutoofmart-sp-col-full {
  grid-area: full;
  grid-column: 1 / -1;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-gallery,
body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-summary,
body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-after-summary {
  border: 1px solid var(--qutoofmart-sp-border);
  border-radius: var(--qutoofmart-sp-radius);
  background: linear-gradient(180deg, #ffffff 0%, var(--qutoofmart-sp-surface-soft) 100%);
  box-shadow: var(--qutoofmart-sp-shadow);
  padding: clamp(16px, 2vw, 26px);
  /* height:auto lets each card size to its own content */
  height: auto;
  box-sizing: border-box;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-gallery,
body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-summary {
  width: 100%;
  height: 100%;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-gallery {
  /* Keep desktop gallery/summary cards aligned with equal grid row height */
  position: relative;
  top: auto;
  /* Beat Bootstrap shadow-sm which uses !important */
  box-shadow: none !important;
  /* Column layout so gallery content fills the card height naturally */
  display: flex;
  flex-direction: column;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-gallery .onsale {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  margin: 0;
  padding: 0.34rem 0.65rem;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff6a00 0%, #ff4d00 100%);
  color: #fff;
  font-size: 0.73rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  line-height: 1;
  box-shadow: 0 6px 12px rgba(255, 90, 0, 0.32);
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-gallery::before {
  content: none;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-gallery > * {
  position: relative;
  z-index: 1;
}

/* WooCommerce starts gallery + its children at opacity:0 via inline style,
   and relies on JS to restore them. Override the full chain so the gallery
   is always visible even if JS is slow or fails. */
body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery,
body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .woocommerce-product-gallery__image,
body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .woocommerce-product-gallery__image img {
  opacity: 1 !important;
  visibility: visible !important;
}
body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .images,
body.woocommerce.single-product .qutoofmart-single-product-layout .summary {
  width: 100% !important;
  float: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  margin-bottom: 0 !important;
}

/* ── Gallery image chain: every intermediate element must fill 100% ──── */
body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .woocommerce-product-gallery__image {
  display: block;
  width: 100%;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .woocommerce-product-gallery__image > a {
  display: block;
  width: 100%;
  line-height: 0;
  cursor: zoom-in;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .flex-viewport {
  margin: 0 0 14px;
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: #fff;
  overflow: hidden;
  box-shadow: none;
  /* Enforce square aspect-ratio so the viewport matches the 1/1 image and FlexSlider's inline height doesn't clip content */
  aspect-ratio: 1 / 1;
  width: 100%;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .woocommerce-product-gallery__image,
body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .woocommerce-product-gallery__image > a {
  display: block;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  top: 12px;
  right: 12px;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.94);
  color: #0f172a;
  box-shadow: 0 8px 16px rgba(2, 8, 23, 0.14);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .woocommerce-product-gallery__trigger:hover,
body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .woocommerce-product-gallery__trigger:focus {
  transform: translateY(-1px);
  box-shadow: 0 12px 20px rgba(2, 8, 23, 0.2);
  background: #ffffff;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .woocommerce-product-gallery__trigger::before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  margin: 11px;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 3H3v5h2V5h3V3Zm13 0h-5v2h3v3h2V3ZM5 16H3v5h5v-2H5v-3Zm16 0h-2v3h-3v2h5v-5Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 3H3v5h2V5h3V3Zm13 0h-5v2h3v3h2V3ZM5 16H3v5h5v-2H5v-3Zm16 0h-2v3h-3v2h5v-5Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .flex-viewport img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
  cursor: zoom-in;
  background: linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%);
}

body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .slides li,
body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .woocommerce-product-gallery__image {
  display: flex;
  align-items: center;
  justify-content: center;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .slides li img,
body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .woocommerce-product-gallery__image img {
  max-height: min(72vh, 560px);
  width: auto;
  max-width: 100%;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .zoomImg {
  display: none;
  pointer-events: none;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .flex-control-thumbs {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .flex-control-thumbs li {
  margin: 0;
  flex: 0 0 78px;
  max-width: 78px;
  width: auto !important;
  float: none !important;
  scroll-snap-align: start;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-gallery-thumbs-slider {
  position: relative;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-gallery-thumbs-slider__viewport {
  position: static;
  overflow: visible;
  padding-inline: 0;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-gallery-thumbs-slider__controls {
  display: none !important;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-gallery-thumbs-slider__btn {
  display: none !important;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-gallery-thumbs-slider__btn[disabled] {
  display: none !important;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-gallery-main-nav {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  z-index: 5;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-gallery-main-nav__btn {
  pointer-events: auto;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.15);
  background: rgba(255, 255, 255, 0.96);
  color: #0f172a;
  font-size: 1rem;
  line-height: 1;
  padding: 0;
  box-shadow: 0 5px 12px rgba(2, 8, 23, 0.15);
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-gallery-main-nav__btn[disabled] {
  opacity: 0.35;
  cursor: not-allowed;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .flex-control-thumbs li img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 10px;
  opacity: 0.85;
  transition: transform 0.2s ease, opacity 0.2s ease, border-color 0.2s ease;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .flex-control-thumbs li:hover img,
body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
  opacity: 1;
  transform: translateY(-1px);
  border-color: rgba(255, 90, 0, 0.55);
}

body.woocommerce.single-product .qutoofmart-single-product-layout .summary.entry-summary {
  display: grid;
  gap: 12px;
  width: 100%;
  float: none;
  margin: 0;
  line-height: 1.55;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .summary.entry-summary > * {
  min-width: 0;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .product_title {
  margin: 0;
  font-size: clamp(1.45rem, 2.3vw, 2.05rem);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.01em;
  text-wrap: balance;
  /* Explicit colour ensures title is always visible regardless of theme
     customizer colour cascade or inherited white-on-white scenarios. */
  color: #0f172a;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .summary .price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  font-weight: 800;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .summary .price del {
  font-size: 0.82em;
  opacity: 0.65;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-rating {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-review-link {
  font-size: 0.9rem;
  text-decoration: none;
  border-bottom: 1px dashed currentColor;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-details__short-description {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: rgba(15, 23, 42, 0.84);
  font-size: clamp(0.94rem, 1.12vw, 1rem);
}

/* ── Delivery Info Widget ───────────────────────────────────────────────── */
/* Style the .qutoofmart-delivery-info div the user pastes into short-desc. */
body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-delivery-info {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border-radius: 14px;
  border: 1px solid rgba(255, 90, 0, 0.22);
  background: linear-gradient(135deg, rgba(255, 90, 0, 0.06) 0%, rgba(255, 90, 0, 0.02) 100%);
  position: relative;
  overflow: hidden;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-delivery-info::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(ellipse 70% 60% at 0% 50%, rgba(255, 90, 0, 0.09) 0%, transparent 70%);
  pointer-events: none;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-delivery-info__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: linear-gradient(135deg, #ff6a00 0%, #ff4500 100%);
  box-shadow: 0 6px 16px rgba(255, 90, 0, 0.32);
  font-size: 1.5rem;
  line-height: 1;
  position: relative;
  z-index: 1;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-delivery-info__body {
  flex: 1 1 auto;
  min-width: 0;
  position: relative;
  z-index: 1;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-delivery-info__title {
  margin: 0 0 3px;
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  font-weight: 800;
  line-height: 1.2;
  color: #0f172a;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-delivery-info__subtitle {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 600;
  color: rgba(15, 23, 42, 0.62);
  line-height: 1.3;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-delivery-info__badge {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.72rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff6a00 0%, #ff4500 100%);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: 0 4px 10px rgba(255, 90, 0, 0.3);
  position: relative;
  z-index: 1;
}

body.woocommerce.single-product .qutoofmart-single-product-layout form.cart {
  margin: 0;
  padding: 12px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 14px;
  background: #ffffff;
}

body.woocommerce.single-product .qutoofmart-single-product-layout form.cart table.group_table {
  margin-bottom: 12px;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 12px;
  overflow: hidden;
}

body.woocommerce.single-product .qutoofmart-single-product-layout form.cart table.group_table td {
  padding: 10px 12px;
  border: 0;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

body.woocommerce.single-product .qutoofmart-single-product-layout form.cart table.group_table tr:last-child td {
  border-bottom: 0;
}

body.woocommerce.single-product .qutoofmart-single-product-layout form.cart table.group_table .woocommerce-grouped-product-list-item__label a {
  font-weight: 700;
  text-decoration: none;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .summary .single_add_to_cart_button,
body.woocommerce.single-product .qutoofmart-single-product-layout .summary .single_add_to_cart_button.alt,
body.woocommerce.single-product .qutoofmart-single-product-layout .summary .cart .button {
  min-height: 44px;
  border-radius: 10px;
  font-weight: 700;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .summary p.cart {
  margin: 0;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .summary p.cart .single_add_to_cart_button,
body.woocommerce.single-product .qutoofmart-single-product-layout .summary p.cart .button {
  width: 100%;
}

body.woocommerce.single-product .qutoofmart-single-product-layout form.cart .variations {
  margin: 0 0 12px;
  border-collapse: separate;
  border-spacing: 0 8px;
}

body.woocommerce.single-product .qutoofmart-single-product-layout form.cart table.variations td,
body.woocommerce.single-product .qutoofmart-single-product-layout form.cart table.variations th {
  padding: 0;
  background: transparent;
}

body.woocommerce.single-product .qutoofmart-single-product-layout form.cart table.variations th {
  font-weight: 700;
  font-size: 0.92rem;
  color: rgba(15, 23, 42, 0.9);
  padding-inline-end: 10px;
}

body.woocommerce.single-product .qutoofmart-single-product-layout form.cart table.variations td.value {
  width: 100%;
}

body.woocommerce.single-product .qutoofmart-single-product-layout form.cart table.variations select {
  width: 100%;
  max-width: none;
  min-height: 44px;
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, 0.2);
  background-color: #fff;
}

body.woocommerce.single-product .qutoofmart-single-product-layout form.cart a.reset_variations {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  margin: 0;
  font-size: 0.86rem;
  font-weight: 700;
  text-decoration: none;
  color: var(--qutoofmart-accent-color, #ff5a00);
}

body.woocommerce.single-product .qutoofmart-single-product-layout form.cart .single_variation_wrap,
body.woocommerce.single-product .qutoofmart-single-product-layout form.cart .variations_button,
body.woocommerce.single-product .qutoofmart-single-product-layout form.cart:not(.variations_form) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

body.woocommerce.single-product .qutoofmart-single-product-layout form.cart .quantity {
  margin: 0;
}

body.woocommerce.single-product .qutoofmart-single-product-layout form.cart .quantity .qty {
  width: 96px;
  min-height: 44px;
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, 0.2);
}

body.woocommerce.single-product .qutoofmart-single-product-layout form.cart .single_add_to_cart_button,
body.woocommerce.single-product .qutoofmart-single-product-layout .summary .button.alt {
  min-height: 44px;
  border-radius: 10px;
  padding: 0.6rem 1.1rem;
  font-weight: 700;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

body.woocommerce.single-product .qutoofmart-single-product-layout form.cart .single_add_to_cart_button:hover,
body.woocommerce.single-product .qutoofmart-single-product-layout .summary .button.alt:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(2, 8, 23, 0.18);
}

body.woocommerce.single-product .qutoofmart-single-product-layout .stock {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  margin: 0;
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  border: 1px solid rgba(15, 23, 42, 0.16);
  background: #fff;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .product_meta {
  margin: 0;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: var(--qutoofmart-sp-surface-soft);
}

body.woocommerce.single-product .qutoofmart-single-product-layout .product_meta > span {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0.36rem 0.45rem;
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, 0.07);
  background: #fff;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-meta.is-compact > span:nth-child(n+3) {
  display: none;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .product_meta .sku_wrapper::before,
body.woocommerce.single-product .qutoofmart-single-product-layout .product_meta .posted_in::before,
body.woocommerce.single-product .qutoofmart-single-product-layout .product_meta .tagged_as::before {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 50%;
  border: 1px solid rgba(15, 23, 42, 0.18);
  background: rgba(255, 255, 255, 0.94);
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 0.72rem;
  color: rgba(15, 23, 42, 0.78);
}

body.woocommerce.single-product .qutoofmart-single-product-layout .product_meta .sku_wrapper::before {
  content: "\f02b";
}

body.woocommerce.single-product .qutoofmart-single-product-layout .product_meta .posted_in::before {
  content: "\f07c";
}

body.woocommerce.single-product .qutoofmart-single-product-layout .product_meta .tagged_as::before {
  content: "\f02c";
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-meta__toggle {
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0.42rem 0.84rem;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.15);
  background: #fff;
  color: rgba(15, 23, 42, 0.88);
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-meta__toggle:hover,
body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-meta__toggle:focus-visible {
  border-color: rgba(255, 90, 0, 0.5);
  color: var(--qutoofmart-accent-color, #ff5a00);
}

body.woocommerce.single-product .qutoofmart-sp-mobile-sticky {
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: calc(10px + env(safe-area-inset-bottom, 0px));
  z-index: 99999;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.14);
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 16px 28px rgba(2, 8, 23, 0.24);
  transform: translateY(120%);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

body.woocommerce.single-product .qutoofmart-sp-mobile-sticky.is-active {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

body.woocommerce.single-product .qutoofmart-sp-mobile-sticky__text {
  flex: 1 1 auto;
  min-width: 0;
}

body.woocommerce.single-product .qutoofmart-sp-mobile-sticky__title {
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.woocommerce.single-product .qutoofmart-sp-mobile-sticky__price {
  margin-top: 2px;
  font-size: 0.84rem;
  line-height: 1.15;
}

body.woocommerce.single-product .qutoofmart-sp-mobile-sticky__price .price {
  margin: 0;
  font-size: inherit;
}

body.woocommerce.single-product .qutoofmart-sp-mobile-sticky__cta {
  min-height: 40px;
  border-radius: 10px;
  padding: 0.45rem 0.92rem;
  white-space: nowrap;
}

body.woocommerce.single-product .qutoofmart-sp-mobile-sticky__cta:disabled,
body.woocommerce.single-product .qutoofmart-sp-mobile-sticky__cta[aria-disabled="true"] {
  opacity: 0.58;
  cursor: not-allowed;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-tabs-wrap .tabs.wc-tabs {
  display: flex;
  flex-wrap: wrap;
  row-gap: 8px;
  column-gap: 8px;
  margin-bottom: 12px;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-tabs-wrap,
body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-after-summary .woocommerce-tabs {
  width: 100%;
  float: none;
  margin: 0;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-tabs-wrap .woocommerce-tabs,
body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-after-summary .woocommerce-tabs {
  padding: 0;
  overflow: visible;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-tabs-wrap .woocommerce-tabs::before,
body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-tabs-wrap .woocommerce-tabs::after,
body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-tabs-wrap .woocommerce-tabs ul.tabs::before,
body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-tabs-wrap .woocommerce-tabs ul.tabs::after,
body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-after-summary .woocommerce-tabs::before,
body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-after-summary .woocommerce-tabs::after,
body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-after-summary .woocommerce-tabs ul.tabs::before,
body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-after-summary .woocommerce-tabs ul.tabs::after {
  display: none;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-tabs-wrap .woocommerce-tabs ul.tabs,
body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-after-summary .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
  float: none;
  margin: 0 0 12px;
  padding: 0;
  border: 0;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-tabs-wrap .woocommerce-tabs ul.tabs li,
body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-after-summary .woocommerce-tabs ul.tabs li {
  float: none;
  border: 0 !important;
  margin: 0;
  position: static;
  top: auto;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-tabs-wrap .woocommerce-tabs ul.tabs li.active,
body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-after-summary .woocommerce-tabs ul.tabs li.active {
  top: auto;
  margin: 0;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-tabs-wrap .woocommerce-tabs ul.tabs li::before,
body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-tabs-wrap .woocommerce-tabs ul.tabs li::after,
body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-after-summary .woocommerce-tabs ul.tabs li::before,
body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-after-summary .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-tabs-wrap .woocommerce-tabs .panel,
body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-after-summary .woocommerce-tabs .panel {
  width: 100%;
  float: none;
  margin: 0;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-tabs-wrap .tabs.wc-tabs li a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0.56rem 1rem;
  border-radius: 0;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 260px;
  color: rgba(15, 23, 42, 0.72);
  transition: all 0.2s ease;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-tabs-wrap .tabs.wc-tabs li.active a {
  border-bottom-color: #ff6a00;
  color: #ff6a00;
  background: transparent;
  box-shadow: none;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-after-summary .woocommerce-tabs ul.tabs li.active a {
  border-bottom-color: #ff6a00;
  color: #ff6a00;
  background: transparent;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-tabs-wrap .tabs.wc-tabs li.active,
body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-after-summary .woocommerce-tabs ul.tabs li.active {
  position: static;
  top: auto;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-tabs-content {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: clamp(14px, 2vw, 22px) 0;
  box-shadow: none;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-Tabs-panel {
  margin: 0;
  padding: 0;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-Tabs-panel > h2,
body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-Tabs-panel .woocommerce-Reviews-title {
  margin: 0 0 12px;
  font-size: clamp(1.05rem, 1.6vw, 1.22rem);
}

body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-Tabs-panel table.shop_attributes {
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 12px;
  overflow: hidden;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-Tabs-panel table.shop_attributes tr:nth-child(odd) td,
body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-Tabs-panel table.shop_attributes tr:nth-child(odd) th {
  background: #f8fafc;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-Tabs-panel table.shop_attributes td,
body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-Tabs-panel table.shop_attributes th {
  padding: 0.72rem 0.84rem;
  border: 0;
}

body.woocommerce.single-product .qutoofmart-single-product-layout #reviews #comments ol.commentlist {
  display: grid;
  gap: 10px;
  margin: 0;
}

body.woocommerce.single-product .qutoofmart-single-product-layout #reviews #comments ol.commentlist li {
  margin: 0;
}

body.woocommerce.single-product .qutoofmart-single-product-layout #reviews #comments ol.commentlist li .comment_container {
  padding: 12px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 12px;
  background: #fff;
}

body.woocommerce.single-product .qutoofmart-single-product-layout #reviews #comments ol.commentlist li img.avatar {
  border-radius: 50%;
  border: 2px solid rgba(255, 90, 0, 0.26);
}

body.woocommerce.single-product .qutoofmart-single-product-layout #review_form_wrapper {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
}

body.woocommerce.single-product .qutoofmart-single-product-layout #review_form_wrapper input[type="text"],
body.woocommerce.single-product .qutoofmart-single-product-layout #review_form_wrapper input[type="email"],
body.woocommerce.single-product .qutoofmart-single-product-layout #review_form_wrapper textarea {
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, 0.18);
  min-height: 44px;
}

body.woocommerce.single-product .qutoofmart-single-product-layout #review_form_wrapper textarea {
  min-height: 110px;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .related.products,
body.woocommerce.single-product .qutoofmart-single-product-layout .upsells.products {
  margin-top: clamp(20px, 3.2vw, 42px);
  margin-left: 0;
  margin-right: 0;
  padding: 0;
  background: #ffffff;
  border: 0;
  border-radius: 0;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .related.products ul.products,
body.woocommerce.single-product .qutoofmart-single-product-layout .upsells.products ul.products {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(10px, 1.8vw, 16px);
  justify-items: stretch;
  margin: 0;
  max-width: none !important;
  width: 100% !important;
}

/* Related products slider (JS-enhanced state). */
body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-related-slider {
  position: relative;
  --qutoofmart-rp-cols: 6;
  --qutoofmart-rp-gap: clamp(10px, 1.8vw, 16px);
  --qutoofmart-rp-nav-size: 36px;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-related-slider__viewport {
  overflow: hidden;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-related-slider.qutoofmart-related-slider--ready ul.products {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--qutoofmart-rp-gap);
  margin: 0;
  padding: 0;
  transform: translate3d(0, 0, 0);
  transition: transform 0.28s ease;
  will-change: transform;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-related-slider.qutoofmart-related-slider--ready ul.products li.product {
  flex: 0 0 calc((100% - (var(--qutoofmart-rp-gap) * (var(--qutoofmart-rp-cols) - 1))) / var(--qutoofmart-rp-cols));
  max-width: none;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-related-slider__controls {
  position: absolute;
  top: 0;
  inset-inline-end: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-related-slider__btn {
  width: var(--qutoofmart-rp-nav-size);
  height: var(--qutoofmart-rp-nav-size);
  border: 1px solid rgba(15, 23, 42, 0.18);
  border-radius: 999px;
  background: #fff;
  color: #0f172a;
  font-size: 1rem;
  line-height: 1;
  padding: 0;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-related-slider__btn[disabled] {
  opacity: 0.35;
  cursor: not-allowed;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-related-slider > h2 {
  margin-bottom: 14px;
  padding-inline-end: calc((var(--qutoofmart-rp-nav-size) * 2) + 12px);
}

body.woocommerce.single-product .qutoofmart-single-product-layout .related.products ul.products li.product,
body.woocommerce.single-product .qutoofmart-single-product-layout .upsells.products ul.products li.product {
  float: none;
  width: 100% !important;
  max-width: none;
  margin: 0;
  padding: 8px;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.09);
  background: #ffffff;
  box-shadow: 0 4px 10px rgba(2, 8, 23, 0.05);
  contain: layout paint style;
  display: flex;
  flex-direction: column;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .related.products ul.products li.product > a,
body.woocommerce.single-product .qutoofmart-single-product-layout .upsells.products ul.products li.product > a {
  text-decoration: none;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .related.products ul.products li.product .woocommerce-loop-product__title,
body.woocommerce.single-product .qutoofmart-single-product-layout .upsells.products ul.products li.product .woocommerce-loop-product__title {
  margin: 7px 0 5px;
  font-size: clamp(0.8rem, 0.95vw, 0.92rem);
  line-height: 1.35;
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.7em;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .related.products ul.products li.product .price,
body.woocommerce.single-product .qutoofmart-single-product-layout .upsells.products ul.products li.product .price {
  font-size: clamp(0.82rem, 0.92vw, 0.9rem);
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 6px;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .related.products ul.products li.product .button,
body.woocommerce.single-product .qutoofmart-single-product-layout .upsells.products ul.products li.product .button {
  min-height: 34px;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 700;
  margin-top: auto;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .related.products ul.products li.product img,
body.woocommerce.single-product .qutoofmart-single-product-layout .upsells.products ul.products li.product img {
  border-radius: 10px;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  margin-bottom: 0;
  background: #f8fafc;
}

body.woocommerce.single-product .qutoofmart-single-product-layout .related.products > h2,
body.woocommerce.single-product .qutoofmart-single-product-layout .upsells.products > h2 {
  font-size: clamp(1.08rem, 1.35vw, 1.28rem);
  margin-bottom: 10px;
  text-align: center;
}

/* ── Review filter buttons: With Images / Verified / All Stars ─────────────
   The photo-reviews plugin (wcpr) uses rgba(0,0,0,0.5) default and
   rgba(0,0,0,0.8)!important on hover and #000 on .wcpr-active.
   We must use !important + higher specificity to beat that. */

/* Default state: light accent pill */
body.woocommerce.single-product .qutoofmart-single-product-layout .wcpr-filter-container .wcpr-filter-button {
  background-color: transparent !important;
  border: 1px solid var(--qutoofmart-accent-color, #ff5a00) !important;
  color: var(--qutoofmart-accent-color, #ff5a00) !important;
  border-radius: 999px !important;
}

/* Hover state: solid accent */
body.woocommerce.single-product .qutoofmart-single-product-layout .wcpr-filter-container .wcpr-filter-button:hover {
  background-color: var(--qutoofmart-accent-color, #ff5a00) !important;
  border-color: var(--qutoofmart-accent-color, #ff5a00) !important;
  color: #fff !important;
}

/* Active/selected state: solid accent */
body.woocommerce.single-product .qutoofmart-single-product-layout .wcpr-filter-container .wcpr-filter-button.wcpr-active {
  background-color: var(--qutoofmart-accent-color, #ff5a00) !important;
  border-color: var(--qutoofmart-accent-color, #ff5a00) !important;
  color: #fff !important;
}

@media (max-width: 991px) {
  body.woocommerce.single-product .qutoofmart-single-product-layout {
    /* Tablet & below: single column, gallery on top, summary below */
    grid-template-columns: 1fr;
    grid-template-areas:
      "gallery"
      "summary"
      "full";
    gap: 14px;
  }

  body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-gallery {
    /* Release sticky so it doesn't block the stacked layout */
    position: static;
    /* Cap gallery height on tablet to avoid giant white square */
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  }

  body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-gallery,
  body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-summary,
  body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-after-summary {
    border-radius: 14px;
    padding: 14px;
  }

  body.woocommerce.single-product .qutoofmart-single-product-layout form.cart .single_variation_wrap,
  body.woocommerce.single-product .qutoofmart-single-product-layout form.cart .variations_button,
  body.woocommerce.single-product .qutoofmart-single-product-layout form.cart:not(.variations_form) {
    align-items: stretch;
  }

  body.woocommerce.single-product .qutoofmart-single-product-layout form.cart table.variations tr {
    display: grid;
    gap: 6px;
    margin-bottom: 8px;
  }

  body.woocommerce.single-product .qutoofmart-single-product-layout .related.products ul.products,
  body.woocommerce.single-product .qutoofmart-single-product-layout .upsells.products ul.products {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: clamp(10px, 1.8vw, 16px);
  }
}

@media (max-width: 767px) {
  body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .flex-viewport,
  body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .slides,
  body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .slides li,
  body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .woocommerce-product-gallery__image,
  body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .woocommerce-product-gallery__image > a {
    min-height: min(78vw, 360px);
  }

  body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .slides li,
  body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .woocommerce-product-gallery__image {
    align-items: center;
    justify-content: center;
  }

  body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .flex-viewport img,
  body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .woocommerce-product-gallery__image img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .flex-control-thumbs li {
    flex-basis: 64px;
    max-width: 64px;
  }

  body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-tabs-wrap .woocommerce-tabs ul.tabs,
  body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-after-summary .woocommerce-tabs ul.tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 12px;
    padding-bottom: 6px;
    margin-bottom: 10px;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-tabs-wrap .woocommerce-tabs ul.tabs::-webkit-scrollbar,
  body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-after-summary .woocommerce-tabs ul.tabs::-webkit-scrollbar {
    display: none;
  }

  body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-tabs-wrap .tabs.wc-tabs li,
  body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-after-summary .woocommerce-tabs ul.tabs li {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }

  body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-product-tabs-wrap .tabs.wc-tabs li a,
  body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-single-product-after-summary .woocommerce-tabs ul.tabs li a {
    max-width: none;
    white-space: nowrap;
    padding-inline: 0.15rem;
  }

  body.woocommerce.single-product .qutoofmart-single-product-layout .qutoofmart-related-slider {
    --qutoofmart-rp-cols: 2;
  }

  body.woocommerce.single-product .qutoofmart-single-product-layout .product_title {
    font-size: clamp(1.22rem, 5.2vw, 1.56rem);
  }

  body.woocommerce.single-product .qutoofmart-single-product-layout .summary .price {
    font-size: clamp(1.12rem, 4.6vw, 1.34rem);
  }

  body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-details__short-description {
    font-size: 0.93rem;
    line-height: 1.52;
  }

  body.woocommerce.single-product .qutoofmart-single-product-layout form.cart .single_add_to_cart_button,
  body.woocommerce.single-product .qutoofmart-single-product-layout .summary .button.alt {
    flex: 1 1 auto;
    width: 100%;
  }

  body.woocommerce.single-product .qutoofmart-single-product-layout form.cart .quantity {
    width: 100%;
  }

  body.woocommerce.single-product .qutoofmart-single-product-layout form.cart .quantity .qty {
    width: 100%;
  }

  body.woocommerce.single-product.qutoofmart-sp-sticky-visible {
    padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
  }

  body.woocommerce.single-product .qutoofmart-single-product-layout #reviews #comments ol.commentlist li .comment_container .comment-text,
  body.woocommerce.single-product .qutoofmart-single-product-layout #reviews #comments ol.commentlist li .comment_container .star-rating,
  body.woocommerce.single-product .qutoofmart-single-product-layout #reviews #comments ol.commentlist li img.avatar {
    float: none;
    width: 100%;
    margin: 0 0 8px;
  }

  body.woocommerce.single-product .qutoofmart-single-product-layout .related.products ul.products,
  body.woocommerce.single-product .qutoofmart-single-product-layout .upsells.products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  body.woocommerce.single-product .qutoofmart-single-product-layout .related.products ul.products li.product,
  body.woocommerce.single-product .qutoofmart-single-product-layout .upsells.products ul.products li.product {
    padding: 7px;
  }
}

@media (max-width: 480px) {
  body.woocommerce.single-product .qutoofmart-single-product-layout {
    --qutoofmart-sp-gap: 12px;
  }

  body.woocommerce.single-product .qutoofmart-single-product-layout .woocommerce-product-gallery .flex-control-thumbs {
    gap: 8px;
  }

  body.woocommerce.single-product .qutoofmart-sp-mobile-sticky {
    left: 8px;
    right: 8px;
    bottom: calc(8px + env(safe-area-inset-bottom, 0px));
    padding: 8px;
    gap: 8px;
  }

  body.woocommerce.single-product .qutoofmart-sp-mobile-sticky__title {
    font-size: 0.8rem;
  }

  body.woocommerce.single-product .qutoofmart-sp-mobile-sticky__price {
    font-size: 0.79rem;
  }

  body.woocommerce.single-product .qutoofmart-sp-mobile-sticky__cta {
    min-height: 38px;
    padding: 0.4rem 0.75rem;
    font-size: 0.8rem;
  }
}
