/* Bosawas redesign 2026 (v2) — layout after Kama Ayurveda / Forest Essentials, in Bosawas's own colours.
   Brand: green #1F3A19 (announcement bar), peach #FDEAD5 (kit). Sections are styled by their bw-* classes. */
:root { --bw-green:#1F3A19; --bw-peach:#FDEAD5; --bw-tint:#FBF5EE; --bw-ink:#1A1A1A; --bw-muted:#6A6A6A; --bw-line:#E9E1D6;
  --bw-serif:'Cormorant Garamond', Georgia, serif; --bw-sans:Muli, 'Helvetica Neue', Arial, sans-serif; }

/* ---------- type ---------- */
body .elementor .elementor-heading-title { font-family:var(--bw-serif) !important; font-weight:500 !important; color:var(--bw-ink); letter-spacing:.01em; line-height:1.15 !important; }
body .elementor .elementor-widget-text-editor { font-family:var(--bw-sans); color:var(--bw-muted); font-size:15px; line-height:1.75; }
body .elementor .bw-eyebrow .elementor-heading-title { font-family:var(--bw-sans) !important; font-size:11px !important; font-weight:700 !important; letter-spacing:.26em !important; text-transform:uppercase; color:var(--bw-green) !important; }
body .elementor .bw-title .elementor-heading-title { font-size:clamp(28px,2.8vw,38px) !important; text-transform:uppercase; letter-spacing:.08em !important; text-align:center; }
body .elementor .bw-title--left .elementor-heading-title { text-align:left; }
body .elementor .bw-lead { font-size:17px; }
body .elementor .bw-lead > .elementor-widget-container { max-width:460px; }
body .elementor .bw-center > .elementor-widget-container { margin:0 auto; text-align:center; }
body .elementor .bw-lead p:last-child, body .elementor .bw-body p:last-child { margin-bottom:0; }
body .elementor .bw-center { margin:0 auto; text-align:center; }

/* ---------- buttons ---------- */
body .elementor .elementor-button { background:transparent !important; color:var(--bw-green) !important; border:1px solid var(--bw-green) !important; border-radius:0 !important;
  padding:16px 34px !important; font:700 11px/1 var(--bw-sans) !important; letter-spacing:.2em !important; text-transform:uppercase; transition:background .3s, color .3s; }
