/* Salim Distro redesign, Wave 3-G: cart page, search results, 404, Quick Order page shell (2026-09-23)
   Loaded only on: the cart page (is_cart, never checkout), product search, site search, 404 and
   page 1664 (inc/sdx-utility.php). Built from the shipped components: Wave 1 .sdx-btn / .sdx-link /
   .sdx-card / .sdx-chip / .sdx-kicker, C's cart drawer (line items, totals foot) and D's legal hero.
   Rules for this sheet:
   - Every selector starts with .sdx-root and is scoped by one of G's body classes
     (.sdx-util-cart/-search/-psearch/-404/-qo) or by .woocommerce-cart (brief: the block cart is
     styled under .sdx-root.woocommerce-cart). Nothing here can match body.woocommerce-checkout:
     no selector names it, and .woocommerce-cart / .sdx-util-cart are never on the checkout page.
   - WooCommerce block classes are styled only under .sdx-root.woocommerce-cart.
   - !important appears only against a live !important (child style.css hero band, buttons, block
     inputs) or an inline style printed by a plugin (salim-first-order-discount notice).
   - Plugin markup is never hidden, except the cart "New in store" price-gate link for SIGNED-IN
     visitors (rule 16: no apply prompt once signed in).
   - The Quick Order gate card and the page's buyer tools moved to sdx-quickorder.css (Wave 3-H,
     single owner of /quick-order/); this sheet keeps only the shared forest hero frame for it.
   - Breakpoints: 980px (--sdx-bp-lg) and 640px (--sdx-bp-sm). */

:root {
  --sdx-util-display: clamp(40px, 6vw, 84px);          /* cart + quick order hero h1 (D's legal hero, one step smaller) */
  --sdx-util-display-404: clamp(44px, 7vw, 96px);      /* = D's --sdx-guide-display-legal */
  --sdx-util-display-search: clamp(34px, 4.6vw, 62px); /* site search h1 (holds a query string) */
  --sdx-util-h2: clamp(24px, 2.4vw, 30px);             /* section heads on these pages */
  --sdx-util-hero-pad: 74px;                           /* = D's --sdx-guide-hero-pad */
  --sdx-util-hero-pad-sm: 48px;                        /* D's legal hero at <=640px */
  --sdx-util-bleed: 100vmax;                           /* full-bleed band from inside the content column (D's technique) */
  --sdx-util-thumb: 76px;                              /* cart line image (C's drawer uses 56px in a 520px sheet) */
  --sdx-util-thumb-sm: 60px;
  --sdx-util-card-media-h: 220px;                      /* search result card media */
  --sdx-util-search-w: 680px;                          /* search box width in the forest bands */
  --sdx-util-measure: 760px;                           /* = D's --sdx-guide-measure (text column) */
}

/* =============================================================================================
   1. Shared frame: forest page hero (cart, quick order) and a clean content column
   ============================================================================================= */
.sdx-root:is(.woocommerce-cart, .sdx-util-qo) .entry-hero,
.sdx-root:is(.woocommerce-cart, .sdx-util-qo) .entry-hero .entry-hero-container-inner { background: var(--sdx-forest) !important; }
.sdx-root:is(.woocommerce-cart, .sdx-util-qo) .entry-hero .entry-hero-container-inner {
  min-height: 0 !important;
  padding: var(--sdx-util-hero-pad) 0 var(--sdx-space-55) !important;
}
.sdx-root:is(.woocommerce-cart, .sdx-util-qo) .entry-hero .hero-container.site-container,
.sdx-root:is(.woocommerce-cart, .sdx-util-qo, .sdx-util-search, .sdx-util-404) .content-area > .content-container.site-container {
  box-sizing: border-box;
  width: min(var(--sdx-shell-max), calc(100% - var(--sdx-shell-gutter)));
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
}
.sdx-root:is(.woocommerce-cart, .sdx-util-qo) .entry-hero .entry-header {
  min-height: 0 !important;
  margin: 0;
  text-align: left !important;
}
.sdx-root.woocommerce-cart .entry-hero h1.entry-title,
.sdx-root.sdx-util-qo.sdx-quick-order .entry-hero h1.entry-title,
.sdx-root.sdx-util-qo .entry-hero h1.entry-title {
  margin: 0;
  padding: 0;
  color: var(--sdx-on-accent);
  font: 400 var(--sdx-util-display)/.92 var(--sdx-display);
  letter-spacing: -.05em;
  text-align: left !important;
  overflow-wrap: break-word;
}
.sdx-root:is(.woocommerce-cart, .sdx-util-qo) .entry-hero h1.entry-title::after { content: none; display: none; }
.sdx-root .sdx-util-hero__kicker,
.sdx-root.sdx-util-qo .sdx-qo-kicker { margin: 0 0 var(--sdx-space-14); color: var(--sdx-kicker-light); }

