/* ==========================================================================
   Webzand Storm — woocommerce.css
   Replaces WooCommerce's general stylesheet entirely. Loaded on WooCommerce
   pages, and by the Storm Products widget.

    1 Family hero & toolbar   2 Product grid & card   3 Single product
    4 Variations & quantity   5 Tabs & reviews        6 Notices
    7 Cart                    8 Checkout              9 My account & forms
   10 Mini cart & widgets    11 Blocks (Cart/Checkout) tokens
   ========================================================================== */

/* ------------------------------------------------ 1 Family hero & toolbar */
.wzs-chero{ display:grid; grid-template-columns:1fr; border-bottom:1px solid var(--wzs-line); overflow:hidden; }
.wzs-chero__l{ padding:clamp(20px,2.6vw,44px) var(--wzs-pad); display:flex; flex-direction:column; justify-content:center; min-width:0; }
.wzs-chero__eyebrow{ color:var(--c-ink); }
.wzs-chero__title{ margin:var(--wzs-s2) 0 var(--wzs-s3); }
.wzs-chero__copy{ max-width:52ch; color:var(--wzs-ink-70); font-size:clamp(14px,1.02vw,16px); margin:0; }
.wzs-chero__cta{ display:flex; gap:12px; margin-top:var(--wzs-s5); flex-wrap:wrap; }
.wzs-chero__cta .wzs-btn--solid{ --wzs-btn-bg:var(--c); --wzs-btn-fg:var(--on); --wzs-btn-bd:var(--c); }
.wzs-chero__r{ position:relative; background:var(--c); overflow:hidden; display:grid; place-items:center; min-height:34vh; order:-1; padding:var(--wzs-s6) 0; }
.wzs-chero__slides{ width:min(78%,620px); box-shadow:var(--wzs-sh-3); }
@media (max-width:820px){ .wzs-chero__slides{ width:calc(100% - 2 * var(--wzs-pad)); } }
.wzs-chero__tag{ position:absolute; z-index:3; top:var(--wzs-s5); left:var(--wzs-s5); background:var(--wzs-card); color:var(--wzs-ink); padding:8px 14px; font-size:11.5px; }
@media (min-width:1201px){
  .wzs-chero{ grid-template-columns:1.02fr .98fr; min-height:min(60vh,560px); }
  .wzs-chero__r{ order:0; }
}
.wzs-chead--shop{ border-bottom:0; }

.wzs-ctools{
  display:flex; gap:8px; align-items:center; padding:var(--wzs-s3) var(--wzs-pad); z-index:20;
  background:rgba(var(--wzs-paper-rgb),.94); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--wzs-line); border-top:1px solid var(--wzs-line); flex-wrap:wrap;
}
.wzs-ctools.is-sticky{ position:sticky; top:calc(var(--wzs-adminbar,0px) + var(--wzs-chrome)); transition:top var(--wzs-t-mid) var(--wzs-e-out); }
.wzs-ctools__chips{ display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; flex:1 1 auto; min-width:0; }
.wzs-ctools__chips::-webkit-scrollbar{ display:none; }
.wzs-ctools__chips .wzs-chip.is-on{ background:var(--c,var(--wzs-accent)); border-color:var(--c,var(--wzs-accent)); color:var(--on,var(--wzs-on-accent)); }
.wzs-ctools .woocommerce-ordering{ margin:0 0 0 auto; }
.wzs-ctools .woocommerce-ordering select{ min-height:44px; width:auto; font-size:13px; padding-top:0; padding-bottom:0; }
.wzs-ctools__count .woocommerce-result-count{ margin:0; font-size:12px; color:var(--wzs-ink-55); white-space:nowrap; }
.wzs-shop .woocommerce-notices-wrapper:not(:empty){ padding:var(--wzs-s4) var(--wzs-pad) 0; }
.wzs-section--grid{ padding-top:clamp(28px,3vw,48px); position:relative; }

.wzs-cfig{ position:sticky; top:0; height:100vh; margin-bottom:-100vh; pointer-events:none; z-index:0; }
.wzs-cfig__in{ position:absolute; top:50%; right:clamp(20px,5vw,90px); transform:translateY(-50%); width:clamp(70px,8vw,140px); opacity:.12; color:var(--c-ink); }
.wzs-cfig__in .wzs-ico{ width:100%; height:auto; }
@media (max-width:820px){ .wzs-cfig{ display:none; } }

