/* -----------------------------
   Single Product: Variations Row
   (final: single source of truth)
-------------------------------- */

.single-product .wp-block-add-to-cart-form {
  --wc-form-border-radius: 10px;
  --wc-form-border-color: rgba(97, 125, 122, 0.45);
  --wc-form-border-width: 1px;
}

.single-product .gd-variations-bar {
  display: none !important;
}

.single-product form.variations_form table.variations {
  display: table;
  width: 100%;
  max-width: 100%;
  table-layout: auto;
  border-collapse: separate;
  border-spacing: 0;
}

.single-product form.variations_form table.variations tbody {
  display: table-row-group;
  width: auto;
}

.single-product form.variations_form table.variations tbody tr {
  display: table-row;
}

.single-product form.variations_form table.variations th.label {
  display: table-cell;
  padding: 0 8px 0 0;
  margin: 0;
  white-space: nowrap;
  vertical-align: middle;
  width: auto;
}

.single-product form.variations_form table.variations th.label label {
  font-size: inherit;
  font-weight: 700;
  letter-spacing: normal;
  text-transform: none;
  opacity: 1;
  line-height: 1.1;
  margin: 0;
}

.single-product form.variations_form table.variations td.value {
  width: 100%;
  min-width: 0;
  padding: 0;
  margin: 0;
  vertical-align: middle;
  display: grid;
  grid-template-columns: minmax(0, 200px) minmax(0, 120px) 1fr 260px;
  align-items: center;
  justify-content: stretch;
  justify-items: stretch;
  column-gap: 12px;
  row-gap: 10px;
}

/* Place the select in column 1 */
.single-product form.variations_form table.variations td.value > select {
  grid-column: 1;
}

/* Place the qty wrap in column 2 */
.single-product form.variations_form table.variations td.value > .gd-qty-wrap {
  grid-column: 2;
}

/* Place the price summary in the LAST column (4), not the spacer (3) */
.single-product form.variations_form table.variations td.value > .gd-price-summary {
  grid-column: 4;
  width: max-content;
  max-width: 100%;
  justify-self: end;
}

.single-product form.variations_form table.variations td.value select {
  width: 100%;
  max-width: 200px;
  min-width: 0 !important;
  height: 44px;
  background: #fff;
  border: var(--wc-form-border-width) solid var(--wc-form-border-color);
  border-radius: var(--wc-form-border-radius);
  padding: 10px 12px;
  box-sizing: border-box;
  font-family: inherit;
}

.single-product.woocommerce div.product form.cart table.variations td select {
  min-width: 0 !important;
  width: auto !important;
}

.single-product .gd-qty-wrap {
  min-width: 0;
  display: grid;
  grid-template-columns: auto 72px;
  align-items: center;
  column-gap: 6px;
}

.single-product .gd-qty-label {
  margin: 0;
  font-size: inherit;
  font-weight: 700;
  letter-spacing: normal;
  text-transform: none;
  opacity: 1;
  line-height: 1.1;
  white-space: nowrap;
}

.single-product .gd-qty-wrap .quantity .qty,
.single-product .gd-qty-wrap .quantity input.input-text.qty {
  height: 44px;
  width: 72px;
  margin-right: 0;
  border-radius: var(--wc-form-border-radius);
  border: var(--wc-form-border-width) solid var(--wc-form-border-color);
  background: #fff;
  padding: 0 10px;
  box-sizing: border-box;
}

.woocommerce.single-product div.product form.cart .gd-qty-wrap div.quantity .qty,
.woocommerce.single-product div.product form.cart .gd-qty-wrap div.quantity input.input-text.qty {
  margin-right: 0;
}

.single-product .gd-qty-wrap .quantity {
  overflow: visible;
}

.single-product .gd-price-summary {
  margin-right: 0;
  padding-right: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 18px;
  align-items: center;
  text-align: right;
  white-space: nowrap;
  justify-content: end;
}

.single-product .gd-price-each,
.single-product .gd-price-total {
  display: grid;
  grid-template-rows: auto auto;
  justify-items: end;
  row-gap: 4px;
  min-width: 7.5rem;
  text-align: right;
}