/* Kadence's boxed entry card becomes the plain page column */
.sdx-root:is(.woocommerce-cart, .sdx-util-qo) .content-area { margin: var(--sdx-space-48) 0 var(--sdx-space-72); }
.sdx-root:is(.woocommerce-cart, .sdx-util-qo) .single-entry {
  margin: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.sdx-root:is(.woocommerce-cart, .sdx-util-qo) .single-entry > .entry-content-wrap { padding: 0; }
.sdx-root:is(.woocommerce-cart, .sdx-util-qo) .single-entry .entry-content { margin: 0; }

/* =============================================================================================
   2. Cart page: the WooCommerce block cart, skinned like C's drawer (restyle only)
   ============================================================================================= */
.sdx-root.woocommerce-cart .entry-content .wp-block-woocommerce-cart.alignwide {
  width: auto;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

/* ---- G's empty-cart actions panel (printed beside the block through the_content) ---- */
.sdx-root .sdx-util-cart-empty {
  box-sizing: border-box;
  margin: 0 0 var(--sdx-space-40);
  padding: var(--sdx-space-28) var(--sdx-space-30);
  border: 1px solid var(--sdx-ink);
  border-left: 4px solid var(--sdx-orange);
  background: var(--sdx-white);
  color: var(--sdx-ink);
}
.sdx-root .sdx-util-cart-empty[hidden] { display: none; }
.sdx-root .sdx-util-cart-empty .sdx-kicker { margin-bottom: var(--sdx-space-10); }
.sdx-root .sdx-util-cart-empty__title {
  margin: 0;
  color: var(--sdx-ink);
  font: 400 var(--sdx-util-h2)/1.05 var(--sdx-display);
  letter-spacing: -.04em;
}
.sdx-root .sdx-util-cart-empty__text { margin: var(--sdx-space-10) 0 0; color: var(--sdx-muted); font: 400 var(--sdx-text-16)/1.55 var(--sdx-sans); }
.sdx-root .sdx-util-cart-empty__text a { color: var(--sdx-ink); font-weight: 700; }
.sdx-root .sdx-util-cart-empty__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sdx-space-14) var(--sdx-space-24);
  margin: var(--sdx-space-22) 0 0;
}
.sdx-root .sdx-util-cart-empty__signin { color: var(--sdx-muted); font: 400 var(--sdx-text-14)/1.4 var(--sdx-sans); }
.sdx-root .sdx-util-cart-empty--member {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--sdx-space-14) var(--sdx-space-30);
  border-left-color: var(--sdx-forest);
}
.sdx-root .sdx-util-cart-empty--member .sdx-util-cart-empty__text,
.sdx-root .sdx-util-cart-empty--member .sdx-util-cart-empty__actions { margin: 0; }

/* ---- salim-b2b reorder / standing-order summary banner (reorder.php, the_content 20) ---- */
.sdx-root.woocommerce-cart .sd-reorder-banner { max-width: none; margin: 0 0 var(--sdx-space-24); }
.sdx-root.woocommerce-cart .sd-reorder-banner p {
  margin: 0 0 var(--sdx-space-8);
  padding: var(--sdx-space-14) var(--sdx-space-18);
  border: 1px solid var(--sdx-line);
  border-left: 4px solid var(--sdx-forest);
  border-radius: 0;
  background: var(--sdx-white);
  color: var(--sdx-ink);
  font: 400 var(--sdx-text-15)/1.5 var(--sdx-sans);
}
.sdx-root.woocommerce-cart .sd-reorder-banner .sd-rb-warn { border-left-color: var(--sdx-orange); }
.sdx-root.woocommerce-cart .sd-reorder-banner strong { color: var(--sdx-ink); }

/* ---- notices: card-limit + licence notices (salim-b2b), block + classic, first-order notice ---- */
.sdx-root.woocommerce-cart .wc-block-components-notice-banner,
.sdx-root.woocommerce-cart :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) {
  margin: 0 0 var(--sdx-space-16);
  padding: var(--sdx-space-14) var(--sdx-space-18);
  border: 1px solid var(--sdx-line);
  border-left: 4px solid var(--sdx-forest);
  border-radius: 0;
  background: var(--sdx-white);
  color: var(--sdx-ink);
  font: 400 var(--sdx-text-15)/1.5 var(--sdx-sans);
}
.sdx-root.woocommerce-cart .wc-block-components-notice-banner.is-error,
.sdx-root.woocommerce-cart .woocommerce-error { border-left-color: var(--sdx-field-invalid); }
.sdx-root.woocommerce-cart .wc-block-components-notice-banner.is-warning { border-left-color: var(--sdx-orange); }
.sdx-root.woocommerce-cart .wc-block-components-notice-banner > svg { fill: currentColor; }
.sdx-root.woocommerce-cart .wc-block-components-notice-banner.is-error > svg { background: var(--sdx-field-invalid); }
.sdx-root.woocommerce-cart .wc-block-components-notice-banner.is-info > svg,
.sdx-root.woocommerce-cart .wc-block-components-notice-banner.is-success > svg { background: var(--sdx-forest); }
.sdx-root.woocommerce-cart .wc-block-components-notice-banner.is-warning > svg { background: var(--sdx-orange); }
.sdx-root.woocommerce-cart .wc-block-components-notice-banner a { color: var(--sdx-ink); font-weight: 700; }
/* salim-first-order-discount's notice carries inline styles; the block cart may not print it
   (woocommerce_before_cart is a classic hook), but when it does it matches the other notices. */
