/* GENERATED by ux/cart-2026/build_cart_css.py — edit the sources in ux/cart-2026/ or the designbook tokens, then rebuild. */
#cart-popup, .header-cart-link {
  --ms-color-brand: #284915;
  --ms-color-brand-hover: #355612;
  --ms-color-brand-pressed: #1C340F;
  --ms-color-text: #212121;
  --ms-color-muted: #5D645A;
  --ms-color-white: #FFFFFF;
  --ms-color-surface: #F5F5F7;
  --ms-color-sage: #E7ECDF;
  --ms-color-seasonal-burgundy: #74132A;
  --ms-color-border: #D8DED2;
  --ms-color-control-border: #777F71;
  --ms-color-error: #B32632;
  --ms-color-focus: #245CBD;
  --ms-color-disabled-bg: #E6E8E3;
  --ms-color-disabled-text: #5D645A;
  --ms-color-inverse-hover: #FFFFFF24;
  --ms-color-inverse-pressed: #FFFFFF38;
  --ms-font-heading: "Montserrat", Arial, sans-serif;
  --ms-font-body: "Raleway", Arial, sans-serif;
  --ms-space-4: 0.25rem;
  --ms-space-8: 0.5rem;
  --ms-space-12: 0.75rem;
  --ms-space-16: 1rem;
  --ms-space-20: 1.25rem;
  --ms-space-24: 1.5rem;
  --ms-space-32: 2rem;
  --ms-space-40: 2.5rem;
  --ms-space-48: 3rem;
  --ms-space-64: 4rem;
  --ms-space-80: 5rem;
  --ms-space-96: 6rem;
  --ms-radius-button: 6px;
  --ms-radius-card: 12px;
  --ms-radius-media: 12px;
  --ms-radius-field: 8px;
  --ms-radius-badge: 4px;
  --ms-radius-filter: 999px;
  --ms-h1-size: 3.25rem;
  --ms-h1-line: 1.12;
  --ms-h1-weight: 600;
  --ms-h1-tracking: -0.035em;
  --ms-h2-size: 2.25rem;
  --ms-h2-line: 1.2;
  --ms-h2-weight: 600;
  --ms-h2-tracking: -0.025em;
  --ms-h3-size: 1.25rem;
  --ms-h3-line: 1.3;
  --ms-h3-weight: 600;
  --ms-h3-tracking: -0.015em;
  --ms-lead-size: 1.125rem;
  --ms-lead-line: 1.5;
  --ms-lead-weight: 400;
  --ms-lead-tracking: normal;
  --ms-body-size: 1rem;
  --ms-body-line: 1.5;
  --ms-body-weight: 400;
  --ms-body-tracking: normal;
  --ms-small-size: 0.875rem;
  --ms-small-line: 1.5;
  --ms-small-weight: 500;
  --ms-small-tracking: normal;
  --ms-caption-size: 0.75rem;
  --ms-caption-line: 1.5;
  --ms-caption-weight: 500;
  --ms-caption-tracking: normal;
  --ms-button-size: 0.875rem;
  --ms-button-line: 1.4;
  --ms-button-weight: 600;
  --ms-button-tracking: normal;
  --ms-price-size: 1.25rem;
  --ms-price-line: 1.3;
  --ms-price-weight: 600;
  --ms-price-tracking: normal;
  --ms-product-subtitle-size: 0.8125rem;
  --ms-product-subtitle-line: 1.5;
  --ms-product-subtitle-weight: 400;
  --ms-product-subtitle-tracking: normal;
  --ms-product-price-size: 1rem;
  --ms-product-price-line: 1.4;
  --ms-product-price-weight: 600;
  --ms-product-price-tracking: normal;
  --ms-button-small-size: 0.8125rem;
  --ms-button-small-line: 1.4;
  --ms-button-small-weight: 600;
  --ms-button-small-tracking: normal;
  --ms-product-size-label-size: 0.6875rem;
  --ms-product-size-label-line: 1.5;
  --ms-product-size-label-weight: 600;
  --ms-product-size-label-tracking: normal;
  --ms-control-height: 3rem;
  --ms-control-padding-inline: 1.5rem;
  --ms-control-icon: 20px;
  --ms-control-stroke: 2px;
  --ms-control-focus-width: 3px;
  --ms-control-focus-offset: 3px;
  --ms-control-height-small: 40px;
  --ms-control-height-touch: 44px;
  --ms-motion-fast: 160ms;
  --ms-motion-standard: 240ms;
  --ms-motion-entrance: 400ms;
  --ms-motion-stagger: 60ms;
  --ms-hero-light-heading-weight: 500;
  --ms-hero-light-heading-size: 3.75rem;
  --ms-hero-light-lead-size: 1rem;
  --ms-hero-light-secondary-weight: 500;
  --ms-container: 1280px;
  --ms-gutter: 3rem;
  --ms-section-space: 4rem;
}
@media (max-width: 980px) { #cart-popup, .header-cart-link {
  --ms-h1-size: 2.625rem;
  --ms-h2-size: 2rem;
  --ms-h3-size: 1.25rem;
  --ms-lead-size: 1.125rem;
  --ms-body-size: 1rem;
  --ms-small-size: 0.875rem;
  --ms-caption-size: 0.75rem;
  --ms-button-size: 0.875rem;
  --ms-price-size: 1.25rem;
  --ms-product-subtitle-size: 0.8125rem;
  --ms-product-price-size: 1rem;
  --ms-button-small-size: 0.8125rem;
  --ms-product-size-label-size: 0.6875rem;
  --ms-gutter: 2rem;
} }
@media (max-width: 760px) { #cart-popup, .header-cart-link {
  --ms-h1-size: 2rem;
  --ms-h2-size: 1.75rem;
  --ms-h3-size: 1.125rem;
  --ms-lead-size: 1rem;
  --ms-body-size: 1rem;
  --ms-small-size: 0.875rem;
  --ms-caption-size: 0.75rem;
  --ms-button-size: 0.875rem;
  --ms-price-size: 1.125rem;
  --ms-product-subtitle-size: 0.8125rem;
  --ms-product-price-size: 1rem;
  --ms-button-small-size: 0.8125rem;
  --ms-product-size-label-size: 0.6875rem;
  --ms-gutter: 1.25rem;
  --ms-section-space: 2.5rem;
} }
@media (prefers-reduced-motion: reduce) { #cart-popup, .header-cart-link { --ms-motion-fast: 0ms; --ms-motion-standard: 0ms; --ms-motion-entrance: 0ms; --ms-motion-stagger: 0ms; } }

/* ===== mini-cart.css ===== */
/* Side cart (UX.2): Flatsome's off-canvas mini cart with the Cart block roles — H3 title, 64 px photos,
   muted option rows, a two-line "Includes" preview for kits, quiet UpsellWP labels, a price-role subtotal,
   primary Checkout and secondary View cart. Tokens only; the build scopes them to #cart-popup and the header
   cart link, because outside cart and checkout they are not on :root. Selectors start at #cart-popup to win
   over Flatsome and the child theme's style.css without !important (the UpsellWP label excepted). */

/* ---------- Drawer: solid white (Flatsome's off-canvas ground is translucent, so the page showed through under the items) ---------- */
#cart-popup { background-color:var(--ms-color-white); }

/* ---------- Title ---------- */
#cart-popup .cart-popup-title { margin:0 0 var(--ms-space-16); text-align:left; }
#cart-popup .cart-popup-title > span { font:var(--ms-h3-weight) var(--ms-h3-size)/var(--ms-h3-line) var(--ms-font-heading); letter-spacing:var(--ms-h3-tracking); text-transform:none; color:var(--ms-color-text); }
#cart-popup .cart-popup-title .is-divider { display:none; }

/* ---------- Items: photo | name, options, quantity × price; Remove icon bottom right ---------- */
#cart-popup ul.woocommerce-mini-cart { margin:0; padding:0; list-style:none; border-top:1px solid var(--ms-color-border); }
#cart-popup .woocommerce-mini-cart-item {
  position:relative; box-sizing:border-box; min-height:calc(var(--ms-space-64) + 2 * var(--ms-space-16));
  margin:0; padding:var(--ms-space-16) 0 var(--ms-space-16) calc(var(--ms-space-64) + var(--ms-space-16));
  border-bottom:1px solid var(--ms-color-border); color:var(--ms-color-text);
}
#cart-popup .woocommerce-mini-cart-item img {
  position:absolute; top:var(--ms-space-16); left:0; width:var(--ms-space-64); height:var(--ms-space-64); margin:0;
  object-fit:cover; border-radius:var(--ms-radius-media); background:var(--ms-color-surface); box-shadow:none;
}
#cart-popup .woocommerce-mini-cart-item > a:not(.remove) { display:block; color:var(--ms-color-text); font:600 var(--ms-small-size)/var(--ms-small-line) var(--ms-font-heading); text-decoration:none; }
#cart-popup .woocommerce-mini-cart-item > a:not(.remove):hover { color:var(--ms-color-brand-hover); text-decoration:underline; text-underline-offset:4px; }

