  .sf-pv{ max-width:var(--container-max); margin:0 auto; padding:40px var(--gutter) 80px; }
  .sf-pv__back{ background:none; border:none; cursor:pointer; font-family:var(--font-mono); font-weight:700;
    font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--concrete-300);
    display:inline-flex; align-items:center; gap:8px; margin-bottom:24px; }
  .sf-pv__back:hover{ color:var(--gold-400); }
  .sf-pv__grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
  .sf-pv__media{ position:relative; aspect-ratio:1/1; background:var(--ink-900);
    border:var(--border-thick) solid var(--ink-950); border-radius:var(--radius-sm);
    display:flex; align-items:center; justify-content:center; overflow:hidden; }
  .sf-pv__media img{ width:64%; filter:grayscale(.15) contrast(1.05); }
  .sf-pv__stamp{ position:absolute; top:14px; left:14px; }
  .sf-pv__cat{ font-family:var(--font-mono); font-weight:700; font-size:12px; letter-spacing:.16em;
    text-transform:uppercase; color:var(--gold-500); margin:0 0 10px; }
  .sf-pv__title{ font-family:var(--font-display); text-transform:uppercase; color:var(--bone-100);
    font-size:52px; line-height:.9; margin:0 0 14px; }
  .sf-pv__price{ font-family:var(--font-mono); font-weight:700; font-size:20px; color:var(--bone-100); margin:0 0 22px; }
  .sf-pv__price s{ color:var(--concrete-500); margin-right:12px; }
  .sf-pv__desc{ font-family:var(--font-body); font-size:16px; line-height:1.65; color:var(--concrete-200);
    max-width:460px; margin:0 0 26px; }
  .sf-pv__lbl{ font-family:var(--font-mono); font-weight:700; font-size:12px; letter-spacing:.14em;
    text-transform:uppercase; color:var(--concrete-300); margin:0 0 10px; }
  .sf-pv__sizes{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:24px; }
  .sf-pv__size{ min-width:46px; height:46px; padding:0 10px; cursor:pointer; background:var(--ink-800);
    color:var(--bone-100); border:var(--border-med) solid var(--concrete-600); border-radius:var(--radius-sm);
    font-family:var(--font-condensed); font-weight:600; font-size:15px; text-transform:uppercase; }
  .sf-pv__size:hover{ border-color:var(--gold-500); }
  .sf-pv__size[data-on="true"]{ background:var(--gold-500); color:var(--ink-950); border-color:var(--ink-950); }
  .sf-pv__buy{ display:flex; gap:14px; align-items:center; margin-bottom:26px; }
  .sf-pv__meta{ display:flex; gap:10px; flex-wrap:wrap; padding-top:22px;
    border-top:var(--border-med) solid var(--concrete-700); }
    
.single-product.singular .entry-title {
    color: var(--concrete-200);
    margin-bottom: 10px;
}
.single-product.singular .dodh-pcard.product .amount {
    padding-left: 0px;
    font-size: 20px;
}
.woocommerce-product-details__short-description {
font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.65;
    color: var(--concrete-200);
    max-width: 460px;
    margin: 0 0 26px;
}
.single-product div.product .product_meta {
    font-family: var(--font-mono);
    font-weight: 700;
    font-size: 10px;
    letter-spacing: .18em;
}
.single-product div.product .product_meta a {
    color: var(--gold-500);
        text-decoration: none;
}
.single-product div.product .product_meta a:hover, .single-product div.product .product_meta a:focus {
    color: var(--gold-400);
    text-decoration: none;
}
.single-product.singular .woocommerce-Tabs-panel img {
    width: auto;
    height: auto;
    max-width: 600px;
}
.single-product.singular .woocommerce-Tabs-panel p {
    font-size: 16px;
    line-height: 30px;
    margin-bottom: 10px;
}
.woocommerce-tabs ul li.active a, .woocommerce-tabs ul li a:focus {
background: var(--gold-500)!important;
    color: var(--ink-950)!important;
    border-color: var(--gold-500)!important;
    text-decoration: none!important;
}
.woocommerce-tabs ul {
    border-color: var(--gold-500);
}
.woocommerce-tabs ul li a {
    color: var(--concrete-200);
    font-family: var(--font-condensed);
}



