/* ==========================================================================
   Voncher — WooCommerce
   Woo's own stylesheets are dequeued in inc/assets.php; every shop surface is
   styled here so the storefront stays on one design system.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Notices
   -------------------------------------------------------------------------- */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{
  display:flex;align-items:center;gap:var(--sp-3);
  background:#fff;border:1px solid var(--line);border-left:3px solid var(--accent);
  border-radius:var(--r-sm);padding:var(--sp-4) var(--sp-5);margin-bottom:var(--sp-5);
  font-size:.9375rem;list-style:none;
}
.woocommerce-message{border-left-color:var(--ok)}
.woocommerce-error{border-left-color:var(--danger);flex-direction:column;align-items:flex-start;gap:var(--sp-2)}
.woocommerce-error li{list-style:none}
.woocommerce-message .button,.woocommerce-info .button{
  margin-left:auto;flex:none;background:var(--ink);color:#fff;border-radius:var(--r-pill);
  padding:9px 18px;font-size:.85rem;font-weight:650;border:0;white-space:nowrap;
}
.woocommerce-message .button:hover,.woocommerce-info .button:hover{background:var(--accent-dk);color:#fff}

/* --------------------------------------------------------------------------
   Shop layout
   -------------------------------------------------------------------------- */
.v-shop{display:grid;grid-template-columns:250px minmax(0,1fr);gap:var(--sp-8);align-items:start}
.v-shop__side{position:sticky;top:96px}
.v-filter{background:transparent}
.v-filter__grp{padding-bottom:var(--sp-5);margin-bottom:var(--sp-5);border-bottom:1px solid var(--line)}
.v-filter__grp:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.v-filter__grp>h4{font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--sp-4);font-weight:700}
.v-filter__list{display:flex;flex-direction:column;gap:11px;max-height:238px;overflow:auto}
.v-filter__list::-webkit-scrollbar{width:4px}
.v-filter__list::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:2px}
.v-filter__row{display:flex;align-items:center;gap:10px;font-size:.875rem;color:var(--ink-2);cursor:pointer;line-height:1.35}
.v-filter__row input{width:16px;height:16px;flex:none;accent-color:var(--accent);margin:0}
.v-filter__row span{flex:1 1 auto}
.v-filter__row em{font-style:normal;color:var(--muted);font-size:.75rem;font-variant-numeric:tabular-nums}
.v-filter__row:hover span{color:var(--ink)}
.v-filter__row.is-active span{color:var(--accent-dk);font-weight:650}
.v-filter__price{display:flex;align-items:center;gap:9px}
.v-filter__price input{padding:9px 11px;font-size:.85rem}
.v-filter__apply{margin-top:var(--sp-3)}
.v-filter__clear{display:block;text-align:center;font-size:.8125rem;color:var(--muted);margin-top:12px}
.v-filter__clear:hover{color:var(--danger)}
.v-shop__mobtoggle{display:none}
/* The close button belongs to the mobile filter drawer only. */
.v-shop__side>div>.v-js-closepanel{display:none}

.v-shop__bar{
  display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);
  margin-bottom:var(--sp-6);padding-bottom:var(--sp-4);border-bottom:1px solid var(--line);flex-wrap:wrap;
}
.woocommerce-result-count{margin:0;font-size:.875rem;color:var(--muted)}
.woocommerce-ordering{margin:0}
.woocommerce-ordering select{padding:10px 36px 10px 16px;font-size:.875rem;border-radius:var(--r-pill);min-width:196px}
.v-shop__view{display:flex;gap:5px}
.v-shop__view button{width:38px;height:38px;border-radius:var(--r-sm);border:1px solid var(--line-2);
  display:flex;align-items:center;justify-content:center;color:var(--muted);background:#fff}
.v-shop__view button:hover{color:var(--ink)}
.v-shop__view button.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}

.v-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-6) var(--sp-5)}
/* No sidebar on the home page, so four across — three would leave a ragged
   last row on the 8- and 4-item rows. */