.sdx-root.woocommerce-cart .sd-fod-notice {
  margin: 0 0 var(--sdx-space-16) !important;
  padding: var(--sdx-space-14) var(--sdx-space-18) !important;
  border: 1px solid var(--sdx-line) !important;
  border-left: 4px solid var(--sdx-orange) !important;
  border-radius: 0 !important;
  background: var(--sdx-white) !important;
  color: var(--sdx-ink);
  font: 600 var(--sdx-text-15)/1.5 var(--sdx-sans);
}

/* ---- filled cart: line items ---- */
.sdx-root.woocommerce-cart .wc-block-cart { color: var(--sdx-ink); font-family: var(--sdx-sans); }
.sdx-root.woocommerce-cart table.wc-block-cart-items { border-collapse: collapse; }
.sdx-root.woocommerce-cart .wc-block-cart-items__header th {
  padding-bottom: var(--sdx-space-12);
  border-bottom: 1px solid var(--sdx-ink);
  color: var(--sdx-muted);
  font: 600 var(--sdx-text-10)/1.3 var(--sdx-mono);
  letter-spacing: var(--sdx-track-label);
  text-transform: uppercase;
}
/* Rule colours everywhere; row padding only in the wide table view (WooCommerce lays rows out
   as a grid in its .is-medium / .is-small / .is-mobile views and pads them itself). */