/* Options: name (muted) | value, one per line */
#cart-popup .woocommerce-mini-cart-item dl.variation {
  display:grid; grid-template-columns:auto minmax(0,1fr); column-gap:var(--ms-space-4); margin:var(--ms-space-4) 0 0; padding:0; border:0;
  font:var(--ms-caption-weight) var(--ms-caption-size)/var(--ms-caption-line) var(--ms-font-body); color:var(--ms-color-muted);
}
#cart-popup .woocommerce-mini-cart-item dl.variation dt { grid-column:1; float:none; margin:0; padding:0; font:inherit; color:var(--ms-color-muted); }
#cart-popup .woocommerce-mini-cart-item dl.variation dd { grid-column:2; float:none; margin:0; padding:0; font:inherit; color:var(--ms-color-text); }
#cart-popup .woocommerce-mini-cart-item dl.variation dd p { margin:0; font:inherit; color:inherit; }
/* A kit's "Includes" list is a two-line preview under its label, full width; the cart shows every item with its photo */
#cart-popup .woocommerce-mini-cart-item dl.variation :is(dt, dd).variation-Includes { grid-column:1 / -1; }
#cart-popup .woocommerce-mini-cart-item dl.variation dd.variation-Includes { color:var(--ms-color-muted); }
#cart-popup .woocommerce-mini-cart-item dl.variation dd.variation-Includes p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }

