/* ==========================================================================
   WASE Industrial Luxury - WooCommerce layer
   Styling only. No markup, hooks, gateways or quote logic are touched.
   ========================================================================== */

/* --- Page frame ---------------------------------------------------------- */
body.wase-design.woocommerce-page,
body.wase-design.woocommerce{background:var(--surface-page)}
body.wase-design .woocommerce .ct-container,
body.wase-design .woocommerce-page .ct-container{max-width:var(--max-width)}

body.wase-design .wase-archive-head{padding:var(--space-6) 0 0}
body.wase-design .wase-archive-head h1,
body.wase-design .woocommerce-products-header__title{
  font:var(--weight-bold) var(--size-h1)/1.2 var(--font-serif-tc);color:var(--text-strong);margin:0
}
body.wase-design .woocommerce-products-header{padding-block:var(--space-6) 0;border:0;background:transparent}

/* --- Notices ------------------------------------------------------------- */
body.wase-design .woocommerce-message,
body.wase-design .woocommerce-info,
body.wase-design .woocommerce-error,
body.wase-design .woocommerce-noreviews,
body.wase-design p.no-comments{
  background:var(--surface-sunken);color:var(--text-body);
  border:1px solid var(--line-hairline);border-left:3px solid var(--wase-silver);
  border-radius:var(--radius-sm);box-shadow:none;
  padding:var(--space-4) var(--space-5);
  font:var(--weight-medium) var(--size-body-sm)/1.6 var(--font-sans)
}
body.wase-design .woocommerce-message{border-left-color:var(--state-ok)}
body.wase-design .woocommerce-info{border-left-color:var(--wase-orange)}
body.wase-design .woocommerce-error{border-left-color:var(--state-error);color:var(--state-error)}
body.wase-design .woocommerce-message::before,
body.wase-design .woocommerce-info::before,
body.wase-design .woocommerce-error::before{display:none}
body.wase-design .woocommerce-message .button{float:none;margin-left:var(--space-4)}

/* --- Catalogue grid ------------------------------------------------------ */
body.wase-design .woocommerce ul.products,
body.wase-design .woocommerce-page ul.products,
body.wase-design [data-products]{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gutter);
  list-style:none;margin:var(--space-5) 0 0;padding:0
}
@media (max-width:960px){body.wase-design .woocommerce ul.products,body.wase-design [data-products]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){body.wase-design .woocommerce ul.products,body.wase-design [data-products]{grid-template-columns:1fr}}

body.wase-design ul.products li.product{
  width:100%;margin:0;padding:0;float:none;clear:none;
  display:flex;flex-direction:column;
  background:var(--surface-card);border:1px solid var(--line-standard);
  border-radius:var(--radius-md);box-shadow:none;overflow:hidden;
  transition:border-color var(--duration-base) var(--ease-standard);text-align:left
}
body.wase-design ul.products li.product:hover{border-color:var(--line-accent);transform:none}

/* Media plate: full bleed, 4:3, hairline beneath. */
body.wase-design ul.products li.product > figure{
  order:1;position:relative;margin:0;padding:0;background:var(--surface-sunken);
  border-bottom:1px solid var(--line-hairline);overflow:hidden
}
body.wase-design ul.products li.product .ct-media-container,
body.wase-design ul.products li.product .woocommerce-LoopProduct-link{display:block;margin:0;border-radius:0}
body.wase-design ul.products li.product img{
  aspect-ratio:4/3 !important;width:100% !important;height:auto !important;
  object-fit:cover;display:block;margin:0;border-radius:0;background:var(--surface-sunken)
}

/* Category label sits above the product name. */
body.wase-design ul.products li.product ul.entry-meta,
body.wase-design ul.products li.product .ct-product-categories{
  order:2;list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-2);
  margin:0;padding:var(--card-pad) var(--card-pad) 0;
  font:var(--text-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted)
}
body.wase-design ul.products li.product ul.entry-meta li{margin:0;padding:0;list-style:none}
body.wase-design ul.products li.product ul.entry-meta a{color:var(--text-muted)}
body.wase-design ul.products li.product ul.entry-meta a:hover{color:var(--text-accent)}

body.wase-design ul.products li.product .woocommerce-loop-product__title,
body.wase-design ul.products li.product h2,
body.wase-design ul.products li.product h3{
  order:3;font:var(--weight-bold) var(--size-h4)/1.4 var(--font-serif-tc);color:var(--text-strong);
  padding:var(--space-3) var(--card-pad) var(--space-5);margin:0
}
body.wase-design ul.products li.product .woocommerce-loop-product__title a{color:inherit}
body.wase-design ul.products li.product .woocommerce-loop-category__title{font-family:var(--font-serif-tc)}

