/*
Theme Name: SereneTree
Description: Faithful WooCommerce rebuild of the serenetree.com BigCommerce storefront. Values measured on live at 1440px unless noted.
Version: 0.1.0
Text Domain: serenetree
*/

:root {
	--st-dark: #25272d;      /* logo row, submenus */
	--st-forest: #38514c;    /* announcement, headings, tile buttons, newsletter */
	--st-teal: #60a597;      /* primary nav, newsletter form */
	--st-ink: #333;          /* buttons, strong text */
	--st-text: #4e4e4e;      /* card titles, prices, sidebar */
	--st-body: #212529;
	--st-line: #ebebeb;
	--st-muted: #969696;
	--st-sale: #f54a3a;
	--st-sans: -apple-system, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--st-cond: "Roboto Condensed", "ST Cond Fallback", "ST Cond Fallback R", var(--st-sans);
	--st-display: Barlow, "ST Display Fallback", "ST Display Fallback R", var(--st-sans);
}

/* Stand-ins for the web fonts while they load (2026-10-01). Text paints at once in Arial (or
   Roboto on Android) scaled to the web font's width and line height, so nothing reflows when
   Roboto Condensed and Barlow arrive. Before this, the menu set in the system font was too wide
   for one line, wrapped to two, then snapped back: the whole page jumped 51 px on desktop
   (layout shift 0.65 on the home and category pages; 0.1 is Google's limit for "good").
   size-adjust = the web font's width / the stand-in's, measured on the menu labels, the submenu
   links and the page titles; the overrides are the web font's line metrics / size-adjust. */
