/*
Theme Name: ShroomBros Official
Theme URI: https://shroombrosofficial.ca/
Author: ShroomBros Official
Description: Dark Miami-neon WooCommerce theme for Shroom Bros - built for speed, structured data and search visibility.
Version: 12.1.0
Requires at least: 6.2
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: shroombros
Tags: e-commerce, dark, one-column, custom-logo, custom-menu, featured-images
*/

/* ============ Design tokens (Miami neon / vice palette) ============ */
:root {
	--sb-bg: #14051f;
	--sb-bg-deep: #0b0213;
	--sb-panel: #1e0a2e;
	--sb-panel-2: #2a0f3f;
	--sb-line: rgba(255, 255, 255, .10);
	--sb-cyan: #3fe3d6;
	--sb-cyan-dark: #16b8ab;
	--sb-pink: #ff2d9b;
	--sb-pink-soft: #ff6fc0;
	--sb-purple: #7b34ff;
	--sb-text: #f4eefb;
	--sb-muted: #bda9d1;
	--sb-radius: 14px;
	--sb-shadow-cyan: 0 0 18px rgba(63, 227, 214, .45);
	--sb-shadow-pink: 0 0 18px rgba(255, 45, 155, .45);
	--sb-font: "Poppins", "Segoe UI", system-ui, -apple-system, sans-serif;
	--sb-max: 1240px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	background:
		radial-gradient(1100px 620px at 12% -8%, rgba(123, 52, 255, .35), transparent 62%),
		radial-gradient(900px 520px at 92% 4%, rgba(255, 45, 155, .22), transparent 60%),
		var(--sb-bg);
	color: var(--sb-text);
	font-family: var(--sb-font);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--sb-cyan); text-decoration: none; }
a:hover { color: var(--sb-pink-soft); }

h1, h2, h3, h4, h5 { font-weight: 800; line-height: 1.15; margin: 0 0 .55em; letter-spacing: -.01em; }
h1 { font-size: clamp(2.2rem, 5.6vw, 3.9rem); }
h2 { font-size: clamp(1.6rem, 3.4vw, 2.5rem); }
h3 { font-size: clamp(1.2rem, 2.2vw, 1.6rem); }

p { margin: 0 0 1.1em; color: var(--sb-text); }
.sb-muted { color: var(--sb-muted); }