/* Style size select */
#pa_size {
    display: hidden;
}
.variations tr {
    display: flex;
    flex-direction: column;
}
.variations .label, .variations .label label {
    font-family: var(--font-mono);
    font-weight: 700;
    font-size: 12px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--concrete-300);
    margin: 0 0 0px;
}
.variations th, .variations td {
    border:none;
    padding-left: 0px;
}
.variations th {
    padding-bottom: 0px;
    margin-bottom: 0px;
}
.variations .reset_variations {
    display:none!important;
}
/* Layout container */
#exploded-container {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 0px;
  margin-bottom: 0px;
}
/* Individual size buttons */
table.variations {
    margin: 1rem 0 0;
}
.exploded-option {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 45px;
  height: 45px;
  padding: 0 10px;
  transition: all 0.2s ease-in-out;
  user-select: none;
    cursor: pointer;
    background: var(--ink-800);
    color: var(--bone-100);
    border: var(--border-med) solid var(--concrete-600);
    border-radius: var(--radius-sm);
    font-family: var(--font-condensed);
    font-weight: 600;
    font-size: 15px;
    text-transform: uppercase;
}
/* Hide the actual radio circle completely */
.exploded-option input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  margin: 0;
}
/* Hover state */
.exploded-option:hover {
  background: var(--gold-500);
    color: var(--ink-950);
    border-color: var(--ink-950);
}
/* Selected state (When radio is checked) */
.exploded-option:has(input:checked),
.exploded-option.active {
  background: var(--gold-500);
    color: var(--ink-950);
    border-color: var(--ink-950);
}

.single_variation_wrap a {
    font-family: var(--font-mono);
    font-weight: 700;
    font-size: 10px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--gold-400)!important;
    margin: 0 0 20px;
    text-decoration:none;
}
.single_variation_wrap a:first-of-type {
    margin-top: 0px;
}
.woocommerce-variation-add-to-cart {
    margin-top: 30px;
    display: flex;
    align-items:center;
    gap: 20px;
}
@media screen and (max-width: 767px) {
.woocommerce-variation-add-to-cart {
flex-direction: column;
align-items: flex-start;
}   
}

/* Quantity Styling */
/* Hide native spin-buttons for Chrome, Safari, Edge, and Opera */
.woocommerce .quantity input::-webkit-outer-spin-button,
.woocommerce .quantity input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Hide native spin-buttons for Firefox */
.woocommerce .quantity input[type=number] {
  -moz-appearance: textfield;
}

/* Theme 2021 specific adjustment - override native block/cart layouts */
.woocommerce .cart div.quantity, 
.woocommerce-cart .cart-independence div.quantity,
.woocommerce .quantity {
    
}
.woocommerce-product-gallery__trigger {
    z-index: 1;
}
.dodh-qty {
    display: inline-flex;
    align-items: stretch;
    border: var(--border-med) solid var(--ink-950);
    border-radius: var(--radius-sm);
    overflow: hidden;
    background: var(--ink-900);
    flex-direction: row !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 140px;
}
.dodh-qty .qty-btn:disabled {
    opacity: .4;
    cursor: not-allowed;
}
/* Base style for left/right action click buttons */
.woocommerce .quantity.dodh-qty .qty-btn {
    background-color: transparent !important;
    height: 25px !important;
    font-weight: normal !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    width: 38px;
    border: none;
    background: var(--ink-700)!important;
    color: var(--bone-100)!important;
    font-family: var(--font-condensed)!important;
    font-size: 20px!important;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background var(--dur-fast) var(--ease-snap), color var(--dur-fast) var(--ease-snap);
}

/* Hover style matching Twenty Twenty-One link states */
.woocommerce .quantity.dodh-qty .qty-btn:hover {
    background-color: rgba(0, 0, 0, 0.05) !important;
}

/* Center numeric numerical display container override */
.woocommerce .quantity.dodh-qty input.qty {
    width: 50px !important;
    height: 25px !important;
    text-align: center !important;
    padding: 0 !important;
    margin: 0 !important;
    -moz-appearance: textfield !important;
    min-width: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-mono)!important;
    font-weight: 700;
    font-size: 15px;
    color: var(--bone-100)!important;
    border-bottom:none;
    border-top:none;
    border-left: var(--border-med) solid var(--ink-950);
    border-right: var(--border-med) solid var(--ink-950);
    background: transparent;
}

/* Ensure native side buttons remain hidden in theme engines */
.woocommerce .quantity.dodh-qty input::-webkit-outer-spin-button,
.woocommerce .quantity.dodh-qty input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}