/* Action row: mono price left, outlined button right, hairline above. */
body.wase-design ul.products li.product .ct-woo-card-actions{
  order:4;margin-top:auto;padding:var(--space-3) var(--card-pad) var(--card-pad);
  border-top:1px solid var(--line-hairline);
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap
}
body.wase-design ul.products li.product .price{
  display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;
  font:var(--weight-medium) var(--size-body-lg)/1.2 var(--font-mono);
  color:var(--text-strong);padding:0;margin:0;border:0
}
body.wase-design ul.products li.product .price .sale-price{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}
body.wase-design ul.products li.product .price del{color:var(--text-muted);opacity:1;font-size:var(--size-body-sm)}
body.wase-design ul.products li.product .price ins{text-decoration:none;color:var(--text-strong)}
body.wase-design .woocommerce-price-suffix{font:400 var(--size-caption)/1 var(--font-sans);color:var(--text-muted)}
body.wase-design ul.products li.product .button,
body.wase-design ul.products li.product .add_to_cart_button,
body.wase-design ul.products li.product .adq-single-quote-btn{
  margin:0;min-height:var(--control-h-sm);
  background:transparent;color:var(--text-strong);border-color:var(--line-standard);
  font-size:var(--size-caption);letter-spacing:.08em
}
body.wase-design ul.products li.product .button:hover{
  background:var(--wase-iron);color:var(--wase-warm-white);border-color:var(--wase-iron)
}
body.wase-design ul.products li.product .star-rating,
body.wase-design ul.products li.product .screen-reader-text{display:none}

/* Sale flash: square iron block, top left, never a pill. */
body.wase-design span.onsale,
body.wase-design .ct-product-badge{
  position:absolute;top:0;left:0;right:auto;z-index:2;margin:0;padding:6px 10px;min-height:0;min-width:0;
  background:var(--wase-iron);color:var(--text-on-dark);border-radius:0;line-height:1;
  font:var(--weight-semibold) 11px/1 var(--font-sans);letter-spacing:var(--tracking-label);text-transform:uppercase
}

/* Archive title block: Chinese line, then the orange rule. */
body.wase-design .hero-section{background:var(--surface-page);border:0;padding:var(--space-7) 0 0}
body.wase-design .hero-section .entry-header{max-width:var(--max-width);margin-inline:auto;padding-inline:var(--page-pad)}
body.wase-design .hero-section .page-title,
body.wase-design h1.page-title{
  font:var(--weight-bold) var(--size-h1)/1.2 var(--font-serif-tc);color:var(--text-strong);margin:0
}
body.wase-design .hero-section .entry-header::after{
  content:"";display:block;height:3px;width:64px;background:var(--wase-orange);margin-top:var(--space-5)
}
body.wase-design .hero-section .page-description{
  font:400 var(--size-body)/var(--leading-body) var(--font-sans);color:var(--text-body);margin-top:var(--space-4);max-width:640px
}
/* --- Catalogue toolbar --------------------------------------------------- */
body.wase-design .woo-listing-top{
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;
  padding-bottom:var(--space-4);border-bottom:1px solid var(--line-hairline);margin-top:var(--space-7)
}
body.wase-design .woocommerce-result-count{
  font:400 var(--size-body-sm)/1 var(--font-mono);color:var(--text-muted);margin:0
}
body.wase-design .woocommerce-ordering{margin:0}
body.wase-design .woocommerce-ordering select{max-width:260px;height:var(--control-h-sm);min-height:var(--control-h-sm)}
body.wase-design .woocommerce-notices-wrapper:empty{display:none}

/* --- Pagination ---------------------------------------------------------- */
body.wase-design nav.woocommerce-pagination ul{border:0;margin:var(--space-8) 0 0;padding:0;list-style:none;display:flex;gap:var(--space-2);justify-content:center}
body.wase-design nav.woocommerce-pagination ul li{border:0;margin:0;list-style:none}
body.wase-design nav.woocommerce-pagination ul li a,
body.wase-design nav.woocommerce-pagination ul li span{
  min-width:var(--control-h-sm);height:var(--control-h-sm);display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line-standard);border-radius:var(--radius-sm);background:transparent;
  color:var(--text-strong);font:var(--weight-medium) var(--size-body-sm)/1 var(--font-mono);padding:0 var(--space-3)
}
body.wase-design nav.woocommerce-pagination ul li span.current{background:var(--wase-iron);color:var(--text-on-dark);border-color:var(--wase-iron)}
body.wase-design nav.woocommerce-pagination ul li a:hover{border-color:var(--line-accent);color:var(--text-accent);background:transparent}

/* --- Single product ------------------------------------------------------ */
body.wase-design .single-product div.product{margin-top:var(--space-6)}
body.wase-design .single-product .product_title,
body.wase-design .single-product h1.entry-title{
  font:var(--weight-bold) var(--size-h1)/1.2 var(--font-serif-tc);color:var(--text-strong);margin:0 0 var(--space-3)
}
body.wase-design .single-product .woocommerce-product-gallery img{border:1px solid var(--line-standard);border-radius:0}
body.wase-design .single-product .woocommerce-product-gallery__wrapper{border-radius:0}
body.wase-design .single-product .flex-control-thumbs li img,
body.wase-design .single-product .woocommerce-product-gallery__image--placeholder img{border-radius:0}
body.wase-design .single-product .woocommerce-product-gallery__trigger{display:none}

