/* =============================================================================
   ARTISANTHAI.COM — MOBILE CSS CLEANUP (CRO)
   WordPress + OceanWP + WooCommerce + CheckoutWC. Verified on live DOM @390px
   (2026-06-22). Every rule scoped to @media (max-width:768px); nothing affects
   desktop (>=769px). CSS only — no JS / DOM / DB changes. Does NOT touch the
   selectors owned by Code Snippet #118 (#scroll-top, .artisan-cookie-banner,
   .at-global-footer-wrapper). All selectors confirmed against the live markup.
   ============================================================================= */

/* ── GLOBAL (all viewports): product "pack size" block — add breathing room
   between the bullet list (…"30-day returns on unopened retail orders") and the
   closing CTA line ("Choose your pack size above and add to cart …"). They sit
   flush because .at-ps-cta has no top margin. Applies on every device. ── */
.at-ps .at-ps-cta { margin-top: 16px !important; }

@media (max-width: 768px) {

  /* ===== 1. TOP UTILITY BAR — compact, centered, legible =================== */
  #top-bar-wrap { background: #0F3D26 !important; }
  #top-bar-inner { padding: 0 !important; }
  #top-bar-content.top-bar-centered {
    display: flex !important; flex-direction: column !important;
    align-items: center !important; justify-content: center !important;
    gap: 4px !important; padding: 7px 12px !important;
    text-align: center !important; line-height: 1.35 !important;
  }
  /* trust announcement: each promo on its OWN centered line.
     Use block, NOT flex-wrap: the loose inline ✦ stars are separate elements, so
     flex-wrap let them detach from their phrase and orphan onto a line of their own. */
  #top-bar-content .topbar-content {
    display: block !important; text-align: center !important;
    width: 100% !important; margin: 0 !important; order: 1 !important;
    font-size: 12px !important; letter-spacing: .2px !important; line-height: 1.55 !important; color: #faf6ec !important;
  }
  #top-bar-content .topbar-content a {
    display: block !important; white-space: normal !important;
    color: #faf6ec !important; font-size: 12px !important; line-height: 1.4 !important; padding: 1px 0 !important;
  }
  /* hide the loose inline stars; re-add them as pseudo-stars GLUED to each phrase
     (pseudo-elements live inside the anchor box, so they can never orphan) */
  #top-bar-content .topbar-content .topbar-star-wrap { display: none !important; }
  /* single LEADING ✦ per promo — a trailing ✦ wraps to its own line on narrow
     phones (the uppercase text nearly fills the bar), so we use one clean marker */
  #top-bar-content .topbar-content a::before {
    content: "\2726" !important; color: #d9c79a !important; font-size: .8em !important; line-height: 1 !important;
    vertical-align: middle !important; display: inline-block !important; margin-right: 9px !important;
  }
  #top-bar-content .topbar-content a::after { content: none !important; }
  /* account links demoted to one divider-separated row, 44px tap targets */
  #top-bar-content #top-bar-nav { width: 100% !important; order: 2 !important; }
  #top-bar-content #top-bar-nav ul#menu-top-bar-menu {
    display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important;
    align-items: center !important; justify-content: center !important; gap: 0 !important;
    margin: 3px 0 0 !important; padding: 5px 0 0 !important; border-top: 1px solid rgba(217,199,154,.22) !important;
  }
  #top-bar-content #top-bar-nav ul#menu-top-bar-menu li { margin: 0 !important; list-style: none !important; }
  #top-bar-content #top-bar-nav ul#menu-top-bar-menu li a {
    display: flex !important; align-items: center !important; min-height: 44px !important;
    padding: 0 14px !important; font-size: 12px !important; line-height: 1 !important; color: #d9c79a !important; white-space: nowrap !important;
  }
  #top-bar-content #top-bar-nav ul#menu-top-bar-menu li:first-child a { border-right: 1px solid rgba(217,199,154,.30) !important; }

  /* ===== 2. HEADER — hamburger / centered logo / cart all >=44px =========== */
  #site-header.center-logo .oceanwp-mobile-menu-icon a.mobile-menu {
    display: flex !important; align-items: center !important; min-height: 44px !important;
  }
  #site-header.center-logo #site-logo { text-align: center !important; }
  #site-header.center-logo #site-logo img { max-height: 42px !important; width: auto !important; margin: 0 auto !important; }
  #site-header.center-logo a.wcmenucart {
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    min-width: 44px !important; min-height: 44px !important;
  }

  /* ===== 3. QUANTITY STEPPERS — canonical site-wide (cart + PDP) ========== */
  .quantity { display: inline-flex !important; align-items: stretch !important; }
  .quantity a.minus, .quantity a.plus {
    display: flex !important; align-items: center !important; justify-content: center !important;
    width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important;
    font-size: 18px !important; line-height: 1 !important; color: #114429 !important;
    border: 1px solid #d9c79a !important; background: #faf6ec !important; text-decoration: none !important;
  }
  .quantity input.qty {
    height: 44px !important; min-height: 44px !important; width: 48px !important; text-align: center !important;
    font-size: 16px !important; color: #324136 !important; border: 1px solid #d9c79a !important;  /* 16px blocks iOS zoom */
    -moz-appearance: textfield !important; appearance: textfield !important;
  }

  /* ===== 4. SHOP / ARCHIVE — clean centered 1-up cards ==================== */
  ul.products, ul.products li.product.col.span_1_of_3 {
    display: block !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important;
  }
  ul.products li.product {
    width: 100% !important; max-width: 420px !important; margin: 0 auto 24px !important; padding: 14px 14px 18px !important;
    float: none !important; box-sizing: border-box !important; text-align: center !important;
    background: #faf6ec !important; border: 1px solid #f0e9d8 !important; border-radius: 12px !important;
    display: flex !important; flex-direction: column !important;
  }
  ul.products li.product a img, ul.products li.product img {
    max-height: 240px !important; width: 100% !important; object-fit: contain !important; object-position: center !important;
    border-radius: 8px !important; margin: 0 auto 12px !important; display: block !important; background: #fff !important;
  }
  ul.products li.product span.onsale {
    top: 10px !important; left: 10px !important; right: auto !important; margin: 0 !important; min-height: 0 !important;
    padding: 4px 10px !important; font-size: 11px !important; line-height: 1.2 !important; background: #114429 !important; color: #faf6ec !important; border-radius: 4px !important;
  }
  ul.products li.product .woocommerce-loop-product__title, ul.products li.product h2 {
    font-size: 16px !important; line-height: 1.35 !important; min-height: 2.7em !important; margin: 4px auto 6px !important; padding: 0 4px !important; color: #324136 !important; text-align: center !important;
  }
  ul.products li.product .price, ul.products li.product span.price {
    display: block !important; text-align: center !important; font-size: 16px !important; font-weight: 600 !important; color: #114429 !important; margin: 0 auto 2px !important;
  }
  /* archive CTA = green PRIMARY, full-width tap target */
  ul.products li.product a.add_to_cart_button, ul.products li.product a.button.add_to_cart_button {
    display: block !important; width: 100% !important; max-width: 320px !important; margin: 12px auto 0 !important;
    min-height: 48px !important; line-height: 1.3 !important; padding: 13px 18px !important; box-sizing: border-box !important;
    font-size: 15px !important; font-weight: 600 !important; letter-spacing: .02em !important; text-align: center !important;
    background: #114429 !important; color: #faf6ec !important; border: none !important; border-radius: 6px !important;
  }
  /* toolbar (result count + grid/list toggle + sorting) */
  .oceanwp-toolbar { display: flex !important; flex-wrap: wrap !important; align-items: center !important; justify-content: center !important; gap: 10px !important; }
  form.woocommerce-ordering { float: none !important; width: 100% !important; max-width: 420px !important; margin: 0 auto !important; display: block !important; }
  form.woocommerce-ordering select.orderby {
    width: 100% !important; min-height: 48px !important; padding: 12px 40px 12px 14px !important; font-size: 15px !important; color: #324136 !important;
    background-color: #f5f0e6 !important; border: 1px solid #d9c79a !important; border-radius: 6px !important;
    -webkit-appearance: none !important; appearance: none !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23114429' d='M1 1l5 5 5-5'/></svg>") !important;
    background-repeat: no-repeat !important; background-position: right 14px center !important;
  }
  a.grid-btn, a.list-btn {
    min-width: 44px !important; min-height: 44px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 6px !important; color: #114429 !important;
  }

  /* ===== 5. PRODUCT DETAIL PAGE ========================================== */
  .single-product div.product .woocommerce-product-gallery { margin: 0 auto 18px !important; max-width: 360px; width: 100% !important; float: none !important; }
  .single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img { margin: 0 auto !important; display: block; border-radius: 6px; }
  .single-product div.product .summary.entry-summary { text-align: center; padding: 0 4px; }
  .single-product div.product .summary .product_title.entry-title { font-size: 22px; line-height: 1.28; margin: 6px 0 8px; color: #324136; }
  .single-product div.product .summary .woocommerce-product-details__short-description { max-width: 320px; margin: 0 auto 14px; color: #324136; line-height: 1.5; }
  .single-product div.product .summary p.price, .single-product div.product .summary .price { text-align: center; font-size: 20px; font-weight: 700; color: #114429 !important; margin: 0 0 14px; }
  /* variation swatches (ThemeHigh thwvsf) — centered, 44px, green selected */
  .single-product form.variations_form table.variations th.label,
  .single-product form.variations_form table.variations td.value { display: block !important; width: 100% !important; text-align: center !important; }
  .single-product form.variations_form ul.thwvsf-wrapper-ul {
    display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 10px !important; margin: 6px auto 10px !important; padding: 0 !important;
  }
  .single-product form.variations_form ul.thwvsf-wrapper-ul li.thwvsf-wrapper-item-li {
    min-height: 44px !important; min-width: 56px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important;
    padding: 8px 16px !important; margin: 0 !important; font-size: 14px !important; line-height: 1 !important;
    border: 1px solid #d9c79a !important; border-radius: 8px !important; background: #faf6ec !important; color: #324136 !important;
  }
  .single-product form.variations_form ul.thwvsf-wrapper-ul li.thwvsf-wrapper-item-li.thwvsf-selected {
    background: #114429 !important; color: #faf6ec !important; border-color: #114429 !important; box-shadow: 0 0 0 2px rgba(17,68,41,.15) !important;
  }
  .single-product form.variations_form .reset_variations { display: inline-block !important; text-align: center !important; }
  /* qty + add-to-cart action zone */
  .single-product div.product .woocommerce-variation-add-to-cart {
    display: flex !important; flex-direction: column !important; align-items: center !important; gap: 12px !important; margin: 8px auto 18px !important;
  }
  .single-product div.product form.cart .quantity input.qty { width: 56px !important; }
  .single-product div.product form.cart a.single_add_to_cart_button.button,
  .single-product div.product form.cart button.single_add_to_cart_button.button {
    width: 100% !important; min-height: 52px !important; background: #114429 !important; color: #faf6ec !important; border: none !important;
    font-size: 16px !important; font-weight: 700 !important; letter-spacing: .04em !important; border-radius: 8px !important; padding: 14px 18px !important; box-shadow: 0 2px 8px rgba(15,61,38,.18) !important;
  }
  .single-product div.product .summary .product_meta { text-align: center; font-size: 12.5px; color: #324136; line-height: 1.5; margin: 10px auto 0; max-width: 320px; }
  /* related products: same card system, SECONDARY outline CTA (one primary/page) */
  .single-product .related.products ul.products li.product { max-width: 340px; }
  .single-product .related.products ul.products li.product a.add_to_cart_button,
  .single-product .related.products ul.products li.product a.button {
    display: inline-flex !important; align-items: center !important; justify-content: center !important; width: auto !important; max-width: none !important;
    min-height: 44px !important; padding: 10px 20px !important; font-size: 14px !important;
    background: #faf6ec !important; color: #114429 !important; border: 1px solid #114429 !important; border-radius: 8px !important; margin-top: 6px !important;
  }

  /* ===== 6. CART PAGE (/cart-2/) ========================================= */
  /* (a) kill orphan ": " labels on data-title-less cells */
  table.shop_table_responsive tr td.product-remove::before,
  table.shop_table_responsive tr td.product-thumbnail::before { content: "" !important; display: none !important; }
  /* (b) hide the duplicate "Overall estimated dispatch" row (also removes its stray colon) */
  form.woocommerce-cart-form table.shop_table_responsive td.wpced-cart { display: none !important; }
  /* (c) each line item -> clean cream card */
  form.woocommerce-cart-form table.shop_table_responsive tr.woocommerce-cart-form__cart-item {
    display: block !important; margin: 0 0 18px !important; padding: 14px 16px !important;
    background: #faf6ec !important; border: 1px solid #d9c79a !important; border-radius: 12px !important; box-shadow: 0 1px 3px rgba(15,61,38,.06) !important;
  }
  form.woocommerce-cart-form table.shop_table_responsive tr.woocommerce-cart-form__cart-item td {
    display: flex !important; justify-content: space-between !important; align-items: center !important; width: auto !important;
    text-align: right !important; padding: 8px 0 !important; border: 0 !important; border-bottom: 1px solid rgba(217,199,154,.5) !important; font-size: 14px !important;
  }
  form.woocommerce-cart-form table.shop_table_responsive tr.woocommerce-cart-form__cart-item td::before {
    float: none !important; display: inline !important; width: auto !important; margin: 0 !important; font-weight: 600 !important; font-size: 13px !important; color: #324136 !important; text-align: left !important;
  }
  /* remove (×): top-right, 44px */
  form.woocommerce-cart-form table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-remove {
    display: block !important; text-align: right !important; padding: 0 0 6px !important; border: 0 !important;
  }
  form.woocommerce-cart-form table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-remove a.remove {
    display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 44px !important; height: 44px !important; font-size: 20px !important; color: #324136 !important;
  }
  /* centered thumbnail anchor */
  form.woocommerce-cart-form table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-thumbnail {
    display: block !important; text-align: center !important; padding: 0 0 10px !important; border-bottom: 1px solid rgba(217,199,154,.5) !important;
  }
  form.woocommerce-cart-form table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-thumbnail img {
    width: 88px !important; height: 88px !important; object-fit: contain !important; background: #fff !important; border-radius: 8px !important; border: 1px solid #d9c79a !important; margin: 0 auto !important;
  }
  /* product name: full-width left-aligned deep-green title */
  form.woocommerce-cart-form table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-name {
    display: block !important; text-align: left !important; padding: 4px 0 10px !important; border-bottom: 1px solid rgba(217,199,154,.5) !important;
  }
  form.woocommerce-cart-form table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-name::before { display: none !important; }
  form.woocommerce-cart-form table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-name a {
    font-size: 16px !important; font-weight: 600 !important; line-height: 1.35 !important; color: #0F3D26 !important;
  }
  /* style the single kept per-item delivery estimate */
  form.woocommerce-cart-form td.product-name .wpced {
    display: block !important; margin: 10px 0 0 !important; padding: 8px 12px !important; background: #f5f0e6 !important; border: 1px solid #d9c79a !important;
    border-radius: 8px !important; font-size: 13px !important; color: #0F3D26 !important; text-align: left !important;
  }
  /* quantity cell right-aligned */
  form.woocommerce-cart-form td.product-quantity .quantity { margin-left: auto !important; }
  form.woocommerce-cart-form td.product-quantity .quantity a.minus, form.woocommerce-cart-form td.product-quantity .quantity a.plus { background: #f5f0e6 !important; color: #0F3D26 !important; }
  form.woocommerce-cart-form td.product-quantity .quantity input.qty { width: 52px !important; background: #fff !important; }
  /* actions row: coupon input + buttons, full-width stack */
  form.woocommerce-cart-form td.actions { display: block !important; padding: 6px 0 0 !important; }
  form.woocommerce-cart-form td.actions::before { display: none !important; }
  form.woocommerce-cart-form .coupon { display: block !important; margin: 0 0 8px !important; }
  form.woocommerce-cart-form .coupon input#coupon_code, form.woocommerce-cart-form .coupon input[name=coupon_code] {
    display: block !important; width: 100% !important; min-height: 48px !important; margin: 0 0 8px !important; padding: 12px 14px !important;
    font-size: 16px !important; color: #324136 !important; border: 1px solid #d9c79a !important; border-radius: 10px !important; box-sizing: border-box !important;
  }
  /* SECONDARY: apply coupon (tan outline) */
  form.woocommerce-cart-form button[name=apply_coupon], form.woocommerce-cart-form input[name=apply_coupon] {
    display: block !important; width: 100% !important; margin: 0 !important; padding: 12px 16px !important; background: transparent !important; color: #114429 !important;
    border: 1px solid #d4a373 !important; border-radius: 10px !important; font-size: 14px !important; font-weight: 600 !important; box-shadow: none !important; float: none !important;
  }
  /* SECONDARY: update cart (muted outline) */
  form.woocommerce-cart-form button[name=update_cart], form.woocommerce-cart-form input[name=update_cart] {
    display: block !important; width: 100% !important; margin: 8px 0 0 !important; padding: 12px 16px !important; background: transparent !important; color: #324136 !important;
    border: 1px solid #d9c79a !important; border-radius: 10px !important; font-size: 14px !important; font-weight: 600 !important; box-shadow: none !important; float: none !important;
  }
  /* totals card */
  body.woocommerce-cart .cart-collaterals, body.woocommerce-cart .cart-collaterals .cart_totals { float: none !important; width: 100% !important; max-width: 100% !important; }
  body.woocommerce-cart .cart-collaterals .cart_totals {
    margin: 18px auto 0 !important; padding: 16px !important; background: #faf6ec !important; border: 1px solid #d9c79a !important; border-radius: 12px !important;
  }
  body.woocommerce-cart .cart-collaterals .cart_totals h2 { text-align: center !important; font-size: 16px !important; color: #0F3D26 !important; margin-bottom: 10px !important; }
  /* (d) CTA hierarchy: PRIMARY proceed to checkout — dominant brand green */
  body.woocommerce-cart .cart_totals a.checkout-button.button.alt.wc-forward {
    display: block !important; width: 100% !important; margin: 4px 0 0 !important; padding: 17px 20px !important; background: #114429 !important; color: #faf6ec !important;
    border: 0 !important; border-radius: 10px !important; font-size: 17px !important; font-weight: 700 !important; letter-spacing: .4px !important; text-align: center !important; box-shadow: 0 3px 10px rgba(17,68,41,.28) !important;
  }
  /* (e) hide redundant floating side-cart pill on the cart page (overlaps content) */
  body.woocommerce-cart #cfw-side-cart-floating-button { display: none !important; }

  /* ===== 7. CHECKOUT (CheckoutWC) — light touch ========================== */
  body.checkout-wc .cfw-primary-btn, body.woocommerce-checkout button#place_order.cfw-primary-btn {
    display: block !important; width: 100% !important; min-height: 52px !important;
    background-color: #114429 !important; border-color: #114429 !important; color: #faf6ec !important;
    font-size: 17px !important; font-weight: 600 !important; letter-spacing: .02em !important; border-radius: 8px !important;
  }
  body.checkout-wc a#cfw-expand-cart { display: flex !important; align-items: center !important; min-height: 44px !important; }

}


/* =============================================================================
   ARTISANTHAI.COM — TABLET CSS (CRO + touch), 769px–1024px
   Appends to snippet #525. Mobile (<=768) and desktop (>=1025) are untouched.
   Tablets are TOUCH devices but inherit desktop styling above 768px, so this
   block restores 44px touch targets, fixes shop density, and brings the mobile
   conversion patterns (dominant green primary CTA, single delivery estimate)
   into the tablet range. Selectors verified against live DOM.
   ============================================================================= */

/* ---- A. Tablet shop grid -> clean 2-up across 769–1024 ----
   3-up is cramped at 820 (no sidebar, ~250px cards) AND at 1024 (a left filter
   sidebar squeezes 3-up to ~217px cards). 2-up gives comfortable ~350px cards
   at both. Verified: 820 -> 354px, 1024(+sidebar) -> ~350px. */
@media (min-width: 769px) and (max-width: 1024px) {
  .woocommerce ul.products,
  ul.products {
    display: flex !important; flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 24px 4% !important;            /* real gutter (no space-between canyon / orphan stretch) */
    margin-left: 0 !important; margin-right: 0 !important;
  }
  .woocommerce ul.products li.product,
  ul.products li.product.col.span_1_of_3,
  ul.products li.product {
    width: 48% !important; max-width: 48% !important;
    float: none !important; clear: none !important;
    margin: 0 !important; box-sizing: border-box !important;   /* gutter handled by gap */
  }
  ul.products li.product img { width: 100% !important; height: auto !important; }
}

/* ---- B. Whole tablet range: touch targets, density, conversion ------------- */
@media (min-width: 769px) and (max-width: 1024px) {

  /* B1. TOP BAR — clean stacked announcement (stars glued, not orphaned) + bigger tap targets */
  #top-bar-content .topbar-content {
    display: block !important; text-align: center !important; width: 100% !important;
    font-size: 13px !important; line-height: 1.55 !important; color: #faf6ec !important;
  }
  #top-bar-content .topbar-content a {
    display: block !important; white-space: normal !important; color: #faf6ec !important; font-size: 13px !important; padding: 1px 0 !important;
  }
  #top-bar-content .topbar-content .topbar-star-wrap { display: none !important; }
  /* single LEADING ✦ per promo (matches mobile; trailing ✦ wraps awkwardly) */
  #top-bar-content .topbar-content a::before {
    content: "\2726" !important; color: #d9c79a !important; font-size: .8em !important; line-height: 1 !important; vertical-align: middle !important; display: inline-block !important; margin-right: 9px !important;
  }
  #top-bar-content .topbar-content a::after { content: none !important; }
  #top-bar-content #top-bar-nav ul#menu-top-bar-menu li a {
    display: inline-flex !important; align-items: center !important;
    min-height: 44px !important; padding: 0 12px !important; font-size: 13px !important;
  }

  /* B2. QUANTITY STEPPERS (site-wide) -> 44px touch */
  .quantity { display: inline-flex !important; align-items: stretch !important; }
  .quantity a.minus, .quantity a.plus {
    display: flex !important; align-items: center !important; justify-content: center !important;
    width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important;
    font-size: 18px !important; line-height: 1 !important; color: #114429 !important;
    border: 1px solid #d9c79a !important; background: #faf6ec !important; text-decoration: none !important;
  }
  .quantity input.qty {
    height: 44px !important; min-height: 44px !important; text-align: center !important;
    font-size: 16px !important; border: 1px solid #d9c79a !important; color: #324136 !important;
    -moz-appearance: textfield !important; appearance: textfield !important;
  }

  /* B3. SHOP — keep theme columns above 880, but enlarge cards' touch + CTA */
  ul.products li.product { text-align: center !important; }
  ul.products li.product .woocommerce-loop-product__title,
  ul.products li.product h2 { min-height: 2.6em !important; line-height: 1.32 !important; }
  ul.products li.product .price { color: #114429 !important; font-weight: 600 !important; }
  /* "Select options" / add-to-cart -> full-width 46px brand-green PRIMARY
     (broadened to catch variable/simple "Select options" anchors that may lack
     the add_to_cart_button class, so no card keeps a <44px gold link) */
  ul.products li.product a.add_to_cart_button,
  ul.products li.product a.button.add_to_cart_button,
  ul.products li.product a.button.product_type_variable,
  ul.products li.product a.button.product_type_simple {
    display: inline-block !important; width: 100% !important; max-width: 280px !important;
    margin: 10px auto 0 !important; min-height: 46px !important; line-height: 1.3 !important;
    padding: 12px 16px !important; box-sizing: border-box !important;
    font-size: 14px !important; font-weight: 600 !important; letter-spacing: .02em !important;
    background: #114429 !important; color: #faf6ec !important; border: none !important; border-radius: 6px !important;
  }
  /* sort dropdown + grid/list toggle touch sizing */
  form.woocommerce-ordering select.orderby {
    min-height: 44px !important; padding: 8px 36px 8px 12px !important; font-size: 14px !important;
    border: 1px solid #d9c79a !important; border-radius: 6px !important;
  }
  a.grid-btn, a.list-btn {
    min-width: 44px !important; min-height: 44px !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    padding: 6px !important; color: #114429 !important;
  }

  /* B4. PRODUCT (2-col layout kept) — touch swatches + green dominant CTA */
  .single-product form.variations_form ul.thwvsf-wrapper-ul {
    display: flex !important; flex-wrap: wrap !important; gap: 10px !important; margin: 6px 0 12px !important; padding: 0 !important;
  }
  .single-product form.variations_form ul.thwvsf-wrapper-ul li.thwvsf-wrapper-item-li {
    min-height: 44px !important; min-width: 56px !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    padding: 8px 16px !important; margin: 0 !important; font-size: 14px !important; line-height: 1 !important;
    border: 1px solid #d9c79a !important; border-radius: 8px !important; background: #faf6ec !important; color: #324136 !important;
  }
  .single-product form.variations_form ul.thwvsf-wrapper-ul li.thwvsf-wrapper-item-li.thwvsf-selected {
    background: #114429 !important; color: #faf6ec !important; border-color: #114429 !important; box-shadow: 0 0 0 2px rgba(17,68,41,.15) !important;
  }
  .single-product div.product form.cart a.single_add_to_cart_button.button,
  .single-product div.product form.cart button.single_add_to_cart_button.button {
    min-height: 52px !important; background: #114429 !important; color: #faf6ec !important; border: none !important;
    font-size: 16px !important; font-weight: 700 !important; letter-spacing: .04em !important; border-radius: 8px !important;
    padding: 14px 22px !important; box-shadow: 0 2px 8px rgba(15,61,38,.18) !important;
  }
  /* related-products CTA stays SECONDARY (outline) so PDP has one primary */
  .single-product .related.products ul.products li.product a.add_to_cart_button,
  .single-product .related.products ul.products li.product a.button {
    background: #faf6ec !important; color: #114429 !important; border: 1px solid #114429 !important; max-width: 240px !important;
  }

  /* B5. CART (desktop table at tablet) — single estimate + CTA hierarchy + touch */
  /* hide the duplicate "Overall estimated dispatch" row. NOTE: td.wpced-cart (the
     hidden duplicate) is intentionally a DIFFERENT element than td.product-name .wpced
     (the kept per-item estimate) — do not collapse these in future edits. */
  body.woocommerce-cart form.woocommerce-cart-form table.shop_table td.wpced-cart { display: none !important; }
  /* hide the redundant floating side-cart pill on the cart page (matches mobile) */
  body.woocommerce-cart #cfw-side-cart-floating-button { display: none !important; }
  /* PRIMARY: proceed to checkout = dominant brand green */
  body.woocommerce-cart .cart_totals a.checkout-button.button.alt.wc-forward {
    display: block !important; width: 100% !important; margin: 4px 0 0 !important; padding: 16px 20px !important;
    background: #114429 !important; color: #faf6ec !important; border: 0 !important; border-radius: 10px !important;
    font-size: 17px !important; font-weight: 700 !important; letter-spacing: .4px !important; text-align: center !important;
    box-shadow: 0 3px 10px rgba(17,68,41,.28) !important;
  }
  /* SECONDARY: coupon / update -> quiet outline */
  body.woocommerce-cart form.woocommerce-cart-form button[name="apply_coupon"],
  body.woocommerce-cart form.woocommerce-cart-form button[name="update_cart"] {
    background: transparent !important; color: #114429 !important; border: 1px solid #d4a373 !important;
    border-radius: 8px !important; box-shadow: none !important; min-height: 44px !important; font-weight: 600 !important;
  }
  body.woocommerce-cart form.woocommerce-cart-form button[name="update_cart"] { color: #324136 !important; border-color: #d9c79a !important; }

  /* B6. CHECKOUT (CheckoutWC) — green dominant Complete Order + 44px summary toggle */
  body.checkout-wc .cfw-primary-btn,
  body.woocommerce-checkout button#place_order.cfw-primary-btn {
    min-height: 52px !important; background-color: #114429 !important; border-color: #114429 !important; color: #faf6ec !important;
    font-size: 17px !important; font-weight: 600 !important; border-radius: 8px !important;
  }
  body.checkout-wc a#cfw-expand-cart { display: flex !important; align-items: center !important; min-height: 44px !important; }
}