.home .v-products{grid-template-columns:repeat(4,minmax(0,1fr))}
.v-shop .v-products{grid-template-columns:repeat(3,minmax(0,1fr))}
.v-products.is-list{grid-template-columns:minmax(0,1fr);gap:var(--sp-5)}
.v-products.is-list .v-card{flex-direction:row;gap:var(--sp-5);background:#fff;
  border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-4)}
.v-products.is-list .v-card__media{width:220px;flex:none;aspect-ratio:1/1}
.v-products.is-list .v-card__body{padding:var(--sp-2) 0 0}
.v-products.is-list .v-card__foot{padding:var(--sp-4) 0 0;max-width:220px}
.v-products.is-list .v-card__excerpt{display:block}
.v-card__excerpt{display:none;font-size:.875rem;color:var(--ink-3);line-height:1.6;margin:6px 0 0}

.v-activefilters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:var(--sp-5)}
.v-activefilters a{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border-radius:var(--r-pill);
  background:var(--panel);font-size:.8125rem;font-weight:600}
.v-activefilters a:hover{background:var(--ink);color:#fff}

/* --------------------------------------------------------------------------
   Single product
   -------------------------------------------------------------------------- */
.v-pdp{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:var(--sp-8);align-items:start}

/* Gallery: vertical thumb rail + main stage. Theme-built — Woo's flexslider,
   zoom and photoswipe are all dequeued. */
.v-gal{display:grid;grid-template-columns:88px minmax(0,1fr);gap:var(--sp-4);align-items:start}
.v-gal__thumbs{display:flex;flex-direction:column;gap:11px;max-height:600px;overflow-y:auto;padding-right:4px}
.v-gal__thumbs::-webkit-scrollbar{width:4px}
.v-gal__thumbs::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:2px}
.v-gal__thumb{
  width:88px;height:88px;border-radius:var(--r-sm);overflow:hidden;border:1.5px solid transparent;
  background:var(--panel);flex:none;transition:border-color .16s var(--ease);padding:0;
}
.v-gal__thumb img{width:100%;height:100%;object-fit:contain;padding:5px}
.v-gal__thumb:hover{border-color:var(--line-2)}
.v-gal__thumb.is-on{border-color:var(--accent)}
/* White rather than the warm panel: catalogue shots carry their own white
   margin, and a tinted stage turns that into a visible box inside a box. */
.v-gal__stage{
  position:relative;aspect-ratio:1/1;border-radius:var(--r-lg);overflow:hidden;background:#fff;
}
.v-gal__stage img{width:100%;height:100%;object-fit:contain;padding:5%;cursor:zoom-in}
.v-gal__zoom{
  position:absolute;right:16px;bottom:16px;width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.95);display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-sm);color:var(--ink-2);
}
.v-gal__zoom:hover{background:var(--ink);color:#fff}
.v-gal__flags{position:absolute;top:16px;left:16px;display:flex;flex-direction:column;gap:7px;z-index:2}

.v-lightbox{position:fixed;inset:0;z-index:1400;background:rgba(16,19,24,.95);
  display:flex;align-items:center;justify-content:center;padding:var(--sp-5)}
.v-lightbox:not(.is-open){display:none}
.v-lightbox img{max-width:min(1100px,94vw);max-height:88vh;object-fit:contain;border-radius:var(--r-sm)}
.v-lightbox__x,.v-lightbox__prev,.v-lightbox__next{
  position:absolute;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.14);
  color:#fff;display:flex;align-items:center;justify-content:center}
.v-lightbox__x{top:24px;right:24px}
.v-lightbox__prev{left:24px;top:50%;transform:translateY(-50%)}
.v-lightbox__next{right:24px;top:50%;transform:translateY(-50%)}
.v-lightbox button:hover{background:rgba(255,255,255,.3)}

.v-sum__brand{font-size:.6875rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-dk);margin-bottom:var(--sp-4)}
.product_title{font-size:clamp(1.35rem,1.05rem + 1.1vw,1.95rem);margin-bottom:var(--sp-4);letter-spacing:-.025em;font-weight:800}
.v-sum__rating{display:flex;align-items:center;gap:11px;margin-bottom:var(--sp-4);font-size:.875rem;color:var(--muted)}
.v-sum__rating a:hover{color:var(--accent-dk)}
.v-sum__price{display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-2)}
.v-sum__price .price,.v-sum__price ins{font-size:2.1rem;font-weight:800;color:var(--accent-dk);text-decoration:none;letter-spacing:-.03em}
.v-sum__price del{font-size:1.05rem;color:var(--muted)}
.v-sum__tax{font-size:.8125rem;color:var(--muted);margin-bottom:var(--sp-5)}
.woocommerce-product-details__short-description{color:var(--ink-2);font-size:.9375rem;line-height:1.7;
  padding-block:var(--sp-5);border-top:1px solid var(--line);margin-bottom:var(--sp-5)}