/* ------------------------------------------------ 2 Product grid & card */
.woocommerce ul.products,ul.products{
  list-style:none; margin:0; padding:0; display:grid; gap:clamp(10px,1.4vw,22px);
  grid-template-columns:repeat(var(--wzs-cols-m,2),minmax(0,1fr));
}
@media (min-width:641px){ ul.products{ grid-template-columns:repeat(var(--wzs-cols-t,3),minmax(0,1fr)); } }
@media (min-width:1101px){
  ul.products{ grid-template-columns:repeat(var(--wzs-cols-d,4),minmax(0,1fr)); }
  ul.products.columns-1{ grid-template-columns:1fr; } ul.products.columns-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  ul.products.columns-3{ grid-template-columns:repeat(3,minmax(0,1fr)); } ul.products.columns-4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
  ul.products.columns-5{ grid-template-columns:repeat(5,minmax(0,1fr)); } ul.products.columns-6{ grid-template-columns:repeat(6,minmax(0,1fr)); }
}
.wzs-shop .wzs-layout--right ul.products,.wzs-shop .wzs-layout--left ul.products{ --wzs-cols-d:3; }
ul.products::before,ul.products::after{ display:none; }
ul.products li.product{
  position:relative; background:var(--wzs-card); border:1px solid var(--wzs-line); display:flex; flex-direction:column;
  margin:0; padding:0; width:auto; float:none; border-radius:var(--wzs-radius);
  transition:transform var(--wzs-t-mid) var(--wzs-e-out), box-shadow var(--wzs-t-mid) var(--wzs-e-out);
}
ul.products li.product:hover{ transform:translateY(-6px); box-shadow:var(--wzs-sh-2); }
ul.products li.product > a.woocommerce-LoopProduct-link{ display:flex; flex-direction:column; flex:1; color:inherit; }
ul.products li.product-category a{ display:block; padding:var(--wzs-s4); }
ul.products li.product-category h2{ font-size:16px; margin:var(--wzs-s3) 0 0; }

.wzs-pcard__media{ position:relative; aspect-ratio:1/1; overflow:hidden; background:var(--tint,var(--wzs-subtle)); display:block; }
.wzs-pcard__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform var(--wzs-t-slow) var(--wzs-e-out), opacity var(--wzs-t-mid); }
.wzs-pcard__alt{ opacity:0; }
li.product:hover .wzs-pcard__alt{ opacity:1; }
li.product:hover .wzs-pcard__media img:not(.wzs-pcard__alt){ transform:scale(1.04); }
.wzs-pcard__spine{ position:absolute; left:0; top:0; bottom:0; width:6px; background:var(--c,var(--wzs-accent)); z-index:3; }
.wzs-pcard__ico{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:44%; height:auto; max-height:70%;
  color:var(--c-ink,var(--wzs-ink)); z-index:2; transition:transform var(--wzs-t-slow) var(--wzs-e-out);
}
li.product:hover .wzs-pcard__ico{ transform:translate(-50%,-50%) scale(1.06); }
.wzs-pcard__sku{ position:absolute; z-index:4; right:8px; top:8px; background:var(--c,var(--wzs-ink)); color:var(--on,#fff); padding:4px 8px; font-family:var(--wzs-font-mono); font-size:10.5px; }
.wzs-pcard__badges{ position:absolute; z-index:4; left:14px; top:8px; display:flex; flex-direction:column; gap:4px; align-items:flex-start; }
.wzs-badge,.onsale{
  display:inline-block; background:var(--wzs-ink); color:var(--wzs-paper); padding:4px 8px; line-height:1.3;
  font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; border-radius:0; min-height:0; min-width:0; margin:0;
}
.wzs-badge--sale,.onsale{ background:var(--wzs-accent); color:var(--wzs-on-accent); }
.wzs-pcard__b{ padding:var(--wzs-s4) var(--wzs-s4) var(--wzs-s3); display:flex; flex-direction:column; gap:4px; flex:1; }
.wzs-pcard__t,ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--wzs-font-head); font-weight:700; font-size:16px; letter-spacing:-.01em; line-height:1.25; margin:0; padding:0; color:var(--wzs-heading);
}
.wzs-pcard__s{ font-family:var(--wzs-font-mono); font-size:11.5px; color:var(--wzs-ink-55); margin:0; }
.wzs-pcard__sw{ display:flex; gap:4px; margin-top:6px; }
.wzs-pcard__sw i{ width:12px; height:12px; border:1px solid var(--wzs-line-2); background-size:cover; background-position:center; }
.wzs-pcard__swmore{ font-size:10.5px; font-weight:500; color:var(--wzs-ink-55); line-height:12px; }
.wzs-attrs{ display:flex; flex-wrap:wrap; gap:6px 14px; }
.wzs-attr{ display:inline-flex; align-items:center; gap:7px; }
.wzs-attr__sw{ width:18px; height:18px; flex:0 0 auto; border:1px solid var(--wzs-line-2); background-size:cover; background-position:center; }
ul.products li.product .price{ display:block; margin-top:6px; font-size:15px; font-weight:600; color:var(--wzs-ink); }
.price del{ color:var(--wzs-ink-38); font-weight:400; margin-right:6px; }
.price ins{ text-decoration:none; color:var(--wzs-accent-ink); }
ul.products li.product .star-rating{ margin:4px 0 0; font-size:12px; }
ul.products li.product .button,ul.products li.product .added_to_cart{
  margin:0 var(--wzs-s4) var(--wzs-s4); min-height:40px; font-size:13px; padding:0 14px;
  --wzs-btn-bg:transparent; --wzs-btn-fg:var(--wzs-ink); --wzs-btn-bd:var(--wzs-line);
}
ul.products li.product .button:hover{ --wzs-btn-bd:var(--wzs-ink); }
ul.products li.product .button.loading{ opacity:.6; pointer-events:none; }
ul.products li.product .button.added{ display:none; }
ul.products li.product .added_to_cart{ display:inline-flex; align-items:center; justify-content:center; border:1.5px solid var(--wzs-ink); background:var(--wzs-ink); color:var(--wzs-paper); }
.wzs-wishlist{ padding:0 var(--wzs-s4) var(--wzs-s4); font-size:13px; }
@media (max-width:640px){
  .wzs-pcard__t,ul.products li.product .woocommerce-loop-product__title{ font-size:14px; }
  ul.products li.product .button{ margin:0 var(--wzs-s3) var(--wzs-s3); }
  .wzs-pcard__b{ padding:var(--wzs-s3); }
}
.woocommerce-info.woocommerce-no-products-found{ margin:var(--wzs-s6) var(--wzs-pad); }
.wzs-products-widget ul.products{ margin:0; }