/* UpsellWP offer and add-on labels: a quiet sage chip instead of the plugin's bright badge (colour set in the campaign) */
#cart-popup .woocommerce-mini-cart-item :is(.cuw-offer-text, .cuw-discount-text) {
  display:inline-block; margin:0; padding:0 var(--ms-space-8); border-radius:var(--ms-radius-badge) !important;
  background:var(--ms-color-sage) !important; color:var(--ms-color-brand) !important;
  font:600 var(--ms-caption-size)/var(--ms-caption-line) var(--ms-font-body); vertical-align:baseline;
}

/* Quantity × price: price role; a regular price is struck through in muted text */
#cart-popup .woocommerce-mini-cart-item .ux-mini-cart-qty { margin-top:var(--ms-space-8); padding-right:calc(var(--ms-space-32) + var(--ms-space-8)); }
#cart-popup .woocommerce-mini-cart-item .quantity { color:var(--ms-color-muted); font:var(--ms-small-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-body); }
#cart-popup .woocommerce-mini-cart-item .quantity .amount { color:var(--ms-color-text); font:var(--ms-price-weight) var(--ms-small-size)/var(--ms-small-line) var(--ms-font-heading); }
#cart-popup .woocommerce-mini-cart-item .quantity del,
#cart-popup .woocommerce-mini-cart-item .quantity del .amount { color:var(--ms-color-muted); font-weight:var(--ms-small-weight); }
#cart-popup .woocommerce-mini-cart-item .quantity ins { background:none; text-decoration:none; }