.woocommerce-product-details__short-description ul{padding-left:0;margin:0;display:grid;gap:9px}
.woocommerce-product-details__short-description li{
  list-style:none;padding-left:24px;position:relative}
.woocommerce-product-details__short-description li::before{
  content:"";position:absolute;left:6px;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--accent)}

.v-stock{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;font-weight:650;margin-bottom:var(--sp-5)}
.v-stock--in{color:var(--ok)}
.v-stock--low{color:var(--warn)}
.v-stock--out{color:var(--danger)}
.v-stock::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}

.v-qty{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-radius:var(--r-pill);overflow:hidden;background:#fff}
.v-qty button{width:44px;height:52px;display:flex;align-items:center;justify-content:center;color:var(--ink-2);font-size:1.15rem}
.v-qty button:hover{background:var(--panel)}
.v-qty input,.quantity input.qty{
  width:52px;height:52px;border:0;text-align:center;font-weight:650;padding:0;
  background:none;-moz-appearance:textfield;border-radius:0;
}
.v-qty input:focus{box-shadow:none}
.v-qty input::-webkit-outer-spin-button,.v-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

form.cart{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap;margin-bottom:var(--sp-5)}
form.cart .single_add_to_cart_button{
  flex:1 1 230px;background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:var(--r-pill);
  padding:16px 30px;font-size:.9375rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  transition:background .18s var(--ease),transform .18s var(--ease);letter-spacing:.01em;
}
form.cart .single_add_to_cart_button:hover{background:var(--accent-dk);border-color:var(--accent-dk);transform:translateY(-2px)}
form.cart .single_add_to_cart_button.loading{opacity:.6;pointer-events:none}
form.cart .variations{width:100%;display:grid;gap:var(--sp-3);margin-bottom:var(--sp-2)}
form.cart .variations td,form.cart .variations th{display:block;padding:0;border:0}
form.cart .variations label{margin-bottom:7px}
.woocommerce-variation-price{margin-bottom:var(--sp-3);font-size:1.4rem;font-weight:800;color:var(--accent-dk)}
.reset_variations{font-size:.8125rem;color:var(--muted)}

.v-pdpactions{display:flex;gap:var(--sp-5);flex-wrap:wrap;padding-block:var(--sp-5);border-block:1px solid var(--line);margin-bottom:var(--sp-5)}
.v-pdpaction{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;font-weight:600;color:var(--ink-2)}
.v-pdpaction:hover{color:var(--accent-dk)}
.v-pdpaction.is-on{color:var(--accent-dk)}
.v-pdpaction svg{flex:none}

.v-trust{display:grid;gap:var(--sp-4);margin-bottom:var(--sp-5)}
.v-trust__row{display:flex;gap:12px;align-items:flex-start;font-size:.875rem;color:var(--ink-3);line-height:1.6}
.v-trust__row svg{color:var(--accent);flex:none;margin-top:2px}
.v-trust__row b{color:var(--ink);font-weight:650}

.product_meta{font-size:.8125rem;color:var(--muted);display:grid;gap:7px;padding-top:var(--sp-5);border-top:1px solid var(--line)}
.product_meta>span{display:block}
.product_meta a{color:var(--ink-2)}
.product_meta a:hover{color:var(--accent-dk)}

.v-paystrip{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:var(--sp-5);
  padding-top:var(--sp-5);border-top:1px solid var(--line)}
.v-paystrip span{font-size:.6875rem;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.v-paystrip img{height:28px;width:auto;border:1px solid var(--line);border-radius:5px;padding:3px 7px;background:#fff}

/* tabs */
.woocommerce-tabs{margin-top:var(--sp-9)}
.wc-tabs{display:flex;gap:var(--sp-2);border-bottom:1px solid var(--line);margin-bottom:var(--sp-7);
  overflow-x:auto;padding-bottom:0}
.wc-tabs li{flex:none}
.wc-tabs li a{display:block;padding:14px 22px;font-size:.9375rem;font-weight:650;color:var(--muted);
  border-bottom:2px solid transparent;white-space:nowrap}
.wc-tabs li a:hover{color:var(--ink)}
.wc-tabs li.active a{color:var(--ink);border-bottom-color:var(--accent)}
.woocommerce-Tabs-panel{font-size:1rem;line-height:1.75;color:var(--ink-2);max-width:76ch}
.woocommerce-Tabs-panel h2{font-size:1.4rem;margin-bottom:var(--sp-4)}
.woocommerce-Tabs-panel h3{font-size:1.15rem;margin:var(--sp-6) 0 var(--sp-3)}
.woocommerce-Tabs-panel ul{padding-left:1.2em;margin-bottom:var(--sp-4)}
.woocommerce-Tabs-panel li{list-style:disc;margin-bottom:7px}

.shop_attributes,.woocommerce-Tabs-panel table{font-size:.9375rem;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin-bottom:var(--sp-5)}
.shop_attributes tr,.woocommerce-Tabs-panel table tr{border-bottom:1px solid var(--line)}
.shop_attributes tr:last-child,.woocommerce-Tabs-panel table tr:last-child{border-bottom:0}
.shop_attributes tr:nth-child(odd),.woocommerce-Tabs-panel table tr:nth-child(odd){background:#fff}
.shop_attributes tr:nth-child(even),.woocommerce-Tabs-panel table tr:nth-child(even){background:var(--panel)}
.shop_attributes th,.woocommerce-Tabs-panel table th{text-align:left;padding:13px 20px;font-weight:650;color:var(--ink-2);width:38%;vertical-align:top;border:0}
.shop_attributes td,.woocommerce-Tabs-panel table td{padding:13px 20px;color:var(--ink-3);border:0}
.shop_attributes td p{margin:0}

/* reviews */
#reviews .commentlist{display:grid;gap:var(--sp-4);margin-bottom:var(--sp-6)}
#reviews .comment_container{display:flex;gap:var(--sp-4);background:#fff;border:1px solid var(--line);
  border-radius:var(--r-md);padding:var(--sp-5)}
#reviews .comment_container img{width:46px;height:46px;border-radius:50%;flex:none}
#reviews .comment-text{flex:1 1 auto;min-width:0}
#reviews .woocommerce-review__author{font-weight:700;display:block}
#reviews .woocommerce-review__published-date{font-size:.8125rem;color:var(--muted)}
#reviews .description{margin-top:9px;font-size:.9375rem;color:var(--ink-2)}
#review_form_wrapper{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-6)}
.comment-form-rating .stars{display:flex;gap:5px;font-size:1.2rem;margin-bottom:var(--sp-3)}
.comment-form-rating .stars a{color:var(--line-2)}
.comment-form-rating .stars a:hover,.comment-form-rating .stars.selected a{color:var(--accent)}
#reviews .form-submit input{background:var(--ink);color:#fff;border:0;border-radius:var(--r-pill);
  padding:13px 28px;font-weight:700;cursor:pointer}
#reviews .form-submit input:hover{background:var(--accent-dk)}
.woocommerce-noreviews{color:var(--muted)}

/* Woo's own star-rating markup (used inside review lists) */
.star-rating{
  overflow:hidden;position:relative;height:1.1em;line-height:1;font-size:.9em;width:5.4em;
  font-family:star;flex:none;color:var(--accent);
}
.star-rating::before{content:"\73\73\73\73\73";float:left;top:0;left:0;position:absolute;color:var(--line-2)}
.star-rating span{overflow:hidden;float:left;top:0;left:0;position:absolute;padding-top:1.5em}
.star-rating span::before{content:"\53\53\53\53\53";top:0;position:absolute;left:0}
.woocommerce-product-rating{display:flex;align-items:center;gap:11px}
.v-starnum{font-weight:700;color:var(--ink)}

/* related / upsells */
.related,.upsells,.up-sells{margin-top:var(--sp-9)}
.related>h2,.upsells>h2,.up-sells>h2{font-size:1.5rem;margin-bottom:var(--sp-5)}
.related .v-products,.upsells .v-products,.up-sells .v-products{grid-template-columns:repeat(4,minmax(0,1fr))}

/* --------------------------------------------------------------------------
   Cart — two columns without overriding cart.php
   -------------------------------------------------------------------------- */
.woocommerce-cart .woocommerce{
  display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:var(--sp-7);align-items:start}
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart .cross-sells,
.woocommerce-cart .woocommerce>.cart-empty,
.woocommerce-cart .woocommerce>.return-to-shop{grid-column:1/-1}
.woocommerce-cart .cart-collaterals{width:100%}

.shop_table{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.shop_table th{background:var(--panel);text-align:left;padding:14px 20px;font-size:.6875rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
.shop_table td{padding:18px 20px;border-top:1px solid var(--line);vertical-align:middle;font-size:.9375rem}
.shop_table .product-thumbnail img{width:80px;height:80px;object-fit:contain;padding:4px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel)}
.shop_table .product-name a{font-weight:600}
.shop_table .product-name a:hover{color:var(--accent-dk)}
.shop_table .product-remove a{width:30px;height:30px;border-radius:50%;background:var(--panel);
  display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:1rem;line-height:1}
.shop_table .product-remove a:hover{background:var(--danger);color:#fff}
.shop_table .actions{padding:var(--sp-5);background:var(--panel)}
.coupon{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}
.coupon input{max-width:230px}
.shop_table .button,.wc-proceed-to-checkout .button{
  background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:var(--r-pill);
  padding:12px 24px;font-weight:650;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;gap:8px;
}
.shop_table .button:hover{background:var(--accent-dk);border-color:var(--accent-dk);color:#fff}
.shop_table .button[disabled]{opacity:.45}

.cart_totals{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);
  padding:var(--sp-6);position:sticky;top:96px}
.cart_totals h2{font-size:1.2rem;margin-bottom:var(--sp-5)}
.cart_totals table{font-size:.9375rem}
.cart_totals th{text-align:left;padding:10px 0;font-weight:500;color:var(--ink-3);width:45%}
.cart_totals td{text-align:right;padding:10px 0;font-weight:650}
.cart_totals .order-total th,.cart_totals .order-total td{
  border-top:1px solid var(--line);padding-top:var(--sp-4);font-size:1.2rem;font-weight:800;color:var(--accent-dk)}
.wc-proceed-to-checkout{margin-top:var(--sp-5)}
.wc-proceed-to-checkout .button{width:100%;padding:16px 26px;font-size:.9375rem}
.woocommerce-shipping-destination{font-size:.8125rem;color:var(--muted)}
.shipping-calculator-button{font-size:.8125rem;color:var(--accent-dk);text-decoration:underline}
#shipping_method{display:grid;gap:9px;text-align:left}
#shipping_method li{display:flex;align-items:center;gap:9px;font-size:.875rem}
#shipping_method input{accent-color:var(--accent);margin:0}

.cross-sells{margin-top:var(--sp-8)}
.cross-sells>h2{font-size:1.5rem;margin-bottom:var(--sp-5)}

/* --------------------------------------------------------------------------
   Checkout (classic shortcode — payment plugins are added by hand)
   -------------------------------------------------------------------------- */
.woocommerce-checkout form.checkout{
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
  gap:var(--sp-8);align-items:start}
.woocommerce-checkout form.checkout>#customer_details{grid-column:1;grid-row:1/3}
.woocommerce-checkout form.checkout>#order_review_heading{grid-column:2;grid-row:1;margin-top:0}
.woocommerce-checkout form.checkout>#order_review{grid-column:2;grid-row:2}
.woocommerce-checkout .col2-set{display:grid;gap:var(--sp-6)}

.woocommerce-billing-fields h3,.woocommerce-shipping-fields h3,#order_review_heading{
  font-size:1.2rem;margin-bottom:var(--sp-5);padding-bottom:var(--sp-3);border-bottom:1px solid var(--line)}
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3) var(--sp-4)}
.form-row{margin:0 0 var(--sp-3);display:flex;flex-direction:column}
.form-row-wide,.form-row.notes{grid-column:1/-1}
.form-row label{font-size:.8125rem;font-weight:650;margin-bottom:7px}
.form-row .required{color:var(--danger);text-decoration:none}
.form-row.woocommerce-invalid input,.form-row.woocommerce-invalid select{border-color:var(--danger)}
.select2-container--default .select2-selection--single{
  height:auto;border:1px solid var(--line-2);border-radius:var(--r-sm);padding:7px 9px;background:#fff}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:1.6;padding-left:6px;color:var(--ink)}
.select2-container--default .select2-selection--single .select2-selection__arrow{top:9px;right:7px}
.select2-dropdown{border-color:var(--line-2);border-radius:var(--r-sm);overflow:hidden}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--accent)}