/* --------------------------------------------------------- 3 Single product */
.wzs-layout--product{ padding:0 0 var(--wzs-sec); }
.wzs-layout--product.wzs-layout--right,.wzs-layout--product.wzs-layout--left{ padding-inline:var(--wzs-pad); }
.single-product div.product{ position:relative; display:grid; grid-template-columns:minmax(0,1fr); }
.single-product div.product > .wzs-pv__media,.single-product div.product > .summary{ min-width:0; }
.wzs-pv__media{ position:relative; overflow:hidden; padding:clamp(20px,4vw,72px); display:flex; align-items:center; justify-content:center; background:var(--wzs-subtle); }
.wzs-pv__media.has-panel{ background:var(--c); }
.wzs-pv__media .woocommerce-product-gallery{ position:relative; width:min(100%,560px); margin:0; z-index:1; opacity:1 !important; }
.wzs-pv__media .woocommerce-product-gallery__wrapper{ margin:0; }
.wzs-pv__media .woocommerce-product-gallery .flex-viewport,
.wzs-pv__media .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child{ background:var(--wzs-card); box-shadow:var(--wzs-sh-3); }
.woocommerce-product-gallery__image img{ width:100%; display:block; }
.woocommerce-product-gallery__image--placeholder img{ aspect-ratio:1/1; object-fit:cover; }
.woocommerce-product-gallery .flex-control-thumbs{ list-style:none; display:flex; gap:8px; margin:12px 0 0; padding:0; flex-wrap:wrap; }
.woocommerce-product-gallery .flex-control-thumbs li{ width:64px; height:64px; background:var(--wzs-card); cursor:pointer; }
.woocommerce-product-gallery .flex-control-thumbs img{ width:100%; height:100%; object-fit:cover; opacity:.6; border:2px solid transparent; transition:opacity var(--wzs-t-fast); }
.woocommerce-product-gallery .flex-control-thumbs img.flex-active,.woocommerce-product-gallery .flex-control-thumbs img:hover{ opacity:1; border-color:var(--wzs-ink); }
.woocommerce-product-gallery__trigger{ position:absolute; top:12px; right:12px; z-index:9; width:40px; height:40px; background:var(--wzs-card); display:grid; place-items:center; font-size:0; border-radius:50%; box-shadow:var(--wzs-sh-1); }
.woocommerce-product-gallery__trigger::before{ content:""; width:14px; height:14px; border:2px solid var(--wzs-ink); border-radius:50%; }
.woocommerce-product-gallery__trigger span[aria-hidden]{ display:none; }
.woocommerce-product-gallery:not(.woocommerce-product-gallery--with-images) + *{ display:none; }
.woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:not(:first-child){ display:inline-block; width:64px; margin:12px 8px 0 0; }
.flex-viewport .woocommerce-product-gallery__image:not(:first-child){ width:auto; margin:0; display:block; }
.single-product div.product .onsale{ position:absolute; top:clamp(20px,4vw,72px); left:clamp(20px,4vw,72px); z-index:3; }