.sdx-root.woocommerce-cart .wc-block-cart-items td,
.sdx-root.woocommerce-cart .wc-block-cart-items__row { border-color: var(--sdx-line); }
.sdx-root.woocommerce-cart .wc-block-cart.is-large .wc-block-cart-items td {
  padding-top: var(--sdx-space-22);
  padding-bottom: var(--sdx-space-22);
}
.sdx-root.woocommerce-cart .wc-block-cart.is-large .wc-block-cart-items__row:last-child td { border-bottom: 1px solid var(--sdx-line); }
.sdx-root.woocommerce-cart .wc-block-cart-item__image img {
  box-sizing: border-box;
  width: var(--sdx-util-thumb);
  max-width: none;
  height: var(--sdx-util-thumb);
  padding: var(--sdx-space-4);
  border: 1px solid var(--sdx-line);
  background: var(--sdx-white);
  object-fit: contain;
}
.sdx-root.woocommerce-cart a.wc-block-components-product-name {
  color: var(--sdx-ink);
  font: 700 var(--sdx-text-16)/1.3 var(--sdx-sans);
  text-decoration: none;
}
.sdx-root.woocommerce-cart a.wc-block-components-product-name:hover { color: var(--sdx-orange-dark); }
.sdx-root.woocommerce-cart a.wc-block-components-product-name:focus-visible { outline: var(--sdx-focus-ring); outline-offset: var(--sdx-focus-offset-sm); }
.sdx-root.woocommerce-cart .wc-block-cart-item__prices,
.sdx-root.woocommerce-cart .wc-block-components-product-metadata,
.sdx-root.woocommerce-cart .wc-block-components-product-details {
  color: var(--sdx-muted);
  font: 500 var(--sdx-text-12)/1.45 var(--sdx-mono);
  font-variant-numeric: tabular-nums;
}
.sdx-root.woocommerce-cart .wc-block-components-product-details__name { font-weight: 600; }
.sdx-root.woocommerce-cart .wc-block-components-product-badge,
.sdx-root.woocommerce-cart .wc-block-components-product-low-stock-badge {
  border: 1px solid var(--sdx-ink);
  border-radius: 0;
  color: var(--sdx-ink);
  font: 600 var(--sdx-text-9)/1.3 var(--sdx-mono);
  letter-spacing: var(--sdx-track-label-sm);
  text-transform: uppercase;
}
.sdx-root.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price,
.sdx-root.woocommerce-cart .wc-block-cart-item__total .wc-block-components-formatted-money-amount {
  color: var(--sdx-ink);
  font: 700 var(--sdx-text-16)/1.3 var(--sdx-sans);
  font-variant-numeric: tabular-nums;
}
/* quantity: WooCommerce's own selector (min/max/step are the block's; nothing added here) */
.sdx-root.woocommerce-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector {
  border: 1px solid var(--sdx-line);
  border-radius: 0;
  background: var(--sdx-white);
}
.sdx-root.woocommerce-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector::after { border: 0; }
.sdx-root.woocommerce-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
  color: var(--sdx-ink);
  font: 700 var(--sdx-text-14)/1 var(--sdx-mono);
  font-variant-numeric: tabular-nums;
}
.sdx-root.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
  border-radius: 0;
  background: transparent;
  color: var(--sdx-ink);
  box-shadow: none;
}
.sdx-root.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover { color: var(--sdx-orange); }
.sdx-root.woocommerce-cart .wc-block-components-quantity-selector :is(.wc-block-components-quantity-selector__button, input):focus-visible {
  outline: var(--sdx-focus-ring);
  outline-offset: -3px;
}
.sdx-root.woocommerce-cart .wc-block-cart-item__remove-link {
  color: var(--sdx-muted);
  font: 600 var(--sdx-text-10)/1.3 var(--sdx-mono);
  letter-spacing: var(--sdx-track-label-sm);
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.sdx-root.woocommerce-cart .wc-block-cart-item__remove-link:hover { color: var(--sdx-field-invalid); }
.sdx-root.woocommerce-cart .wc-block-cart-item__remove-link:focus-visible { outline: var(--sdx-focus-ring); outline-offset: var(--sdx-focus-offset-sm); }

/* ---- filled cart: totals card (C's drawer foot: white, ink rule, orange offset shadow) ---- */
.sdx-root.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
  box-sizing: border-box;
  padding: var(--sdx-space-28);
  border: 1px solid var(--sdx-ink);
  background: var(--sdx-white);
  box-shadow: var(--sdx-shadow-card-hover);
}
.sdx-root.woocommerce-cart .wc-block-cart__totals-title {
  margin: 0 0 var(--sdx-space-8);
  padding: 0;
  color: var(--sdx-orange);
  font: 600 var(--sdx-text-11)/1.2 var(--sdx-mono);
  letter-spacing: var(--sdx-track-kicker);
  text-transform: uppercase;
}
.sdx-root.woocommerce-cart .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-wrapper { border-top: 1px solid var(--sdx-line); }
.sdx-root.woocommerce-cart .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-wrapper::after { border-color: var(--sdx-line); }
.sdx-root.woocommerce-cart .wc-block-components-totals-item { color: var(--sdx-ink); font: 400 var(--sdx-text-14)/1.45 var(--sdx-sans); }
.sdx-root.woocommerce-cart .wc-block-components-totals-item__label { color: var(--sdx-ink); }
.sdx-root.woocommerce-cart .wc-block-components-totals-item__value { color: var(--sdx-ink); font-weight: 600; font-variant-numeric: tabular-nums; }
.sdx-root.woocommerce-cart .wc-block-components-totals-item__description { color: var(--sdx-muted); font-size: var(--sdx-text-13); }
.sdx-root.woocommerce-cart .wc-block-components-totals-discount .wc-block-components-totals-item__value { color: var(--sdx-forest); }
.sdx-root.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  color: var(--sdx-muted);
  font: 500 var(--sdx-text-11)/1.4 var(--sdx-mono);
  letter-spacing: var(--sdx-track-label-sm);
  text-transform: uppercase;
}
.sdx-root.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.sdx-root.woocommerce-cart .wc-block-components-totals-footer-item-tax-value {
  color: var(--sdx-ink);
  font: 700 var(--sdx-text-22)/1.2 var(--sdx-sans);
  font-variant-numeric: tabular-nums;
}
/* coupon panel + form */
.sdx-root.woocommerce-cart .wc-block-components-panel__button {
  color: var(--sdx-ink);
  font: 600 var(--sdx-text-14)/1.4 var(--sdx-sans);
}
.sdx-root.woocommerce-cart .wc-block-components-panel__button:focus-visible { outline: var(--sdx-focus-ring); outline-offset: var(--sdx-focus-offset-sm); }
.sdx-root.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input input {
  border-radius: var(--sdx-radius-0) !important;
  border-color: var(--sdx-field-border) !important;
  background: var(--sdx-white);
  color: var(--sdx-ink);
}
.sdx-root.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input input:focus {
  border-color: var(--sdx-orange) !important;
  box-shadow: var(--sdx-field-focus) !important;
}
.sdx-root.woocommerce-cart .wc-block-components-totals-coupon__button { border-radius: var(--sdx-radius-crisp); font-family: var(--sdx-sans); font-weight: 700; }

/* "Proceed to checkout" = the shell's primary button (.sdx-btn--orange). The link, its URL and
   its text stay WooCommerce's; the live !important orange is matched with the redesign orange. */
