/* ==========================================================================
   Superstrain – brand styles
   Colors/fonts come from theme.json presets so they stay editable in
   Appearance > Editor > Styles.
   ========================================================================== */

:root {
	--ss-ink: var(--wp--preset--color--contrast);
	--ss-green: var(--wp--preset--color--green);
	--ss-forest: var(--wp--preset--color--forest);
	--ss-deep: var(--wp--preset--color--deep);
	--ss-leaf: var(--wp--preset--color--leaf);
	--ss-lime: var(--wp--preset--color--lime);
	--ss-foam: var(--wp--preset--color--foam);
	--ss-mist: var(--wp--preset--color--mist);
	--ss-muted: var(--wp--preset--color--muted);
	--ss-line: #DCEBE2;
	--ss-radius: 24px;
	--ss-radius-sm: 16px;
	--ss-shadow: 0 10px 30px rgba(10, 42, 26, .10);
	--ss-shadow-lift: 0 18px 45px rgba(10, 42, 26, .18);
	--ss-display: var(--wp--preset--font-family--archivo);
	--ss-section-y: clamp(48px, 7vw, 96px);
	--ss-gap: clamp(12px, 1.6vw, 20px);
}

html { scroll-behavior: smooth; scroll-padding-top: 130px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; overflow-x: clip; }
.wp-site-blocks { padding-top: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.ss-main > * { margin-block: 0 !important; }
img { height: auto; max-width: 100%; }

/* Generic section rhythm */
.ss-section { padding-top: var(--ss-section-y); padding-bottom: var(--ss-section-y); }
.ss-kicker {
	font-family: var(--ss-display);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .14em;
	font-size: .82rem;
	color: var(--ss-leaf);
	margin-bottom: 0;
}
mark.has-inline-color { padding: 0; }

/* Buttons ------------------------------------------------------------------ */
.wp-element-button,
.wp-block-button__link {
	transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease;
}
.wp-block-button__link:hover,
.wp-element-button:hover { transform: translateY(-2px); }
.wp-block-button__link:active,
.wp-element-button:active { transform: translateY(3px); box-shadow: 0 2px 0 var(--ss-ink); }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: #fff;
	color: var(--ss-ink);
	border: 2px solid var(--ss-ink);
	padding: calc(.9rem - 2px) calc(1.75rem - 2px);
	box-shadow: 0 5px 0 var(--ss-ink);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--ss-green); color: var(--ss-ink); }
.wp-block-button.is-style-ss-white > .wp-block-button__link { background: #fff; color: var(--ss-ink); }
.wp-block-button.is-style-ss-white > .wp-block-button__link:hover { background: var(--ss-foam); color: var(--ss-ink); }
.wp-block-button.is-style-ss-dark > .wp-block-button__link { background: var(--ss-ink); color: #fff; box-shadow: 0 5px 0 var(--ss-green); }
.wp-block-button.is-style-ss-dark > .wp-block-button__link:hover { background: var(--ss-green); color: var(--ss-ink); box-shadow: 0 5px 0 var(--ss-ink); }
:where(.wp-element-button, .wp-block-button__link):focus-visible,
a:focus-visible, summary:focus-visible, button:focus-visible, input:focus-visible {
	outline: 3px solid var(--ss-green);
	outline-offset: 3px;
}

/* Header ------------------------------------------------------------------- */
header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--ss-mist);
	transition: background-color .25s ease;
}
.admin-bar header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar header.wp-block-template-part { top: 0; } }
body.ss-scrolled header.wp-block-template-part { background: transparent; }

.ss-announce {
	background: var(--ss-ink);
	color: #fff;
	overflow: hidden;
	padding-top: 7px !important;
	padding-bottom: 7px !important;
}
.ss-announce .ss-marquee {
	margin: 0;
	font-family: var(--ss-display);
	font-weight: 600;
	font-size: .78rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	white-space: nowrap;
	text-align: center;
}
.ss-marquee.is-running { display: flex; width: max-content; max-width: none; text-align: left; animation: ss-marquee 38s linear infinite; }
.ss-marquee.is-running span { padding-right: 3rem; }
.ss-announce:hover .ss-marquee.is-running { animation-play-state: paused; }
@keyframes ss-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .ss-marquee.is-running { animation: none; } }

.ss-header { padding-top: 12px !important; padding-bottom: 12px !important; position: relative; }
.ss-header > * { margin-block: 0 !important; }
.ss-header-bar {
	background: rgba(255, 255, 255, .94);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border-radius: 22px;
	box-shadow: var(--ss-shadow);
	padding: 10px 14px 10px 20px;
	min-height: 72px;
	gap: 16px;
}
.ss-header-bar, .ss-header-right { flex-wrap: nowrap !important; }
.ss-logo { flex-shrink: 0; margin: 0; }
.ss-logo img { width: clamp(132px, 14vw, 170px); height: auto; display: block; }
.ss-header-right { gap: clamp(8px, 1.2vw, 14px); min-width: 0; }
.ss-nav { gap: clamp(12px, 1.7vw, 26px); margin-right: clamp(4px, 1vw, 12px); }
.ss-nav .wp-block-navigation-item__content { color: var(--ss-ink); text-decoration: none; padding: 6px 2px; position: relative; }
.ss-nav .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; border-radius: 3px;
	background: var(--ss-green); transform: scaleX(0); transition: transform .2s ease;
}
.ss-nav .wp-block-navigation-item__content:hover::after { transform: scaleX(1); }