body.wase-design .single-product .summary p.price,
body.wase-design .single-product .summary .price{
  font:var(--weight-medium) 32px/1 var(--font-mono);color:var(--text-strong);margin:0 0 var(--space-4)
}
body.wase-design .single-product .summary .price del{font-size:var(--size-body);color:var(--text-muted);opacity:1}
body.wase-design .single-product .summary .price ins{text-decoration:none}
body.wase-design .single-product .woocommerce-product-details__short-description{
  font:400 var(--size-body)/var(--leading-body) var(--font-sans);color:var(--text-body);
  padding-top:var(--space-5);border-top:1px solid var(--line-standard)
}
body.wase-design .single-product .summary::before{
  content:"";display:block;height:3px;width:64px;background:var(--wase-orange);margin:0 0 var(--space-5)
}
body.wase-design .single-product .product_meta{
  margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--line-hairline);
  font:400 var(--size-caption)/1.8 var(--font-mono);letter-spacing:.04em;color:var(--text-muted)
}
body.wase-design .single-product .product_meta a{color:var(--text-muted)}
body.wase-design .single-product .product_meta a:hover{color:var(--text-accent)}

body.wase-design .quantity input.qty{
  width:96px;min-height:var(--control-h);text-align:center;font-family:var(--font-mono);
  border:1px solid var(--line-standard);border-radius:var(--radius-sm);background:var(--surface-card)
}
body.wase-design form.cart{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end;margin-bottom:var(--space-5)}
body.wase-design form.cart .button{min-height:var(--control-h)}
body.wase-design form.variations_form{display:block}
body.wase-design table.variations{border:0;margin-bottom:var(--space-4)}
body.wase-design table.variations th,body.wase-design table.variations td{border:0;padding:var(--space-2) 0;background:transparent}
body.wase-design table.variations th label{font:var(--text-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted)}
body.wase-design .woocommerce-variation-price{margin-bottom:var(--space-4)}
body.wase-design .reset_variations{font:var(--weight-medium) var(--size-caption)/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}

body.wase-design .stock{
  display:inline-flex;align-items:center;gap:var(--space-2);height:22px;padding:0 var(--space-2);
  border:1px solid currentColor;border-radius:var(--radius-sm);
  font:var(--weight-medium) var(--size-caption)/1 var(--font-mono);letter-spacing:.06em
}
body.wase-design .stock.in-stock{color:var(--state-ok)}
body.wase-design .stock.out-of-stock,body.wase-design .stock.available-on-backorder{color:var(--state-warn)}

/* Tabs */
body.wase-design .woocommerce-tabs{margin-top:var(--space-9)}
body.wase-design .woocommerce-tabs ul.tabs{
  display:flex;gap:var(--space-6);padding:0;margin:0;border:0;border-bottom:1px solid var(--line-standard);flex-wrap:wrap
}
body.wase-design .woocommerce-tabs ul.tabs::before,
body.wase-design .woocommerce-tabs ul.tabs::after{display:none}
body.wase-design .woocommerce-tabs ul.tabs li{
  background:transparent;border:0;border-radius:0;margin:0;padding:0;box-shadow:none
}
body.wase-design .woocommerce-tabs ul.tabs li::before,
body.wase-design .woocommerce-tabs ul.tabs li::after{display:none}
body.wase-design .woocommerce-tabs ul.tabs li a{
  position:relative;display:block;padding:var(--space-3) 0;color:var(--text-muted);
  font:var(--weight-medium) var(--size-body-sm)/1 var(--font-sans);letter-spacing:.06em;text-transform:uppercase
}
body.wase-design .woocommerce-tabs ul.tabs li.active a{color:var(--text-strong);font-weight:var(--weight-semibold)}
body.wase-design .woocommerce-tabs ul.tabs li.active a::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--wase-orange)
}
body.wase-design .woocommerce-tabs .panel{margin-top:var(--space-6);max-width:860px;padding:0}
body.wase-design .woocommerce-tabs .panel h2{font:var(--weight-semibold) var(--size-h3)/1.35 var(--font-serif-tc);margin-bottom:var(--space-4)}

/* Attribute / spec table */
body.wase-design table.woocommerce-product-attributes,
body.wase-design table.shop_attributes{width:100%;border-collapse:collapse;border:0}
body.wase-design table.shop_attributes th{
  text-align:left;width:220px;padding:var(--space-4) 0;border:0;border-bottom:1px solid var(--line-hairline);
  font:var(--text-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted);background:transparent
}
body.wase-design table.shop_attributes td{
  padding:var(--space-4) 0;border:0;border-bottom:1px solid var(--line-hairline);
  font:400 var(--size-body-sm)/1.6 var(--font-mono);color:var(--text-strong);background:transparent;font-style:normal
}
body.wase-design table.shop_attributes td p{margin:0}