.sdx-root.woocommerce-cart .wc-block-cart__submit-container .wc-block-cart__submit-button {
  box-sizing: border-box;
  width: 100%;
  min-height: var(--sdx-control-h);
  padding: 0 var(--sdx-space-24);
  border: 1px solid transparent;
  border-radius: var(--sdx-radius-crisp);
  background-color: var(--sdx-orange-btn) !important;
  box-shadow: none;
  color: var(--sdx-on-accent) !important;
  font: 700 var(--sdx-text-16)/1.2 var(--sdx-sans);
  letter-spacing: var(--sdx-track-button);
  text-decoration: none;
  transition: transform var(--sdx-dur-fast) ease, background var(--sdx-dur-fast) ease;
}
.sdx-root.woocommerce-cart .wc-block-cart__submit-container .wc-block-cart__submit-button:hover {
  background-color: var(--sdx-orange-btn-hover) !important;
  transform: var(--sdx-btn-lift);
}
.sdx-root.woocommerce-cart .wc-block-cart__submit-container .wc-block-cart__submit-button:focus-visible {
  outline: var(--sdx-focus-ring);
  outline-offset: var(--sdx-focus-offset);
}

/* ---- empty cart: WooCommerce's empty view + "New in store" (guests keep the Read more links) ---- */
.sdx-root.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
  margin: var(--sdx-space-24) 0 0;
  color: var(--sdx-ink);
  font: 700 var(--sdx-text-22)/1.25 var(--sdx-sans);
}
.sdx-root.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
  width: var(--sdx-space-48);
  height: var(--sdx-space-48);
  background-color: var(--sdx-forest);
  /* The 38px mask tiled inside the 48px box (deputy render 2026-09-23): scale it once, centred. */
  -webkit-mask-size: contain; mask-size: contain;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
}
.sdx-root.woocommerce-cart .wp-block-woocommerce-empty-cart-block hr.is-style-dots { color: var(--sdx-orange); }
.sdx-root.woocommerce-cart .wp-block-woocommerce-empty-cart-block > h2.wp-block-heading:not(.wc-block-cart__empty-cart__title) {
  margin: var(--sdx-space-40) 0 var(--sdx-space-24);
  color: var(--sdx-ink);
  font: 400 var(--sdx-util-h2)/1.05 var(--sdx-display);
  letter-spacing: -.04em;
}
.sdx-root.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0; /* deputy render 2026-09-23: an inherited 40px column-gap split the ruled grid into open boxes */
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--sdx-ink);
  border-left: 1px solid var(--sdx-ink);
  list-style: none;
}
.sdx-root.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: none;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-right: 1px solid var(--sdx-ink);
  border-bottom: 1px solid var(--sdx-ink);
  border-radius: 0;
  background: var(--sdx-white);
  box-shadow: none;
  text-align: left;
}
.sdx-root.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link img {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  margin: 0;
  padding: var(--sdx-space-18);
  background: var(--sdx-paper-2);
  object-fit: contain;
}
.sdx-root.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product .product-details {
  flex: 1;
  padding: var(--sdx-space-18) var(--sdx-space-20) var(--sdx-space-22);
  background: transparent;
}
.sdx-root.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title-link { text-decoration: none; }
.sdx-root.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
  margin: 0 0 var(--sdx-space-12);
  color: var(--sdx-ink);
  font: 700 var(--sdx-text-15)/1.3 var(--sdx-sans);
}
.sdx-root.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title-link:focus-visible,
.sdx-root.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link:focus-visible { outline: var(--sdx-focus-ring); outline-offset: -3px; }
.sdx-root.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
  margin: 0 0 var(--sdx-space-12);
  color: var(--sdx-ink);
  font: 600 var(--sdx-text-14)/1.3 var(--sdx-sans);
  font-variant-numeric: tabular-nums;
}
.sdx-root.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price .sd-price-gate {
  border-bottom-width: 1px;
  color: var(--sdx-orange-dark);
  font: 600 var(--sdx-text-13)/1.4 var(--sdx-sans);
}
/* Rule 16: a signed-in visitor who is not approved never sees the "Apply for wholesale pricing" gate link. */
.sdx-root.woocommerce-cart.logged-in .wp-block-woocommerce-empty-cart-block .sd-price-gate { display: none; }
/* The grid's own "Read more" / add link, as a text link (WooCommerce decides which it is) */
.sdx-root.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: var(--sdx-space-8);
  padding: 0 0 var(--sdx-space-4);
  border: 0;
  border-bottom: 2px solid var(--sdx-orange);
  border-radius: 0;
  background-color: transparent !important;
  box-shadow: none;
  color: var(--sdx-ink) !important;
  font: 700 var(--sdx-text-14)/1.3 var(--sdx-sans);
  transform: none;
}
.sdx-root.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:hover { color: var(--sdx-orange-dark) !important; }
.sdx-root.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:focus-visible { outline: var(--sdx-focus-ring); outline-offset: var(--sdx-focus-offset-sm); }