#order_review{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);
  padding:var(--sp-6);position:sticky;top:96px}
#order_review .shop_table{border:0;border-radius:0;background:none}
#order_review .shop_table th,#order_review .shop_table td{padding:11px 0;background:none;font-size:.9rem;border-top:0}
#order_review .shop_table th{letter-spacing:0;text-transform:none;font-size:.9rem;color:var(--ink-2)}
#order_review .shop_table tbody td{border-top:1px solid var(--line)}
#order_review .order-total th,#order_review .order-total td{font-size:1.2rem;font-weight:800;color:var(--accent-dk);
  border-top:1px solid var(--line);padding-top:var(--sp-4)}
.woocommerce-checkout-review-order-table td{text-align:right}
.woocommerce-checkout-review-order-table .product-name{text-align:left}

#payment{margin-top:var(--sp-5)}
#payment ul.payment_methods{list-style:none;padding:0;margin:0 0 var(--sp-5);display:grid;gap:11px}
#payment li.wc_payment_method{border:1px solid var(--line-2);border-radius:var(--r-sm);padding:15px 17px;background:#fff}
#payment li.wc_payment_method label{display:inline-flex;align-items:center;gap:10px;margin:0;font-size:.9375rem;font-weight:650;cursor:pointer}
#payment li.wc_payment_method input[type=radio]{accent-color:var(--accent);width:17px;height:17px;margin:0}
#payment li.wc_payment_method img{max-height:26px;width:auto;margin-left:7px;display:inline-block;vertical-align:middle}
#payment .payment_box{margin-top:13px;padding:13px 15px;background:var(--panel);border-radius:var(--r-sm);
  font-size:.8125rem;color:var(--ink-3)}