.single-product .gd-price-total {
  min-width: calc(7.5rem + 10px);
}

.single-product .gd-price-label {
  margin: 0;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.85;
  line-height: 1.1;
}

.single-product .gd-price-amount {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.1;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.single-product .gd-price-summary.is-empty {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.single-product .gd-price-summary:not(.is-empty) {
  visibility: visible;
  opacity: 1;
}

.single-product .gd-product-content-module-inject {
  margin-top: 16px;
  margin-bottom: 16px;
}

.single-product form.variations_form a.reset_variations,
.single-product form.variations_form a.gd-reset-variations {
  display: none !important;
  visibility: hidden !important;
}

.single-product .woocommerce-variation-price {
  margin-top: 0;
}

.single-product .woocommerce-variation-price.gd-hide-woo-price {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

@media (max-width: 720px) {
  .single-product form.variations_form table.variations,
  .single-product form.variations_form table.variations tbody,
  .single-product form.variations_form table.variations tbody tr,
  .single-product form.variations_form table.variations th.label,
  .single-product form.variations_form table.variations td.value {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .single-product form.variations_form table.variations tbody tr {
    align-items: stretch;
  }

  .single-product form.variations_form table.variations th.label {
    padding: 0 0 6px;
  }

  .single-product form.variations_form table.variations td.value {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
    column-gap: 0;
    row-gap: 12px;
  }

  .single-product form.variations_form table.variations td.value > select {
    grid-column: 1;
    width: 100% !important;
    min-width: 0 !important;
  }

  .single-product form.variations_form table.variations td.value > .gd-qty-wrap {
    grid-column: 1;
  }

  .single-product form.variations_form table.variations td.value > .gd-price-summary {
    grid-column: 1 / -1;
    width: 100%;
    justify-self: stretch;
  }

  .single-product form.variations_form table.variations td.value select {
    max-width: 100%;
    display: block;
    line-height: normal;
    margin: 0;
    transform: none;
    appearance: auto;
  }

  .single-product .gd-qty-wrap {
    grid-template-columns: 1fr;
    row-gap: 0;
  }

  .single-product .gd-qty-wrap .quantity .qty,
  .single-product .gd-qty-wrap .quantity input.input-text.qty {
    width: 100%;
  }

  .single-product .gd-price-summary {
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    column-gap: clamp(18px, 8vw, 34px);
    white-space: normal;
  }

  .single-product .gd-price-each,
  .single-product .gd-price-total {
    min-width: 0;
    width: auto;
    justify-items: center;
    text-align: center;
  }

  .single-product .gd-price-total {
    text-align: center;
  }

  .single-product .gd-price-each .gd-price-amount,
  .single-product .gd-price-each .gd-price-label,
  .single-product .gd-price-total .gd-price-amount,
  .single-product .gd-price-total .gd-price-label {
    justify-self: center;
  }

  .single-product .gd-price-amount {
    font-size: 1.25rem;
    white-space: normal;
  }
}

/* -----------------------------
 * Product Gallery Spacing
 * ----------------------------- */

/* Add space below main image */
.woocommerce-product-gallery .flex-viewport{
  margin-bottom: 20px;
}

/* Ensure thumbs don’t collapse upward */
.woocommerce-product-gallery .flex-control-thumbs{
  margin-top: 0;
}

/* -----------------------------
 * Product Gallery Thumbnail Spacing (force gaps)
 * ----------------------------- */

/* Force a 4-up grid with real gaps */
.woocommerce-product-gallery .flex-control-thumbs{
  margin: 0;
  padding: 0;
}

.woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li{
  /* 4 columns with 10px gaps => 3 gaps per row */
  width: calc((100% - 30px) / 4) !important;
  margin: 0 10px 10px 0 !important;
  padding: 0 !important;
  float: left; /* keep Woo’s float layout */
  box-sizing: border-box;
}

/* No right margin on every 4th item */
.woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n){
  margin-right: 0 !important;
}

/* -----------------------------
   Tier pricing table: prevent overflow
   .dynamic-pricing-table .variations-table
-------------------------------- */

/* Wrapper owns overflow; never forces column wider */
.dynamic-pricing-table {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Ensure the table itself respects the column width */
@media (min-width: 521px) {
  .dynamic-pricing-table table.variations-table {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
    table-layout: fixed; /* allows columns to shrink instead of forcing overflow */
  }

  /* Cells: allow shrinking; prevent long content from forcing width */
  .dynamic-pricing-table table.variations-table th,
  .dynamic-pricing-table table.variations-table td {
    max-width: 0; /* critical with table-layout: fixed */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; /* keeps price columns tidy */
  }
}

/* -----------------------------
 * Specs Table (glassical-woo)
 * NOTE: Keep plugin-output styling in this plugin CSS (do not move to theme).
 * ----------------------------- */

.glassical-specs table.shop_attributes{
  width:100%;
  border:1px solid var(--wp--preset--color--base-3, #e5e5e5);
  border-collapse:collapse;
  background:transparent;
}

.glassical-specs table.shop_attributes tr{
  border-bottom:1px solid var(--wp--preset--color--base-3, #e5e5e5);
}

.glassical-specs table.shop_attributes th,
.glassical-specs table.shop_attributes td{
  padding:16px 20px;
  vertical-align:top;
  background:transparent;
}

.glassical-specs table.shop_attributes th{
  text-align:left !important;
  font-weight:500;
  width:240px;
  background:transparent;
}

.woocommerce .glassical-specs table.shop_attributes td{
  text-align:left;
  font-style:normal;
}

.glassical-specs table.shop_attributes td p{
  margin:0;
}

.glassical-specs em,
.glassical-specs i,
.glassical-specs td *,
.glassical-specs td strong{
  font-style:normal;
}

.glassical-specs .att-prop{
  display:block;
  margin:0 0 6px 0;
}

.glassical-specs .row{
  display:block;
  margin:0;
}

.glassical-specs .att-item{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 8px 0;
}

.glassical-specs .att-item img{
  width:30px;
  height:30px;
  object-fit:contain;
  display:block;
}

.glassical-specs a.attribute-sm{
  text-decoration:underline;
  text-underline-offset:3px;
}

.single-product h2.gw-heading--feature {
  font-size: 40px;
  color: var(--wp--preset--color--muted-sage, #617d7a);
  margin-bottom: 60px;
}

.single-product figure.gw-icon-muted {
  color: var(--wp--preset--color--muted-sage, #617d7a);
}

/* Inline SVGs inherit color; SVGs loaded via <img> are tinted via filter. */
.single-product figure.gw-icon-muted svg {
  fill: currentColor;
}

.single-product figure.gw-icon-muted img[src$=".svg"] {
  filter: brightness(0) saturate(100%) invert(48%) sepia(12%) saturate(569%) hue-rotate(123deg) brightness(93%) contrast(87%);
}

/* -----------------------------
 * Product Page Button System (glassical-woo)
 * ----------------------------- */

a.gw-btn,
.wp-block-button.gw-btn > .wp-block-button__link,
.single-product button.single_add_to_cart_button,
.single-product .woocommerce a.button,
.single-product .woocommerce button.button {
  font-weight: 600;
  padding: 12px 22px;
  border-radius: 8px;
  line-height: 1;
  font-style: normal;
  text-decoration: none;
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.single-product button.single_add_to_cart_button,
a.gw-btn.gw-btn--primary,
.wp-block-button.gw-btn.gw-btn--primary > .wp-block-button__link {
  background: var(--wp--preset--color--sage, rgb(32, 68, 69));
  color: var(--wp--preset--color--base, #fff);
}

/* Secondary buttons: lock border in all states */
.single-product a.gw-btn.gw-btn--secondary,
.single-product a.gw-btn.gw-btn--secondary:visited,
.single-product .wp-block-button.gw-btn.gw-btn--secondary > .wp-block-button__link,
.single-product .wp-block-button.gw-btn.gw-btn--secondary > .wp-block-button__link:visited,
.single-product a.button.gw-btn.gw-btn--secondary,
.single-product a.button.gw-btn.gw-btn--secondary:visited,
.single-product button.button.gw-btn.gw-btn--secondary {
  box-sizing: border-box;
  border: 2px solid var(--wp--preset--color--gold, #b79a5a) !important;
  background: var(--wp--preset--color--gold, #b79a5a);
  color: var(--wp--preset--color--base, #fff);
  transition: background-color 0.2s ease, color 0.2s ease;
}

.single-product .wc-pao-addon-description a.gd-pao-download.gw-btn {
  display: inline-flex;
  font-weight: 600 !important;
  padding: 12px 22px;
  border-radius: 8px;
  line-height: 1;
  letter-spacing: 0;
}

.gw-btn--utility {
  background: rgba(0, 0, 0, 0.05);
  border-color: rgba(0, 0, 0, 0.15);
  color: inherit;
}

a.gw-btn:hover,
.wp-block-button.gw-btn > .wp-block-button__link:hover,
.single-product button.single_add_to_cart_button:hover,
.single-product .woocommerce a.button:hover,
.single-product .woocommerce button.button:hover {
  filter: brightness(0.95);
}

.single-product a.gw-btn.gw-btn--secondary:hover,
.single-product a.gw-btn.gw-btn--secondary:focus-visible,
.single-product .wp-block-button.gw-btn.gw-btn--secondary > .wp-block-button__link:hover,
.single-product .wp-block-button.gw-btn.gw-btn--secondary > .wp-block-button__link:focus-visible,
.single-product a.button.gw-btn.gw-btn--secondary:hover,
.single-product a.button.gw-btn.gw-btn--secondary:focus-visible,
.single-product button.button.gw-btn.gw-btn--secondary:hover,
.single-product button.button.gw-btn.gw-btn--secondary:focus-visible {
  border: 2px solid var(--wp--preset--color--gold, #b79a5a) !important;
  background: transparent !important;
  color: var(--wp--preset--color--gold, #b79a5a) !important;
  filter: none;
}

/* Ensure padding doesn’t change between states */
.single-product a.gw-btn.gw-btn--secondary,
.single-product button.button.gw-btn.gw-btn--secondary {
  padding: 12px 22px;
  border-radius: 8px;
  font-weight: 600;
  line-height: 1;
}

.single-product .wp-block-button.gw-btn.gw-btn--secondary > .wp-block-button__link {
  padding: 12px 22px;
  border-radius: 8px;
  font-weight: 600;
  line-height: 1;
}

.single-product .wc-pao-addon-description a.gd-pao-download.gw-btn {
  display: inline-flex;
  letter-spacing: 0;
}

.single-product .wc-pao-addon-description a.gd-pao-download.gw-btn:hover,
.single-product .wc-pao-addon-description a.gd-pao-download.gw-btn:focus-visible {
  background: transparent;
  color: var(--wp--preset--color--gold, #b79a5a);
  border: 2px solid var(--wp--preset--color--gold, #b79a5a) !important;
  filter: none;
}

a.gw-btn:focus-visible,
.wp-block-button.gw-btn > .wp-block-button__link:focus-visible,
.single-product button.single_add_to_cart_button:focus-visible,
.single-product .woocommerce a.button:focus-visible,
.single-product .woocommerce button.button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

.glassical-specs a.imprint-details {
  margin-top: 10px;
}

.woocommerce-tabs ul.tabs li a{
  text-transform:uppercase;
  color:var(--wp--preset--color--sage, #617d7a);
  letter-spacing:0.02em;
}

.woocommerce-tabs ul.tabs li.active a{
  text-transform:uppercase;
  color:var(--wp--preset--color--sage, #617d7a);
  border-bottom:2px solid var(--wp--preset--color--sage, #617d7a);
}

/* -----------------------------
 * Specs Table (glassical-woo) — polish pass
 * ----------------------------- */

/* 1) Hard kill any background shading */
.glassical-specs table.shop_attributes tr,
.glassical-specs table.shop_attributes th,
.glassical-specs table.shop_attributes td{
  background: transparent !important;
}

/* 2) Tighten stacked lines inside value cells */
.glassical-specs .att-prop{
  margin: 0 0 2px 0;   /* was looser */
  line-height: 1.25;
}

/* If the markup includes <br>, keep it from adding extra perceived space */
.glassical-specs td br{
  display: none;
}

/* 3) Give value cells more breathing room from borders */
.glassical-specs table.shop_attributes td{
  padding-top: 18px;
  padding-bottom: 18px;
  line-height: 1.35;
}

/* Keep label cells comfortable too */
.glassical-specs table.shop_attributes th{
  padding-top: 18px;
  padding-bottom: 18px;
}

/* 4) Align single-line rows better (Material/Color/Size) */
.glassical-specs tr.gw-row-material th,
.glassical-specs tr.gw-row-color th,
.glassical-specs tr.gw-row-size th{
  vertical-align: middle;
}

.glassical-specs tr.gw-row-material td,
.glassical-specs tr.gw-row-color td,
.glassical-specs tr.gw-row-size td{
  vertical-align: middle;
}

/* Fallback: if those row classes don’t exist, target by label text classes Woo adds */
.glassical-specs tr.woocommerce-product-attributes-item--attribute_pa_material th,
.glassical-specs tr.woocommerce-product-attributes-item--attribute_pa_color th,
.glassical-specs tr.woocommerce-product-attributes-item--attribute_pa_size th,
.glassical-specs tr.woocommerce-product-attributes-item--attribute_pa_material td,
.glassical-specs tr.woocommerce-product-attributes-item--attribute_pa_color td,
.glassical-specs tr.woocommerce-product-attributes-item--attribute_pa_size td{
  vertical-align: middle;
}

/* 5) Tabs: refine active underline */
.woocommerce-tabs ul.tabs li a{
  text-transform: uppercase;
}

.woocommerce-tabs ul.tabs li.active a{
  border-bottom-width: 3px; /* slightly thicker active indicator */
}

/* -----------------------------
 * Specs Table — Woo overrides
 * ----------------------------- */

/* Normalize label font weight */
.glassical-specs table.shop_attributes th{
  font-weight: 400 !important; /* override Woo 700 */
}

/* Ensure consistent 8px padding on ALL cells */
.glassical-specs table.shop_attributes th,
.glassical-specs table.shop_attributes td{
  padding: 8px !important;
}

/* -----------------------------
 * Specs Table — vertical alignment
 * ----------------------------- */
.glassical-specs table.shop_attributes th,
.glassical-specs table.shop_attributes td{
  vertical-align: top !important;
}

/* First column (Size) can be a bit more flexible */
.dynamic-pricing-table table.variations-table th:first-child,
.dynamic-pricing-table table.variations-table td:first-child {
  white-space: nowrap;
}

/* Optional: tighten a hair on smaller screens so it fits more often */
@media (max-width: 980px) {
  .dynamic-pricing-table table.variations-table {
    font-size: 0.95em;
  }
}

/* -----------------------------
 * Custom File Upload Control (glassical-woo)
 * ----------------------------- */

.single-product .gw-file {
  display: flex;
  align-items: stretch;
  width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  max-width: 100%;
}

.single-product .gw-file__btn {
  background: rgba(0, 0, 0, 0.06);
  color: #111;
  border: 0;
  border-right: 1px solid rgba(0, 0, 0, 0.12);
  padding: 10px 16px;
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  border-radius: 8px 0 0 8px;
  white-space: nowrap;
}

.single-product .gw-file__btn:hover {
  background: rgba(0, 0, 0, 0.08);
}

.single-product .gw-file__btn:focus-visible {
  outline: 2px solid rgba(0, 0, 0, 0.5);
  outline-offset: 2px;
}

.single-product .gw-file__name {
  display: flex;
  align-items: center;
  background: #fff;
  padding: 0 12px;
  min-width: 0;
  flex: 1;
}

.single-product .gw-file__name span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.single-product .gw-file__input {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

/* Fallback when JS enhancement has not run yet */
.single-product .wc-pao-addon-wrap input[type="file"].wc-pao-addon-field:not(.gw-file__input) {
  width: 100%;
}

/* -----------------------------
   Single Product: Add to cart + Quote buttons
-------------------------------- */

.single-product .woocommerce-variation-add-to-cart.variations_button {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button,
.single-product .woocommerce-variation-add-to-cart .gd-quote-button {
  float: none !important;
  white-space: nowrap;
  box-sizing: border-box;
}

.single-product form.cart.gd-simple-cart .gd-simple-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: 16px;
}

.single-product form.cart.gd-simple-cart .gd-simple-actions .single_add_to_cart_button,
.single-product form.cart.gd-simple-cart .gd-simple-actions .gd-quote-button {
  float: none !important;
  white-space: nowrap;
  box-sizing: border-box;
  margin: 0;
}

@media (max-width: 720px) {
  .single-product form.cart.gd-simple-cart .gd-simple-actions {
    align-items: stretch;
  }
}

@media (max-width: 520px) {
  .single-product form.cart,
  .single-product form.variations_form,
  .single-product .wp-block-add-to-cart-form,
  .single-product .wp-block-woocommerce-add-to-cart-form,
  .single-product .wp-block-woocommerce-add-to-cart-with-options,
  .single-product .woocommerce-variation-add-to-cart,
  .single-product .single_variation_wrap {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .single-product form.variations_form table.variations td.value {
    grid-template-columns: 1fr;
  }

  .single-product form.variations_form table.variations th.label label,
  .single-product .gd-qty-label {
    display: block;
    min-height: 1.1em;
    margin: 0 0 6px;
    line-height: 1.1;
  }

  .single-product form.variations_form table.variations th.label label {
    padding-top: 0;
    transform: none;
  }

  .single-product .gd-qty-wrap .quantity {
    width: 100%;
  }

  .single-product .woocommerce-variation-add-to-cart.variations_button,
  .single-product form.cart.gd-simple-cart .gd-simple-actions {
    width: 100%;
    align-items: stretch;
  }

  .single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button,
  .single-product .woocommerce-variation-add-to-cart .gd-quote-button,
  .single-product form.cart.gd-simple-cart .gd-simple-actions .single_add_to_cart_button,
  .single-product form.cart.gd-simple-cart .gd-simple-actions .gd-quote-button,
  .single-product .wc-pao-addon-description a.gd-pao-download.gw-btn {
    width: 100%;
    max-width: 100%;
    white-space: normal;
    text-align: center;
  }

  .single-product .gw-file {
    min-width: 0;
  }

  .single-product .gw-file__btn {
    flex: 0 0 auto;
    padding-right: 12px;
    padding-left: 12px;
    font-size: 0.95rem;
  }

  .single-product .gw-file__name {
    min-width: 0;
    padding-right: 10px;
    padding-left: 10px;
  }
}

@media (max-width: 360px) {
  .single-product form.variations_form table.variations td.value {
    grid-template-columns: 1fr;
  }

  .single-product form.variations_form table.variations td.value > select,
  .single-product form.variations_form table.variations td.value > .gd-qty-wrap,
  .single-product form.variations_form table.variations td.value > .gd-price-summary {
    grid-column: 1;
  }
}

/* -----------------------------
   Prevent Woo variation output twitch
-------------------------------- */

/* Make Woo's injected variation output not affect layout */
.single-product form.variations_form .single_variation_wrap {
  position: relative;
  min-height: 0; /* remove any reserved height attempts */
}

.single-product
  form.variations_form
  .single_variation_wrap
  .woocommerce-variation.single_variation {
  position: absolute !important;
  left: -9999px !important;
  top: 0 !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Also ensure its children can't introduce height */
.single-product
  form.variations_form
  .single_variation_wrap
  .woocommerce-variation.single_variation
  > * {
  display: none !important;
}