/* =============================================================================================
   3. Search: product search results line (C renders the page) and the site search page
   ============================================================================================= */
.sdx-root .sdx-util-count {
  margin: var(--sdx-space-12) 0 0;
  color: var(--sdx-muted);
  font: 500 var(--sdx-text-12)/1.4 var(--sdx-mono);
  letter-spacing: var(--sdx-track-label-sm);
  text-transform: uppercase;
}
.sdx-root .sdx-util-count b { color: var(--sdx-ink); font-weight: 700; }

/* ---- site search header: Kadence's in-content archive header, as a full-bleed forest band ---- */
.sdx-root.sdx-util-search .content-area { margin-top: 0; }
.sdx-root.sdx-util-search .site-main > .entry-header.search-archive-title,
.sdx-root.sdx-util-search .entry-hero {
  margin: 0 0 var(--sdx-space-48);
  padding: var(--sdx-space-64) 0 var(--sdx-space-48);
  background: var(--sdx-forest) !important;
  box-shadow: 0 0 0 var(--sdx-util-bleed) var(--sdx-forest);
  clip-path: inset(0 calc(-1 * var(--sdx-util-bleed)));
  color: var(--sdx-on-accent);
  text-align: left;
}
.sdx-root.sdx-util-search .entry-hero .entry-hero-container-inner { background: transparent !important; padding: 0 !important; }
.sdx-root.sdx-util-search h1.page-title.search-title {
  margin: 0;
  padding: 0;
  color: var(--sdx-on-accent);
  font: 400 var(--sdx-util-display-search)/1 var(--sdx-display);
  letter-spacing: -.045em;
  overflow-wrap: anywhere;
  text-align: left !important;
}
.sdx-root.sdx-util-search h1.page-title.search-title::after { content: none; display: none; }
.sdx-root.sdx-util-search h1.page-title.search-title span { color: var(--sdx-kicker-light); }
.sdx-root.sdx-util-search .sdx-util-count { margin-top: var(--sdx-space-18); color: var(--sdx-cov-text); }
.sdx-root.sdx-util-search .sdx-util-count b { color: var(--sdx-on-accent); }

/* ---- the site search form (get_search_form(), Kadence markup) on the forest bands ---- */
.sdx-root .sdx-util-searchbox { max-width: var(--sdx-util-search-w); margin-top: var(--sdx-space-24); }
.sdx-root .sdx-util-searchbox .search-form { position: relative; display: flex; margin: 0; }
.sdx-root .sdx-util-searchbox .search-form label { flex: 1; min-width: 0; margin: 0; }
.sdx-root .sdx-util-searchbox .search-form .search-field {
  box-sizing: border-box;
  width: 100%;
  height: var(--sdx-control-h);
  margin: 0;
  padding: 0 calc(var(--sdx-control-h) + var(--sdx-space-14)) 0 var(--sdx-space-18);
  border: 1px solid var(--sdx-rule-on-dark-strong);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--sdx-on-accent);
  font: 400 var(--sdx-text-18)/1 var(--sdx-sans);
}
.sdx-root .sdx-util-searchbox .search-form .search-field::placeholder { color: var(--sdx-placeholder-on-dark); opacity: 1; }
.sdx-root .sdx-util-searchbox .search-form .search-field:focus { border-color: var(--sdx-orange); outline: 0; box-shadow: var(--sdx-field-focus); }
.sdx-root .sdx-util-searchbox .search-form .search-submit {
  position: absolute;
  top: 0;
  right: 0;
  width: var(--sdx-control-h);
  height: var(--sdx-control-h);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background-color: var(--sdx-orange-btn) !important;
  color: transparent !important;
  font-size: 0;
  cursor: pointer;
  transform: none;
}
.sdx-root .sdx-util-searchbox .search-form .search-submit:hover { background-color: var(--sdx-orange-btn-hover) !important; }
.sdx-root .sdx-util-searchbox .search-form .search-submit:focus-visible { outline: var(--sdx-focus-ring); outline-offset: var(--sdx-focus-offset-sm); }
.sdx-root .sdx-util-searchbox .search-form .kadence-search-icon-wrap {
  position: absolute;
  top: 0;
  right: 0;
  width: var(--sdx-control-h);
  height: var(--sdx-control-h);
  display: grid;
  place-items: center;
  color: var(--sdx-on-accent);
  pointer-events: none;
}
.sdx-root .sdx-util-searchbox .search-form .kadence-search-icon-wrap svg { width: var(--sdx-icon); height: var(--sdx-icon); }