/* Related / upsells */
body.wase-design .related > h2,body.wase-design .upsells > h2,body.wase-design .cross-sells > h2{
  display:flex;align-items:center;gap:var(--space-4);
  font:var(--text-label);text-transform:uppercase;letter-spacing:var(--tracking-label);
  color:var(--text-muted);margin-bottom:var(--space-5)
}
body.wase-design .related > h2::after,body.wase-design .upsells > h2::after{content:"";height:1px;flex:1;background:var(--line-standard)}
body.wase-design .related,body.wase-design .upsells{margin-top:var(--space-9)}

/* --- Cart ---------------------------------------------------------------- */
body.wase-design table.shop_table{
  border:1px solid var(--line-standard);border-radius:var(--radius-md);border-collapse:separate;border-spacing:0;background:var(--surface-card)
}
body.wase-design table.shop_table th{
  background:var(--surface-sunken);border-bottom:1px solid var(--line-standard);
  font:var(--text-label);text-transform:uppercase;letter-spacing:var(--tracking-label);
  color:var(--text-muted);padding:var(--space-4) var(--space-5);text-align:left
}
body.wase-design table.shop_table td{
  border-top:0;border-bottom:1px solid var(--line-hairline);padding:var(--space-4) var(--space-5);
  font:400 var(--size-body-sm)/1.6 var(--font-sans);color:var(--text-body);vertical-align:middle
}
body.wase-design table.shop_table tr:last-child td{border-bottom:0}
body.wase-design table.shop_table td.product-name a{font-family:var(--font-serif-tc);font-weight:var(--weight-semibold);color:var(--text-strong)}
body.wase-design table.shop_table td.product-price,
body.wase-design table.shop_table td.product-subtotal,
body.wase-design table.shop_table td.product-total,
body.wase-design table.shop_table .amount{font-family:var(--font-mono);color:var(--text-strong)}
body.wase-design table.shop_table img{border:1px solid var(--line-hairline);border-radius:0;width:64px}
body.wase-design a.remove{
  color:var(--text-muted);border:1px solid var(--line-hairline);border-radius:var(--radius-sm);
  width:24px;height:24px;line-height:22px;font-size:16px;font-weight:400;background:transparent
}
body.wase-design a.remove:hover{background:transparent;color:var(--text-accent);border-color:var(--line-accent)}
body.wase-design .cart-collaterals .cart_totals > h2,
body.wase-design .cross-sells > h2{font:var(--weight-semibold) var(--size-h3)/1.35 var(--font-serif-tc);color:var(--text-strong)}
body.wase-design .cart_totals table.shop_table{background:var(--surface-card)}
body.wase-design .coupon input[type=text]{max-width:220px}
body.wase-design .wc-proceed-to-checkout .checkout-button{width:100%;min-height:56px;font-size:var(--size-body)}

/* --- Checkout ------------------------------------------------------------ */
body.wase-design .woocommerce-checkout h3,
body.wase-design .woocommerce-billing-fields h3,
body.wase-design #order_review_heading{
  font:var(--weight-semibold) var(--size-h3)/1.35 var(--font-serif-tc);color:var(--text-strong);
  padding-bottom:var(--space-3);border-bottom:1px solid var(--line-standard);margin-bottom:var(--space-5)
}
body.wase-design .woocommerce form .form-row label{
  font:var(--text-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted);margin-bottom:var(--space-2)
}
body.wase-design .woocommerce form .form-row .required{color:var(--text-accent);text-decoration:none}
body.wase-design .woocommerce form .form-row{padding:0;margin-bottom:var(--space-5)}
body.wase-design .select2-container--default .select2-selection--single{
  height:var(--control-h);border:1px solid var(--line-standard);border-radius:var(--radius-sm);background:var(--surface-card)
}
body.wase-design .select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:var(--control-h);color:var(--text-strong);font-family:var(--font-sans);padding-left:var(--space-4)
}
body.wase-design .select2-container--default .select2-selection--single .select2-selection__arrow{height:var(--control-h)}
body.wase-design .select2-dropdown{border:1px solid var(--line-standard);border-radius:var(--radius-sm);box-shadow:none}
body.wase-design .select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--wase-iron);color:var(--text-on-dark)}
body.wase-design #payment,body.wase-design .woocommerce-checkout #payment{
  background:var(--surface-sunken);border:1px solid var(--line-hairline);border-radius:var(--radius-md)
}
body.wase-design #payment ul.payment_methods{border-bottom:1px solid var(--line-hairline);padding:var(--space-5)}
body.wase-design #payment ul.payment_methods li{list-style:none;margin-bottom:var(--space-3)}
body.wase-design #payment ul.payment_methods label{
  font:var(--weight-medium) var(--size-body-sm)/1.5 var(--font-sans);text-transform:none;letter-spacing:0;color:var(--text-strong)
}
body.wase-design #payment div.payment_box{
  background:var(--surface-card);border:1px solid var(--line-hairline);border-radius:var(--radius-sm);
  font:400 var(--size-body-sm)/1.6 var(--font-sans);color:var(--text-body)
}
body.wase-design #payment div.payment_box::before{display:none}
body.wase-design #payment .place-order{padding:var(--space-5)}
body.wase-design #place_order{width:100%;min-height:56px;font-size:var(--size-body)}