#payment .payment_box p:last-child{margin:0}
#payment .woocommerce-terms-and-conditions-wrapper{margin-bottom:var(--sp-5);font-size:.8125rem}
#place_order,#payment #place_order{
  width:100%;background:var(--ink);color:#fff;border:0;border-radius:var(--r-pill);
  padding:18px 30px;font-size:1rem;font-weight:700;cursor:pointer;
  transition:background .18s var(--ease),transform .18s var(--ease);
}
#place_order:hover{background:var(--accent-dk);transform:translateY(-2px)}

.woocommerce-form-login,.woocommerce-form-coupon{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-md);
  padding:var(--sp-6);margin-bottom:var(--sp-5)}
.woocommerce-form-login .button,.woocommerce-form-coupon .button{
  background:var(--ink);color:#fff;border:0;border-radius:var(--r-pill);padding:12px 24px;font-weight:650;cursor:pointer}

/* order received */
.woocommerce-order{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(24px,4vw,52px)}
.woocommerce-thankyou-order-received{font-size:1.5rem;font-weight:800;margin-bottom:var(--sp-6);color:var(--ok)}
.woocommerce-order-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-5);
  background:var(--panel);border-radius:var(--r-md);padding:var(--sp-6);margin-bottom:var(--sp-7)}
.woocommerce-order-overview li{font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
.woocommerce-order-overview li strong{display:block;font-size:1rem;letter-spacing:0;text-transform:none;
  color:var(--ink);margin-top:6px;font-weight:650}

/* --------------------------------------------------------------------------
   My account
   -------------------------------------------------------------------------- */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--sp-7);align-items:start}