/* ---- grouped results ---- */
.sdx-root .sdx-util-results + .sdx-util-results { margin-top: var(--sdx-space-64); }
.sdx-root .sdx-util-results__title {
  margin: 0 0 var(--sdx-space-24);
  color: var(--sdx-ink);
  font: 400 var(--sdx-util-h2)/1.05 var(--sdx-display);
  letter-spacing: -.04em;
}
.sdx-root .sdx-util-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border-left: 1px solid var(--sdx-ink);
  list-style: none;
}
.sdx-root .sdx-util-grid__item { display: flex; min-width: 0; margin: 0; }
/* Top rule on first-row items only (deputy 2026-09-23): a container border-top ran past the last card
   whenever a group had fewer results than columns. */
.sdx-root .sdx-util-grid__item:nth-child(-n+3) { border-top: 1px solid var(--sdx-ink); }
.sdx-root .sdx-util-card { flex: 1; }
.sdx-root .sdx-util-card .sdx-util-card__media { height: var(--sdx-util-card-media-h); }
.sdx-root .sdx-util-card--guides .sdx-util-card__media,
.sdx-root .sdx-util-card--pages .sdx-util-card__media { padding: 0; }
.sdx-root .sdx-util-card--guides .sdx-util-card__media img,
.sdx-root .sdx-util-card--pages .sdx-util-card__media img { width: 100%; height: 100%; object-fit: cover; }
.sdx-root .sdx-util-card__body { display: flex; flex: 1; flex-direction: column; }
.sdx-root .sdx-util-card .sdx-card__meta { margin: 0; }
.sdx-root .sdx-util-card .sdx-util-card__title { margin: var(--sdx-space-10) 0 var(--sdx-space-14); font-size: var(--sdx-text-19); }
/* the title link covers the whole card: one tab stop, one accessible name per result */
.sdx-root .sdx-util-card__link { color: inherit; text-decoration: none; }
.sdx-root .sdx-util-card__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.sdx-root .sdx-util-card__link:focus-visible { outline: 0; }
.sdx-root .sdx-util-card__link:focus-visible::after { outline: var(--sdx-focus-ring); outline-offset: -3px; }
.sdx-root .sdx-util-card__text { margin: 0 0 var(--sdx-space-18); color: var(--sdx-muted); font: 400 var(--sdx-text-14)/1.55 var(--sdx-sans); }
.sdx-root .sdx-util-card__view {
  align-self: flex-start;
  margin-top: auto;
  padding-bottom: var(--sdx-space-4);
  border-bottom: 2px solid var(--sdx-orange);
  color: var(--sdx-ink);
  font: 700 var(--sdx-text-14)/1.3 var(--sdx-sans);
}
.sdx-root .sdx-util-card:hover .sdx-util-card__view { color: var(--sdx-orange-dark); }

/* ---- pagination (Kadence / core the_posts_pagination) ---- */
.sdx-root.sdx-util-search .pagination { margin: var(--sdx-space-48) 0 var(--sdx-space-72); }
.sdx-root.sdx-util-search .pagination .nav-links { display: flex; flex-wrap: wrap; gap: var(--sdx-space-6); }
.sdx-root.sdx-util-search .pagination .page-numbers {
  min-width: var(--sdx-control-h-sm);
  height: var(--sdx-control-h-sm);
  display: inline-grid;
  place-items: center;
  box-sizing: border-box;
  padding: 0 var(--sdx-space-10);
  border: 1px solid var(--sdx-line);
  border-radius: 0;
  background: var(--sdx-white);
  color: var(--sdx-ink);
  font: 600 var(--sdx-text-13)/1 var(--sdx-mono);
  text-decoration: none;
}
.sdx-root.sdx-util-search .pagination .page-numbers.current { border-color: var(--sdx-forest); background: var(--sdx-forest); color: var(--sdx-on-accent); }
.sdx-root.sdx-util-search .pagination a.page-numbers:hover { border-color: var(--sdx-ink); }
.sdx-root.sdx-util-search .pagination a.page-numbers:focus-visible { outline: var(--sdx-focus-ring); outline-offset: var(--sdx-focus-offset-sm); }
.sdx-root.sdx-util-search .pagination .page-numbers svg { width: var(--sdx-icon-sm); height: var(--sdx-icon-sm); }