/* --- My account ---------------------------------------------------------- */
body.wase-design .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid var(--line-standard);border-radius:var(--radius-md);overflow:hidden}
body.wase-design .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line-hairline)}
body.wase-design .woocommerce-MyAccount-navigation li:last-child{border-bottom:0}
body.wase-design .woocommerce-MyAccount-navigation li a{
  display:block;padding:var(--space-4) var(--space-5);color:var(--text-body);
  font:var(--weight-medium) var(--size-body-sm)/1 var(--font-sans);letter-spacing:.04em
}
body.wase-design .woocommerce-MyAccount-navigation li.is-active a,
body.wase-design .woocommerce-MyAccount-navigation li a:hover{background:var(--surface-sunken);color:var(--text-strong)}
body.wase-design .woocommerce-MyAccount-navigation li.is-active{border-left:3px solid var(--wase-orange)}
body.wase-design .woocommerce-MyAccount-content{font:400 var(--size-body)/var(--leading-body) var(--font-sans)}
body.wase-design .woocommerce-form-login,
body.wase-design .woocommerce-form-register,
body.wase-design .woocommerce form.login,
body.wase-design .woocommerce form.register{
  border:1px solid var(--line-standard);border-radius:var(--radius-md);padding:var(--space-6);background:var(--surface-card)
}

/* --- Quote request (ELEX) ------------------------------------------------ */
body.wase-design .adq-quote-list,
body.wase-design .elex-rfq-form,
body.wase-design #adq_quote_form{
  border:1px solid var(--line-standard);border-radius:var(--radius-md);background:var(--surface-card);padding:var(--space-6)
}
body.wase-design .adq-single-quote-btn,
body.wase-design .add-to-quote-btn{letter-spacing:.08em;text-transform:uppercase}

/* --- Widgets / filters --------------------------------------------------- */
body.wase-design .widget,body.wase-design .ct-widget{margin-bottom:var(--space-7)}
body.wase-design .widget .widget-title,body.wase-design .ct-widget > h2,body.wase-design .widget > h2{
  display:flex;align-items:center;gap:var(--space-4);
  font:var(--text-label);text-transform:uppercase;letter-spacing:var(--tracking-label);
  color:var(--text-muted);margin-bottom:var(--space-4)
}
body.wase-design .widget .widget-title::after,body.wase-design .ct-widget > h2::after{content:"";height:1px;flex:1;background:var(--line-standard)}
body.wase-design .widget ul{list-style:none;margin:0;padding:0}
body.wase-design .widget li{padding:var(--space-2) 0;font:400 var(--size-body-sm)/1.5 var(--font-sans)}
body.wase-design .widget li a{color:var(--text-body)}
body.wase-design .widget li a:hover{color:var(--text-accent)}
body.wase-design .price_slider_wrapper .ui-slider .ui-slider-range{background:var(--wase-iron)}
body.wase-design .price_slider_wrapper .ui-slider .ui-slider-handle{background:var(--wase-orange);border-radius:0;border:0}

/* --- Checkboxes and radios ----------------------------------------------- */
body.wase-design input[type=checkbox],body.wase-design input[type=radio]{
  appearance:none;width:20px;height:20px;min-height:0;flex:0 0 auto;padding:0;
  border:1px solid var(--line-standard);border-radius:var(--radius-sm);background:transparent;
  display:inline-grid;place-content:center;vertical-align:middle;transition:var(--transition-color)
}
body.wase-design input[type=checkbox]:checked{background:var(--wase-iron);border-color:var(--wase-iron)}
body.wase-design input[type=checkbox]:checked::before{
  content:"";width:11px;height:6px;border-left:2px solid var(--wase-warm-white);border-bottom:2px solid var(--wase-warm-white);
  transform:rotate(-45deg) translate(1px,-2px)
}
body.wase-design input[type=radio]:checked::before{content:"";width:10px;height:10px;background:var(--wase-orange)}
body.wase-design .woocommerce form .form-row.woocommerce-validated input.input-text{border-color:var(--line-standard)}
body.wase-design .woocommerce form .form-row.woocommerce-invalid input.input-text{border-color:var(--state-error)}

/* --- Blocksy single-product furniture ------------------------------------ */
body.wase-design .ct-breadcrumbs{
  display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);
  font:var(--weight-medium) var(--size-caption)/1.6 var(--font-sans);
  letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);
  padding-block:var(--space-5) 0
}
body.wase-design .ct-breadcrumbs a{color:var(--text-muted)}
body.wase-design .ct-breadcrumbs a:hover{color:var(--text-accent)}
body.wase-design .ct-breadcrumbs .ct-separator,
body.wase-design .ct-breadcrumbs svg{color:var(--wase-silver);fill:var(--wase-silver)}