.woocommerce-account:not(.logged-in) .woocommerce{grid-template-columns:minmax(0,1fr)}
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-account .woocommerce-ResetPassword{max-width:470px;margin-inline:auto}
.woocommerce-MyAccount-navigation ul{background:#fff;border:1px solid var(--line);
  border-radius:var(--r-md);overflow:hidden}
.woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line)}
.woocommerce-MyAccount-navigation li:last-child{border-bottom:0}
.woocommerce-MyAccount-navigation a{display:block;padding:13px 20px;font-size:.9rem;font-weight:600;color:var(--ink-2)}
.woocommerce-MyAccount-navigation a:hover{background:var(--panel)}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--ink);color:#fff}
.woocommerce-MyAccount-content{background:#fff;border:1px solid var(--line);
  border-radius:var(--r-md);padding:var(--sp-6)}
.woocommerce-MyAccount-content .button{background:var(--ink);color:#fff;border:0;border-radius:var(--r-pill);
  padding:10px 20px;font-size:.85rem;font-weight:650;display:inline-block;cursor:pointer}
.woocommerce-MyAccount-content .button:hover{background:var(--accent-dk);color:#fff}
.woocommerce-EditAccountForm .form-row,.woocommerce-address-fields .form-row{max-width:470px}
.woocommerce-Address{background:var(--panel);border-radius:var(--r-md);padding:var(--sp-5);margin-bottom:var(--sp-4)}
.woocommerce-Address address{font-style:normal;font-size:.9rem;line-height:1.65}

/* --------------------------------------------------------------------------
   Compare table
   -------------------------------------------------------------------------- */
.v-cmp{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-md);background:#fff}
.v-cmp table{min-width:760px;font-size:.9rem}
.v-cmp th,.v-cmp td{padding:16px 18px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.v-cmp tr:last-child th,.v-cmp tr:last-child td{border-bottom:0}
.v-cmp thead th{background:var(--panel);vertical-align:bottom}
.v-cmp__rowlabel{width:178px;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);font-weight:700;background:var(--panel)}
.v-cmp__prod img{width:100%;max-width:176px;aspect-ratio:1/1;object-fit:contain;border-radius:var(--r-sm);margin-bottom:11px;background:var(--panel)}
.v-cmp__prod b{display:block;font-size:.9rem;line-height:1.4;margin-bottom:7px}
.v-cmp__prod .v-cmp__price{font-size:1.25rem;font-weight:800;color:var(--accent-dk)}
.v-cmp__x{font-size:.75rem;color:var(--muted);display:inline-block;margin-top:9px}
.v-cmp__x:hover{color:var(--danger)}
.v-cmp__best{background:#eef6f2}
.v-cmp__besttag{display:inline-flex;align-items:center;gap:6px;font-size:.6875rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;color:var(--ok);margin-top:7px}
.v-cmp__na{color:var(--muted)}

/* --------------------------------------------------------------------------
   Quick view
   -------------------------------------------------------------------------- */
.v-qv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-6);padding:var(--sp-6)}
.v-qv__media{border-radius:var(--r-md);overflow:hidden;background:var(--panel);aspect-ratio:1/1}
.v-qv__media img{width:100%;height:100%;object-fit:contain;padding:6%}
.v-qv__thumbs{display:flex;gap:9px;margin-top:11px;overflow-x:auto}
.v-qv__thumbs button{width:58px;height:58px;border-radius:var(--r-sm);overflow:hidden;border:1.5px solid transparent;flex:none;background:var(--panel)}
.v-qv__thumbs button.is-on{border-color:var(--accent)}
.v-qv__thumbs img{width:100%;height:100%;object-fit:contain;padding:4px}
.v-qv h3{font-size:1.45rem;margin-bottom:var(--sp-2)}
.v-qv__price{font-size:1.6rem;font-weight:800;color:var(--accent-dk);margin-bottom:var(--sp-4)}
.v-qv__ex{font-size:.9rem;color:var(--ink-3);margin-bottom:var(--sp-5);line-height:1.6}
.v-qv__specs{font-size:.85rem;margin-bottom:var(--sp-5)}
.v-qv__specs div{display:flex;justify-content:space-between;gap:var(--sp-3);padding:8px 0;border-bottom:1px solid var(--line)}
.v-qv__specs dt{color:var(--muted)}
.v-qv__specs dd{margin:0;font-weight:600;text-align:right}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width:1180px){
  .v-shop{grid-template-columns:220px minmax(0,1fr);gap:var(--sp-6)}
  .v-products,.home .v-products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .related .v-products,.upsells .v-products,.up-sells .v-products{grid-template-columns:repeat(3,minmax(0,1fr))}
  .v-pdp{gap:var(--sp-6)}
}
@media (max-width:960px){
  .v-shop{grid-template-columns:minmax(0,1fr)}
  .v-shop__side{
    position:fixed;inset:0 auto 0 0;width:min(330px,90vw);z-index:1100;background:#fff;
    transform:translateX(-100%);transition:transform .3s var(--ease);overflow-y:auto;padding:var(--sp-5);
    box-shadow:var(--shadow-lg);top:0;
  }
  .v-shop__side.is-open{transform:none}
  .v-shop__side>div>.v-js-closepanel{display:inline-flex}
  .v-shop__mobtoggle{display:inline-flex}
  .v-pdp{grid-template-columns:minmax(0,1fr)}
  .v-gal{grid-template-columns:minmax(0,1fr)}
  .v-gal__thumbs{flex-direction:row;max-height:none;overflow-x:auto;order:2;padding:4px 0 0}
  .v-gal__stage{order:1}
  /* single column: the explicit placement above must be cleared or the order
     summary lands on top of the address fields */
  .woocommerce-checkout form.checkout{grid-template-columns:minmax(0,1fr);gap:var(--sp-6)}
  .woocommerce-checkout form.checkout>#customer_details,
  .woocommerce-checkout form.checkout>#order_review_heading,
  .woocommerce-checkout form.checkout>#order_review{grid-column:1;grid-row:auto}
  #order_review{position:static}
  .woocommerce-cart .woocommerce{grid-template-columns:minmax(0,1fr)}
  .cart_totals{position:static}
  .woocommerce-account .woocommerce{grid-template-columns:minmax(0,1fr)}
  .v-qv{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:720px){
  .related .v-products,.upsells .v-products,.up-sells .v-products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper{grid-template-columns:minmax(0,1fr)}
  .shop_table thead{display:none}
  .shop_table,.shop_table tbody,.shop_table tr,.shop_table td{display:block;width:100%}
  .shop_table tr{border-top:1px solid var(--line);padding:var(--sp-3) 0;position:relative}
  .shop_table td{border:0;padding:7px 20px;display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3)}
  .shop_table td::before{content:attr(data-title);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;
    color:var(--muted);font-weight:700}
  .shop_table td.product-remove::before,.shop_table td.product-thumbnail::before{display:none}
  .shop_table td.actions{display:block}
  .shop_table td.actions::before{display:none}
  .coupon input{max-width:none;flex:1 1 100%}
  .shop_table td,.shop_table th{grid-row:auto}
  #order_review .shop_table td{padding:11px 0}
  #order_review .shop_table td::before{display:none}
  #order_review .shop_table tr{border-top:0;padding:0}
  .v-products.is-list .v-card{flex-direction:column}
  .v-products.is-list .v-card__media{width:100%}
  .v-products.is-list .v-card__foot{max-width:none}
}
@media (max-width:480px){
  /* Two up, not one — a single column shows barely one product per screen. */
  .v-products,.home .v-products,
  .related .v-products,.upsells .v-products,.up-sells .v-products{
    grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-5) var(--sp-3)}
  .v-card__title{font-size:.875rem}
  .v-card__price{font-size:1.15rem}
  .v-card__brand{font-size:.625rem}
  .v-card__meta{font-size:.6875rem}
  .v-tool{width:32px;height:32px}
  form.cart{flex-direction:column;align-items:stretch}
  form.cart .single_add_to_cart_button{width:100%}
  .v-qty{align-self:flex-start}
  .v-cmp__rowlabel{width:126px}
}