/* round icon buttons: menu, search, account, cart */
.ss-nav .wp-block-navigation__responsive-container-open,
.ss-search-toggle,
.ss-account a, .ss-cart .wc-block-mini-cart__button {
	width: 44px; height: 44px; border-radius: 50%;
	align-items: center; justify-content: center;
	background: var(--ss-foam); color: var(--ss-ink);
	border: 0; padding: 0; cursor: pointer;
	transition: background-color .15s ease, color .15s ease;
}
.ss-search-toggle, .ss-account a, .ss-cart .wc-block-mini-cart__button { display: inline-flex; }
.ss-search-toggle:hover, .ss-account a:hover, .ss-cart .wc-block-mini-cart__button:hover,
.ss-nav .wp-block-navigation__responsive-container-open:hover { background: var(--ss-green); color: var(--ss-ink); }
.ss-search-toggle[aria-expanded="true"] { background: var(--ss-ink); color: #fff; }
.ss-account a, .ss-account .wc-block-customer-account__account-icon { padding: 0 !important; }
.ss-account svg, .ss-cart svg { width: 22px !important; height: 22px !important; }
.ss-cart .wc-block-mini-cart__badge { background: var(--ss-green); color: var(--ss-ink); border: 2px solid #fff; font-weight: 700; }
@media (max-width: 599px) { .ss-nav .wp-block-navigation__responsive-container-open { display: inline-flex; } }

.ss-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: linear-gradient(160deg, var(--ss-deep), var(--ss-leaf)) !important;
	color: #fff !important;
	padding: 24px;
}
.ss-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	color: #fff; font-size: 1.6rem; padding: 8px 0;
}
.ss-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 10px; }
.ss-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.ss-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start !important; }
.ss-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { color: #fff; }
/* The frosted blur traps the full-screen menu inside the bar, so drop it while the menu is open */
.ss-header-bar:has(.wp-block-navigation__responsive-container.is-menu-open) {
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

/* Search row: drops down from the icon on desktop, always visible under the bar on phones/tablets.
   To use a search plugin, replace the Search block inside this row with the plugin's block or shortcode. */
.ss-search-row { margin-top: 10px !important; }
.ss-search-row > * { margin: 0 !important; max-width: none !important; }
.ss-search-row form,
.ss-search-row .wp-block-search__inside-wrapper,
.ss-search-row .dgwt-wcas-search-wrapp { width: 100%; max-width: none; }
.ss-search .wp-block-search__inside-wrapper {
	background: #fff;
	border: 2px solid var(--ss-ink);
	border-radius: 999px;
	padding: 4px 4px 4px 18px;
	box-shadow: var(--ss-shadow);
	align-items: center;
	box-sizing: border-box;
	flex-wrap: nowrap;
	gap: 8px;
}
.ss-search .wp-block-search__input {
	border: 0; background: transparent; padding: 8px 0; min-width: 0; width: auto; flex: 1 1 auto;
	font: inherit; font-size: 1rem; color: var(--ss-ink); outline: none; border-radius: 0;
}
.ss-search .wp-block-search__input::placeholder { color: var(--ss-muted); opacity: 1; }
.ss-search .wp-block-search__button {
	margin: 0; width: 40px; height: 40px; min-width: 40px; padding: 0;
	border-radius: 50%; box-shadow: none;
	background: var(--ss-green); color: var(--ss-ink);
	display: inline-flex; align-items: center; justify-content: center;
}
.ss-search .wp-block-search__button:hover { background: var(--ss-ink); color: #fff; transform: none; }
.ss-search .wp-block-search__button svg { width: 24px; height: 24px; min-width: 24px; fill: currentColor; }
@media (min-width: 1025px) {
	.ss-search-row { display: none; }
	body.ss-search-open .ss-search-row { display: block; animation: ss-drop .18s ease; }
	.ss-search .wp-block-search__inside-wrapper { padding-left: 24px; }
	.ss-search .wp-block-search__input { padding: 10px 0; font-size: 1.05rem; }
}
@keyframes ss-drop { from { transform: translateY(-8px); } }
@media (max-width: 1024px) {
	.ss-search-toggle { display: none; }
	.ss-search-row { margin-top: 8px !important; }
}
.editor-styles-wrapper .ss-search-row { display: block; }

/* FiboSearch in the header search row */
.ss-search-fibo .dgwt-wcas-search-wrapp { max-width: none !important; width: 100%; margin: 0; min-width: 0; }
.ss-search-fibo .dgwt-wcas-sf-wrapp { padding: 0 !important; background: transparent !important; }
.ss-search-fibo .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input {
	height: 50px; line-height: 1.2;
	background: #fff !important;
	border: 2px solid var(--ss-ink) !important;
	border-radius: 999px !important;
	box-shadow: var(--ss-shadow) !important;
	padding: 8px 56px 8px 22px !important;
	font: inherit; font-size: 1rem; color: var(--ss-ink);
}
.ss-search-fibo .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input::placeholder { color: var(--ss-muted); opacity: 1; font-style: normal; }
.ss-search-fibo .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input:focus { outline: 3px solid var(--ss-green); outline-offset: 2px; }
/* magnifier / submit sits as a green circle on the right */
.ss-search-fibo .dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit,
.ss-search-fibo .dgwt-wcas-no-submit .dgwt-wcas-ico-magnifier {
	left: auto !important; right: 6px !important; top: 6px !important; bottom: auto !important;
	width: 38px !important; height: 38px !important; min-width: 0 !important; margin: 0 !important;
	border-radius: 50% !important;
}
.ss-search-fibo .dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit { background: var(--ss-green) !important; color: var(--ss-ink) !important; padding: 0 !important; box-shadow: none; font-size: 0; }
.ss-search-fibo .dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit::before { display: none !important; }
.ss-search-fibo .dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit svg { width: 18px; height: 18px; }
.ss-search-fibo .dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit svg path { fill: var(--ss-ink) !important; }
.ss-search-fibo .dgwt-wcas-no-submit .dgwt-wcas-ico-magnifier { background: var(--ss-green); padding: 10px; box-sizing: border-box; opacity: 1; }
.ss-search-fibo .dgwt-wcas-no-submit .dgwt-wcas-ico-magnifier path { fill: var(--ss-ink); }
.ss-search-fibo .dgwt-wcas-preloader,
.ss-search-fibo .dgwt-wcas-voice-search { right: 50px !important; }
.dgwt-wcas-suggestions-wrapp { border-radius: 18px !important; border: 2px solid var(--ss-ink) !important; overflow: hidden; box-shadow: var(--ss-shadow-lift); margin-top: 6px; }
.dgwt-wcas-suggestion-selected { background: var(--ss-foam) !important; }
.dgwt-wcas-st strong, .dgwt-wcas-sp .amount { color: var(--ss-leaf); }
@media (max-width: 781px) {
	.ss-search-fibo .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input { height: 44px; font-size: 16px; padding-left: 18px !important; }
	.ss-search-fibo .dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit,
	.ss-search-fibo .dgwt-wcas-no-submit .dgwt-wcas-ico-magnifier { width: 34px !important; height: 34px !important; top: 5px !important; right: 5px !important; }
}

/* Tablet: use the hamburger up to 1024px so the bar stays on one line */
@media (min-width: 600px) and (max-width: 1024px) {
	.ss-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: inline-flex !important; }
	.ss-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
	.ss-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { flex-direction: column; align-items: flex-start; }
	.ss-header-right { gap: 10px !important; }
}
@media (max-width: 1024px) { .ss-nav { margin-right: 0; } }
@media (min-width: 1025px) and (max-width: 1240px) {
	.ss-nav { gap: 14px !important; }
	.ss-nav .wp-block-navigation-item__content { font-size: .84rem; }
	.ss-logo img { width: 140px; }
}

/* Banner ------------------------------------------------------------------- */
.ss-banner { position: relative; background: var(--ss-forest); overflow: hidden; }
.ss-banner > * { margin: 0 !important; max-width: none !important; }
.ss-banner figure, .ss-banner a { display: block; }
.ss-banner img { display: block; width: 100%; height: auto; }
.ss-banner-desktop img { aspect-ratio: 3 / 1; object-fit: cover; min-height: 220px; }
.ss-banner-mobile { display: none !important; }
.ss-banner-mobile img { aspect-ratio: 1 / 1; object-fit: cover; }
/* the glow that blends the banner into the category section */
.ss-banner::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 36%;
	pointer-events: none;
	background: linear-gradient(to bottom, rgba(15, 61, 38, 0) 0%, rgba(15, 61, 38, .55) 55%, var(--ss-forest) 100%);
}
@media (max-width: 599px) {
	.ss-banner-desktop { display: none !important; }
	.ss-banner-mobile { display: block !important; }
	.ss-banner::after { height: 30%; }
}
.editor-styles-wrapper .ss-banner-mobile { display: block !important; max-width: 320px !important; margin: 12px auto !important; }

/* Category cards ----------------------------------------------------------- */
.ss-cats {
	position: relative;
	background: var(--ss-forest);
	padding-top: clamp(6px, 1.2vw, 16px);
	padding-bottom: clamp(44px, 6vw, 80px);
	margin-top: -1px !important;
}
.ss-rule-title {
	display: flex; align-items: center; gap: clamp(12px, 2vw, 28px);
	color: #fff !important;
	font-size: clamp(1.35rem, 3vw, 2.2rem) !important;
	text-transform: uppercase; letter-spacing: .02em !important;
	margin: 0 auto clamp(20px, 3vw, 34px) !important;
	white-space: nowrap;
}
.ss-rule-title::before, .ss-rule-title::after { content: ""; flex: 1; height: 2px; background: rgba(255, 255, 255, .35); }
.ss-cat-grid { gap: var(--ss-gap) !important; }
.ss-cat-card {
	background: #fff;
	border-radius: var(--ss-radius);
	padding: 14px 14px 18px;
	box-shadow: 0 16px 40px rgba(0, 0, 0, .28);
	gap: 10px !important;
	transition: transform .2s ease, box-shadow .2s ease;
}
.ss-cat-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(0, 0, 0, .36); }
.ss-cat-media {
	position: relative;
	border-radius: 18px;
	aspect-ratio: 4 / 3;
	flex-shrink: 0;
	width: 100%;
	box-sizing: border-box;
	overflow: hidden;
	display: grid !important;
	place-items: center;
	padding: 4% !important;
	isolation: isolate;
}
.ss-cat-media::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background:
		radial-gradient(circle closest-side, rgba(255,255,255,.22), rgba(255,255,255,0)) 105% -20% / 70% 90% no-repeat,
		radial-gradient(circle closest-side, rgba(255,255,255,.14), rgba(255,255,255,0)) -15% 120% / 60% 80% no-repeat;
}
.ss-cat-media > * { grid-area: 1 / 1; margin: 0 !important; max-width: 100% !important; height: 100%; }
.ss-cat-media .wp-block-image { width: 100%; height: 100%; }
.ss-cat-media a { display: block; height: 100%; }
.ss-cat-media img { position: absolute; inset: 7%; width: 86%; height: 86%; object-fit: contain; filter: drop-shadow(0 12px 16px rgba(0,0,0,.22)); transition: transform .3s ease; }
.ss-cat-card:hover .ss-cat-media img { transform: scale(1.07) rotate(-3deg); }
.ss-cat-name {
	font-size: 1.35rem !important;
	text-transform: uppercase;
	letter-spacing: 0 !important;
	margin: 6px 4px 0 !important;
}
.ss-cat-desc { margin: 0 4px !important; color: var(--ss-muted); font-size: .96rem; line-height: 1.45; flex-grow: 1; }
.ss-cat-btn { margin-top: 6px !important; width: 100%; }
.ss-cat-btn .wp-block-button__link { background: var(--ss-ink); color: #fff; box-shadow: 0 5px 0 var(--ss-green); font-size: .92rem; text-transform: uppercase; letter-spacing: .05em; }
.ss-cat-btn .wp-block-button__link:hover { background: var(--ss-green); color: var(--ss-ink); box-shadow: 0 5px 0 var(--ss-ink); }
/* 4 across on desktop, 2x2 below (never 3 + 1) */
.ss-cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
@media (min-width: 900px) { .ss-cat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }
@media (min-width: 900px) {
	/* let the cards ride up into the banner glow */
	.ss-cats { padding-top: 0; }
	.ss-cats > * { position: relative; z-index: 2; }
	.ss-rule-title { margin-top: clamp(-70px, -4.5vw, -30px) !important; }
}

/* Product sliders ---------------------------------------------------------- */
.ss-shelf { position: relative; }
.ss-shelf-head { margin-bottom: clamp(20px, 3vw, 34px) !important; gap: 14px 24px; }
.ss-shelf-title > * { margin: 0 !important; }
.ss-shelf-title h2, .ss-shelf-head h2 { margin-top: .5rem !important; }
.ss-shelf h2 { font-size: clamp(1.8rem, 4vw, 2.9rem) !important; }
.ss-shelf-tools { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.ss-shelf-nav { display: flex; gap: 8px; }
.ss-shelf-nav button {
	width: 46px; height: 46px; border-radius: 50%; padding: 0;
	border: 2px solid var(--ss-ink); background: #fff; color: var(--ss-ink);
	font-size: 1.2rem; line-height: 1; cursor: pointer;
	transition: background-color .15s ease, color .15s ease, opacity .15s ease;
}
.ss-shelf-nav button:hover { background: var(--ss-green); }
.ss-shelf-nav button[disabled] { opacity: .3; cursor: default; background: #fff; }

.ss-slider { margin-top: 0 !important; margin-bottom: 0 !important; --ss-per: 4; }
.ss-shelf > .ss-slider { max-width: var(--wp--style--global--wide-size) !important; }
.ss-shelf .ss-slider .wc-block-product-template,
.ss-shelf .ss-slider ul.wp-block-woocommerce-product-template {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: var(--ss-gap) !important;
	grid-template-columns: none !important;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	margin: 0 !important;
	padding: 6px 4px 22px !important;
	list-style: none;
}
.ss-shelf .ss-slider .wc-block-product-template::-webkit-scrollbar { display: none; }
.ss-shelf .ss-slider .wc-block-product-template > li {
	flex: 0 0 calc((100% - (var(--ss-per) - 1) * var(--ss-gap)) / var(--ss-per)) !important;
	width: auto !important; max-width: none !important; min-width: 0;
	margin: 0 !important;
	box-sizing: border-box;
	scroll-snap-align: start;
	display: flex; flex-direction: column; gap: 8px;
	background: #fff;
	border: 1px solid var(--ss-line);
	border-radius: var(--ss-radius);
	padding: 12px 12px 16px;
	box-shadow: var(--ss-shadow);
	transition: transform .2s ease, box-shadow .2s ease;
}
.ss-shelf .ss-slider .wc-block-product-template > li:hover { transform: translateY(-4px); box-shadow: var(--ss-shadow-lift); }
.ss-shelf .ss-slider li > * { margin: 0 !important; }
.ss-shelf .ss-slider .wc-block-components-product-image {
	border-radius: 16px; overflow: hidden; background: #fff; aspect-ratio: 1 / 1;
	display: block; width: 100%;
}
.ss-shelf .ss-slider .wc-block-components-product-image a { display: block; height: 100%; }
.ss-shelf .ss-slider .wc-block-components-product-image img {
	width: 100% !important; height: 100% !important; object-fit: contain; border-radius: 0; display: block;
	transition: transform .3s ease;
}
.ss-shelf .ss-slider li:hover .wc-block-components-product-image img { transform: scale(1.05); }
.ss-shelf .ss-slider .wp-block-post-title {
	font-family: var(--ss-display); font-weight: 700; font-size: 1rem !important; line-height: 1.25;
	letter-spacing: 0; text-transform: none; text-align: left;
	padding: 0 4px;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	min-height: 2.5em;
}
.ss-shelf .ss-slider .wp-block-post-title a { color: var(--ss-ink); text-decoration: none; }
.ss-shelf .ss-slider .wp-block-post-title a:hover { color: var(--ss-leaf); }
.ss-shelf .ss-slider .wp-block-woocommerce-product-price,
.ss-shelf .ss-slider .wc-block-components-product-price {
	font-family: var(--ss-display); font-weight: 800; font-size: 1.1rem; color: var(--ss-ink);
	text-align: left; padding: 0 4px; flex-grow: 1;
}
.ss-shelf .ss-slider .wc-block-components-product-price del { color: var(--ss-muted); font-weight: 500; font-size: .9em; }
.ss-shelf .ss-slider .wc-block-components-product-price ins { text-decoration: none; color: var(--ss-leaf); }
.ss-shelf .ss-slider .wp-block-woocommerce-product-button,
.ss-shelf .ss-slider .wc-block-components-product-button { width: 100%; margin-top: 4px !important; }
.ss-shelf .ss-slider .wc-block-components-product-button .wp-block-button__link,
.ss-shelf .ss-slider .wc-block-components-product-button a.added_to_cart {
	width: 100%; box-sizing: border-box; text-align: center; justify-content: center;
	padding: .7rem .6rem !important; font-size: .86rem !important;
	text-transform: uppercase; letter-spacing: .05em;
	box-shadow: 0 4px 0 var(--ss-ink) !important;
}
.ss-shelf .ss-slider .wc-block-components-product-sale-badge { top: 8px; left: 8px; right: auto; }
@media (max-width: 1100px) { .ss-shelf .ss-slider { --ss-per: 3; } }
@media (max-width: 781px) { .ss-shelf .ss-slider { --ss-per: 2.25; } }
@media (max-width: 480px) { .ss-shelf .ss-slider { --ss-per: 1.6; } }

/* 1) Vaporizers: clean white shelf */
.ss-shelf-light { background: #fff; }

/* 2) Glass: dark band with an intro panel beside the slider */
.ss-shelf-dark {
	background:
		radial-gradient(circle closest-side, rgba(31, 181, 84, .30), rgba(31, 181, 84, 0)) -8% 10% / 640px 640px no-repeat,
		var(--ss-ink);
	color: #fff;
}
.ss-shelf-dark h2 { color: #fff; }
.ss-shelf-dark .ss-kicker { color: var(--ss-lime); }
.ss-shelf-split { gap: clamp(20px, 3vw, 44px) !important; align-items: center !important; margin: 0 auto !important; }
.ss-shelf-intro > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.ss-shelf-intro h2 { margin-top: .6rem !important; }
.ss-shelf-intro p:not(.ss-kicker) { color: rgba(255, 255, 255, .78); margin-top: 1rem !important; }
.ss-shelf-intro .wp-block-buttons { margin-top: 1.5rem !important; }
.ss-shelf-intro .wp-block-button__link { box-shadow: 0 5px 0 #fff; }
.ss-shelf-intro .wp-block-button__link:hover { background: #fff; color: var(--ss-ink); box-shadow: 0 5px 0 var(--ss-green); }
.ss-shelf-intro .ss-shelf-nav { margin-top: 1.5rem; }
.ss-shelf-dark .ss-shelf-nav button { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .55); }
.ss-shelf-dark .ss-shelf-nav button:hover { background: #fff; color: var(--ss-ink); border-color: #fff; }
.ss-shelf-dark .ss-shelf-nav button[disabled] { background: transparent; color: #fff; }
.ss-shelf-track { min-width: 0; }
.ss-shelf.ss-shelf-dark .ss-slider { --ss-per: 3; }
.ss-shelf-dark .ss-slider .wc-block-product-template > li { border-color: transparent; box-shadow: 0 14px 34px rgba(0, 0, 0, .4); }
@media (max-width: 1100px) { .ss-shelf.ss-shelf-dark .ss-slider { --ss-per: 2.4; } }
@media (max-width: 781px) {
	.ss-shelf-split { flex-direction: column; align-items: stretch !important; }
	.ss-shelf-split > .wp-block-column { flex-basis: auto !important; width: 100%; }
	.ss-shelf.ss-shelf-dark .ss-slider { --ss-per: 2.25; }
}
@media (max-width: 480px) { .ss-shelf.ss-shelf-dark .ss-slider { --ss-per: 1.6; } }

/* 3) Grinders: soft green rounded panel, centred heading */
.ss-shelf-panel { background: #fff; padding-top: clamp(28px, 4vw, 56px); }
.ss-shelf-box {
	background:
		radial-gradient(circle closest-side, rgba(143, 232, 174, .55), rgba(143, 232, 174, 0)) 105% -30% / 520px 520px no-repeat,
		var(--ss-foam);
	border-radius: clamp(22px, 3vw, 40px);
	padding: clamp(26px, 4vw, 56px) clamp(14px, 3vw, 44px);
	position: relative;
}
.ss-shelf-box > * { margin-left: 0 !important; margin-right: 0 !important; }
.ss-shelf-head-center > * { margin: 0 !important; }
.ss-shelf-head-center h2 { margin-top: .5rem !important; }
.ss-shelf-head-center .ss-shelf-nav { justify-content: center; margin-top: 1rem; }
.ss-shelf-panel .ss-slider .wc-block-product-template > li { border: 0; box-shadow: none; }
.ss-shelf-panel .ss-slider .wc-block-product-template > li:hover { box-shadow: var(--ss-shadow); }
.ss-shelf-panel .ss-slider .wc-block-components-product-button .wp-block-button__link { background: var(--ss-ink); color: #fff; box-shadow: 0 4px 0 var(--ss-green) !important; }
.ss-shelf-panel .ss-slider .wc-block-components-product-button .wp-block-button__link:hover { background: var(--ss-green); color: var(--ss-ink); }
.ss-shelf-panel .ss-shelf-all { margin-top: clamp(8px, 2vw, 18px) !important; }
/* editor: let the rows scroll */
.editor-styles-wrapper .ss-shelf .ss-slider .wc-block-product-template { overflow-x: auto; }

/* Real people (video reels) ----------------------------------------------- */
.ss-real { background: var(--ss-ink); color: #fff; overflow: hidden; }
.ss-real h2 { color: #fff; margin: 0; font-size: clamp(2.1rem, 5.6vw, 3.9rem) !important; letter-spacing: -.02em; }
.ss-real-head { margin-bottom: clamp(22px, 3vw, 36px) !important; gap: 10px 24px; }
.ss-real-sub { color: rgba(255,255,255,.7); margin: 0; }
.ss-reels {
	gap: var(--ss-gap) !important;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding-bottom: 4px;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
}
.ss-reels::-webkit-scrollbar { display: none; }
.ss-reel {
	flex: 0 0 clamp(230px, 30%, 380px);
	scroll-snap-align: start;
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	aspect-ratio: 9 / 16;
	background:
		radial-gradient(circle closest-side, rgba(143,232,174,.5), rgba(143,232,174,0)) 20% 20% / 90px 90px no-repeat,
		radial-gradient(circle closest-side, rgba(143,232,174,.3), rgba(143,232,174,0)) 80% 62% / 130px 130px no-repeat,
		linear-gradient(170deg, var(--ss-leaf), var(--ss-deep));
	padding: 0 !important;
	cursor: pointer;
	isolation: isolate;
}
.ss-reel > * { max-width: none !important; margin: 0 !important; }
.ss-reel-video { position: absolute !important; inset: 0; z-index: -1; }
.ss-reel-video video { width: 100%; height: 100%; object-fit: cover; display: block; }
.ss-reel-video:not(:has(video))::before {
	content: ""; position: absolute; left: 50%; top: 45%; width: 72px; height: 72px; transform: translate(-50%, -50%);
	border-radius: 50%; background: rgba(255,255,255,.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7l8 5-8 5z' fill='%23fff'/%3E%3C/svg%3E") center / 44% no-repeat;
	border: 2px solid rgba(255,255,255,.6);
}
.ss-reel::after {
	content: ""; position: absolute; inset: 55% 0 0; z-index: -1;
	background: linear-gradient(transparent, rgba(0,0,0,.75));
	pointer-events: none;
}
.ss-reel-name, .ss-reel-handle { position: absolute; left: 18px; right: 18px; }
.ss-reel-name { bottom: 38px; font-family: var(--ss-display); font-weight: 700; font-size: 1.1rem; color: #fff; }
.ss-reel-handle { bottom: 16px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .78rem; color: rgba(255,255,255,.75); }
.ss-reel .ss-reel-sound {
	position: absolute; top: 14px; right: 14px; z-index: 2;
	width: 36px; height: 36px; border-radius: 50%; border: 0;
	background: rgba(255,255,255,.9); color: var(--ss-ink);
	display: grid; place-items: center; pointer-events: none;
}
.ss-reel .ss-reel-sound svg { width: 18px; height: 18px; }
.ss-reel.is-unmuted { outline: 3px solid var(--ss-green); outline-offset: -3px; }
.ss-reels-nav { display: flex; gap: 10px; }
.ss-reels-nav button {
	width: 48px; height: 48px; border-radius: 50%;
	border: 2px solid rgba(255,255,255,.5); background: transparent; color: #fff;
	font-size: 1.3rem; cursor: pointer; transition: background .2s ease, border-color .2s ease;
}
.ss-reels-nav button:hover { background: #fff; color: var(--ss-ink); border-color: #fff; }
.ss-reel .ss-reel-play {
	position: absolute; left: 50%; top: 45%; z-index: 3;
	width: 76px; height: 76px; transform: translate(-50%, -50%);
	border-radius: 50%; border: 3px solid rgba(255,255,255,.85);
	background: rgba(18, 21, 22, .45);
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
	color: #fff; cursor: pointer; padding: 0;
	display: grid; place-items: center;
	box-shadow: 0 10px 30px rgba(0,0,0,.35);
	transition: transform .2s ease, opacity .25s ease, background-color .2s ease;
}
.ss-reel .ss-reel-play svg { width: 34px; height: 34px; margin-left: 4px; }
.ss-reel:hover .ss-reel-play,
.ss-reel .ss-reel-play:focus-visible { background: var(--ss-green); transform: translate(-50%, -50%) scale(1.08); }
.ss-reel.is-unmuted .ss-reel-play { opacity: 0; transform: translate(-50%, -50%) scale(.6); pointer-events: none; }
.ss-reel.is-unmuted .ss-reel-sound { background: var(--ss-green); }
.ss-reel:has(video) .ss-reel-video::before { display: none; }
.editor-styles-wrapper .ss-reels { overflow-x: auto; }
.editor-styles-wrapper .ss-reel-video { position: relative !important; }
.editor-styles-wrapper .ss-reel-name,
.editor-styles-wrapper .ss-reel-handle { position: static; padding: 0 12px; }
@media (max-width: 781px) {
	.ss-reel { flex-basis: 68%; }
	.ss-reels-nav { display: none; }
}

/* Guide / SEO content ------------------------------------------------------ */
.ss-story { background: linear-gradient(180deg, var(--ss-mist) 0%, #fff 100%); }
.ss-story-cols { gap: clamp(24px, 5vw, 80px) !important; align-items: flex-start !important; }
.ss-story-side > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.ss-story-side h2 { margin-top: .7rem !important; font-size: clamp(2rem, 4.4vw, 3.3rem) !important; }
.ss-story-lead { margin-top: 1.2rem !important; font-size: 1.12rem; color: var(--ss-muted); }
.ss-story-side .wp-block-buttons { margin-top: 1.6rem !important; }
@media (min-width: 782px) { .ss-story-side { position: sticky; top: 150px; } }
.ss-story-main { counter-reset: sschap; }
.ss-story-main > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.ss-chapter {
	position: relative;
	counter-increment: sschap;
	padding: clamp(20px, 2.6vw, 30px) 0 clamp(20px, 2.6vw, 30px) clamp(64px, 8vw, 104px);
	border-top: 2px solid var(--ss-ink);
}
.ss-chapter::before {
	content: counter(sschap, decimal-leading-zero);
	position: absolute; left: 0; top: clamp(14px, 2vw, 22px);
	font-family: var(--ss-display); font-weight: 900; line-height: 1;
	font-size: clamp(2.2rem, 4.6vw, 3.6rem);
	color: transparent; -webkit-text-stroke: 2px var(--ss-green);
}
.ss-chapter > * { margin: 0 !important; }
.ss-chapter h3 { font-size: clamp(1.35rem, 2.2vw, 1.7rem) !important; text-transform: uppercase; letter-spacing: 0 !important; }
.ss-chapter p { margin-top: .6rem !important; color: var(--ss-muted); }
.ss-chapter:hover::before { color: var(--ss-green); }
.ss-story-more { border-color: var(--ss-ink) !important; border-width: 2px 0 2px 0 !important; border-radius: 0 !important; padding-left: 0 !important; padding-right: 0 !important; background: transparent; }
.ss-story-more summary { font-family: var(--ss-display); font-weight: 700; font-size: 1.05rem; cursor: pointer; color: var(--ss-ink); }
.ss-story-more p { color: var(--ss-muted); margin-top: .8rem; }

/* Latest blog posts: bright green band --------------------------------------- */
.ss-blog {
	background:
		radial-gradient(circle closest-side, rgba(255,255,255,.22), rgba(255,255,255,0)) 108% -40% / 620px 620px no-repeat,
		radial-gradient(circle closest-side, rgba(15,61,38,.28), rgba(15,61,38,0)) -10% 130% / 560px 560px no-repeat,
		var(--ss-green);
}
.ss-blog-head { margin-bottom: clamp(20px, 3vw, 34px) !important; gap: 14px 24px; }
.ss-blog-title > * { margin: 0 !important; }
.ss-blog .ss-kicker { color: var(--ss-ink); }
.ss-blog h2 { margin-top: .5rem !important; font-size: clamp(1.8rem, 4vw, 2.9rem) !important; color: var(--ss-ink); }
.ss-blog-query { margin-top: 0 !important; }
.ss-blog-grid { gap: var(--ss-gap) !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; margin: 0; padding: 0; list-style: none; }
.ss-blog-grid > li { margin: 0; display: flex; min-width: 0; }
.ss-blog-card {
	width: 100%; box-sizing: border-box;
	background: #fff; border: 2px solid var(--ss-ink); border-radius: var(--ss-radius);
	padding: 12px 12px 20px; gap: 0 !important;
	box-shadow: 0 6px 0 var(--ss-ink);
	transition: transform .2s ease, box-shadow .2s ease;
}
.ss-blog-card:hover { transform: translateY(-4px); box-shadow: 0 10px 0 var(--ss-ink); }
.ss-blog-card > * { margin: 0 !important; }
.ss-blog-card .wp-block-post-featured-image { border-radius: 16px; overflow: hidden; width: 100%; }
.ss-blog-card .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; transition: transform .3s ease; }
.ss-blog-card:hover .wp-block-post-featured-image img { transform: scale(1.04); }
/* posts without a featured image get a branded tile instead of a gap */
.ss-blog-card:not(:has(.wp-block-post-featured-image))::before {
	content: ""; display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: 16px; flex-shrink: 0;
	background: url("../images/superstrain-logo-light.webp") center / 56% auto no-repeat, linear-gradient(145deg, #1A6B41 0%, #0A2A1A 100%);
}
.ss-blog-card .wp-block-post-date {
	margin: 16px 6px 0 !important;
	font-family: var(--ss-display); font-weight: 700; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ss-leaf);
}
.ss-blog-card .wp-block-post-date a { color: inherit; text-decoration: none; }
.ss-blog-card .wp-block-post-title { margin: 6px 6px 0 !important; font-size: clamp(1.15rem, 1.8vw, 1.4rem) !important; line-height: 1.15; letter-spacing: -.01em; }
.ss-blog-card .wp-block-post-title a { color: var(--ss-ink); text-decoration: none; }
.ss-blog-card .wp-block-post-title a:hover { color: var(--ss-leaf); }
.ss-blog-card .wp-block-post-excerpt { margin: 8px 6px 0 !important; flex-grow: 1; display: flex; flex-direction: column; }
.ss-blog-card .wp-block-post-excerpt__excerpt { margin: 0; color: var(--ss-muted); font-size: .96rem; line-height: 1.5; flex-grow: 1; }
.ss-blog-card .wp-block-post-excerpt__more-text { margin: 12px 0 0; }
.ss-blog-card .wp-block-post-excerpt__more-link {
	font-family: var(--ss-display); font-weight: 700; font-size: .86rem; text-transform: uppercase; letter-spacing: .06em;
	color: var(--ss-ink); text-decoration: none; border-bottom: 3px solid var(--ss-green); padding-bottom: 2px;
}
.ss-blog-card .wp-block-post-excerpt__more-link::after { content: " \2192"; }
.ss-blog-card .wp-block-post-excerpt__more-link:hover { border-color: var(--ss-ink); }
.ss-blog-empty { color: var(--ss-ink); font-weight: 600; }
@media (max-width: 899px) { .ss-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 599px) { .ss-blog-grid { grid-template-columns: 1fr !important; } }

/* FAQ ---------------------------------------------------------------------- */
.ss-faq { background: #fff; }
.ss-faq h2 { margin-bottom: clamp(20px, 3vw, 36px) !important; }
.ss-faq-item { background: #fff; box-shadow: var(--ss-shadow); margin-top: 12px !important; transition: border-color .2s ease; }
.ss-faq-item[open] { border-color: var(--ss-green) !important; }
.ss-faq-item summary {
	font-family: var(--ss-display); font-weight: 700; font-size: 1.1rem; color: var(--ss-ink);
	list-style: none; cursor: pointer; position: relative; padding-right: 44px;
}
.ss-faq-item summary::-webkit-details-marker { display: none; }
.ss-faq-item summary::after {
	content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
	width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center;
	background: var(--ss-foam); color: var(--ss-leaf); font-size: 1.3rem; line-height: 1;
	transition: transform .2s ease, background-color .2s ease;
}
.ss-faq-item[open] summary::after { transform: translateY(-50%) rotate(45deg); background: var(--ss-green); color: var(--ss-ink); }
.ss-faq-item p { color: var(--ss-muted); margin-top: .75rem; }

/* Footer ------------------------------------------------------------------- */
footer.wp-block-template-part { margin-top: 0 !important; }
.ss-footer { padding-top: clamp(48px, 6vw, 80px) !important; padding-bottom: 32px !important; }
.ss-footer a { color: #fff; text-decoration: none; }
.ss-footer a:hover { color: var(--ss-lime); }
.ss-footer h4 { font-size: .95rem !important; text-transform: uppercase; letter-spacing: .12em !important; }
.ss-footer-logo { margin: 0 0 14px !important; }
.ss-footer-logo img { width: 230px; height: auto; display: block; }
.ss-footer-tag { color: rgba(255,255,255,.78); max-width: 26rem; }
.ss-footer-links { list-style: none; padding: 0; }
.ss-footer-links li { margin: 0 0 10px; }
.ss-footer-sep { background: rgba(255,255,255,.15) !important; opacity: 1; margin: 36px auto 22px !important; height: 1px; border: 0 !important; }
.ss-footer > .ss-disclaimer, .ss-footer > .ss-copyright { max-width: var(--wp--style--global--wide-size) !important; }
.ss-disclaimer { font-size: .8rem; color: rgba(255,255,255,.6); }
.ss-copyright { font-size: .85rem; color: rgba(255,255,255,.6); }

/* WooCommerce polish ------------------------------------------------------- */
.woocommerce .wp-block-woocommerce-product-price,
.wc-block-components-product-price { font-family: var(--ss-display); font-weight: 800; color: var(--ss-ink); }
.wc-block-components-product-sale-badge,
.wc-block-grid__product-onsale { background: var(--ss-green); color: var(--ss-ink); border: 0; border-radius: 999px; font-weight: 700; }
.wp-block-woocommerce-product-image-gallery,
.woocommerce-product-gallery,
.wc-block-components-product-image img,
.wp-block-woocommerce-product-image img { border-radius: var(--ss-radius); }
.single_add_to_cart_button,
.wc-block-components-button:not(.is-link),
.wp-block-woocommerce-product-button .wp-block-button__link {
	border-radius: 999px !important;
	font-family: var(--ss-display) !important;
	font-weight: 700 !important;
	background: var(--ss-green) !important;
	color: var(--ss-ink) !important;
	box-shadow: 0 5px 0 var(--ss-ink);
}
.single_add_to_cart_button:hover,
.wc-block-components-button:not(.is-link):hover,
.wp-block-woocommerce-product-button .wp-block-button__link:hover { background: var(--ss-ink) !important; color: #fff !important; }
.woocommerce div.product form.cart .qty,
.wc-block-components-quantity-selector { border-radius: 999px; }
.wc-block-product-template > li {
	background: #fff; border: 1px solid var(--ss-line); border-radius: var(--ss-radius);
	padding: 14px; box-shadow: var(--ss-shadow);
}
.wc-block-product-template .wp-block-post-title { font-family: var(--ss-display); font-weight: 700; }
.wc-block-product-template .wp-block-post-title a { color: var(--ss-ink); text-decoration: none; }
.woocommerce-store-notice, p.demo_store { background: var(--ss-ink); }
.wc-block-mini-cart__drawer .wc-block-mini-cart__title { font-family: var(--ss-display); }

/* Mobile refinements ------------------------------------------------------- */
@media (max-width: 781px) {
	.ss-header { padding-top: 8px !important; padding-bottom: 8px !important; }
	.ss-header-bar { padding: 8px 8px 8px 14px; border-radius: 18px; min-height: 58px; }
	.ss-logo img { width: 124px; }
	.ss-header-right { gap: 6px !important; }
	.ss-nav .wp-block-navigation__responsive-container-open,
	.ss-account a, .ss-cart .wc-block-mini-cart__button { width: 40px; height: 40px; }
	.ss-search .wp-block-search__inside-wrapper { padding: 3px 3px 3px 16px; }
	.ss-search .wp-block-search__input { padding: 6px 0; font-size: 16px; }
	.ss-search .wp-block-search__button { width: 36px; height: 36px; min-width: 36px; }

	.ss-cat-grid { gap: 12px !important; }
	.ss-cat-card { padding: 10px 10px 12px; border-radius: 18px; }
	.ss-cat-media { border-radius: 12px; }
	.ss-cat-name { font-size: 1rem !important; margin: 4px 2px 0 !important; }
	.ss-cat-desc { font-size: .82rem; line-height: 1.4; margin: 0 2px !important; }
	.ss-cat-btn .wp-block-button__link { font-size: .74rem; padding: .7rem .4rem; }

	.ss-shelf .ss-slider .wc-block-product-template > li { border-radius: 18px; padding: 8px 8px 12px; }
	.ss-shelf .ss-slider .wp-block-post-title { font-size: .9rem !important; }
	.ss-shelf .ss-slider .wc-block-components-product-button .wp-block-button__link { font-size: .74rem !important; padding: .65rem .4rem !important; }
	.ss-shelf-nav { display: none !important; }
	.ss-shelf-light .ss-shelf-all { display: none; }
	.ss-chapter { padding-left: 58px; }
}

/* ==========================================================================
   Inner pages (pages, policies, blog, posts, cart, checkout, account, shop)
   ========================================================================== */
.ss-page-hero {
	position: relative;
	background:
		radial-gradient(circle closest-side, rgba(31, 181, 84, .38), rgba(31, 181, 84, 0)) 100% -60% / 720px 720px no-repeat,
		radial-gradient(circle closest-side, rgba(143, 232, 174, .16), rgba(143, 232, 174, 0)) -8% 160% / 520px 520px no-repeat,
		var(--ss-forest);
	color: #fff;
	padding-top: clamp(36px, 6vw, 84px);
	padding-bottom: clamp(32px, 5vw, 72px);
}
.ss-page-hero > * { max-width: var(--wp--style--global--wide-size) !important; margin-left: auto !important; margin-right: auto !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.ss-page-hero h1, .ss-page-hero .wp-block-post-title, .ss-page-hero .wp-block-query-title {
	color: #fff; text-transform: uppercase; letter-spacing: -.01em;
	font-size: clamp(2.1rem, 5.6vw, 4rem) !important; line-height: 1;
	text-wrap: balance;
}
.ss-page-hero .ss-kicker, .ss-page-hero .wp-block-post-date { color: var(--ss-lime); margin-bottom: .7rem !important; }
.ss-page-hero .wp-block-post-date { font-family: var(--ss-display); font-weight: 700; text-transform: uppercase; letter-spacing: .14em; font-size: .82rem; }
.ss-page-hero .wp-block-post-date a { color: inherit; text-decoration: none; }
.ss-page-hero h1::after, .ss-page-hero .wp-block-post-title::after, .ss-page-hero .wp-block-query-title::after {
	content: ""; display: block; width: 84px; height: 6px; border-radius: 6px; background: var(--ss-green); margin-top: clamp(14px, 2vw, 22px);
}
.ss-page-post .ss-page-hero h1 { font-size: clamp(1.8rem, 4.2vw, 3.1rem) !important; text-transform: none; line-height: 1.06; }

.ss-page-body { padding-top: clamp(32px, 5vw, 64px); padding-bottom: var(--ss-section-y); background: linear-gradient(180deg, var(--ss-mist) 0, #fff 420px); }
.ss-page-body > * { margin-top: 0 !important; }
.ss-page-wide > *, .ss-page-wide .wp-block-post-content > * { max-width: var(--wp--style--global--wide-size) !important; }
.woocommerce-account .ss-page-body > .wp-block-post-content,
.woocommerce-account .ss-page-body .wp-block-post-content > * { max-width: var(--wp--style--global--wide-size) !important; }

/* long-form copy (policies, about, posts) */
.ss-page-body .wp-block-post-content { font-size: 1.06rem; line-height: 1.7; }
.ss-page-body .wp-block-post-content > * + * { margin-top: 1.1em; }
.ss-page-body .wp-block-post-content > h2 {
	font-size: clamp(1.45rem, 2.6vw, 1.9rem) !important; text-transform: uppercase; letter-spacing: 0 !important;
	margin-top: 2.2em !important; padding-top: 1.1em; border-top: 2px solid var(--ss-ink);
}
.ss-page-body .wp-block-post-content > h2:first-child { margin-top: 0 !important; border-top: 0; padding-top: 0; }
.ss-page-body .wp-block-post-content > h3 { font-size: clamp(1.15rem, 2vw, 1.35rem) !important; margin-top: 1.7em !important; }
.ss-page-body .wp-block-post-content > h4 { font-size: 1.05rem !important; margin-top: 1.5em !important; }
.ss-page-body .wp-block-post-content > p,
.ss-page-body .wp-block-post-content > :is(ul, ol) li { color: #2C3531; }
.ss-page-body .wp-block-post-content > ul:not(.ss-chip-list) { padding-left: 1.2em; }
.ss-page-body .wp-block-post-content > ul:not(.ss-chip-list) > li::marker { color: var(--ss-green); }
.ss-page-body .wp-block-post-content > :is(p, ul, ol, h2, h3, table, .ss-callout) a:not(.wp-block-button__link) { color: var(--ss-leaf); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.ss-page-body .wp-block-post-content > :is(p, ul, ol, h2, h3, table, .ss-callout) a:not(.wp-block-button__link):hover { color: var(--ss-ink); }
.ss-page-body .wp-block-post-content > :is(p, ul, ol) strong { color: var(--ss-ink); }
.ss-page-body .wp-block-post-content > table { border-collapse: collapse; width: 100%; font-size: .95rem; }
.ss-page-body .wp-block-post-content > table :is(th, td) { border: 1px solid var(--ss-line); padding: 10px 12px; text-align: left; vertical-align: top; }
.ss-page-body .wp-block-post-content > table th { background: var(--ss-foam); font-family: var(--ss-display); }
.ss-page-body .wp-block-post-content img { border-radius: var(--ss-radius-sm); }
.ss-lead { font-size: clamp(1.15rem, 2vw, 1.4rem) !important; line-height: 1.5 !important; color: var(--ss-ink) !important; font-weight: 500; }
.ss-callout {
	background: var(--ss-foam); border: 2px solid var(--ss-ink); border-radius: var(--ss-radius);
	box-shadow: 0 6px 0 var(--ss-green); padding: clamp(20px, 3vw, 32px); margin-top: 2em !important;
}
.ss-callout > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.ss-callout > * + * { margin-top: .8rem !important; }
.ss-callout h3 { margin-top: 0 !important; text-transform: uppercase; }
.ss-chip-list { list-style: none; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 10px; }
.ss-chip-list li {
	margin: 0; border: 2px solid var(--ss-ink); border-radius: 999px; background: #fff;
	font-family: var(--ss-display); font-weight: 700; font-size: .95rem; color: var(--ss-ink) !important;
	transition: background-color .15s ease, transform .15s ease;
}
.ss-chip-list li:not(:has(a)) { padding: 8px 18px; }
.ss-chip-list li a { display: block; padding: 8px 18px; color: var(--ss-ink) !important; text-decoration: none !important; }
.ss-chip-list li:has(a):hover { background: var(--ss-green); transform: translateY(-2px); }
/* FAQ page: the section sits inside the page body */
.ss-page-body .ss-faq { padding-top: 0; padding-bottom: 0; background: transparent; }
.ss-page-body .ss-faq > .ss-kicker, .ss-page-body .ss-faq > h2 { display: none; }
.ss-page-body .ss-faq-item p { margin-top: .75rem; }

/* blog list + pagination */
.ss-page-blog .ss-page-body { background: #fff; }
.ss-pagination { margin-top: clamp(28px, 4vw, 48px) !important; gap: 8px; font-family: var(--ss-display); font-weight: 700; }
.ss-pagination a, .ss-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 14px; box-sizing: border-box;
	border: 2px solid var(--ss-ink); border-radius: 999px; color: var(--ss-ink); text-decoration: none; background: #fff;
}
.ss-pagination .wp-block-query-pagination-numbers { display: flex; flex-wrap: wrap; gap: 8px; }
.ss-pagination .page-numbers.current, .ss-pagination a:hover { background: var(--ss-green); }
.ss-pagination .page-numbers.dots { border-color: transparent; background: transparent; min-width: 0; padding: 0 2px; }
/* single post */
.ss-post-image { margin-bottom: clamp(20px, 3vw, 36px) !important; max-width: 1000px !important; }
.ss-post-image img { border-radius: var(--ss-radius) !important; border: 2px solid var(--ss-ink); box-sizing: border-box; width: 100%; }
.ss-page-post .ss-page-body { padding-bottom: clamp(40px, 6vw, 72px); }

/* shop / category archives (WooCommerce's own template): title becomes the same green band */
.woocommerce-shop main .wp-block-query-title,
.tax-product_cat main .wp-block-query-title,
.tax-product_tag main .wp-block-query-title,
.tax-product_brand main .wp-block-query-title,
.post-type-archive-product main .wp-block-query-title,
body.search main > .wp-block-query-title {
	position: relative; z-index: 0; color: #fff; text-transform: uppercase;
	font-size: clamp(2.1rem, 5.6vw, 4rem) !important; line-height: 1;
	padding: clamp(30px, 5vw, 64px) 0 clamp(28px, 4.4vw, 56px); margin-top: 12px !important; margin-bottom: clamp(20px, 3vw, 36px) !important;
}
.woocommerce-shop main .wp-block-query-title::before,
.tax-product_cat main .wp-block-query-title::before,
.tax-product_tag main .wp-block-query-title::before,
.tax-product_brand main .wp-block-query-title::before,
.post-type-archive-product main .wp-block-query-title::before {
	content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); z-index: -1;
	background:
		radial-gradient(circle closest-side, rgba(31, 181, 84, .38), rgba(31, 181, 84, 0)) 100% -60% / 720px 720px no-repeat,
		var(--ss-forest);
}
.wc-block-breadcrumbs, .woocommerce-breadcrumb { font-size: .85rem; color: var(--ss-muted); }
.wc-block-breadcrumbs a, .woocommerce-breadcrumb a { color: var(--ss-leaf); }
.wc-block-product-template > li { display: flex; flex-direction: column; gap: 8px; transition: transform .2s ease, box-shadow .2s ease; }
.wc-block-product-template > li:hover { transform: translateY(-4px); box-shadow: var(--ss-shadow-lift); }
.wc-block-product-template > li > * { margin: 0 !important; }
.wc-block-product-template > li .wp-block-post-title { font-size: 1rem !important; line-height: 1.25; text-align: left; letter-spacing: 0; }
.wc-block-product-template > li .wc-block-components-product-price { text-align: left; font-size: 1.05rem; flex-grow: 1; }
.wc-block-product-template > li .wc-block-components-product-button { width: 100%; }
.wc-block-product-template > li .wc-block-components-product-button .wp-block-button__link { width: 100%; box-sizing: border-box; justify-content: center; text-align: center; padding: .7rem .6rem; font-size: .86rem; text-transform: uppercase; letter-spacing: .05em; box-shadow: 0 4px 0 var(--ss-ink); }
.wc-block-product-template > li .wc-block-components-product-image { border-radius: 16px; overflow: hidden; }
.wc-block-catalog-sorting select, .woocommerce-ordering select { border: 2px solid var(--ss-ink); border-radius: 999px; padding: 8px 14px; font: inherit; background: #fff; }
.wp-block-query-pagination .page-numbers.current { color: var(--ss-leaf); font-weight: 800; }

/* cart, checkout, account */
.ss-page-shop .ss-page-body { background: #fff; }
.wc-block-components-sidebar .wc-block-components-totals-wrapper,
.wp-block-woocommerce-cart-order-summary-block, .wp-block-woocommerce-checkout-order-summary-block {
	border-color: var(--ss-line) !important;
}
.wc-block-cart .wc-block-components-sidebar, .wc-block-checkout .wc-block-components-sidebar {
	background: var(--ss-foam); border: 2px solid var(--ss-ink); border-radius: var(--ss-radius); padding: clamp(14px, 2vw, 22px) !important; box-sizing: border-box;
}
.wc-block-components-text-input input, .wc-block-components-text-input textarea,
.wc-blocks-components-select .wc-blocks-components-select__select,
.woocommerce form .input-text, .woocommerce form select {
	border-radius: 14px !important; border-color: #B9C9BF !important;
}
.wc-block-components-text-input input:focus, .woocommerce form .input-text:focus { border-color: var(--ss-ink) !important; box-shadow: 0 0 0 2px var(--ss-green) !important; }
.wc-block-cart-items .wc-block-cart-items__row img { border-radius: 12px; }
.wc-block-components-product-name { font-family: var(--ss-display); font-weight: 700; color: var(--ss-ink); text-decoration: none; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { width: 100%; padding: 1rem 1.5rem !important; font-size: 1.05rem !important; }
.wp-block-woocommerce-empty-cart-block { text-align: center; }
.woocommerce-account .woocommerce { display: grid; gap: clamp(20px, 3vw, 40px); }
@media (min-width: 782px) { .woocommerce-account.logged-in .woocommerce { grid-template-columns: 240px minmax(0, 1fr); align-items: start; } }
.woocommerce-account .woocommerce > * { width: auto !important; float: none !important; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation { grid-column: 1; }
@media (min-width: 782px) { .woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-content { grid-column: 2; grid-row: 1 / span 3; } }
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { display: none !important; }
.woocommerce-MyAccount-content { font-size: 1.02rem; }
.woocommerce-MyAccount-content a { color: var(--ss-leaf); }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 10px !important; display: flex; flex-direction: column; gap: 4px; background: var(--ss-foam); border: 2px solid var(--ss-ink); border-radius: var(--ss-radius); }
.woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-MyAccount-navigation a { display: block; padding: 10px 14px; border-radius: 14px; font-family: var(--ss-display); font-weight: 700; color: var(--ss-ink) !important; text-decoration: none !important; }
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation a:hover { background: var(--ss-green); }
.woocommerce-account:not(.logged-in) .woocommerce form.login, .woocommerce-account .woocommerce form.register, .woocommerce form.lost_reset_password {
	border: 2px solid var(--ss-ink); border-radius: var(--ss-radius); padding: clamp(18px, 3vw, 32px); background: #fff; box-shadow: 0 6px 0 var(--ss-green); max-width: 520px;
}
.woocommerce form .form-row label { font-weight: 600; }
.woocommerce form .input-text { width: 100%; box-sizing: border-box; padding: 12px 14px; border: 1px solid #B9C9BF; font: inherit; }
.woocommerce button.button, .woocommerce a.button, .woocommerce input.button {
	border: 0; border-radius: 999px; background: var(--ss-green); color: var(--ss-ink); font-family: var(--ss-display); font-weight: 700;
	padding: .8rem 1.5rem; box-shadow: 0 5px 0 var(--ss-ink); cursor: pointer; text-decoration: none;
}
.woocommerce button.button:hover, .woocommerce a.button:hover { background: var(--ss-ink); color: #fff; }
.woocommerce-info, .woocommerce-message, .woocommerce-error, .wc-block-components-notice-banner { border-radius: 16px !important; }
@media (max-width: 781px) {
	.ss-chip-list li { font-size: .88rem; }
	.wc-block-product-template > li { padding: 10px; border-radius: 18px; }
}

/* About + FAQ page sections ------------------------------------------------- */
/* let wide and full-width blocks inside a page break out of the text column */
.ss-page-body > .wp-block-post-content { max-width: none !important; padding-left: 0 !important; padding-right: 0 !important; }
.ss-page-body .wp-block-post-content > .alignfull {
	margin-left: calc(var(--wp--style--root--padding-left) * -1) !important;
	margin-right: calc(var(--wp--style--root--padding-right) * -1) !important;
	max-width: none !important; width: auto !important;
}
.ss-page-body .wp-block-post-content > .alignfull { margin-top: clamp(32px, 5vw, 64px) !important; margin-bottom: clamp(32px, 5vw, 64px) !important; }
.ss-page-body .ss-cats { padding-top: clamp(36px, 5vw, 64px); }
.ss-page-body .ss-cats .ss-rule-title { margin-top: 0 !important; }
.ss-values { gap: var(--ss-gap) !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; margin-top: 1.6em !important; }
.ss-value-card {
	background: #fff; border: 2px solid var(--ss-ink); border-radius: var(--ss-radius);
	box-shadow: 0 6px 0 var(--ss-green); padding: clamp(18px, 2.4vw, 28px);
}
.ss-value-card > * { margin: 0 !important; }
.ss-value-card h3 { font-size: 1.2rem !important; text-transform: uppercase; letter-spacing: 0 !important; margin-top: 14px !important; }
.ss-value-card p:last-child { color: var(--ss-muted); margin-top: 8px !important; font-size: .98rem; line-height: 1.5; }
.ss-value-icon {
	width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center;
	background: var(--ss-green); color: var(--ss-ink); font-family: var(--ss-display); font-weight: 900; font-size: 1.15rem;
	box-shadow: 0 4px 0 var(--ss-ink);
}
@media (max-width: 781px) { .ss-values { grid-template-columns: 1fr !important; } }
.ss-about-band {
	background:
		radial-gradient(circle closest-side, rgba(31, 181, 84, .30), rgba(31, 181, 84, 0)) 104% 0% / 560px 560px no-repeat,
		var(--ss-ink);
	color: #fff; padding-top: clamp(40px, 6vw, 80px); padding-bottom: clamp(40px, 6vw, 80px);
}
.ss-about-band h2 { color: #fff; text-transform: uppercase; font-size: clamp(1.7rem, 3.6vw, 2.6rem) !important; margin-top: .5rem !important; margin-bottom: 0 !important; }
.ss-about-band .ss-kicker { color: var(--ss-lime); }
.ss-about-band .ss-story-main { margin-top: clamp(20px, 3vw, 32px) !important; }
.ss-about-band .ss-chapter { border-top-color: rgba(255, 255, 255, .28); }
.ss-about-band .ss-chapter h3 { color: #fff; }
.ss-about-band .ss-chapter p { color: rgba(255, 255, 255, .78); }
.ss-about-band .ss-chapter a { color: var(--ss-lime); }
/* FAQ page */
.ss-faq-group {
	background: var(--ss-foam); border-radius: clamp(20px, 3vw, 32px);
	padding: clamp(18px, 3vw, 32px); margin-top: clamp(20px, 3vw, 32px) !important; scroll-margin-top: 150px;
}
.ss-faq-group > * { margin-left: 0 !important; margin-right: 0 !important; }
.ss-faq-group > .ss-kicker { margin: 0 !important; }
.ss-faq-group > h2 { font-size: clamp(1.4rem, 2.6vw, 1.9rem) !important; text-transform: uppercase; letter-spacing: 0 !important; margin: .4rem 0 1rem !important; }
.ss-faq-group .ss-faq-item { border-color: transparent !important; box-shadow: none; }
.ss-faq-group .ss-faq-item[open] { border-color: var(--ss-ink) !important; }
.ss-faq-group .ss-faq-item p a { color: var(--ss-leaf); }

/* Age Gate (plugin) branding ---------------------------------------------- */
.age-gate {
	border-radius: 28px !important;
	padding: clamp(24px, 4vw, 40px) clamp(20px, 4vw, 44px) !important;
	box-shadow: 0 30px 80px rgba(0, 0, 0, .35);
	max-width: 460px;
	font-family: var(--wp--preset--font-family--dm-sans, sans-serif);
	text-align: center;
	background-image: linear-gradient(180deg, #E8F8EE 0%, #fff 55%) !important;
}
.age-gate__heading-title {
	width: 240px; max-width: 80%; aspect-ratio: 1200 / 431; margin: 0 auto 14px;
	background: url("../images/superstrain-logo.webp") center / contain no-repeat;
	color: transparent; font-size: 0; overflow: hidden;
}
.age-gate__headline {
	font-family: var(--wp--preset--font-family--archivo, sans-serif) !important;
	font-weight: 800; color: #121516; font-size: clamp(1.6rem, 4vw, 2rem) !important; margin: 0 0 6px !important;
}
.age-gate__subheadline { color: #55635B; margin: 0 0 18px !important; }
.age-gate__challenge {
	font-family: var(--wp--preset--font-family--archivo, sans-serif);
	font-weight: 700; font-size: 1.15rem; color: #121516; margin-bottom: 14px !important;
}
.age-gate__buttons { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.age-gate__submit {
	border: 0 !important; border-radius: 999px !important; cursor: pointer;
	font-family: var(--wp--preset--font-family--archivo, sans-serif) !important;
	font-weight: 700 !important; font-size: 1.05rem !important;
	padding: .85rem 1.8rem !important; transition: transform .15s ease, background-color .15s ease;
}
.age-gate__submit--yes { background: #1FB554 !important; color: #121516 !important; box-shadow: 0 5px 0 #121516; }
.age-gate__submit--yes:hover { background: #121516 !important; color: #fff !important; transform: translateY(-2px); }
.age-gate__submit--no { background: #fff !important; color: #121516 !important; border: 2px solid #121516 !important; box-shadow: 0 5px 0 #121516; }
.age-gate__submit--no:hover { background: #E8F8EE !important; transform: translateY(-2px); }
.age-gate__remember-wrapper, .age-gate__remember { margin-top: 16px; color: #55635B; font-size: .9rem; }
.age-gate__errors, .age-gate__error { color: #C62828; font-weight: 700; margin-top: 12px; }

/* CookieYes (plugin) branding --------------------------------------------- */
html.age-gate__restricted .cky-consent-container,
html.age-gate__restricted .cky-btn-revisit-wrapper { display: none !important; }
.cky-consent-container .cky-consent-bar {
	border: 2px solid #121516 !important;
	border-radius: 22px !important;
	box-shadow: 0 18px 45px rgba(10, 42, 26, .22) !important;
	background: linear-gradient(180deg, #E8F8EE 0%, #FFFFFF 60%) !important;
	font-family: var(--wp--preset--font-family--dm-sans, sans-serif) !important;
}
.cky-consent-container .cky-title {
	font-family: var(--wp--preset--font-family--archivo, sans-serif) !important;
	font-weight: 800 !important; font-size: 1.2rem !important; color: #121516 !important;
}
.cky-consent-container .cky-notice-des,
.cky-consent-container .cky-notice-des * { color: #121516 !important; font-size: .9rem !important; line-height: 1.5 !important; }
.cky-consent-container .cky-btn,
.cky-modal .cky-btn {
	border-radius: 999px !important;
	font-family: var(--wp--preset--font-family--archivo, sans-serif) !important;
	font-weight: 700 !important;
}
.cky-consent-container .cky-btn-do-not-sell { color: #15803D !important; text-decoration: underline !important; padding-left: 0 !important; }
.cky-consent-container .cky-btn-do-not-sell:hover { color: #121516 !important; }
.cky-modal { border-radius: 22px !important; overflow: hidden; }
.cky-modal .cky-preference-title {
	font-family: var(--wp--preset--font-family--archivo, sans-serif) !important;
	color: #121516 !important; font-weight: 800 !important;
}
.cky-modal .cky-btn-confirm { background: #1FB554 !important; border-color: #1FB554 !important; color: #121516 !important; box-shadow: 0 4px 0 #121516; }
.cky-modal .cky-btn-confirm:hover { background: #121516 !important; border-color: #121516 !important; color: #fff !important; }
.cky-modal .cky-btn-cancel { background: #fff !important; border: 2px solid #121516 !important; color: #121516 !important; }
.cky-modal .cky-opt-out-checkbox:checked { background-color: #1FB554 !important; }
.cky-btn-revisit-wrapper { background-color: #15803D !important; box-shadow: 0 6px 16px rgba(10,42,26,.3); }
@media (max-width: 576px) {
	.cky-consent-container .cky-consent-bar { border-radius: 18px 18px 0 0 !important; }
}

/* Trinity Audio (plugin): "listen to this article" player on blog posts */
.trinityAudioPlaceholder {
	background: var(--ss-foam);
	border: 2px solid var(--ss-ink);
	border-radius: 18px;
	padding: 10px 16px 6px;
	margin: 0 0 1.75rem !important;
	box-shadow: 0 5px 0 var(--ss-green);
	box-sizing: border-box;
	overflow: hidden;
}
@media (max-width: 599px) { .trinityAudioPlaceholder { padding: 8px 8px 4px; border-radius: 16px; } }

/* Trinity wraps the player in a small table with its "Player label" above it.
   Inside the player (an iframe we can't style) the built-in title gets cut off on phones,
   so there we show the label as a heading and mask the cut-off stub. */
#trinity-audio-table { width: 100%; border: 0; margin: 0 0 1.75rem; border-collapse: collapse; }
#trinity-audio-table td { padding: 0; border: 0; }
#trinity-audio-table .trinityAudioPlaceholder { margin: 0 0 5px !important; }
#trinity-audio-player-label { display: none; }
@media (max-width: 599px) {
	#trinity-audio-player-label {
		display: block;
		font-family: var(--ss-display); font-weight: 700; text-transform: uppercase;
		letter-spacing: .12em; font-size: .8rem; color: var(--ss-leaf);
		margin: 0 0 8px 4px;
	}
	.trinity-player-iframe-wrapper { position: relative; }
	.trinity-player-iframe-wrapper::after {
		content: ""; position: absolute; left: 70px; top: 4px; width: 56px; height: 30px;
		background: var(--ss-foam); pointer-events: none;
	}
}

/* Long-form pages (policies, blog posts): calmer heading scale */
.wp-block-post-content li { margin-bottom: .4em; }