body.wase-design .ct-product-divider{border:0;height:1px;background:var(--line-hairline);margin-block:var(--space-5)}
body.wase-design .ct-cart-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}
body.wase-design .quantity{display:inline-flex;align-items:center;border:1px solid var(--line-standard);border-radius:var(--radius-sm);background:var(--surface-card);overflow:hidden}
body.wase-design .quantity input.qty{border:0;border-radius:0;background:transparent;width:64px}
body.wase-design .ct-increase,body.wase-design .ct-decrease{
  width:40px;height:var(--control-h);display:inline-flex;align-items:center;justify-content:center;
  background:transparent;border:0;color:var(--text-strong);cursor:pointer;border-radius:0;
  transition:var(--transition-color)
}
body.wase-design .ct-increase:hover,body.wase-design .ct-decrease:hover{color:var(--text-accent);background:transparent}
body.wase-design .ct-decrease{border-right:1px solid var(--line-hairline)}
body.wase-design .ct-increase{border-left:1px solid var(--line-hairline)}

body.wase-design .ct-product-gallery-container,
body.wase-design .ct-default-gallery{border-radius:0}
body.wase-design .ct-default-gallery img{border:1px solid var(--line-standard);border-radius:0}

body.wase-design .woocommerce-product-attributes-item__label{
  font:var(--text-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted)
}
body.wase-design .woocommerce-product-attributes-item__value{
  font:400 var(--size-body-sm)/1.6 var(--font-mono);color:var(--text-strong)
}
body.wase-design .woocommerce-product-attributes-item__value p{margin:0}

/* Trending / related module */
body.wase-design .ct-module-title{
  display:flex;align-items:center;gap:var(--space-4);
  font:var(--text-label);text-transform:uppercase;letter-spacing:var(--tracking-label);
  color:var(--text-muted);margin-bottom:var(--space-5)
}
body.wase-design .ct-module-title::after{content:"";height:1px;flex:1;background:var(--line-standard)}
body.wase-design .ct-trending-block-item{
  background:var(--surface-card);border:1px solid var(--line-standard);border-radius:var(--radius-md);
  box-shadow:none;overflow:hidden;transition:border-color var(--duration-base) var(--ease-standard)
}
body.wase-design .ct-trending-block-item:hover{border-color:var(--line-accent)}
body.wase-design .ct-trending-block-item img{border-radius:0;aspect-ratio:4/3;object-fit:cover;width:100%}
body.wase-design .ct-trending-block-item-content{padding:var(--card-pad)}
body.wase-design .ct-post-title{font:var(--weight-bold) var(--size-body)/1.4 var(--font-serif-tc);color:var(--text-strong)}
body.wase-design .ct-slider-arrows button{
  border:1px solid var(--line-standard);border-radius:var(--radius-sm);background:transparent;
  color:var(--text-strong);width:36px;height:36px
}
body.wase-design .ct-slider-arrows button:hover{border-color:var(--line-accent);color:var(--text-accent);background:transparent}

/* Quote plugin surfaces */
body.wase-design .elex-rqst-quote-front-wrap .button,
body.wase-design .elex-raq-toast-container{border-radius:var(--radius-sm);box-shadow:none}
/* Blocksy breadcrumb separators and gallery arrows also lose the silver. */
body.wase-design .ct-breadcrumbs .ct-separator,
body.wase-design .ct-breadcrumbs svg{color:var(--text-muted);fill:var(--text-muted)}

/* --- Blocksy card scaffolding ---------------------------------------------
   Blocksy builds its product card with a square :before spacer, 20px inline
   padding on the <li> and negative margins on the figure and action row. The
   WASE card owns those decisions instead, so the scaffolding is neutralised
   here rather than fought selector by selector. */
body.wase-design [data-products] .ct-media-container::before,
body.wase-design ul.products .ct-media-container::before{display:none}

body.wase-design [data-products] .ct-media-container,
body.wase-design ul.products li.product .ct-media-container{
  display:block;width:100%;border-radius:0;vertical-align:top
}
body.wase-design [data-products] .ct-media-container img,
body.wase-design ul.products li.product .ct-media-container img{
  width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block
}

/* The <li> carries no padding of its own: every child sets its own inset. */
body.wase-design [data-products=type-2] li.product,
body.wase-design [data-products] li.product{
  padding:0;box-shadow:none;overflow:hidden;
  --horizontal-alignment:flex-start;
  --text-horizontal-alignment:left;
  --product-element-spacing:0px;
  align-items:stretch;text-align:left
}
body.wase-design [data-products] li.product > *{margin-bottom:0}

/* Undo the full-bleed trick: the figure is already flush inside a padless li. */
body.wase-design [data-products=type-2] li.product > figure,
body.wase-design [data-products=type-2] li.product .ct-woo-card-actions{
  width:100%;margin-inline:0
}
body.wase-design [data-products=type-2] li.product > figure{display:block}