.single-product div.product .summary{ padding:clamp(24px,3.4vw,64px) var(--wzs-pad); margin:0; }
.wzs-pv__kicker{ color:var(--wzs-ink-55); margin:0 0 var(--wzs-s2); }
.single-product .product_title{ font-family:var(--wzs-font-head); font-weight:var(--wzs-hw); letter-spacing:-.022em; line-height:1.04; font-size:calc(clamp(28px,3.4vw,52px) * var(--wzs-dscale)); margin:0 0 var(--wzs-s3); }
.single-product .summary .price{ font-size:22px; font-weight:600; margin:0 0 var(--wzs-s4); color:var(--wzs-ink); }
.woocommerce-product-details__short-description{ color:var(--wzs-ink-70); max-width:56ch; font-size:clamp(15px,1.1vw,17px); }
.single-product .summary .woocommerce-product-rating{ display:flex; gap:10px; align-items:center; margin-bottom:var(--wzs-s3); font-size:13px; }
.wzs-pv__specs{ margin:var(--wzs-s5) 0; }
.woocommerce-product-attributes,.shop_attributes{ width:100%; border-collapse:collapse; margin:0; border-top:1px solid var(--wzs-line); }
.woocommerce-product-attributes th,.shop_attributes th{
  text-align:left; font-family:var(--wzs-font-mono); font-size:12px; font-weight:400; color:var(--wzs-ink-55);
  width:40%; padding:12px 12px 12px 0; border-bottom:1px solid var(--wzs-line); vertical-align:top;
}
.woocommerce-product-attributes td,.shop_attributes td{ padding:12px 0; border-bottom:1px solid var(--wzs-line); font-size:14.5px; }
.woocommerce-product-attributes td p{ margin:0; }
.woocommerce-product-attributes td a{ text-decoration:underline; text-underline-offset:3px; }
.single-product .summary .stock{ font-size:13px; font-weight:600; margin:0 0 var(--wzs-s3); }
.stock.in-stock{ color:var(--wzs-success); } .stock.out-of-stock{ color:var(--wzs-error); }
.single-product form.cart{ display:flex; flex-wrap:wrap; gap:10px; align-items:stretch; margin:var(--wzs-s5) 0; }
.single-product form.cart .single_add_to_cart_button{ flex:1 1 220px; }
.single-product form.cart.variations_form{ display:block; }
.single-product form.cart .woocommerce-variation-add-to-cart{ display:flex; flex-wrap:wrap; gap:10px; margin-top:var(--wzs-s4); }
.single_add_to_cart_button.disabled{ opacity:.45; cursor:not-allowed; }
.wzs-pv__acts{ display:flex; gap:10px; flex-wrap:wrap; margin:var(--wzs-s5) 0; }
.wzs-enquiry{ margin:var(--wzs-s5) 0; }
.product_meta{ font-size:13px; color:var(--wzs-ink-55); display:grid; gap:4px; padding-top:var(--wzs-s4); border-top:1px solid var(--wzs-line); }
.product_meta a{ color:var(--wzs-ink); }
@media (min-width:1025px){
  .single-product div.product{ grid-template-columns:1.06fr .94fr; }
  .single-product div.product > .wzs-pv__media{ min-height:70vh; align-self:start; }
  .single-product div.product > .woocommerce-tabs,.single-product div.product > .related,.single-product div.product > .upsells,.single-product div.product > section{ grid-column:1 / -1; }
}
.single-product div.product > .woocommerce-tabs,.single-product div.product > .related,.single-product div.product > .upsells{ padding:var(--wzs-sec) var(--wzs-pad) 0; }
.related > h2,.upsells > h2,.cross-sells > h2{
  font-family:var(--wzs-font-head); font-size:calc(clamp(20px,1.9vw,30px) * var(--wzs-dscale)); margin:0 0 clamp(20px,3vw,40px);
  border-top:2px solid var(--wzs-ink); padding-top:var(--wzs-s4);
}

/* --------------------------------------------- 4 Variations & quantity */
table.variations{ width:100%; border:0; margin:0; }
table.variations tr{ display:block; margin-bottom:var(--wzs-s4); }
table.variations th,table.variations td{ display:block; padding:0; text-align:left; border:0; }
table.variations th label{ font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--wzs-ink-55); display:block; margin-bottom:8px; }
table.variations select{ max-width:320px; }
table.variations select.wzs-swatched{ position:absolute; opacity:0; pointer-events:none; width:1px; height:1px; }
.reset_variations{ display:inline-block; margin-top:8px; font-size:13px; text-decoration:underline; }
.wzs-swatches{ display:flex; flex-wrap:wrap; gap:8px; }
.wzs-swatch{
  min-width:44px; height:44px; padding:0 14px; border:1px solid var(--wzs-line); background:var(--wzs-card); font-size:13px;
  display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:var(--wzs-radius); transition:border-color var(--wzs-t-fast), transform var(--wzs-t-fast);
}
.wzs-swatch:hover{ border-color:var(--wzs-ink); }
.wzs-swatch[aria-pressed="true"]{ border:2px solid var(--wzs-ink); }
.wzs-swatch[disabled]{ opacity:.35; text-decoration:line-through; cursor:not-allowed; }
.wzs-swatch--color{ width:44px; padding:0; }
.wzs-swatch--color i{ width:30px; height:30px; background-color:var(--sw,transparent); background-size:cover; background-position:center; outline:1px solid var(--wzs-line); outline-offset:-1px; }
.woocommerce-variation-price .price{ font-size:20px; }
.woocommerce-variation-description p{ color:var(--wzs-ink-70); }
.quantity{ display:inline-flex; align-items:stretch; border:1px solid var(--wzs-line); background:var(--wzs-card); border-radius:var(--wzs-radius); }
.quantity .qty{ width:56px; border:0; text-align:center; min-height:46px; padding:0; -moz-appearance:textfield; appearance:textfield; background:transparent; }
.quantity .qty::-webkit-outer-spin-button,.quantity .qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.quantity .qty:focus{ box-shadow:none; }
.wzs-qty-btn{ width:40px; border:0; background:none; display:grid; place-items:center; color:var(--wzs-ink-70); }
.wzs-qty-btn:hover{ color:var(--wzs-ink); background:var(--wzs-subtle); }
.wzs-qty-btn .wzs-ico{ width:14px; height:14px; }