@font-face { font-family: "ST Cond Fallback"; src: local("Arial"), local("ArialMT"), local("Liberation Sans"), local("LiberationSans-Regular"), local("Arimo"), local("Arimo-Regular"); font-weight: 100 500; size-adjust: 86.6%; ascent-override: 107.1%; descent-override: 28.2%; line-gap-override: 0%; }
@font-face { font-family: "ST Cond Fallback"; src: local("Arial Bold"), local("Arial-BoldMT"), local("Liberation Sans Bold"), local("LiberationSans-Bold"), local("Arimo Bold"), local("Arimo-Bold"); font-weight: 600 900; size-adjust: 81.9%; ascent-override: 113.3%; descent-override: 29.8%; line-gap-override: 0%; }
@font-face { font-family: "ST Cond Fallback R"; src: local("Roboto"), local("Roboto-Regular"); font-weight: 100 500; size-adjust: 88.4%; ascent-override: 104.9%; descent-override: 27.6%; line-gap-override: 0%; }
@font-face { font-family: "ST Cond Fallback R"; src: local("Roboto Bold"), local("Roboto-Bold"); font-weight: 600 900; size-adjust: 87.3%; ascent-override: 106.3%; descent-override: 28%; line-gap-override: 0%; }
@font-face { font-family: "ST Display Fallback"; src: local("Arial Bold"), local("Arial-BoldMT"), local("Liberation Sans Bold"), local("LiberationSans-Bold"), local("Arimo Bold"), local("Arimo-Bold"); font-weight: 100 900; size-adjust: 89.9%; ascent-override: 111.2%; descent-override: 22.2%; line-gap-override: 0%; }
@font-face { font-family: "ST Display Fallback R"; src: local("Roboto Bold"), local("Roboto-Bold"); font-weight: 100 900; size-adjust: 96.3%; ascent-override: 103.8%; descent-override: 20.8%; line-gap-override: 0%; }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #fff; color: var(--st-body); font: 14px/1.5 var(--st-sans); }
img { max-width: 100%; height: auto; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.srt-skip:focus { position: fixed !important; top: 8px; left: 8px; width: auto; height: auto; clip: auto; z-index: 1000; background: #fff; padding: 8px 12px; }

.srt-container { max-width: 1140px; margin: 0 auto; padding: 0 15px; }

/* ── Header ─────────────────────────────────────────────────────────── */
.srt-header { position: sticky; top: 0; z-index: 50; } /* fixed on live; live's 34px overlap of the content is not copied */
.admin-bar .srt-header { top: 32px; }
.srt-header__announce { background: var(--st-forest); color: #fff; font-weight: 700; text-align: center; padding: 5px 15px; min-height: 34px; line-height: 24px; }
.srt-header__main { background: var(--st-dark); }
.srt-header__inner { max-width: 1230px; margin: 0 auto; min-height: 93px; display: flex; align-items: center; padding: 20px 0; }
.srt-logo { display: block; margin-left: 18px; flex: 0 0 250px; line-height: 0; }
.srt-logo img { width: 250px; height: 47px; }
.srt-search { position: relative; margin-left: 63px; width: 410px; }
.srt-search input { width: 100%; height: 35px; border: 1px solid #d2d2d2; border-radius: 5px; background: #fff; padding: 0 14px 0 45px; color: #333; font-size: 14px; }
.srt-search input::placeholder { color: var(--st-muted); }
.srt-search__icon { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: #333; pointer-events: none; }
.srt-user { margin-left: auto; display: flex; align-items: center; gap: 5px; color: #dadada; font-size: 14px; line-height: 21px; padding-right: 0; }
.srt-user a { color: #dadada; text-decoration: none; }
.srt-user a:hover { color: #fff; }
.srt-user__icon { margin-right: 2px; }
.srt-user__sep { width: 1px; height: 18px; background: #dadada; margin: 0 14px; opacity: .6; }
.srt-cart { display: inline-flex; align-items: center; gap: 4px; }
.srt-menu-toggle, .srt-search-toggle, .srt-sidebar__toggle, .srt-nav__account { display: none; }

/* ── Primary nav ────────────────────────────────────────────────────── */
.srt-nav { background: var(--st-teal); }
.srt-nav__list { list-style: none; margin: 0 auto; padding: 0; max-width: 1230px; display: flex; flex-wrap: wrap; }
.srt-nav__item { position: relative; }
.srt-nav__link { display: flex; align-items: center; gap: 5px; padding: 15px 10px; font: 700 14px/21px var(--st-cond); text-transform: uppercase; color: var(--st-dark); text-decoration: none; }
.srt-nav__link:hover, .srt-nav__item:focus-within > .srt-nav__link { color: #fff; }
.srt-nav__sub { display: none; position: absolute; left: 0; top: 100%; min-width: 279px; list-style: none; margin: 0; padding: 21px 21px 32px; background: var(--st-dark); }
.srt-nav__item:hover > .srt-nav__sub, .srt-nav__item:focus-within > .srt-nav__sub { display: block; }
.srt-nav__sub a { display: block; padding: 6px 0; color: #dadada; font: 400 14px/21px var(--st-cond); text-decoration: none; }
.srt-nav__sub a:hover { color: #fff; }

/* ── Breadcrumbs + headings ─────────────────────────────────────────── */
.srt-crumbs { padding-top: 20px; margin-bottom: 14px; min-height: 47px; } /* live .breadcrumbs: 47px incl. 20px top pad */
.srt-crumbs ol { line-height: 27px; }
.srt-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; font-size: 13px; color: #7a7a7a; }
.srt-crumbs li + li::before { content: "/"; margin: 0 6px; color: #b5b5b5; }
.srt-crumbs a { color: #7a7a7a; text-decoration: none; }
.srt-crumbs [aria-current] { color: var(--st-ink); }
.srt-archive__title, .srt-page__title, .srt-article__title { font: 700 42px/1.2 var(--st-display); text-transform: uppercase; color: var(--st-forest); margin: 0 0 21px; }
.srt-page-heading { font: 700 32px/1.2 var(--st-display); color: var(--st-forest); text-align: center; margin: 40px 0 25px; }

/* ── Rich copy ──────────────────────────────────────────────────────── */
.srt-copy { color: var(--st-ink); font-size: 15px; line-height: 1.6; }
.srt-copy h2 { font: 700 21px/1.3 var(--st-display); color: var(--st-ink); margin: 0 0 10px; }
.srt-copy h3, .srt-copy h4 { font: 700 18px/1.3 var(--st-display); color: var(--st-ink); margin: 1.2em 0 .5em; }
.srt-copy a { color: var(--st-forest); }
.srt-copy table { border-collapse: collapse; width: 100%; }
.srt-copy td, .srt-copy th { border: 1px solid var(--st-line); padding: 6px 10px; }
.srt-copy__toggle { background: none; border: 0; padding: 0; color: #007bff; font-size: 13px; text-decoration: underline; cursor: pointer; }
.srt-copy__toggle:hover { text-decoration: underline; }
.srt-copy__toggle[aria-expanded="false"] .srt-copy__close,
.srt-copy__toggle[aria-expanded="true"] .srt-copy__open { display: none; }
.srt-archive__desc { margin-bottom: 11px; } /* live .category_description is 64px; grid starts 20px below */
.srt-archive__desc h2 { font-size: 24px; line-height: 1.2; margin: 0; text-transform: none; color: #333; }

/* Page Builder regions keep their own scoped styles; only neutralise
   theme-level assumptions the markup was written against. */
.srt-region img { max-width: 100%; height: auto; }
.srt-region a[role="button"] { display: block; }

/* ── Category listing ───────────────────────────────────────────────── */
.srt-archive { display: grid; grid-template-columns: 353px minmax(0, 1fr); column-gap: 15px; padding: 20px 15px 40px; }
.srt-archive__side:empty { display: none; }
.srt-archive__main { min-width: 0; }
.srt-archive:not(:has(.srt-sidebar)) { grid-template-columns: minmax(0, 1fr); }
.srt-sidebar { background: #fff; border: 1px solid var(--st-line); padding: 20px 20px 0; margin-bottom: 40px; }
.srt-sidebar__head { font: 700 15px/18px var(--st-cond); text-transform: uppercase; letter-spacing: normal; color: var(--st-text); margin: 0 0 15px; padding-bottom: 15px; border-bottom: 1px solid var(--st-line); }
.srt-sidebar__list { list-style: none; margin: 0; padding: 0; }
.srt-sidebar__list a { display: block; padding: 3px 0; font-size: 15px; line-height: 22.5px; color: var(--st-text); text-decoration: underline; }
.srt-sidebar__list a.is-current { font-weight: 700; }

.srt-toolbar { display: flex; align-items: flex-start; justify-content: space-between; min-height: 60px; padding: 0 15px; }
.woocommerce-ordering { margin: 0; display: flex; align-items: center; gap: 8px; }
.woocommerce-ordering::before { content: "Sort By:"; display: inline-block; width: 61px; font-size: 13px; color: var(--st-text); } /* select lands at live's x=467 */
.woocommerce-ordering select { width: 142px; height: 30px; border: 0; background: #fff; color: var(--st-text); font-size: 13px; padding: 0 28px 0 3px; }
.srt-toolbar .woocommerce-pagination { margin: 0; }
.woocommerce-pagination ul.page-numbers { list-style: none; display: flex; gap: 4px; margin: 0; padding: 0; border: 0; }
.woocommerce-pagination .page-numbers li { border: 0; }
/* Live's pager is plain text with the current page underlined. Woo draws a
   bordered box at (0,3,3): match that selector shape to remove it. */
.woocommerce nav.woocommerce-pagination ul, .woocommerce nav.woocommerce-pagination ul li { border: 0; margin: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { padding: 4px 10px; font-size: 14px; color: #4e4e4e; background: none; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: none; color: #333; font-weight: 700; border-bottom: 2px solid #333; border-radius: 0; }
.woocommerce nav.woocommerce-pagination ul li a:hover { background: none; color: #000; }
.srt-toolbar .woocommerce-pagination { min-height: 60px; }
.woocommerce-pagination .page-numbers a, .woocommerce-pagination .page-numbers span { display: block; min-width: 30px; padding: 4px 8px; text-align: center; font-size: 13px; color: var(--st-text); text-decoration: none; border-radius: 3.5px; }
.woocommerce-pagination .page-numbers .current { background: #ececec; color: var(--st-ink); }
.woocommerce-pagination .next, .woocommerce-pagination .prev { font: 700 13px var(--st-cond); text-transform: uppercase; }

/* Product grid. WooCommerce core styles ul.products at (0,3,x); match the
   selector SHAPE rather than piling on !important (zamplebox lesson). */
.woocommerce ul.products.srt-grid, ul.products.srt-grid, .woocommerce .srt-archive ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 0; list-style: none; margin: 0; padding: 0 15px; }
.woocommerce ul.products.srt-grid--4, ul.products.srt-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.woocommerce ul.products::before, .woocommerce ul.products::after { content: none; }
.woocommerce ul.products li.product.srt-card, ul.products li.srt-card { width: auto; float: none; margin: 0 10.5px; padding: 0; display: flex; flex-direction: column; background: #fff; border: 1px solid rgba(0,0,0,.125); border-radius: 3.5px; text-align: left; }
.srt-card__figure { position: relative; border: 1px solid var(--st-line); padding: 3px; background: #fff; height: 285px; } /* fixed, as live's .card .card-figure */
.srt-card__img { display: block; height: 100%; }
.woocommerce ul.products li.product .srt-card__img img, .srt-card__img img { width: 100%; height: calc(100% + 2px); object-fit: contain; margin: -1px 0; }
.srt-card__flag { position: absolute; top: 0; left: 0; background: var(--st-sale); color: #fff; font: 700 14px var(--st-cond); padding: 4px 13px; }
.srt-card__action { position: absolute; left: 0; right: 0; top: 100%; opacity: 0; transition: opacity .15s; z-index: 2; } /* live's figcaption bar sits just below the image well */
.srt-card:hover .srt-card__action, .srt-card:focus-within .srt-card__action { opacity: 1; }
.woocommerce ul.products li.product .srt-card__action .button, .srt-card__action .button { display: block; width: 100%; margin: 0; background: var(--st-ink); color: #fff; border-radius: 0; font: 700 13px var(--st-cond); text-transform: uppercase; text-align: center; padding: 8px 15px; }
/* After an AJAX add, WooCommerce puts "View cart" after the button: a light second bar. */
.woocommerce ul.products li.product .srt-card__action a.added_to_cart, .srt-card__action a.added_to_cart { display: block; margin: 0; padding: 6px 15px; background: #fff; border: 1px solid var(--st-ink); border-top: 0; color: var(--st-ink); font: 700 13px var(--st-cond); text-transform: uppercase; text-align: center; text-decoration: none; }
.srt-card__action a.added_to_cart:hover { background: #f4f4f4; color: #000; }
.srt-card__body { padding: 17.5px; }
.woocommerce ul.products li.product .srt-card__title, .srt-card__title { margin: 0; padding: 0; font: 500 15px/18px var(--st-cond); text-transform: uppercase; letter-spacing: normal; } /* live .card .card-title resets the base h4's .25px */
.srt-card__title a { color: var(--st-text); text-decoration: none; }
.woocommerce ul.products li.product .srt-card__price, .srt-card__price { color: var(--st-text); font-size: 14px; line-height: 21px; margin: 0; }
.srt-card__price del { color: #999; margin-right: 6px; }
.srt-card__price ins { text-decoration: none; }
.srt-card__brand { margin: 3px 0 0; color: var(--st-ink); font-size: 14px; }
.srt-card__rating { margin: 0; line-height: 21px; }

.srt-stars { display: inline-flex; gap: 1px; vertical-align: middle; }
.srt-stars svg { fill: currentColor; }
.srt-stars .on { color: #333; }
.srt-stars .off { color: #ccc; }

/* ── Product page ───────────────────────────────────────────────────── */
.srt-product__cols { display: grid; grid-template-columns: 60% 40%; margin: 0 -14px; }
.srt-product.srt-container { padding-top: 14px; } /* live: gallery 28px below the crumbs; padding, because a margin collapses into the crumbs' */
.srt-product__gallery { padding: 0 14px; min-width: 0; }
/* 2026-09-30: theme.js adds --sticky when the whole gallery fits below the sticky header; the gallery then stays in view next to a taller details column. */
.srt-product__cols--sticky { align-items: start; }
.srt-product__cols--sticky .srt-product__gallery { position: sticky; top: calc(var(--srt-header-h, 178px) + 14px); }
.srt-product__details { padding: 0 14px 28px; color: var(--st-ink); }
.woocommerce div.product .srt-product__gallery div.images { width: 100%; float: none; margin: 0; }
.woocommerce div.product .srt-product__gallery .flex-control-thumbs { display: flex; gap: 10px; margin-top: 11px; }
.woocommerce div.product .srt-product__gallery .flex-control-thumbs li { width: auto; flex: 0 0 131px; height: 79px; padding: 5px; }
.woocommerce div.product .srt-product__gallery .flex-control-thumbs li img { height: 69px; object-fit: contain; } /* live thumbs 131x79 */
.srt-product__gallery .woocommerce-product-gallery__image img { aspect-ratio: 1; object-fit: contain; }
/* Gallery paint and stability (2026-10-01). WooCommerce keeps the gallery at opacity 0 until its
   slider script has run, so the product photo (the page's largest image) only appeared once
   jQuery, FlexSlider and PhotoSwipe had loaded. While the slider sets up, the first slide is
   briefly as wide as the whole strip (four times the gallery), which pushed the details 1,400 px
   down and back on phones (layout shift 0.51). The photo now shows at once, and a slide can never
   be wider, or the frame taller, than the gallery. */
.woocommerce div.product .srt-product__gallery .woocommerce-product-gallery { opacity: 1 !important; }
.srt-product__gallery div.images { container-type: inline-size; }
.srt-product__gallery .woocommerce-product-gallery__image { max-width: 100cqw; }
.srt-product__gallery .flex-viewport { max-height: 100cqw; }
.pswp:not(.pswp--open) { display: none; } /* the lightbox's own stylesheet now loads after first paint (functions.php) */
.srt-product__title { font: 500 32px/normal var(--st-display); text-transform: none; color: var(--st-ink); margin: 0 0 9px; } /* live .productView-title is NOT uppercased */
.srt-product__meta { display: flex; gap: 53px; margin: 0 0 9px; font-size: 14px; }
.srt-product__brand { color: #007bff; text-decoration: none; }
.srt-product__price { font-size: 21px; line-height: 31.5px; margin-bottom: 6px; }
.srt-product__price del { color: #999; font-size: 16px; }
.srt-product__price ins { text-decoration: none; }
.srt-product__rating { display: flex; align-items: center; gap: 6px; margin: 0 0 14px; }
.srt-product__rating a { color: #007bff; text-decoration: none; font-size: 14px; }
.srt-product__details form.cart { margin: 0; }
.woocommerce div.product .srt-product__details form.cart .variations { margin: 0 0 10px; border: 0; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; padding: 0; text-align: left; border: 0; }
.woocommerce div.product form.cart .variations label { font: 700 14px/21px var(--st-cond); text-transform: uppercase; color: var(--st-text); }
.woocommerce div.product form.cart .variations label::after { content: " *"; color: #d14343; }
.srt-swatches { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 16px; }
.srt-swatch { border: 1px solid #ccc; background: #fff; color: var(--st-text); padding: 10px 15px; font-size: 14px; line-height: 19px; cursor: pointer; }
.srt-swatch:hover { border-color: #999; }
.srt-swatch.is-selected { border-color: var(--st-ink); box-shadow: inset 0 0 0 1px var(--st-ink); color: var(--st-ink); }
.srt-swatch:disabled { opacity: .4; cursor: not-allowed; text-decoration: line-through; }
.srt-swatch-select { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
.woocommerce div.product form.cart .reset_variations { font-size: 12px; }
.woocommerce div.product form.cart div.quantity { display: inline-flex; flex: 0 0 auto; margin: 0; float: none; } /* 2026-09-30: quantity and Add to Cart share one row (live stacked them 42px apart). div.quantity: matches Woo's (0,4,3) selector shape */
/* One buy row: quantity, then Add to Cart (simple products, a chosen variation, a chosen strain). */
.srt-product__details form.cart:not(.variations_form):not(.grouped_form), .srt-product__details .woocommerce-variation-add-to-cart, .srt-strain__buy { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
/* WooCommerce clearfixes the form with ::before/::after (0,3,3); in the flex buy row they are empty items that add a 12px gap. */
.woocommerce div.product .srt-product__details form.cart::before, .woocommerce div.product .srt-product__details form.cart::after { content: none; }
.woocommerce .quantity .qty { width: 40px; height: 45px; border: 1px solid #ccc; border-width: 1px 0; text-align: center; -moz-appearance: textfield; }
.woocommerce .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; }
.srt-qty { width: 30px; height: 45px; border: 1px solid #ccc; background: #fff; color: var(--st-text); cursor: pointer; }
.woocommerce div.product form.cart .button, .woocommerce div.product form.cart .single_add_to_cart_button { display: inline-flex; align-items: center; justify-content: center; float: none; clear: none; height: 45px; margin: 0; background: var(--st-ink); color: #fff; border-radius: 2px; font: 700 15px/14px var(--st-cond); text-transform: uppercase; padding: 0 39px; }
.woocommerce div.product form.cart .button:hover { background: #000; }
.srt-product__section { margin-top: 43px; }
.srt-product__section-head { font: 700 15px var(--st-cond); text-transform: uppercase; color: var(--st-ink); border-bottom: 1px solid var(--st-line); padding-bottom: 15px; margin: 0 0 20px; }
.srt-related { padding: 40px 15px 0; }
.srt-related__head, .srt-reviews__head { font: 700 21px var(--st-cond); text-transform: uppercase; color: var(--st-ink); text-align: center; margin: 0 0 25px; }
.srt-reviews { padding-top: 40px; padding-bottom: 40px; }
.srt-review { border-bottom: 1px solid var(--st-line); padding: 20px 0; }
.srt-review__title { font: 700 15px var(--st-cond); color: var(--st-ink); margin: 6px 0 4px; }
.srt-review__meta { font-size: 12px; color: #7a7a7a; margin: 0 0 8px; }
.srt-review__body p { margin: 0; }
.srt-review__pending { font-size: 12px; color: #7a7a7a; margin: 0 0 8px; }
.srt-review-form { margin-top: 30px; }

/* Grouped "strain picker" products: one Strain select, quantity, Add to Cart
   (labels as the variation form's; field as the option buttons: 1px #ccc). */
.srt-strain__field { margin: 0 0 16px; }
.srt-strain__label { display: block; font: 700 14px/21px var(--st-cond); text-transform: uppercase; color: var(--st-text); margin: 0 0 10px; }
.srt-strain__label::after { content: " *"; color: #d14343; }
.srt-strain__select { display: block; width: 100%; max-width: 360px; height: 45px; border: 1px solid #ccc; border-radius: 0; background-color: #fff; color: var(--st-text); font-size: 14px; padding: 0 10px; cursor: pointer; }
.srt-strain__select:hover { border-color: #999; }
.srt-strain__select:focus { border-color: var(--st-ink); box-shadow: inset 0 0 0 1px var(--st-ink); }
.srt-strain__select:disabled { opacity: .5; cursor: not-allowed; }
.srt-strain .stock.out-of-stock { color: #d14343; font-weight: 700; }

/* Added-to-cart confirmation (AJAX add from a card). */
.srt-toast { position: fixed; right: 20px; bottom: 20px; z-index: 1002; display: flex; align-items: center; gap: 12px; width: 380px; max-width: calc(100vw - 24px); padding: 14px 34px 14px 16px; background: #fff; color: var(--st-ink); border: 1px solid var(--st-line); border-left: 4px solid var(--st-teal); box-shadow: 0 6px 24px rgba(0,0,0,.15); font-size: 14px; }
.srt-toast[hidden] { display: none; }
.srt-toast__icon { flex: 0 0 auto; color: var(--st-teal); }
.srt-toast__text { flex: 1 1 auto; min-width: 0; margin: 0; line-height: 1.35; }
.srt-toast__title { display: block; font: 700 14px var(--st-cond); text-transform: uppercase; }
.srt-toast__name { display: block; color: var(--st-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.srt-toast__link { flex: 0 0 auto; background: var(--st-ink); color: #fff; border-radius: 2px; font: 700 13px var(--st-cond); text-transform: uppercase; text-decoration: none; padding: 8px 12px; }
.srt-toast__link:hover { background: #000; color: #fff; }
.srt-toast__close { position: absolute; top: 2px; right: 4px; background: none; border: 0; padding: 4px 6px; font-size: 20px; line-height: 1; color: #999; cursor: pointer; }
.srt-toast__close:hover { color: var(--st-ink); }
@media (max-width: 800px) {
	.srt-toast { right: 12px; bottom: 12px; }
	.srt-strain__select { max-width: none; }
}

/* ── Home ───────────────────────────────────────────────────────────── */
.srt-carousel { position: relative; height: 500px; overflow: hidden; background: #fff; }
.srt-carousel--mobile { height: 423px; }
.srt-carousel__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .5s; display: block; }
.srt-carousel__slide.is-active { opacity: 1; visibility: visible; }
.srt-carousel__slide img { width: 100%; height: 100%; }
.srt-carousel__slide picture { display: contents; } /* WebP + one-device sources (st_carousel); the img keeps its box */
.srt-carousel__slide--fit img { object-fit: contain; }
.srt-carousel__slide--fill img { object-fit: cover; }
.srt-carousel__text { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 0 296px; }
.srt-carousel__title { font-size: 48px; line-height: 1.5; font-weight: 500; }
.srt-carousel__sub { font-size: 18px; line-height: 1.5; font-weight: 500; }
.srt-carousel__btn { margin-top: 20px; background: var(--st-forest); color: #fff; padding: 10px 25px; border-radius: 10px; font-size: 18px; }
.srt-carousel__arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 52px; height: 168px; border: 0; background: rgba(255,255,255,.9); color: #5e637a; cursor: pointer; z-index: 2; }
.srt-carousel__arrow--prev { left: 0; border-radius: 0 4px 4px 0; }
.srt-carousel__arrow--next { right: 0; border-radius: 4px 0 0 4px; }
.srt-carousel__dots { position: absolute; bottom: 12px; left: 0; right: 0; display: flex; justify-content: center; gap: 7px; z-index: 2; }
.srt-carousel__dot { width: 12px; height: 12px; border-radius: 50%; border: 1px solid #fff; background: rgba(255,255,255,.4); padding: 0; cursor: pointer; }
.srt-carousel__dot.is-active { background: #fff; }
.main.full.grid-bg { background: #fff; }
.main.full.grid-bg > .container-fluid { padding-top: 40px; }
/* Home rows: live's .main.grid-bg .productGrid is max 1230 incl. 15px padding,
   25% columns with .75rem gutters -> 279px cards at x131/431/731/1031. */
.srt-home-products ul.products.srt-grid--4 { max-width: 1230px; margin: 0 auto 20px; padding: 0 15px; gap: 20px 0; }
.srt-home-products ul.products.srt-grid--4 li.srt-card { margin: 0 10.5px; }
.srt-home-blog .blog-thumbnail { margin: 0 0 21px; }
.srt-home-blog .blog-thumbnail img { width: 100%; height: 354px; object-fit: cover; display: block; }
.srt-home-blog .blog-date { color: #989898; margin: 0; }
.srt-home-blog .blog-title { font: 500 28px/1.2 var(--st-sans); text-transform: none; letter-spacing: normal; color: #333; margin: 0 0 7px; }
.srt-home-blog .blog-title a { color: #007bff; text-decoration: none; }
.srt-home-blog .blog-post { color: #333; }
.srt-home-blog .read-more { margin: 15px 0 0; }
.srt-home-blog .read-more a { color: #0f654b; text-decoration: none; }
.srt-home-blog__grid { max-width: 1140px; margin: 0 auto; padding: 0 15px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.srt-post-card__media { display: block; }
.srt-post-card__media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.srt-post-card__meta { font-size: 13px; color: #7a7a7a; margin: 12px 0 6px; }
.srt-post-card__title { font: 700 21px/1.3 var(--st-display); margin: 0 0 10px; }
.srt-post-card__title a { color: var(--st-forest); text-decoration: none; }
.srt-post-card__excerpt { margin: 0 0 10px; color: var(--st-ink); }
.srt-post-card__more { color: var(--st-forest); font: 700 13px var(--st-cond); text-transform: uppercase; }

/* ── Blog, pages ────────────────────────────────────────────────────── */
.srt-page, .srt-blog, .srt-article { padding-bottom: 60px; }
.srt-blog__list { display: grid; gap: 40px; }
.srt-post-card--row { display: grid; grid-template-columns: 360px 1fr; gap: 30px; }
.srt-article { max-width: 900px; }
.srt-article__hero { margin: 20px 0; }
.srt-article__tags span { display: inline-block; margin-right: 8px; color: #7a7a7a; }
.srt-brands { list-style: none; margin: 20px 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 20px; }
.srt-brands__item a { display: flex; align-items: center; justify-content: center; min-height: 120px; border: 1px solid var(--st-line); padding: 20px; text-decoration: none; }
.srt-brands__name { font: 700 18px var(--st-cond); text-transform: uppercase; color: var(--st-ink); }
.srt-form { display: grid; gap: 14px; max-width: 760px; margin-top: 20px; }
.srt-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.srt-form label { display: grid; gap: 6px; font: 700 14px var(--st-cond); text-transform: uppercase; color: var(--st-text); }
.srt-form small { color: #999; font-weight: 400; }
.srt-form input, .srt-form textarea { border: 1px solid #ccc; padding: 10px 12px; font: 14px var(--st-sans); text-transform: none; }
.srt-hp { position: absolute; left: -9999px; }
.srt-button { justify-self: start; background: var(--st-ink); color: #fff; border: 0; border-radius: 2px; font: 700 15px var(--st-cond); text-transform: uppercase; padding: 14px 39px; cursor: pointer; }
.srt-notice { background: #eef5ec; border-left: 3px solid var(--st-teal); padding: 12px 16px; }

/* ── WooCommerce blocks (cart, checkout, account) in live's button style ── */
.srt-woo .wc-block-components-button:not(.is-link), .srt-woo .wp-element-button, .woocommerce-account .srt-woo .button {
	background: #333; color: #fff; border: 0; border-radius: 2px; font: 700 15px/1 "Roboto Condensed", Arial, sans-serif; text-transform: uppercase; }
.srt-woo .wc-block-components-button:not(.is-link):hover, .srt-woo .wp-element-button:hover { background: #000; color: #fff; }
.srt-woo a:not(.wc-block-components-button):not(.wp-element-button):not(.button) { color: #0f654b; }

/* ── Hemp Quiz (native rebuild of live's RevenueHunt quiz; its look: Karla,
   #fafafa ground with the logo art at 39%, translucent answer tiles, teal
   #4FB0AE progress + nav) ─────────────────────────────────────────────── */
.srt-quiz { scroll-margin-top: 190px; position: relative; display: flex; flex-direction: column; min-height: 600px; margin: 10px auto 30px; background: var(--quiz-bg); font-family: Karla, var(--st-sans); color: #333; overflow: hidden; }
.srt-quiz__bg { position: absolute; inset: 0; background: center / contain no-repeat; pointer-events: none; }
.srt-quiz__stage { position: relative; flex: 1; display: flex; align-items: center; justify-content: center; padding: 40px 20px; }
.srt-quiz__box { width: 100%; max-width: 860px; text-align: center; }
.srt-quiz .srt-quiz__title { font: 700 24px/1.15 Karla, var(--st-sans); color: var(--quiz-q); text-transform: none; letter-spacing: 0; margin: 0 0 18px; }
.srt-quiz .srt-quiz__box--start .srt-quiz__title { font-size: 18px; font-weight: 400; max-width: 420px; margin: 0 auto 18px; }
.srt-quiz__cta { background: var(--quiz-btn); color: #000; border: 0; border-radius: 5px; padding: 10px 18px; font: 700 16px Karla, var(--st-sans); cursor: pointer; }
.srt-quiz__choices { list-style: none; margin: 0 auto; padding: 0; display: grid; gap: 8px; max-width: 360px; }
.srt-quiz .srt-quiz__choice { display: flex; align-items: center; gap: 10px; width: 100%; padding: 8px 10px; border: 0; border-radius: 5px; background: rgba(11, 11, 11, .15); color: var(--quiz-a); font: 400 16px/1.3 Karla, var(--st-sans); text-align: left; text-decoration: none; cursor: pointer; }
.srt-quiz__choice:hover, .srt-quiz__choice:focus-visible { background: rgba(11, 11, 11, .25); color: var(--quiz-a); outline: 2px solid var(--quiz-btn); outline-offset: 1px; }
.srt-quiz__key { flex: 0 0 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, .7); font-size: 12px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.srt-quiz__choices--pictures { grid-template-columns: repeat(3, 198px); justify-content: center; max-width: none; }
.srt-quiz__choices--pictures .srt-quiz__choice { flex-direction: column; align-items: stretch; padding: 8px; }
.srt-quiz__choices--pictures img { width: 100%; height: 180px; object-fit: cover; border-radius: 3px; }
.srt-quiz__choices--pictures .srt-quiz__key { display: none; }
.srt-quiz__foot { position: relative; display: flex; align-items: flex-end; gap: 16px; padding: 0 20px 18px; }
.srt-quiz__progress { flex: 1; }
.srt-quiz__progress-label { font-size: 14px; color: var(--quiz-btn); margin-bottom: 2px; }
.srt-quiz__bar { height: 8px; border-radius: 5px; background: rgba(255, 255, 255, .5); padding: 2px; }
.srt-quiz__fill { height: 4px; border-radius: 5px; background: var(--quiz-btn); transition: width .3s; }
.srt-quiz__nav { width: 44px; height: 40px; border: 0; border-radius: 5px; background: var(--quiz-btn); color: #000; font: 700 20px Karla, var(--st-sans); cursor: pointer; }
.srt-quiz__nav:disabled { opacity: .5; cursor: default; }
@media (max-width: 700px) {
	.srt-quiz__choices--pictures { grid-template-columns: minmax(0, 1fr); max-width: 260px; margin: 0 auto; }
	.srt-quiz__choices--pictures img { height: 140px; }
	.srt-quiz .srt-quiz__title { font-size: 20px; }
}

/* ── Cookie consent (live: BigCommerce's bar, #454545, white 14px, 3 buttons) ── */
.srt-consent { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1000; background: #454545; color: #fff; padding: 14px 22px 16px; font: 14px/1.4 var(--st-sans); }
.srt-consent[hidden], .srt-consent-modal[hidden] { display: none; }
.srt-consent p { margin: 0 0 12px; }
.srt-consent a { color: #fff; text-decoration: underline; }
.srt-consent__buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.srt-consent__btn { border: 1px solid #fff; border-radius: 4px; background: #fff; color: #454545; font: 16px var(--st-sans); padding: 6px 12px; cursor: pointer; }
.srt-consent__btn--ghost { background: transparent; color: #fff; }
.srt-consent__btn--dark { background: #333; border-color: #333; color: #fff; }
.srt-consent__btn--ghost-dark { background: #fff; border-color: #333; color: #333; }
.srt-consent-modal { position: fixed; inset: 0; z-index: 1001; background: rgba(0,0,0,.5); display: flex; align-items: center; justify-content: center; padding: 16px; }
.srt-consent-modal__box { background: #fff; color: #333; max-width: 760px; width: 100%; max-height: 90vh; overflow: auto; padding: 24px; border-radius: 4px; font-size: 14px; }
.srt-consent-modal__box h2 { font: 700 20px var(--st-sans); text-transform: uppercase; margin: 0 0 12px; }
.srt-consent-modal__box table { width: 100%; border-collapse: collapse; margin: 16px 0; }
.srt-consent-modal__box th, .srt-consent-modal__box td { border-bottom: 1px solid #e5e5e5; padding: 10px 8px; text-align: left; vertical-align: top; }
.srt-consent-modal__actions { display: flex; justify-content: flex-end; gap: 8px; }
.srt-footer__copy a { color: #dadada; }

/* ── Newsletter + footer ────────────────────────────────────────────── */
/* Newsletter - live's .footer-newsletter rules (1440: band 112px; h5 720px
   right-aligned Barlow 27px/300; form 720px #60a597 with 15px padding around a
   #25272d field; input 391x42; teal 10px-radius button). */
.footer-newsletter { margin: 40px 0 0 !important; display: flex; justify-content: space-between; align-content: center; background: #38514c; padding: 0; text-align: center; }
.footer-newsletter h5 { width: 50%; margin: 0; font: 300 27px/1.2 Barlow, Arial, sans-serif; text-transform: none; letter-spacing: .25px; text-align: right; color: #fff; padding-right: 15px; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; }
.footer-newsletter form { width: 50%; padding: 15px 0; background: #60a597; margin: 0; }
.footer-newsletter .form-fieldset { border: 0; margin: 0; padding: 0; }
.footer-newsletter .form-field { margin: 0; padding: 20px; background: #25272d; }
.footer-newsletter .form-prefixPostfix { position: relative; display: flex; max-width: 500px; }
.footer-newsletter .icon { position: absolute; left: 15px; top: 21px; transform: translateY(-50%); }
.footer-newsletter .form-input { flex: 1 1 auto; height: 42px; border: 1px solid #ccc; border-radius: 0; background: #fff; color: #4e4e4e; font-size: 14px; padding: 10.5px 14px 10.5px 45px; }
.footer-newsletter .button { width: auto; margin: 0 0 0 10px; background: #60a597; color: #fff; border: 0; border-radius: 10px; padding: 14px 15px 15px; font: 700 15px/13px "Roboto Condensed", Arial, sans-serif; cursor: pointer; }
.srt-newsletter__ok { color: #fff; margin: 10px 0 0; font-weight: 700; text-align: left; }
.srt-footer { background: #333; color: #dadada; padding-top: 42px; }
.srt-footer__inner { max-width: 1140px; margin: 0 auto; display: grid; grid-template-columns: 380px repeat(4, 190px); padding: 0; }
.srt-footer__col { padding: 0 15px; }
.srt-footer__col h5 { font: 500 14px/1.2 var(--st-display); text-transform: uppercase; color: #fff; margin: 0 0 18px; letter-spacing: .25px; }
.srt-footer__col--address h5 { font: 500 24px/1.2 Roboto, var(--st-sans); text-transform: none; }
.srt-footer__col ul { list-style: none; margin: 0; padding: 0; }
.srt-footer__col li { margin-bottom: 4px; }
.srt-footer__col a { color: #dadada; text-decoration: none; font-size: 14px; }
.srt-footer__col a:hover { color: #fff; }
.srt-footer__col address { font-style: normal; line-height: 1.6; }
.srt-social { display: flex; gap: 14px; }
.srt-footer__copy { max-width: 1110px; margin: 30px auto 0; padding: 30px 0; border-top: 1px solid #4a4a4a; font-size: 13px; }
.srt-footer__fda { background: #fff; color: #333; padding: 15px 40px; font-size: 12px; line-height: 1.5; text-align: center; }
.srt-footer__fda p { margin: 0; }

/* ── Tablet / mobile (live collapses the header at 800px) ───────────── */
@media (max-width: 1200px) {
	.srt-search { margin-left: 30px; width: auto; flex: 1 1 auto; max-width: 410px; }
	.srt-archive { grid-template-columns: 260px minmax(0, 1fr); }
	.srt-footer__inner { grid-template-columns: repeat(3, 1fr); row-gap: 30px; padding: 0 15px; }
}
@media (max-width: 767px) {
	.footer-newsletter { flex-direction: column; }
	.footer-newsletter h5 { width: 100%; display: table; text-align: center; font-size: 16px; padding: 15px; }
	.footer-newsletter form { width: 100%; }
}
@media (max-width: 800px) {
	/* Live mobile header: 96px bar (menu | centred 186x35 logo | search icon),
	   then a full-width white 35px search strip; no cart in the bar. */
	.srt-header__inner { flex-wrap: wrap; min-height: 0; padding: 0; gap: 0; }
	.srt-menu-toggle { order: 1; flex: 0 0 55px; height: 96px; }
	.srt-logo { order: 2; flex: 1 1 auto; display: flex; justify-content: center; margin: 0; }
	.srt-logo img { width: 186px !important; height: 35px !important; }
	.srt-search-toggle { order: 3; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 61px; height: 96px; background: none; border: 0; color: #4e4e4e; cursor: pointer; }
	.srt-header .srt-user { display: none; }
	.srt-search { order: 4; flex: 1 1 100%; max-width: none !important; margin: 0 !important; background: #fff; border-bottom: 1px solid #e5e5e5; }
	.srt-search input { height: 35px; border: 0; border-radius: 0; text-align: center; padding: 0 45px; }
	.srt-search__icon { left: 20px; width: 20px; height: 20px; }
	.srt-nav__account { display: block; list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(0,0,0,.1); }
	.srt-nav__account a { display: block; padding: 12px 15px; font: 700 14px/21px var(--st-cond); text-transform: uppercase; color: var(--st-dark); text-decoration: none; }
	.srt-crumbs { display: none; }
	.srt-archive__top .srt-archive__title { margin-top: 36px; }
	.srt-sidebar { padding: 0; border: 0; margin: 0 0 20px; background: none; }
	.srt-sidebar__toggle { display: flex; align-items: center; gap: 12px; width: 100%; height: 45px; padding: 0 15px; background: #f4f4f4; border: 0; font: 700 14px var(--st-cond); text-transform: uppercase; color: #333; cursor: pointer; }
	.srt-sidebar__body { display: none; border: 1px solid var(--st-line); border-top: 0; padding: 15px 20px 5px; }
	.srt-sidebar.is-open .srt-sidebar__body { display: block; }
	.woocommerce-ordering { flex: 1 1 100%; position: relative; border: 1px solid #ccc; height: 34px; padding-left: 12px; }
	.woocommerce-ordering::before { width: auto; color: #969696; }
	.woocommerce-ordering select { flex: 1 1 auto; width: auto; }

	.srt-menu-toggle { display: inline-flex; align-items: center; justify-content: center; background: none; border: 0; color: #fff; padding: 0; cursor: pointer; }
	.srt-menu-toggle__icon, .srt-menu-toggle__icon::before, .srt-menu-toggle__icon::after { display: block; width: 22px; height: 2px; background: currentColor; position: relative; }
	.srt-menu-toggle__icon::before, .srt-menu-toggle__icon::after { content: ""; position: absolute; left: 0; }
	.srt-menu-toggle__icon::before { top: -7px; }
	.srt-menu-toggle__icon::after { top: 7px; }
	.srt-nav { display: none; }
	.srt-menu-open .srt-nav { display: block; }
	.srt-nav__list { flex-direction: column; }
	.srt-nav__link { padding: 12px 15px; border-bottom: 1px solid rgba(0,0,0,.08); justify-content: space-between; }
	.srt-nav__sub { position: static; min-width: 0; padding: 6px 15px 12px 30px; }
	.srt-nav__item:hover > .srt-nav__sub { display: none; }
	.srt-nav__item.is-open > .srt-nav__sub { display: block; }
	.srt-archive { grid-template-columns: minmax(0, 1fr); padding: 10px 0 30px; }
	.srt-archive__side { padding: 0 15px; }
	.srt-toolbar { flex-wrap: wrap; gap: 10px; }
	/* Live mobile grid: 2 columns inset 30px each side (cards x=30 / 188). */
	.woocommerce ul.products.srt-grid, ul.products.srt-grid, .woocommerce .srt-archive ul.products,
	.woocommerce ul.products.srt-grid--4, ul.products.srt-grid--4, .srt-home-products ul.products.srt-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0 19.5px; }
	.woocommerce ul.products li.product.srt-card, ul.products li.srt-card, .srt-home-products ul.products.srt-grid--4 li.srt-card { margin: 0 10.5px; }
	.srt-card__action { position: static; opacity: 1; }
	.srt-product__cols { grid-template-columns: minmax(0, 1fr); margin: 0; }
	.srt-product__gallery, .srt-product__details { padding: 0; }
	.srt-product__title { font-size: 26px; margin-top: 20px; }
	.srt-carousel__text { padding: 0 30px; }
	.srt-carousel__title { font-size: 28px; }
	.srt-carousel__sub { font-size: 15px; }
	.srt-carousel__arrow { height: 80px; width: 32px; }
	.srt-home-blog .blog-thumbnail { margin: 0 0 21px; }
.srt-home-blog .blog-thumbnail img { width: 100%; height: 354px; object-fit: cover; display: block; }
.srt-home-blog .blog-date { color: #989898; margin: 0; }
.srt-home-blog .blog-title { font: 500 28px/1.2 var(--st-sans); text-transform: none; letter-spacing: normal; color: #333; margin: 0 0 7px; }
.srt-home-blog .blog-title a { color: #007bff; text-decoration: none; }
.srt-home-blog .blog-post { color: #333; }
.srt-home-blog .read-more { margin: 15px 0 0; }
.srt-home-blog .read-more a { color: #0f654b; text-decoration: none; }
.srt-home-blog__grid { grid-template-columns: minmax(0, 1fr); }
	.srt-post-card--row { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.srt-form__row { grid-template-columns: minmax(0, 1fr); }
	.footer-newsletter .form-field .form-prefixPostfix.wrap { margin: auto; }
	.srt-footer__inner { grid-template-columns: 1fr 1fr; }
	.srt-footer__col--address { grid-column: 1 / -1; }
	.srt-footer__fda { padding: 15px; }
}

/* ── Merchandising (2026-09-30): under Add to Cart, upsells, free-shipping meter ── */
.srt-aside { display: grid; gap: 14px; margin-top: 18px; }
.srt-aside__head { font: 700 13px/1.2 var(--st-cond); text-transform: uppercase; letter-spacing: .02em; color: var(--st-text); margin: 0 0 6px; }
/* Free-shipping meter: product page, cart page, add-to-cart confirmation. */
.srt-ship-meter { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 5px 10px; padding: 8px 12px; background: #f2f7f5; border: 1px solid #d9e7e2; border-radius: 3px; color: var(--st-ink); font-size: 14px; line-height: 1.35; }
.srt-ship-meter__icon { color: var(--st-forest); }
.srt-ship-meter__text { margin: 0; }
.srt-ship-meter__text strong { font-weight: 700; }
.srt-ship-meter__bar { grid-column: 1 / -1; height: 6px; background: #dce8e3; border-radius: 3px; overflow: hidden; }
.srt-ship-meter__bar > span { display: block; height: 100%; background: var(--st-teal); border-radius: inherit; transition: width .4s ease; }
.srt-ship-meter.is-done { background: #e9f4ef; border-color: #bcd9cd; }
.srt-ship-meter.is-done .srt-ship-meter__bar > span { background: var(--st-forest); }
/* "Pairs well with": compact add-on rows. */
.srt-pairs__list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--st-line); border-radius: 3px; }
.srt-pair { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 5px 10px 5px 6px; }
.srt-pair + .srt-pair { border-top: 1px solid var(--st-line); }
.srt-pair__img, .srt-pair__img img { display: block; width: 44px; height: 44px; }
.srt-pair__img img { object-fit: contain; }
.srt-pair__name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--st-ink); font: 500 13px/16px var(--st-cond); text-transform: uppercase; text-decoration: none; }
.srt-pair__name:hover { text-decoration: underline; }
.srt-pair__price { display: block; margin-top: 1px; color: var(--st-text); font-size: 13px; line-height: 1.3; }
.srt-pair__price del { color: #999; }
.srt-pair__price ins { text-decoration: none; }
.woocommerce .srt-pair a.srt-pair__add.button, .srt-pair a.srt-pair__add { margin: 0; padding: 8px 12px; background: #fff; color: var(--st-ink); border: 1px solid var(--st-ink); border-radius: 2px; font: 700 13px/1 var(--st-cond); text-transform: uppercase; white-space: nowrap; }
.woocommerce .srt-pair a.srt-pair__add.button:hover, .srt-pair a.srt-pair__add:hover { background: var(--st-ink); color: #fff; }
.woocommerce .srt-pair a.srt-pair__add.button.loading { opacity: .6; padding-right: 12px; }
.woocommerce .srt-pair a.srt-pair__add.button.loading::after, .woocommerce .srt-pair a.srt-pair__add.button.added::after { content: none; display: none; }
.srt-pair a.added_to_cart { display: none; } /* the confirmation box has View cart */
/* Quick facts: one row of tiles (they wrap and stretch when there are more). */
.srt-facts__grid { display: flex; flex-wrap: wrap; gap: 1px; margin: 0; background: var(--st-line); border: 1px solid var(--st-line); border-radius: 3px; overflow: hidden; }
.srt-fact { flex: 1 1 92px; min-width: 0; padding: 6px 10px 7px; background: #fff; }
.srt-fact dt { margin: 0 0 1px; font: 600 11px/1.3 var(--st-cond); text-transform: uppercase; letter-spacing: .03em; color: var(--st-muted); }
.srt-fact dd { margin: 0; font-size: 13px; line-height: 1.3; color: var(--st-ink); overflow-wrap: anywhere; }
/* Trust list: two columns. */
.srt-trust { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 14px; list-style: none; margin: 0; padding: 0; }
.srt-trust__item { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; line-height: 1.35; color: var(--st-ink); }
.srt-trust__icon { flex: 0 0 16px; width: 16px; height: 16px; margin-top: 1px; color: var(--st-teal); }
.srt-trust a { color: #0f654b; }
.srt-trust a[href^="tel:"] { white-space: nowrap; }
@media (max-width: 479px) { .srt-trust { grid-template-columns: minmax(0, 1fr); } }
/* Cart page: the meter above WooCommerce's cart block. */
.srt-cart-meter { max-width: 640px; margin: 0 0 24px; }
.srt-cart-meter[hidden], .srt-toast__meter[hidden] { display: none; }
/* Add-to-cart confirmation: the meter on its own row. */
.srt-toast { flex-wrap: wrap; }
.srt-toast__text { flex-basis: 0; } /* the name ellipsizes; View cart stays on the first row */
.srt-toast__meter { flex: 1 1 100%; }
.srt-toast__meter .srt-ship-meter { padding: 8px 10px; font-size: 13px; }
/* Cart cross-sells ("You may be interested in…", WooCommerce's Product Collection block) as theme cards. */
.srt-woo .wp-block-woocommerce-product-collection { margin-top: 36px; }
.srt-woo .wp-block-woocommerce-product-collection > h2 { margin: 0 0 18px !important; font: 700 21px/1.2 var(--st-cond); text-transform: uppercase; color: var(--st-ink); }
.srt-woo .wp-block-woocommerce-product-collection .wc-block-components-product-image { padding: 3px; border: 1px solid var(--st-line); background: #fff; }
.srt-woo .wp-block-woocommerce-product-collection .wc-block-components-product-image img { object-fit: contain; }
/* The title block carries a preset font size (!important) and inline margins. */
.srt-woo .wp-block-woocommerce-product-collection .wp-block-post-title { margin: 10px 0 6px !important; font: 500 15px/18px var(--st-cond) !important; text-transform: uppercase; }
.srt-woo .wp-block-woocommerce-product-collection .wp-block-post-title a:not(.wp-element-button) { color: var(--st-text); text-decoration: none; }
.srt-woo .wp-block-woocommerce-product-collection .wp-block-post-title a:not(.wp-element-button):hover { text-decoration: underline; }
.srt-woo .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-price { color: var(--st-text); font-size: 14px; }
@media (prefers-reduced-motion: reduce) {
	.srt-ship-meter__bar > span { transition: none; }
}