#cart-popup .woocommerce-mini-cart-item a.remove {
  position:absolute; top:auto; right:0; bottom:var(--ms-space-8); display:grid; place-items:center;
  width:var(--ms-space-32); height:var(--ms-space-32); margin:0; border:0; border-radius:var(--ms-radius-button);
  background:transparent; color:var(--ms-color-muted); font-size:var(--ms-body-size); line-height:1;
  transition:color var(--ms-motion-fast),background-color var(--ms-motion-fast);
}
#cart-popup .woocommerce-mini-cart-item a.remove:hover { background:var(--ms-color-sage); color:var(--ms-color-brand); }
#cart-popup .woocommerce-mini-cart-item a.remove:focus-visible { outline:var(--ms-control-focus-width) solid var(--ms-color-focus); outline-offset:var(--ms-control-focus-offset); }

/* ---------- Subtotal and actions ---------- */
#cart-popup .woocommerce-mini-cart__total {
  display:flex; align-items:baseline; justify-content:space-between; gap:var(--ms-space-16); margin:0; padding:var(--ms-space-16) 0; border:0;
  color:var(--ms-color-text); font:600 var(--ms-body-size)/var(--ms-body-line) var(--ms-font-heading);
}
#cart-popup .woocommerce-mini-cart__total strong { font:inherit; }
#cart-popup .woocommerce-mini-cart__total .amount { font:var(--ms-price-weight) var(--ms-price-size)/var(--ms-price-line) var(--ms-font-heading); letter-spacing:var(--ms-price-tracking); }

#cart-popup .woocommerce-mini-cart__buttons { display:flex; flex-direction:column-reverse; gap:var(--ms-space-8); margin:0; padding:0; }
#cart-popup .woocommerce-mini-cart__buttons .button {
  display:flex; align-items:center; justify-content:center; box-sizing:border-box; width:100%; min-height:var(--ms-control-height-touch);
  margin:0; padding:var(--ms-space-12) var(--ms-control-padding-inline); border:1px solid var(--ms-color-brand); border-radius:var(--ms-radius-button);
  background:transparent; color:var(--ms-color-brand); box-shadow:none;
  font:var(--ms-button-weight) var(--ms-button-size)/var(--ms-button-line) var(--ms-font-heading); letter-spacing:var(--ms-button-tracking); text-transform:none; text-decoration:none;
  transition:background-color var(--ms-motion-fast),border-color var(--ms-motion-fast),color var(--ms-motion-fast);
}
#cart-popup .woocommerce-mini-cart__buttons .button:hover { background:var(--ms-color-sage); color:var(--ms-color-brand); box-shadow:none; }
#cart-popup .woocommerce-mini-cart__buttons .button:active { background:var(--ms-color-border); }
/* Flatsome's Customizer prints ".button.checkout { background-color:#212121 !important }" inline, so the fill needs !important */
#cart-popup .woocommerce-mini-cart__buttons .button.checkout { background-color:var(--ms-color-brand) !important; color:var(--ms-color-white); }
#cart-popup .woocommerce-mini-cart__buttons .button.checkout:hover { border-color:var(--ms-color-brand-hover); background-color:var(--ms-color-brand-hover) !important; color:var(--ms-color-white); }
#cart-popup .woocommerce-mini-cart__buttons .button.checkout:active { border-color:var(--ms-color-brand-pressed); background-color:var(--ms-color-brand-pressed) !important; }
#cart-popup .woocommerce-mini-cart__buttons .button:focus-visible { outline:var(--ms-control-focus-width) solid var(--ms-color-focus); outline-offset:var(--ms-control-focus-offset); box-shadow:0 0 0 3px var(--ms-color-white); }

#cart-popup .woocommerce-mini-cart__empty-message { margin:var(--ms-space-24) 0; color:var(--ms-color-muted); font:var(--ms-body-weight) var(--ms-body-size)/var(--ms-body-line) var(--ms-font-body); text-align:center; }

/* ---------- Header cart link: the designbook focus ring instead of Flatsome's text-coloured ring around the link's border ---------- */
.header .header-cart-link:focus-visible { outline:var(--ms-control-focus-width) solid var(--ms-color-focus); outline-offset:var(--ms-control-focus-offset); }