/* ------------------------------------------------ 5 Tabs & reviews */
.woocommerce-tabs ul.tabs{ list-style:none; display:flex; gap:0; margin:0 0 var(--wzs-s5); padding:0; border-bottom:1px solid var(--wzs-line); overflow-x:auto; }
.woocommerce-tabs ul.tabs::before,.woocommerce-tabs ul.tabs li::before,.woocommerce-tabs ul.tabs li::after{ display:none; }
.woocommerce-tabs ul.tabs li{ margin:0; }
.woocommerce-tabs ul.tabs li a{ display:block; padding:14px 18px; font-weight:600; font-size:14px; color:var(--wzs-ink-55); border-bottom:2px solid transparent; margin-bottom:-1px; white-space:nowrap; }
.woocommerce-tabs ul.tabs li.active a{ color:var(--wzs-ink); border-bottom-color:var(--wzs-accent); }
.woocommerce-tabs .panel{ max-width:var(--wzs-content); color:var(--wzs-ink-70); }
.woocommerce-tabs .panel > h2:first-child{ font-size:20px; }
.star-rating{ position:relative; display:inline-block; width:5.4em; height:1.1em; line-height:1; font-size:14px; overflow:hidden; letter-spacing:.1em; }
.star-rating::before{ content:"★★★★★"; color:var(--wzs-line); position:absolute; top:0; left:0; }
.star-rating span{ position:absolute; top:0; left:0; overflow:hidden; padding-top:1.5em; height:0; }
.star-rating span::before{ content:"★★★★★"; position:absolute; top:0; left:0; color:var(--wzs-notice); }
p.stars a{ display:inline-block; width:1.2em; font-size:22px; color:var(--wzs-line); text-indent:-999em; position:relative; }
p.stars a::before{ content:"★"; position:absolute; left:0; top:0; text-indent:0; }
p.stars:hover a::before,p.stars.selected a.active::before,p.stars.selected a:not(.active)::before{ color:var(--wzs-notice); }
p.stars a:hover ~ a::before,p.stars.selected a.active ~ a::before{ color:var(--wzs-line); }
#reviews .commentlist{ list-style:none; padding:0; margin:0 0 var(--wzs-s6); }
#reviews .commentlist li{ padding:var(--wzs-s4) 0; border-bottom:1px solid var(--wzs-line); }
#reviews .comment_container{ display:flex; gap:var(--wzs-s4); }
#reviews .comment_container img{ border-radius:50%; width:48px; height:48px; }
#reviews .comment-text{ flex:1; }
#reviews .meta{ font-size:13px; color:var(--wzs-ink-55); }
#review_form .comment-form{ max-width:640px; }

