.beast-shop-wrap{--cyan:#08c6ee;--bg:#0a0b0c;--panel:#101112;--line:#2a2d30;--muted:#9ca3aa;display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;background:#090a0b;color:#fff;padding:22px;font-family:Arial,Helvetica,sans-serif}.beast-shop-wrap *{box-sizing:border-box}.beast-filters{border:1px solid var(--line);border-radius:4px;background:linear-gradient(180deg,#101112,#0c0d0e);align-self:start;overflow:hidden}.beast-filter-head,.beast-filter-section{border-bottom:1px solid #2a2d30}.beast-filter-head{display:flex;justify-content:space-between;align-items:center;padding:18px 14px;font-size:13px}.beast-clear{background:none;border:0;color:var(--cyan);font-size:11px;cursor:pointer}.beast-section-title{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px;background:none;border:0;color:#fff;font-weight:700;font-size:11px;letter-spacing:.25px;cursor:pointer}.beast-filter-body{padding:0 14px 15px}.beast-check-list{display:grid;gap:9px}.beast-check-list label{display:flex;align-items:center;gap:8px;color:#c8cdd1;font-size:11px;cursor:pointer}.beast-check-list em{font-style:normal;color:#8a9095}.beast-check-list input{appearance:none;width:13px;height:13px;border:1px solid #3d4247;background:#111;border-radius:2px;position:relative}.beast-check-list input:checked{border-color:var(--cyan);background:var(--cyan)}.beast-check-list input:checked:after{content:'✓';position:absolute;inset:-2px 0 0 1px;color:#001016;font-size:11px;font-weight:700}.beast-chip-list{display:flex;gap:7px;flex-wrap:wrap}.beast-chip-list input,.beast-color-list input{display:none}.beast-chip{min-width:38px;padding:7px 9px;border:1px solid #3a3e42;border-radius:3px;text-align:center;font-size:10px;color:#c9cdd1;display:inline-block;cursor:pointer}.beast-chip-list input:checked + .beast-chip{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 0 1px rgba(8,198,238,.15) inset}.beast-color-list{display:flex;gap:12px;flex-wrap:wrap}.beast-color-dot,.beast-swatch{display:inline-block;border-radius:50%;background:var(--dot);width:17px;height:17px;border:1px solid #6a7075;cursor:pointer}.beast-color-list input:checked + .beast-color-dot{outline:2px solid var(--cyan);outline-offset:2px}.beast-price-labels,.beast-price-current{display:flex;justify-content:space-between;color:#cbd0d4;font-size:10px}.beast-range-row{position:relative;height:22px}.beast-range-row input{position:absolute;left:0;top:6px;width:100%;accent-color:var(--cyan)}.beast-price-current{color:var(--cyan);margin-top:4px}.beast-view-results{margin:15px;width:calc(100% - 30px);padding:11px;background:transparent;color:var(--cyan);border:1px solid var(--cyan);font-weight:700;font-size:10px;cursor:pointer}.beast-toolbar{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #2a2d30;padding:14px 0 12px}.beast-count{font-size:10px;color:#c2c6ca}.beast-sort-wrap{display:flex;align-items:center;gap:6px;border:1px solid #34383c;border-radius:3px;padding:0 8px 0 10px;color:#d2d5d8;font-size:10px}.beast-sort{background:#101214;color:#dfe2e4;border:0;padding:9px 26px 9px 2px;outline:0;font-size:10px}.beast-grid{display:grid;grid-template-columns:repeat(var(--beast-cols,4),minmax(0,1fr));gap:9px}.beast-card{background:#101112;border:1px solid #25282b;border-radius:3px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.beast-image-wrap{position:relative;aspect-ratio:1/1;background:radial-gradient(circle at 50% 45%,#282a2c,#151617 65%,#111);overflow:hidden}.beast-image-wrap img{width:100%;height:100%;object-fit:contain;display:block;padding:8px;transition:.25s transform}.beast-card:hover .beast-image-wrap img{transform:scale(1.025)}.beast-badge{position:absolute;top:8px;left:8px;z-index:2;background:var(--cyan);color:#001018;font-size:8px;font-weight:800;padding:3px 6px;border-radius:2px}.beast-card-body{padding:10px}.beast-card h3{font-size:11px;line-height:1.3;margin:0 0 7px;text-transform:uppercase}.beast-card h3 a{color:#fff;text-decoration:none}.beast-price{font-size:12px;font-weight:700;margin-bottom:8px;color:#fff}.beast-price del{opacity:.55;margin-right:4px}.beast-swatches{height:20px;display:flex;gap:6px;align-items:center}.beast-swatch{width:12px;height:12px;background:var(--swatch);border-color:#50555a}.beast-add-cart{width:100%;margin-top:9px;padding:10px 8px;background:transparent;color:var(--cyan);border:1px solid var(--cyan);font-size:10px;font-weight:700;text-decoration:none;text-align:center;cursor:pointer;display:block;transition:.2s}.beast-add-cart:hover{background:var(--cyan);color:#031015}.beast-add-cart.is-loading{opacity:.65;pointer-events:none}.beast-add-cart.is-added{background:var(--cyan);color:#031015}.beast-empty,.beast-notice{padding:30px;border:1px solid #2c3033;background:#101112;color:#cfd4d8}.beast-grid.is-loading{opacity:.42;pointer-events:none}.beast-section-title[aria-expanded="false"] + .beast-filter-body{display:none}
@media(max-width:1100px){.beast-shop-wrap{grid-template-columns:200px 1fr}.beast-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.beast-shop-wrap{grid-template-columns:1fr}.beast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.beast-filters{position:relative}.beast-toolbar{gap:10px;flex-wrap:wrap}}
@media(max-width:520px){.beast-shop-wrap{padding:12px}.beast-grid{grid-template-columns:1fr 1fr;gap:7px}.beast-card-body{padding:8px}.beast-card h3{font-size:10px}.beast-toolbar{align-items:flex-start}.beast-sort-wrap{width:100%;justify-content:space-between}.beast-sort{flex:1}}

/* v1.1.0 — larger desktop filter sidebar + properly sized sort control */
@media(min-width:1101px){
  .beast-shop-wrap{
    grid-template-columns:280px minmax(0,1fr);
    gap:26px;
  }
  .beast-filters{
    border-radius:5px;
  }
  .beast-filter-head{
    min-height:62px;
    padding:20px 18px;
    font-size:15px;
  }
  .beast-clear{
    font-size:12px;
    font-weight:600;
  }
  .beast-section-title{
    padding:17px 18px;
    font-size:13px;
  }
  .beast-filter-body{
    padding:0 18px 18px;
  }
  .beast-check-list{
    gap:11px;
  }
  .beast-check-list label{
    gap:10px;
    font-size:12px;
    line-height:1.35;
  }
  .beast-check-list input{
    width:15px;
    height:15px;
    flex:0 0 15px;
  }
  .beast-chip{
    min-width:43px;
    padding:8px 10px;
    font-size:11px;
  }
  .beast-color-dot{
    width:19px;
    height:19px;
  }
  .beast-price-labels,.beast-price-current{
    font-size:11px;
  }
  .beast-range-row{
    height:26px;
  }
  .beast-view-results{
    margin:18px;
    width:calc(100% - 36px);
    min-height:44px;
    padding:12px 14px;
    font-size:11px;
  }
  .beast-toolbar{
    min-height:62px;
    padding:12px 0 14px;
  }
  .beast-count{
    font-size:11px;
  }
  .beast-sort-wrap{
    width:225px;
    min-height:42px;
    padding:0 10px 0 12px;
    gap:10px;
    font-size:11px;
    white-space:nowrap;
    justify-content:flex-start;
  }
  .beast-sort-wrap > span,
  .beast-sort-wrap > label{
    flex:0 0 auto;
    white-space:nowrap;
  }
  .beast-sort{
    min-width:0;
    width:100%;
    flex:1 1 auto;
    padding:11px 30px 11px 6px;
    font-size:11px;
    cursor:pointer;
  }
}

@media(min-width:851px) and (max-width:1100px){
  .beast-shop-wrap{grid-template-columns:240px 1fr;gap:20px}
  .beast-filter-head{padding:18px 16px;font-size:14px}
  .beast-section-title{padding:15px 16px;font-size:12px}
  .beast-filter-body{padding:0 16px 16px}
  .beast-sort-wrap{width:205px;min-height:40px;white-space:nowrap}
  .beast-sort{width:100%;font-size:10px}
}

/* v1.2.0 — larger controls, post-add actions, polished Woo single product page */
.beast-after-cart{display:none;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.beast-after-cart.is-visible{display:grid}
.beast-after-link,.beast-product-link{min-height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #3b4146;color:#d7dce0;background:#131618;text-decoration:none;font-size:9px;font-weight:800;letter-spacing:.02em;transition:.2s}
.beast-after-link:hover,.beast-product-link:hover{border-color:var(--cyan);color:var(--cyan)}
.beast-view-cart{border-color:var(--cyan);color:var(--cyan)}
.beast-product-link{margin-top:8px}

@media(min-width:1101px){
  .beast-shop-wrap{grid-template-columns:320px minmax(0,1fr);gap:30px}
  .beast-filters{min-width:320px}
  .beast-filter-head{min-height:72px;padding:23px 20px;font-size:16px}
  .beast-clear{font-size:13px}
  .beast-section-title{padding:19px 20px;font-size:14px}
  .beast-filter-body{padding:0 20px 20px}
  .beast-check-list{gap:13px}
  .beast-check-list label{font-size:13px;gap:11px}
  .beast-check-list input{width:17px;height:17px;flex-basis:17px}
  .beast-chip{min-width:48px;padding:9px 12px;font-size:12px}
  .beast-color-dot{width:21px;height:21px}
  .beast-price-labels,.beast-price-current{font-size:12px}
  .beast-view-results{margin:20px;width:calc(100% - 40px);min-height:48px;font-size:12px}
  .beast-toolbar{min-height:72px;padding:14px 0 16px}
  .beast-count{font-size:11px}
  .beast-sort-wrap{width:275px;min-height:48px;padding:0 12px 0 14px;gap:12px;font-size:12px;border-radius:4px}
  .beast-sort{padding:13px 34px 13px 8px;font-size:12px}
}

/* WooCommerce single-product styling. Theme-independent where possible. */
body.single-product .site-main,
body.single-product main,
body.single-product .content-area{background:#080a0b;color:#fff}
body.single-product div.product{max-width:1320px;margin:32px auto!important;padding:28px!important;background:#0d0f10;border:1px solid #272b2e;border-radius:6px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);column-gap:48px;align-items:start}
body.single-product div.product .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0!important;background:radial-gradient(circle at 50% 45%,#25282a,#111416 68%,#0d0f10);border:1px solid #25292c;border-radius:5px;padding:18px}
body.single-product div.product .woocommerce-product-gallery img{width:100%;height:auto;object-fit:contain}
body.single-product div.product .summary{width:100%!important;float:none!important;margin:0!important;padding:10px 0;color:#d8dde0}
body.single-product .product_title{color:#fff!important;text-transform:uppercase;font-weight:800;letter-spacing:-.02em;font-size:clamp(28px,3vw,46px);line-height:1.05;margin:0 0 18px!important}
body.single-product div.product p.price,body.single-product div.product span.price{color:#fff!important;font-size:24px!important;font-weight:800}
body.single-product .woocommerce-product-details__short-description{color:#b9c0c5;line-height:1.7;margin:18px 0}
body.single-product div.product form.cart{display:flex;gap:10px;align-items:stretch;margin:24px 0!important}
body.single-product div.product form.cart .quantity .qty{height:48px;min-width:76px;background:#101315;color:#fff;border:1px solid #34393d;border-radius:3px;padding:0 10px}
body.single-product div.product form.cart .button,
body.single-product div.product .single_add_to_cart_button{min-height:48px!important;padding:0 28px!important;background:transparent!important;color:#08c6ee!important;border:1px solid #08c6ee!important;border-radius:3px!important;font-weight:800!important;text-transform:uppercase!important}
body.single-product div.product form.cart .button:hover,
body.single-product div.product .single_add_to_cart_button:hover{background:#08c6ee!important;color:#031015!important}
body.single-product .product_meta{border-top:1px solid #292d30;padding-top:18px;color:#929a9f;font-size:12px}
body.single-product .product_meta a{color:#08c6ee}
body.single-product div.product .woocommerce-tabs{grid-column:1/-1;width:100%;margin-top:42px;border-top:1px solid #292d30;padding-top:24px}
body.single-product div.product .woocommerce-tabs ul.tabs{padding:0!important;margin:0 0 20px!important;display:flex;gap:8px;border:0!important}
body.single-product div.product .woocommerce-tabs ul.tabs:before{display:none!important}
body.single-product div.product .woocommerce-tabs ul.tabs li{background:#111416!important;border:1px solid #32373a!important;border-radius:3px!important;margin:0!important;padding:0!important}
body.single-product div.product .woocommerce-tabs ul.tabs li a{color:#cfd5d9!important;padding:11px 16px!important;text-transform:uppercase;font-size:11px}
body.single-product div.product .woocommerce-tabs ul.tabs li.active{border-color:#08c6ee!important}
body.single-product div.product .woocommerce-tabs ul.tabs li.active a{color:#08c6ee!important}
body.single-product div.product .woocommerce-tabs .panel{color:#b9c0c5;line-height:1.75}
body.single-product section.related.products,body.single-product section.upsells.products{grid-column:1/-1;margin-top:42px}
body.single-product section.related.products>h2,body.single-product section.upsells.products>h2{color:#fff;text-transform:uppercase;font-size:22px}
body.single-product section.related.products ul.products,body.single-product section.upsells.products ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
body.single-product ul.products li.product{width:auto!important;margin:0!important;background:#101213;border:1px solid #282c2f;padding:12px;border-radius:4px;color:#fff}
body.single-product ul.products li.product .woocommerce-loop-product__title{color:#fff;font-size:12px;text-transform:uppercase}
body.single-product ul.products li.product .price{color:#fff!important;font-size:13px!important}
body.single-product ul.products li.product .button{background:transparent!important;color:#08c6ee!important;border:1px solid #08c6ee!important;border-radius:2px!important;font-size:10px!important}
@media(max-width:900px){body.single-product div.product{grid-template-columns:1fr;padding:18px!important;margin:16px!important}body.single-product div.product .summary{padding-top:24px}body.single-product section.related.products ul.products,body.single-product section.upsells.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v1.2.1 — FIX: variable product option / quantity / add-to-cart alignment */
body.single-product div.product form.cart.variations_form{
  display:grid!important;
  grid-template-columns:minmax(220px,1.15fr) minmax(230px,.85fr);
  gap:12px!important;
  align-items:end!important;
  width:100%!important;
  max-width:100%!important;
  margin:24px 0!important;
}

body.single-product div.product form.variations_form table.variations{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  border:0!important;
  table-layout:fixed!important;
}
body.single-product div.product form.variations_form table.variations tbody,
body.single-product div.product form.variations_form table.variations tr{
  display:block!important;
  width:100%!important;
}
body.single-product div.product form.variations_form table.variations tr{
  display:grid!important;
  grid-template-columns:56px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:center!important;
  min-height:58px!important;
  padding:8px 10px!important;
  background:#111315!important;
  border:1px solid #272c30!important;
  border-radius:3px!important;
}
body.single-product div.product form.variations_form table.variations th.label,
body.single-product div.product form.variations_form table.variations td.value{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  text-align:left!important;
}
body.single-product div.product form.variations_form table.variations th.label label{
  display:block!important;
  margin:0!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
body.single-product div.product form.variations_form table.variations td.value select{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0 34px 0 12px!important;
  background:#fff!important;
  color:#111!important;
  border:1px solid #d9d9d9!important;
  border-radius:3px!important;
  box-shadow:none!important;
  outline:none!important;
  font-size:13px!important;
  line-height:42px!important;
}
body.single-product div.product form.variations_form table.variations td.value select option{
  background:#fff!important;
  color:#111!important;
}
body.single-product div.product form.variations_form .reset_variations{
  display:inline-block!important;
  margin:6px 0 0!important;
  color:#08c6ee!important;
  font-size:10px!important;
  line-height:1.2!important;
}

body.single-product div.product form.variations_form .single_variation_wrap{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
body.single-product div.product form.variations_form .woocommerce-variation{
  margin:0 0 8px!important;
}
body.single-product div.product form.variations_form .woocommerce-variation:empty{
  display:none!important;
}
body.single-product div.product form.variations_form .woocommerce-variation-add-to-cart.variations_button{
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:stretch!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
body.single-product div.product form.variations_form .quantity{
  width:76px!important;
  min-width:76px!important;
  margin:0!important;
  float:none!important;
}
body.single-product div.product form.variations_form .quantity .qty,
body.single-product div.product form.cart .quantity .qty{
  width:100%!important;
  min-width:0!important;
  height:48px!important;
  margin:0!important;
  padding:0 8px!important;
  background:#fff!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  border:1px solid #e0e0e0!important;
  border-radius:3px!important;
  box-shadow:none!important;
  text-align:center!important;
  opacity:1!important;
}
body.single-product div.product form.variations_form .single_add_to_cart_button{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0 14px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  float:none!important;
}

/* Keep normal simple-product carts aligned without affecting variable products. */
body.single-product div.product form.cart:not(.variations_form){
  display:flex!important;
  gap:10px!important;
  align-items:stretch!important;
  flex-wrap:wrap!important;
}
body.single-product div.product form.cart:not(.variations_form) .quantity{
  margin:0!important;
}

@media(max-width:1180px){
  body.single-product div.product form.cart.variations_form{
    grid-template-columns:1fr!important;
    align-items:stretch!important;
  }
  body.single-product div.product form.variations_form .woocommerce-variation-add-to-cart.variations_button{
    grid-template-columns:90px minmax(0,1fr)!important;
  }
  body.single-product div.product form.variations_form .quantity{
    width:90px!important;
    min-width:90px!important;
  }
}

@media(max-width:520px){
  body.single-product div.product form.variations_form table.variations tr{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  body.single-product div.product form.variations_form .woocommerce-variation-add-to-cart.variations_button{
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:8px!important;
  }
  body.single-product div.product form.variations_form .quantity{
    width:82px!important;
    min-width:82px!important;
  }
  body.single-product div.product form.variations_form .single_add_to_cart_button{
    padding:0 10px!important;
    font-size:12px!important;
  }
}

/* v1.2.2 — related-products grid + variable-cart row alignment fixes */
/* WooCommerce clearfix pseudo-elements become grid items unless removed. */
html body.single-product div.product section.related.products ul.products::before,
html body.single-product div.product section.related.products ul.products::after,
html body.single-product div.product section.upsells.products ul.products::before,
html body.single-product div.product section.upsells.products ul.products::after{
  content:none!important;
  display:none!important;
}

html body.single-product div.product section.related.products ul.products,
html body.single-product div.product section.upsells.products ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  gap:14px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  clear:both!important;
}

html body.single-product div.product section.related.products ul.products li.product,
html body.single-product div.product section.upsells.products ul.products li.product{
  float:none!important;
  clear:none!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:12px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  box-sizing:border-box!important;
}

html body.single-product div.product section.related.products ul.products li.product a.woocommerce-LoopProduct-link,
html body.single-product div.product section.upsells.products ul.products li.product a.woocommerce-LoopProduct-link{
  display:block!important;
  width:100%!important;
}

html body.single-product div.product section.related.products ul.products li.product img,
html body.single-product div.product section.upsells.products ul.products li.product img{
  display:block!important;
  width:100%!important;
  aspect-ratio:1/1!important;
  height:auto!important;
  object-fit:contain!important;
  margin:0 0 14px!important;
}

html body.single-product div.product section.related.products ul.products li.product .button,
html body.single-product div.product section.upsells.products ul.products li.product .button{
  align-self:flex-start!important;
  margin-top:auto!important;
}

/* Keep variation selector, quantity and Add to Cart on one clean desktop row. */
html body.single-product div.product form.cart.variations_form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(225px,250px)!important;
  column-gap:10px!important;
  row-gap:8px!important;
  align-items:end!important;
  width:100%!important;
  max-width:100%!important;
  margin:24px 0!important;
}

html body.single-product div.product form.cart.variations_form table.variations{
  grid-column:1!important;
  grid-row:1!important;
  float:none!important;
  clear:none!important;
  align-self:end!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
}

html body.single-product div.product form.cart.variations_form .single_variation_wrap{
  grid-column:2!important;
  grid-row:1!important;
  float:none!important;
  clear:none!important;
  align-self:end!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}

html body.single-product div.product form.cart.variations_form .woocommerce-variation{
  margin:0 0 8px!important;
}

html body.single-product div.product form.cart.variations_form .woocommerce-variation:empty{
  display:none!important;
  margin:0!important;
}

html body.single-product div.product form.cart.variations_form .woocommerce-variation-add-to-cart.variations_button{
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:stretch!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}

html body.single-product div.product form.cart.variations_form .quantity{
  float:none!important;
  clear:none!important;
  width:76px!important;
  min-width:76px!important;
  margin:0!important;
}

html body.single-product div.product form.cart.variations_form .quantity .qty{
  width:76px!important;
  min-width:76px!important;
  height:48px!important;
  background:#fff!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  border:1px solid #e0e0e0!important;
  border-radius:3px!important;
  opacity:1!important;
  text-align:center!important;
}

html body.single-product div.product form.cart.variations_form .single_add_to_cart_button{
  float:none!important;
  clear:none!important;
  width:100%!important;
  min-width:0!important;
  height:48px!important;
  margin:0!important;
  padding:0 14px!important;
  white-space:nowrap!important;
}

html body.single-product div.product form.cart.variations_form table.variations td.value select{
  background:#fff!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
}

@media(max-width:900px){
  html body.single-product div.product section.related.products ul.products,
  html body.single-product div.product section.upsells.products ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:700px){
  html body.single-product div.product form.cart.variations_form{
    grid-template-columns:1fr!important;
    align-items:stretch!important;
  }
  html body.single-product div.product form.cart.variations_form table.variations,
  html body.single-product div.product form.cart.variations_form .single_variation_wrap{
    grid-column:1!important;
    grid-row:auto!important;
    width:100%!important;
  }
}

@media(max-width:520px){
  html body.single-product div.product section.related.products ul.products,
  html body.single-product div.product section.upsells.products ul.products{
    grid-template-columns:1fr!important;
  }
}