/* ---- empty results + the 404 category chips (Wave 1 .sdx-chip in a list) ---- */
.sdx-root .sdx-util-noresults { max-width: var(--sdx-util-measure); margin: 0 0 var(--sdx-space-72); }
.sdx-root .sdx-util-noresults__text { margin: 0 0 var(--sdx-space-40); color: var(--sdx-ink); font: 400 var(--sdx-text-18)/1.55 var(--sdx-sans); }
.sdx-root .sdx-util-noresults__title,
.sdx-root .sdx-util-404__h2 {
  margin: 0 0 var(--sdx-space-18);
  color: var(--sdx-ink);
  font: 400 var(--sdx-util-h2)/1.05 var(--sdx-display);
  letter-spacing: -.04em;
}
.sdx-root .sdx-util-cats { margin: 0; padding: 0; list-style: none; }
.sdx-root .sdx-util-cats li { margin: 0; }
.sdx-root .sdx-util-cats .sdx-chip { text-decoration: none; }
.sdx-root .sdx-util-cats .sdx-chip:focus-visible { outline: var(--sdx-focus-ring); outline-offset: var(--sdx-focus-offset-sm); }
.sdx-root .sdx-util-noresults__more { margin: var(--sdx-space-30) 0 0; }

/* =============================================================================================
   4. 404
   ============================================================================================= */
.sdx-root.sdx-util-404 .content-area { margin: 0; }
.sdx-root.sdx-util-404 .content-wrap { margin: 0; }
.sdx-root .sdx-util-404__hero {
  padding: var(--sdx-util-hero-pad) 0 var(--sdx-space-64);
  background: var(--sdx-forest);
  box-shadow: 0 0 0 var(--sdx-util-bleed) var(--sdx-forest);
  clip-path: inset(0 calc(-1 * var(--sdx-util-bleed)));
  color: var(--sdx-on-accent);
}
.sdx-root .sdx-util-404__hero .sdx-kicker { margin-bottom: var(--sdx-space-14); }
.sdx-root .sdx-util-404__title {
  max-width: 14ch;
  margin: 0;
  padding: 0;
  color: var(--sdx-on-accent);
  font: 400 var(--sdx-util-display-404)/.92 var(--sdx-display);
  letter-spacing: -.05em;
}
.sdx-root .sdx-util-404__text { max-width: 560px; margin: var(--sdx-space-22) 0 0; color: var(--sdx-cov-text); font: 400 var(--sdx-text-18)/1.55 var(--sdx-sans); }
.sdx-root .sdx-util-404__ways {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--sdx-space-48) var(--sdx-space-64);
  padding: var(--sdx-space-64) 0 var(--sdx-space-72);
}
.sdx-root .sdx-util-404__links { display: grid; gap: var(--sdx-space-18); margin: 0; padding: 0; list-style: none; }
.sdx-root .sdx-util-404__links li { margin: 0; }

/* =============================================================================================
   6. Responsive + motion
   ============================================================================================= */
@media (max-width: 980px) {
  .sdx-root .sdx-util-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sdx-root .sdx-util-grid__item:nth-child(3) { border-top: 0; }
  .sdx-root.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sdx-root .sdx-util-404__ways { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .sdx-root:is(.woocommerce-cart, .sdx-util-qo) .entry-hero .entry-hero-container-inner { padding: var(--sdx-util-hero-pad-sm) 0 var(--sdx-space-40) !important; }
  .sdx-root:is(.woocommerce-cart, .sdx-util-qo) .entry-hero .hero-container.site-container,
  .sdx-root:is(.woocommerce-cart, .sdx-util-qo, .sdx-util-search, .sdx-util-404) .content-area > .content-container.site-container {
    width: calc(100% - var(--sdx-shell-gutter-sm));
  }
  .sdx-root:is(.woocommerce-cart, .sdx-util-qo) .content-area { margin: var(--sdx-space-30) 0 var(--sdx-space-48); }
  .sdx-root .sdx-util-cart-empty { padding: var(--sdx-space-22) var(--sdx-space-20); }
  .sdx-root.woocommerce-cart .wc-block-cart-item__image img { width: var(--sdx-util-thumb-sm); height: var(--sdx-util-thumb-sm); }
  .sdx-root.woocommerce-cart .wp-block-woocommerce-cart-totals-block { padding: var(--sdx-space-22) var(--sdx-space-18); box-shadow: none; }
  .sdx-root .sdx-util-grid { grid-template-columns: minmax(0, 1fr); }
  .sdx-root .sdx-util-grid__item:nth-child(2) { border-top: 0; }
  .sdx-root.sdx-util-search .site-main > .entry-header.search-archive-title,
  .sdx-root .sdx-util-404__hero { padding-top: var(--sdx-util-hero-pad-sm); padding-bottom: var(--sdx-space-40); }
  .sdx-root .sdx-util-404__ways { padding: var(--sdx-space-48) 0 var(--sdx-space-55); }
}
@media (prefers-reduced-motion: reduce) {
  .sdx-root.woocommerce-cart .wc-block-cart__submit-container .wc-block-cart__submit-button { transition: none; }
  .sdx-root.woocommerce-cart .wc-block-cart__submit-container .wc-block-cart__submit-button:hover { transform: none; }
}