/* ------------------------------------------------------------ 6 Notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notice,.wc-block-components-notice-banner{
  list-style:none; margin:0 0 var(--wzs-s5); padding:16px 20px 16px 22px; background:var(--wzs-subtle); color:var(--wzs-ink);
  border-left:4px solid var(--wzs-primary); display:flex; flex-wrap:wrap; align-items:center; gap:12px; font-size:15px;
}
.woocommerce-message{ border-left-color:var(--wzs-success); }
.woocommerce-error{ border-left-color:var(--wzs-error); flex-direction:column; align-items:flex-start; }
.woocommerce-error li{ margin:0; }
.woocommerce-message .button,.woocommerce-info .button{ order:2; margin-left:auto; min-height:40px; font-size:13px; }
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{ display:none; }
.woocommerce-store-notice,p.demo_store{ position:fixed; bottom:0; left:0; right:0; z-index:99; margin:0; padding:12px var(--wzs-pad); background:var(--wzs-primary); color:var(--wzs-on-primary); font-size:14px; text-align:center; }
.woocommerce-store-notice a{ color:inherit; text-decoration:underline; }

/* ------------------------------------------------------------- 7 Cart */
.wzs-wc-page{ min-width:0; }
.shop_table{ width:100%; border-collapse:collapse; margin:0 0 var(--wzs-s6); border:1px solid var(--wzs-line); }
.shop_table th{ text-align:left; font-family:var(--wzs-font-mono); font-size:12px; font-weight:400; color:var(--wzs-ink-55); padding:14px; border-bottom:1px solid var(--wzs-line); background:var(--wzs-subtle); }
.shop_table td{ padding:14px; border-bottom:1px solid var(--wzs-line); vertical-align:middle; }
.shop_table .product-thumbnail img{ width:72px; height:72px; object-fit:cover; }
.shop_table .product-name a{ font-weight:600; }
.shop_table a.remove{ display:inline-grid; place-items:center; width:32px; height:32px; font-size:20px; line-height:1; color:var(--wzs-ink-55) !important; border-radius:50%; }
.shop_table a.remove:hover{ background:var(--wzs-error); color:#fff !important; }
.shop_table td.actions{ text-align:right; }
.shop_table .coupon{ display:flex; gap:8px; float:left; flex-wrap:wrap; }
.shop_table .coupon input{ width:auto; min-width:180px; }
.shop_table .coupon label{ position:absolute; clip:rect(0 0 0 0); }
.cart-collaterals{ display:grid; gap:var(--wzs-s6); }
.cart_totals{ max-width:520px; margin-left:auto; width:100%; }
.cart_totals h2{ font-size:22px; }
.cart_totals .shop_table th{ width:40%; background:none; }
.wc-proceed-to-checkout .checkout-button{ width:100%; min-height:56px; font-size:15px; }
.woocommerce-shipping-methods{ list-style:none; padding:0; margin:0; }
.woocommerce-shipping-methods li{ margin-bottom:6px; }
.cross-sells{ grid-column:1 / -1; }
@media (max-width:767px){
  .shop_table_responsive thead{ display:none; }
  .shop_table_responsive tr{ display:block; border-bottom:1px solid var(--wzs-line); padding:8px 0; }
  .shop_table_responsive td{ display:flex; justify-content:space-between; gap:12px; border:0; padding:8px 14px; text-align:right; }
  .shop_table_responsive td::before{ content:attr(data-title); font-family:var(--wzs-font-mono); font-size:12px; color:var(--wzs-ink-55); text-align:left; }
  .shop_table_responsive td.product-remove::before,.shop_table_responsive td.product-thumbnail::before,.shop_table_responsive td.actions::before{ display:none; }
  .shop_table .coupon{ float:none; margin-bottom:10px; }
  .shop_table td.actions{ display:block; }
}

/* -------------------------------------------------------- 8 Checkout */
form.checkout{ display:grid; gap:var(--wzs-s6); }
@media (min-width:1025px){
  form.checkout{ grid-template-columns:1.2fr .8fr; align-items:start; }
  form.checkout #customer_details{ grid-column:1; }
  form.checkout #order_review_heading,form.checkout #order_review{ grid-column:2; }
  form.checkout #order_review_heading{ grid-row:1; }
  form.checkout #order_review{ grid-row:1; margin-top:48px; position:sticky; top:calc(var(--wzs-hh) + 24px); }
}
.woocommerce-billing-fields h3,.woocommerce-shipping-fields h3,.woocommerce-additional-fields h3,#order_review_heading{ font-size:20px; }
.form-row{ margin:0 0 var(--wzs-s4); padding:0; }
.form-row label{ display:block; margin-bottom:6px; font-size:13px; }
.form-row .required{ color:var(--wzs-error); text-decoration:none; }
.form-row.woocommerce-invalid input,.form-row.woocommerce-invalid select{ border-color:var(--wzs-error); }
.form-row.woocommerce-validated input{ border-color:var(--wzs-success); }
@media (min-width:641px){
  .form-row-first,.form-row-last{ width:calc(50% - 8px); float:left; }
  .form-row-last{ margin-left:16px; }
  .form-row-wide,.form-row.notes{ clear:both; }
}
.woocommerce-billing-fields__field-wrapper::after,.woocommerce-shipping-fields__field-wrapper::after,.woocommerce-address-fields__field-wrapper::after{ content:""; display:table; clear:both; }
#order_review .shop_table{ background:var(--wzs-card); }
#payment{ background:var(--wzs-subtle); padding:var(--wzs-s5); }
#payment ul.payment_methods{ list-style:none; margin:0 0 var(--wzs-s4); padding:0; }
#payment ul.payment_methods li{ padding:10px 0; border-bottom:1px solid var(--wzs-line); }
#payment .payment_box{ background:var(--wzs-card); padding:12px 16px; margin-top:8px; font-size:14px; }
#place_order{ width:100%; min-height:56px; }
.woocommerce-terms-and-conditions-wrapper{ font-size:13px; margin:var(--wzs-s4) 0; }
.select2-container .select2-selection--single{ height:48px; border:1px solid var(--wzs-line); border-radius:var(--wzs-radius); }
.select2-container--default .select2-selection--single .select2-selection__rendered{ line-height:46px; padding-left:14px; }
.select2-container--default .select2-selection--single .select2-selection__arrow{ height:46px; }
.woocommerce-order-overview{ list-style:none; display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:1px; background:var(--wzs-line); border:1px solid var(--wzs-line); padding:0; margin:0 0 var(--wzs-s6); }
.woocommerce-order-overview li{ background:var(--wzs-paper); padding:var(--wzs-s4); font-size:12px; text-transform:uppercase; letter-spacing:.1em; color:var(--wzs-ink-55); }
.woocommerce-order-overview li strong{ display:block; font-size:16px; letter-spacing:0; text-transform:none; color:var(--wzs-ink); margin-top:4px; }
.woocommerce-customer-details address{ font-style:normal; padding:var(--wzs-s4); border:1px solid var(--wzs-line); }

/* ------------------------------------------------ 9 My account & forms */
.woocommerce-account .wzs-wc-page > .woocommerce{ display:grid; gap:var(--wzs-s6); }
@media (min-width:1025px){ .woocommerce-account.logged-in .wzs-wc-page > .woocommerce{ grid-template-columns:240px 1fr; } }
.woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; border:1px solid var(--wzs-line); }
.woocommerce-MyAccount-navigation li a{ display:block; padding:12px 16px; border-bottom:1px solid var(--wzs-line-2); border-left:3px solid transparent; font-size:14px; }
.woocommerce-MyAccount-navigation li.is-active a{ border-left-color:var(--wzs-accent); background:var(--wzs-subtle); font-weight:600; }
.woocommerce-MyAccount-navigation li a:hover{ background:var(--wzs-subtle); }
.woocommerce-MyAccount-content{ min-width:0; }
.woocommerce-Addresses{ display:grid; gap:var(--wzs-s5); grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.woocommerce-Address{ border:1px solid var(--wzs-line); padding:var(--wzs-s5); }
.woocommerce-Address-title{ display:flex; justify-content:space-between; align-items:baseline; }
.woocommerce-Address-title h2{ font-size:18px; }
#customer_login{ display:grid; gap:var(--wzs-s6); }
@media (min-width:821px){ #customer_login{ grid-template-columns:1fr 1fr; } }
#customer_login > div{ border:1px solid var(--wzs-line); padding:clamp(20px,3vw,40px); }
.woocommerce-form-login,.woocommerce-form-register,.woocommerce-ResetPassword,.woocommerce-EditAccountForm{ max-width:560px; }
.woocommerce-form-login__rememberme{ display:inline-flex; gap:8px; align-items:center; font-weight:400; margin-right:16px; }
.woocommerce-LostPassword{ font-size:14px; }
.woocommerce-password-strength{ font-size:13px; padding:6px 10px; margin-top:6px; }
.woocommerce-password-strength.bad,.woocommerce-password-strength.short{ background:#FBE8E8; }
.woocommerce-password-strength.good{ background:#FFF4D6; } .woocommerce-password-strength.strong{ background:#E6F4E1; }
.woocommerce-orders-table .button,.woocommerce-table .button{ min-height:36px; font-size:12px; padding:0 12px; margin:2px; }

.password-input{ position:relative; display:block; }
.password-input input{ padding-right:48px; }
.show-password-input{ position:absolute; right:6px; top:50%; transform:translateY(-50%); width:36px; height:36px; padding:0; border:0; background:none; color:var(--wzs-ink-55); cursor:pointer; }
.show-password-input::before{ content:""; display:block; width:18px; height:12px; margin:auto; border:2px solid currentColor; border-radius:50% / 60%; box-shadow:inset 0 0 0 3px var(--wzs-card),inset 0 0 0 8px currentColor; }
.show-password-input.display-password::before{ background:linear-gradient(135deg,transparent 45%,currentColor 45%,currentColor 55%,transparent 55%); }

/* ------------------------------------------------ 10 Mini cart & widgets */
.woocommerce-mini-cart{ list-style:none; margin:0; padding:0; }
.woocommerce-mini-cart-item{ position:relative; display:grid; grid-template-columns:64px 1fr; gap:4px 14px; padding:14px 32px 14px 0; border-bottom:1px solid var(--wzs-line); font-size:14px; }
.woocommerce-mini-cart-item a:not(.remove){ display:contents; font-weight:600; }
.woocommerce-mini-cart-item img{ grid-row:span 2; width:64px; height:64px; object-fit:cover; }
.woocommerce-mini-cart-item .quantity{ border:0; background:none; color:var(--wzs-ink-55); font-size:13px; }
.woocommerce-mini-cart-item .remove{ position:absolute; right:0; top:14px; width:28px; height:28px; display:grid; place-items:center; border-radius:50%; font-size:18px; color:var(--wzs-ink-55); }
.woocommerce-mini-cart-item .remove:hover{ background:var(--wzs-error); color:#fff; }
.woocommerce-mini-cart__total{ display:flex; justify-content:space-between; padding:var(--wzs-s4) 0; font-size:16px; margin:0; }
.woocommerce-mini-cart__buttons{ display:grid; gap:8px; margin:0; }
.woocommerce-mini-cart__buttons .button{ width:100%; }
.woocommerce-mini-cart__buttons .button:not(.checkout){ --wzs-btn-bg:transparent; --wzs-btn-fg:var(--wzs-ink); --wzs-btn-bd:var(--wzs-ink); }
.woocommerce-mini-cart__empty-message{ text-align:center; color:var(--wzs-ink-55); padding:var(--wzs-s7) 0; }
.widget_price_filter .price_slider{ margin:10px 0 18px; }
.widget_price_filter .ui-slider{ position:relative; height:4px; background:var(--wzs-line); }
.widget_price_filter .ui-slider-range{ position:absolute; height:100%; background:var(--wzs-accent); }
.widget_price_filter .ui-slider-handle{ position:absolute; top:-7px; width:18px; height:18px; margin-left:-9px; border-radius:50%; background:var(--wzs-ink); cursor:grab; }
.widget_price_filter .price_slider_amount{ display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:13px; }
.widget_layered_nav li,.widget_product_categories li{ display:flex; justify-content:space-between; }
.widget_layered_nav .chosen a::before{ content:"✕ "; color:var(--wzs-accent); }
.product_list_widget li{ display:flex; gap:12px; align-items:center; }
.product_list_widget img{ width:56px; height:56px; object-fit:cover; }

/* ------------------------------------- 11 Blocks (Cart / Checkout) tokens */
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{ --wp--preset--color--contrast:var(--wzs-ink); font-family:var(--wzs-font-body); }
.wc-block-components-button:not(.is-link){ min-height:var(--wzs-btn-h); border-radius:var(--wzs-btn-radius) !important; background:var(--wzs-btn-bg); color:var(--wzs-btn-fg); font-weight:var(--wzs-btn-w); }
.wc-block-components-button:not(.is-link):hover{ background:var(--wzs-ink); color:var(--wzs-paper); }
.wc-block-components-text-input input,.wc-block-components-combobox .wc-block-components-combobox-control input,.wc-blocks-components-select__select{ border-radius:var(--wzs-radius) !important; }
.wc-block-components-totals-wrapper,.wc-block-components-order-summary{ border-color:var(--wzs-line) !important; }
.wc-block-grid__product{ border:1px solid var(--wzs-line); padding:0 0 var(--wzs-s4); }
.wc-block-grid__product-title{ font-family:var(--wzs-font-head); font-weight:700; }

/* AJAX filtering (shop.js) */
.wzs-results{ transition:opacity .25s ease; }
.wzs-results.is-loading .wzs-section--grid,.wzs-results.is-loading .woocommerce-info{ opacity:.35; pointer-events:none; transition:opacity .2s ease; }
.wzs-results.is-loading .wzs-ctools{ cursor:progress; }

/* Family FAQ (GEO) */
.wzs-faq{ border-top:1px solid var(--wzs-line); }
.wzs-faq__in{ max-width:920px; margin:0 auto; padding:var(--wzs-sec) var(--wzs-pad); }
.wzs-faq__title{ font-family:var(--wzs-font-head); font-size:calc(clamp(20px,1.9vw,30px) * var(--wzs-dscale,1)); margin:0 0 var(--wzs-s5); border-top:2px solid var(--c,var(--wzs-ink)); padding-top:var(--wzs-s4); }
.wzs-faq__item{ border-bottom:1px solid var(--wzs-line); }
.wzs-faq__item summary{ list-style:none; cursor:pointer; padding:18px 40px 18px 0; position:relative; font-weight:600; font-size:clamp(15px,1.05vw,17px); }
.wzs-faq__item summary::-webkit-details-marker{ display:none; }
.wzs-faq__item summary::after{ content:"+"; position:absolute; right:4px; top:50%; transform:translateY(-50%); font-size:22px; font-weight:400; color:var(--c-ink,var(--wzs-ink)); transition:transform var(--wzs-t-fast); }
.wzs-faq__item[open] summary::after{ transform:translateY(-50%) rotate(45deg); }
.wzs-faq__item summary:focus-visible{ outline:2px solid var(--c,var(--wzs-accent)); outline-offset:2px; }
.wzs-faq__a{ padding:0 0 20px; color:var(--wzs-ink-70); max-width:68ch; }
.wzs-faq__a p{ margin:0; }