/* The action row is a price/button pair, not two equal 55px cells. */
body.wase-design [data-products=type-2] li.product .ct-woo-card-actions > *{
  flex:0 1 auto;padding:0;min-height:0
}
body.wase-design [data-products] li.product .ct-woo-card-actions .price::after{display:none}
body.wase-design [data-products] li.product .price{--theme-font-size:var(--size-body-lg)}

/* Blocksy's grid gap variables, in WASE terms. */
body.wase-design [data-products],
body.wase-design ul.products{--grid-columns-gap:var(--gutter);--grid-rows-gap:var(--gutter)}
/* --- Action row -----------------------------------------------------------
   A discounted price prints two amounts plus a tax note, which together with
   the button overran the card and clipped it. Price and button stack instead:
   the price on its own line, the button beneath, both flush to the card inset. */
body.wase-design ul.products li.product .ct-woo-card-actions,
body.wase-design [data-products] li.product .ct-woo-card-actions{
  flex-direction:column;align-items:flex-start;gap:var(--space-3);flex-wrap:nowrap
}
body.wase-design ul.products li.product .price,
body.wase-design [data-products] li.product .price{
  flex:0 0 auto;width:100%;min-width:0;display:flex;align-items:baseline;
  gap:var(--space-2);flex-wrap:wrap
}
body.wase-design ul.products li.product .ct-woo-card-actions .button,
body.wase-design [data-products] li.product .ct-woo-card-actions .button{
  flex:0 0 auto;max-width:100%;white-space:nowrap
}

/* WooCommerce prints the category count inside <mark>, which the browser
   highlights yellow. It is a number, so it reads as mono meta instead. */
body.wase-design mark.count,
body.wase-design .woocommerce-loop-category__title mark{
  background:transparent;color:var(--text-muted);
  font:var(--weight-body) var(--size-caption)/1 var(--font-mono);letter-spacing:.04em
}
body.wase-design .woocommerce-loop-category__title{
  display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap
}

/* A category card is image + name only, so it needs its own bottom inset. */
body.wase-design li.product-category .woocommerce-loop-category__title{
  padding:var(--space-4) var(--card-pad) var(--card-pad)
}

/* --- Card refinement pass ------------------------------------------------ */

/* Title sits tighter so the availability line can carry the bottom space. */
body.wase-design ul.products li.product .woocommerce-loop-product__title,
body.wase-design ul.products li.product h2,
body.wase-design ul.products li.product h3{padding-bottom:var(--space-3)}

/* Availability: square status dot, Chinese word, mono English. */
body.wase-design ul.products li.product .wase-avail{
  order:3;display:flex;align-items:center;gap:var(--space-2);
  padding:0 var(--card-pad) var(--space-5);margin:0;
  font:var(--weight-medium) var(--size-caption)/1 var(--font-mono);
  letter-spacing:.06em
}
body.wase-design .wase-avail i{display:block;width:6px;height:6px;flex:0 0 6px;background:var(--state-ok)}
body.wase-design .wase-avail--onbackorder i{background:var(--state-warn)}
body.wase-design .wase-avail--outofstock i{background:var(--state-disabled-line)}
body.wase-design .wase-avail__zh{font-family:var(--font-sans);color:var(--text-body)}
body.wase-design .wase-avail__en{color:var(--text-muted)}
body.wase-design .wase-avail__en::before{content:"/";margin-inline-end:var(--space-2);color:var(--line-strong)}

/* Media plate keeps a hairline inset so the photo never touches the border. */
body.wase-design ul.products li.product:hover img{transform:scale(1.02)}
body.wase-design ul.products li.product img{transition:transform var(--duration-slow) var(--ease-standard)}

/* Archive header: hairline with an orange lead, not an orange block. */
body.wase-design .hero-section .entry-header::after{
  height:1px;width:100%;background:var(--line-standard);position:relative
}
body.wase-design .hero-section .entry-header{position:relative}
body.wase-design .hero-section .entry-header::before{
  content:"";position:absolute;left:var(--page-pad);bottom:0;width:48px;height:1px;
  background:var(--wase-orange);z-index:1
}

/* --- Card action row corrections ----------------------------------------- */
body.wase-design ul.products li.product .price{justify-content:flex-start}
body.wase-design ul.products li.product .ct-woo-card-actions > .button,
body.wase-design ul.products li.product .ct-woo-card-actions > a.button,
body.wase-design ul.products li.product .button,
body.wase-design ul.products li.product .add_to_cart_button,
body.wase-design ul.products li.product .adq-single-quote-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:var(--control-h-sm);padding:0 var(--space-4);
  border:1px solid var(--line-strong);border-radius:var(--radius-sm);
  background:transparent;color:var(--text-strong);
  font:var(--weight-semibold) var(--size-caption)/1 var(--font-sans);
  letter-spacing:.08em;text-decoration:none;
  transition:background var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard)
}
body.wase-design ul.products li.product .button:hover,
body.wase-design ul.products li.product .add_to_cart_button:hover,
body.wase-design ul.products li.product .adq-single-quote-btn:hover{
  background:var(--wase-iron);color:var(--wase-warm-white);border-color:var(--wase-iron)
}