body .elementor .elementor-button:hover, body .elementor .bw-btn--solid .elementor-button { background:var(--bw-green) !important; color:#fff !important; }
body .elementor .bw-btn--solid .elementor-button:hover { background:#2d5224 !important; border-color:#2d5224 !important; }
body .elementor .elementor-button::before, body .elementor .elementor-button::after { display:none !important; }

/* copy columns: text stacks, buttons sit side by side */
.bw-hero-copy > .elementor-widget-wrap, .bw-feature-copy > .elementor-widget-wrap, .bw-story-copy > .elementor-widget-wrap { display:flex !important; flex-flow:row wrap; align-content:center; align-items:center; }
.bw-hero-copy .elementor-widget:not(.elementor-widget-button), .bw-feature-copy .elementor-widget:not(.elementor-widget-button), .bw-story-copy .elementor-widget:not(.elementor-widget-button) { width:100%; }
.bw-hero-copy .elementor-widget-button, .bw-feature-copy .elementor-widget-button, .bw-story-copy .elementor-widget-button { width:auto; margin:8px 14px 0 0 !important; }
.elementor .elementor-widget-wrap > .elementor-widget.bw-eyebrow { margin-bottom:14px !important; }


/* ---------- 1 hero ---------- */
.bw-hero { background:var(--bw-tint) !important; }
.bw-hero-copy > .elementor-widget-wrap { padding:80px 6vw !important; }
body .elementor .bw-hero-title .elementor-heading-title { font-size:clamp(52px,6.4vw,96px) !important; line-height:.98 !important; margin:0 0 26px; }
.bw-hero-copy .bw-lead { margin-bottom:22px !important; }
.bw-hero-media > .elementor-widget-wrap, .bw-feature-media > .elementor-widget-wrap { padding:0 !important; }
.bw-hero-img, .bw-hero-img .elementor-widget-container, .bw-hero-img a { display:block; margin:0 !important; overflow:hidden; }
.bw-hero-img img { display:block; width:100% !important; height:min(86vh,820px) !important; object-fit:cover; max-width:none !important; border-radius:0 !important; }

/* ---------- 2 promise strip ---------- */
.bw-promise { background:#fff !important; border-bottom:1px solid var(--bw-line); padding:30px 0 !important; }
.bw-promise-item .elementor-image-box-wrapper { display:flex !important; align-items:center; gap:16px; text-align:left !important; justify-content:center; }
.bw-promise-item .elementor-image-box-img { width:44px !important; margin:0 !important; flex:none; }
.bw-promise-item .elementor-image-box-title { font:700 12px/1.3 var(--bw-sans) !important; letter-spacing:.14em; text-transform:uppercase; color:var(--bw-ink) !important; margin:0 0 4px !important; }
.bw-promise-item .elementor-image-box-description { font-size:13px; color:var(--bw-muted); line-height:1.5; }

/* ---------- section heads ---------- */
.bw-head { padding:100px 0 30px !important; }
.bw-head--split > .elementor-container { align-items:flex-end; }
body .elementor .bw-viewall .elementor-heading-title { font:700 11px/1 var(--bw-sans) !important; letter-spacing:.2em !important; text-transform:uppercase; text-align:right; }
body .elementor .bw-viewall .elementor-heading-title a { color:var(--bw-green) !important; border-bottom:1px solid currentColor; padding-bottom:4px; }

/* ---------- 3 category tiles ---------- */
.bw-cats { padding-bottom:10px !important; }
.bw-cat .elementor-image-box-img { width:100% !important; margin:0 0 18px !important; overflow:hidden; background:#F6F1EA; }
.bw-cat .elementor-image-box-img img { width:100%; aspect-ratio:4/5; object-fit:cover; display:block; transition:transform 1.2s cubic-bezier(.2,.7,.2,1); }
.bw-cat:hover .elementor-image-box-img img { transform:scale(1.05); }
.bw-cat .elementor-image-box-title, .bw-cat .elementor-image-box-title a { font-family:var(--bw-serif) !important; font-size:23px !important; font-weight:500 !important; color:var(--bw-ink) !important; text-align:center; margin:0 !important; }

/* ---------- 4 product slider ---------- */
.bw-range { padding-bottom:110px !important; }
.bw-range .qodef-qi-woo-shortcode-product-slider.qodef-item-layout--info-below-swap .qodef-e-product-inner { background:#fff !important; padding:0 !important; }
.bw-range .qodef-e-product-image { background:#F6F1EA; }
.bw-range .qodef-e-product-content { display:flex !important; flex-direction:column; align-items:flex-start !important; text-align:left !important; padding:18px 2px 0 !important; }
.bw-range .qodef-e-product-title, .bw-range .qodef-e-product-title a { font-family:var(--bw-serif) !important; font-size:21px !important; font-weight:500 !important; line-height:1.2 !important; color:var(--bw-ink) !important; }
.bw-range .qodef-e-product-categories, .bw-range .qodef-e-product-categories a { font-size:10.5px !important; letter-spacing:.14em; text-transform:uppercase; color:var(--bw-muted) !important; margin-top:6px; }
.bw-range .qodef-e-swap-holder, .bw-range .qodef-woo-product-price { width:100%; text-align:left !important; margin-left:0 !important; }
.bw-range .price { color:var(--bw-green) !important; font-weight:700; font-size:15px !important; }
.bw-range [class*=swiper-button] { background:#fff !important; color:var(--bw-green) !important; border:1px solid var(--bw-line) !important; border-radius:50% !important; width:48px !important; height:48px !important; box-shadow:0 6px 20px rgba(0,0,0,.06); }

/* ---------- 5 feature ---------- */
.bw-feature { background:var(--bw-tint) !important; }
.bw-feature > .elementor-container { align-items:stretch; }
.bw-feature-img, .bw-feature-img .elementor-widget-container, .bw-feature-img a { display:block; margin:0 !important; overflow:hidden; height:100%; }
.bw-feature-img img { display:block; width:100% !important; height:min(88vh,780px) !important; object-fit:cover; max-width:none !important; }
.bw-feature-copy > .elementor-widget-wrap { padding:80px 8vw 80px 7vw !important; }
body .elementor .bw-feature-copy h2.elementor-heading-title, body .elementor .bw-story-copy h2.elementor-heading-title { font-size:clamp(34px,3.4vw,52px) !important; margin-bottom:22px; }
.bw-feature-copy .bw-lead { margin-bottom:22px !important; }

/* ---------- 6 story ---------- */
.bw-story { padding:120px 0 !important; background:#fff !important; }
.bw-story > .elementor-container { align-items:center; }
.bw-story-img img { width:100%; aspect-ratio:4/5; object-fit:cover; display:block; }
.bw-story-copy > .elementor-widget-wrap { padding:20px 2vw 20px 6vw !important; }
body .elementor .bw-body { color:#4a4a4a; }
body .elementor .bw-body > .elementor-widget-container { max-width:580px; }
body .elementor .bw-sign .elementor-heading-title { font-style:italic; font-size:22px !important; color:var(--bw-green) !important; margin:10px 0 18px; }

/* ---------- 7 quote ---------- */
.bw-quote { background:var(--bw-green) !important; padding:110px 0 !important; text-align:center; }
body .elementor .bw-quote-text .elementor-heading-title { color:#fff !important; font-style:italic; font-size:clamp(28px,3vw,46px) !important; line-height:1.3 !important; max-width:980px; margin:0 auto 26px; text-align:center; }
body .elementor .bw-quote-by .elementor-heading-title { color:var(--bw-peach) !important; text-align:center; }

/* ---------- 8 newsletter ---------- */
.bw-news { background:var(--bw-tint) !important; padding:100px 0 !important; }
.bw-news .bw-lead { margin-top:-6px; }
.bw-news form.dt-sc-subscribe-frm { display:flex; max-width:500px; margin:30px auto 0; border-bottom:1px solid var(--bw-ink); }
.bw-news input[type=email] { flex:1; background:transparent !important; border:0 !important; padding:14px 4px !important; font-size:15px; color:var(--bw-ink); box-shadow:none !important; }
.bw-news input[type=submit] { background:transparent !important; border:0 !important; color:var(--bw-green) !important; font:700 11px/1 var(--bw-sans) !important; letter-spacing:.2em; text-transform:uppercase; padding:0 4px !important; cursor:pointer; }

/* ---------- footer (template 22790) ---------- */
.bw-foot { background:#fff !important; border-top:1px solid var(--bw-line); padding:80px 0 50px !important; }
.bw-foot-logo img { max-width:120px !important; }
.bw-foot-about, .bw-foot-contact { font-size:14px !important; line-height:1.75 !important; max-width:340px; }
.bw-foot-contact a { color:var(--bw-ink) !important; }
body .elementor .bw-foot-h .elementor-heading-title { font:700 11px/1 var(--bw-sans) !important; letter-spacing:.22em !important; text-transform:uppercase; margin-bottom:20px; }
.bw-foot-links .elementor-icon-list-item { padding:0 0 12px !important; }
.bw-foot-links .elementor-icon-list-text { font-size:14px; color:var(--bw-muted) !important; transition:color .2s; }
.bw-foot-links a:hover .elementor-icon-list-text { color:var(--bw-green) !important; }
.bw-foot-links .elementor-icon-list-icon { display:none !important; }
.bw-foot-bar { border-top:1px solid var(--bw-line); padding:20px 0 !important; background:#fff !important; }
.bw-foot-copy { text-align:center; font-size:12px !important; letter-spacing:.04em; }
.bw-foot-copy p { margin:0; } .bw-foot-copy a { color:var(--bw-ink) !important; }

/* ---------- tablet / phone ---------- */
@media (max-width:1024px) {
  .bw-hero-copy > .elementor-widget-wrap, .bw-feature-copy > .elementor-widget-wrap { padding:60px 5vw !important; }
  .bw-story-copy > .elementor-widget-wrap { padding:20px 0 20px 4vw !important; }
}
@media (max-width:767px) {
  .bw-hero-copy > .elementor-widget-wrap, .bw-feature-copy > .elementor-widget-wrap { padding:48px 22px 52px !important; }
  body .elementor .bw-hero-title .elementor-heading-title { font-size:48px !important; }
  .bw-hero-img img { height:62vh !important; }
  .bw-feature-img img { height:56vh !important; }
  .bw-promise > .elementor-container { gap:18px; } .bw-promise-item .elementor-image-box-wrapper { justify-content:flex-start; }
  .bw-head { padding:70px 0 20px !important; }
  .bw-head--split > .elementor-container { flex-wrap:nowrap !important; }
  .bw-head--split > .elementor-container > .elementor-column { width:auto !important; flex:1; }
  .bw-cats > .elementor-container { flex-wrap:wrap !important; }
  .bw-cats > .elementor-container > .elementor-column { width:50% !important; }
  .bw-cat .elementor-image-box-title, .bw-cat .elementor-image-box-title a { font-size:19px !important; }
  .bw-range { padding-bottom:70px !important; }
  .bw-story { padding:70px 0 !important; }
  .bw-story-copy > .elementor-widget-wrap { padding:34px 10px 0 !important; }
  .bw-quote, .bw-news { padding:72px 0 !important; }
  .bw-foot { padding:56px 0 30px !important; }
}

/* ---------- motion (only when redesign.js runs; content stays visible without JS) ---------- */
.bw-js .bw-reveal { opacity:0; transform:translate3d(0,26px,0); transition:opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); }
.bw-js .bw-reveal.bw-in { opacity:1; transform:none; }
.bw-px { will-change:transform; }
@media (prefers-reduced-motion:reduce) { .bw-js .bw-reveal { opacity:1; transform:none; transition:none; } .bw-px { transform:none !important; } }
/* homepage only: theme adds 100px under the header; shop/product pages keep it */
body.home #header-wrapper, body.page-id-22791 #header-wrapper { margin-bottom:0 !important; }
.bw-foot-logo, .bw-foot-logo .elementor-widget-container { text-align:left !important; }

/* =====================================================================
   SITE-WIDE (all pages): theme tokens, page title, shop, product, cart, forms
   ===================================================================== */
:root {
  --DTPrimaryColor:#1F3A19; --DTPrimary_RGB:31, 58, 25;
  --DTSecondaryColor:#FDEAD5; --DTSecondary_RGB:253, 234, 213; --DTTertiary_RGB:253, 234, 213;
  --DTLinkHover_RGB:31, 58, 25;
  --DTFontTypo_Alt:'Cormorant Garamond', Georgia, serif;
  --DTBorderColor:#E9E1D6; --DTBorder_RGB:233, 225, 214;
  --DTRadius_1X:0; --DTRadius_2X:0; --DTRadius_3X:0; --DTRadius_Part:0;
  --DTInputPadding:13px 16px;
}
body { color:#5f5f5f; }
h1, h2, h3, h4, h5, h6 { font-family:var(--bw-serif); font-weight:500; color:var(--bw-ink); letter-spacing:.01em; }
#main > .container, .main-title-section-wrapper > .container { width:min(1240px, 92%) !important; max-width:none !important; }
a { transition:color .2s; }

/* page title band */
.main-title-section-wrapper { background:var(--bw-tint) !important; padding:46px 0 40px !important; border-bottom:1px solid var(--bw-line); }
.main-title-section-wrapper .main-title-section, .main-title-section-wrapper .breadcrumb { text-align:center; justify-content:center; width:100%; }
.main-title-section-wrapper h1 { font-family:var(--bw-serif) !important; font-weight:500 !important; font-size:clamp(34px,3.6vw,52px) !important; margin:0 0 10px !important; }
.main-title-section-wrapper .breadcrumb, .main-title-section-wrapper .breadcrumb a, .main-title-section-wrapper .breadcrumb span { font:700 10.5px/1.6 var(--bw-sans) !important; letter-spacing:.2em; text-transform:uppercase; color:var(--bw-muted) !important; }
.main-title-section-wrapper .breadcrumb a:hover { color:var(--bw-green) !important; }
#header-wrapper { margin-bottom:64px; }

/* buttons everywhere */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce-page a.button, .woocommerce-page button.button, button[type=submit]:not(.search-submit), input[type=submit]:not([name=mc_submit]),
.wp-block-button__link, a.dt-sc-button, .dt-sc-button {
  background:var(--bw-green) !important; color:#fff !important; border:1px solid var(--bw-green) !important; border-radius:0 !important;
  font:700 11px/1 var(--bw-sans) !important; letter-spacing:.2em !important; text-transform:uppercase !important; padding:16px 30px !important; box-shadow:none !important; transition:background .25s, color .25s !important; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, button[type=submit]:not(.search-submit):hover, input[type=submit]:not([name=mc_submit]):hover, .dt-sc-button:hover {
  background:#fff !important; color:var(--bw-green) !important; }
.woocommerce a.button::before, .woocommerce a.button::after, .woocommerce button.button::before, .woocommerce button.button::after { display:none !important; }

/* form fields */
input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], input[type=search], input[type=url], textarea, select,
.select2-container--default .select2-selection--single {
  border:1px solid var(--bw-line) !important; border-radius:0 !important; background:#fff !important; color:var(--bw-ink) !important; box-shadow:none !important; font-family:var(--bw-sans); }
input:focus, textarea:focus, select:focus { border-color:var(--bw-green) !important; outline:none !important; }
label, .woocommerce form .form-row label { font:700 11px/1.6 var(--bw-sans) !important; letter-spacing:.14em; text-transform:uppercase; color:var(--bw-ink); }

/* notices */
.woocommerce-info, .woocommerce-message, .woocommerce-error, .woocommerce-noreviews, p.no-comments {
  background:var(--bw-tint) !important; border:0 !important; border-left:3px solid var(--bw-green) !important; color:var(--bw-ink) !important; border-radius:0 !important; }
.woocommerce-info::before, .woocommerce-message::before { color:var(--bw-green) !important; }
.woocommerce-error { border-left-color:#9b2c2c !important; }

/* sidebar widgets */
#secondary .widget { border:0 !important; padding:0 0 34px !important; margin:0 0 34px !important; border-bottom:1px solid var(--bw-line) !important; background:none !important; box-shadow:none !important; }
#secondary .widgettitle, #secondary .widget-title { font:700 11px/1.4 var(--bw-sans) !important; letter-spacing:.22em !important; text-transform:uppercase; color:var(--bw-ink) !important; margin-bottom:18px !important; }
#secondary .widgettitle::before, #secondary .widgettitle::after, #secondary .widget-title::after { display:none !important; }
#secondary .widget ul li { border:0 !important; padding:6px 0 !important; }
#secondary .widget ul li a { color:var(--bw-muted) !important; font-size:14px; }
#secondary .widget ul li a:hover, #secondary .widget ul li.current-cat > a { color:var(--bw-green) !important; }
.widget_price_filter .ui-slider .ui-slider-range, .widget_price_filter .ui-slider .ui-slider-handle { background:var(--bw-green) !important; }
.widget_price_filter .price_slider_wrapper .ui-widget-content { background:var(--bw-line) !important; }

/* shop grid */
.woocommerce-products-header__title, .woocommerce-products-header .page-title { display:none; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering select { font-size:13px; color:var(--bw-muted); }
ul.products { display:grid !important; grid-template-columns:repeat(3, minmax(0,1fr)); gap:44px 28px; height:auto !important; margin:0 0 40px !important; padding:0 !important; }
ul.products::before, ul.products::after { display:none !important; }
ul.products > li.product { position:relative !important; left:auto !important; top:auto !important; width:auto !important; max-width:none !important; margin:0 !important; padding:0 !important; float:none !important; transform:none !important; }
ul.products .product-thumb { background:#F6F1EA !important; overflow:hidden; border-radius:0 !important; }
ul.products .product-thumb img { aspect-ratio:1/1; object-fit:cover; width:100%; transition:transform 1.1s cubic-bezier(.2,.7,.2,1); }
ul.products li.product:hover .product-thumb img.primary-image { transform:scale(1.04); }
ul.products .product-details { text-align:left !important; padding:18px 2px 0 !important; }
ul.products .product-title, ul.products .product-title a, ul.products .woocommerce-loop-product__title { font-family:var(--bw-serif) !important; font-size:22px !important; font-weight:500 !important; line-height:1.2 !important; color:var(--bw-ink) !important; text-transform:none !important; letter-spacing:0 !important; }
ul.products .product-price, ul.products .price { color:var(--bw-green) !important; font:700 15px/1.4 var(--bw-sans) !important; margin-top:8px; }
ul.products .product-labels span, .onsale { background:var(--bw-green) !important; color:#fff !important; border-radius:0 !important; font:700 10px/1 var(--bw-sans) !important; letter-spacing:.14em; text-transform:uppercase; }
.wp-pagenavi a, .wp-pagenavi span, .woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { border:1px solid var(--bw-line) !important; border-radius:0 !important; color:var(--bw-ink) !important; background:#fff !important; }
.wp-pagenavi span.current, .woocommerce nav.woocommerce-pagination ul li span.current { background:var(--bw-green) !important; color:#fff !important; border-color:var(--bw-green) !important; }

/* single product */
.single-product div.product .product_title { font-family:var(--bw-serif) !important; font-weight:500 !important; font-size:clamp(34px,3.2vw,48px) !important; line-height:1.08 !important; margin-bottom:14px !important; }
.single-product div.product .summary .price { color:var(--bw-green) !important; font:700 22px/1.3 var(--bw-sans) !important; margin-bottom:22px !important; }
.single-product div.product .woocommerce-product-details__short-description { color:#555; font-size:15px; line-height:1.8; }
.single-product div.product form.cart { display:flex; gap:12px; align-items:stretch; margin:26px 0 !important; padding:26px 0 !important; border-top:1px solid var(--bw-line); border-bottom:1px solid var(--bw-line); }
.single-product div.product form.cart .quantity input.qty { height:100%; min-height:50px; width:76px; text-align:center; }
.single-product div.product .single_add_to_cart_button { flex:1; max-width:340px; }
.single-product .product_meta { font-size:12px; letter-spacing:.06em; color:var(--bw-muted); }
.single-product .product_meta > span { display:block; margin-bottom:6px; }
.single-product .product_meta a { color:var(--bw-ink) !important; }
.woocommerce div.product .woocommerce-product-gallery { background:#F6F1EA; }
.woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom:1px solid var(--bw-line) !important; padding:0 !important; margin-bottom:30px !important; display:flex; justify-content:center; gap:36px; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display:none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background:none !important; border:0 !important; border-radius:0 !important; margin:0 !important; padding:0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font:700 11px/1 var(--bw-sans) !important; letter-spacing:.2em; text-transform:uppercase; color:var(--bw-muted) !important; padding:16px 0 !important; border-bottom:2px solid transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color:var(--bw-ink) !important; border-bottom-color:var(--bw-green); }
.woocommerce div.product .woocommerce-tabs .panel { color:#555; line-height:1.85; max-width:860px; margin-left:auto; margin-right:auto; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display:none; }
.related.products > h2, .upsells.products > h2, .cross-sells > h2 { font-family:var(--bw-serif) !important; font-size:clamp(28px,2.6vw,36px) !important; text-transform:uppercase; letter-spacing:.08em; text-align:center; margin:70px 0 34px !important; }
.related.products ul.products, .upsells.products ul.products { grid-template-columns:repeat(4, minmax(0,1fr)); }

/* cart, checkout, account */
.woocommerce table.shop_table { border:1px solid var(--bw-line) !important; border-radius:0 !important; border-collapse:collapse !important; }
.woocommerce table.shop_table th { font:700 11px/1.4 var(--bw-sans) !important; letter-spacing:.16em; text-transform:uppercase; color:var(--bw-ink); background:var(--bw-tint); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color:var(--bw-line) !important; padding:16px 18px !important; }
.woocommerce table.shop_table td.product-name a { font-family:var(--bw-serif); font-size:19px; color:var(--bw-ink) !important; }
.woocommerce .cart_totals h2, .woocommerce-checkout h3, .woocommerce-account h2, #order_review_heading { font-family:var(--bw-serif) !important; font-size:30px !important; font-weight:500 !important; }
.woocommerce .cart-empty, .woocommerce .return-to-shop { text-align:center; }
.woocommerce-checkout #payment { background:var(--bw-tint) !important; border-radius:0 !important; }
.woocommerce-MyAccount-navigation ul { border:1px solid var(--bw-line); padding:0 !important; list-style:none; }
.woocommerce-MyAccount-navigation ul li { border-bottom:1px solid var(--bw-line); padding:0 !important; }
.woocommerce-MyAccount-navigation ul li:last-child { border-bottom:0; }
.woocommerce-MyAccount-navigation ul li a { display:block; padding:14px 18px; font:700 11px/1.4 var(--bw-sans); letter-spacing:.16em; text-transform:uppercase; color:var(--bw-ink) !important; }
.woocommerce-MyAccount-navigation ul li.is-active a { background:var(--bw-green); color:#fff !important; }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.checkout_coupon { border:1px solid var(--bw-line) !important; border-radius:0 !important; padding:34px !important; }

/* blog & content pages */
.entry-title, .entry-title a { font-family:var(--bw-serif) !important; font-weight:500 !important; color:var(--bw-ink) !important; }
.entry-meta-group, .entry-meta-group a, .entry-date, .entry-author, .entry-categories { font-size:11px !important; letter-spacing:.14em; text-transform:uppercase; color:var(--bw-muted) !important; }
.elementor-widget-text-editor a { color:var(--bw-green); }

@media (max-width:1024px) {
  ul.products { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .related.products ul.products, .upsells.products ul.products { grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:767px) {
  ul.products { gap:30px 14px; }
  ul.products .product-title, ul.products .product-title a { font-size:18px !important; }
  #header-wrapper { margin-bottom:34px; }
  .main-title-section-wrapper { padding:32px 0 28px !important; }
  .single-product div.product form.cart { flex-wrap:wrap; }
  .woocommerce div.product .woocommerce-tabs ul.tabs { gap:20px; flex-wrap:wrap; }
}

/* shop: full width, category chips, plain grid (theme's Isotope sets inline absolute positions; neutralise them) */
.post-type-archive-product #secondary, .tax-product_cat #secondary, .tax-product_tag #secondary { display:none !important; }
.post-type-archive-product #primary, .tax-product_cat #primary, .tax-product_tag #primary { width:100% !important; float:none !important; margin:0 !important; padding:0 !important; display:flex; flex-direction:column; }
.post-type-archive-product #primary > *, .tax-product_cat #primary > * { order:1; }
.post-type-archive-product #primary > .wp-pagenavi, .tax-product_cat #primary > .wp-pagenavi, #primary > .woocommerce-pagination { order:3; display:flex; justify-content:center; gap:6px; margin:10px 0 0; }
ul.products { grid-template-columns:repeat(4, minmax(0,1fr)); }
ul.products > li.isotope-grid-sizer { display:none !important; }
ul.products > li > .dt-col, ul.products > li > div { position:static !important; left:auto !important; top:auto !important; transform:none !important; width:100% !important; max-width:none !important; float:none !important; padding:0 !important; opacity:1 !important; }
.bw-chips { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:0 0 46px; order:0 !important; }
.bw-chips a { font:700 10.5px/1 var(--bw-sans); letter-spacing:.16em; text-transform:uppercase; color:var(--bw-ink) !important; border:1px solid var(--bw-line); padding:12px 18px; transition:all .2s; }
.bw-chips a:hover { border-color:var(--bw-green); color:var(--bw-green) !important; }
.bw-chips a.is-on { background:var(--bw-green); border-color:var(--bw-green); color:#fff !important; }
/* product tabs: no grey box */
.woocommerce div.product .woocommerce-tabs .panel { background:none !important; padding:0 !important; border:0 !important; box-shadow:none !important; }
@media (max-width:1024px) { ul.products { grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (max-width:767px) { ul.products { grid-template-columns:repeat(2, minmax(0,1fr)); } .bw-chips { justify-content:flex-start; flex-wrap:nowrap; overflow-x:auto; margin:0 -4% 30px; padding:0 4% 6px; } .bw-chips a { white-space:nowrap; } }
/* card add-to-cart: full-width bar over the bottom of the photo, on hover (always shown on touch screens) */
ul.products .product-thumb { position:relative; }
ul.products .product-thumb .product-buttons-wrapper { position:absolute !important; left:12px !important; right:12px !important; bottom:12px !important; top:auto !important; width:auto !important; height:auto !important;
  display:block !important; margin:0 !important; padding:0 !important; background:none !important; opacity:0; transform:translateY(10px); transition:opacity .35s, transform .35s; z-index:3; }
ul.products li.product:hover .product-thumb .product-buttons-wrapper, ul.products li.product:focus-within .product-thumb .product-buttons-wrapper { opacity:1; transform:none; }
ul.products .product-buttons-wrapper > *, ul.products .product-buttons-wrapper .wcct_btn_wrapper { display:block !important; width:100% !important; height:auto !important; position:static !important; margin:0 !important; padding:0 !important; background:none !important; }
ul.products .product-buttons-wrapper a.button { display:block !important; width:100% !important; height:auto !important; text-indent:0 !important; text-align:center; padding:14px 10px !important; font-size:10.5px !important; line-height:1 !important; }
ul.products .product-buttons-wrapper a.button.added { display:none !important; }
ul.products .product-buttons-wrapper a.added_to_cart { display:block; text-align:center; background:#fff; color:var(--bw-green) !important; font:700 10.5px/1 var(--bw-sans); letter-spacing:.16em; text-transform:uppercase; padding:14px 10px; border:1px solid var(--bw-green); }
@media (hover:none) { ul.products .product-thumb .product-buttons-wrapper { opacity:1; transform:none; position:static !important; margin-top:10px !important; } }
/* 404: theme draws it dark (dt-sc-dark-bg); make it the light brand version */
.error404 .wrapper.dt-sc-dark-bg { background:var(--bw-tint) !important; }
.error404 .wrapper.dt-sc-dark-bg h1, .error404 .wrapper.dt-sc-dark-bg h2, .error404 .wrapper.dt-sc-dark-bg h3, .error404 .wrapper.dt-sc-dark-bg h4 { color:var(--bw-ink) !important; font-family:var(--bw-serif) !important; }
.error404 .wrapper.dt-sc-dark-bg h2, .error404 .wrapper.dt-sc-dark-bg [class*=404] { color:var(--bw-green) !important; }
.error404 .wrapper.dt-sc-dark-bg p, .error404 .wrapper.dt-sc-dark-bg span { color:var(--bw-muted) !important; }
.error404 .wrapper.dt-sc-dark-bg hr, .error404 .wrapper.dt-sc-dark-bg [class*=separator] { border-color:var(--bw-line) !important; background:var(--bw-line) !important; }
.single-product div.product form.cart { margin-left:0 !important; margin-right:0 !important; }
.single-product div.product form.cart .quantity { margin:0 !important; }
/* phone: theme pins the add-to-cart row to the bottom; make it a proper sticky bar and lift the WhatsApp bubble above it */
@media (max-width:767px) {
  .single-product div.product form.cart { padding:12px 16px !important; background:#fff !important; border-top:1px solid var(--bw-line) !important; border-bottom:0 !important; box-shadow:0 -8px 24px rgba(0,0,0,.06); z-index:50; flex-wrap:nowrap; }
  .single-product div.product form.cart .single_add_to_cart_button { max-width:none; }
  .single-product .ht-ctc, .single-product .ht-ctc-chat { bottom:112px !important; }
  .single-product div.product form.cart > .single_add_to_cart_button { flex:1 1 auto !important; width:auto !important; }
}

/* no width jump while loading: header, footer and homepage are full width before Elementor's stretch script runs */
#header > .container, #footer > .container, body.home #main > .container { width:100% !important; max-width:none !important; padding-left:0 !important; padding-right:0 !important; }
/* theme icon font: stay invisible until loaded instead of drawing empty squares (same file, preloaded in <head>) */
@font-face { font-family:'DT Icons'; src:url('/wp-content/themes/savon/assets/font/dt-icons.woff2?76449145') format('woff2'); font-weight:normal; font-style:normal; font-display:block; }

/* homepage product slider: price always shown; "Add to basket" = full-width bar over the photo on hover (like the shop grid) */
.bw-range .swiper, .bw-range .swiper-container { overflow:hidden !important; }
.bw-range .qodef-e-product-inner { position:relative; container-type:inline-size; }
.bw-range .qodef-e-swap-holder { position:static !important; height:auto !important; overflow:visible !important; }
.bw-range .qodef-e-swap-holder .qodef-woo-product-price { opacity:1 !important; visibility:visible !important; transform:none !important; position:static !important; }
.bw-range .qodef-e-to-swap { position:absolute !important; left:12px !important; right:12px !important; top:calc(100cqw - 58px) !important; bottom:auto !important; width:auto !important; height:auto !important;
  opacity:0 !important; transform:translateY(8px) !important; transition:opacity .3s, transform .3s !important; z-index:6; margin:0 !important; }
.bw-range .qodef-e-product-inner:hover .qodef-e-to-swap, .bw-range .qodef-e-product-inner:focus-within .qodef-e-to-swap { opacity:1 !important; transform:none !important; }
.bw-range .qodef-e-to-swap a.button, .bw-range .qodef-e-to-swap a.added_to_cart { display:flex !important; justify-content:center; align-items:center; width:100% !important; height:46px; padding:0 12px !important;
  background:var(--bw-green) !important; color:#fff !important; border:1px solid var(--bw-green) !important; font:700 10.5px/1 var(--bw-sans) !important; letter-spacing:.18em !important; text-transform:uppercase !important; white-space:nowrap; text-decoration:none !important; }
.bw-range .qodef-e-to-swap a.button:hover { background:#2d5224 !important; }
.bw-range .qodef-e-to-swap a.button .qodef-m-text { font:inherit !important; letter-spacing:inherit !important; color:inherit !important; }
.bw-range .qodef-e-to-swap a.button .qodef-m-icon, .bw-range .qodef-e-to-swap a.button.added { display:none !important; }
.bw-range .qodef-e-to-swap a.added_to_cart { background:#fff !important; color:var(--bw-green) !important; }
.bw-range .qodef-category-separator::before { content:none !important; }
.bw-range .qodef-category-separator::after { content:"·" !important; margin:0 6px; color:var(--bw-muted); }
.bw-range .swiper-button-prev, .bw-range .swiper-button-next { top:calc(50% - 60px) !important; margin:0 !important; display:flex !important; align-items:center; justify-content:center; }
.bw-range .swiper-button-prev { left:10px !important; right:auto !important; } .bw-range .swiper-button-next { right:10px !important; left:auto !important; }
.bw-range [class*=swiper-button] svg { width:16px !important; height:16px !important; stroke:var(--bw-green); }
@media (hover:none) { .bw-range .qodef-e-to-swap { opacity:1 !important; transform:none !important; } }
.bw-range .qodef-e-swap-holder { display:block !important; text-align:left !important; }
.bw-range .qodef-e-swap-holder .qodef-woo-product-price { text-align:left !important; margin:8px 0 0 !important; justify-content:flex-start !important; }
.bw-range .qodef-category-separator { display:inline !important; position:static !important; width:auto !important; height:auto !important; border:0 !important; background:none !important; transform:none !important; margin:0 !important; padding:0 !important; }
.bw-range .qodef-category-separator::after { position:static !important; display:inline !important; width:auto !important; height:auto !important; border:0 !important; background:none !important; transform:none !important; top:auto !important; }
.bw-range [class*=swiper-button] svg line { stroke:var(--bw-green) !important; stroke-width:2 !important; }
.bw-range .qodef-e-product-content { position:static !important; }
.bw-range .qodef-e-product-categories { display:block !important; }
.bw-range .qodef-category-separator::after { content:"," !important; margin:0 6px 0 0 !important; color:inherit !important; vertical-align:baseline !important; }
.bw-range .qodef-category-separator::after { content:"" !important; display:inline-block !important; width:3px !important; height:3px !important; border-radius:50% !important; background:currentColor !important; vertical-align:middle !important; margin:-2px 8px 0 !important; }
.bw-range .qodef-category-separator { display:none !important; }
.bw-range .qodef-e-product-categories a { display:inline !important; }
.bw-range .qodef-e-product-categories a:not(:last-child)::after { content:", "; }
.bw-range .swiper-button-prev::after, .bw-range .swiper-button-next::after { display:none !important; content:none !important; }
.bw-range [class*=swiper-button] { width:48px !important; padding:0 !important; }
.bw-range [class*=swiper-button] svg { flex:none !important; width:18px !important; height:18px !important; display:block !important; }

/* =====================================================================
   CART & CHECKOUT (two-column with sticky summary; stacks on tablets/phones)
   ===================================================================== */
.woocommerce-cart #main > .container, .woocommerce-checkout #main > .container { width:min(1200px, 92%) !important; }
.tax_label { display:none !important; }
small.includes_tax { display:block; font-size:12px; color:var(--bw-muted); font-weight:400; margin-top:4px; }

/* quantity stepper (theme gives input + a.plus + a.minus) */
.woocommerce .quantity { display:inline-flex !important; align-items:stretch; border:1px solid var(--bw-line); background:#fff; height:44px; width:auto !important; position:relative; }
.woocommerce .quantity input.qty { order:1; width:44px !important; height:100% !important; min-height:0 !important; border:0 !important; text-align:center; padding:0 !important; font:600 15px/1 var(--bw-sans); -moz-appearance:textfield; background:transparent !important; }
.woocommerce .quantity input.qty::-webkit-inner-spin-button, .woocommerce .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.woocommerce .quantity a.minus, .woocommerce .quantity a.plus { position:static !important; display:flex !important; align-items:center; justify-content:center; width:38px !important; height:100% !important; margin:0 !important; padding:0 !important; border:0 !important; background:none !important; font-size:0 !important; color:var(--bw-ink) !important; cursor:pointer; transform:none !important; }
.woocommerce .quantity a.minus { order:0; } .woocommerce .quantity a.plus { order:2; }
.woocommerce .quantity a.minus::before, .woocommerce .quantity a.plus::before { font:400 18px/1 var(--bw-sans) !important; content:"−" !important; position:static !important; transform:none !important; }
.woocommerce .quantity a.plus::before { content:"+" !important; }
.woocommerce .quantity a.minus::after, .woocommerce .quantity a.plus::after { display:none !important; }
.woocommerce .quantity a.minus:hover, .woocommerce .quantity a.plus:hover { background:var(--bw-tint) !important; color:var(--bw-green) !important; }

/* cart layout */
.woocommerce-cart .woocommerce { display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:0 48px; align-items:start; }
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { grid-column:1 / -1; }
.woocommerce-cart .woocommerce > form.woocommerce-cart-form { grid-column:1; min-width:0; }
.woocommerce-cart .woocommerce > .cart-collaterals { grid-column:2; position:sticky; top:24px; width:auto !important; float:none !important; margin:0 !important; }
.woocommerce-cart .woocommerce > .cart-empty, .woocommerce-cart .woocommerce > .return-to-shop, .woocommerce-cart .woocommerce > .cross-sells { grid-column:1 / -1; }
.woocommerce-cart table.shop_table.cart { border:0 !important; border-top:1px solid var(--bw-line) !important; }
.woocommerce-cart table.shop_table.cart thead { display:none; }
.woocommerce-cart table.shop_table.cart td { border:0 !important; border-bottom:1px solid var(--bw-line) !important; padding:22px 10px !important; vertical-align:middle; background:none !important; }
.woocommerce-cart table.shop_table.cart td.product-thumbnail { width:104px; padding-left:0 !important; }
.woocommerce-cart table.shop_table.cart td.product-thumbnail img { width:88px !important; height:88px !important; object-fit:cover; background:#F6F1EA; }
.woocommerce-cart table.shop_table.cart td.product-name a { font-family:var(--bw-serif); font-size:21px !important; line-height:1.2; color:var(--bw-ink) !important; }
.woocommerce-cart table.shop_table.cart td.product-price { color:var(--bw-muted); font-size:14px; }
.woocommerce-cart table.shop_table.cart td.product-subtotal { font-weight:700; color:var(--bw-ink); text-align:right; }
.woocommerce-cart table.shop_table.cart td.product-remove { width:40px; text-align:right; padding-right:0 !important; }
.woocommerce-cart table.shop_table.cart td.product-remove a.remove { color:#9a9a9a !important; background:none !important; font-size:22px !important; font-weight:300; width:32px; height:32px; line-height:30px; border-radius:50% !important; display:inline-block; text-align:center; }
.woocommerce-cart table.shop_table.cart td.product-remove a.remove:hover { color:#9b2c2c !important; background:#f6eeee !important; }
.woocommerce-cart .dt-sc-cart-button { text-align:right; margin:18px 0 0 !important; }
.bw-cart-auto .woocommerce-cart-form .dt-sc-cart-button { display:none !important; }
.woocommerce-cart .dt-sc-cart-coupon-holder { border:0 !important; padding:0 !important; margin:26px 0 0 !important; background:none !important; }
.woocommerce-cart .dt-sc-cart-coupon-holder .coupon { display:flex !important; gap:10px; align-items:stretch; max-width:460px; float:none !important; }
.woocommerce-cart .dt-sc-cart-coupon-holder .coupon label { display:none !important; }
.woocommerce-cart .dt-sc-cart-coupon-holder .coupon input#coupon_code { flex:1; width:auto !important; height:48px; margin:0 !important; }
.woocommerce-cart .dt-sc-cart-coupon-holder .coupon button { height:48px; padding:0 22px !important; background:#fff !important; color:var(--bw-green) !important; white-space:nowrap; }
.woocommerce-cart .dt-sc-cart-coupon-holder .coupon button:hover { background:var(--bw-green) !important; color:#fff !important; }

/* order summary card (cart totals) */
.woocommerce-cart .cart_totals { width:100% !important; float:none !important; background:var(--bw-tint) !important; border:0 !important; padding:30px 28px !important; margin:0 !important; }
.woocommerce-cart .cart_totals > h2 { font-family:var(--bw-serif) !important; font-size:28px !important; font-weight:500 !important; margin:0 0 16px !important; }
.woocommerce-cart .cart_totals table.shop_table { border:0 !important; background:none !important; }
.woocommerce-cart .cart_totals table.shop_table th, .woocommerce-cart .cart_totals table.shop_table td { background:none !important; border:0 !important; border-bottom:1px solid var(--bw-line) !important; padding:14px 0 !important; }
.woocommerce-cart .cart_totals table.shop_table th { font:700 11px/1.4 var(--bw-sans) !important; letter-spacing:.16em; text-transform:uppercase; width:40%; }
.woocommerce-cart .cart_totals table.shop_table td { text-align:right; }
.woocommerce-cart .cart_totals tr.order-total th, .woocommerce-cart .cart_totals tr.order-total td { border-bottom:0 !important; padding-top:18px !important; }
.woocommerce-cart .cart_totals tr.order-total td strong .amount, .woocommerce-cart .cart_totals tr.order-total .amount { font:700 22px/1.2 var(--bw-sans); color:var(--bw-ink); }
.woocommerce-cart .cart_totals .woocommerce-shipping-destination, .woocommerce-cart .cart_totals .shipping-calculator-button { font-size:12px; color:var(--bw-muted); }
.woocommerce-cart .wc-proceed-to-checkout { padding:20px 0 0 !important; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display:flex !important; align-items:center; justify-content:center; width:100%; min-height:56px; font-size:12px !important; margin:0 !important; }
.bw-trust { text-align:center; font-size:12px; color:var(--bw-muted); margin:12px 0 0 !important; letter-spacing:.03em; }

/* checkout layout */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding:16px 20px !important; }
.woocommerce-checkout .woocommerce-form-coupon-toggle a.showcoupon, .woocommerce-checkout a.showcoupon { background:none !important; border:0 !important; padding:0 !important; color:var(--bw-green) !important; font:700 13px/1.4 var(--bw-sans) !important; letter-spacing:0 !important; text-transform:none !important; text-decoration:underline !important; box-shadow:none !important; height:auto !important; }
.woocommerce-checkout form.checkout_coupon { max-width:560px; }
.woocommerce-checkout form.checkout { display:grid !important; grid-template-columns:minmax(0,1fr) 420px; gap:0 56px; align-items:start; border:0 !important; padding:0 !important; background:none !important; box-shadow:none !important; }
.woocommerce-checkout form.checkout > * { grid-column:1; min-width:0; }
.woocommerce-checkout form.checkout > .woocommerce-checkout-order-review-wrap, .woocommerce-checkout form.checkout > #order_review_heading, .woocommerce-checkout form.checkout > #order_review { grid-column:2; }
.woocommerce-checkout form.checkout > .woocommerce-checkout-order-review-wrap { grid-row:1 / span 3; position:sticky; top:24px; background:var(--bw-tint); padding:30px 28px; width:auto !important; float:none !important; margin:0 !important; }
.woocommerce-checkout #customer_details { grid-row:1; width:auto !important; float:none !important; border:0 !important; padding:0 !important; margin:0 !important; background:none !important; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { width:100% !important; float:none !important; max-width:none !important; padding:0 !important; margin:0 0 28px !important; border:0 !important; background:none !important; }
.woocommerce-checkout #customer_details h3 { font-family:var(--bw-serif) !important; font-size:28px !important; font-weight:500 !important; margin:0 0 18px !important; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { display:grid; grid-template-columns:1fr 1fr; gap:0 18px; }
.woocommerce-checkout .form-row { width:auto !important; float:none !important; margin:0 0 18px !important; padding:0 !important; grid-column:1 / -1; }
.woocommerce-checkout .form-row.form-row-first { grid-column:1; } .woocommerce-checkout .form-row.form-row-last { grid-column:2; }
.woocommerce-checkout .form-row input.input-text, .woocommerce-checkout .form-row select, .woocommerce-checkout .select2-container .select2-selection--single { height:50px !important; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered { line-height:48px !important; padding-left:16px; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow { height:48px !important; }
.woocommerce-checkout .form-row textarea { min-height:110px; }
.woocommerce-checkout .form-row .required { color:#9b2c2c; text-decoration:none; }
.woocommerce-checkout #order_review_heading, .woocommerce-checkout .woocommerce-checkout-order-review-wrap > h3 { font-family:var(--bw-serif) !important; font-size:28px !important; font-weight:500 !important; margin:0 0 14px !important; }
.woocommerce-checkout #order_review table.shop_table { border:0 !important; background:none !important; }
.woocommerce-checkout #order_review table.shop_table th, .woocommerce-checkout #order_review table.shop_table td { border:0 !important; border-bottom:1px solid var(--bw-line) !important; background:none !important; padding:12px 0 !important; font-size:14px; }
.woocommerce-checkout #order_review table.shop_table thead { display:none; }
.woocommerce-checkout #order_review table.shop_table td.product-total, .woocommerce-checkout #order_review tfoot td { text-align:right; }
.woocommerce-checkout #order_review table.shop_table img { width:56px !important; height:56px !important; object-fit:cover; background:#fff; margin-right:12px; }
.woocommerce-checkout #order_review tfoot th { font:700 11px/1.4 var(--bw-sans) !important; letter-spacing:.16em; text-transform:uppercase; }
.woocommerce-checkout #order_review tfoot tr.order-total th, .woocommerce-checkout #order_review tfoot tr.order-total td { border-bottom:0 !important; }
.woocommerce-checkout #order_review tfoot tr.order-total .amount { font:700 22px/1.2 var(--bw-sans); color:var(--bw-ink); }
.woocommerce-checkout #payment { background:none !important; padding:0 !important; margin-top:18px; }
.woocommerce-checkout #payment ul.payment_methods { border:0 !important; padding:0 !important; margin:0 0 12px !important; }
.woocommerce-checkout #payment ul.payment_methods li { background:#fff; border:1px solid var(--bw-line); padding:16px 16px !important; margin:0 0 10px !important; list-style:none; }
.woocommerce-checkout #payment ul.payment_methods li label { font:700 12px/1.4 var(--bw-sans) !important; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.woocommerce-checkout #payment ul.payment_methods li .payment_box { background:var(--bw-tint) !important; margin:12px 0 0 !important; padding:12px 14px !important; font-size:13px; }
.woocommerce-checkout #payment ul.payment_methods li .payment_box::before { display:none !important; }
.woocommerce-checkout #payment .place-order { padding:6px 0 0 !important; }
.woocommerce-checkout #payment .woocommerce-privacy-policy-text p { font-size:12px; color:var(--bw-muted); line-height:1.6; }
.woocommerce-checkout #payment #place_order { width:100%; min-height:56px; font-size:12px !important; }

@media (max-width:1024px) {
  .woocommerce-cart .woocommerce, .woocommerce-checkout form.checkout { grid-template-columns:minmax(0,1fr); }
  .woocommerce-cart .woocommerce > .cart-collaterals, .woocommerce-checkout form.checkout > .woocommerce-checkout-order-review-wrap { grid-column:1; grid-row:auto; position:static; margin-top:30px !important; }
}
@media (max-width:767px) {
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns:1fr; }
  .woocommerce-checkout .form-row.form-row-first, .woocommerce-checkout .form-row.form-row-last { grid-column:1; }
  .woocommerce-cart table.shop_table_responsive.cart tr.cart_item { display:grid; grid-template-columns:88px 1fr auto; gap:4px 14px; padding:18px 0; border-bottom:1px solid var(--bw-line); position:relative; }
  .woocommerce-cart table.shop_table_responsive.cart tr.cart_item td { display:block; border:0 !important; padding:0 !important; text-align:left !important; }
  .woocommerce-cart table.shop_table_responsive.cart tr.cart_item td::before { display:none !important; }
  .woocommerce-cart table.shop_table_responsive.cart td.product-thumbnail { display:block !important; grid-row:1 / span 4; width:88px; }
  .woocommerce-cart table.shop_table_responsive.cart td.product-name, .woocommerce-cart table.shop_table_responsive.cart td.product-price, .woocommerce-cart table.shop_table_responsive.cart td.product-quantity { grid-column:2; }
  .woocommerce-cart table.shop_table_responsive.cart td.product-name a { font-size:18px !important; }
  .woocommerce-cart table.shop_table_responsive.cart td.product-subtotal { grid-column:2; font-size:15px; }
  .woocommerce-cart table.shop_table_responsive.cart td.product-remove { grid-column:3; grid-row:1; }
  .woocommerce-cart table.shop_table_responsive.cart td.product-quantity { margin:6px 0 !important; }
  .woocommerce-cart table.shop_table_responsive.cart tr:not(.cart_item) td { display:block; }
}
.woocommerce .quantity { max-width:none !important; min-width:122px !important; overflow:visible !important; padding:0 !important; }
.woocommerce .quantity > input.qty, .woocommerce .quantity > a.plus, .woocommerce .quantity > a.minus { flex:none !important; left:auto !important; right:auto !important; top:auto !important; bottom:auto !important; }
html body .woocommerce div.quantity.quantity > a.plus.plus, html body .woocommerce div.quantity.quantity > a.minus.minus { position:static !important; left:auto !important; right:auto !important; top:auto !important; float:none !important; }
html body .woocommerce div.quantity.quantity > input.qty.qty { float:none !important; }
/* totals: GST note small; address change as a text link */
.woocommerce-cart .cart_totals tr.order-total small.includes_tax .amount, .woocommerce-checkout #order_review tr.order-total small.includes_tax .amount { font:inherit !important; font-size:12px !important; color:inherit !important; }
.woocommerce-cart .cart_totals tr.order-total small.includes_tax, .woocommerce-checkout #order_review tr.order-total small.includes_tax { font-size:12px !important; color:var(--bw-muted) !important; font-weight:400 !important; }
.woocommerce a.shipping-calculator-button, .woocommerce-cart a.shipping-calculator-button { background:none !important; border:0 !important; padding:0 !important; color:var(--bw-green) !important; font:700 12px/1.4 var(--bw-sans) !important; letter-spacing:0 !important; text-transform:none !important; text-decoration:underline !important; box-shadow:none !important; display:inline !important; height:auto !important; min-height:0 !important; }
.woocommerce-cart .cart_totals .woocommerce-shipping-destination { margin:4px 0 2px; }
.woocommerce-cart .wc-proceed-to-checkout { display:block !important; width:100% !important; }
html body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display:flex !important; width:100% !important; max-width:none !important; box-sizing:border-box; }
.woocommerce-cart .dt-sc-cart-coupon-holder .coupon, .woocommerce-cart .dt-sc-cart-coupon-holder > * { border:0 !important; padding:0 !important; background:none !important; box-shadow:none !important; width:auto !important; }
.woocommerce-checkout #order_review table.shop_table td.product-name { display:flex !important; align-items:center; gap:12px; font-size:14px; line-height:1.4; color:var(--bw-ink); }
.woocommerce-checkout #order_review table.shop_table td.product-name img { flex:none; margin:0 !important; display:block; }
.woocommerce-checkout #order_review table.shop_table td.product-name > * { margin:0 !important; }
.woocommerce-checkout #order_review table.shop_table td.product-name .product-quantity { white-space:nowrap; font-weight:700; color:var(--bw-muted); }
.woocommerce-checkout #order_review table.shop_table tr.cart_item td.product-total { vertical-align:middle; white-space:nowrap; font-weight:700; }
.woocommerce-checkout .form-row textarea, .woocommerce-checkout .woocommerce-additional-fields .form-row .woocommerce-input-wrapper { width:100% !important; display:block; }
.woocommerce-checkout #customer_details .woocommerce-additional-fields h3 { font-size:24px !important; }
@media (max-width:767px) {
  /* cart rows: hide the theme's per-cell labels, keep a compact row */
  .woocommerce-cart table.shop_table_responsive.cart tr.cart_item td > label { display:none !important; }
  .woocommerce-cart table.shop_table_responsive.cart tr.cart_item { gap:6px 14px; }
  .woocommerce-cart table.shop_table_responsive.cart td.product-price { font-size:13px; }
  .woocommerce-cart table.shop_table_responsive.cart td.product-subtotal { font-weight:700; }
  .woocommerce-cart table.shop_table_responsive.cart td.product-thumbnail img { width:80px !important; height:80px !important; }
  /* totals & order summary: label left, amount right */
  .woocommerce-cart .cart_totals table.shop_table, .woocommerce-cart .cart_totals table.shop_table tbody { display:block !important; width:100%; }
  .woocommerce-cart .cart_totals table.shop_table tr { display:flex !important; justify-content:space-between; align-items:flex-start; gap:12px; border-bottom:1px solid var(--bw-line); }
  .woocommerce-cart .cart_totals table.shop_table tr th, .woocommerce-cart .cart_totals table.shop_table tr td { display:block !important; border:0 !important; text-align:left !important; width:auto !important; padding:14px 0 !important; }
  .woocommerce-cart .cart_totals table.shop_table tr td { text-align:right !important; }
  .woocommerce-cart .cart_totals table.shop_table tr td::before { display:none !important; }
  .woocommerce-cart .cart_totals table.shop_table tr.order-total { border-bottom:0; }
  .woocommerce-cart .cart_totals > h2 { text-align:left; }
  .woocommerce-checkout #order_review table.shop_table, .woocommerce-checkout #order_review table.shop_table tbody, .woocommerce-checkout #order_review table.shop_table tfoot { display:block !important; width:100%; }
  .woocommerce-checkout #order_review table.shop_table tr { display:flex !important; justify-content:space-between; align-items:center; gap:12px; border-bottom:1px solid var(--bw-line); }
  .woocommerce-checkout #order_review table.shop_table tr th, .woocommerce-checkout #order_review table.shop_table tr td { display:block; border:0 !important; text-align:left !important; width:auto !important; }
  .woocommerce-checkout #order_review table.shop_table tr td.product-name { display:flex !important; flex:1; }
  .woocommerce-checkout #order_review table.shop_table tr td.product-total, .woocommerce-checkout #order_review table.shop_table tfoot tr td { text-align:right !important; }
  .woocommerce-checkout #order_review table.shop_table tr td::before { display:none !important; }
  .woocommerce-checkout #order_review table.shop_table tr.order-total { border-bottom:0; }
  .woocommerce-checkout .woocommerce-checkout-order-review-wrap > h3, .woocommerce-checkout #order_review_heading { text-align:left !important; }
  .woocommerce-checkout form.checkout > .woocommerce-checkout-order-review-wrap { padding:24px 18px; }
}
.woocommerce-checkout #order_review td.product-name .woocommerce-Price-amount { display:none !important; }
.woocommerce-checkout #order_review td.product-name, .woocommerce-checkout #order_review td.product-name * { text-align:left !important; }
.woocommerce-checkout #order_review td.product-name .checkout-review-order-title { flex:1; min-width:0; }
@media (max-width:767px) {
  .woocommerce-cart table.shop_table_responsive.cart tr.cart_item { grid-template-columns:80px 1fr auto; grid-template-rows:auto auto auto; gap:4px 12px; align-items:center; }
  .woocommerce-cart table.shop_table_responsive.cart tr.cart_item td { margin:0 !important; min-height:0 !important; line-height:1.35 !important; }
  .woocommerce-cart table.shop_table_responsive.cart td.product-thumbnail { grid-row:1 / span 3; align-self:start; }
  .woocommerce-cart table.shop_table_responsive.cart td.product-name { grid-column:2; grid-row:1; }
  .woocommerce-cart table.shop_table_responsive.cart td.product-remove { grid-column:3; grid-row:1; align-self:start; }
  .woocommerce-cart table.shop_table_responsive.cart td.product-price { grid-column:2 / span 2; grid-row:2; }
  .woocommerce-cart table.shop_table_responsive.cart td.product-quantity { grid-column:2; grid-row:3; margin-top:6px !important; }
  .woocommerce-cart table.shop_table_responsive.cart td.product-subtotal { grid-column:3; grid-row:3; align-self:center; text-align:right !important; margin-top:6px !important; }
}
/* empty basket: centred, full width */
.woocommerce-cart .woocommerce > *:not(form.woocommerce-cart-form):not(.cart-collaterals) { grid-column:1 / -1; }
.woocommerce-cart .wc-empty-cart-message, .woocommerce-cart .cart-empty { max-width:560px; margin:10px auto 0 !important; }
.woocommerce-cart .cart-empty.woocommerce-info { text-align:center; border-left:0 !important; background:var(--bw-tint) !important; padding:34px 24px !important; font-family:var(--bw-serif); font-size:24px !important; color:var(--bw-ink) !important; }
.woocommerce-cart .cart-empty.woocommerce-info::before { display:none !important; }
.woocommerce-cart .return-to-shop { text-align:center; margin:26px 0 0 !important; }

/* ---------- header v2 (markup from the mu-plugin, replaces Elementor template 22789) ---------- */
.bwh { position:relative; z-index:1000; background:#fff; font-family:var(--bw-sans); }
.bwh ul { list-style:none; margin:0; padding:0; }
.bwh a { text-decoration:none; }
.bwh-ann { background:var(--bw-green); color:#fff; text-align:center; padding:10px 16px; }
.bwh-ann p { margin:0; font:700 11px/1.4 var(--bw-sans); letter-spacing:.18em; text-transform:uppercase; color:#fff; }
.bwh-bar { background:#fff; border-bottom:1px solid var(--bw-line); }
.bwh-row { max-width:1320px; margin:0 auto; padding:0 32px; height:100px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; transition:height .25s; }
.bwh-logo { display:block; line-height:0; }
.bwh-logo img { height:84px; width:auto; max-width:none; transition:height .25s; }
.bwh-side { display:flex; align-items:center; gap:6px; }
.bwh-side--end { justify-content:flex-end; }
.bwh .bwh-ico { position:relative; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; margin:0; border:0; border-radius:50%;
  background:none; color:var(--bw-ink); cursor:pointer; transition:background .2s, color .2s; box-shadow:none; min-height:0; }
.bwh .bwh-ico:hover { background:var(--bw-tint); color:var(--bw-green); }
.bwh .bwh-ico:focus-visible, .bwh-nav a:focus-visible, .bwh-drawer a:focus-visible, .bwh-drawer summary:focus-visible { outline:2px solid var(--bw-green); outline-offset:2px; }
.bwh .bwh-ico svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.bwh .bwh-menu-btn { display:none; }
.bwh .bwh-search-btn { width:auto; padding:0 14px 0 10px; border-radius:22px; gap:10px; }
.bwh-label { font:700 11px/1 var(--bw-sans); letter-spacing:.2em; text-transform:uppercase; }
.bwh.is-stuck .bwh-label { display:none; }
.bwh.is-stuck .bwh-search-btn { width:44px; padding:0; }
.bwh-count { position:absolute; top:5px; right:3px; min-width:17px; height:17px; padding:0 4px; border-radius:9px; background:var(--bw-green); color:#fff; font:700 10px/17px var(--bw-sans); text-align:center; }
.bwh-count.is-zero { display:none; }

.bwh-nav { border-bottom:1px solid var(--bw-line); background:#fff; }
.bwh-nav > ul { display:flex; justify-content:center; flex-wrap:wrap; max-width:1320px; margin:0 auto; padding:0 32px; }
.bwh-nav > ul > li { position:relative; }
.bwh-nav > ul > li + li::before { content:""; position:absolute; left:-2px; top:50%; width:3px; height:3px; margin-top:-3px; border-radius:50%; background:#C9BFB2; }
.bwh-nav > ul > li > a { display:block; padding:17px 24px; font:700 11px/1 var(--bw-sans); letter-spacing:.2em; text-transform:uppercase; color:var(--bw-ink); transition:color .2s; }
.bwh-nav > ul > li > a:hover, .bwh-nav > ul > li > a.is-on { color:var(--bw-green); }
.bwh-nav > ul > li > a.is-on { box-shadow:inset 0 -2px 0 var(--bw-green); }
.bwh-nav li.has-sub > a::after { content:""; display:inline-block; width:5px; height:5px; margin:0 0 3px 8px; border:solid currentColor; border-width:0 1px 1px 0; transform:rotate(45deg); }
.bwh-sub { position:absolute; top:100%; left:50%; min-width:230px; padding:10px 0 !important; background:#fff; border:1px solid var(--bw-line); box-shadow:0 18px 40px rgba(26,26,26,.08);
  opacity:0; visibility:hidden; transform:translate(-50%,6px); transition:opacity .2s, transform .2s, visibility .2s; z-index:5; }
.bwh-nav li.has-sub:hover > .bwh-sub, .bwh-nav li.has-sub:focus-within > .bwh-sub { opacity:1; visibility:visible; transform:translate(-50%,0); }
.bwh-sub a { display:block; padding:10px 24px; font:400 14px/1.4 var(--bw-sans); color:var(--bw-ink); white-space:nowrap; }
.bwh-sub a:hover { background:var(--bw-tint); color:var(--bw-green); }

.bwh-search { border-bottom:1px solid var(--bw-line); background:#fff; padding:18px 32px; }
.bwh-search[hidden] { display:none; }
.bwh-search form { display:flex; max-width:720px; margin:0 auto; }
.bwh-search input[type=search] { flex:1; min-width:0; height:50px; margin:0; padding:0 18px; border:1px solid var(--bw-line); border-right:0; border-radius:0; background:#fff; font:400 15px var(--bw-sans); color:var(--bw-ink); }
.bwh-search input[type=search]:focus { border-color:var(--bw-green); outline:none; }
.bwh-search button { height:50px; margin:0; padding:0 28px; border:0; border-radius:0; background:var(--bw-green); color:#fff; font:700 11px/1 var(--bw-sans); letter-spacing:.2em; text-transform:uppercase; cursor:pointer; }

/* compact bar pinned while scrolling */
.bwh.is-stuck .bwh-bar { position:fixed; top:var(--wp-admin--admin-bar--height,0px); left:0; right:0; z-index:1001; box-shadow:0 6px 24px rgba(26,26,26,.07); animation:bwh-in .3s ease-out; }
.bwh.is-stuck .bwh-row { height:66px; }
.bwh.is-stuck .bwh-logo img { height:50px; }
.bwh.is-stuck .bwh-menu-btn { display:inline-flex; }
.bwh.is-stuck .bwh-search { position:fixed; top:calc(var(--wp-admin--admin-bar--height,0px) + 67px); left:0; right:0; z-index:1001; }
@keyframes bwh-in { from { transform:translateY(-100%); } }

/* drawer */
.bwh-drawer { position:fixed; inset:0; z-index:2147483600; background:rgba(26,26,26,.45); }
.bwh-drawer[hidden] { display:none; }
.bwh-drawer-panel { width:min(86vw,380px); height:100%; overflow-y:auto; background:#fff; display:flex; flex-direction:column; animation:bwh-slide .3s ease-out; }
@keyframes bwh-slide { from { transform:translateX(-100%); } }
.bwh-drawer-head { display:flex; align-items:center; justify-content:space-between; padding:10px 12px 10px 24px; border-bottom:1px solid var(--bw-line); }
.bwh-drawer-head span { font:700 11px/1 var(--bw-sans); letter-spacing:.22em; text-transform:uppercase; color:var(--bw-muted); }
.bwh-dlist > li { border-bottom:1px solid var(--bw-line); }
.bwh-dlist > li > a, .bwh-dlist summary { display:flex; justify-content:space-between; align-items:center; padding:17px 24px; font:500 21px/1.2 var(--bw-serif); color:var(--bw-ink); cursor:pointer; list-style:none; }
.bwh-dlist summary::-webkit-details-marker { display:none; }
.bwh-dlist summary::after { content:"+"; font:300 22px/1 var(--bw-sans); color:var(--bw-muted); }
.bwh-dlist details[open] summary::after { content:"\2212"; }
.bwh-dlist details ul { padding:0 0 12px !important; }
.bwh-dlist details a { display:block; padding:10px 24px 10px 36px; font:400 15px/1.4 var(--bw-sans); color:var(--bw-muted); }
.bwh-dlist a:hover, .bwh-dlist summary:hover { color:var(--bw-green); }
.bwh-drawer-foot { margin-top:auto; padding:24px; display:flex; flex-direction:column; gap:14px; background:var(--bw-tint); }
.bwh-drawer-foot a { font:700 11px/1 var(--bw-sans); letter-spacing:.18em; text-transform:uppercase; color:var(--bw-green); }
html.bwh-lock { overflow:hidden; }
html.bwh-lock .ht-ctc { display:none !important; }

@media (max-width:1024px) {
  .bwh-nav { display:none; }
  .bwh .bwh-menu-btn { display:inline-flex; }
  .bwh-row, .bwh.is-stuck .bwh-row { height:68px; padding:0 10px; }
  .bwh-logo img { height:54px; }
  .bwh.is-stuck .bwh-logo img { height:46px; }
  .bwh.is-stuck .bwh-search { top:calc(var(--wp-admin--admin-bar--height,0px) + 69px); }
  .bwh-ann { padding:9px 12px; }
  .bwh-ann p { font-size:10px; letter-spacing:.12em; }
  .bwh-label { display:none; }
  .bwh .bwh-search-btn { width:44px; padding:0; }
  .bwh-search { padding:12px 14px; }
  .bwh-search button { padding:0 18px; }
}
@media (max-width:600px) { .bwh-ann p span { display:none; } }
@media (max-width:400px) { .bwh .bwh-ico, .bwh .bwh-search-btn { width:40px; height:40px; } .bwh-side { gap:0; } }
@media (prefers-reduced-motion:reduce) { .bwh.is-stuck .bwh-bar, .bwh-drawer-panel { animation:none; } }
@media print {
  .bwh-ann, .bwh-nav, .bwh-search, .bwh-drawer, .bwh-side, .ht-ctc { display:none !important; }
  .bwh-row { display:flex; justify-content:center; height:auto; padding:10px 0; }
  .bwh-logo img { height:64px; }
  .bwh.is-stuck .bwh-bar { position:static; box-shadow:none; animation:none; }
  .bwh { min-height:0 !important; }
}

/* ---------- phone review fixes (2026-11-11) ---------- */
/* product page stepper: the theme absolutely positions +/- when .woocommerce is on <body> (product pages) */
body.woocommerce div.quantity.quantity { display:inline-flex !important; position:relative; }
body.woocommerce div.quantity.quantity > a.plus.plus, body.woocommerce div.quantity.quantity > a.minus.minus { position:static !important; left:auto !important; right:auto !important; top:auto !important; bottom:auto !important; float:none !important; }
body.woocommerce div.quantity.quantity > input.qty.qty { float:none !important; position:static !important; }
/* blog list: author · date · categories on one wrapping line */
.entry-meta-group { display:flex !important; flex-wrap:wrap; align-items:center; gap:6px 18px; }
.entry-meta-group > div { margin:0 !important; width:auto !important; padding:0 !important; }
.entry-meta-group .entry-categories { flex-basis:100%; }
@media (max-width:767px) {
  /* footer: brand full width, Shop + Help side by side, contact full width */
  .bw-foot > .elementor-container { flex-wrap:wrap !important; }
  .bw-foot .elementor-element-f588e6c, .bw-foot .elementor-element-6a1bb30 { width:50% !important; }
  .bw-foot .elementor-element-c53ae10, .bw-foot .elementor-element-23c7518 { width:100% !important; }
  .bw-foot .elementor-widget-image img { max-width:96px !important; }
  /* product page: no big "Shop" band, one-line breadcrumb */
  .single-product .main-title-section-wrapper { padding:14px 16px !important; min-height:0 !important; }
  .single-product .main-title-section-wrapper .main-title-section { display:none !important; }
  .single-product .main-title-section-wrapper .breadcrumb { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:10px !important; margin:0 !important; }
  .single-product #header-wrapper { margin-bottom:20px !important; }
  /* posts: the theme's long sidebar (all categories, demo banner) is noise on a phone */
  .single-post #secondary, .blog #secondary, .archive.category #secondary { display:none !important; }
  /* home: "Explore the range" heading on one line */
  body .elementor .bw-head--split .bw-title .elementor-heading-title { font-size:22px !important; letter-spacing:.06em !important; }
}
