/* Survivor Site Kit 3.8.26.9 — reliable single-product quantity stepper.
 * The numeric field is a WooCommerce input; we only reinforce its layout.
 * Hidden/sold-individually inputs must not receive visual buttons. */
body.single-product form.cart .quantity[data-svk-quantity="1"] {
  display:inline-grid!important;
  grid-template-columns:44px minmax(54px,60px) 44px!important;
  grid-template-rows:52px!important;
  align-items:stretch!important;
  justify-items:stretch!important;
  column-gap:0!important;
  row-gap:0!important;
  box-sizing:border-box!important;
  width:148px!important;
  min-width:148px!important;
  max-width:100%!important;
  min-height:54px!important;
  height:54px!important;
  padding:0!important;
  margin:0 12px 0 0!important;
  border:1px solid #b9bab6!important;
  border-radius:0!important;
  background:#fff!important;
  overflow:visible!important;
  vertical-align:middle!important;
}
/* Hidden accessibility labels are taken out of grid placement, but stay
 * available to screen readers. */
body.single-product form.cart .quantity[data-svk-quantity="1"] > label.screen-reader-text {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
}
body.single-product form.cart .quantity[data-svk-quantity="1"] input.qty:not([type="hidden"]) {
  display:block!important;
  grid-column:2!important;
  grid-row:1!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:52px!important;
  min-height:52px!important;
  margin:0!important;
  padding:0 2px!important;
  border:0!important;
  border-inline:1px solid #deded9!important;
  border-radius:0!important;
  background:#fff!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  opacity:1!important;
  visibility:visible!important;
  font:800 16px/52px Arial,sans-serif!important;
  text-align:center!important;
  appearance:textfield!important;
  -moz-appearance:textfield!important;
  box-shadow:none!important;
  position:static!important;
  transform:none!important;
}
body.single-product form.cart .quantity[data-svk-quantity="1"] input.qty::-webkit-outer-spin-button,
body.single-product form.cart .quantity[data-svk-quantity="1"] input.qty::-webkit-inner-spin-button {
  margin:0;
  -webkit-appearance:none;
}
body.single-product form.cart .quantity[data-svk-quantity="1"] > button.svk-product-qty__button {
  display:grid!important;
  place-items:center!important;
  box-sizing:border-box!important;
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:52px!important;
  min-height:52px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#111!important;
  color:#fff!important;
  font:700 21px/1 Arial,sans-serif!important;
  text-align:center!important;
  cursor:pointer;
  user-select:none;
  transition:background-color .18s ease,color .18s ease;
}
body.single-product form.cart .quantity[data-svk-quantity="1"] > button[data-svk-qty="minus"] { grid-column:1!important;grid-row:1!important; }
body.single-product form.cart .quantity[data-svk-quantity="1"] > button[data-svk-qty="plus"] { grid-column:3!important;grid-row:1!important; }
body.single-product form.cart .quantity[data-svk-quantity="1"] > button.svk-product-qty__button:hover,
body.single-product form.cart .quantity[data-svk-quantity="1"] > button.svk-product-qty__button:focus-visible {
  background:#ffe000!important;
  color:#111!important;
  outline:2px solid #111!important;
  outline-offset:-2px!important;
}
body.single-product form.cart .quantity[data-svk-quantity="1"] > button.svk-product-qty__button:disabled {
  background:#e5e5df!important;
  color:#76766f!important;
  cursor:not-allowed;
}
@media (max-width:480px) {
  body.single-product form.cart .quantity[data-svk-quantity="1"] {
    grid-template-columns:40px 50px 40px!important;
    grid-template-rows:48px!important;
    width:130px!important;
    min-width:130px!important;
    min-height:50px!important;
    height:50px!important;
  }
  body.single-product form.cart .quantity[data-svk-quantity="1"] input.qty:not([type="hidden"]) {
    height:48px!important;
    min-height:48px!important;
    line-height:48px!important;
  }
  body.single-product form.cart .quantity[data-svk-quantity="1"] > button.svk-product-qty__button {
    width:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    min-height:48px!important;
    height:48px!important;
  }
}

/* 3.8.26.11 — Remove only the extra gray OUTER frame of the size variations table.
   Keep the select's own boundary, focus outline, size guide and stock-badge styling. */
body.single-product form.variations_form table.variations,
body.single-product form.variations_form table.variations > tbody,
body.single-product form.variations_form table.variations > tbody > tr,
body.single-product form.variations_form table.variations > tbody > tr > th,
body.single-product form.variations_form table.variations > tbody > tr > td {
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
body.single-product form.variations_form table.variations { border-collapse:separate!important; }
body.single-product .sv-product-stock-slot[hidden] { display:none!important; }
body.single-product .sv-product-stock-slot .sv-product-stock-badge {
  display:inline-flex!important;
  align-items:center;
  width:auto!important;
  min-height:34px;
  margin:0!important;
  padding:8px 12px!important;
  border:1px solid #111!important;
  border-radius:0!important;
  background:#111!important;
  color:#ffe000!important;
  font-size:.76rem!important;
  font-weight:900!important;
  letter-spacing:.08em;
  line-height:1!important;
  text-transform:uppercase;
}