/* Archive hero keeps the page ground, whatever Blocksy's palette says. */
body.wase-design .hero-section[data-type],
body.wase-design .hero-section[data-type="type-2"]{background:var(--surface-page)}

/* --- Card media: square, edge to edge -------------------------------- */
body.wase-design ul.products li.product > figure,
body.wase-design ul.products li.product figure.ct-media-container,
body.wase-design ul.products li.product .ct-media-container,
body.wase-design ul.products li.product .woocommerce-LoopProduct-link,
body.wase-design ul.products li.product a.woocommerce-loop-product__link{
  display:block;width:100%;max-width:none;margin:0;padding:0;border-radius:0
}
body.wase-design ul.products li.product img,
body.wase-design ul.products li.product .ct-image-container img,
body.wase-design ul.products li.product .attachment-woocommerce_thumbnail{
  aspect-ratio:1/1 !important;width:100% !important;height:auto !important;
  max-width:none;object-fit:cover;display:block;margin:0;border-radius:0
}

/* --- Archive header: title, then one rule with a 2px orange lead ------- */
body.wase-design .hero-section{padding:var(--space-8) 0 0}
body.wase-design .hero-section .entry-header{position:static;padding-bottom:0}
body.wase-design .hero-section .entry-header::before{display:none}
body.wase-design .hero-section .entry-header::after{
  content:"";display:block;height:2px;width:100%;margin-top:var(--space-5);
  background-image:
    linear-gradient(var(--wase-orange),var(--wase-orange)),
    linear-gradient(var(--line-standard),var(--line-standard));
  background-size:56px 2px,100% 1px;
  background-position:left top,left top;
  background-repeat:no-repeat;background-color:transparent
}
body.wase-design .hero-section .page-description{margin-top:var(--space-4)}

/* --- Kill Blocksy's card padding + figure bleed ---------------------------
   Blocksy sets padding-inline:20px !important on li.product and then pulls the
   figure back out with margin-inline:-20px. Inside that padded box the figure
   computed to card width minus 40px, so the photo met the left edge but
   stopped 40px short on the right. Only !important beats it. */
body.wase-design ul.products li.product,
body.wase-design [data-products] li.product{
  padding-inline:0 !important;padding-block:0 0 !important
}
body.wase-design ul.products li.product > figure,
body.wase-design ul.products li.product figure.ct-media-container,
body.wase-design [data-products] li.product > figure{
  margin:0 !important;width:100% !important;max-width:none !important
}
/* The text rows keep their own inset, so nothing touches the card edge. */
body.wase-design ul.products li.product ul.entry-meta{padding:var(--card-pad) var(--card-pad) 0}
body.wase-design ul.products li.product .ct-woo-card-actions{padding:var(--space-3) var(--card-pad) var(--card-pad)}

/* --- Cart quantity: the number must always be readable ------------------- */
body.wase-design .quantity input.qty,
body.wase-design .quantity input[type="number"],
body.wase-design td.product-quantity input[type="number"]{
  width:64px;min-width:56px;flex:0 0 auto;
  color:var(--text-strong) !important;
  -webkit-text-fill-color:var(--text-strong);
  opacity:1;
  font:var(--weight-medium) var(--size-body)/1 var(--font-mono);
  text-align:center;background:transparent;border:0;
  -moz-appearance:textfield;appearance:textfield
}
body.wase-design .quantity input[type="number"]::-webkit-outer-spin-button,
body.wase-design .quantity input[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance:none;margin:0
}
body.wase-design .quantity{min-width:132px}
body.wase-design .quantity .minus,
body.wase-design .quantity .plus,
body.wase-design .quantity button{
  color:var(--text-strong);background:transparent;border:0;
  width:34px;min-height:var(--control-h-sm);cursor:pointer;line-height:1
}

/* --- Checkout summary: one ground per row, not a stepped block ----------- */
body.wase-design .woocommerce-checkout-review-order-table tfoot th,
body.wase-design .woocommerce-checkout-review-order-table tfoot td,
body.wase-design .shop_table tfoot th,
body.wase-design .shop_table tfoot td{
  background:transparent;border-top:1px solid var(--line-hairline);
  padding:var(--space-4) var(--card-pad);vertical-align:middle
}
body.wase-design .woocommerce-checkout-review-order-table tfoot tr:last-child th,
body.wase-design .woocommerce-checkout-review-order-table tfoot tr:last-child td{
  border-top:1px solid var(--line-strong);
  font:var(--weight-semibold) var(--size-body-lg)/1.2 var(--font-mono);
  color:var(--text-strong)
}
body.wase-design .woocommerce-checkout-review-order-table thead th{
  background:var(--surface-sunken);border-bottom:1px solid var(--line-standard)
}
body.wase-design .woocommerce-checkout-review-order-table{
  border-collapse:collapse;width:100%
}