.sb-container { width: min(var(--sb-max), calc(100% - 2.5rem)); margin-inline: auto; }
.sb-section { padding: clamp(3rem, 7vw, 5.5rem) 0; }
.sb-center { text-align: center; }
.screen-reader-text { position: absolute; left: -10000px; }
.skip-link:focus { position: fixed; left: 1rem; top: 1rem; background: var(--sb-pink); color: #fff; padding: .6rem 1rem; z-index: 999; }

/* ============ Neon text + buttons ============ */
.sb-neon-cyan { color: var(--sb-cyan); text-shadow: 0 0 14px rgba(63, 227, 214, .55); }
.sb-neon-pink { color: var(--sb-pink); text-shadow: 0 0 14px rgba(255, 45, 155, .55); }

.sb-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	padding: .95rem 2.1rem; border-radius: 999px; font-weight: 800; letter-spacing: .06em;
	text-transform: uppercase; font-size: .86rem; border: 1px solid transparent; cursor: pointer;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.sb-btn-primary { background: var(--sb-cyan); color: #06202020; color: #062022; box-shadow: var(--sb-shadow-cyan); }
.sb-btn-primary:hover { transform: translateY(-2px); color: #062022; box-shadow: 0 0 26px rgba(63, 227, 214, .75); }
.sb-btn-pink { background: var(--sb-pink); color: #fff; box-shadow: var(--sb-shadow-pink); }
.sb-btn-pink:hover { transform: translateY(-2px); color: #fff; }
.sb-btn-ghost { border-color: var(--sb-cyan); color: var(--sb-cyan); }
.sb-btn-ghost:hover { background: rgba(63, 227, 214, .12); }

/* ============ Announcement bar ============ */
.sb-topbar {
	background: var(--sb-bg-deep);
	border-bottom: 1px solid var(--sb-cyan);
	font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 700;
	padding: .6rem 0;
}
.sb-topbar-inner { display: flex; align-items: center; justify-content: center; position: relative; gap: .5rem; }
.sb-topbar a { color: var(--sb-pink); text-decoration: underline; }
.sb-topbar-dismiss { position: absolute; right: 0; background: none; border: 0; color: var(--sb-muted); font: inherit; cursor: pointer; }

/* ============ Header ============ */
.sb-header { background: rgba(11, 2, 19, .92); backdrop-filter: blur(10px); position: sticky; top: 0; z-index: 60; border-bottom: 1px solid var(--sb-line); }
.sb-header-inner { display: flex; align-items: center; gap: 1.4rem; padding: .85rem 0; }
.sb-brand { display: inline-flex; flex-direction: column; line-height: 1; font-weight: 900; font-size: 1.5rem; letter-spacing: .02em; color: var(--sb-cyan); text-shadow: var(--sb-shadow-cyan); font-style: italic; }
.sb-brand small { font-style: normal; font-size: .62rem; letter-spacing: .55em; color: var(--sb-pink); text-shadow: var(--sb-shadow-pink); }
.sb-nav { margin-left: auto; }
.sb-nav ul { display: flex; gap: 1.35rem; list-style: none; margin: 0; padding: 0; }
.sb-nav a { color: var(--sb-text); font-weight: 700; font-size: .82rem; letter-spacing: .09em; text-transform: uppercase; }
.sb-nav a:hover { color: var(--sb-cyan); text-shadow: var(--sb-shadow-cyan); }
.sb-header-actions { display: flex; align-items: center; gap: .8rem; }
.sb-cart { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--sb-pink); }
.sb-burger { display: none; background: none; border: 1px solid var(--sb-line); color: var(--sb-text); border-radius: 8px; padding: .5rem .8rem; }

/* ============ Hero ============ */
.sb-hero { position: relative; overflow: hidden; min-height: clamp(520px, 74vh, 780px); display: grid; place-items: center; text-align: center; }
.sb-hero-media { position: absolute; inset: 0; }
.sb-hero-media video, .sb-hero-media img { width: 100%; height: 100%; object-fit: cover; }
.sb-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,2,19,.55), rgba(11,2,19,.35) 45%, rgba(11,2,19,.92)); }
.sb-hero-inner { position: relative; z-index: 2; max-width: 820px; padding: 4rem 1.5rem; }
.sb-hero h1 { text-transform: uppercase; }
.sb-hero p { font-size: 1.06rem; color: #efe6f7; }
.sb-hero-cta { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; margin-top: 1.6rem; }

/* ============ Trust strip ============ */
.sb-trust { background: var(--sb-bg-deep); border-top: 1px solid var(--sb-line); border-bottom: 1px solid var(--sb-line); }
.sb-trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; padding: 1.6rem 0; }
.sb-trust-item { display: flex; align-items: center; gap: .9rem; justify-content: center; font-weight: 600; font-size: .98rem; }
.sb-trust-item img { width: 42px; height: 42px; object-fit: contain; }

/* ============ Cards / grids ============ */
.sb-grid { display: grid; gap: 1.4rem; }
.sb-grid-2 { grid-template-columns: repeat(2, 1fr); }
.sb-grid-3 { grid-template-columns: repeat(3, 1fr); }
.sb-grid-4 { grid-template-columns: repeat(4, 1fr); }

.sb-card {
	background: linear-gradient(160deg, var(--sb-panel), var(--sb-panel-2));
	border: 1px solid var(--sb-line); border-radius: var(--sb-radius); padding: 1.4rem;
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.sb-card:hover { transform: translateY(-4px); border-color: var(--sb-cyan); box-shadow: var(--sb-shadow-cyan); }
.sb-card h3 { margin-bottom: .35rem; }
.sb-card p { color: var(--sb-muted); font-size: .95rem; margin: 0; }

.sb-eyebrow { text-transform: uppercase; letter-spacing: .28em; font-size: .74rem; font-weight: 800; color: var(--sb-pink); margin-bottom: .8rem; }

/* ============ Product cards ============ */
.sb-product-card { background: var(--sb-panel); border: 1px solid var(--sb-line); border-radius: var(--sb-radius); overflow: hidden; text-align: center; padding-bottom: 1.1rem; transition: transform .18s ease, box-shadow .18s ease; }
.sb-product-card:hover { transform: translateY(-4px); box-shadow: var(--sb-shadow-pink); }
.sb-product-card img { width: 100%; aspect-ratio: 1; object-fit: contain; background: radial-gradient(circle at 50% 40%, rgba(123,52,255,.35), transparent 65%); padding: 1rem; }
.sb-product-card h3 { font-size: 1rem; padding: 0 .9rem; margin-bottom: .3rem; }
.sb-product-card .sb-price { color: var(--sb-cyan); font-weight: 800; display: block; margin-bottom: .7rem; }
.sb-rating { color: var(--sb-pink); font-size: .82rem; }

/* ============ Tabs ============ */
.sb-tabs { display: flex; gap: .6rem; justify-content: center; flex-wrap: wrap; margin-bottom: 2rem; }
.sb-tab { border: 1px solid var(--sb-line); background: var(--sb-panel); color: var(--sb-text); border-radius: 999px; padding: .6rem 1.5rem; font-weight: 700; text-transform: uppercase; font-size: .78rem; letter-spacing: .1em; cursor: pointer; }
.sb-tab[aria-selected="true"] { background: var(--sb-pink); border-color: var(--sb-pink); color: #fff; box-shadow: var(--sb-shadow-pink); }
.sb-tabpanel[hidden] { display: none; }

/* ============ Split media sections ============ */
.sb-split { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.sb-split img { border-radius: var(--sb-radius); }

/* ============ Steps ============ */
.sb-step { text-align: center; }
.sb-step img { margin: 0 auto 1rem; max-width: 190px; }
.sb-step h3 span { color: var(--sb-cyan); }

/* ============ Reviews ============ */
.sb-review { background: var(--sb-panel); border: 1px solid var(--sb-line); border-radius: var(--sb-radius); padding: 1.5rem; }
.sb-review .sb-stars { width: 120px; margin-bottom: .8rem; }
.sb-review h4 { margin: .8rem 0 0; color: var(--sb-cyan); font-size: 1rem; }

/* ============ FAQ ============ */
.sb-faq details { background: var(--sb-panel); border: 1px solid var(--sb-line); border-radius: var(--sb-radius); padding: 1.1rem 1.3rem; margin-bottom: .8rem; }
.sb-faq summary { cursor: pointer; font-weight: 700; color: var(--sb-cyan); }
.sb-faq p { margin: .8rem 0 0; color: var(--sb-muted); }

/* ============ SEO copy block ============ */
.sb-copy { max-width: 900px; margin-inline: auto; }
.sb-copy h2, .sb-copy h3 { margin-top: 2rem; }
.sb-copy ul { color: var(--sb-muted); }

/* ============ Footer ============ */
.sb-footer { background: var(--sb-bg-deep); border-top: 1px solid var(--sb-cyan); padding: 3.5rem 0 2rem; margin-top: 3rem; }
.sb-footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 2rem; }
.sb-footer h4 { color: var(--sb-pink); text-transform: uppercase; letter-spacing: .12em; font-size: .82rem; }
.sb-footer ul { list-style: none; margin: 0; padding: 0; }
.sb-footer li { margin-bottom: .5rem; }
.sb-footer a { color: var(--sb-muted); font-size: .93rem; }
.sb-footer a:hover { color: var(--sb-cyan); }
.sb-footer-bottom { border-top: 1px solid var(--sb-line); margin-top: 2.4rem; padding-top: 1.4rem; font-size: .82rem; color: var(--sb-muted); display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }

/* ============ WooCommerce touch-ups ============ */
.woocommerce ul.products li.product .price { color: var(--sb-cyan); }
.woocommerce span.onsale { background: var(--sb-pink); }
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
	background: var(--sb-cyan); color: #062022; border-radius: 999px; font-weight: 800; text-transform: uppercase;
}
.woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--sb-pink); color: #fff; }

/* ============ Responsive ============ */
@media (max-width: 1024px) {
	.sb-grid-4 { grid-template-columns: repeat(2, 1fr); }
	.sb-footer-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 860px) {
	.sb-grid-3, .sb-split, .sb-trust-grid { grid-template-columns: 1fr; }
	.sb-split { display: block; }
	.sb-split img { margin-bottom: 1.5rem; }
}
@media (max-width: 560px) {
	.sb-grid-4:not(.sb-product-grid), .sb-grid-2, .sb-footer-grid { grid-template-columns: 1fr; }
}

/* ================================================================
 * v3 components: header icons, breadcrumbs, cards, blog, product,
 * search, newsletter, sticky ATC, quick view, responsive rules.
 * ================================================================ */

.sb-header-left { display: flex; align-items: center; gap: .9rem; }
.sb-header-inner { justify-content: space-between; }
.sb-nav { margin: 0 auto; }
.sb-icon-btn { display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--sb-line); background: rgba(255,255,255,.03); color: var(--sb-text); cursor: pointer; position: relative; }
.sb-icon-btn:hover { border-color: var(--sb-cyan); color: var(--sb-cyan); }
.sb-icon-btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.sb-cart-count { position: absolute; top: -4px; right: -4px; min-width: 20px; height: 20px; border-radius: 999px; background: var(--sb-pink); color: #fff; font-size: .68rem; font-weight: 800; display: grid; place-items: center; padding: 0 5px; }
.sb-burger { display: none; background: transparent; border: 0; padding: 0; color: var(--sb-text); cursor: pointer; }
.sb-burger svg { width: 27px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.sb-mobile-nav-head, .sb-nav-close { display: none; }

/* Search panel */
.sb-search-panel { border-top: 1px solid var(--sb-line); background: var(--sb-bg-deep); padding: 1.2rem 0; }
.sb-search-form { display: flex; gap: .6rem; }
.sb-search-form input[type="search"] { flex: 1; background: var(--sb-panel); border: 1px solid var(--sb-line); border-radius: 999px; color: var(--sb-text); padding: .85rem 1.3rem; font: inherit; }
.sb-search-form input[type="search"]:focus { outline: 2px solid var(--sb-cyan); }
.sb-search-hints { font-size: .84rem; margin: .7rem 0 0; }
.sb-search-form-inline { max-width: 620px; margin-top: 1.2rem; }

/* Breadcrumbs */
.sb-breadcrumbs { border-bottom: 1px solid var(--sb-line); background: rgba(0,0,0,.25); font-size: .82rem; }
.sb-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .45rem; list-style: none; margin: 0; padding: .8rem 0; color: var(--sb-muted); }
.sb-breadcrumbs li + li::before { content: "/"; margin-right: .45rem; color: var(--sb-line); }

/* Product cards */
.sb-product-card { text-align: left; display: flex; flex-direction: column; }
.sb-product-card-media { position: relative; display: block; }
.sb-product-card-body { padding: 0 1.1rem; display: flex; flex-direction: column; gap: .35rem; flex: 1; }
.sb-product-cat { font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--sb-pink); margin: 0; }
.sb-product-cat a { color: inherit; }
.sb-product-excerpt { font-size: .88rem; color: var(--sb-muted); margin: 0; }
.sb-badge { position: absolute; top: .8rem; left: .8rem; font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; padding: .3rem .65rem; border-radius: 999px; }
.sb-badge-sale { background: var(--sb-pink); color: #fff; }
.sb-badge-oos { background: rgba(0,0,0,.7); color: var(--sb-muted); left: auto; right: .8rem; }
.sb-stock { font-size: .78rem; }
.sb-stock.is-in { color: var(--sb-cyan); }
.sb-stock.is-out { color: var(--sb-muted); }
.sb-product-card-actions { display: grid; gap: .5rem; margin-top: auto; padding-top: .8rem; }
.sb-product-card-actions .sb-btn { padding: .7rem 1rem; font-size: .74rem; }

/* Category cards */
.sb-cat-card { border-radius: var(--sb-radius); overflow: hidden; border: 1px solid var(--sb-line); background: var(--sb-panel); transition: transform .18s ease, box-shadow .18s ease; }
.sb-cat-card:hover { transform: translateY(-4px); box-shadow: var(--sb-shadow-cyan); }
.sb-cat-card img { aspect-ratio: 4/3; object-fit: cover; width: 100%; }
.sb-cat-card-body { padding: 1.2rem; }
.sb-cat-card h3 { margin-bottom: .3rem; color: var(--sb-text); }
.sb-link-cta { display: inline-block; margin-top: .7rem; color: var(--sb-cyan); font-weight: 700; font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; }

/* Blog */
.sb-blog-card { border: 1px solid var(--sb-line); border-radius: var(--sb-radius); overflow: hidden; background: var(--sb-panel); display: flex; flex-direction: column; }
.sb-blog-card:hover { border-color: var(--sb-pink); }
.sb-blog-card img { aspect-ratio: 16/9; object-fit: cover; width: 100%; }
.sb-blog-card-body { padding: 1.2rem; }
.sb-blog-card h3 { font-size: 1.12rem; }
.sb-blog-card h3 a { color: var(--sb-text); }
.sb-meta { font-size: .8rem; color: var(--sb-muted); margin: .6rem 0 0; }
.sb-archive-head { padding-bottom: 1rem; }
.sb-archive-intro { max-width: 720px; }
.sb-article-head { padding: 3rem 0 1.4rem; max-width: 820px; }
.sb-article-hero img { border-radius: var(--sb-radius); max-height: 460px; object-fit: cover; width: 100%; }
.sb-article-body { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 2.6rem; padding: 2.4rem 0; align-items: start; }
.sb-article-side { position: sticky; top: 110px; }
.sb-toc { background: var(--sb-panel); border: 1px solid var(--sb-line); border-radius: var(--sb-radius); padding: 1.1rem 1.2rem; }
.sb-toc h2 { font-size: .78rem; letter-spacing: .2em; text-transform: uppercase; color: var(--sb-pink); }
.sb-toc ol { list-style: none; margin: 0; padding: 0; font-size: .9rem; }
.sb-toc li { margin-bottom: .45rem; }
.sb-toc .sb-toc-h3 { padding-left: .9rem; font-size: .84rem; }
.sb-share { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.2rem; font-size: .84rem; }
.sb-article-content { margin: 0; }
.sb-article-content h2 { scroll-margin-top: 110px; }
.sb-article-content h3 { scroll-margin-top: 110px; }
.sb-tags a { display: inline-block; margin-right: .5rem; font-size: .82rem; }
.sb-prevnext { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding: 1.5rem 0; }
.sb-prevnext-item { border: 1px solid var(--sb-line); border-radius: var(--sb-radius); padding: 1rem 1.2rem; color: var(--sb-text); display: block; }
.sb-prevnext-item:hover { border-color: var(--sb-cyan); color: var(--sb-text); }
.sb-prevnext-item span { display: block; font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; }
.sb-prevnext-next { text-align: right; }
.sb-topic-links { margin: 3rem 0; }
.sb-topic-links ul { display: flex; flex-wrap: wrap; gap: .6rem; list-style: none; padding: 0; }
.sb-topic-links a { border: 1px solid var(--sb-line); border-radius: 999px; padding: .45rem 1.1rem; font-size: .82rem; }
.sb-pagination { padding: 2rem 0; }
.sb-pagination .page-numbers { display: inline-block; padding: .5rem .9rem; border: 1px solid var(--sb-line); border-radius: 8px; margin-right: .4rem; }
.sb-pagination .current { background: var(--sb-pink); border-color: var(--sb-pink); color: #fff; }

/* Product page */
.sb-product-sections { max-width: 900px; padding: 2rem 0 3rem; }
.sb-product-block { margin-bottom: 2.6rem; }
.sb-product-block h2 { font-size: 1.5rem; }
.sb-faq-a { color: var(--sb-muted); }
.sb-sticky-atc { position: fixed; left: 0; right: 0; bottom: 0; z-index: 80; display: none; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 1.1rem; background: rgba(11,2,19,.96); border-top: 1px solid var(--sb-cyan); }
.sb-sticky-atc strong { display: block; font-size: .9rem; }
.sb-sticky-atc.is-visible { display: flex; }

/* Quick view modal */
.sb-modal { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; background: rgba(5,1,10,.8); padding: 1.2rem; }
.sb-modal[hidden] { display: none; }
.sb-modal-inner { background: var(--sb-panel); border: 1px solid var(--sb-cyan); border-radius: var(--sb-radius); max-width: 720px; width: 100%; padding: 1.6rem; display: grid; grid-template-columns: 240px 1fr; gap: 1.4rem; position: relative; }
.sb-modal-inner img { border-radius: var(--sb-radius); }
.sb-modal-close { position: absolute; top: .6rem; right: .8rem; background: none; border: 0; color: var(--sb-muted); font-size: 1.6rem; cursor: pointer; }

/* Newsletter + footer */
.sb-footer-newsletter { display: grid; grid-template-columns: 1.2fr 1fr; gap: 2rem; align-items: center; padding: 2.4rem 0; border-bottom: 1px solid var(--sb-line); }
.sb-footer-newsletter h2 { font-size: 1.5rem; margin-bottom: .3rem; }
.sb-newsletter { display: flex; gap: .6rem; }
.sb-newsletter input { flex: 1; background: var(--sb-panel); border: 1px solid var(--sb-line); border-radius: 999px; color: var(--sb-text); padding: .85rem 1.2rem; font: inherit; }
.sb-footer-about { margin-top: 1rem; font-size: .92rem; }
.sb-cta-band { display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: center; justify-content: space-between; background: linear-gradient(120deg, rgba(123,52,255,.35), rgba(255,45,155,.22)); border: 1px solid var(--sb-line); border-radius: var(--sb-radius); padding: 2rem clamp(1.2rem, 3vw, 2.4rem); }
.sb-cta-band h2 { margin-bottom: .3rem; }
.sb-cta-band-actions { display: flex; gap: .8rem; flex-wrap: wrap; }
.sb-toast { position: fixed; left: 50%; bottom: 1.4rem; transform: translateX(-50%); z-index: 130; padding: .85rem 1.4rem; border-radius: 999px; font-weight: 700; font-size: .88rem; background: var(--sb-cyan); color: #062022; }
.sb-toast.is-error { background: var(--sb-pink); color: #fff; }
.sb-page-updated { font-size: .82rem; margin-top: 2.5rem; }

/* ============ Responsive ============ */
@media (max-width: 1080px) {
	.sb-grid-4 { grid-template-columns: repeat(3, 1fr); }
	.sb-header-cta { display: none; }
}
@media (max-width: 900px) {
	.sb-article-body { grid-template-columns: 1fr; }
	.sb-article-side { position: static; }
	.sb-footer-newsletter { grid-template-columns: 1fr; }
	.sb-modal-inner { grid-template-columns: 1fr; }
}
@media (max-width: 782px) {
	.sb-burger { display: flex; }
	.sb-nav { position: fixed; inset: 0 0 0 auto; width: min(320px, 86vw); background: var(--sb-bg-deep); border-left: 1px solid var(--sb-line); padding: 5rem 1.5rem 2rem; transform: translateX(100%); transition: transform .22s ease; z-index: 90; overflow-y: auto; }
	.sb-nav.is-open { transform: none; }
	.sb-nav ul { flex-direction: column; gap: 1.1rem; }
	.sb-nav a { font-size: .95rem; }
	.sb-grid-3, .sb-grid-4 { grid-template-columns: repeat(2, 1fr); }
	.sb-trust-grid { grid-template-columns: 1fr; }
	.sb-split { grid-template-columns: 1fr; }
	.sb-prevnext { grid-template-columns: 1fr; }
	.sb-prevnext-next { text-align: left; }
}
@media (max-width: 560px) {
	body { font-size: 16px; }
	.sb-grid-2, .sb-grid-3, .sb-grid-4 { grid-template-columns: 1fr; }
	.sb-container { width: calc(100% - 1.6rem); }
	.sb-newsletter, .sb-search-form { flex-direction: column; }
	.sb-btn { width: 100%; }
	.sb-icon-btn { width: 38px; height: 38px; }
}
@media (prefers-reduced-motion: reduce) {
	* { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ============ Form controls (fixes dark/unreadable selects) ============ */
:root { color-scheme: dark; }

select,
input[type="text"], input[type="email"], input[type="tel"], input[type="url"],
input[type="number"], input[type="password"], input[type="search"], input[type="date"],
textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .quantity input.qty,
.select2-container--default .select2-selection--single {
	background-color: var(--sb-panel);
	color: var(--sb-text);
	border: 1px solid var(--sb-line);
	border-radius: 10px;
	padding: .7rem .9rem;
	font: inherit;
	line-height: 1.4;
	width: 100%;
	max-width: 100%;
	appearance: none;
	-webkit-appearance: none;
}

select {
	padding-right: 2.4rem;
	background-image: linear-gradient(45deg, transparent 50%, var(--sb-cyan) 50%), linear-gradient(135deg, var(--sb-cyan) 50%, transparent 50%);
	background-position: calc(100% - 20px) center, calc(100% - 14px) center;
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
	cursor: pointer;
}

/* The actual dropdown list: force readable colours in every browser. */
select option,
select optgroup {
	background-color: #1e0a2e;
	color: #f4eefb;
}
select option:checked,
select option:hover { background-color: #7b34ff; color: #fff; }

select:focus, input:focus, textarea:focus { outline: 2px solid var(--sb-cyan); outline-offset: 1px; }
::placeholder { color: var(--sb-muted); opacity: 1; }

/* Select2 (Woo checkout country/state) */
.select2-container--default .select2-selection--single { height: auto; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--sb-text); line-height: 1.4; }
.select2-container--default .select2-selection--single .select2-selection__arrow { top: 50%; transform: translateY(-50%); }
.select2-dropdown { background: var(--sb-panel); border: 1px solid var(--sb-line); color: var(--sb-text); }
.select2-container--default .select2-results__option { background: var(--sb-panel); color: var(--sb-text); }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--sb-purple); color: #fff; }
.select2-search--dropdown .select2-search__field { background: var(--sb-bg-deep); color: var(--sb-text); border: 1px solid var(--sb-line); }

/* ============ Single product page ============ */
.sb-single-product-wrap { padding: 1.5rem 0 3rem; }
.sb-product { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(1.4rem, 4vw, 3rem); align-items: start; }
.sb-product .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0 !important; border: 1px solid var(--sb-line); border-radius: var(--sb-radius); background: var(--sb-panel); padding: .6rem; }
.sb-product .woocommerce-product-gallery img { border-radius: 10px; }
.sb-product .flex-control-thumbs { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: .6rem 0 0; margin: 0; }
.sb-product .flex-control-thumbs li { width: 72px; }
.sb-product-summary { width: 100% !important; float: none !important; margin: 0 !important; }
.sb-product-summary .product_title { font-size: clamp(1.8rem, 3.6vw, 2.6rem); margin-bottom: .5rem; }
.sb-product-summary .price { font-size: 1.6rem; font-weight: 800; color: var(--sb-cyan); display: block; margin-bottom: .8rem; }
.sb-product-summary .price del { color: var(--sb-muted); font-weight: 500; font-size: 1.1rem; margin-right: .5rem; }
.sb-product-summary .price ins { text-decoration: none; color: var(--sb-pink); }
.sb-product-summary .woocommerce-product-details__short-description { color: var(--sb-muted); }
.sb-product-summary .stock.in-stock { color: var(--sb-cyan); font-weight: 600; }
.sb-product-summary .stock.out-of-stock { color: var(--sb-pink); font-weight: 600; }
.sb-product-summary .product_meta { font-size: .85rem; color: var(--sb-muted); border-top: 1px solid var(--sb-line); padding-top: 1rem; margin-top: 1.2rem; }
.sb-product-usp { list-style: none; padding: 1rem 1.1rem; margin: 1.4rem 0 0; display: grid; gap: .45rem; background: var(--sb-panel); border: 1px solid var(--sb-line); border-radius: var(--sb-radius); font-size: .9rem; }
.sb-product-usp li::before { content: "✓"; color: var(--sb-cyan); font-weight: 800; margin-right: .55rem; }

/* Variation form */
.sb-product .variations { width: 100%; border-collapse: collapse; margin-bottom: 1rem; }
.sb-product .variations th,
.sb-product .variations td { display: block; text-align: left; padding: 0 0 .5rem; }
.sb-product .variations th label { font-weight: 700; font-size: .9rem; letter-spacing: .02em; }
.sb-product .reset_variations { font-size: .8rem; color: var(--sb-muted); }
.sb-product .woocommerce-variation-price .price { font-size: 1.4rem; }
.sb-product .quantity { display: inline-flex; margin-right: .7rem; }
.sb-product .quantity input.qty { width: 84px; text-align: center; }
.sb-product form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; margin: 1.1rem 0; }
.sb-product form.cart .button { background: var(--sb-pink); color: #fff; border-radius: 999px; padding: .85rem 2rem; font-weight: 800; border: 0; box-shadow: var(--sb-shadow-pink); cursor: pointer; }
.sb-product form.cart .button:hover { background: var(--sb-cyan); color: #062022; }
.sb-product .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; width: 100%; }

/* Tabs + reviews */
.woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 2rem 0 1rem; }
.woocommerce-tabs ul.tabs li { background: var(--sb-panel); border: 1px solid var(--sb-line); border-radius: 999px; }
.woocommerce-tabs ul.tabs li a { display: block; padding: .5rem 1.1rem; font-size: .88rem; font-weight: 600; }
.woocommerce-tabs ul.tabs li.active { background: var(--sb-purple); border-color: var(--sb-purple); }
.woocommerce-tabs ul.tabs li.active a { color: #fff; }
.woocommerce-tabs .panel { background: var(--sb-panel); border: 1px solid var(--sb-line); border-radius: var(--sb-radius); padding: 1.4rem; }

/* Bitcoin discount */
.sb-btc-notice { background: linear-gradient(120deg, rgba(123,52,255,.35), rgba(255,45,155,.22)); border: 1px solid var(--sb-cyan); border-radius: var(--sb-radius); padding: .95rem 1.2rem; margin: 0 0 1.4rem; font-size: .95rem; }
.sb-btc-tag { display: inline-block; margin-left: .5rem; padding: .1rem .55rem; border-radius: 999px; background: var(--sb-cyan); color: #062022; font-size: .72rem; font-weight: 800; }
.woocommerce-cart .cart_totals .fee td,
.woocommerce-checkout .order-total .fee td,
.woocommerce-checkout tr.fee td { color: var(--sb-cyan); }

@media (max-width: 900px) {
	.sb-product { grid-template-columns: 1fr; }
}

/* ============ v7: clean single-product layout + star ratings ============ */
.sb-product { display: block; }
.sb-product-main {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: clamp(1.4rem, 4vw, 3rem);
	align-items: start;
}
.sb-product-media { position: relative; min-width: 0; }
.sb-product-summary { min-width: 0; }
.sb-product-after { display: block; width: 100%; clear: both; }
.sb-product-after::after { content: ""; display: table; clear: both; }
.sb-product-after .sb-product-sections { margin-inline: 0; width: 100%; max-width: 900px; }
.sb-product .woocommerce-product-gallery__wrapper { margin: 0; }
.sb-product .woocommerce-product-gallery__image a { display: block; }
.sb-product span.onsale { position: absolute; top: 1rem; left: 1rem; z-index: 3; }
.sb-product .up-sells, .sb-product .related { width: 100%; float: none; margin-top: 2.5rem; }
.sb-product .up-sells ul.products, .sb-product .related ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.2rem; margin: 0; padding: 0; }
.sb-product .up-sells ul.products li.product, .sb-product .related ul.products li.product { width: 100%; margin: 0; float: none; }

/* Star ratings — pure CSS, no icon font dependency */
.sb-rating { display: inline-flex; align-items: center; gap: .45rem; font-size: .9rem; color: var(--sb-muted); }
.sb-stars { position: relative; display: inline-block; line-height: 1; font-size: 1.02rem; letter-spacing: 2px; white-space: nowrap; }
.sb-stars-base { color: rgba(255, 255, 255, .22); }
.sb-stars-fill { position: absolute; inset: 0 auto 0 0; overflow: hidden; white-space: nowrap; color: #ffc84a; text-shadow: 0 0 10px rgba(255, 200, 74, .45); }
.sb-stars-value { font-weight: 700; color: var(--sb-text); font-size: .85rem; }

/* WooCommerce native rating stars (reviews, loops) */
.woocommerce .star-rating { color: #ffc84a; }
.woocommerce .star-rating::before { color: rgba(255, 255, 255, .22); }
.woocommerce .woocommerce-product-rating { display: flex; align-items: center; gap: .6rem; margin-bottom: .8rem; }
.woocommerce .woocommerce-product-rating .woocommerce-review-link { color: var(--sb-muted); font-size: .85rem; }

@media (max-width: 1024px) {
	.sb-product .up-sells ul.products, .sb-product .related ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.sb-product-main { grid-template-columns: 1fr; }
}


/* ---------- v10: promo strip, minimum order, location pages ---------- */
.sb-promo-strip{margin:0 0 20px;padding:12px 18px;border-radius:12px;border:1px solid rgba(63,227,214,.45);background:linear-gradient(90deg,rgba(63,227,214,.14),rgba(255,45,155,.14));color:#eafcff;font-size:.95rem;line-height:1.5;text-align:center}
.sb-promo-strip strong{color:#3fe3d6}
.sb-product-discount-hint{margin:12px 0 0;padding:10px 14px;border-radius:10px;background:rgba(255,45,155,.12);border:1px solid rgba(255,45,155,.35);color:#ffd9ee;font-size:.9rem}
.sb-cart-discount-hint td{color:#9fe9e2;font-size:.88rem}
.sb-checkout-locked{opacity:.55;cursor:not-allowed;pointer-events:none;display:inline-block}
.sb-payment-instructions{margin:24px 0;padding:20px;border-radius:14px;border:1px solid rgba(63,227,214,.35);background:rgba(20,5,31,.7)}
.sb-city-list{columns:2;column-gap:32px;list-style:none;padding:0;margin:16px 0}
@media(min-width:900px){.sb-city-list{columns:3}}
.sb-city-list li{break-inside:avoid;margin:0 0 8px}
.sb-city-list a{color:#3fe3d6;text-decoration:none}
.sb-city-list a:hover{color:#ff2d9b;text-decoration:underline}

/* ------------------------------------------------------------------ *
 * Page-builder shortcode fallbacks (imported Flatsome/UX content)
 * ------------------------------------------------------------------ */
.sb-sc-banner{display:flex;align-items:center;background-size:cover;background-position:center;border-radius:18px;margin:2rem 0;padding:3rem 0}
.sb-sc-textbox{max-width:68%}
.sb-sc-textbox h1,.sb-sc-textbox h2{margin-top:0}
.sb-sc-row{display:grid;grid-template-columns:repeat(12,1fr);gap:1.5rem;margin:1.5rem 0}
.sb-sc-col{grid-column:span var(--sb-span,12)}
.sb-sc-divider{border:0;height:2px;width:120px;background:linear-gradient(90deg,#3fe3d6,#ff2d9b);margin:1.25rem 0}
.sb-sc-share{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.sb-sc-tabs{display:grid;gap:.75rem;margin:1.5rem 0}
.sb-sc-tab{border:1px solid rgba(63,227,214,.25);border-radius:12px;background:rgba(255,255,255,.03);padding:.85rem 1.1rem}
.sb-sc-tab>summary{cursor:pointer;font-weight:700;color:#3fe3d6;list-style:none}
.sb-sc-tab>summary::-webkit-details-marker{display:none}
.sb-sc-tab-body{padding-top:.6rem}
.sb-sc-map{border-left:3px solid #ff2d9b;padding-left:1rem}
.sb-sc-image img{border-radius:14px;max-width:100%;height:auto}
@media (max-width:782px){.sb-sc-textbox{max-width:100%}.sb-sc-col{grid-column:span 12}}


/* ---------------------------------------------------------------
   v10.3 — Shop category index, header Shop dropdown, shipping notes
   --------------------------------------------------------------- */
.sb-nav li { position: relative; }
.sb-sub-menu,
.sb-nav .sub-menu {
	position: absolute; top: 100%; left: 0; min-width: 260px;
	display: none; flex-direction: column; gap: 0 !important;
	background: var(--sb-bg-deep); border: 1px solid var(--sb-line);
	border-radius: 14px; padding: .6rem 0; z-index: 120;
	box-shadow: 0 18px 40px rgba(0,0,0,.55);
}
.sb-nav li:hover > .sb-sub-menu { display: flex; }
.sb-sub-menu li { width: 100%; }
.sb-sub-menu a {
	display: flex; justify-content: space-between; align-items: center; gap: 1rem;
	padding: .55rem 1.1rem; font-size: .78rem; text-transform: none; letter-spacing: .02em;
}
.sb-sub-menu a:hover { background: rgba(63,227,214,.08); }
.sb-sub-count { color: var(--sb-cyan); font-weight: 700; font-size: .72rem; }
.sb-has-dropdown > a::after { content: " ▾"; color: var(--sb-cyan); }

.sb-shop-cats { margin: 0 0 2.5rem; }
.sb-shop-cats-head h2 { margin: 0 0 .4rem; font-size: clamp(1.3rem, 3vw, 1.9rem); }
.sb-cat-count-grid {
	list-style: none; margin: 1.4rem 0 0; padding: 0;
	display: grid; gap: 1rem;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.sb-cat-count-card {
	background: var(--sb-panel); border: 1px solid var(--sb-line);
	border-radius: 16px; padding: 1rem; transition: border-color .2s ease, transform .2s ease;
}
.sb-cat-count-card:hover { border-color: var(--sb-cyan); transform: translateY(-2px); }
.sb-cat-count-main { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; }
.sb-cat-count-main img { width: 56px; height: 56px; object-fit: cover; border-radius: 12px; }
.sb-cat-count-name { font-weight: 800; }
.sb-cat-count-badge {
	margin-left: auto; font-size: .72rem; font-weight: 700; white-space: nowrap;
	color: var(--sb-bg-deep); background: var(--sb-cyan);
	border-radius: 999px; padding: .18rem .6rem;
}
.sb-cat-count-sub { list-style: none; margin: .7rem 0 0; padding: .7rem 0 0; border-top: 1px solid var(--sb-line); }
.sb-cat-count-sub a { font-size: .8rem; display: block; padding: .18rem 0; }
.sb-cat-count-sub span { color: var(--sb-cyan); }

.sb-ship-note { display: block; font-size: .78rem; margin: .25rem 0 0; }

@media (max-width: 900px) {
	.sb-sub-menu { position: static; display: flex; border: 0; box-shadow: none; padding: .4rem 0 .4rem .8rem; background: transparent; }
}


/* ---------------------------------------------------------------
   v10.4 — hover-only dropdowns (WP-generated .sub-menu included)
   --------------------------------------------------------------- */
.sb-nav ul ul { display: none; }
.sb-nav .sub-menu {
	position: absolute; top: 100%; left: 0; min-width: 260px;
	flex-direction: column; gap: 0 !important; list-style: none;
	background: var(--sb-bg-deep); border: 1px solid var(--sb-line);
	border-radius: 14px; padding: .6rem 0; margin: 0; z-index: 120;
	box-shadow: 0 18px 40px rgba(0,0,0,.55);
}
.sb-nav .sub-menu a {
	display: flex; justify-content: space-between; align-items: center; gap: 1rem;
	padding: .55rem 1.1rem; font-size: .78rem; text-transform: none; letter-spacing: .02em;
}
.sb-nav .sub-menu a:hover { background: rgba(63,227,214,.08); }
/* Bridge the gap so the pointer can travel into the panel. */
.sb-nav li.menu-item-has-children > a,
.sb-nav li.sb-has-dropdown > a { padding-bottom: .35rem; }
@media (hover: hover) and (min-width: 901px) {
	.sb-nav li:hover > .sub-menu,
	.sb-nav li:hover > .sb-sub-menu { display: flex; }
}
@media (max-width: 900px) {
	.sb-nav .sub-menu,
	.sb-nav .sb-sub-menu {
		position: static; display: flex; border: 0; box-shadow: none;
		padding: .4rem 0 .4rem .8rem; background: transparent;
	}
}

/* ---- FAQ page + footer contact (v11.3) ---- */
.sb-footer-contact{margin:.75rem 0 1rem;color:var(--sb-muted,#b9a9c9);font-size:.92rem;line-height:1.6}
.sb-footer-contact a{color:var(--sb-accent,#3fe3d6);text-decoration:none}
.sb-footer-contact a:hover{text-decoration:underline}
.sb-faq-nav{margin:1.5rem 0 2rem}
.sb-faq-nav ul{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.sb-faq-nav a{display:inline-block;padding:.45rem .9rem;border:1px solid rgba(63,227,214,.35);border-radius:999px;font-size:.85rem;text-decoration:none;color:var(--sb-accent,#3fe3d6)}
.sb-faq-nav a:hover{background:rgba(63,227,214,.12)}
.sb-faq-section{margin:2.5rem 0}
.sb-faq-section h2{margin-bottom:.35rem}
.sb-faq details{border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:.9rem 1.1rem;margin:.6rem 0;background:rgba(255,255,255,.03)}
.sb-faq details[open]{border-color:rgba(255,45,155,.45)}
.sb-faq summary{cursor:pointer;font-weight:600;list-style:none}
.sb-faq summary::-webkit-details-marker{display:none}
.sb-faq summary::after{content:'+';float:right;color:var(--sb-accent,#3fe3d6)}
.sb-faq details[open] summary::after{content:'\2013'}
.sb-faq-a{padding-top:.6rem;color:var(--sb-muted,#c9bcd6)}
.sb-faq-contact{margin-top:2rem;padding:1rem 1.2rem;border-radius:12px;background:rgba(63,227,214,.08)}

/* ---- Store location pages, cart shipping, checkout sections ---- */
.sb-loc-banner{display:flex;gap:1.25rem;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:1.75rem 0;padding:1.4rem 1.6rem;border-radius:18px;background:linear-gradient(120deg,rgba(63,227,214,.14),rgba(255,45,155,.16));border:1px solid rgba(63,227,214,.35)}
.sb-loc-banner h3{margin:0 0 .35rem;font-size:1.15rem}
.sb-loc-banner p{margin:0;font-size:.92rem;opacity:.85}
.sb-loc-products{margin:2rem 0}
.sb-loc-products h2{margin-bottom:1rem}
.sb-city-list{columns:2;gap:1.5rem}
@media (max-width:640px){.sb-city-list{columns:1}}
.sb-cart-shipping{margin:1.5rem 0;padding:1.2rem 1.4rem;border-radius:16px;border:1px solid rgba(63,227,214,.28);background:rgba(20,5,31,.6)}
.sb-cart-shipping h3{margin:0 0 .6rem;font-size:1rem;text-transform:uppercase;letter-spacing:.06em}
.sb-cart-shipping ul{margin:0 0 .6rem;padding-left:1.1rem}
.sb-cart-shipping li{margin-bottom:.3rem;font-size:.92rem}
.sb-checkout-section-head{margin:1.6rem 0 .8rem}
.sb-checkout-section-head h2{margin:0 0 .3rem;font-size:1.2rem}
.sb-checkout-section-head p{margin:0;font-size:.88rem}

/* Mobile navigation: rebuilt as a full-viewport menu. */
@media (max-width: 900px) {
	.sb-header { z-index: 1000; }
	.sb-header-inner { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .75rem; flex-wrap: nowrap; }
	.sb-header-left { min-width: 0; }
	.sb-burger { display: grid !important; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; margin: 0; }
	.sb-header-actions { justify-self: end; gap: .35rem; }
	.sb-header-actions .sb-icon-btn[href*="my-account"] { display: none; }
	.sb-nav#sb-primary-nav {
		display: block !important;
		position: fixed;
		inset: 0;
		width: 100%;
		height: 100dvh;
		margin: 0;
		padding: 0 1.25rem 2rem;
		background: var(--sb-bg-deep, #14051f);
		transform: translateX(-100%);
		transition: transform .28s ease, visibility .28s;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		z-index: 1100;
		visibility: hidden;
	}
	.sb-nav#sb-primary-nav.is-open { transform: translateX(0); visibility: visible; }
	.sb-mobile-nav-head { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; min-height: 76px; border-bottom: 1px solid var(--sb-line); }
	.sb-mobile-nav-title { color: var(--sb-text); font-size: .82rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
	.sb-nav#sb-primary-nav > ul {
		display: flex !important;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		width: 100%;
		padding: 1rem 0 0;
		margin: 0;
	}
	.sb-nav#sb-primary-nav > ul > li {
		width: 100%;
		border-bottom: 1px solid var(--sb-line);
	}
	.sb-nav#sb-primary-nav a {
		display: block;
		width: 100%;
		padding: 1rem 0;
		font-size: 1.05rem;
		line-height: 1.25;
		font-weight: 800;
		letter-spacing: .08em;
		text-transform: uppercase;
		white-space: normal;
	}
	.sb-nav#sb-primary-nav .sub-menu,
	.sb-nav#sb-primary-nav .sb-sub-menu {
		position: static !important;
		display: flex !important;
		flex-direction: column;
		width: 100%;
		min-width: 0;
		max-width: 100%;
		border: 0; box-shadow: none; background: transparent;
		padding: 0 0 .75rem 1rem; margin: 0;
	}
	.sb-nav#sb-primary-nav .sub-menu a,
	.sb-nav#sb-primary-nav .sb-sub-menu a {
		padding: .55rem 0;
		font-size: .8rem;
		opacity: .85;
	}
	body.sb-nav-open { overflow: hidden; }
	.sb-nav-close {
		display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0;
		background: transparent; color: var(--sb-text); cursor: pointer;
	}
	.sb-nav-close svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
	.sb-nav-backdrop:not([hidden]) {
		display: none;
	}
	.sb-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .75rem; }
	.sb-product-grid .sb-product-card h3 { font-size: .86rem; }
	.sb-product-grid .sb-product-card-body { padding: 0 .65rem; }
	.sb-product-grid .sb-product-excerpt, .sb-product-grid .sb-product-cat, .sb-product-grid .sb-quickview { display: none; }
	.sb-product-grid .sb-btn { width: 100%; padding: .7rem .35rem; font-size: .68rem; }
	.sb-product-grid > :nth-child(n+11) { display: none; }
	body:not(.woocommerce-shop) .woocommerce ul.products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
	body:not(.woocommerce-shop) .woocommerce ul.products::before, body:not(.woocommerce-shop) .woocommerce ul.products::after { display: none; }
	body:not(.woocommerce-shop) .woocommerce ul.products li.product { float: none; width: 100%; margin: 0; }
	body:not(.woocommerce-shop) .woocommerce ul.products li.product:nth-child(n+11) { display: none; }
}
@media (min-width: 901px) { .sb-nav-close, .sb-nav-backdrop { display: none !important; } }

.sb-location-content{width:min(1180px,calc(100% - 2.5rem));margin-inline:auto}
.sb-location-content>h2,.sb-location-content>h3,.sb-location-content>p,.sb-location-content>ul:not(.sb-city-list){max-width:980px;margin-left:auto;margin-right:auto}
.sb-location-content .sb-loc-products,.sb-location-content .sb-loc-banner,.sb-location-content .sb-city-list{max-width:none}

/* ---- Coupon cards ---- */
.sb-coupons{display:grid;gap:1rem;margin:1.5rem 0}
@media(min-width:860px){.sb-coupons{grid-template-columns:repeat(3,1fr)}}
.sb-coupon{padding:1.3rem 1.4rem;border-radius:16px;border:1px solid rgba(63,227,214,.3);background:rgba(255,255,255,.03)}
.sb-coupon-code{display:inline-block;font-weight:800;letter-spacing:.12em;padding:.3rem .7rem;border-radius:999px;background:rgba(255,45,155,.18);color:#ff2d9b;font-size:.8rem}
.sb-coupon h3{margin:.7rem 0 .4rem;font-size:1.02rem;line-height:1.35}
.sb-coupon p{font-size:.86rem;margin:0 0 1rem}

/* ---- Contact form ---- */
.sb-contact-form-wrap{margin:1.5rem 0 2rem}
.sb-contact-form{display:grid;gap:1rem;max-width:640px}
.sb-form-row{display:grid;gap:.35rem}
.sb-form-row label{font-size:.85rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.sb-contact-form input,.sb-contact-form select,.sb-contact-form textarea{
	width:100%;padding:.75rem .9rem;border-radius:10px;border:1px solid rgba(255,255,255,.16);
	background:rgba(255,255,255,.04);color:inherit;font:inherit}
.sb-contact-form input:focus,.sb-contact-form select:focus,.sb-contact-form textarea:focus{outline:2px solid rgba(63,227,214,.5);outline-offset:1px}
.sb-phone-group{display:grid;grid-template-columns:minmax(140px,42%) 1fr;gap:.6rem}
@media(max-width:560px){.sb-phone-group{grid-template-columns:1fr}}
.sb-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.sb-form-notice{padding:.9rem 1.1rem;border-radius:12px;margin-bottom:1rem;font-size:.92rem}
.sb-form-notice.is-ok{background:rgba(63,227,214,.14);border:1px solid rgba(63,227,214,.4)}
.sb-form-notice.is-error{background:rgba(255,45,155,.14);border:1px solid rgba(255,45,155,.4)}

/* ---- Footer province nav + sitemap ---- */
.sb-footer-provinces{margin:2rem 0 1rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}
.sb-footer-provinces h4{margin:0 0 .8rem;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase}
.sb-footer-provinces ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.sb-footer-provinces ul{grid-template-columns:repeat(4,1fr)}}
.sb-footer-provinces a{font-size:.84rem;opacity:.85}
.sb-footer-provinces a:hover{opacity:1;color:var(--sb-cyan,#3fe3d6)}
.sb-footer-sitemap{margin:.6rem 0 1rem;font-size:.86rem}

/* ---- HTML sitemap page ---- */
.sb-sitemap-section{margin:2rem 0}
.sb-sitemap-section ul{columns:2;gap:2rem;list-style:none;padding:0;margin:0}
@media(min-width:900px){.sb-sitemap-section ul{columns:3}}
@media(max-width:560px){.sb-sitemap-section ul{columns:1}}
.sb-sitemap-section li{margin:0 0 .4rem;break-inside:avoid;font-size:.9rem}

/* ---- Selectable shipping rates ---- */
.woocommerce ul#shipping_method li,
ul#shipping_method li{display:flex;align-items:flex-start;gap:.5rem;margin:0 0 .7rem;text-align:left}
ul#shipping_method input[type=radio]{width:18px;height:18px;margin-top:.15rem;accent-color:#3fe3d6;flex:0 0 auto;opacity:1;position:static;pointer-events:auto}
ul#shipping_method label{cursor:pointer}
.woocommerce ul#shipping_method{list-style:none;margin:0;padding:0}
.woocommerce ul#shipping_method li{padding:.7rem;border:1px solid var(--sb-line);border-radius:8px;background:var(--sb-panel)}
.woocommerce ul#shipping_method li:has(input:checked){border-color:var(--sb-cyan);box-shadow:0 0 0 1px var(--sb-cyan)}

/* ---- Guaranteed cart / checkout shipping selector ---- */
.woocommerce-shipping-totals.shipping{display:none}
.sb-delivery-selector{display:grid;gap:.65rem;margin:0;padding:0;border:0;min-width:min(100%,360px)}
.sb-delivery-selector label{display:flex;align-items:center;gap:.8rem;padding:.8rem;border:1px solid var(--sb-line);border-radius:8px;background:var(--sb-panel);cursor:pointer;text-align:left}
.sb-delivery-selector label:has(input:checked){border-color:var(--sb-cyan);box-shadow:0 0 0 1px var(--sb-cyan)}
.sb-delivery-selector input[type=radio]{width:19px;height:19px;flex:0 0 auto;margin:0;accent-color:var(--sb-cyan);opacity:1;position:static;pointer-events:auto}
.sb-delivery-selector span{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;width:100%}
.sb-delivery-selector strong{font-size:.86rem;line-height:1.35}
.sb-delivery-selector small{font-size:.86rem;font-weight:800;color:var(--sb-cyan);white-space:nowrap}
.sb-delivery-selector.is-updating{opacity:.55;pointer-events:none}
.sb-delivery-selector-row th{vertical-align:top}
.sb-location-guide{max-width:980px;margin:2.5rem auto 0}
.sb-location-guide section{padding:1.25rem 0;border-top:1px solid var(--sb-line)}
.sb-location-guide section:first-child{border-top:0}
@media(max-width:768px){.sb-delivery-selector-row th,.sb-delivery-selector-row td{display:block;width:100%;text-align:left}.sb-delivery-selector-row td:before{display:none!important}}
