/* =========================================================
   Bingoshakerz theme – LIGHT edition
   Inspiration: Audiotent (white, bold uppercase grotesk, square artwork, black CTAs),
   Softube (clean cards, soft shadows, lots of air), Plugin Alliance (dense, clear pricing, deal badges).
   ========================================================= */

:root {
	--bg: #ffffff;
	--bg-2: #f6f6f4;
	--surface: #ffffff;
	--surface-2: #f1f1ee;
	--border: #e7e7e3;
	--border-2: #d6d6d0;
	--text: #0f0f12;
	--text-2: #45454d;
	--muted: #7c7c86;
	--accent: #c8f31c;          /* acid lime – fills only (progress, badges, hover), never blue */
	--accent-ink: #0f0f12;
	--accent-soft: #f3fbd2;
	--ink: #0f0f12;             /* primary button / strong elements */
	--ink-ink: #ffffff;
	--danger: #e5484d;
	--ok: #1f9d55;
	--radius: 14px;
	--radius-sm: 10px;
	--shadow: 0 18px 50px rgba(15, 15, 18, .10);
	--shadow-sm: 0 4px 16px rgba(15, 15, 18, .06);
	--font-head: "Sora", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
	--font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--container: 1320px;
	--header-h: 76px;
	color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font: 400 16px/1.6 var(--font-body); -webkit-font-smoothing: antialiased; }
body.has-dock { padding-bottom: 84px; }
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--accent); }
h1, h2, h3, h4 { font-family: var(--font-head); font-weight: 700; letter-spacing: -.02em; line-height: 1.1; margin: 0 0 .5em; color: var(--text); }
h1 { font-size: clamp(2rem, 4.5vw, 3.6rem); }
h2 { font-size: clamp(1.6rem, 2.8vw, 2.4rem); }
h3 { font-size: 1.2rem; }
p { margin: 0 0 1em; }
hr { border: 0; border-top: 1px solid var(--border); margin: 2rem 0; }
button { font: inherit; cursor: pointer; }
input, textarea, select { font: inherit; }
::selection { background: var(--accent); color: #fff; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 4px; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.skip-link:focus { position: fixed; top: 8px; left: 8px; z-index: 1000; background: var(--ink); color: #fff; padding: .5rem 1rem; width: auto; height: auto; clip: auto; }

.bs-container { width: min(100% - 2.5rem, var(--container)); margin-inline: auto; }
.bs-container--narrow { max-width: 820px; }
.bs-container--wide { max-width: var(--container); }
.bs-section { padding: clamp(3.5rem, 7vw, 6rem) 0; }
.bs-section--tint { background: var(--bg-2); }
.bs-section__head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; }
.bs-section__title { margin: 0; text-transform: uppercase; letter-spacing: -.01em; }
.bs-section__sub { margin: .35rem 0 0; color: var(--muted); }
.bs-eyebrow { font-family: var(--font-head); font-size: .74rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); margin: 0 0 .9rem; }
.bs-lead { font-size: 1.15rem; color: var(--text-2); }
.bs-muted { color: var(--muted); font-size: .9rem; }
.bs-link-arrow { color: var(--text); font-weight: 600; white-space: nowrap; font-size: .9rem; text-transform: uppercase; letter-spacing: .08em; border-bottom: 1px solid var(--text); padding-bottom: 2px; }
.bs-link-arrow:hover { color: var(--accent); border-color: var(--accent); }

/* Buttons – Audiotent-style solid black primary, outlined secondary */
.bs-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .85rem 1.5rem; border-radius: 999px; font-weight: 600; font-family: var(--font-head); font-size: .9rem; letter-spacing: .04em; text-transform: uppercase; border: 1px solid transparent; transition: transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s; line-height: 1.1; }
.bs-btn:hover { transform: translateY(-1px); }
.bs-btn--accent { background: var(--ink); color: var(--ink-ink); }
.bs-btn--accent:hover { background: var(--accent); color: #fff; }
.bs-btn--ghost { background: transparent; border-color: var(--border-2); color: var(--text); }
.bs-btn--ghost:hover { border-color: var(--text); color: var(--text); }
.bs-btn--lg { padding: 1.05rem 1.9rem; font-size: .95rem; }
.bs-btn--block { width: 100%; }

/* Icons */
.bs-ico-play, .bs-ico-pause { width: 1em; height: 1em; fill: currentColor; }
.bs-ico-pause { display: none; }
.is-playing .bs-ico-play { display: none; }
.is-playing .bs-ico-pause { display: block; }

/* Header */
.bs-header { position: sticky; top: 0; z-index: 100; background: rgba(255, 255, 255, .86); backdrop-filter: saturate(160%) blur(14px); -webkit-backdrop-filter: saturate(160%) blur(14px); border-bottom: 1px solid transparent; transition: border-color .2s, background .3s, box-shadow .3s; }
.bs-header.is-scrolled { --header-h: 62px; border-bottom-color: var(--border); background: rgba(255, 255, 255, .92); box-shadow: 0 8px 30px rgba(15, 15, 18, .06); }
.admin-bar .bs-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .bs-header { top: 46px; } }
.bs-header__inner { display: flex; align-items: center; gap: 1.5rem; height: var(--header-h); transition: height .25s ease; }
.bs-header__brand { display: flex; align-items: center; }
.bs-logo { display: inline-flex; align-items: center; gap: .6rem; font-family: var(--font-head); font-weight: 800; font-size: 1.15rem; letter-spacing: -.02em; text-transform: uppercase; color: var(--text); }
.bs-logo:hover { color: var(--text); }
.bs-logo__mark { width: 36px; height: 36px; color: var(--text); flex: none; }
.bs-logo__mark path { fill: #fff; }
.bs-logo__text span { color: var(--accent); }
.custom-logo { max-height: 44px; width: auto; }
.bs-nav { flex: 1; }
.bs-nav__list { list-style: none; margin: 0; padding: 0; display: flex; gap: .25rem; align-items: center; }
.bs-nav__list > li { position: relative; }
.bs-nav__list a { display: inline-flex; align-items: center; gap: .35rem; padding: .5rem .85rem; border-radius: 999px; font-weight: 600; font-size: .82rem; color: var(--text-2); font-family: var(--font-head); text-transform: uppercase; letter-spacing: .06em; }
.bs-nav__list a:hover, .bs-nav__list .current-menu-item > a, .bs-nav__list .current-menu-ancestor > a { color: var(--text); background: var(--surface-2); }
.bs-nav__list .menu-count { font-size: .7rem; color: var(--muted); margin-left: auto; }
.bs-nav__list > .menu-item-has-children > a::after { content: ""; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); margin-left: .2rem; opacity: .6; }
.bs-nav__list .sub-menu { list-style: none; margin: 0; padding: .75rem; position: absolute; top: calc(100% + 8px); left: 0; min-width: 250px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); box-shadow: var(--shadow); opacity: 0; visibility: hidden; transform: translateY(6px); transition: .15s ease; }
.bs-nav__list .sub-menu.bs-mega { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); min-width: 520px; }
.bs-nav__list li:hover > .sub-menu, .bs-nav__list li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.bs-nav__list .sub-menu a { display: flex; justify-content: space-between; border-radius: 8px; padding: .55rem .7rem; text-transform: none; letter-spacing: 0; font-family: var(--font-body); font-weight: 500; font-size: .93rem; }
.bs-header__actions { display: flex; align-items: center; gap: .25rem; margin-left: auto; }
.bs-icon-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: transparent; border: 0; color: var(--text); }
.bs-icon-btn svg { width: 22px; height: 22px; fill: currentColor; }
.bs-icon-btn:hover { background: var(--surface-2); color: var(--text); }
.bs-cart__count { position: absolute; top: 4px; right: 2px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--accent); color: #fff; font-size: .7rem; font-weight: 700; line-height: 18px; text-align: center; display: none; }
.bs-cart__count.has-items { display: block; }
.bs-cart.is-bump { animation: bump .5s ease; }
@keyframes bump { 30% { transform: scale(1.18); } }
.bs-burger { display: none; flex-direction: column; gap: 5px; width: 42px; height: 42px; padding: 11px 9px; border: 0; background: transparent; border-radius: 50%; }
.bs-burger span { display: block; height: 2px; background: var(--text); border-radius: 2px; transition: .2s; }
.bs-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.bs-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.bs-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.bs-search { border-top: 1px solid var(--border); padding: 1rem 0; background: var(--bg); }
.bs-searchform { display: flex; gap: .5rem; }
.bs-searchform input { flex: 1; min-width: 0; padding: .8rem 1.1rem; border-radius: 999px; border: 1px solid var(--border-2); background: var(--surface); color: var(--text); }
.bs-searchform input:focus { border-color: var(--accent); outline: none; }

@media (max-width: 1023px) {
	.bs-burger { display: flex; flex: none; }
	.bs-header__brand, .bs-icon-btn { flex: none; }
	.bs-header__inner { gap: .5rem; }
	.bs-header__actions { gap: 0; margin-left: auto; }
	.bs-logo { font-size: 1rem; gap: .45rem; }
	.bs-logo__mark { width: 32px; height: 32px; }
	.bs-icon-btn { width: 38px; height: 38px; }
	.bs-icon-btn--account { display: none; }
	.custom-logo { max-height: 36px; }
	/* Header has backdrop-filter (= containing block for fixed children), so the drawer is positioned from the header itself. */
	.bs-nav { position: absolute; top: 100%; left: 0; right: 0; height: calc(100vh - var(--header-h)); height: calc(100dvh - var(--header-h)); background: var(--bg); overflow-y: auto; padding: 1rem; transform: translateX(-100%); transition: transform .25s ease; border-top: 1px solid var(--border); }
	.admin-bar .bs-nav { height: calc(100vh - var(--header-h) - 46px); }
	.bs-nav.is-open { transform: none; }
	.bs-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
	.bs-nav__list a { padding: .9rem .75rem; border-radius: 10px; font-size: 1.05rem; text-transform: none; letter-spacing: 0; }
	.bs-nav__list > .menu-item-has-children > a::after { display: none; }
	.bs-nav__list .sub-menu, .bs-nav__list .sub-menu.bs-mega { position: static; display: none; min-width: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; border: 0; background: var(--bg-2); grid-template-columns: 1fr 1fr; }
	.bs-nav__list li.is-open > .sub-menu { display: grid; }
	.bs-nav__list .sub-menu a { font-size: 1rem; padding: .7rem .75rem; }
	.bs-nav__list .menu-item-has-children > a::after { content: "+"; margin-left: auto; color: var(--muted); display: inline; }
	.bs-nav__list .menu-item-has-children.is-open > a::after { content: "–"; }
	body.nav-open { overflow: hidden; }
}

/* Hero (light, cinematic: big type, soft violet glow, animated waveform) */
.bs-hero { position: relative; overflow: hidden; padding: clamp(3rem, 8vw, 6rem) 0 clamp(2rem, 5vw, 4rem); background: var(--bg); }
.bs-hero--cinematic { min-height: min(80vh, 760px); display: flex; align-items: center; padding: clamp(4rem, 10vw, 8rem) 0 clamp(4rem, 9vw, 7rem); background: radial-gradient(90% 70% at 80% 0%, #f3f0ff 0%, var(--bg) 60%); border-bottom: 1px solid var(--border); }
.bs-hero__glow { position: absolute; inset: auto -10% -30% -10%; height: 80%; background: radial-gradient(50% 60% at 50% 100%, rgba(91, 61, 245, .12), transparent 70%); pointer-events: none; }
.bs-hero__inner { position: relative; display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: center; }
.bs-hero__copy { max-width: 860px; }
.bs-hero__title { font-size: clamp(2.8rem, 8vw, 6.6rem); font-weight: 800; max-width: 10ch; letter-spacing: -.04em; line-height: .98; text-transform: uppercase; margin-bottom: 1.25rem; }
.bs-hero__text { font-size: clamp(1.05rem, 1.6vw, 1.3rem); color: var(--text-2); max-width: 46ch; }
.bs-hero__cta { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.75rem 0; }
.bs-hero__wave { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 38%; opacity: .9; pointer-events: none; mask-image: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent); }
.bs-hero__feature { background: var(--surface); border: 1px solid var(--border); border-radius: calc(var(--radius) + 6px); padding: 1rem; box-shadow: var(--shadow); }
.bs-hero__cover img { border-radius: var(--radius); aspect-ratio: 1; object-fit: cover; width: 100%; }
.bs-hero__feature-body { padding: 1.25rem .5rem .5rem; }
.bs-hero__feature-body h2 { font-size: 1.4rem; margin: 0 0 .25rem; }
.bs-hero__feature-meta { color: var(--muted); font-size: .9rem; margin-bottom: 1rem; }
.bs-hero__feature-foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; }
.bs-price, .bs-buybox__price { font-family: var(--font-head); font-weight: 700; font-size: 1.35rem; }
.bs-price del, .bs-buybox__price del, .bs-card__price del { color: var(--muted); font-weight: 400; font-size: .8em; margin-right: .4em; }
.bs-price ins, .bs-buybox__price ins, .bs-card__price ins { text-decoration: none; color: var(--accent); }

/* Chips */
.bs-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.bs-chip { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .95rem; border-radius: 999px; border: 1px solid var(--border-2); color: var(--text-2); font-size: .85rem; font-weight: 600; background: var(--surface); transition: .15s; }
.bs-chip span { color: var(--muted); font-size: .8em; font-weight: 500; }
.bs-chip:hover, .bs-chip.is-active { border-color: var(--text); color: var(--text); }

/* Product grid & card (Audiotent / Softube style: square art, clean type, black CTA) */
.bs-grid, ul.products { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.bs-card-li, .woocommerce-page ul.products li.bs-card-li { float: none; width: auto; margin: 0; padding: 0; list-style: none; display: flex; }
.woocommerce ul.products li.bs-card-li > .bs-card { width: 100%; }
@media (max-width: 1100px) { .bs-grid, ul.products { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px) { .bs-grid, ul.products { grid-template-columns: repeat(2, 1fr); gap: 1rem; } }
.bs-card { position: relative; display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.bs-card:hover { transform: translateY(-4px); border-color: var(--border-2); box-shadow: var(--shadow); }
.bs-card__media { position: relative; aspect-ratio: 1; background: var(--surface-2); overflow: hidden; }
.bs-card__img, .bs-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.bs-card:hover .bs-card__media img { transform: scale(1.04); }
.bs-card__play { position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: 64px; height: 64px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .95); color: var(--text); display: grid; place-items: center; font-size: 1.6rem; opacity: 0; transform: scale(.85); transition: .2s; box-shadow: 0 10px 30px rgba(0, 0, 0, .25); }
.bs-card:hover .bs-card__play, .bs-card__play:focus-visible, .bs-card__play.is-playing, .bs-card__play.is-loading { opacity: 1; transform: none; }
.bs-card__play:hover { background: var(--accent); color: #fff; }
.bs-card__play.is-playing { background: var(--accent); color: #fff; }
.bs-card__play.is-loading { animation: pulse 1s infinite; }
@keyframes pulse { 50% { opacity: .6; } }
@media (hover: none) { .bs-card__play { opacity: 1; transform: none; width: 52px; height: 52px; } }
.bs-badge { display: inline-block; padding: .3rem .6rem; border-radius: 6px; font-size: .7rem; font-weight: 700; font-family: var(--font-head); letter-spacing: .06em; text-transform: uppercase; background: var(--ink); color: #fff; }
.bs-badge--sale { background: var(--accent); color: #fff; }
.bs-badge--hot { background: var(--ink); color: #fff; }
.bs-badge--bundle { background: #fff; color: var(--text); border: 1px solid var(--border-2); }
.bs-card__badges { position: absolute; top: .75rem; left: .75rem; display: flex; gap: .35rem; }
.bs-card__body { display: flex; flex-direction: column; gap: .3rem; padding: 1.1rem 1.1rem 1.2rem; flex: 1; }
.bs-card__meta { display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.bs-card__genre { font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); font-weight: 700; }
.bs-card__title { font-size: 1.02rem; margin: 0; line-height: 1.3; }
.bs-card__title a:hover { color: var(--accent); }
.bs-card__sub { display: flex; gap: .5rem; font-size: .8rem; color: var(--muted); flex-wrap: wrap; }
.bs-card__creator { color: var(--text-2); }
.bs-card__creator + .bs-card__formats::before { content: "·"; margin-right: .5rem; }
.bs-card__footer { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: auto; padding-top: .9rem; }
.bs-card__price { font-family: var(--font-head); font-weight: 700; font-size: 1.05rem; }
.bs-card__cart { display: inline-flex; align-items: center; gap: .4rem; padding: .55rem .95rem; border-radius: 999px; background: var(--ink); border: 1px solid var(--ink); font-size: .8rem; font-weight: 600; color: #fff; transition: .15s; text-transform: uppercase; letter-spacing: .04em; }
.bs-card__cart svg { width: 15px; height: 15px; fill: currentColor; }
.bs-card__cart:hover { background: var(--accent); border-color: var(--accent); color: #fff; }
.bs-card__cart.loading { opacity: .6; pointer-events: none; }
.bs-card__cart.added, .bs-card__cart.is-added { background: var(--ok); border-color: var(--ok); color: #fff; }
.added_to_cart { display: none; }
.bs-stars { position: relative; display: inline-block; width: 70px; height: 12px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 70 14'><g fill='%23dcdcd6'><polygon points='7,1 8.8,5.1 13.3,5.5 9.9,8.5 10.9,12.9 7,10.6 3.1,12.9 4.1,8.5 0.7,5.5 5.2,5.1'/><polygon transform='translate(14)' points='7,1 8.8,5.1 13.3,5.5 9.9,8.5 10.9,12.9 7,10.6 3.1,12.9 4.1,8.5 0.7,5.5 5.2,5.1'/><polygon transform='translate(28)' points='7,1 8.8,5.1 13.3,5.5 9.9,8.5 10.9,12.9 7,10.6 3.1,12.9 4.1,8.5 0.7,5.5 5.2,5.1'/><polygon transform='translate(42)' points='7,1 8.8,5.1 13.3,5.5 9.9,8.5 10.9,12.9 7,10.6 3.1,12.9 4.1,8.5 0.7,5.5 5.2,5.1'/><polygon transform='translate(56)' points='7,1 8.8,5.1 13.3,5.5 9.9,8.5 10.9,12.9 7,10.6 3.1,12.9 4.1,8.5 0.7,5.5 5.2,5.1'/></g></svg>") no-repeat; background-size: 70px 14px; }
.bs-stars__fill { position: absolute; inset: 0 auto 0 0; overflow: hidden; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 70 14'><g fill='%230f0f12'><polygon points='7,1 8.8,5.1 13.3,5.5 9.9,8.5 10.9,12.9 7,10.6 3.1,12.9 4.1,8.5 0.7,5.5 5.2,5.1'/><polygon transform='translate(14)' points='7,1 8.8,5.1 13.3,5.5 9.9,8.5 10.9,12.9 7,10.6 3.1,12.9 4.1,8.5 0.7,5.5 5.2,5.1'/><polygon transform='translate(28)' points='7,1 8.8,5.1 13.3,5.5 9.9,8.5 10.9,12.9 7,10.6 3.1,12.9 4.1,8.5 0.7,5.5 5.2,5.1'/><polygon transform='translate(42)' points='7,1 8.8,5.1 13.3,5.5 9.9,8.5 10.9,12.9 7,10.6 3.1,12.9 4.1,8.5 0.7,5.5 5.2,5.1'/><polygon transform='translate(56)' points='7,1 8.8,5.1 13.3,5.5 9.9,8.5 10.9,12.9 7,10.6 3.1,12.9 4.1,8.5 0.7,5.5 5.2,5.1'/></g></svg>") no-repeat; background-size: 70px 14px; }
.bs-rating { display: inline-flex; align-items: center; gap: .5rem; }
.bs-stars__count { font-size: .85rem; color: var(--muted); }

/* Genre tiles with artwork */
.bs-genres { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1rem; }
.bs-genre { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--radius); background: var(--surface-2); border: 1px solid var(--border); transition: transform .25s, box-shadow .25s; display: block; }
.bs-genre:hover { transform: translateY(-3px); box-shadow: var(--shadow); color: var(--text); }
.bs-genre__art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .9; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.bs-genre:hover .bs-genre__art { transform: scale(1.06); }
.bs-genre__body { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 1.1rem; background: linear-gradient(180deg, transparent 35%, rgba(15, 15, 18, .85)); color: #fff; }
.bs-genre__name { font-family: var(--font-head); font-weight: 700; font-size: 1.15rem; text-transform: uppercase; letter-spacing: .02em; }
.bs-genre__count { color: rgba(255, 255, 255, .75); font-size: .85rem; }

/* Editorial promo (black block – the one strong contrast moment on the page) */
.bs-editorial { position: relative; overflow: hidden; padding: clamp(5rem, 12vw, 9rem) 0; text-align: center; background: var(--ink); color: #fff; }
.bs-editorial__bg { position: absolute; inset: 0; background: radial-gradient(60% 80% at 50% 50%, rgba(91, 61, 245, .35), transparent 70%); }
.bs-editorial__inner { position: relative; max-width: 860px; }
.bs-editorial .bs-eyebrow { color: #c9bbff; }
.bs-editorial__title { font-size: clamp(3rem, 10vw, 7.5rem); line-height: .95; letter-spacing: -.04em; text-transform: uppercase; margin: .2em 0 .35em; color: #fff; }
.bs-editorial__text { color: rgba(255, 255, 255, .78); font-size: 1.15rem; max-width: 52ch; margin: 0 auto 2rem; }
.bs-editorial .bs-btn--accent { background: #fff; color: var(--ink); }
.bs-editorial .bs-btn--accent:hover { background: var(--accent); color: #fff; }

/* Deals / promos */
.bs-deals, .bs-promos { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin-bottom: 1.5rem; }
.bs-promo { display: flex; flex-direction: column; gap: .35rem; padding: 2.25rem; border-radius: var(--radius); border: 1px solid var(--border); color: var(--text); position: relative; overflow: hidden; min-height: 200px; justify-content: end; background: var(--surface); transition: transform .25s, box-shadow .25s; }
.bs-promo strong { font-family: var(--font-head); font-size: 1.8rem; font-weight: 800; letter-spacing: -.02em; text-transform: uppercase; }
.bs-promo span:last-child { color: var(--text-2); }
.bs-promo--bundle { background: linear-gradient(135deg, #fbfbf7, #eef0e4); }
.bs-promo--sale, .bs-promo--artist { background: linear-gradient(135deg, #f6f3ff, #ebe6ff); }
.bs-promo::after { content: ""; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(91, 61, 245, .18), transparent 70%); }
.bs-promo:hover { transform: translateY(-3px); box-shadow: var(--shadow); color: var(--text); }
@media (max-width: 760px) { .bs-deals, .bs-promos { grid-template-columns: 1fr; } }

/* Benefits */
.bs-benefits { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
.bs-benefit { padding: 1.75rem; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); }
.bs-benefit svg { width: 32px; height: 32px; fill: none; stroke: var(--accent); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; margin-bottom: 1rem; }
.bs-benefit h3 { font-size: .82rem; letter-spacing: .12em; text-transform: uppercase; margin-bottom: .5rem; }
.bs-benefit p { margin: 0; color: var(--text-2); font-size: .95rem; }
@media (max-width: 900px) { .bs-benefits { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .bs-benefits { grid-template-columns: 1fr; } }

/* Press logos */
.bs-press { padding-block: 3rem; border-top: 1px solid var(--border); }
.bs-press__label { text-align: center; color: var(--muted); font-size: .76rem; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 1.25rem; }
.bs-press__logos { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1.5rem 2.5rem; }
.bs-press__logos img { height: 40px; width: auto; filter: grayscale(1); opacity: .6; transition: .2s; }
.bs-press__logos img:hover { opacity: 1; filter: none; }

/* Newsletter */
.bs-newsletter { background: var(--bg-2); border-block: 1px solid var(--border); }
.bs-newsletter__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center; padding: 3.5rem 0; }
.bs-newsletter h2 { margin-bottom: .35rem; text-transform: uppercase; }
.bs-newsletter p { color: var(--text-2); margin: 0; }
.bs-newsletter__form { display: flex; gap: .5rem; }
.bs-newsletter__form input, .bs-newsletter__form--plugin input[type="email"] { flex: 1; min-width: 0; padding: .95rem 1.2rem; border-radius: 999px; border: 1px solid var(--border-2); background: #fff; color: var(--text); }
.bs-newsletter__form--plugin form { display: flex; gap: .5rem; flex-wrap: wrap; }
.bs-newsletter__form--plugin input[type="submit"] { padding: .95rem 1.5rem; border-radius: 999px; border: 0; background: var(--ink); color: #fff; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; font-family: var(--font-head); }
@media (max-width: 760px) { .bs-newsletter__inner { grid-template-columns: 1fr; } .bs-newsletter__form { flex-direction: column; } }

/* Footer (light, Audiotent-like) */
.bs-footer { background: var(--bg); border-top: 1px solid var(--border); padding-top: 3.5rem; font-size: .93rem; }
.bs-footer__grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 2.5rem; }
.bs-footer__brand p { color: var(--muted); max-width: 40ch; margin-top: 1rem; }
.bs-footer h3 { font-size: .76rem; letter-spacing: .14em; text-transform: uppercase; color: var(--text); margin-bottom: 1rem; }
.bs-footer__menu { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.bs-footer__menu a { color: var(--text-2); }
.bs-footer__menu a:hover { color: var(--accent); }
.bs-footer__pay-title { margin-top: 1.75rem; }
.bs-footer__pay { opacity: .9; filter: invert(1); }
.bs-social { list-style: none; margin: 1.25rem 0 0; padding: 0; display: flex; gap: .5rem; }
.bs-social a { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--surface); border: 1px solid var(--border-2); color: var(--text-2); }
.bs-social a:hover { color: #fff; background: var(--ink); border-color: var(--ink); }
.bs-social svg { width: 18px; height: 18px; fill: currentColor; }
.bs-footer__bottom { border-top: 1px solid var(--border); margin-top: 3rem; padding: 1.25rem 0; color: var(--muted); font-size: .85rem; display: flex; justify-content: space-between; flex-wrap: wrap; gap: .5rem; }
@media (max-width: 900px) { .bs-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .bs-footer__grid { grid-template-columns: 1fr; } }

/* Page hero / breadcrumbs */
.bs-page-hero { padding: clamp(2rem, 5vw, 3.5rem) 0 1.5rem; }
.bs-page-hero__title { margin: .25rem 0 .25rem; text-transform: uppercase; }
.bs-page-hero__sub { color: var(--text-2); max-width: 70ch; }
.bs-page-hero__sub p:last-child { margin: 0; }
.bs-crumbs { font-size: .8rem; color: var(--muted); display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .75rem; }
.bs-crumbs a { color: var(--muted); }
.bs-crumbs a:hover { color: var(--accent); }

/* Shop hero + toolbar + filters */
.bs-shop-hero { position: relative; overflow: hidden; padding: clamp(2.5rem, 6vw, 4.5rem) 0 2rem; background: var(--bg-2); border-bottom: 1px solid var(--border); }
.bs-shop-hero__art { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .22; filter: blur(40px) saturate(1.1); transform: scale(1.2); }
.bs-shop-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(246, 246, 244, .3), var(--bg-2)); }
.bs-shop-hero__inner { position: relative; }
.bs-shop-hero__title { font-size: clamp(2.4rem, 6vw, 4.5rem); text-transform: uppercase; letter-spacing: -.03em; margin: .25rem 0; }
.bs-shop-hero__desc { color: var(--text-2); max-width: 70ch; }
.bs-shop-hero__desc p:last-child { margin: 0; }
.bs-shop-hero__count { color: var(--muted); font-size: .9rem; margin: .5rem 0 0; }
.bs-shop { padding-bottom: 4rem; }
.bs-shop__toolbar { display: flex; gap: 1rem; align-items: center; justify-content: space-between; padding: 1rem 0; border-bottom: 1px solid var(--border); margin-bottom: 1.75rem; }
.bs-shop__search { position: relative; flex: 1; max-width: 520px; }
.bs-shop__search svg { position: absolute; left: 1rem; top: 50%; translate: 0 -50%; width: 18px; height: 18px; fill: var(--muted); }
.bs-shop__search input { width: 100%; padding: .75rem 1rem .75rem 2.75rem; border-radius: 999px; border: 1px solid var(--border-2); background: var(--surface); color: var(--text); }
.bs-shop__search input:focus { border-color: var(--accent); outline: none; }
.bs-shop__tools { display: flex; gap: .5rem; align-items: center; }
.bs-shop__tools .woocommerce-ordering { margin: 0; }
.woocommerce-ordering select { padding: .6rem 2rem .6rem 1rem; border-radius: 999px; border: 1px solid var(--border-2); background: var(--surface); color: var(--text); }
.bs-filter-toggle { padding: .6rem 1rem; gap: .5rem; }
.bs-filter-toggle svg { width: 16px; height: 16px; fill: currentColor; }
.bs-filter-toggle__count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; border-radius: 999px; background: var(--accent); color: #fff; font-size: .72rem; }
.bs-shop__layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 2.5rem; align-items: start; }
body.filters-collapsed .bs-shop__layout { grid-template-columns: minmax(0, 1fr); }
body.filters-collapsed .bs-filters { display: none; }
.bs-filters { position: sticky; top: calc(var(--header-h) + 1rem); }
.bs-filters__head { display: none; }
.bs-filter-group { border: 0; padding: 0; margin: 0 0 1.5rem; }
.bs-filter-group legend { font-family: var(--font-head); font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin-bottom: .6rem; }
.bs-check { display: flex; align-items: center; gap: .6rem; padding: .35rem 0; font-size: .95rem; cursor: pointer; color: var(--text-2); }
.bs-check:hover { color: var(--text); }
.bs-check input { appearance: none; width: 18px; height: 18px; border-radius: 5px; border: 1px solid var(--border-2); background: #fff; display: grid; place-items: center; margin: 0; cursor: pointer; }
.bs-check input::before { content: ""; width: 10px; height: 10px; border-radius: 2px; background: var(--ink); transform: scale(0); transition: transform .12s; }
.bs-check input:checked { border-color: var(--ink); }
.bs-check input:checked::before { transform: scale(1); }
.bs-check em { margin-left: auto; font-style: normal; font-size: .8rem; color: var(--muted); }
.bs-filter-price { display: flex; align-items: center; gap: .5rem; margin-bottom: .5rem; }
.bs-filter-price input { width: 100%; padding: .55rem .7rem; border-radius: 10px; border: 1px solid var(--border-2); background: #fff; color: var(--text); }
.bs-filter-form__actions { display: grid; gap: .5rem; }
.bs-filter-form__clear { text-align: center; color: var(--muted); font-size: .9rem; }
.bs-shop__bar { display: flex; justify-content: flex-start; margin-bottom: 1.25rem; color: var(--muted); font-size: .9rem; }
.woocommerce-result-count { margin: 0; }
.bs-empty { text-align: center; padding: 3rem 0; }
.bs-empty .bs-chips { justify-content: center; margin-top: 1.5rem; }
@media (max-width: 1023px) {
	.bs-shop__layout { grid-template-columns: minmax(0, 1fr); }
	.bs-filters { position: fixed; inset: 0 auto 0 0; width: min(88vw, 360px); z-index: 300; background: var(--bg); border-right: 1px solid var(--border); padding: 1rem 1.25rem 2rem; overflow-y: auto; transform: translateX(-100%); transition: transform .25s ease; top: 0; box-shadow: var(--shadow); }
	.bs-filters.is-open { transform: none; }
	.bs-filters__head { display: flex; justify-content: space-between; align-items: center; padding: .5rem 0 1rem; margin-bottom: .5rem; border-bottom: 1px solid var(--border); }
	.bs-filters__close { border: 0; background: transparent; color: var(--text); font-size: 1.6rem; line-height: 1; }
	.bs-filters__backdrop { position: fixed; inset: 0; background: rgba(15, 15, 18, .35); z-index: 290; }
	.bs-filters__backdrop[hidden] { display: none; }
	body.filters-open { overflow: hidden; }
	.bs-shop__toolbar { flex-wrap: wrap; }
	.bs-shop__search { max-width: none; flex-basis: 100%; }
}
.woocommerce-pagination, .bs-pagination { margin-top: 2.5rem; }
.woocommerce-pagination ul, .bs-pagination .nav-links { list-style: none; margin: 0; padding: 0; display: flex; gap: .4rem; justify-content: center; flex-wrap: wrap; }
.woocommerce-pagination li a, .woocommerce-pagination li span, .bs-pagination .page-numbers { display: inline-grid; place-items: center; min-width: 42px; height: 42px; padding: 0 .75rem; border-radius: 999px; border: 1px solid var(--border-2); color: var(--text-2); }
.woocommerce-pagination li .current, .bs-pagination .page-numbers.current { background: var(--ink); color: #fff; border-color: var(--ink); }
.woocommerce-info, .woocommerce-message, .woocommerce-error, .bs-notice { padding: 1rem 1.25rem; border-radius: var(--radius-sm); background: var(--surface); border: 1px solid var(--border-2); margin: 0 0 1.25rem; list-style: none; }
.woocommerce-message, .bs-notice--ok { border-color: var(--ok); }
.woocommerce-error, .bs-notice--err { border-color: var(--danger); }
.woocommerce-message .button, .woocommerce-info .button { float: right; margin-left: 1rem; }
.bs-notices { padding-top: 1rem; }
.bs-notices:empty { display: none; }

/* Single product */
.bs-product__hero { padding: 1.5rem 0 3rem; background: linear-gradient(180deg, var(--bg-2), var(--bg)); }
.bs-product__hero-inner { display: grid; grid-template-columns: minmax(280px, 520px) 1fr; gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }
.bs-product__cover { position: relative; }
.bs-product__img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--radius); box-shadow: var(--shadow); }
.bs-product__badges { position: absolute; top: 1rem; left: 1rem; display: flex; gap: .4rem; }
.bs-product__playbig { position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: 88px; height: 88px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .96); color: var(--text); display: grid; place-items: center; font-size: 2.2rem; box-shadow: 0 20px 50px rgba(0, 0, 0, .35); transition: transform .2s, background .2s, color .2s; }
.bs-product__playbig:hover, .bs-product__playbig.is-playing { background: var(--accent); color: #fff; }
.bs-product__playbig:hover { transform: scale(1.06); }
.bs-product__playbig.is-loading { animation: pulse 1s infinite; }
.bs-product__title { font-size: clamp(1.8rem, 3.6vw, 2.8rem); margin-bottom: .75rem; text-transform: uppercase; letter-spacing: -.03em; }
.bs-product__byline { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin: 0 0 1rem; color: var(--text-2); }
.bs-product__creator { font-weight: 500; }
.bs-product__demo { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 1rem 1.1rem; margin-bottom: 1.25rem; box-shadow: var(--shadow-sm); }
.bs-product__demo-label { display: block; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: .5rem; }
.bs-product__short { color: var(--text-2); }
.bs-product__formats { list-style: none; margin: 0 0 1.25rem; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.bs-product__formats li { padding: .35rem .7rem; border-radius: 999px; border: 1px solid var(--border-2); font-size: .78rem; font-weight: 600; letter-spacing: .04em; background: #fff; }
.bs-product__formats li.is-muted { color: var(--muted); font-weight: 500; }
.bs-buybox { display: grid; gap: .75rem; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 1.25rem; margin: 1.25rem 0; box-shadow: var(--shadow-sm); }
.bs-buybox__price .price { font-size: 1.7rem; margin: 0; font-family: var(--font-head); font-weight: 700; }
.bs-buybox .cart { display: flex; gap: .6rem; align-items: center; margin: 0; flex-wrap: wrap; }
.bs-buybox .quantity { display: inline-flex; }
.bs-buybox .quantity .qty { width: 72px; padding: .8rem .6rem; text-align: center; border-radius: 999px; border: 1px solid var(--border-2); background: #fff; color: var(--text); }
.bs-buybox .single_add_to_cart_button, .bs-buybox .button { flex: 1; min-width: 200px; }
.bs-buybox__perks { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; font-size: .85rem; color: var(--muted); }
.bs-buybox__perks li::before { content: "✓"; color: var(--accent); margin-right: .5rem; }
.bs-meta { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem 1.5rem; margin: 0; font-size: .9rem; }
.bs-meta dt { color: var(--muted); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.bs-meta dd { margin: 0; }
.bs-meta__tags a { display: inline-block; margin: .2rem .3rem 0 0; padding: .15rem .55rem; border-radius: 999px; border: 1px solid var(--border-2); font-size: .8rem; color: var(--text-2); }
.bs-product__body { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 3rem; padding: 2rem 0 3rem; }
.bs-product__aside { position: sticky; top: calc(var(--header-h) + 1rem); align-self: start; }
.bs-aside-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 1.25rem; box-shadow: var(--shadow-sm); }
.bs-aside-card ul { padding-left: 1.1rem; margin: 0 0 1.25rem; color: var(--text-2); font-size: .92rem; }
.bs-aside-link { display: block; margin-top: 1rem; color: var(--text-2); font-size: .9rem; }
.bs-product__section { margin-bottom: 3rem; }
.bs-product__section > h2 { font-size: 1rem; letter-spacing: .14em; text-transform: uppercase; color: var(--text); margin-bottom: 1.25rem; padding-bottom: .75rem; border-bottom: 1px solid var(--border); }
.bs-inside { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .75rem; }
.bs-inside li { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 1rem; display: flex; flex-direction: column; gap: .2rem; }
.bs-inside strong { font-family: var(--font-head); font-size: 1.6rem; color: var(--text); line-height: 1; }
.bs-inside span { font-size: .85rem; color: var(--text-2); }
.bs-reqs { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; color: var(--text-2); }
.bs-reqs li::before { content: "✓"; color: var(--accent); margin-right: .6rem; }
@media (max-width: 1000px) { .bs-product__body { grid-template-columns: 1fr; } .bs-product__aside { display: none; } }
@media (max-width: 760px) { .bs-product__hero-inner { grid-template-columns: 1fr; } .bs-product__cover { max-width: 440px; } }

/* Prose (descriptions & pages) */
.bs-prose { font-size: 1.02rem; color: var(--text-2); }
.bs-prose h2 { color: var(--text); font-size: 1.5rem; margin-top: 2rem; }
.bs-prose h3 { color: var(--text); font-size: .95rem; letter-spacing: .12em; text-transform: uppercase; margin: 2.25rem 0 1rem; }
.bs-prose h2 em { font-style: normal; }
.bs-prose b, .bs-prose strong { color: var(--text); }
.bs-prose blockquote { margin: 1.5rem 0; padding: 1.25rem 1.5rem; border-left: 3px solid var(--accent); background: var(--bg-2); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.bs-prose blockquote img { height: 44px; width: auto; margin-bottom: .5rem; }
.bs-prose img { border-radius: var(--radius-sm); }
.bs-prose a { color: var(--accent); text-decoration: underline; text-underline-offset: .2em; }
.bs-prose ul, .bs-prose ol { padding-left: 1.3rem; }
.bs-prose hr { margin: 2rem 0; }
.bs-prose--wide { max-width: none; }
.bs-post-hero img { border-radius: var(--radius); margin-bottom: 2rem; }

/* Waveform player */
.bs-player { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .9rem; }
.bs-player--row { padding: .7rem .9rem; border-radius: var(--radius-sm); background: var(--surface); border: 1px solid var(--border); margin: .5rem 0; transition: border-color .15s, box-shadow .15s; }
.bs-player--row:hover, .bs-player.is-playing.bs-player--row { border-color: var(--border-2); box-shadow: var(--shadow-sm); }
.bs-player.is-playing.bs-player--row { background: var(--accent-soft); }
.bs-player__btn { width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--ink); color: #fff; display: grid; place-items: center; font-size: 1.25rem; transition: transform .15s, background .15s; flex: none; }
.bs-player__btn:hover, .bs-player.is-playing .bs-player__btn { background: var(--accent); }
.bs-player__btn:hover { transform: scale(1.06); }
.bs-player--hero .bs-player__btn { width: 56px; height: 56px; font-size: 1.5rem; }
.bs-player.is-loading .bs-player__btn { animation: pulse 1s infinite; }
.bs-player.has-error .bs-player__btn { background: var(--danger); color: #fff; }
.bs-player__body { min-width: 0; }
.bs-player__title { font-size: .88rem; font-weight: 500; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: .15rem; }
.bs-player__wave { height: 40px; cursor: pointer; border-radius: 6px; }
.bs-player--hero .bs-player__wave { height: 64px; }
.bs-player__canvas { width: 100%; height: 100%; display: block; }
.bs-player__time { font-variant-numeric: tabular-nums; font-size: .8rem; color: var(--muted); white-space: nowrap; }
.bs-player__cur { color: var(--text); }
.bs-player__sep { margin: 0 .25em; }
@media (max-width: 520px) { .bs-player__time .bs-player__dur, .bs-player__time .bs-player__sep { display: none; } .bs-player--row { grid-template-columns: auto 1fr; } .bs-player--row .bs-player__time { display: none; } }

/* Sticky dock */
.bs-dock[hidden] { display: none; }
.bs-dock { position: fixed; left: 0; right: 0; bottom: 0; z-index: 200; display: grid; grid-template-columns: auto minmax(120px, 260px) 1fr auto auto; align-items: center; gap: 1rem; padding: .75rem 1.25rem; background: rgba(255, 255, 255, .94); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-top: 1px solid var(--border); box-shadow: 0 -10px 40px rgba(15, 15, 18, .08); }
.bs-dock__btn { width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--ink); color: #fff; display: grid; place-items: center; font-size: 1.2rem; }
.bs-dock.is-playing .bs-dock__btn { background: var(--accent); }
.bs-dock__title { font-weight: 600; font-size: .92rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bs-dock__artist { font-size: .78rem; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bs-dock__progress { height: 6px; border-radius: 999px; background: var(--border); cursor: pointer; overflow: hidden; }
.bs-dock__bar { display: block; height: 100%; width: 0; background: var(--accent); }
.bs-dock__time { font-size: .8rem; color: var(--muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.bs-dock__close { border: 0; background: transparent; color: var(--muted); font-size: 1.4rem; line-height: 1; padding: .25rem .5rem; }
.bs-dock__close:hover { color: var(--text); }
@media (max-width: 640px) { .bs-dock { grid-template-columns: auto 1fr auto; } .bs-dock__progress { grid-column: 1 / -1; } .bs-dock__time { display: none; } }

/* FAQ, About, Contact, Forms */
.bs-faq-list { display: grid; gap: .6rem; }
.bs-faq { border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); padding: 0 1.25rem; }
.bs-faq summary { cursor: pointer; padding: 1rem 0; font-family: var(--font-head); font-weight: 600; color: var(--text); list-style: none; display: flex; justify-content: space-between; align-items: center; }
.bs-faq summary::-webkit-details-marker { display: none; }
.bs-faq summary::after { content: "+"; color: var(--accent); font-size: 1.3rem; }
.bs-faq[open] summary::after { content: "–"; }
.bs-faq__body { padding: 0 0 1rem; }
.bs-about-intro { display: grid; grid-template-columns: 1.1fr .9fr; gap: 3rem; align-items: center; margin-bottom: 3rem; }
.bs-about-intro__img img { border-radius: var(--radius); aspect-ratio: 4/3; object-fit: cover; }
.bs-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-bottom: 3.5rem; }
.bs-feature { padding: 1.75rem; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); }
.bs-feature__icon { display: inline-grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: var(--accent-soft); color: var(--accent); font-size: 1.3rem; margin-bottom: 1rem; }
.bs-feature h3 { text-transform: none; letter-spacing: -.01em; font-size: 1.15rem; margin: 0 0 .5rem; }
.bs-feature p { margin: 0; font-size: .95rem; }
.bs-partners h2 { text-align: center; font-size: .9rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin: 2.5rem 0 1.25rem; }
.bs-partners__grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1rem; align-items: center; }
.bs-partners__grid img { background: #fff; border: 1px solid var(--border); border-radius: 8px; padding: .5rem; width: 100%; aspect-ratio: 10/3; object-fit: contain; }
.bs-contact { display: grid; grid-template-columns: 1fr 1.2fr; gap: 3rem; }
.bs-form { display: grid; gap: 1rem; }
.bs-form__row { display: grid; gap: .35rem; }
.bs-form label, .woocommerce form label, .comment-form label { font-size: .85rem; font-weight: 500; color: var(--text-2); }
.bs-form input, .bs-form textarea, .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .comment-form input[type="text"], .comment-form input[type="email"], .comment-form textarea, .woocommerce .select2-container .select2-selection--single, .woocommerce-account .woocommerce-form input, .woocommerce-checkout input.input-text { width: 100%; padding: .8rem 1rem; border-radius: var(--radius-sm); border: 1px solid var(--border-2); background: #fff; color: var(--text); }
.bs-form input:focus, .bs-form textarea:focus, .woocommerce form .form-row input.input-text:focus { border-color: var(--accent); outline: none; }
.bs-form__hp { position: absolute; left: -9999px; }
@media (max-width: 900px) { .bs-about-intro, .bs-contact { grid-template-columns: 1fr; } .bs-features { grid-template-columns: 1fr; } .bs-partners__grid { grid-template-columns: repeat(3, 1fr); } }

/* WooCommerce generic overrides (buttons, cart, checkout, account) */
.woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button, .woocommerce #respond input#submit, .wc-block-components-button, .comment-form .submit { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .85rem 1.5rem; border-radius: 999px; font-weight: 600; font-family: var(--font-head); font-size: .88rem; letter-spacing: .04em; text-transform: uppercase; border: 1px solid var(--border-2); background: #fff; color: var(--text); cursor: pointer; line-height: 1.1; transition: .15s; }
.woocommerce .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .comment-form .submit:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
.woocommerce .button.alt, .woocommerce button.button.alt, .woocommerce a.button.alt, .woocommerce #respond input#submit.alt, .woocommerce .single_add_to_cart_button, .woocommerce .checkout-button, .woocommerce #place_order { background: var(--ink); color: #fff; border-color: var(--ink); }
.woocommerce .button.alt:hover, .woocommerce .single_add_to_cart_button:hover, .woocommerce #place_order:hover { background: var(--accent); border-color: var(--accent); color: #fff; }
.woocommerce table.shop_table, .woocommerce-page table.shop_table { border: 1px solid var(--border); border-radius: var(--radius); border-collapse: separate; overflow: hidden; width: 100%; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: var(--border) !important; padding: 1rem; }
.woocommerce table.shop_table th { background: var(--bg-2); color: var(--muted); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; }
.woocommerce table.shop_table img { width: 64px; border-radius: 8px; }
.woocommerce .cart_totals, .woocommerce-checkout #order_review, .woocommerce-checkout .woocommerce-checkout-review-order, .woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content, .woocommerce-checkout #customer_details { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 1.5rem; box-shadow: var(--shadow-sm); }
.woocommerce .cart_totals table, .woocommerce-checkout #order_review table { border: 0; }
.woocommerce-checkout #order_review { margin-top: 1rem; }
.woocommerce form .form-row { margin-bottom: 1rem; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .25rem; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: .6rem .8rem; border-radius: 8px; color: var(--text-2); }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a, .woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: var(--surface-2); color: var(--text); }
.woocommerce-account .woocommerce-MyAccount-content { margin-top: 1.5rem; }
@media (min-width: 900px) { .woocommerce-account .bs-prose { display: grid; grid-template-columns: 240px 1fr; gap: 2rem; align-items: start; } .woocommerce-account .woocommerce-MyAccount-content { margin-top: 0; } }
.woocommerce-account .woocommerce-MyAccount-navigation { align-self: start; }
.woocommerce .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2 { width: auto; float: none; }
@media (max-width: 760px) { .woocommerce .col2-set { grid-template-columns: 1fr; } }
.woocommerce ul#shipping_method, .woocommerce .woocommerce-privacy-policy-text { color: var(--text-2); font-size: .9rem; }
#payment .payment_methods li { list-style: none; padding: .75rem 0; border-bottom: 1px solid var(--border); }
#payment .payment_box { background: var(--bg-2); padding: 1rem; border-radius: 8px; margin: .5rem 0; font-size: .9rem; }
.woocommerce-checkout-review-order-table .product-name { color: var(--text); }
.woocommerce-order-received .woocommerce-order { display: grid; gap: 1.5rem; }
.woocommerce-order-downloads .button, .woocommerce-MyAccount-downloads .button { padding: .5rem 1rem; font-size: .8rem; }
.star-rating { color: var(--text); }
.woocommerce .star-rating span::before { color: var(--text); }
.woocommerce-product-rating { margin: 0; }
.woocommerce-review-link { color: var(--muted); font-size: .85rem; }
#reviews .commentlist { list-style: none; margin: 0 0 2rem; padding: 0; display: grid; gap: 1rem; }
#reviews .comment_container { display: flex; gap: 1rem; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 1rem 1.25rem; }
#reviews .comment_container img.avatar { width: 40px; height: 40px; border-radius: 50%; }
#reviews .meta { color: var(--muted); font-size: .85rem; }
#reviews .description p:last-child { margin: 0; }
#review_form_wrapper { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 1.5rem; }
.bs-product__reviews { padding-bottom: 3rem; }
.bs-product__reviews h2, #reviews h2 { font-size: 1.4rem; }
.comment-form-rating p.stars a { color: var(--text); }
.bs-related h2, .related > h2, .up-sells > h2 { font-size: clamp(1.5rem, 2.6vw, 2.2rem); margin-bottom: 1.5rem; text-transform: uppercase; }
.woocommerce-breadcrumb { display: none; }
.bs-product .woocommerce-breadcrumb { display: block; }
.onsale { display: none; }
.wc-block-components-notice-banner { background: var(--surface); border-color: var(--border-2); color: var(--text); }

/* Blog cards */
.bs-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.bs-post-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.bs-post-card__body { padding: 1.25rem; }
.bs-post-card time { font-size: .8rem; color: var(--muted); }
.bs-post-card h2 { font-size: 1.15rem; margin: .35rem 0 .5rem; }
.bs-post-card p { color: var(--text-2); font-size: .95rem; margin: 0; }
@media (max-width: 900px) { .bs-posts { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .bs-posts { grid-template-columns: 1fr; } }
.bs-404 { text-align: center; }
.bs-404 .bs-searchform { max-width: 520px; margin: 1.5rem auto; }
.bs-404 .bs-chips { justify-content: center; }
.bs-comments { margin-top: 3rem; }

/* Grain – almost invisible on light, keeps the print/paper feel */
.bs-grain { position: fixed; inset: 0; z-index: 9999; pointer-events: none; opacity: .035; mix-blend-mode: multiply; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"); }

/* Scroll reveal */
.bs-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1); }
.bs-reveal.is-visible { opacity: 1; transform: none; }
.bs-grid > .bs-reveal:nth-child(2) { transition-delay: .06s; }
.bs-grid > .bs-reveal:nth-child(3) { transition-delay: .12s; }
.bs-grid > .bs-reveal:nth-child(4) { transition-delay: .18s; }
.bs-grid > .bs-reveal { display: flex; }
.bs-grid > .bs-reveal > .bs-card { width: 100%; }

/* =========================================================
   v3 – no blue/violet anywhere, mark-only logo, artwork hero, Top 10 chart, list-style "What's inside"
   ========================================================= */
::selection { background: var(--accent); color: var(--accent-ink); }
:focus-visible { outline-color: var(--text); }
a:hover { color: var(--text); }
.bs-eyebrow { color: var(--text-2); }
.bs-price ins, .bs-buybox__price ins, .bs-card__price ins { color: var(--text); }
.bs-card__genre { color: var(--text-2); }
.bs-btn--accent:hover { background: #2a2a30; color: #fff; }
.bs-editorial .bs-btn--accent:hover { background: var(--accent); color: var(--accent-ink); }
.bs-cart__count, .bs-filter-toggle__count { background: var(--accent); color: var(--accent-ink); }
.bs-badge--sale { background: var(--accent); color: var(--accent-ink); }
.bs-card__play:hover, .bs-card__play.is-playing, .bs-product__playbig:hover, .bs-product__playbig.is-playing { background: var(--accent); color: var(--accent-ink); }
.bs-player__btn:hover, .bs-player.is-playing .bs-player__btn, .bs-dock.is-playing .bs-dock__btn { background: var(--accent); color: var(--accent-ink); }
.bs-player.is-playing.bs-player--row { background: var(--accent-soft); }
.bs-shop__search input:focus, .bs-searchform input:focus, .bs-form input:focus, .bs-form textarea:focus, .woocommerce form .form-row input.input-text:focus, .bs-newsletter__form input:focus { border-color: var(--text); }
.bs-hero--cinematic { background: var(--bg); }
.bs-hero__glow { background: none; }
.bs-editorial__bg { background: radial-gradient(60% 80% at 50% 50%, rgba(200, 243, 28, .22), transparent 70%); }
.bs-editorial .bs-eyebrow { color: var(--accent); }
.bs-promo--sale, .bs-promo--artist { background: linear-gradient(135deg, #fbfbf7, #f1f1ec); }
.bs-promo::after { background: radial-gradient(circle, rgba(200, 243, 28, .35), transparent 70%); }
.bs-benefit svg { stroke: var(--text); }
.bs-feature__icon { background: var(--accent-soft); color: var(--text); }
.bs-prose a { color: var(--text); }
.bs-prose blockquote, .bs-faq summary::after, .bs-buybox__perks li::before, .bs-reqs li::before { border-color: var(--text); color: var(--text); }
.bs-crumbs a:hover, .bs-footer__menu a:hover, .bs-link-arrow:hover, .bs-card__title a:hover { color: var(--text); }
.bs-link-arrow:hover { border-color: var(--text); }
.bs-shop-hero__art { filter: blur(40px) saturate(.9); }
.woocommerce .button.alt:hover, .woocommerce .single_add_to_cart_button:hover, .woocommerce #place_order:hover, .bs-card__cart:hover { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }

/* Logo: mark only */
.bs-logo__mark { width: 40px; height: 40px; }
.bs-logo__text { display: none; }

/* Hero v3: big artwork */
.bs-hero3 { padding: clamp(1.5rem, 4vw, 3rem) 0 clamp(2rem, 5vw, 4rem); background: var(--bg); }
.bs-hero3__inner { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.bs-hero3__art { position: relative; display: block; border-radius: calc(var(--radius) + 6px); overflow: hidden; box-shadow: var(--shadow); background: var(--surface-2); }
.bs-hero3__art img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.bs-hero3__art:hover img { transform: scale(1.02); }
.bs-hero3__badge { position: absolute; top: 1.25rem; left: 1.25rem; font-size: .8rem; padding: .45rem .8rem; }
.bs-hero3__title { font-size: clamp(2.2rem, 4.6vw, 4rem); text-transform: uppercase; letter-spacing: -.035em; line-height: .98; margin: 0 0 .5rem; }
.bs-hero3__title a:hover { color: var(--text); }
.bs-hero3__creator { color: var(--text-2); font-weight: 500; margin: 0 0 1rem; }
.bs-hero3__short { color: var(--text-2); margin-bottom: 1.25rem; }
.bs-hero3__foot { display: flex; align-items: baseline; gap: 1rem; margin: 1.25rem 0 1rem; }
.bs-hero3__formats { color: var(--muted); font-size: .85rem; }
.bs-hero3__cta { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.bs-hero3__cta .bs-card__cart { padding: .95rem 1.6rem; font-size: .9rem; }
.bs-hero3 .bs-player--hero { margin-top: .25rem; }
@media (max-width: 900px) { .bs-hero3__inner { grid-template-columns: 1fr; } .bs-hero3__art { max-width: 640px; } }

/* Trust strip */
.bs-strip { border-block: 1px solid var(--border); background: var(--bg-2); }
.bs-strip__inner { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem 2.5rem; padding: .85rem 0; font-family: var(--font-head); font-size: .74rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--text-2); }
.bs-strip__inner span::before { content: "●"; font-size: .5em; vertical-align: middle; margin-right: .7rem; color: var(--accent); -webkit-text-stroke: 1px var(--text); }

/* Top 10 chart */
.bs-chart-head { display: grid; grid-template-columns: auto 1fr auto; align-items: end; gap: 1rem 1.5rem; margin-bottom: 1.5rem; }
.bs-chart-head .bs-section__title { font-size: clamp(2.4rem, 6vw, 4.5rem); line-height: .9; letter-spacing: -.04em; }
.bs-chart-head .bs-section__sub { margin: 0 0 .5rem; }
.bs-chart { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: 3rem; border-top: 1px solid var(--border); }
.bs-chart__row { display: grid; grid-template-columns: 2.2rem 64px minmax(0, 1fr) 40px auto auto; align-items: center; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--border); }
.bs-chart__rank { font-family: var(--font-head); font-weight: 700; font-size: 1.1rem; color: var(--muted); font-variant-numeric: tabular-nums; }
.bs-chart__thumb img { width: 64px; height: 64px; border-radius: 8px; object-fit: cover; }
.bs-chart__info { min-width: 0; display: grid; gap: .1rem; }
.bs-chart__title { font-family: var(--font-head); font-weight: 600; font-size: .98rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bs-chart__meta { font-size: .8rem; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bs-chart__play { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--border-2); background: #fff; color: var(--text); display: grid; place-items: center; font-size: 1.05rem; transition: .15s; }
.bs-chart__play:hover, .bs-chart__play.is-playing { background: var(--accent); border-color: var(--accent); }
.bs-chart__play.is-loading { animation: pulse 1s infinite; }
.bs-chart__price { font-family: var(--font-head); font-weight: 700; font-size: .98rem; white-space: nowrap; }
.bs-chart__price del { color: var(--muted); font-weight: 400; font-size: .8em; margin-right: .3em; }
.bs-chart__price ins { text-decoration: none; }
.bs-chart .bs-card__cart span { display: none; }
.bs-chart .bs-card__cart { padding: .55rem .6rem; }
@media (max-width: 1000px) { .bs-chart { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .bs-chart__row { grid-template-columns: 1.6rem 52px minmax(0, 1fr) 36px auto; } .bs-chart__price { display: none; } .bs-chart__thumb img { width: 52px; height: 52px; } .bs-chart-head { grid-template-columns: 1fr; } }

/* What's inside – tracklist style */
.bs-inside--list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 3rem; row-gap: 0; }
.bs-inside--list li { display: flex; align-items: baseline; gap: .6rem; padding: .7rem 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; flex-direction: row; }
.bs-inside__name { color: var(--text); font-weight: 500; }
.bs-inside__dots { flex: 1; border-bottom: 1px dotted var(--border-2); transform: translateY(-.3em); }
.bs-inside__count { font-family: var(--font-head); font-weight: 700; font-size: 1.05rem; font-variant-numeric: tabular-nums; }
@media (max-width: 640px) { .bs-inside--list { grid-template-columns: 1fr; } }

/* Product page: no aside */
.bs-product__body { grid-template-columns: minmax(0, 1fr); max-width: 900px; }
.bs-product__aside { display: none; }

/* =========================================================
   v4 – smaller hero artwork with glow/tilt effect, no format pills, checkout redesign
   ========================================================= */
.bs-hero3 { padding: clamp(2rem, 5vw, 4rem) 0 clamp(2.5rem, 6vw, 5rem); overflow: hidden; }
.bs-hero3__inner { grid-template-columns: minmax(280px, 440px) minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); }
.bs-hero3__stage { position: relative; perspective: 1200px; padding: 1.5rem; }
.bs-hero3__glow { position: absolute; inset: 8% 4% -2% 4%; background-size: cover; background-position: center; filter: blur(42px) saturate(1.4); opacity: .45; border-radius: 40%; transform: translateY(6%) scale(1.02); animation: bs-float 7s ease-in-out infinite; }
.bs-hero3__art { position: relative; display: block; border-radius: 18px; overflow: hidden; box-shadow: 0 30px 70px rgba(15, 15, 18, .28), 0 4px 14px rgba(15, 15, 18, .12); transform-style: preserve-3d; transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .35s ease, box-shadow .35s ease; will-change: transform; }
.bs-hero3__art img { aspect-ratio: 1; object-fit: cover; transition: none; }
.bs-hero3__art:hover { box-shadow: 0 40px 90px rgba(15, 15, 18, .32), 0 6px 18px rgba(15, 15, 18, .12); }
.bs-hero3__art:hover img { transform: none; }
.bs-hero3__shine { position: absolute; inset: 0; background: linear-gradient(115deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, .28) 50%, rgba(255, 255, 255, 0) 70%); background-size: 250% 100%; background-position: 100% 0; opacity: 0; transition: opacity .3s; pointer-events: none; }
.bs-hero3__art:hover .bs-hero3__shine { opacity: 1; animation: bs-shine 1.4s ease forwards; }
@keyframes bs-shine { to { background-position: -50% 0; } }
@keyframes bs-float { 0%, 100% { transform: translateY(6%) scale(1.02); } 50% { transform: translateY(2%) scale(1.06); } }
.bs-hero3__title { font-size: clamp(2.4rem, 5vw, 4.4rem); }
@media (max-width: 900px) { .bs-hero3__inner { grid-template-columns: 1fr; } .bs-hero3__stage { max-width: 420px; margin-inline: auto; } }
.bs-strip { display: none; }
.bs-product__formats { display: none; }

/* Checkout – editorial two-column: fields left, dark sticky summary right */
.bs-checkout-steps { display: flex; gap: 2rem; list-style: none; margin: 0 0 2rem; padding: 0 0 1rem; border-bottom: 1px solid var(--border); font-family: var(--font-head); font-size: .74rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); counter-reset: step; }
.bs-checkout-steps li { display: flex; align-items: center; gap: .6rem; }
.bs-checkout-steps li::before { counter-increment: step; content: counter(step); display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; border: 1px solid var(--border-2); font-size: .72rem; }
.bs-checkout-steps li.is-done::before { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); content: "✓"; }
.bs-checkout-steps li.is-active { color: var(--text); }
.bs-checkout-steps li.is-active::before { background: var(--ink); border-color: var(--ink); color: #fff; }
.bs-page--checkout .bs-page-hero { display: none; }
.bs-page--checkout .bs-container--wide { max-width: 1240px; padding-top: 2rem; }
.bs-page--checkout .woocommerce { display: block; }
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 3rem; align-items: start; }
.woocommerce-checkout form.checkout #customer_details { background: transparent; border: 0; padding: 0; box-shadow: none; }
.woocommerce-checkout form.checkout .col2-set { display: block; }
.woocommerce-checkout form.checkout .col2-set .col-1, .woocommerce-checkout form.checkout .col2-set .col-2 { width: 100%; float: none; margin-bottom: 1.5rem; }
.woocommerce-checkout form.checkout h3, .woocommerce-checkout #order_review_heading { font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 1.25rem; padding-bottom: .75rem; border-bottom: 1px solid var(--border); }
.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper, .woocommerce-checkout form.checkout .woocommerce-account-fields, .woocommerce-checkout form.checkout .woocommerce-additional-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.woocommerce-checkout form.checkout .form-row { margin: 0 0 1rem; float: none; width: auto; }
.woocommerce-checkout form.checkout .form-row-wide, .woocommerce-checkout form.checkout .woocommerce-additional-fields .form-row, .woocommerce-checkout form.checkout #billing_email_field, .woocommerce-checkout form.checkout #billing_address_1_field, .woocommerce-checkout form.checkout #billing_company_field { grid-column: 1 / -1; }
.woocommerce-checkout form.checkout .form-row label { font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); font-weight: 600; margin-bottom: .3rem; display: block; }
.woocommerce-checkout form.checkout .form-row .input-text, .woocommerce-checkout form.checkout .form-row select, .woocommerce-checkout .select2-container--default .select2-selection--single { width: 100%; padding: .9rem 1rem; border-radius: 12px; border: 1px solid var(--border-2); background: #fff; color: var(--text); height: auto; line-height: 1.4; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 1.4; padding: 0; color: var(--text); }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { top: 50%; translate: 0 -50%; }
.woocommerce-checkout form.checkout .form-row .input-text:focus { border-color: var(--text); outline: none; box-shadow: 0 0 0 3px rgba(15, 15, 18, .06); }
.woocommerce-checkout #order_review_heading { grid-column: 2; margin: 0; padding: 0; border: 0; position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.woocommerce-checkout #order_review { grid-column: 2; grid-row: 1 / span 3; position: sticky; top: calc(var(--header-h) + 1.5rem); margin: 0; padding: 1.75rem; background: var(--ink); color: #fff; border: 0; border-radius: 20px; box-shadow: 0 30px 60px rgba(15, 15, 18, .25); }
.woocommerce-checkout #order_review::before { content: "Your order"; display: block; font-family: var(--font-head); font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 255, 255, .6); margin-bottom: 1.25rem; }
.woocommerce-checkout #order_review table.shop_table { border: 0; border-radius: 0; background: transparent; color: #fff; }
.woocommerce-checkout #order_review table.shop_table th, .woocommerce-checkout #order_review table.shop_table td { border-color: rgba(255, 255, 255, .12) !important; padding: .9rem 0; background: transparent; color: #fff; }
.woocommerce-checkout #order_review table.shop_table thead { display: none; }
.woocommerce-checkout #order_review table.shop_table .product-name { font-weight: 500; }
.woocommerce-checkout #order_review table.shop_table .product-quantity { color: rgba(255, 255, 255, .6); }
.woocommerce-checkout #order_review table.shop_table tfoot th { color: rgba(255, 255, 255, .65); font-weight: 500; text-transform: none; letter-spacing: 0; font-size: .9rem; }
.woocommerce-checkout #order_review table.shop_table tfoot .order-total td, .woocommerce-checkout #order_review table.shop_table tfoot .order-total th { font-family: var(--font-head); font-size: 1.35rem; font-weight: 700; color: #fff; border-bottom: 0 !important; padding-top: 1rem; }
.woocommerce-checkout #order_review .woocommerce-Price-amount { color: #fff; }
.woocommerce-checkout #payment { background: transparent; border-radius: 0; margin-top: 1rem; }
.woocommerce-checkout #payment ul.payment_methods { padding: 0; margin: 0 0 1rem; border: 0; }
.woocommerce-checkout #payment ul.payment_methods li { list-style: none; padding: .9rem 1rem; margin-bottom: .5rem; border: 1px solid rgba(255, 255, 255, .14); border-radius: 12px; background: rgba(255, 255, 255, .04); color: #fff; }
.woocommerce-checkout #payment ul.payment_methods li label { color: #fff; font-weight: 500; display: inline; }
.woocommerce-checkout #payment ul.payment_methods li img { max-height: 22px; filter: none; }
.woocommerce-checkout #payment div.payment_box { background: rgba(255, 255, 255, .08); color: rgba(255, 255, 255, .85); border-radius: 10px; font-size: .88rem; }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment .place-order { padding: 0; }
.woocommerce-checkout #payment #place_order { width: 100%; padding: 1.1rem 1.5rem; font-size: 1rem; background: var(--accent); color: var(--accent-ink); border-color: var(--accent); border-radius: 999px; }
.woocommerce-checkout #payment #place_order:hover { background: #fff; border-color: #fff; color: var(--ink); }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper, .woocommerce-checkout .woocommerce-privacy-policy-text { color: rgba(255, 255, 255, .6); font-size: .8rem; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a, .woocommerce-checkout .woocommerce-privacy-policy-text a { color: #fff; text-decoration: underline; }
.woocommerce-checkout .woocommerce-form-coupon-toggle, .woocommerce-checkout .woocommerce-form-login-toggle { margin-bottom: 1rem; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { background: var(--bg-2); border: 1px dashed var(--border-2); }
.woocommerce-checkout .blockUI.blockOverlay { border-radius: 20px; }
.bs-checkout-trust { grid-column: 1; display: flex; flex-wrap: wrap; gap: 1.5rem; margin-top: 1rem; font-size: .82rem; color: var(--muted); }
.bs-checkout-trust span::before { content: "✓"; color: var(--text); margin-right: .4rem; }
@media (max-width: 960px) { .woocommerce-checkout form.checkout { grid-template-columns: 1fr; } .woocommerce-checkout #order_review { grid-column: 1; grid-row: auto; position: static; } .woocommerce-checkout #order_review_heading { grid-column: 1; } }
@media (max-width: 600px) { .woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; } }
.woocommerce-info::before, .woocommerce-message::before, .woocommerce-error::before { display: none; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { padding-left: 1.25rem; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a { color: var(--text); font-weight: 600; }
/* Block checkout (if the store uses the Checkout block instead of the shortcode) */
.wc-block-checkout { --wc-form-border-color: var(--border-2); }
.wc-block-components-sidebar { background: var(--ink); color: #fff; border-radius: 20px; padding: 1.5rem; }
.wc-block-components-sidebar .wc-block-components-totals-item, .wc-block-components-sidebar .wc-block-components-product-name, .wc-block-components-sidebar .wc-block-components-order-summary-item__description, .wc-block-components-sidebar .wc-block-components-panel__button, .wc-block-components-sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value, .wc-block-components-sidebar .wc-block-formatted-money-amount { color: #fff; }
.wc-block-components-checkout-place-order-button { background: var(--accent) !important; color: var(--accent-ink) !important; border-radius: 999px !important; }

/* =========================================================
   v5 – cart redesign, checkout in the same light card language, no reviews/ratings
   ========================================================= */
.bs-rating, .bs-stars, .woocommerce-product-rating, .star-rating, .woocommerce-review-link, .bs-product__reviews { display: none !important; }
.bs-page-hero--flow { padding-bottom: 0; }
.bs-page-hero--flow .bs-page-hero__title { font-size: clamp(2rem, 4vw, 3rem); }
.bs-page--cart .bs-container--wide, .bs-page--checkout .bs-container--wide { max-width: 1240px; padding-top: 1.5rem; }

/* Cart: item cards left, summary right */
.woocommerce-cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 3rem; align-items: start; }
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-cart form.woocommerce-cart-form { grid-column: 1; }
.woocommerce-cart .cart-collaterals { grid-column: 2; grid-row: 2; }
.woocommerce-cart table.shop_table.cart { border: 0; border-radius: 0; display: block; }
.woocommerce-cart table.shop_table.cart thead { display: none; }
.woocommerce-cart table.shop_table.cart tbody { display: grid; gap: .75rem; }
.woocommerce-cart table.shop_table.cart tr.cart_item { display: grid; grid-template-columns: 84px minmax(0, 1fr) auto; grid-template-areas: "thumb name remove" "thumb price remove" "thumb qty remove"; gap: .2rem 1.1rem; align-items: center; padding: 1rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.woocommerce-cart table.shop_table.cart tr.cart_item td { border: 0 !important; padding: 0; background: transparent; }
.woocommerce-cart table.shop_table.cart td.product-thumbnail { grid-area: thumb; }
.woocommerce-cart table.shop_table.cart td.product-thumbnail img { width: 84px; height: 84px; border-radius: 10px; object-fit: cover; }
.woocommerce-cart table.shop_table.cart td.product-name { grid-area: name; font-family: var(--font-head); font-weight: 600; font-size: 1.02rem; }
.woocommerce-cart table.shop_table.cart td.product-name a { color: var(--text); }
.woocommerce-cart table.shop_table.cart td.product-price { grid-area: price; color: var(--muted); font-size: .9rem; }
.woocommerce-cart table.shop_table.cart td.product-price::before { content: attr(data-title) ": "; }
.woocommerce-cart table.shop_table.cart td.product-quantity { grid-area: qty; }
.woocommerce-cart table.shop_table.cart td.product-quantity .quantity { display: inline-flex; }
.woocommerce-cart table.shop_table.cart td.product-quantity .qty { width: 64px; padding: .45rem .4rem; border-radius: 999px; border: 1px solid var(--border-2); text-align: center; background: #fff; }
.woocommerce-cart table.shop_table.cart td.product-subtotal { grid-area: remove; justify-self: end; align-self: start; font-family: var(--font-head); font-weight: 700; font-size: 1.05rem; }
.woocommerce-cart table.shop_table.cart td.product-remove { grid-area: remove; justify-self: end; align-self: end; }
.woocommerce-cart table.shop_table.cart td.product-remove a.remove { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--border-2); color: var(--muted) !important; font-size: 1.1rem; line-height: 1; background: #fff; }
.woocommerce-cart table.shop_table.cart td.product-remove a.remove:hover { background: var(--ink); color: #fff !important; border-color: var(--ink); }
.woocommerce-cart table.shop_table.cart tr:last-child td.actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; justify-content: space-between; padding: 1rem 0 0; border: 0 !important; background: transparent; }
.woocommerce-cart table.shop_table.cart td.actions .coupon { display: flex; gap: .5rem; align-items: center; }
.woocommerce-cart table.shop_table.cart td.actions .coupon label { display: none; }
.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text { padding: .7rem 1rem; border-radius: 999px; border: 1px solid var(--border-2); background: #fff; min-width: 180px; }
.woocommerce-cart table.shop_table.cart td.actions .button { padding: .7rem 1.2rem; font-size: .8rem; }
.woocommerce-cart .cart_totals { background: var(--surface); border: 1px solid var(--border); border-radius: 20px; padding: 1.5rem; box-shadow: var(--shadow); position: sticky; top: calc(var(--header-h) + 1.5rem); width: 100%; float: none; }
.woocommerce-cart .cart_totals h2 { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 1rem; padding-bottom: .75rem; border-bottom: 1px solid var(--border); }
.woocommerce-cart .cart_totals table { border: 0; }
.woocommerce-cart .cart_totals table th, .woocommerce-cart .cart_totals table td { padding: .7rem 0; border: 0 !important; background: transparent; }
.woocommerce-cart .cart_totals table th { font-size: .9rem; color: var(--muted); text-transform: none; letter-spacing: 0; font-weight: 500; width: auto; }
.woocommerce-cart .cart_totals table td { text-align: right; }
.woocommerce-cart .cart_totals table .order-total th, .woocommerce-cart .cart_totals table .order-total td { font-family: var(--font-head); font-size: 1.3rem; font-weight: 700; color: var(--text); border-top: 1px solid var(--border) !important; padding-top: 1rem; }
.woocommerce-cart .wc-proceed-to-checkout { padding: 1rem 0 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: flex; width: 100%; padding: 1.1rem 1.5rem; font-size: 1rem; margin: 0; }
.woocommerce-cart .cart-empty, .woocommerce-cart .return-to-shop { grid-column: 1 / -1; text-align: center; }
.woocommerce-cart .cart-empty { font-family: var(--font-head); font-size: 1.4rem; }
.bs-cart-continue { display: inline-block; margin-top: 1.25rem; color: var(--muted); font-size: .9rem; }
@media (max-width: 900px) { .woocommerce-cart .woocommerce { grid-template-columns: 1fr; } .woocommerce-cart .cart-collaterals { grid-column: 1; grid-row: auto; } .woocommerce-cart .cart_totals { position: static; } }
@media (max-width: 520px) { .woocommerce-cart table.shop_table.cart tr.cart_item { grid-template-columns: 64px minmax(0, 1fr) auto; } .woocommerce-cart table.shop_table.cart td.product-thumbnail img { width: 64px; height: 64px; } }

/* Checkout v5: light card summary (matches cart), numbered sections */
.woocommerce-checkout form.checkout { gap: 3rem; }
.woocommerce-checkout form.checkout .woocommerce-billing-fields, .woocommerce-checkout form.checkout .woocommerce-shipping-fields, .woocommerce-checkout form.checkout .woocommerce-additional-fields, .woocommerce-checkout form.checkout .woocommerce-account-fields { background: var(--surface); border: 1px solid var(--border); border-radius: 20px; padding: 1.5rem; margin-bottom: 1.25rem; box-shadow: var(--shadow-sm); }
.woocommerce-checkout form.checkout h3 { border: 0; padding: 0; margin-bottom: 1.25rem; font-size: 1rem; letter-spacing: .02em; text-transform: none; }
.woocommerce-checkout #order_review { background: var(--surface); color: var(--text); border: 1px solid var(--border); border-radius: 20px; box-shadow: var(--shadow); }
.woocommerce-checkout #order_review::before { color: var(--muted); }
.woocommerce-checkout #order_review table.shop_table, .woocommerce-checkout #order_review table.shop_table th, .woocommerce-checkout #order_review table.shop_table td, .woocommerce-checkout #order_review .woocommerce-Price-amount { color: var(--text); }
.woocommerce-checkout #order_review table.shop_table th, .woocommerce-checkout #order_review table.shop_table td { border-color: var(--border) !important; }
.woocommerce-checkout #order_review table.shop_table .product-quantity, .woocommerce-checkout #order_review table.shop_table tfoot th { color: var(--muted); }
.woocommerce-checkout #order_review table.shop_table tfoot .order-total td, .woocommerce-checkout #order_review table.shop_table tfoot .order-total th { color: var(--text); }
.woocommerce-checkout #payment ul.payment_methods li { border-color: var(--border); background: var(--bg-2); color: var(--text); }
.woocommerce-checkout #payment ul.payment_methods li label { color: var(--text); }
.woocommerce-checkout #payment div.payment_box { background: #fff; color: var(--text-2); border: 1px solid var(--border); }
.woocommerce-checkout #payment #place_order { background: var(--ink); color: #fff; border-color: var(--ink); }
.woocommerce-checkout #payment #place_order:hover { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper, .woocommerce-checkout .woocommerce-privacy-policy-text { color: var(--muted); }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a, .woocommerce-checkout .woocommerce-privacy-policy-text a { color: var(--text); }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { background: transparent; border: 0; padding: 0 0 1rem; color: var(--muted); }

/* =========================================================
   v6 – chart 1–10 in columns, shop without sidebar, outline search icon, new cart + checkout templates
   ========================================================= */
.bs-chart { grid-template-rows: repeat(5, auto); grid-auto-flow: column; }
@media (max-width: 1000px) { .bs-chart { grid-template-rows: none; grid-auto-flow: row; } }
.bs-chart__rank { font-size: 1.35rem; color: var(--text); }
.bs-ico-search { width: 22px; height: 22px; }
.bs-shop__layout, .bs-filters, .bs-filters__backdrop, .bs-filter-toggle, .bs-shop__filters { display: none !important; }
.bs-shop__main { width: 100%; }
.bs-checkout-steps { display: none; }
.bs-page-hero--flow { padding-bottom: .5rem; }

/* ---------- Cart (template: woocommerce/cart/cart.php) ---------- */
.bs-page--cart .bs-container--wide { max-width: 900px; }
.woocommerce-cart .woocommerce { display: block; }
.bs-cart__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 2px solid var(--text); margin-bottom: 0; }
.bs-cart__title { margin: 0; font-size: 1rem; letter-spacing: .12em; text-transform: uppercase; }
.bs-cart__continue { font-size: .9rem; color: var(--muted); }
.bs-cart__continue:hover { color: var(--text); }
.bs-cart__items { display: block; }
.bs-cart__item { display: grid; grid-template-columns: 128px minmax(0, 1fr) auto; gap: 1.5rem; padding: 1.5rem 0; border-bottom: 1px solid var(--border); align-items: start; }
.bs-cart__art img { width: 128px; height: 128px; border-radius: 12px; object-fit: cover; }
.bs-cart__info { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.bs-cart__genre { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.bs-cart__name { font-family: var(--font-head); font-weight: 700; font-size: 1.25rem; line-height: 1.2; color: var(--text); }
.bs-cart__name:hover { color: var(--text); text-decoration: underline; text-underline-offset: .15em; }
.bs-cart__creator { color: var(--text-2); font-size: .92rem; }
.bs-cart__controls { display: flex; align-items: center; gap: 1.25rem; margin-top: auto; padding-top: .9rem; }
.bs-cart__controls .quantity { display: inline-flex; }
.bs-cart__controls .qty { width: 64px; padding: .5rem .4rem; border-radius: 8px; border: 1px solid var(--border-2); text-align: center; background: #fff; }
.bs-cart__remove { font-size: .85rem; color: var(--muted) !important; text-decoration: underline; text-underline-offset: .2em; }
.bs-cart__remove:hover { color: var(--text) !important; }
.bs-cart__prices { text-align: right; display: flex; flex-direction: column; gap: .2rem; }
.bs-cart__subtotal { font-family: var(--font-head); font-weight: 700; font-size: 1.25rem; }
.bs-cart__unit { font-size: .8rem; color: var(--muted); }
.bs-cart__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem 0; }
.bs-cart__coupon summary { cursor: pointer; font-size: .9rem; color: var(--text-2); list-style: none; text-decoration: underline; text-underline-offset: .2em; }
.bs-cart__coupon summary::-webkit-details-marker { display: none; }
.bs-cart__coupon-row { display: flex; gap: .5rem; margin-top: .75rem; }
.bs-cart__coupon-row .input-text { padding: .7rem 1rem; border-radius: 999px; border: 1px solid var(--border-2); background: #fff; min-width: 200px; }
.bs-cart__update { padding: .7rem 1.2rem; font-size: .78rem; }
.bs-cart__update:disabled { opacity: .4; }
.bs-cart__collaterals { display: flex; justify-content: flex-end; margin-top: .5rem; }
.woocommerce-cart .cart_totals { width: 100%; max-width: 420px; float: none; position: static; background: transparent; border: 0; border-radius: 0; padding: 0; box-shadow: none; }
.woocommerce-cart .cart_totals h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.woocommerce-cart .cart_totals table { border: 0; margin-bottom: 1.25rem; }
.woocommerce-cart .cart_totals table th, .woocommerce-cart .cart_totals table td { padding: .6rem 0; border: 0 !important; background: transparent; }
.woocommerce-cart .cart_totals table th { font-size: .9rem; color: var(--muted); font-weight: 500; text-transform: none; letter-spacing: 0; width: auto; }
.woocommerce-cart .cart_totals table td { text-align: right; }
.woocommerce-cart .cart_totals table .order-total th, .woocommerce-cart .cart_totals table .order-total td { font-family: var(--font-head); font-size: 1.6rem; font-weight: 800; color: var(--text); border-top: 2px solid var(--text) !important; padding-top: 1rem; }
.woocommerce-cart .wc-proceed-to-checkout { padding: 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: flex; width: 100%; padding: 1.15rem 1.5rem; font-size: 1rem; margin: 0; background: var(--ink); color: #fff; border-color: var(--ink); }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
.woocommerce-cart .cart-empty { text-align: center; font-family: var(--font-head); font-size: 1.5rem; padding: 3rem 0 1rem; }
.woocommerce-cart .return-to-shop { text-align: center; }
@media (max-width: 600px) { .bs-cart__item { grid-template-columns: 88px minmax(0, 1fr); } .bs-cart__art img { width: 88px; height: 88px; } .bs-cart__prices { grid-column: 2; text-align: left; flex-direction: row; gap: .6rem; align-items: baseline; } .bs-cart__collaterals { justify-content: stretch; } .woocommerce-cart .cart_totals { max-width: none; } }

/* ---------- Checkout (template: woocommerce/checkout/form-checkout.php) ---------- */
.bs-page--checkout .bs-container--wide { max-width: 820px; }
.woocommerce-checkout form.checkout.bs-checkout { display: block; }
.bs-checkout__block { padding: 2rem 0; border-top: 1px solid var(--border); }
.bs-checkout__block:first-child { border-top: 2px solid var(--text); }
.bs-checkout__blockhead { display: flex; align-items: center; gap: .9rem; margin-bottom: 1.5rem; }
.bs-checkout__num { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--ink); color: #fff; font-family: var(--font-head); font-weight: 700; font-size: .85rem; flex: none; }
.bs-checkout__blockhead h3, .woocommerce-checkout form.checkout #order_review_heading { margin: 0; padding: 0; border: 0; position: static; width: auto; height: auto; overflow: visible; clip: auto; font-size: 1.1rem; letter-spacing: -.01em; text-transform: none; }
.bs-checkout__edit { margin-left: auto; font-size: .85rem; color: var(--muted); text-decoration: underline; text-underline-offset: .2em; }
.bs-checkout__edit:hover { color: var(--text); }
.woocommerce-checkout form.checkout.bs-checkout #order_review { position: static; grid-column: auto; grid-row: auto; margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; color: var(--text); }
.woocommerce-checkout form.checkout.bs-checkout #order_review::before { display: none; }
.woocommerce-checkout form.checkout.bs-checkout #order_review table.shop_table { border: 0; border-radius: 0; }
.woocommerce-checkout form.checkout.bs-checkout #order_review table.shop_table thead { display: none; }
.woocommerce-checkout form.checkout.bs-checkout #order_review table.shop_table td, .woocommerce-checkout form.checkout.bs-checkout #order_review table.shop_table th { padding: .8rem 0; border-color: var(--border) !important; background: transparent; color: var(--text); }
.woocommerce-checkout form.checkout.bs-checkout #order_review table.shop_table .product-name { font-weight: 600; font-family: var(--font-head); }
.woocommerce-checkout form.checkout.bs-checkout #order_review table.shop_table .product-quantity { color: var(--muted); font-weight: 400; font-family: var(--font-body); }
.woocommerce-checkout form.checkout.bs-checkout #order_review table.shop_table .product-total, .woocommerce-checkout form.checkout.bs-checkout #order_review table.shop_table tfoot td { text-align: right; }
.woocommerce-checkout form.checkout.bs-checkout #order_review table.shop_table tfoot th { color: var(--muted); font-weight: 500; text-transform: none; letter-spacing: 0; font-size: .9rem; }
.woocommerce-checkout form.checkout.bs-checkout #order_review table.shop_table tfoot .order-total th, .woocommerce-checkout form.checkout.bs-checkout #order_review table.shop_table tfoot .order-total td { font-family: var(--font-head); font-size: 1.5rem; font-weight: 800; color: var(--text); border-bottom: 0 !important; padding-top: 1rem; }
.woocommerce-checkout form.checkout.bs-checkout #customer_details { background: transparent; border: 0; padding: 0; box-shadow: none; display: block; }
.woocommerce-checkout form.checkout.bs-checkout .woocommerce-billing-fields, .woocommerce-checkout form.checkout.bs-checkout .woocommerce-shipping-fields, .woocommerce-checkout form.checkout.bs-checkout .woocommerce-additional-fields, .woocommerce-checkout form.checkout.bs-checkout .woocommerce-account-fields { background: transparent; border: 0; border-radius: 0; padding: 0; margin: 0 0 .5rem; box-shadow: none; }
.woocommerce-checkout form.checkout.bs-checkout .woocommerce-billing-fields > h3, .woocommerce-checkout form.checkout.bs-checkout .woocommerce-additional-fields > h3 { display: none; }
.woocommerce-checkout form.checkout.bs-checkout .woocommerce-billing-fields__field-wrapper, .woocommerce-checkout form.checkout.bs-checkout .woocommerce-additional-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.woocommerce-checkout form.checkout.bs-checkout .form-row { margin: 0 0 1rem; }
.woocommerce-checkout form.checkout.bs-checkout .form-row label { font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.woocommerce-checkout form.checkout.bs-checkout .form-row .input-text, .woocommerce-checkout form.checkout.bs-checkout .form-row select, .woocommerce-checkout .select2-container--default .select2-selection--single { border-radius: 10px; padding: .9rem 1rem; }
.woocommerce-checkout form.checkout.bs-checkout .form-row .input-text:focus { box-shadow: none; border-color: var(--text); }
.woocommerce-checkout .woocommerce-checkout-payment, .woocommerce-checkout #payment { background: transparent; border-radius: 0; margin: 0; }
.woocommerce-checkout #payment ul.payment_methods { display: grid; gap: .6rem; padding: 0; margin: 0 0 1.25rem; border: 0; }
.woocommerce-checkout #payment ul.payment_methods li { margin: 0; padding: 1rem 1.1rem; border: 1px solid var(--border-2); border-radius: 12px; background: #fff; }
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) { border-color: var(--text); box-shadow: 0 0 0 1px var(--text); }
.woocommerce-checkout #payment ul.payment_methods li label { font-weight: 600; font-family: var(--font-head); }
.woocommerce-checkout #payment div.payment_box { background: var(--bg-2); border: 0; margin-top: .75rem; }
.woocommerce-checkout #payment .place-order { padding: 0; }
.woocommerce-checkout #payment #place_order { width: 100%; padding: 1.2rem 1.5rem; font-size: 1rem; background: var(--ink); color: #fff; border-color: var(--ink); }
.woocommerce-checkout #payment #place_order:hover { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { background: transparent; border: 0; padding: 0 0 1rem; color: var(--muted); }
.bs-checkout-trust { display: flex; flex-wrap: wrap; gap: 1.25rem; margin-top: .5rem; font-size: .82rem; color: var(--muted); }
@media (max-width: 600px) { .woocommerce-checkout form.checkout.bs-checkout .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; } }

/* Cart/checkout live inside .bs-prose – neutralise prose heading sizes there */
.bs-prose .bs-cart__title { font-size: 1rem; margin: 0; letter-spacing: .12em; text-transform: uppercase; }
.bs-prose .bs-checkout__blockhead h3 { font-size: 1.1rem; margin: 0; letter-spacing: -.01em; text-transform: none; }
.bs-prose .bs-cart__name { font-size: 1.25rem; }
.bs-prose .woocommerce-cart .cart_totals h2 { margin: 0; }

/* =========================================================
   v7 – no breadcrumbs, custom sort dropdown, hover mini cart, Audiotent-style cart & checkout
   ========================================================= */
.bs-crumbs { display: none; }

/* Sort dropdown */
.bs-sort { position: relative; }
.bs-sort__btn { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: .5rem; padding: .6rem 1rem; border: 1px solid var(--border-2); border-radius: 999px; background: #fff; font-size: .88rem; color: var(--text-2); user-select: none; }
.bs-sort__btn::-webkit-details-marker { display: none; }
.bs-sort__btn strong { color: var(--text); font-weight: 600; }
.bs-sort__btn svg { width: 16px; height: 16px; transition: transform .2s; }
.bs-sort[open] .bs-sort__btn svg { transform: rotate(180deg); }
.bs-sort[open] .bs-sort__btn { border-color: var(--text); }
.bs-sort__menu { position: absolute; right: 0; top: calc(100% + 8px); z-index: 50; min-width: 220px; margin: 0; padding: .5rem; list-style: none; background: #fff; border: 1px solid var(--border); border-radius: 12px; box-shadow: var(--shadow); }
.bs-sort__menu a { display: block; padding: .6rem .8rem; border-radius: 8px; font-size: .92rem; color: var(--text-2); }
.bs-sort__menu a:hover { background: var(--bg-2); color: var(--text); }
.bs-sort__menu a.is-current { color: var(--text); font-weight: 600; }
.bs-sort__menu a.is-current::after { content: "✓"; float: right; }
.woocommerce-ordering { display: none; }

/* Hover mini cart */
.bs-cart-wrap { position: relative; }
.bs-minicart { position: absolute; right: 0; top: calc(100% + 10px); width: 360px; max-width: calc(100vw - 2rem); background: #fff; border: 1px solid var(--border); border-radius: 16px; box-shadow: var(--shadow); padding: 1rem 1.1rem; z-index: 120; opacity: 0; visibility: hidden; transform: translateY(6px); transition: .18s ease; }
.bs-cart-wrap:has(.bs-cart__count.has-items):hover .bs-minicart, .bs-cart-wrap:has(.bs-cart__count.has-items):focus-within .bs-minicart { opacity: 1; visibility: visible; transform: none; }
.bs-minicart::before { content: ""; position: absolute; top: -12px; left: 0; right: 0; height: 12px; }
.bs-minicart ul.cart_list { list-style: none; margin: 0; padding: 0; max-height: 320px; overflow: auto; }
.bs-minicart ul.cart_list li { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: .8rem; align-items: center; padding: .7rem 0; border-bottom: 1px solid var(--border); position: relative; }
.bs-minicart ul.cart_list li img { width: 56px; height: 56px; border-radius: 8px; object-fit: cover; margin: 0; float: none; }
.bs-minicart ul.cart_list li a:not(.remove) { display: contents; font-weight: 600; font-family: var(--font-head); font-size: .9rem; color: var(--text); }
.bs-minicart ul.cart_list li .quantity { grid-column: 2; font-size: .82rem; color: var(--muted); }
.bs-minicart ul.cart_list li a.remove { grid-column: 3; grid-row: 1 / span 2; width: 26px; height: 26px; border-radius: 50%; border: 1px solid var(--border-2); display: grid; place-items: center; color: var(--muted) !important; font-size: 1rem; line-height: 1; text-decoration: none; }
.bs-minicart ul.cart_list li a.remove:hover { background: var(--ink); border-color: var(--ink); color: #fff !important; }
.bs-minicart .woocommerce-mini-cart__total { display: flex; justify-content: space-between; margin: .9rem 0; font-family: var(--font-head); font-weight: 700; }
.bs-minicart .woocommerce-mini-cart__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin: 0; }
.bs-minicart .woocommerce-mini-cart__buttons .button { margin: 0; padding: .75rem 1rem; font-size: .8rem; justify-content: center; }
.bs-minicart .woocommerce-mini-cart__buttons .button.checkout { background: var(--ink); color: #fff; border-color: var(--ink); }
.bs-minicart .woocommerce-mini-cart__empty-message { margin: 0; color: var(--muted); }
@media (max-width: 1023px) { .bs-minicart { display: none; } }

/* ---------- Cart – Audiotent/Shopify table ---------- */
.bs-page--cart .bs-container--wide { max-width: 1100px; }
.bs-page-hero--flow { display: none; }
.bs-page--cart .bs-container--wide, .bs-page--checkout .bs-container--wide { padding-top: 2.5rem; }
.bs-cart__head { border-bottom: 0; padding: 0 0 1.5rem; }
.bs-prose .bs-cart__title { font-size: clamp(2rem, 4vw, 2.6rem); letter-spacing: -.02em; text-transform: none; }
.bs-cart__continue { color: var(--text); text-decoration: underline; text-underline-offset: .25em; font-size: .95rem; }
table.bs-cart__table, .woocommerce-cart table.shop_table.bs-cart__table { width: 100%; border: 0; border-radius: 0; border-collapse: collapse; display: table; }
.bs-cart__table thead { display: table-header-group; }
.bs-cart__table thead th { text-align: left; font-family: var(--font-head); font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); font-weight: 600; padding: 0 0 .75rem; border-bottom: 1px solid var(--border) !important; background: transparent; }
.bs-cart__table thead th.product-quantity { text-align: center; }
.bs-cart__table thead th.product-subtotal { text-align: right; }
.bs-cart__table tbody { display: table-row-group; }
.woocommerce-cart table.shop_table.bs-cart__table tr.cart_item { display: table-row; border: 0; background: transparent; box-shadow: none; padding: 0; border-radius: 0; }
.woocommerce-cart table.shop_table.bs-cart__table tr.cart_item td { display: table-cell; vertical-align: top; padding: 1.5rem 0; border: 0 !important; border-bottom: 1px solid var(--border) !important; background: transparent; }
.bs-cart__table td.product-thumbnail { width: 100px; padding-right: 1.25rem !important; }
.bs-cart__table td.product-thumbnail img { width: 100px; height: 100px; border-radius: 6px; object-fit: cover; }
.bs-cart__table td.product-name { font-family: var(--font-head); font-weight: 600; font-size: 1.02rem; }
.bs-cart__table td.product-name a { color: var(--text); }
.bs-cart__table td.product-name a:hover { text-decoration: underline; text-underline-offset: .2em; }
.bs-cart__table td.product-name .bs-cart__price { display: block; margin-top: .3rem; font-family: var(--font-body); font-weight: 400; color: var(--text-2); font-size: .9rem; }
.bs-cart__table td.product-name .bs-cart__price::before { display: none; }
.bs-cart__table td.product-quantity { text-align: center; width: 200px; }
.bs-cart__qty { display: inline-flex; align-items: center; gap: .75rem; }
.bs-cart__qty .quantity { display: inline-flex; border: 1px solid var(--border-2); border-radius: 6px; overflow: hidden; }
.bs-cart__qty .qty { width: 64px; padding: .6rem .3rem; border: 0; text-align: center; background: #fff; font-size: .95rem; -moz-appearance: textfield; }
.bs-cart__qty .qty::-webkit-inner-spin-button { opacity: 1; height: 28px; }
.bs-cart__qty-fixed { display: inline-block; padding: .6rem 1rem; border: 1px solid var(--border-2); border-radius: 6px; }
.bs-cart__remove { display: inline-grid; place-items: center; width: 34px; height: 34px; color: var(--muted) !important; border-radius: 6px; }
.bs-cart__remove svg { width: 18px; height: 18px; }
.bs-cart__remove:hover { color: var(--text) !important; background: var(--bg-2); }
.bs-cart__table td.product-subtotal { text-align: right; font-family: var(--font-head); font-weight: 600; font-size: 1.02rem; white-space: nowrap; }
.woocommerce-cart table.shop_table.bs-cart__table td.actions { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.25rem 0 0 !important; border: 0 !important; }
.bs-cart__coupon { display: flex; gap: .5rem; }
.bs-cart__coupon .input-text { padding: .7rem 1rem; border-radius: 6px; border: 1px solid var(--border-2); background: #fff; min-width: 200px; }
.bs-cart__coupon .button, .bs-cart__update { padding: .7rem 1.1rem; font-size: .78rem; border-radius: 6px; }
.bs-cart__collaterals { display: flex; flex-direction: column; align-items: flex-end; margin-top: 2rem; }
.woocommerce-cart .cart_totals { width: 100%; max-width: 380px; float: none; position: static; background: transparent; border: 0; padding: 0; box-shadow: none; }
.woocommerce-cart .cart_totals h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.woocommerce-cart .cart_totals table { border: 0; margin-bottom: 1rem; }
.woocommerce-cart .cart_totals table th, .woocommerce-cart .cart_totals table td { padding: .45rem 0; border: 0 !important; background: transparent; text-transform: none; letter-spacing: 0; }
.woocommerce-cart .cart_totals table th { font-family: var(--font-head); font-weight: 600; font-size: 1rem; color: var(--text); width: auto; }
.woocommerce-cart .cart_totals table td { text-align: right; font-family: var(--font-head); font-weight: 600; font-size: 1rem; }
.woocommerce-cart .cart_totals table .cart-subtotal th, .woocommerce-cart .cart_totals table .cart-subtotal td { font-size: 1.25rem; font-weight: 700; }
.woocommerce-cart .cart_totals table .order-total { display: none; }
.woocommerce-cart .wc-proceed-to-checkout { padding: 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: flex; width: 100%; justify-content: center; padding: 1.05rem 1.5rem; font-size: .95rem; margin: 0; border-radius: 6px; background: var(--ink); color: #fff; border-color: var(--ink); }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background: #2a2a30; border-color: #2a2a30; color: #fff; }
.bs-cart__note { width: 100%; max-width: 380px; margin: .9rem 0 0; font-size: .82rem; color: var(--muted); text-align: right; }
.woocommerce-cart .cart-empty { font-size: 1.3rem; padding: 2rem 0 .5rem; text-align: left; }
.woocommerce-cart .return-to-shop { text-align: left; }
.woocommerce-cart .return-to-shop .button { border-radius: 6px; background: var(--ink); color: #fff; border-color: var(--ink); }
@media (max-width: 760px) {
	.bs-cart__table thead { display: none; }
	.woocommerce-cart table.shop_table.bs-cart__table tr.cart_item { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: .5rem 1rem; padding: 1.25rem 0; border-bottom: 1px solid var(--border); }
	.woocommerce-cart table.shop_table.bs-cart__table tr.cart_item td { padding: 0; border: 0 !important; }
	.bs-cart__table td.product-thumbnail { grid-row: 1 / span 3; width: auto; padding: 0 !important; }
	.bs-cart__table td.product-thumbnail img { width: 84px; height: 84px; }
	.bs-cart__table td.product-quantity { width: auto; text-align: left; }
	.bs-cart__table td.product-subtotal { text-align: left; }
	.woocommerce-cart table.shop_table.bs-cart__table td.actions { flex-direction: column; align-items: stretch; }
	.bs-cart__collaterals { align-items: stretch; }
	.woocommerce-cart .cart_totals, .bs-cart__note { max-width: none; text-align: left; }
}

/* ---------- Checkout – Audiotent/Shopify two columns ---------- */
.bs-page--checkout .bs-container--wide { max-width: 1180px; padding-top: 0; }
.woocommerce-checkout .bs-prose > .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 460px; column-gap: 0; align-items: start; }
.woocommerce-checkout .bs-prose > .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-checkout form.checkout.bs-checkout { display: contents; }
.bs-checkout__main { grid-column: 1; padding: 2.5rem 3.5rem 3rem 0; }
.bs-checkout__side, .woocommerce-checkout .woocommerce-form-coupon-toggle, .woocommerce-checkout form.checkout_coupon, .woocommerce-checkout .woocommerce-form-login-toggle, .woocommerce-checkout form.woocommerce-form-login { grid-column: 2; background: var(--bg-2); border-left: 1px solid var(--border); padding: 0 0 0 3rem; margin: 0; }
.bs-checkout__side { grid-row: 1; padding: 2.5rem 0 1rem 3rem; position: relative; }
.woocommerce-checkout .woocommerce-form-coupon-toggle { grid-row: 2; }
.woocommerce-checkout form.checkout_coupon { grid-row: 3; padding-bottom: 2.5rem; }
.woocommerce-checkout .woocommerce-form-login-toggle { grid-row: 4; }
.woocommerce-checkout form.woocommerce-form-login { grid-row: 5; padding-bottom: 2rem; }
.woocommerce-checkout .bs-prose > .woocommerce::after { content: ""; grid-column: 2; grid-row: 6; background: var(--bg-2); border-left: 1px solid var(--border); min-height: 6rem; }
.bs-checkout__crumbs { display: flex; gap: .6rem; align-items: center; font-size: .82rem; color: var(--muted); margin-bottom: 2rem; }
.bs-checkout__crumbs a { color: var(--muted); }
.bs-checkout__crumbs a:hover { color: var(--text); }
.bs-checkout__crumbs strong { color: var(--text); font-weight: 500; }
.woocommerce-checkout form.checkout.bs-checkout #customer_details { display: block; background: transparent; border: 0; padding: 0; box-shadow: none; }
.woocommerce-checkout form.checkout.bs-checkout .woocommerce-billing-fields, .woocommerce-checkout form.checkout.bs-checkout .woocommerce-additional-fields, .woocommerce-checkout form.checkout.bs-checkout .woocommerce-account-fields { background: transparent; border: 0; padding: 0; margin: 0 0 2rem; box-shadow: none; }
.woocommerce-checkout form.checkout.bs-checkout .woocommerce-billing-fields > h3, .woocommerce-checkout form.checkout.bs-checkout .woocommerce-additional-fields > h3, .bs-checkout__pay > h3 { display: block; font-size: 1.15rem; font-weight: 600; letter-spacing: -.01em; text-transform: none; margin: 0 0 1rem; padding: 0; border: 0; }
.bs-checkout__hint { color: var(--muted); font-size: .85rem; margin: -.5rem 0 1rem; }
.woocommerce-checkout form.checkout.bs-checkout .woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 .75rem; }
.woocommerce-checkout form.checkout.bs-checkout .form-row { margin: 0 0 .75rem; }
.woocommerce-checkout form.checkout.bs-checkout .form-row label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.woocommerce-checkout form.checkout.bs-checkout .form-row .input-text, .woocommerce-checkout form.checkout.bs-checkout .form-row select, .woocommerce-checkout .select2-container--default .select2-selection--single { border-radius: 6px; padding: .85rem .9rem; border: 1px solid var(--border-2); background: #fff; font-size: .95rem; }
.woocommerce-checkout form.checkout.bs-checkout .form-row .input-text::placeholder { color: var(--muted); }
.woocommerce-checkout form.checkout.bs-checkout .form-row .input-text:focus { border-color: var(--text); box-shadow: 0 0 0 1px var(--text); }
.woocommerce-checkout #payment ul.payment_methods { display: block; margin: 0 0 1.25rem; padding: 0; border: 1px solid var(--border-2); border-radius: 6px; overflow: hidden; }
.woocommerce-checkout #payment ul.payment_methods li { margin: 0; padding: .9rem 1rem; border: 0; border-bottom: 1px solid var(--border-2); border-radius: 0; background: #fff; box-shadow: none; }
.woocommerce-checkout #payment ul.payment_methods li:last-child { border-bottom: 0; }
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) { background: var(--bg-2); box-shadow: none; border-color: var(--border-2); }
.woocommerce-checkout #payment ul.payment_methods li label { font-family: var(--font-body); font-weight: 500; }
.woocommerce-checkout #payment div.payment_box { background: #fff; border: 1px solid var(--border); border-radius: 6px; margin-top: .75rem; }
.woocommerce-checkout #payment #place_order { width: 100%; padding: 1.1rem 1.5rem; font-size: .95rem; border-radius: 6px; background: var(--ink); color: #fff; border-color: var(--ink); }
.woocommerce-checkout #payment #place_order:hover { background: #2a2a30; border-color: #2a2a30; color: #fff; }
.woocommerce-checkout form.checkout.bs-checkout #order_review { position: static; margin: 0; padding: 0; background: transparent; border: 0; box-shadow: none; color: var(--text); }
.woocommerce-checkout form.checkout.bs-checkout #order_review::before { display: none; }
.bs-review, .woocommerce-checkout form.checkout.bs-checkout #order_review table.shop_table.bs-review { border: 0; border-radius: 0; border-collapse: collapse; }
.bs-review thead { display: none; }
.woocommerce-checkout form.checkout.bs-checkout #order_review table.shop_table.bs-review td, .woocommerce-checkout form.checkout.bs-checkout #order_review table.shop_table.bs-review th { padding: .6rem 0; border: 0 !important; background: transparent; color: var(--text); vertical-align: middle; }
.bs-review tbody { display: block; border-bottom: 1px solid var(--border-2); padding-bottom: .75rem; margin-bottom: .75rem; }
.bs-review tbody tr { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; gap: .9rem; }
.bs-review__thumb { width: 64px; }
.bs-review__img { position: relative; display: block; width: 64px; height: 64px; }
.bs-review__img img { width: 64px; height: 64px; border-radius: 8px; object-fit: cover; border: 1px solid var(--border); }
.bs-review__qty { position: absolute; top: -8px; right: -8px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: var(--ink); color: #fff; font-size: .72rem; font-weight: 700; display: grid; place-items: center; }
.woocommerce-checkout form.checkout.bs-checkout #order_review table.shop_table.bs-review td.product-name { font-family: var(--font-body); font-weight: 500; font-size: .92rem; }
.woocommerce-checkout form.checkout.bs-checkout #order_review table.shop_table.bs-review td.product-total { font-weight: 600; font-size: .92rem; text-align: right; white-space: nowrap; }
.bs-review tfoot { display: block; }
.bs-review tfoot tr { display: flex; justify-content: space-between; gap: 1rem; }
.woocommerce-checkout form.checkout.bs-checkout #order_review table.shop_table.bs-review tfoot th { font-family: var(--font-body); font-weight: 400; font-size: .92rem; color: var(--text-2); text-transform: none; letter-spacing: 0; }
.woocommerce-checkout form.checkout.bs-checkout #order_review table.shop_table.bs-review tfoot td { font-size: .92rem; text-align: right; }
.woocommerce-checkout form.checkout.bs-checkout #order_review table.shop_table.bs-review tfoot .order-total { border-top: 1px solid var(--border-2); margin-top: .5rem; padding-top: .5rem; }
.woocommerce-checkout form.checkout.bs-checkout #order_review table.shop_table.bs-review tfoot .order-total th, .woocommerce-checkout form.checkout.bs-checkout #order_review table.shop_table.bs-review tfoot .order-total td { font-family: var(--font-head); font-size: 1.35rem; font-weight: 700; color: var(--text); padding-top: .9rem; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { background: transparent; border: 0; padding: 0; margin: 0 0 .5rem; color: var(--text-2); font-size: .9rem; }
.woocommerce-checkout form.checkout_coupon { border: 0; background: var(--bg-2); border-radius: 0; }
.woocommerce-checkout form.checkout_coupon p { margin: 0 0 .5rem; }
.woocommerce-checkout form.checkout_coupon .form-row { float: none; width: auto; margin: 0; }
.woocommerce-checkout form.checkout_coupon .input-text { width: 100%; padding: .8rem .9rem; border-radius: 6px; border: 1px solid var(--border-2); background: #fff; }
.woocommerce-checkout form.checkout_coupon .button { margin-top: .5rem; border-radius: 6px; padding: .8rem 1.1rem; font-size: .8rem; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper, .woocommerce-checkout .woocommerce-privacy-policy-text { color: var(--muted); font-size: .8rem; }
.bs-checkout-trust { display: none; }
@media (max-width: 960px) {
	.woocommerce-checkout .bs-prose > .woocommerce { grid-template-columns: 1fr; }
	.bs-checkout__main { grid-column: 1; grid-row: 2; padding: 1.5rem 0 2rem; }
	.bs-checkout__side, .woocommerce-checkout .woocommerce-form-coupon-toggle, .woocommerce-checkout form.checkout_coupon, .woocommerce-checkout .woocommerce-form-login-toggle, .woocommerce-checkout form.woocommerce-form-login { grid-column: 1; border-left: 0; padding-left: 0; padding-right: 0; }
	.bs-checkout__side { grid-row: 1; padding: 1.5rem 0 1rem; }
	.woocommerce-checkout .woocommerce-form-coupon-toggle { grid-row: 3; }
	.woocommerce-checkout form.checkout_coupon { grid-row: 4; }
	.woocommerce-checkout .woocommerce-form-login-toggle { grid-row: 5; }
	.woocommerce-checkout form.woocommerce-form-login { grid-row: 6; }
	.woocommerce-checkout .bs-prose > .woocommerce::after { display: none; }
}
@media (max-width: 600px) { .woocommerce-checkout form.checkout.bs-checkout .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; } }

/* =========================================================
   v8 – checkout columns aligned, cleaner cart, rounded mini cart, play on chart thumbs, no genre line on product
   ========================================================= */

/* Checkout: both columns start on the same grid row (notices row first, then content) */
.woocommerce-checkout .bs-prose > .woocommerce { grid-template-rows: auto auto auto auto auto auto auto; }
.woocommerce-checkout .bs-prose > .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; grid-row: 1; }
.woocommerce-checkout .bs-prose > .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
.bs-checkout__main { grid-column: 1; grid-row: 2 / span 6; padding-top: 2.5rem; }
.bs-checkout__side { grid-column: 2; grid-row: 2; padding-top: 2.5rem; }
.woocommerce-checkout .woocommerce-form-coupon-toggle { grid-row: 3; }
.woocommerce-checkout form.checkout_coupon { grid-row: 4; }
.woocommerce-checkout .woocommerce-form-login-toggle { grid-row: 5; }
.woocommerce-checkout form.woocommerce-form-login { grid-row: 6; }
.woocommerce-checkout .bs-prose > .woocommerce::after { grid-row: 7; }
.bs-checkout__crumbs { margin-top: .2rem; }
@media (max-width: 960px) {
	.bs-checkout__side { grid-row: 2; padding-top: 1.5rem; }
	.bs-checkout__main { grid-row: 7; padding-top: 1.5rem; }
	.woocommerce-checkout .woocommerce-form-coupon-toggle { grid-row: 3; }
	.woocommerce-checkout form.checkout_coupon { grid-row: 4; }
	.woocommerce-checkout .woocommerce-form-login-toggle { grid-row: 5; }
	.woocommerce-checkout form.woocommerce-form-login { grid-row: 6; }
}

/* Cart: cleaner */
.bs-cart__update { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.woocommerce-cart table.shop_table.bs-cart__table td.actions { justify-content: flex-start; padding-top: 1rem !important; }
.bs-cart__coupon { display: block; }
.bs-cart__coupon summary { list-style: none; cursor: pointer; font-size: .88rem; color: var(--muted); text-decoration: underline; text-underline-offset: .25em; }
.bs-cart__coupon summary::-webkit-details-marker { display: none; }
.bs-cart__coupon summary:hover { color: var(--text); }
.bs-cart__coupon-row { display: flex; gap: .5rem; margin-top: .75rem; }
.bs-cart__coupon .input-text { border-radius: 999px; }
.bs-cart__coupon .button { border-radius: 999px; }
.bs-cart__table thead th { font-size: .7rem; color: var(--muted); font-weight: 500; letter-spacing: .1em; border-bottom-color: var(--border) !important; }
.bs-cart__table td.product-thumbnail img { border-radius: 12px; }
.bs-cart__qty .quantity { border-radius: 999px; }
.bs-cart__qty .qty { width: 58px; }
.bs-cart__remove { border-radius: 50%; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { border-radius: 999px; }
.woocommerce-cart .cart_totals table .cart-subtotal th, .woocommerce-cart .cart_totals table .cart-subtotal td { font-size: 1.15rem; }
.bs-cart__note { display: none; }
.woocommerce-cart .return-to-shop .button { border-radius: 999px; }

/* Mini cart: everything rounded, View cart (outline) vs Checkout (solid) */
.bs-minicart { border-radius: 22px; padding: 1.1rem 1.2rem 1.2rem; }
.bs-minicart ul.cart_list li img { border-radius: 12px; }
.bs-minicart ul.cart_list li a.remove { border-radius: 50%; width: 28px; height: 28px; }
.bs-minicart .woocommerce-mini-cart__buttons { grid-template-columns: 1fr 1fr; gap: .6rem; }
.bs-minicart .woocommerce-mini-cart__buttons .button { border-radius: 999px; padding: .85rem 1rem; font-size: .8rem; letter-spacing: .06em; }
.bs-minicart .woocommerce-mini-cart__buttons .button:not(.checkout) { background: #fff; color: var(--text); border: 1px solid var(--border-2); }
.bs-minicart .woocommerce-mini-cart__buttons .button:not(.checkout):hover { border-color: var(--text); background: #fff; color: var(--text); }
.bs-minicart .woocommerce-mini-cart__buttons .button.checkout { background: var(--ink); color: #fff; border-color: var(--ink); }
.bs-minicart .woocommerce-mini-cart__buttons .button.checkout:hover { background: #2a2a30; border-color: #2a2a30; color: #fff; }
.bs-minicart .woocommerce-mini-cart__total { border-top: 1px solid var(--border); padding-top: .9rem; }

/* Top 10: play button lives on the artwork; price may wrap when discounted */
.bs-chart__row { grid-template-columns: 2rem 64px minmax(0, 1fr) auto auto; }
.bs-chart__thumb { position: relative; width: 64px; height: 64px; border-radius: 10px; overflow: hidden; }
.bs-chart__thumb img { border-radius: 10px; }
.bs-chart__thumb .bs-chart__play { position: absolute; inset: 0; margin: auto; width: 34px; height: 34px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .95); color: var(--text); opacity: 0; transform: scale(.85); transition: .15s; box-shadow: 0 4px 12px rgba(0, 0, 0, .25); }
.bs-chart__row:hover .bs-chart__play, .bs-chart__play:focus-visible, .bs-chart__play.is-playing, .bs-chart__play.is-loading { opacity: 1; transform: none; }
.bs-chart__play.is-playing { background: var(--accent); }
@media (hover: none) { .bs-chart__thumb .bs-chart__play { opacity: 1; transform: none; } }
.bs-chart__price { white-space: normal; text-align: right; line-height: 1.15; display: flex; flex-direction: column; align-items: flex-end; }
.bs-chart__price del { margin: 0; font-size: .75em; }
.bs-chart__price ins { display: block; }
@media (max-width: 640px) { .bs-chart__row { grid-template-columns: 1.6rem 56px minmax(0, 1fr) auto; } .bs-chart__thumb { width: 56px; height: 56px; } .bs-chart__price { display: none; } }

/* =========================================================
   v9 – receipt-style cart, split-screen checkout, locked dock with waveform + volume
   ========================================================= */

/* ---------- Dock: waveform, volume, locked mode ---------- */
.bs-dock { grid-template-columns: auto minmax(140px, 240px) 1fr auto auto auto; padding: .7rem 1.25rem; }
.bs-dock.is-locked { grid-template-columns: auto minmax(140px, 240px) 1fr auto auto; }
.bs-dock__progress { position: relative; height: 36px; border-radius: 6px; background: transparent; overflow: visible; }
.bs-dock__wave { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.bs-dock__bar { display: none; }
.bs-dock__volume { display: flex; align-items: center; gap: .4rem; }
.bs-dock__mute { width: 34px; height: 34px; border-radius: 50%; border: 0; background: transparent; color: var(--text); display: grid; place-items: center; }
.bs-dock__mute:hover { background: var(--bg-2); }
.bs-dock__mute svg { width: 20px; height: 20px; }
.bs-dock.is-muted .bs-ico-vol__wave { opacity: .25; }
.bs-dock__range { -webkit-appearance: none; appearance: none; width: 90px; height: 4px; border-radius: 999px; background: linear-gradient(90deg, var(--text) 0 0) no-repeat, var(--border); background-size: calc(var(--vol, 100) * 1%) 100%; cursor: pointer; }
.bs-dock__range::-webkit-slider-thumb { -webkit-appearance: none; width: 14px; height: 14px; border-radius: 50%; background: var(--text); border: 2px solid #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .25); }
.bs-dock__range::-moz-range-thumb { width: 14px; height: 14px; border-radius: 50%; background: var(--text); border: 2px solid #fff; }
.bs-dock.is-locked .bs-dock__close { display: none; }
body.single-product { padding-bottom: 84px; }
@media (max-width: 760px) { .bs-dock, .bs-dock.is-locked { grid-template-columns: auto 1fr auto; } .bs-dock__progress { grid-column: 1 / -1; } .bs-dock__time { display: none; } .bs-dock__range { width: 64px; } }

/* ---------- Cart v3 – receipt cards + black totals panel ---------- */
.bs-page--cart .bs-container--wide { max-width: 760px; }
.bs-cart2__head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 1.25rem; }
.bs-prose .bs-cart2__title { display: flex; align-items: center; gap: .6rem; margin: 0; font-size: clamp(2rem, 4vw, 2.8rem); letter-spacing: -.03em; text-transform: uppercase; }
.bs-cart2__count { display: inline-grid; place-items: center; min-width: 34px; height: 34px; padding: 0 .6rem; border-radius: 999px; background: var(--accent); color: var(--accent-ink); font-size: .95rem; font-weight: 700; }
.bs-cart2__continue { color: var(--text-2); font-size: .92rem; }
.bs-cart2__continue:hover { color: var(--text); }
.bs-cart2__list { display: grid; gap: .75rem; }
.bs-cart2__item { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 1.25rem; padding: 1rem; border-radius: 20px; background: var(--bg-2); border: 1px solid var(--border); }
.bs-cart2__art img { width: 120px; height: 120px; border-radius: 14px; object-fit: cover; }
.bs-cart2__body { display: flex; flex-direction: column; justify-content: space-between; min-width: 0; gap: .75rem; }
.bs-cart2__name { display: flex; flex-direction: column; gap: .15rem; }
.bs-cart2__name a { font-family: var(--font-head); font-weight: 700; font-size: 1.15rem; line-height: 1.2; color: var(--text); }
.bs-cart2__creator { font-size: .88rem; color: var(--muted); }
.bs-cart2__row { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.bs-cart2__price { font-size: .9rem; color: var(--text-2); }
.bs-cart2__qty { display: inline-flex; align-items: center; background: #fff; border: 1px solid var(--border-2); border-radius: 999px; overflow: hidden; }
.bs-cart2__qty .quantity { display: inline-flex; }
.bs-cart2__qty .qty { width: 44px; border: 0; text-align: center; background: transparent; padding: .5rem 0; font-weight: 600; -moz-appearance: textfield; }
.bs-cart2__qty .qty::-webkit-inner-spin-button, .bs-cart2__qty .qty::-webkit-outer-spin-button { -webkit-appearance: none; }
.bs-step { width: 36px; height: 36px; border: 0; background: transparent; font-size: 1.1rem; line-height: 1; color: var(--text); }
.bs-step:hover { background: var(--bg-2); }
.bs-cart2__qty-fixed { padding: .5rem 1rem; font-weight: 600; }
.bs-cart2__subtotal { margin-left: auto; font-family: var(--font-head); font-weight: 700; font-size: 1.1rem; }
.bs-cart2__remove { font-size: .82rem; color: var(--muted) !important; }
.bs-cart2__remove:hover { color: var(--text) !important; text-decoration: underline; }
.bs-cart2__actions { padding: .75rem 0 0; display: flex; }
.bs-cart2__coupon summary { list-style: none; cursor: pointer; font-size: .88rem; color: var(--muted); }
.bs-cart2__coupon summary::-webkit-details-marker { display: none; }
.bs-cart2__coupon summary:hover { color: var(--text); }
.bs-cart2__coupon-row { display: flex; gap: .5rem; margin-top: .75rem; }
.bs-cart2__coupon-row .input-text { padding: .7rem 1rem; border-radius: 999px; border: 1px solid var(--border-2); background: #fff; min-width: 200px; }
.bs-cart2__collaterals { display: block; margin-top: 1.5rem; }
.woocommerce-cart .bs-cart2__collaterals .cart_totals { max-width: none; width: 100%; float: none; position: static; padding: 1.5rem 1.75rem; border-radius: 22px; background: var(--ink); color: #fff; border: 0; box-shadow: var(--shadow); }
.woocommerce-cart .bs-cart2__collaterals .cart_totals h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.woocommerce-cart .bs-cart2__collaterals .cart_totals table { border: 0; margin: 0 0 1.25rem; }
.woocommerce-cart .bs-cart2__collaterals .cart_totals table th, .woocommerce-cart .bs-cart2__collaterals .cart_totals table td { padding: .4rem 0; border: 0 !important; background: transparent; color: #fff; font-family: var(--font-body); font-size: .95rem; font-weight: 400; }
.woocommerce-cart .bs-cart2__collaterals .cart_totals table th { color: rgba(255, 255, 255, .65); text-transform: none; letter-spacing: 0; width: auto; }
.woocommerce-cart .bs-cart2__collaterals .cart_totals table td { text-align: right; }
.woocommerce-cart .bs-cart2__collaterals .cart_totals table .cart-subtotal th, .woocommerce-cart .bs-cart2__collaterals .cart_totals table .cart-subtotal td { font-size: .95rem; font-weight: 400; }
.woocommerce-cart .bs-cart2__collaterals .cart_totals table .order-total { display: table-row; }
.woocommerce-cart .bs-cart2__collaterals .cart_totals table .order-total th, .woocommerce-cart .bs-cart2__collaterals .cart_totals table .order-total td { font-family: var(--font-head); font-size: 1.9rem; font-weight: 800; color: #fff; border-top: 1px solid rgba(255, 255, 255, .15) !important; padding-top: .9rem; }
.woocommerce-cart .bs-cart2__collaterals .cart_totals .woocommerce-Price-amount { color: #fff; }
.woocommerce-cart .bs-cart2__collaterals .wc-proceed-to-checkout a.checkout-button { display: flex; justify-content: center; width: 100%; margin: 0; padding: 1.1rem 1.5rem; font-size: .95rem; border-radius: 999px; background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
.woocommerce-cart .bs-cart2__collaterals .wc-proceed-to-checkout a.checkout-button:hover { background: #fff; border-color: #fff; color: var(--ink); }
@media (max-width: 520px) { .bs-cart2__item { grid-template-columns: 88px minmax(0, 1fr); } .bs-cart2__art img { width: 88px; height: 88px; } .bs-cart2__subtotal { margin-left: 0; } }

/* ---------- Checkout v3 – split screen: dark summary left, form right ---------- */
.bs-page--checkout .bs-container--wide { max-width: none; width: 100%; padding-top: 0; }
.bs-page--checkout .bs-page-hero--flow { display: none; }
.woocommerce-checkout .bs-prose > .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: none; column-gap: 0; }
.woocommerce-checkout .bs-prose > .woocommerce::after { display: none; }
.woocommerce-checkout .bs-prose > .woocommerce > .woocommerce-notices-wrapper { grid-column: 1; grid-row: auto; width: min(100% - 2.5rem, 1320px); margin: 1rem auto 0; }
.woocommerce-checkout .woocommerce-form-coupon-toggle, .woocommerce-checkout form.checkout_coupon, .woocommerce-checkout .woocommerce-form-login-toggle, .woocommerce-checkout form.woocommerce-form-login { grid-column: 1; grid-row: auto; background: transparent; border: 0; padding: 0; width: min(100% - 2.5rem, 1320px); margin: .75rem auto 0; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { margin: 0; }
.woocommerce-checkout form.checkout.bs-checkout3 { display: grid; grid-template-columns: minmax(320px, 42%) minmax(0, 1fr); grid-column: 1; min-height: calc(100vh - var(--header-h)); }
.bs-checkout3__panel { background: var(--ink); color: #fff; }
.bs-checkout3__panel-inner { position: sticky; top: var(--header-h); padding: clamp(2rem, 4vw, 3.5rem) clamp(1.5rem, 4vw, 4rem); max-height: calc(100vh - var(--header-h)); overflow: auto; }
.bs-checkout3__back { display: inline-block; color: rgba(255, 255, 255, .6); font-size: .85rem; margin-bottom: 2rem; }
.bs-checkout3__back:hover { color: #fff; }
.woocommerce-checkout form.checkout.bs-checkout3 #order_review_heading, .bs-prose .bs-checkout3__panel-title { position: static; width: auto; height: auto; overflow: visible; clip: auto; margin: 0 0 1.25rem; font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 255, 255, .6); }
.woocommerce-checkout form.checkout.bs-checkout3 #order_review { position: static; margin: 0; padding: 0; background: transparent; border: 0; box-shadow: none; color: #fff; }
.woocommerce-checkout form.checkout.bs-checkout3 #order_review::before { display: none; }
.woocommerce-checkout form.checkout.bs-checkout3 #order_review table.shop_table.bs-review { border: 0; border-collapse: collapse; color: #fff; }
.woocommerce-checkout form.checkout.bs-checkout3 #order_review table.shop_table.bs-review td, .woocommerce-checkout form.checkout.bs-checkout3 #order_review table.shop_table.bs-review th { padding: .6rem 0; border: 0 !important; background: transparent; color: #fff; vertical-align: middle; }
.woocommerce-checkout form.checkout.bs-checkout3 .bs-review tbody { display: block; border-bottom: 1px solid rgba(255, 255, 255, .15); padding-bottom: .75rem; margin-bottom: .75rem; }
.woocommerce-checkout form.checkout.bs-checkout3 .bs-review tbody tr { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; gap: .9rem; }
.woocommerce-checkout form.checkout.bs-checkout3 .bs-review__img img { border: 0; border-radius: 10px; }
.woocommerce-checkout form.checkout.bs-checkout3 .bs-review__qty { background: var(--accent); color: var(--accent-ink); }
.woocommerce-checkout form.checkout.bs-checkout3 #order_review table.shop_table.bs-review td.product-name { font-family: var(--font-head); font-weight: 600; font-size: .95rem; }
.woocommerce-checkout form.checkout.bs-checkout3 #order_review table.shop_table.bs-review td.product-total { text-align: right; white-space: nowrap; }
.woocommerce-checkout form.checkout.bs-checkout3 .bs-review tfoot { display: block; }
.woocommerce-checkout form.checkout.bs-checkout3 .bs-review tfoot tr { display: flex; justify-content: space-between; gap: 1rem; }
.woocommerce-checkout form.checkout.bs-checkout3 #order_review table.shop_table.bs-review tfoot th { color: rgba(255, 255, 255, .65); font-weight: 400; font-family: var(--font-body); text-transform: none; letter-spacing: 0; font-size: .92rem; }
.woocommerce-checkout form.checkout.bs-checkout3 #order_review table.shop_table.bs-review tfoot .order-total { border-top: 1px solid rgba(255, 255, 255, .15); margin-top: .5rem; padding-top: .5rem; }
.woocommerce-checkout form.checkout.bs-checkout3 #order_review table.shop_table.bs-review tfoot .order-total th, .woocommerce-checkout form.checkout.bs-checkout3 #order_review table.shop_table.bs-review tfoot .order-total td { font-family: var(--font-head); font-size: 1.7rem; font-weight: 800; color: #fff; }
.woocommerce-checkout form.checkout.bs-checkout3 #order_review .woocommerce-Price-amount { color: #fff; }
.bs-checkout3__panel-note { margin: 1.5rem 0 0; font-size: .8rem; color: rgba(255, 255, 255, .55); }
.bs-checkout3__main { padding: clamp(2rem, 4vw, 3.5rem) clamp(1.5rem, 5vw, 5rem); max-width: 760px; }
.bs-checkout3__section { margin-bottom: 2.5rem; }
.bs-prose .bs-checkout3__h { font-size: 1.5rem; margin: 0 0 1.25rem; text-transform: uppercase; letter-spacing: -.02em; }
.woocommerce-checkout form.checkout.bs-checkout3 #customer_details { display: block; background: transparent; border: 0; padding: 0; box-shadow: none; }
.woocommerce-checkout form.checkout.bs-checkout3 .woocommerce-billing-fields, .woocommerce-checkout form.checkout.bs-checkout3 .woocommerce-additional-fields, .woocommerce-checkout form.checkout.bs-checkout3 .woocommerce-account-fields { background: transparent; border: 0; padding: 0; margin: 0 0 1rem; box-shadow: none; }
.woocommerce-checkout form.checkout.bs-checkout3 .woocommerce-billing-fields > h3, .woocommerce-checkout form.checkout.bs-checkout3 .woocommerce-additional-fields > h3 { display: none; }
.woocommerce-checkout form.checkout.bs-checkout3 .woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.woocommerce-checkout form.checkout.bs-checkout3 .form-row { margin: 0 0 1rem; }
.woocommerce-checkout form.checkout.bs-checkout3 .form-row label { position: static; width: auto; height: auto; overflow: visible; clip: auto; display: block; margin-bottom: .35rem; font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.woocommerce-checkout form.checkout.bs-checkout3 .form-row .input-text, .woocommerce-checkout form.checkout.bs-checkout3 .form-row select, .woocommerce-checkout .select2-container--default .select2-selection--single { border-radius: 12px; padding: .9rem 1rem; border: 1px solid var(--border-2); background: var(--bg-2); }
.woocommerce-checkout form.checkout.bs-checkout3 .form-row .input-text:focus { background: #fff; border-color: var(--text); box-shadow: none; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods { display: grid; gap: .6rem; border: 0; border-radius: 0; overflow: visible; margin: 0 0 1.25rem; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li { border: 1px solid var(--border-2); border-radius: 14px; background: var(--bg-2); padding: 1rem 1.1rem; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li:has(input:checked) { background: #fff; border-color: var(--text); box-shadow: 0 0 0 1px var(--text); }
.woocommerce-checkout form.checkout.bs-checkout3 #payment div.payment_box { background: #fff; border: 1px solid var(--border); border-radius: 10px; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment #place_order { width: 100%; padding: 1.2rem 1.5rem; font-size: 1rem; border-radius: 999px; background: var(--ink); color: #fff; border-color: var(--ink); }
.woocommerce-checkout form.checkout.bs-checkout3 #payment #place_order:hover { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
@media (max-width: 960px) {
	.woocommerce-checkout form.checkout.bs-checkout3 { grid-template-columns: 1fr; min-height: 0; }
	.bs-checkout3__panel-inner { position: static; max-height: none; padding: 1.75rem 1.5rem; }
	.bs-checkout3__main { padding: 1.75rem 1.5rem 2.5rem; max-width: none; }
}
@media (max-width: 600px) { .woocommerce-checkout form.checkout.bs-checkout3 .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; } }

/* =========================================================
   v10 – bigger cart cards, no quantity UI, prominent coupon; checkout panel rounded, coupon under it, aligned
   ========================================================= */

/* Cart */
.bs-page--cart .bs-container--wide { max-width: 820px; }
.bs-cart2__item { grid-template-columns: 148px minmax(0, 1fr); gap: 1.5rem; padding: 1.25rem; border-radius: 24px; }
.bs-cart2__art img { width: 148px; height: 148px; border-radius: 16px; }
.bs-cart2__name a { font-size: 1.3rem; }
.bs-cart2__qty, .bs-cart2__qty-fixed, .bs-cart2__price { display: none; }
.bs-cart2__row { gap: 1.25rem; }
.bs-cart2__subtotal { margin-left: 0; font-size: 1.25rem; }
.bs-cart2__remove { margin-left: auto; }
.bs-cart2__actions { padding: 1.25rem 0 0; display: block; }
.bs-cart2__coupon { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem 1.5rem; align-items: center; padding: 1.25rem 1.5rem; border: 2px dashed var(--border-2); border-radius: 20px; background: #fff; }
.bs-cart2__coupon-head { display: grid; gap: .15rem; }
.bs-cart2__coupon-head strong { font-family: var(--font-head); font-size: 1.05rem; }
.bs-cart2__coupon-head span { font-size: .85rem; color: var(--muted); }
.bs-cart2__coupon-row { margin: 0; }
.bs-cart2__coupon-row .input-text { min-width: 180px; }
.bs-cart2__coupon-row .button { border-radius: 999px; padding: .7rem 1.2rem; font-size: .78rem; background: var(--ink); color: #fff; border-color: var(--ink); }
@media (max-width: 640px) { .bs-cart2__coupon { grid-template-columns: 1fr; } .bs-cart2__coupon-row .input-text { min-width: 0; flex: 1; } .bs-cart2__item { grid-template-columns: 100px minmax(0, 1fr); } .bs-cart2__art img { width: 100px; height: 100px; } }
/* No quantity UI anywhere (products are sold individually) */
.bs-buybox .quantity, .bs-minicart ul.cart_list li .quantity .bs-qty-x { display: none; }

/* Checkout: rounded, bigger dark panel + coupon under it + aligned "Your details" */
.woocommerce-checkout .bs-prose > .woocommerce { display: grid; grid-template-columns: minmax(340px, 46%) minmax(0, 1fr); column-gap: clamp(1.5rem, 4vw, 4rem); row-gap: 0; align-items: start; width: min(100% - 2.5rem, 1320px); margin: 0 auto; padding: clamp(1.5rem, 3vw, 2.5rem) 0 3rem; }
.woocommerce-checkout .bs-prose > .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; grid-row: 1; width: auto; margin: 0; }
.woocommerce-checkout .bs-prose > .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-checkout form.checkout.bs-checkout3 { display: contents; }
.bs-checkout3__panel { grid-column: 1; grid-row: 2; border-radius: 28px; overflow: hidden; }
.bs-checkout3__panel-inner { position: static; max-height: none; padding: clamp(1.75rem, 3vw, 2.75rem); }
.bs-checkout3__main { grid-column: 2; grid-row: 2 / span 4; padding: 0; max-width: none; }
.woocommerce-checkout .woocommerce-form-coupon-toggle { grid-column: 1; grid-row: 3; width: auto; margin: 1rem 0 0; }
.woocommerce-checkout form.checkout_coupon { grid-column: 1; grid-row: 4; width: auto; margin: .5rem 0 0; }
.woocommerce-checkout .woocommerce-form-login-toggle { grid-column: 1; grid-row: 5; width: auto; margin: 1rem 0 0; }
.woocommerce-checkout form.woocommerce-form-login { grid-column: 1; grid-row: 6; width: auto; margin: .5rem 0 0; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.4rem; border: 2px dashed var(--border-2); border-radius: 18px; background: #fff; color: var(--text); font-family: var(--font-head); font-weight: 600; font-size: 1rem; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a { flex: none; padding: .55rem 1rem; border-radius: 999px; background: var(--ink); color: #fff; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; text-decoration: none; }
.woocommerce-checkout form.checkout_coupon { padding: 1.1rem 1.4rem; border: 1px solid var(--border); border-radius: 18px; background: var(--bg-2); }
.woocommerce-checkout form.checkout_coupon p:first-child { display: none; }
.woocommerce-checkout form.checkout_coupon .form-row { display: flex; gap: .5rem; align-items: center; }
.woocommerce-checkout form.checkout_coupon .input-text { flex: 1; border-radius: 999px; }
.woocommerce-checkout form.checkout_coupon .button { margin: 0; border-radius: 999px; background: var(--ink); color: #fff; border-color: var(--ink); }
.bs-prose .bs-checkout3__h { margin: 0 0 1.25rem; line-height: 1; }
.bs-checkout3__section:first-child { padding-top: .2rem; }
.bs-checkout3__back { margin-bottom: 1.5rem; }
@media (max-width: 960px) {
	.woocommerce-checkout .bs-prose > .woocommerce { grid-template-columns: 1fr; }
	.bs-checkout3__panel { grid-column: 1; grid-row: 2; }
	.woocommerce-checkout .woocommerce-form-coupon-toggle { grid-row: 3; }
	.woocommerce-checkout form.checkout_coupon { grid-row: 4; }
	.woocommerce-checkout .woocommerce-form-login-toggle { grid-row: 5; }
	.woocommerce-checkout form.woocommerce-form-login { grid-row: 6; }
	.bs-checkout3__main { grid-column: 1; grid-row: 7; padding-top: 2rem; }
}

/* =========================================================
   v11 – cart cards centred & bigger, no remove/price, mini cart buttons centred, press quotes as bubbles
   ========================================================= */
.bs-cart2__item { grid-template-columns: 168px minmax(0, 1fr); gap: 2rem; padding: 1.75rem; border-radius: 28px; align-items: center; min-height: 220px; }
.bs-cart2__art { display: flex; justify-content: center; }
.bs-cart2__art img { width: 168px; height: 168px; border-radius: 18px; }
.bs-cart2__body { justify-content: center; align-items: center; text-align: center; gap: .35rem; }
.bs-cart2__name { align-items: center; }
.bs-cart2__name a { font-size: 1.4rem; }
.bs-cart2__row, .bs-cart2__price, .bs-cart2__qty, .bs-cart2__remove { display: none !important; }
.bs-cart2__head { justify-content: flex-start; }
.bs-cart2__collaterals { margin-top: 1.5rem; margin-bottom: clamp(3rem, 8vw, 6rem); }
.bs-page--cart .bs-page { padding-bottom: clamp(2rem, 6vw, 4rem); }
@media (max-width: 640px) { .bs-cart2__item { grid-template-columns: 1fr; text-align: center; min-height: 0; } .bs-cart2__art img { width: 140px; height: 140px; } }

/* Mini cart buttons: centred text */
.bs-minicart .woocommerce-mini-cart__buttons .button { display: flex !important; align-items: center; justify-content: center; text-align: center; width: 100%; margin: 0; }

/* Press reviews inside product descriptions: rounded speech-bubble cards */
.bs-prose blockquote, .bs-prose blockquote.with-borders { position: relative; margin: 2rem 0; padding: 2.25rem 2rem 1.75rem; border: 0; border-radius: 26px 26px 26px 6px; background: var(--bg-2); text-align: center; box-shadow: var(--shadow-sm); }
.bs-prose blockquote::before { content: "“"; position: absolute; top: .4rem; left: 1.4rem; font-family: var(--font-head); font-size: 4.5rem; line-height: 1; color: var(--accent); -webkit-text-stroke: 1px var(--text); }
.bs-prose blockquote p { margin: 0; }
.bs-prose blockquote img, .bs-prose blockquote img.alignleft { float: none; display: block; width: 88px; height: 88px; margin: 0 auto 1rem; border-radius: 50%; object-fit: cover; box-shadow: 0 6px 18px rgba(15, 15, 18, .15); }
.bs-prose blockquote em { font-style: normal; font-family: var(--font-head); font-weight: 500; font-size: 1.05rem; line-height: 1.55; color: var(--text); }
.bs-prose blockquote br { display: none; }
.bs-prose blockquote strong { display: block; margin-top: .9rem; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }

/* =========================================================
   v12 – no format line on cards, plain press quotes, bigger cart bottom gap, modern country select, centred archive headers
   ========================================================= */
.bs-card__formats, .bs-hero3__formats { display: none; }
.bs-card__creator + .bs-card__formats::before { display: none; }

/* Press quotes: same type as the description, no quote mark */
.bs-prose blockquote::before { display: none; }
.bs-prose blockquote, .bs-prose blockquote.with-borders { padding: 1.75rem 2rem; border-radius: 24px; }
.bs-prose blockquote em { font-family: var(--font-body); font-weight: 400; font-size: 1.02rem; line-height: 1.6; color: var(--text-2); }

/* Cart: more room above the footer */
.bs-cart2__collaterals { margin-bottom: clamp(5rem, 12vw, 10rem); }
.bs-page--cart .bs-page { padding-bottom: clamp(3rem, 8vw, 6rem); }

/* Country / region: modern select2 (selectWoo) */
.woocommerce .select2-container--default .select2-selection--single { height: auto; padding: .9rem 2.75rem .9rem 1rem; border: 1px solid var(--border-2); border-radius: 12px; background: var(--bg-2); display: flex; align-items: center; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 1.4; padding: 0; color: var(--text); font-size: .95rem; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow { top: 50%; right: 1rem; width: 16px; height: 16px; translate: 0 -50%; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow b { border: 0; width: 8px; height: 8px; margin: 0; top: -2px; left: 2px; border-right: 1.8px solid var(--text); border-bottom: 1.8px solid var(--text); transform: rotate(45deg); }
.woocommerce .select2-container--default.select2-container--open .select2-selection--single { border-color: var(--text); background: #fff; }
.woocommerce .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { transform: rotate(-135deg); top: 3px; }
.select2-container--default .select2-dropdown, .select2-dropdown { border: 1px solid var(--border); border-radius: 16px !important; box-shadow: var(--shadow); overflow: hidden; background: #fff; margin-top: 6px; }
.select2-container--default .select2-search--dropdown { padding: .75rem; border-bottom: 1px solid var(--border); }
.select2-container--default .select2-search--dropdown .select2-search__field { padding: .7rem 1rem; border: 1px solid var(--border-2); border-radius: 999px; font: inherit; font-size: .92rem; outline: none; }
.select2-container--default .select2-search--dropdown .select2-search__field:focus { border-color: var(--text); }
.select2-container--default .select2-results > .select2-results__options { max-height: 280px; padding: .4rem; }
.select2-container--default .select2-results__option { padding: .6rem .9rem; border-radius: 8px; font-size: .92rem; color: var(--text); }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable { background: var(--ink); color: #fff; }
.select2-container--default .select2-results__option[aria-selected="true"], .select2-container--default .select2-results__option--selected { background: var(--bg-2); color: var(--text); }
.select2-container--default .select2-results__option[aria-selected="true"]::after, .select2-container--default .select2-results__option--selected::after { content: "✓"; float: right; }
.select2-container .select2-selection--single .select2-selection__clear { display: none; }

/* Shop & genre pages: centred header, no blurred artwork */
.bs-shop-hero--centered { text-align: center; padding: clamp(3rem, 7vw, 5.5rem) 0 clamp(2rem, 4vw, 3rem); background: var(--bg); border-bottom: 0; }
.bs-shop-hero--centered .bs-shop-hero__art, .bs-shop-hero--centered::after { display: none; }
.bs-shop-hero--centered .bs-shop-hero__inner { max-width: 820px; }
.bs-shop-hero--centered .bs-shop-hero__title { font-size: clamp(2.6rem, 7vw, 5rem); margin: 0 0 .75rem; }
.bs-shop-hero--centered .bs-shop-hero__desc { margin: 0 auto; max-width: 60ch; color: var(--text-2); }
.bs-shop-hero--centered .bs-shop-hero__count { display: inline-block; margin-top: 1.25rem; padding: .4rem .9rem; border-radius: 999px; background: var(--bg-2); border: 1px solid var(--border); color: var(--text-2); font-size: .82rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.bs-shop__toolbar { border-top: 1px solid var(--border); }

/* =========================================================
   v13 – My account: auth card with tabs, dashboard, icon navigation, download cards, forms
   ========================================================= */

/* Logged out: centred auth card */
.bs-page-hero--auth { padding: 2.5rem 0 0; text-align: center; }
.bs-page-hero--auth .bs-eyebrow { margin: 0; }
.bs-page--auth .bs-container--wide { max-width: 560px; padding: 1rem 0 5rem; }
.bs-page--auth .bs-prose > .woocommerce { display: block; }
.bs-auth__card { background: var(--surface); border: 1px solid var(--border); border-radius: 28px; padding: clamp(1.5rem, 4vw, 2.5rem); box-shadow: var(--shadow); }
.bs-auth__tabs { display: grid; grid-template-columns: 1fr 1fr; gap: .25rem; padding: .3rem; background: var(--bg-2); border-radius: 999px; margin-bottom: 1.75rem; }
.bs-auth__tab { border: 0; background: transparent; border-radius: 999px; padding: .75rem 1rem; font-family: var(--font-head); font-weight: 600; font-size: .9rem; color: var(--muted); }
.bs-auth__tab.is-active { background: var(--ink); color: #fff; }
.bs-prose .bs-auth__title { text-align: center; margin: 0 0 1rem; }
.bs-auth__panel { display: none; }
.bs-auth__panel.is-active { display: block; }
.bs-auth__lead { color: var(--text-2); margin: 0 0 1.5rem; text-align: center; }
.bs-auth .woocommerce-form .form-row { margin: 0 0 1rem; width: auto; float: none; }
.bs-auth .woocommerce-form label { display: block; margin-bottom: .35rem; font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.bs-auth .woocommerce-form .input-text { width: 100%; padding: .95rem 1.1rem; border-radius: 12px; border: 1px solid var(--border-2); background: var(--bg-2); color: var(--text); font-size: 1rem; }
.bs-auth .woocommerce-form .input-text:focus { background: #fff; border-color: var(--text); outline: none; }
.bs-auth .show-password-input { top: 1.05rem; right: 1rem; }
.bs-auth__row { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: .25rem 0 1.25rem; }
.bs-auth .bs-check { padding: 0; }
.bs-auth .bs-check span { font-size: .9rem; }
.bs-auth__link { font-size: .88rem; color: var(--text-2); text-decoration: underline; text-underline-offset: .2em; }
.bs-auth__link:hover { color: var(--text); }
.woocommerce .bs-auth__submit, .bs-auth .button.bs-auth__submit { width: 100%; padding: 1.05rem 1.5rem; font-size: .95rem; border-radius: 999px; background: var(--ink); color: #fff; border-color: var(--ink); }
.woocommerce .bs-auth__submit:hover { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.bs-auth__note { font-size: .88rem; color: var(--muted); margin: 0 0 1.25rem; }
.bs-auth__perks { list-style: none; margin: 1.75rem 0 0; padding: 1.25rem 0 0; border-top: 1px solid var(--border); display: grid; gap: .35rem; font-size: .85rem; color: var(--muted); }
.bs-auth__perks li::before { content: "✓"; color: var(--text); margin-right: .5rem; }
.bs-auth .woocommerce-privacy-policy-text { font-size: .8rem; color: var(--muted); }

.woocommerce-account .bs-page--auth .bs-prose { display: block; }
.woocommerce-account .bs-page--account .bs-prose a, .woocommerce-account .bs-page--auth .bs-prose a { text-decoration: none; }
.woocommerce-account .bs-page--account .bs-prose .bs-dash__section-head a, .woocommerce-account .bs-page--account .bs-prose .woocommerce-Address-title a, .bs-auth__link { text-decoration: underline; text-underline-offset: .2em; }

/* Logged in: layout */
.bs-page-hero--account { padding: 2.5rem 0 1rem; }
.bs-page-hero--account .bs-page-hero__title { text-transform: uppercase; }
.bs-page--account .bs-container--wide { max-width: 1240px; padding-bottom: 5rem; }
.woocommerce-account .bs-page--account .bs-prose { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 2.5rem; align-items: start; }
.woocommerce-account .bs-page--account .bs-prose > .woocommerce { display: contents; }
.woocommerce-account .bs-page--account .bs-prose > .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-account .bs-page--account .bs-prose > .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-account .bs-page--account .woocommerce-MyAccount-navigation { grid-column: 1; width: 100%; float: none; }
.woocommerce-account .bs-page--account .woocommerce-MyAccount-content { grid-column: 2; width: 100%; float: none; min-width: 0; }
@media (max-width: 900px) { .woocommerce-account .bs-page--account .woocommerce-MyAccount-navigation, .woocommerce-account .bs-page--account .woocommerce-MyAccount-content { grid-column: 1; } }
.woocommerce-account .woocommerce-MyAccount-navigation.bs-account-nav { background: transparent; border: 0; padding: 0; box-shadow: none; position: sticky; top: calc(var(--header-h) + 1.5rem); }
.bs-account-nav__user { display: flex; align-items: center; gap: .9rem; padding: 1rem 1.1rem; margin-bottom: 1rem; background: var(--bg-2); border-radius: 18px; }
.bs-account-nav__user img { width: 48px; height: 48px; border-radius: 50%; }
.bs-account-nav__user strong { display: block; font-family: var(--font-head); font-size: .95rem; }
.bs-account-nav__user span { font-size: .8rem; color: var(--muted); word-break: break-all; }
.woocommerce-account .bs-account-nav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .2rem; }
.woocommerce-account .bs-account-nav a { display: flex; align-items: center; gap: .75rem; padding: .75rem .9rem; border-radius: 12px; color: var(--text-2); font-weight: 500; }
.woocommerce-account .bs-account-nav a svg { width: 20px; height: 20px; flex: none; }
.woocommerce-account .bs-account-nav a:hover { background: var(--bg-2); color: var(--text); }
.woocommerce-account .bs-account-nav .is-active a { background: var(--ink); color: #fff; }
.woocommerce-account .bs-account-nav .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: .75rem; padding-top: .75rem; border-top: 1px solid var(--border); }
.woocommerce-account .woocommerce-MyAccount-content { margin: 0; background: transparent; border: 0; padding: 0; box-shadow: none; }
@media (max-width: 900px) {
	.woocommerce-account .bs-page--account .bs-prose { grid-template-columns: 1fr; }
	.woocommerce-account .woocommerce-MyAccount-navigation.bs-account-nav { position: static; }
	.woocommerce-account .bs-account-nav ul { display: flex; flex-wrap: wrap; gap: .35rem; }
	.woocommerce-account .bs-account-nav a { padding: .55rem .8rem; font-size: .9rem; }
	.woocommerce-account .bs-account-nav .woocommerce-MyAccount-navigation-link--customer-logout { margin: 0; padding: 0; border: 0; }
}

/* Dashboard */
.bs-dash__head { margin-bottom: 1.75rem; }
.bs-prose .bs-dash__head h2 { font-size: clamp(1.8rem, 3.5vw, 2.6rem); margin: 0 0 .35rem; text-transform: uppercase; letter-spacing: -.03em; }
.bs-dash__sub { color: var(--text-2); margin: 0; }
.bs-dash__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-bottom: 2.5rem; }
.bs-stat { display: flex; flex-direction: column; gap: .25rem; padding: 1.5rem; border-radius: 20px; background: var(--bg-2); border: 1px solid var(--border); color: var(--text); transition: transform .2s, box-shadow .2s; }
.bs-stat:hover { transform: translateY(-2px); box-shadow: var(--shadow-sm); color: var(--text); }
.bs-stat strong { font-family: var(--font-head); font-size: 2.4rem; line-height: 1; letter-spacing: -.03em; }
.bs-stat span { font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.bs-stat--accent { background: var(--ink); color: #fff; border-color: var(--ink); }
.bs-stat--accent:hover { color: #fff; }
.bs-stat--accent span { color: rgba(255, 255, 255, .7); }
.bs-dash__section { margin-bottom: 2.5rem; }
.bs-dash__section-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 1rem; }
.bs-prose .bs-dash__section-head h3, .bs-prose .bs-account__head h2 { margin: 0; font-size: 1.1rem; letter-spacing: .02em; text-transform: none; }
.bs-dash__section-head a { font-size: .88rem; color: var(--text-2); }
.bs-dash__section-head a:hover { color: var(--text); }
.bs-dash__links { display: flex; flex-wrap: wrap; gap: .5rem; }
.bs-dash__links a { padding: .55rem 1rem; border-radius: 999px; border: 1px solid var(--border-2); font-size: .85rem; color: var(--text-2); }
.bs-dash__links a:hover { border-color: var(--text); color: var(--text); }
.bs-dash__empty { padding: 2.5rem; border-radius: 24px; background: var(--bg-2); text-align: center; }
.bs-prose .bs-dash__empty h3 { margin: 0 0 .5rem; text-transform: none; letter-spacing: 0; font-size: 1.3rem; }
.bs-dash__empty p { color: var(--text-2); margin: 0 0 1.25rem; }

/* Download cards */
.bs-account__head { display: flex; align-items: center; gap: .75rem; margin-bottom: 1.25rem; }
.bs-account__count { padding: .3rem .7rem; border-radius: 999px; background: var(--bg-2); font-size: .78rem; font-weight: 600; color: var(--text-2); }
.bs-dl-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.bs-dl { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 1rem; padding: 1rem; border-radius: 20px; background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow-sm); }
.bs-dl img { width: 96px; height: 96px; border-radius: 12px; object-fit: cover; }
.bs-dl__body { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.bs-dl__body strong { font-family: var(--font-head); font-size: 1rem; line-height: 1.25; }
.bs-dl__body span { font-size: .82rem; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bs-dl__body small { font-size: .75rem; color: var(--muted); }
.bs-dl__btn { margin-top: auto; align-self: flex-start; padding: .55rem 1rem; font-size: .78rem; }
@media (max-width: 640px) { .bs-dl-grid { grid-template-columns: 1fr; } .bs-dash__stats { grid-template-columns: 1fr; } }

/* Orders, addresses, account details */
.woocommerce-account .woocommerce-orders-table { border-radius: 20px; overflow: hidden; }
.woocommerce-account .woocommerce-orders-table th { font-size: .72rem; letter-spacing: .1em; }
.woocommerce-account .woocommerce-orders-table td .button { padding: .5rem .9rem; font-size: .75rem; border-radius: 999px; }
.woocommerce-account .woocommerce-orders-table__cell-order-number a { font-family: var(--font-head); font-weight: 600; }
.woocommerce-account .woocommerce-MyAccount-content form.edit-account, .woocommerce-account .woocommerce-address-fields, .woocommerce-account .woocommerce-EditAccountForm { background: var(--bg-2); border-radius: 24px; padding: clamp(1.25rem, 3vw, 2rem); }
.woocommerce-account .woocommerce-MyAccount-content .form-row { float: none; width: auto; margin: 0 0 1rem; }
.woocommerce-account .woocommerce-MyAccount-content .form-row label { display: block; margin-bottom: .35rem; font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.woocommerce-account .woocommerce-MyAccount-content .form-row .input-text, .woocommerce-account .woocommerce-MyAccount-content .form-row select { width: 100%; padding: .9rem 1rem; border-radius: 12px; border: 1px solid var(--border-2); background: #fff; }
.woocommerce-account .woocommerce-MyAccount-content .form-row .input-text:focus { border-color: var(--text); outline: none; }
.woocommerce-account .woocommerce-MyAccount-content fieldset { border: 0; padding: 1rem 0 0; margin: 1rem 0 0; border-top: 1px solid var(--border); }
.woocommerce-account .woocommerce-MyAccount-content fieldset legend { font-family: var(--font-head); font-weight: 600; padding: 0 0 .75rem; }
.woocommerce-account .woocommerce-MyAccount-content .button[name="save_account_details"], .woocommerce-account .woocommerce-MyAccount-content .button[name="save_address"] { border-radius: 999px; background: var(--ink); color: #fff; border-color: var(--ink); padding: .95rem 1.6rem; }
.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.woocommerce-account .woocommerce-Address { background: var(--bg-2); border-radius: 20px; padding: 1.5rem; width: auto; float: none; }
.woocommerce-account .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: .75rem; }
.woocommerce-account .woocommerce-Address-title h2, .woocommerce-account .woocommerce-Address-title h3 { font-size: 1rem; margin: 0; }
.woocommerce-account .woocommerce-Address-title a { font-size: .85rem; color: var(--text-2); text-decoration: underline; text-underline-offset: .2em; }
.woocommerce-account .woocommerce-Address address { font-style: normal; color: var(--text-2); }
.woocommerce-account .woocommerce-MyAccount-content > p:first-child { color: var(--text-2); }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper { margin-bottom: 1rem; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message .button, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button { border-radius: 999px; padding: .55rem 1rem; font-size: .78rem; }
@media (max-width: 640px) { .woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr; } }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
	.bs-reveal { opacity: 1; transform: none; }
}

/* ===== v14: cart grid for 3+ packs, checkout "Your details" (inline login, account switch, no notes / shipping box) ===== */
/* Checkout: heading row with inline "Returning customer? Log in" */
.bs-checkout3__hrow { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin: 0 0 1.25rem; }
.bs-prose .bs-checkout3__hrow .bs-checkout3__h { margin: 0; }
.bs-checkout3__login-link { display: inline-flex; align-items: center; gap: .4rem; padding: .55rem 1rem; border: 1px solid var(--border-2); border-radius: 999px; background: #fff; color: var(--text); font-family: var(--font-head); font-weight: 700; font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; transition: background .2s, border-color .2s; }
.bs-checkout3__login-link span { color: var(--muted); font-family: var(--font-body); font-weight: 400; font-size: .86rem; letter-spacing: 0; text-transform: none; }
.bs-checkout3__login-link:hover, .bs-checkout3__login-link.is-open { background: var(--ink); border-color: var(--ink); color: #fff; }
.bs-checkout3__login-link:hover span, .bs-checkout3__login-link.is-open span { color: rgba(255, 255, 255, .7); }
.bs-login { margin: 0 0 1.5rem; padding: 1.25rem 1.4rem; border: 1px solid var(--border-2); border-radius: 18px; background: var(--bg-2); }
.bs-login[hidden] { display: none; }
.bs-login__lead { margin: 0 0 1rem; font-size: .9rem; color: var(--text-2); }
.bs-login__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.woocommerce-checkout form.checkout.bs-checkout3 .bs-login__field .input-text { background: #fff; }
.bs-login__row { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; }
.woocommerce-checkout form.checkout.bs-checkout3 .bs-login__remember { display: inline-flex; align-items: center; gap: .5rem; margin: 0; font-family: var(--font-body); font-size: .88rem; color: var(--text-2); text-transform: none; letter-spacing: 0; font-weight: 400; }
.bs-login__remember input { width: 18px; height: 18px; margin: 0; accent-color: var(--ink); }
.bs-login__lost { font-size: .85rem; color: var(--muted); text-decoration: underline; text-underline-offset: .2em; }
.bs-login__lost:hover { color: var(--text); }
.bs-login__btn { margin-left: auto; padding: .8rem 1.5rem; border: 1px solid var(--ink); border-radius: 999px; background: var(--ink); color: #fff; font-family: var(--font-head); font-weight: 700; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.bs-login__btn:hover { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
@media (max-width: 600px) { .bs-login__grid { grid-template-columns: 1fr; } .bs-login__btn { margin-left: 0; width: 100%; } }

/* Checkout: "Create an account" as a switch card; no empty shipping box; no additional-information column */
.woocommerce-checkout form.checkout.bs-checkout3 .woocommerce-shipping-fields, .woocommerce-checkout form.checkout.bs-checkout3 .woocommerce-additional-fields, .woocommerce-checkout form.checkout.bs-checkout3 #customer_details .col-2 { display: none; }
.woocommerce-checkout form.checkout.bs-checkout3 #customer_details .col-1 { width: 100%; float: none; }
.woocommerce-checkout form.checkout.bs-checkout3 .woocommerce-account-fields { margin: .25rem 0 0; }
.woocommerce-checkout form.checkout.bs-checkout3 .create-account { margin: 0; }
.woocommerce-checkout form.checkout.bs-checkout3 .create-account label { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; margin: 0; padding: 1rem 1.25rem; border: 1px solid var(--border-2); border-radius: 16px; background: var(--bg-2); cursor: pointer; font-family: var(--font-head); font-weight: 700; font-size: .95rem; letter-spacing: 0; text-transform: none; color: var(--text); transition: background .2s, border-color .2s; }
.woocommerce-checkout form.checkout.bs-checkout3 .create-account label > span { order: -1; display: grid; gap: .15rem; }
.woocommerce-checkout form.checkout.bs-checkout3 .create-account label > span::after { content: "Save your downloads and check out faster next time."; font-family: var(--font-body); font-weight: 400; font-size: .84rem; color: var(--muted); }
.woocommerce-checkout form.checkout.bs-checkout3 .create-account input.input-checkbox { -webkit-appearance: none; appearance: none; position: relative; flex: none; width: 48px; height: 28px; margin: 0; border: 0; border-radius: 999px; background: #d6d6d0; cursor: pointer; transition: background .2s; }
.woocommerce-checkout form.checkout.bs-checkout3 .create-account input.input-checkbox::before { content: ""; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .25); transition: transform .2s; }
.woocommerce-checkout form.checkout.bs-checkout3 .create-account input.input-checkbox:checked { background: var(--ink); }
.woocommerce-checkout form.checkout.bs-checkout3 .create-account input.input-checkbox:checked::before { transform: translateX(20px); background: var(--accent); }
.woocommerce-checkout form.checkout.bs-checkout3 .create-account label:has(input:checked) { background: #fff; border-color: var(--text); }
.woocommerce-checkout form.checkout.bs-checkout3 .create-account input.input-checkbox:focus-visible { outline: 2px solid var(--text); outline-offset: 2px; }
.woocommerce-checkout form.checkout.bs-checkout3 .woocommerce-account-fields > .create-account:not(.form-row) { margin-top: 1rem; }

/* ===== v15: category band header, pagination pills, cart list + sticky totals (3+ packs), contact page ===== */

/* Archive header: black rounded band, ghost title, animated equaliser layer */
.bs-shop-hero--band { padding: clamp(1rem, 2vw, 1.5rem) 0 0; background: var(--bg); border: 0; overflow: visible; }
.bs-shop-hero--band::after { display: none; }
.bs-band { position: relative; overflow: hidden; isolation: isolate; border-radius: 28px; background: var(--ink); color: #fff; padding: clamp(2.75rem, 6vw, 4.75rem) clamp(1.5rem, 5vw, 4rem) clamp(3.25rem, 7vw, 5.5rem); text-align: center; }
.bs-band__ghost { position: absolute; left: 50%; top: 46%; transform: translate(-50%, -50%); z-index: 0; white-space: nowrap; font-family: var(--font-head); font-weight: 800; text-transform: uppercase; letter-spacing: -.04em; line-height: 1; font-size: clamp(5rem, 20vw, 17rem); color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, .13); pointer-events: none; user-select: none; }
.bs-band__eq { position: absolute; left: 0; right: 0; bottom: 0; z-index: 0; height: 42%; display: flex; align-items: flex-end; gap: 3px; padding: 0 clamp(1rem, 4vw, 3rem); -webkit-mask-image: linear-gradient(180deg, transparent, #000 70%); mask-image: linear-gradient(180deg, transparent, #000 70%); }
.bs-band__eq i { flex: 1; display: block; height: 100%; border-radius: 3px 3px 0 0; background: var(--accent); opacity: .3; transform: scaleY(.3); transform-origin: bottom; animation: bs-eq 1.7s ease-in-out infinite alternate; }
.bs-band__eq i:nth-child(2n) { animation-duration: 2.1s; animation-delay: -.6s; }
.bs-band__eq i:nth-child(3n) { animation-duration: 1.4s; animation-delay: -1.1s; opacity: .22; }
.bs-band__eq i:nth-child(4n) { animation-duration: 2.4s; animation-delay: -.3s; }
.bs-band__eq i:nth-child(5n) { animation-duration: 1.9s; animation-delay: -1.5s; opacity: .38; }
.bs-band__eq i:nth-child(7n) { animation-duration: 1.2s; animation-delay: -.9s; }
@keyframes bs-eq { from { transform: scaleY(.18); } to { transform: scaleY(1); } }
.bs-band__inner { position: relative; z-index: 1; max-width: 840px; margin: 0 auto; }
.bs-band__eyebrow { margin: 0 0 1rem; font-size: .72rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--accent); }
.bs-band__title { margin: 0 0 1rem; font-family: var(--font-head); font-weight: 800; font-size: clamp(2.6rem, 7vw, 5.4rem); line-height: .95; letter-spacing: -.03em; text-transform: uppercase; color: #fff; }
.bs-band__desc { color: rgba(255, 255, 255, .7); max-width: 60ch; margin: 0 auto; font-size: 1.02rem; }
.bs-band__desc p:last-child { margin: 0; }
.bs-band__desc a { color: #fff; text-decoration: underline; }
.bs-band__count { display: inline-block; margin: 1.4rem 0 0; padding: .5rem 1.05rem; border-radius: 999px; background: var(--accent); color: var(--accent-ink); font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
@media (max-width: 640px) { .bs-band { border-radius: 20px; } .bs-band__ghost { display: none; } }
@media (prefers-reduced-motion: reduce) { .bs-band__eq i { animation: none; transform: scaleY(.55); } }

/* Pagination: pill group, black current page, lime arrows */
.woocommerce-pagination { display: flex; justify-content: center; margin-top: 3rem; }
.woocommerce-pagination ul.page-numbers { display: inline-flex; align-items: center; gap: .3rem; padding: .35rem; border-radius: 999px; background: #fff; border: 1px solid var(--border); box-shadow: var(--shadow-sm); }
.woocommerce-pagination li { margin: 0; }
.woocommerce-pagination li a, .woocommerce-pagination li span { display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 .85rem; border: 0; border-radius: 999px; font-family: var(--font-head); font-weight: 700; font-size: .9rem; color: var(--text-2); background: transparent; transition: background .2s, color .2s; }
.woocommerce-pagination li a:hover { background: var(--bg-2); color: var(--text); }
.woocommerce-pagination li span.current { background: var(--ink); color: #fff; }
.woocommerce-pagination li span.dots { min-width: 28px; padding: 0; color: var(--muted); }
.woocommerce-pagination li a.prev, .woocommerce-pagination li a.next { background: var(--accent); color: var(--accent-ink); font-size: 0; line-height: 0; }
.woocommerce-pagination li a.prev::before, .woocommerce-pagination li a.next::before { content: ""; width: 9px; height: 9px; border-right: 2px solid currentColor; border-top: 2px solid currentColor; transform: rotate(45deg) translate(-1px, 1px); }
.woocommerce-pagination li a.prev::before { transform: rotate(-135deg) translate(-1px, 1px); }
.woocommerce-pagination li a.prev:hover, .woocommerce-pagination li a.next:hover { background: var(--ink); color: #fff; }

/* Cart with 3+ packs: numbered list card on the left, sticky black totals on the right */
body.bs-cart-grid .bs-page--cart .bs-container--wide { max-width: 1240px; }
body.bs-cart-grid.woocommerce-cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 1.5rem clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
body.bs-cart-grid.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; grid-row: 1; }
body.bs-cart-grid.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
body.bs-cart-grid.woocommerce-cart form.woocommerce-cart-form { grid-column: 1; grid-row: 2; }
body.bs-cart-grid .bs-cart2__collaterals { grid-column: 2; grid-row: 2; position: sticky; top: calc(var(--header-h) + 1rem); margin: 3.9rem 0 clamp(3rem, 8vw, 6rem); }
.bs-cart2--grid .bs-cart2__list { display: block; counter-reset: bsrow; border: 1px solid var(--border); border-radius: 24px; background: #fff; overflow: hidden; box-shadow: var(--shadow-sm); }
.bs-cart2--grid .bs-cart2__item { display: grid; grid-template-columns: 2.4rem 68px minmax(0, 1fr); align-items: center; gap: 1rem; padding: .9rem 1.25rem; margin: 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: #fff; text-align: left; transition: background .15s; }
.bs-cart2--grid .bs-cart2__item:hover { background: var(--bg-2); }
.bs-cart2--grid .bs-cart2__item::before { counter-increment: bsrow; content: counter(bsrow, decimal-leading-zero); font-family: var(--font-head); font-weight: 700; font-size: .82rem; color: var(--muted); }
.bs-cart2--grid .bs-cart2__art img { width: 68px; height: 68px; border-radius: 12px; }
.bs-cart2--grid .bs-cart2__body { justify-content: center; gap: .1rem; }
.bs-cart2--grid .bs-cart2__name a { font-size: 1.02rem; }
.bs-cart2--grid .bs-cart2__row { display: none; }
.bs-cart2--grid .bs-cart2__actions { padding: 1.1rem 1.25rem; background: var(--bg-2); }
.bs-cart2--grid .bs-cart2__coupon { padding: 0; border: 0; background: transparent; border-radius: 0; }
.bs-cart2--grid .bs-cart2__coupon-head strong { font-size: .98rem; }
.bs-cart2--grid .bs-cart2__coupon-row .input-text { min-width: 150px; }
@media (max-width: 960px) {
	body.bs-cart-grid.woocommerce-cart .woocommerce { grid-template-columns: 1fr; }
	body.bs-cart-grid .bs-cart2__collaterals { grid-column: 1; grid-row: 3; position: static; margin: 1.5rem 0 clamp(3rem, 8vw, 6rem); }
	.bs-cart2--grid .bs-cart2__item { grid-template-columns: 2rem 56px minmax(0, 1fr); padding: .75rem 1rem; }
	.bs-cart2--grid .bs-cart2__art img { width: 56px; height: 56px; }
}

/* Contact page: split layout + form card */
.bs-page--contact { padding: clamp(2rem, 5vw, 4rem) 0 clamp(3rem, 8vw, 6rem); }
.bs-contact2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.bs-contact2__intro { position: sticky; top: calc(var(--header-h) + 1.5rem); }
.bs-contact2__title { margin: .5rem 0 1rem; font-size: clamp(2.6rem, 6vw, 4.6rem); line-height: .95; letter-spacing: -.03em; text-transform: uppercase; }
.bs-contact2__lead { font-size: 1.08rem; color: var(--text-2); max-width: 46ch; margin: 0 0 2rem; }
.bs-contact2__facts { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.bs-contact2__facts li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 1rem; align-items: center; padding: 1rem 1.1rem; border-radius: 18px; background: var(--bg-2); border: 1px solid var(--border); }
.bs-contact2__facts li div { display: grid; gap: .1rem; }
.bs-contact2__facts strong { font-family: var(--font-head); font-size: .95rem; }
.bs-contact2__facts span, .bs-contact2__facts a { font-size: .88rem; color: var(--text-2); }
.bs-contact2__facts a { text-decoration: underline; text-underline-offset: .2em; }
.bs-contact2__ico { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--ink); color: var(--accent); }
.bs-contact2__ico svg { width: 20px; height: 20px; }
.bs-contact2__social { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: 1.5rem; }
.bs-contact2__social span { font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin-right: .25rem; }
.bs-contact2__social a { padding: .45rem .9rem; border-radius: 999px; border: 1px solid var(--border-2); font-size: .82rem; font-weight: 600; color: var(--text); }
.bs-contact2__social a:hover { background: var(--ink); border-color: var(--ink); color: #fff; }
.bs-contact2__extra { margin-top: 1.5rem; color: var(--text-2); }
.bs-contact2__form { background: #fff; border: 1px solid var(--border); border-radius: 28px; padding: clamp(1.5rem, 3.5vw, 2.75rem); box-shadow: var(--shadow); }
.bs-cf { display: grid; gap: 1.1rem; }
.bs-cf__error { padding: .9rem 1.1rem; border-radius: 14px; background: #fff1f0; color: #8a1c1c; font-size: .92rem; }
.bs-cf__topics { border: 0; padding: 0; margin: 0; }
.bs-cf__topics legend { font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); padding: 0; margin-bottom: .6rem; }
.bs-cf__pills { display: flex; flex-wrap: wrap; gap: .5rem; }
.bs-cf__pill { position: relative; cursor: pointer; }
.bs-cf__pill input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.bs-cf__pill span { display: inline-block; padding: .6rem 1.05rem; border-radius: 999px; border: 1px solid var(--border-2); background: var(--bg-2); font-size: .86rem; font-weight: 600; color: var(--text-2); transition: background .2s, color .2s, border-color .2s; }
.bs-cf__pill:hover span { border-color: var(--text); color: var(--text); }
.bs-cf__pill input:checked + span { background: var(--ink); border-color: var(--ink); color: #fff; }
.bs-cf__pill input:focus-visible + span { outline: 2px solid var(--text); outline-offset: 2px; }
.bs-cf__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
.bs-cf__field { position: relative; }
.bs-cf__field input, .bs-cf__field textarea { width: 100%; padding: 1.55rem 1.1rem .65rem; border-radius: 14px; border: 1px solid var(--border-2); background: var(--bg-2); color: var(--text); font: inherit; transition: border-color .2s, background .2s; }
.bs-cf__field textarea { min-height: 170px; resize: vertical; }
.bs-cf__field label { position: absolute; left: 1.1rem; top: 1.05rem; font-size: .95rem; color: var(--muted); pointer-events: none; transition: top .15s, font-size .15s, color .15s; }
.bs-cf__field input:focus, .bs-cf__field textarea:focus { outline: none; border-color: var(--text); background: #fff; }
.bs-cf__field input:focus + label, .bs-cf__field input:not(:placeholder-shown) + label, .bs-cf__field textarea:focus + label, .bs-cf__field textarea:not(:placeholder-shown) + label { top: .5rem; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--text-2); }
.bs-cf__hp { position: absolute; left: -9999px; }
.bs-cf__foot { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; flex-wrap: wrap; margin-top: .25rem; }
.bs-cf__consent { margin: 0; font-size: .8rem; color: var(--muted); max-width: 32ch; }
.bs-cf__consent a { color: var(--text); text-decoration: underline; text-underline-offset: .2em; }
.bs-cf__submit { display: inline-flex; align-items: center; gap: .6rem; padding: 1rem 1.6rem; border: 1px solid var(--ink); border-radius: 999px; background: var(--ink); color: #fff; font-family: var(--font-head); font-weight: 700; font-size: .84rem; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; transition: background .2s, color .2s, transform .2s; }
.bs-cf__submit svg { width: 18px; height: 18px; transition: transform .2s; }
.bs-cf__submit:hover { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.bs-cf__submit:hover svg { transform: translateX(3px); }
.bs-cf--sent { text-align: center; padding: 2rem 1rem; }
.bs-cf__check { display: grid; place-items: center; width: 72px; height: 72px; margin: 0 auto 1.25rem; border-radius: 50%; background: var(--accent); color: var(--accent-ink); }
.bs-cf__check svg { width: 34px; height: 34px; }
.bs-cf--sent h2 { margin: 0 0 .5rem; text-transform: uppercase; }
.bs-cf--sent p { color: var(--text-2); margin: 0 0 1.5rem; }
@media (max-width: 900px) { .bs-contact2 { grid-template-columns: 1fr; } .bs-contact2__intro { position: static; } }
@media (max-width: 600px) { .bs-cf__grid { grid-template-columns: 1fr; } .bs-cf__submit { width: 100%; justify-content: center; } }

/* ===== v16: minimal category band, wide pagination, cart list refinements, bundles banner, on-sale banner ===== */

/* Category band – minimal: no ghost text, thin quiet equaliser strip */
.bs-band { padding: clamp(2.5rem, 5vw, 3.75rem) clamp(1.5rem, 5vw, 4rem) clamp(2.75rem, 5.5vw, 4.25rem); }
.bs-band__ghost { display: none; }
.bs-band__eq { height: 22%; gap: 5px; padding: 0 clamp(1.25rem, 5vw, 4rem); -webkit-mask-image: linear-gradient(180deg, transparent, #000 85%); mask-image: linear-gradient(180deg, transparent, #000 85%); }
.bs-band__eq i { opacity: .16; border-radius: 2px 2px 0 0; animation-duration: 2.8s; }
.bs-band__eq i:nth-child(2n) { animation-duration: 3.4s; }
.bs-band__eq i:nth-child(3n) { animation-duration: 2.4s; opacity: .12; }
.bs-band__eq i:nth-child(4n) { animation-duration: 3.8s; }
.bs-band__eq i:nth-child(5n) { animation-duration: 3.1s; opacity: .2; }
.bs-band__eq i:nth-child(7n) { animation-duration: 2.2s; }
.bs-band__title { font-size: clamp(2.3rem, 5.5vw, 4.4rem); margin-bottom: .75rem; }
.bs-band__eyebrow { margin-bottom: .75rem; }
.bs-band__count { margin-top: 1.1rem; background: rgba(255, 255, 255, .1); color: #fff; border: 1px solid rgba(255, 255, 255, .18); }

/* Pagination – wide: round number buttons, black Prev / Next pills (beats WooCommerce defaults) */
.woocommerce nav.woocommerce-pagination, nav.woocommerce-pagination { display: flex; justify-content: center; margin: 3.5rem 0 0; text-align: center; }
.woocommerce nav.woocommerce-pagination ul.page-numbers, nav.woocommerce-pagination ul.page-numbers { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .8rem; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; white-space: normal; list-style: none; }
.woocommerce nav.woocommerce-pagination ul li, nav.woocommerce-pagination ul li { display: block; float: none; margin: 0; padding: 0; border: 0; overflow: visible; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span, nav.woocommerce-pagination ul li a, nav.woocommerce-pagination ul li span { display: grid; place-items: center; width: 48px; height: 48px; min-width: 48px; margin: 0; padding: 0; border-radius: 50%; border: 1px solid var(--border-2); background: #fff; color: var(--text-2); font-family: var(--font-head); font-weight: 700; font-size: .92rem; line-height: 1; text-decoration: none; transition: background .2s, color .2s, border-color .2s; }
.woocommerce nav.woocommerce-pagination ul li a:hover, nav.woocommerce-pagination ul li a:hover { border-color: var(--text); color: var(--text); background: #fff; }
.woocommerce nav.woocommerce-pagination ul li span.current, nav.woocommerce-pagination ul li span.current { background: var(--ink); color: #fff; border-color: var(--ink); }
.woocommerce nav.woocommerce-pagination ul li span.dots, nav.woocommerce-pagination ul li span.dots { width: 28px; min-width: 28px; border: 0; background: transparent; color: var(--muted); }
.woocommerce nav.woocommerce-pagination ul li a.prev, .woocommerce nav.woocommerce-pagination ul li a.next, nav.woocommerce-pagination ul li a.prev, nav.woocommerce-pagination ul li a.next { width: auto; min-width: 0; padding: 0 1.3rem; border-radius: 999px; background: var(--ink); color: #fff; border-color: var(--ink); font-size: 0; }
.woocommerce nav.woocommerce-pagination ul li a.prev::before, nav.woocommerce-pagination ul li a.prev::before { content: "← Prev"; width: auto; height: auto; border: 0; transform: none; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.woocommerce nav.woocommerce-pagination ul li a.next::before, nav.woocommerce-pagination ul li a.next::before { content: "Next →"; width: auto; height: auto; border: 0; transform: none; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.woocommerce nav.woocommerce-pagination ul li a.prev:hover, .woocommerce nav.woocommerce-pagination ul li a.next:hover, nav.woocommerce-pagination ul li a.prev:hover, nav.woocommerce-pagination ul li a.next:hover { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.woocommerce nav.woocommerce-pagination ul li:has(a.prev), nav.woocommerce-pagination ul li:has(a.prev) { margin-right: .6rem; }
.woocommerce nav.woocommerce-pagination ul li:has(a.next), nav.woocommerce-pagination ul li:has(a.next) { margin-left: .6rem; }

/* Cart list (3+ packs) – refinements: list header, 80px art with quick-play, genre line, perks under totals */
.bs-cart2__listhead { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .9rem 1.25rem; background: var(--ink); color: #fff; font-size: .8rem; }
.bs-cart2__listhead span:first-child { font-family: var(--font-head); font-weight: 700; font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; color: var(--accent); }
.bs-cart2__listhead span:last-child { color: rgba(255, 255, 255, .6); }
.bs-cart2--grid .bs-cart2__item { grid-template-columns: 2.2rem 80px minmax(0, 1fr); gap: 1.1rem; padding: .85rem 1.25rem .85rem 1.1rem; }
.bs-cart2--grid .bs-cart2__item::before { font-size: .78rem; color: var(--muted); text-align: center; }
.bs-cart2--grid .bs-cart2__art { position: relative; display: block; }
.bs-cart2--grid .bs-cart2__art img { width: 80px; height: 80px; border-radius: 14px; display: block; }
.bs-cart2__play { position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: 36px; height: 36px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .96); color: var(--text); display: grid; place-items: center; opacity: 0; transform: scale(.85); transition: .18s; box-shadow: 0 6px 18px rgba(0, 0, 0, .25); cursor: pointer; padding: 0; }
.bs-cart2__play svg { width: 16px; height: 16px; fill: currentColor; }
.bs-cart2__play .bs-ico-pause { display: none; }
.bs-cart2__play.is-playing .bs-ico-pause { display: block; }
.bs-cart2__play.is-playing .bs-ico-play { display: none; }
.bs-cart2--grid .bs-cart2__item:hover .bs-cart2__play, .bs-cart2__play.is-playing, .bs-cart2__play:focus-visible { opacity: 1; transform: scale(1); }
.bs-cart2__play.is-playing { background: var(--accent); }
@media (hover: none) { .bs-cart2__play { opacity: 1; transform: none; } }
.bs-cart2--grid .bs-cart2__name a { font-size: 1.05rem; line-height: 1.25; }
.bs-cart2__genre { font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.bs-cart2--grid .bs-cart2__actions { padding: 1.1rem 1.25rem 1.25rem; }
.bs-cart2__perks { list-style: none; margin: 1.1rem 0 0; padding: 1rem 0 0; border-top: 1px solid rgba(255, 255, 255, .12); display: grid; gap: .45rem; font-size: .84rem; color: rgba(255, 255, 255, .7); }
.bs-cart2__perks li { position: relative; padding-left: 1.4rem; }
.bs-cart2__perks li::before { content: ""; position: absolute; left: 0; top: .32em; width: 12px; height: 7px; border-left: 2px solid var(--accent); border-bottom: 2px solid var(--accent); transform: rotate(-45deg); }
body.bs-cart-grid.woocommerce-cart .bs-cart2__collaterals { margin-top: 3.9rem; }
@media (max-width: 960px) { .bs-cart2--grid .bs-cart2__item { grid-template-columns: 2rem 64px minmax(0, 1fr); } .bs-cart2--grid .bs-cart2__art img { width: 64px; height: 64px; } }

/* Bundles banner (black editorial block, split: copy + fanned covers) */
.bs-editorial--bundles { text-align: left; padding: clamp(4rem, 9vw, 7rem) 0; }
.bs-editorial--bundles .bs-editorial__bg { background: radial-gradient(45% 70% at 78% 50%, rgba(200, 243, 28, .18), transparent 70%); }
.bs-editorial__inner--split { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; gap: clamp(2rem, 6vw, 5rem); max-width: none; }
.bs-editorial--bundles .bs-editorial__title { font-size: clamp(2.6rem, 6.5vw, 5.4rem); margin: .25em 0 .3em; }
.bs-editorial--bundles .bs-editorial__title span { color: var(--accent); }
.bs-editorial--bundles .bs-editorial__text { margin: 0 0 2rem; max-width: 44ch; }
.bs-editorial__fan { position: relative; display: block; height: clamp(260px, 30vw, 400px); }
.bs-editorial__cover { position: absolute; top: 50%; left: 50%; width: clamp(170px, 20vw, 270px); aspect-ratio: 1 / 1; border-radius: 18px; overflow: hidden; box-shadow: 0 30px 60px rgba(0, 0, 0, .45); transition: transform .35s cubic-bezier(.2, .8, .2, 1); will-change: transform; }
.bs-editorial__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bs-editorial__cover:nth-child(1) { transform: translate(-50%, -50%) rotate(-9deg) translateX(-38%); z-index: 1; }
.bs-editorial__cover:nth-child(2) { transform: translate(-50%, -50%) rotate(0deg) translateY(-4%); z-index: 2; }
.bs-editorial__cover:nth-child(3) { transform: translate(-50%, -50%) rotate(9deg) translateX(38%); z-index: 3; }
.bs-editorial__fan:hover .bs-editorial__cover:nth-child(1) { transform: translate(-50%, -50%) rotate(-12deg) translateX(-52%) translateY(-4%); }
.bs-editorial__fan:hover .bs-editorial__cover:nth-child(2) { transform: translate(-50%, -50%) translateY(-10%); }
.bs-editorial__fan:hover .bs-editorial__cover:nth-child(3) { transform: translate(-50%, -50%) rotate(12deg) translateX(52%) translateY(-4%); }
@media (max-width: 860px) { .bs-editorial__inner--split { grid-template-columns: 1fr; text-align: center; } .bs-editorial--bundles .bs-editorial__text { margin-inline: auto; } .bs-editorial__fan { order: -1; height: clamp(220px, 50vw, 300px); } }

/* On-sale banner (lime, big percentage, artwork bubbles) */
.bs-saleband { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: clamp(1.5rem, 4vw, 3.5rem); padding: clamp(1.75rem, 4vw, 3rem) clamp(1.5rem, 4vw, 3.5rem); border-radius: 28px; background: var(--accent); color: var(--accent-ink); text-decoration: none; transition: transform .25s, box-shadow .25s; }
.bs-saleband:hover { transform: translateY(-3px); box-shadow: 0 24px 50px rgba(0, 0, 0, .12); color: var(--accent-ink); }
.bs-saleband__big { display: grid; line-height: .9; }
.bs-saleband__upto { font-size: .74rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; opacity: .7; margin-bottom: .2rem; }
.bs-saleband__pct { font-family: var(--font-head); font-weight: 800; font-size: clamp(3.6rem, 9vw, 7.5rem); letter-spacing: -.05em; }
.bs-saleband .bs-eyebrow { color: var(--accent-ink); opacity: .7; }
.bs-saleband__title { margin: .3rem 0 .5rem; font-size: clamp(1.4rem, 2.6vw, 2.1rem); line-height: 1.05; letter-spacing: -.02em; text-transform: uppercase; }
.bs-saleband__text { margin: 0 0 1.25rem; max-width: 46ch; opacity: .8; }
.bs-saleband__btn { display: inline-flex; align-items: center; gap: .5rem; padding: .9rem 1.4rem; border-radius: 999px; background: var(--ink); color: #fff; font-family: var(--font-head); font-weight: 700; font-size: .82rem; letter-spacing: .06em; text-transform: uppercase; transition: gap .2s; }
.bs-saleband:hover .bs-saleband__btn { gap: .9rem; }
.bs-saleband__bubbles { display: flex; align-items: center; }
.bs-saleband__bubble { position: relative; width: clamp(84px, 9vw, 118px); aspect-ratio: 1 / 1; border-radius: 50%; overflow: visible; margin-left: -1.1rem; }
.bs-saleband__bubble:first-child { margin-left: 0; }
.bs-saleband__bubble img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; border: 4px solid var(--accent); box-shadow: 0 14px 30px rgba(0, 0, 0, .18); display: block; }
.bs-saleband__bubble em { position: absolute; right: -4px; bottom: 2px; padding: .25rem .5rem; border-radius: 999px; background: var(--ink); color: #fff; font-style: normal; font-family: var(--font-head); font-weight: 700; font-size: .7rem; }
.bs-saleband__bubble:nth-child(2) { transform: translateY(-14px); }
.bs-saleband__bubble:nth-child(3) { transform: translateY(6px); }
@media (max-width: 900px) { .bs-saleband { grid-template-columns: 1fr; text-align: center; } .bs-saleband__big { justify-items: center; } .bs-saleband__text { margin-inline: auto; } .bs-saleband__bubbles { justify-content: center; } }

/* ===== v17: editorial archive header, compact cart list, pagination with progress ===== */

/* Archive header – light, editorial, left-aligned, hairlines only */
.bs-arch { padding: clamp(1.5rem, 3vw, 2.5rem) 0 0; background: var(--bg); }
.bs-arch__top { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding-bottom: .9rem; border-bottom: 1px solid var(--text); font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.bs-arch__kind { color: var(--text); }
.bs-arch__count { color: var(--muted); font-weight: 600; }
.bs-arch__body { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 1rem clamp(2rem, 6vw, 6rem); align-items: end; padding: clamp(1.5rem, 3.5vw, 2.75rem) 0 clamp(1.5rem, 3vw, 2.25rem); border-bottom: 1px solid var(--border); }
.bs-arch__title { margin: 0; font-family: var(--font-head); font-weight: 800; font-size: clamp(3rem, 9vw, 7.5rem); line-height: .88; letter-spacing: -.045em; text-transform: uppercase; color: var(--text); overflow-wrap: anywhere; }
.bs-arch__desc { color: var(--text-2); font-size: .98rem; max-width: 46ch; padding-bottom: .35em; }
.bs-arch__desc p:last-child { margin: 0; }
.bs-arch + .bs-shop .bs-shop__toolbar { margin-top: 1.5rem; }
@media (max-width: 800px) { .bs-arch__body { grid-template-columns: 1fr; align-items: start; } .bs-arch__desc { padding-bottom: 0; } }

/* Cart list (3+ packs) – compact rows, no card chrome, quiet header line */
.bs-cart2--grid .bs-cart2__list { border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible; }
.bs-cart2__listhead { padding: 0 0 .7rem; background: transparent; color: var(--muted); border-bottom: 1px solid var(--text); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; }
.bs-cart2__listhead span:first-child { color: var(--text); font-size: .72rem; letter-spacing: .14em; }
.bs-cart2__listhead span:last-child { color: var(--muted); font-weight: 600; }
.bs-cart2--grid .bs-cart2__item { grid-template-columns: 1.6rem 52px minmax(0, 1fr) auto; align-items: center; min-height: 0; gap: .85rem; padding: .55rem .5rem .55rem 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; }
.bs-cart2--grid .bs-cart2__item:hover { background: transparent; }
.bs-cart2--grid .bs-cart2__item::before { font-size: .72rem; text-align: left; }
.bs-cart2--grid .bs-cart2__art img { width: 52px; height: 52px; border-radius: 10px; }
.bs-cart2__play { width: 30px; height: 30px; }
.bs-cart2__play svg { width: 13px; height: 13px; }
.bs-cart2--grid .bs-cart2__body { display: contents; }
.bs-cart2--grid .bs-cart2__name { display: flex; flex-direction: row; align-items: center; gap: .75rem; min-width: 0; }
.bs-cart2--grid .bs-cart2__name a { font-size: .95rem; line-height: 1.3; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.bs-cart2--grid .bs-cart2__genre { margin-left: auto; flex: none; padding: .3rem .6rem; border-radius: 999px; background: var(--bg-2); border: 1px solid var(--border); font-size: .66rem; letter-spacing: .08em; color: var(--text-2); white-space: nowrap; }
.bs-cart2--grid .bs-cart2__actions { padding: 1.1rem 0 0; background: transparent; }
.bs-cart2--grid .bs-cart2__coupon { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1.1rem; border: 1px dashed var(--border-2); border-radius: 16px; background: #fff; }
.bs-cart2--grid .bs-cart2__coupon-head span { display: none; }
.bs-cart2--grid .bs-cart2__coupon-head strong { font-size: .9rem; }
.bs-cart2--grid .bs-cart2__coupon-row .input-text { min-width: 140px; padding: .55rem .9rem; }
.bs-cart2--grid .bs-cart2__coupon-row .button { padding: .55rem 1rem; }
.bs-cart2--dense .bs-cart2__list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 2rem; }
.bs-cart2--dense .bs-cart2__listhead, .bs-cart2--dense .bs-cart2__actions { grid-column: 1 / -1; }
body.bs-cart-grid.woocommerce-cart .bs-cart2__collaterals { margin-top: 3.6rem; }
@media (max-width: 1100px) { .bs-cart2--dense .bs-cart2__list { grid-template-columns: 1fr; } }
@media (max-width: 960px) { .bs-cart2--grid .bs-cart2__item { grid-template-columns: 1.4rem 48px minmax(0, 1fr); } .bs-cart2--grid .bs-cart2__art img { width: 48px; height: 48px; } .bs-cart2--grid .bs-cart2__genre { display: none; } }

/* Pagination – round arrows, number track, progress bar */
.woocommerce nav.woocommerce-pagination.bs-pagi, nav.bs-pagi { display: grid; justify-items: center; gap: 1rem; margin: 3.5rem 0 0; }
.bs-pagi__row { display: flex; align-items: center; gap: .9rem; }
.woocommerce nav.bs-pagi ul, .bs-pagi__track { display: flex; align-items: center; gap: .15rem; padding: .3rem; border-radius: 999px; background: var(--bg-2); border: 1px solid var(--border); }
.woocommerce nav.woocommerce-pagination.bs-pagi .bs-pagi__track a, .woocommerce nav.woocommerce-pagination.bs-pagi .bs-pagi__track span, .bs-pagi__track a, .bs-pagi__track span { display: grid; place-items: center; width: 42px; height: 42px; min-width: 42px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--text-2); font-family: var(--font-head); font-weight: 700; font-size: .9rem; line-height: 1; text-decoration: none; transition: background .2s, color .2s; }
.woocommerce nav.woocommerce-pagination.bs-pagi .bs-pagi__track a:hover, .bs-pagi__track a:hover { background: #fff; color: var(--text); }
.woocommerce nav.woocommerce-pagination.bs-pagi .bs-pagi__track span.current, .bs-pagi__track span.current { background: var(--ink); color: #fff; }
.woocommerce nav.woocommerce-pagination.bs-pagi .bs-pagi__track span.dots, .bs-pagi__track span.dots { width: 22px; min-width: 22px; color: var(--muted); }
.woocommerce nav.woocommerce-pagination.bs-pagi .bs-pagi__row > a, .woocommerce nav.woocommerce-pagination.bs-pagi .bs-pagi__row > span, .bs-pagi__row > a, .bs-pagi__row > span { display: grid; place-items: center; width: 50px; height: 50px; min-width: 50px; margin: 0; padding: 0 0 .1em; border-radius: 50%; border: 1px solid var(--ink); background: var(--ink); color: #fff; font-size: 1.5rem; line-height: 1; text-decoration: none; transition: background .2s, color .2s, transform .2s; }
.woocommerce nav.woocommerce-pagination.bs-pagi .bs-pagi__row > a::before, .bs-pagi__row > a::before, .bs-pagi__row > span::before { content: none; }
.woocommerce nav.woocommerce-pagination.bs-pagi .bs-pagi__row > a:hover, .bs-pagi__row > a:hover { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.bs-pagi__row > a.prev:hover { transform: translateX(-3px); }
.bs-pagi__row > a.next:hover { transform: translateX(3px); }
.bs-pagi__row > span.is-disabled { background: transparent; border-color: var(--border-2); color: var(--muted); }
.bs-pagi__meta { display: grid; justify-items: center; gap: .55rem; }
.bs-pagi__label { font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.bs-pagi__bar { display: block; width: 180px; height: 3px; border-radius: 999px; background: var(--border); overflow: hidden; }
.bs-pagi__bar i { display: block; height: 100%; border-radius: 999px; background: var(--ink); transition: width .4s; }

/* ===== v18: archive header entrance, segmented ajax pagination, cart rows with price + remove ===== */

/* Archive header – minimal entrance: line draws in, title rises, description fades */
.bs-arch__top { -webkit-clip-path: inset(0 100% 0 0); clip-path: inset(0 100% 0 0); animation: bs-arch-line .9s cubic-bezier(.2, .8, .2, 1) .05s forwards; }
.bs-arch__title { opacity: 0; transform: translateY(26px); animation: bs-arch-rise .8s cubic-bezier(.2, .8, .2, 1) .2s forwards; }
.bs-arch__desc { opacity: 0; transform: translateY(12px); animation: bs-arch-rise .7s cubic-bezier(.2, .8, .2, 1) .45s forwards; }
.bs-arch__body { position: relative; }
.bs-arch__body::after { content: ""; position: absolute; left: 0; bottom: -1px; height: 1px; width: 0; background: var(--text); animation: bs-arch-underline 1.1s cubic-bezier(.2, .8, .2, 1) .5s forwards; }
@keyframes bs-arch-line { to { -webkit-clip-path: inset(0 0 0 0); clip-path: inset(0 0 0 0); } }
@keyframes bs-arch-rise { to { opacity: 1; transform: none; } }
@keyframes bs-arch-underline { to { width: 72px; } }
@media (prefers-reduced-motion: reduce) { .bs-arch__top, .bs-arch__title, .bs-arch__desc, .bs-arch__body::after { animation: none; opacity: 1; transform: none; clip-path: none; -webkit-clip-path: none; } .bs-arch__body::after { width: 72px; } }

/* Pagination – "Page x of y" + segmented bar, no arrows */
.woocommerce nav.woocommerce-pagination.bs-pagi, nav.bs-pagi { display: grid; gap: .8rem; justify-items: stretch; width: min(100%, 560px); margin: 3.5rem auto 0; }
.bs-pagi__head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; font-size: .74rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.bs-pagi__label b { color: var(--text); font-weight: 800; }
.bs-pagi__hint { font-weight: 600; letter-spacing: .1em; }
.bs-pagi__bar { display: flex; gap: 5px; }
.woocommerce nav.woocommerce-pagination.bs-pagi .bs-pagi__seg, .bs-pagi__seg { position: relative; flex: 1 1 0; display: block; height: 30px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--text); text-decoration: none; cursor: pointer; }
.bs-pagi__seg::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 6px; transform: translateY(-50%); border-radius: 999px; background: var(--border-2); transition: background .2s, transform .2s; }
.bs-pagi__seg:hover::before { background: var(--accent); transform: translateY(-50%) scaleY(1.5); }
.bs-pagi__seg.is-current::before { background: var(--ink); transform: translateY(-50%) scaleY(1.5); }
.bs-pagi__seg span { position: absolute; left: 50%; bottom: calc(100% - 2px); transform: translate(-50%, 4px); padding: .25rem .5rem; border-radius: 8px; background: var(--ink); color: #fff; font-family: var(--font-head); font-weight: 700; font-size: .7rem; line-height: 1; opacity: 0; pointer-events: none; transition: opacity .15s, transform .15s; }
.bs-pagi__seg:hover span, .bs-pagi__seg:focus-visible span { opacity: 1; transform: translate(-50%, 0); }
.bs-pagi__seg:focus-visible { outline: none; }
.bs-pagi__seg:focus-visible::before { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--text); }
.bs-shop__main { position: relative; }
.bs-shop__main ul.products { transition: opacity .24s ease, transform .24s ease; }
.bs-shop__main ul.products.is-leaving { opacity: 0; transform: translateX(-36px); }
.bs-shop__main ul.products.is-entering { opacity: 0; transform: translateX(36px); transition: none; }
.bs-shop__main.is-loading .bs-pagi { pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .bs-shop__main ul.products { transition: none; } .bs-shop__main ul.products.is-leaving, .bs-shop__main ul.products.is-entering { transform: none; } }

/* Cart rows: no hairlines, price + × remove (list mode) */
.bs-cart2--grid .bs-cart2__item { grid-template-columns: 1.6rem 52px minmax(0, 1fr) auto; border-bottom: 0; padding: .45rem .6rem .45rem .35rem; border-radius: 14px; margin: 0 -.35rem; transition: background .15s; }
.bs-cart2--grid .bs-cart2__item:hover { background: var(--bg-2); }
.bs-cart2--grid .bs-cart2__item + .bs-cart2__item { margin-top: .15rem; }
.bs-cart2__listhead { border-bottom: 0; padding-bottom: .5rem; }
.bs-cart2__end { display: flex; align-items: center; gap: .9rem; }
.bs-cart2__lprice { font-family: var(--font-head); font-weight: 700; font-size: .95rem; white-space: nowrap; color: var(--text); }
.bs-cart2__lprice del { color: var(--muted); font-weight: 400; margin-right: .35rem; }
.bs-cart2__lprice ins { text-decoration: none; }
.woocommerce-cart a.remove.bs-cart2__x, .bs-cart2__x { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--border-2); background: #fff; color: var(--muted) !important; font-size: 1.1rem; line-height: 1; text-decoration: none !important; transition: background .15s, color .15s, border-color .15s; }
.woocommerce-cart a.remove.bs-cart2__x:hover, .bs-cart2__x:hover { background: var(--ink); border-color: var(--ink); color: #fff !important; }
.bs-cart2--grid .bs-cart2__genre { margin-left: auto; }
/* card mode (1–2 packs): price + × on the right */
.bs-cart2:not(.bs-cart2--grid) .bs-cart2__item { grid-template-columns: 168px minmax(0, 1fr) auto; }
.bs-cart2:not(.bs-cart2--grid) .bs-cart2__end { flex-direction: column; align-items: flex-end; justify-content: center; gap: .9rem; }
.bs-cart2:not(.bs-cart2--grid) .bs-cart2__lprice { font-size: 1.15rem; }
@media (max-width: 960px) { .bs-cart2--grid .bs-cart2__item { grid-template-columns: 1.4rem 48px minmax(0, 1fr) auto; } }
@media (max-width: 640px) { .bs-cart2:not(.bs-cart2--grid) .bs-cart2__item { grid-template-columns: 1fr; } .bs-cart2:not(.bs-cart2--grid) .bs-cart2__end { flex-direction: row; justify-content: center; } .bs-cart2--grid .bs-cart2__lprice { font-size: .85rem; } }

/* ===== v19: pagination segments as visible page buttons; checkout coupon always open ===== */
.bs-pagi__bar { gap: .5rem; }
.woocommerce nav.woocommerce-pagination.bs-pagi .bs-pagi__seg, .bs-pagi__seg { height: 46px; min-width: 46px; display: grid; place-items: center; border-radius: 999px; border: 1px solid var(--border-2); background: #fff; color: var(--text-2); font-family: var(--font-head); font-weight: 700; font-size: .92rem; transition: background .2s, color .2s, border-color .2s, transform .2s; }
.bs-pagi__seg::before { display: none; }
.bs-pagi__seg span { position: static; transform: none; opacity: 1; padding: 0; background: transparent; color: inherit; font-size: inherit; pointer-events: none; }
.bs-pagi__seg:hover { border-color: var(--text); color: var(--text); background: var(--bg-2); transform: translateY(-2px); }
.bs-pagi__seg:hover span, .bs-pagi__seg:focus-visible span { opacity: 1; transform: none; }
.woocommerce nav.woocommerce-pagination.bs-pagi .bs-pagi__seg.is-current, .bs-pagi__seg.is-current { background: var(--ink); border-color: var(--ink); color: #fff; }
.bs-pagi__seg:focus-visible { outline: none; box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--text); }
.bs-pagi__seg:focus-visible::before { box-shadow: none; }
.bs-pagi__head { padding: 0 .25rem; }

/* Checkout coupon: no "click here" notice – the code field is always visible under the order panel */
.woocommerce-checkout .woocommerce-form-coupon-toggle { display: none !important; }
.woocommerce-checkout form.checkout_coupon { display: block; grid-row: 3; margin: 1rem 0 0; padding: 1.1rem 1.4rem; border: 2px dashed var(--border-2); border-radius: 18px; background: #fff; }
.woocommerce-checkout form.checkout_coupon::before { content: "Have a coupon code?"; display: block; margin-bottom: .6rem; font-family: var(--font-head); font-weight: 700; font-size: 1rem; color: var(--text); }
.woocommerce-checkout form.checkout_coupon p:first-child:not(.form-row) { display: block; margin: 0 0 .75rem; font-size: .85rem; color: var(--muted); }
.woocommerce-checkout form.checkout_coupon .form-row { float: none; width: auto; margin: 0; }
.woocommerce-checkout form.checkout_coupon .form-row-first, .woocommerce-checkout form.checkout_coupon .form-row-last { display: inline-block; vertical-align: middle; }
.woocommerce-checkout form.checkout_coupon .form-row-first { width: calc(100% - 7.5rem); }
.woocommerce-checkout form.checkout_coupon .form-row-last { width: 7rem; margin-left: .35rem; }
.woocommerce-checkout form.checkout_coupon .input-text { width: 100%; padding: .8rem 1rem; border-radius: 999px; border: 1px solid var(--border-2); background: var(--bg-2); }
.woocommerce-checkout form.checkout_coupon .input-text:focus { background: #fff; border-color: var(--text); outline: none; }
.woocommerce-checkout form.checkout_coupon .button { width: 100%; margin: 0; padding: .8rem .9rem; border-radius: 999px; background: var(--ink); color: #fff; border-color: var(--ink); font-size: .78rem; }
.woocommerce-checkout form.checkout_coupon .button:hover { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.woocommerce-checkout form.checkout_coupon .clear { display: none; }

.woocommerce nav.woocommerce-pagination.bs-pagi, nav.bs-pagi { justify-content: stretch; grid-template-columns: minmax(0, 1fr); }
.bs-pagi__bar, .bs-pagi__head { width: 100%; }

/* ===== v20: pagination with Previous / Next pills; coupon button on one line ===== */
.woocommerce nav.woocommerce-pagination.bs-pagi, nav.bs-pagi { width: min(100%, 760px); }
.bs-pagi__head { justify-content: center; }
.bs-pagi__row { display: flex; align-items: center; gap: .75rem; width: 100%; }
.bs-pagi__row .bs-pagi__bar { flex: 1 1 auto; width: auto; }
.woocommerce nav.woocommerce-pagination.bs-pagi .bs-pagi__arrow, .bs-pagi__arrow { display: inline-flex; align-items: center; gap: .5rem; height: 46px; padding: 0 1.15rem; flex: none; border-radius: 999px; border: 1px solid var(--ink); background: var(--ink); color: #fff; font-family: var(--font-head); font-weight: 700; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; transition: background .2s, color .2s, border-color .2s, transform .2s; }
.bs-pagi__arrow svg { width: 18px; height: 18px; flex: none; }
.woocommerce nav.woocommerce-pagination.bs-pagi a.bs-pagi__arrow:hover, a.bs-pagi__arrow:hover { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
a.bs-pagi__arrow--prev:hover { transform: translateX(-3px); }
a.bs-pagi__arrow--next:hover { transform: translateX(3px); }
.bs-pagi__arrow.is-disabled { background: transparent; border-color: var(--border-2); color: var(--muted); }
@media (max-width: 640px) { .bs-pagi__arrow span { display: none; } .bs-pagi__arrow { width: 46px; padding: 0; justify-content: center; } .bs-pagi__row { gap: .5rem; } }

/* Checkout coupon: "Apply coupon" stays on one line next to the field */
.woocommerce-checkout form.checkout_coupon .form-row-first { width: calc(100% - 9.9rem); }
.woocommerce-checkout form.checkout_coupon .form-row-last { width: auto; margin-left: .4rem; }
.woocommerce-checkout form.checkout_coupon .button { width: auto; white-space: nowrap; padding: .8rem 1.2rem; }
@media (max-width: 480px) { .woocommerce-checkout form.checkout_coupon .form-row-first, .woocommerce-checkout form.checkout_coupon .form-row-last { display: block; width: 100%; margin: 0 0 .5rem; } .woocommerce-checkout form.checkout_coupon .button { width: 100%; } }

/* v20.1: arrows out-specify the old round-arrow rule; coupon row as flex so the button never wraps */
.woocommerce nav.woocommerce-pagination.bs-pagi .bs-pagi__row > a.bs-pagi__arrow, .woocommerce nav.woocommerce-pagination.bs-pagi .bs-pagi__row > span.bs-pagi__arrow { width: auto; min-width: 0; height: 46px; padding: 0 1.15rem; border-radius: 999px; font-size: .78rem; display: inline-flex; gap: .5rem; }
.woocommerce nav.woocommerce-pagination.bs-pagi .bs-pagi__row > span.bs-pagi__arrow.is-disabled { background: transparent; border-color: var(--border-2); color: var(--muted); }
@media (max-width: 640px) { .woocommerce nav.woocommerce-pagination.bs-pagi .bs-pagi__row > a.bs-pagi__arrow, .woocommerce nav.woocommerce-pagination.bs-pagi .bs-pagi__row > span.bs-pagi__arrow { width: 46px; padding: 0; justify-content: center; } }
.woocommerce-checkout form.checkout_coupon { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.woocommerce-checkout form.checkout_coupon::before, .woocommerce-checkout form.checkout_coupon p:first-child:not(.form-row) { flex: 0 0 100%; margin: 0; }
.woocommerce-checkout form.checkout_coupon::before { margin-bottom: .1rem; }
.woocommerce-checkout form.checkout_coupon .form-row-first { flex: 1 1 160px; width: auto; display: block; }
.woocommerce-checkout form.checkout_coupon .form-row-last { flex: none; width: auto; margin: 0; display: block; }

.woocommerce-checkout form.checkout_coupon p.form-row:first-child { display: block; }

/* ===== v21: product page layout B – sticky sleeve, black price card, Audio Previews console, tiles, two-column description, requirements block ===== */
.bs-pp { display: grid; grid-template-columns: 400px minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; padding: clamp(1.5rem, 3vw, 2.5rem) 0 4rem; }
.bs-pp__sleeve { position: sticky; top: calc(var(--header-h) + 1rem); display: grid; gap: 1rem; }
.bs-pp__art { position: relative; border-radius: 22px; overflow: hidden; box-shadow: var(--shadow); aspect-ratio: 1 / 1; background: var(--bg-2); }
.bs-pp__art img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bs-pp__badges { position: absolute; left: 14px; top: 14px; display: flex; gap: .4rem; }
.bs-pp__badges .bs-badge { position: static; }
/* price card */
.bs-product .bs-pp__buy.bs-buybox { margin: 0; padding: 1.35rem 1.5rem; border: 0; border-radius: 22px; background: var(--ink); color: #fff; box-shadow: none; display: grid; gap: .9rem; }
.bs-pp__buy-top { display: flex; justify-content: space-between; align-items: baseline; }
.bs-pp__buy-label { font-family: var(--font-head); font-weight: 700; font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; opacity: .55; }
.bs-pp__save { font-family: var(--font-head); font-weight: 700; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; color: var(--accent); }
.bs-pp__save .woocommerce-Price-amount { color: var(--accent); }
.bs-pp__price .price { display: flex; align-items: baseline; gap: .75rem; flex-direction: row-reverse; justify-content: flex-end; margin: 0; font-family: var(--font-head); font-weight: 800; font-size: 2.4rem; line-height: 1; letter-spacing: -.03em; color: #fff; }
.bs-pp__price .price del { opacity: .5; font-size: 1rem; font-weight: 400; text-decoration: line-through; }
.bs-pp__price .price ins { text-decoration: none; }
.bs-pp__price .price .woocommerce-Price-amount, .bs-pp__price .price ins .woocommerce-Price-amount { color: #fff; }
.bs-pp__price .screen-reader-text { display: none; }
.bs-product .bs-pp__buy .cart { margin: 0; }
.bs-product .bs-pp__buy .single_add_to_cart_button, .bs-product .bs-pp__buy .button { width: 100%; min-width: 0; padding: 1.05rem 1.4rem; border-radius: 999px; background: var(--accent); border-color: var(--accent); color: var(--accent-ink); font-family: var(--font-head); font-weight: 700; font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; }
.bs-product .bs-pp__buy .single_add_to_cart_button:hover, .bs-product .bs-pp__buy .button:hover { background: #fff; border-color: #fff; color: var(--ink); }
.bs-product .bs-pp__buy .product_meta { display: none; }
.bs-pp__perks { list-style: none; margin: .2rem 0 0; padding: .9rem 0 0; border-top: 1px solid rgba(255, 255, 255, .15); display: grid; gap: .4rem; font-size: .82rem; opacity: .78; }
.bs-pp__perks li { position: relative; padding-left: 1.3rem; }
.bs-pp__perks li::before { content: ""; position: absolute; left: 0; top: .42em; width: 10px; height: 6px; border-left: 2px solid var(--accent); border-bottom: 2px solid var(--accent); transform: rotate(-45deg); }
/* facts */
.bs-pp__facts { margin: 0; background: var(--surface); border: 1px solid var(--border); border-radius: 20px; padding: .35rem 1.35rem; display: grid; }
.bs-pp__facts div { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-top: 1px solid var(--border); }
.bs-pp__facts div:first-child { border-top: 0; }
.bs-pp__facts dt { font-family: var(--font-head); font-weight: 600; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); align-self: center; }
.bs-pp__facts dd { margin: 0; font-weight: 600; font-size: .9rem; text-align: right; font-variant-numeric: tabular-nums; }
/* main column */
.bs-pp__main { display: grid; gap: clamp(2rem, 4vw, 3rem); min-width: 0; }
.bs-pp__title { margin: 0 0 1rem; font-size: clamp(2.4rem, 5vw, 4.4rem); line-height: .95; letter-spacing: -.035em; text-transform: uppercase; text-wrap: balance; }
.bs-pp__lead { font-size: 1.08rem; color: var(--text-2); max-width: 62ch; }
.bs-pp__lead p:last-child { margin-bottom: 0; }
.bs-pp__sec { display: grid; gap: 1rem; }
.bs-pp__sec-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--text); padding-bottom: .6rem; }
.bs-pp__sec-head h2, .bs-prose .bs-pp__sec-head h2 { margin: 0; font-family: var(--font-head); font-weight: 800; font-size: 1.15rem; letter-spacing: -.01em; text-transform: uppercase; }
/* Audio Previews console */
.bs-console { background: var(--ink); color: #fff; border-radius: 22px; padding: .6rem; display: grid; gap: 2px; }
.bs-console__head { display: grid; grid-template-columns: 40px minmax(150px, 200px) minmax(0, 1fr) 3.4rem; gap: .9rem; padding: .55rem .6rem .7rem; font-family: var(--font-head); font-weight: 700; font-size: .6rem; letter-spacing: .16em; text-transform: uppercase; opacity: .45; }
.bs-console__head span:last-child { text-align: right; }
.bs-console .bs-player--console { display: grid; grid-template-columns: 40px minmax(150px, 200px) minmax(0, 1fr) 3.4rem; grid-template-areas: "btn meta wave time"; align-items: center; gap: .9rem; margin: 0; padding: .45rem .6rem; border-radius: 12px; border: 0; border-left: 3px solid transparent; background: transparent; box-shadow: none; transition: background .15s, border-color .15s; }
.bs-console .bs-player--console:hover { background: rgba(255, 255, 255, .06); }
.bs-console .bs-player--console.is-playing { background: rgba(255, 255, 255, .09); border-left-color: var(--accent); }
.bs-console .bs-player--console .bs-player__btn { grid-area: btn; width: 36px; height: 36px; border: 1px solid rgba(255, 255, 255, .25); background: transparent; color: #fff; font-size: 1rem; }
.bs-console .bs-player--console .bs-player__btn:hover, .bs-console .bs-player--console.is-playing .bs-player__btn { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); transform: none; }
.bs-console .bs-player--console .bs-player__body { display: contents; }
.bs-console .bs-player--console .bs-player__meta { grid-area: meta; min-width: 0; display: grid; gap: .15rem; }
.bs-console .bs-player--console .bs-player__title { margin: 0; font-size: .88rem; font-weight: 600; color: #fff; }
.bs-console__tags { display: flex; gap: .5rem; align-items: center; }
.bs-console__type, .bs-console__kit { font-family: var(--font-head); font-weight: 700; font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; }
.bs-console__type { color: var(--accent); }
.bs-console__kit { opacity: .45; }
.bs-console .bs-player--console .bs-player__wave { grid-area: wave; height: 40px; border-radius: 0; border-left: 1px solid rgba(255, 255, 255, .12); border-right: 1px solid rgba(255, 255, 255, .12); }
.bs-console .bs-player--console .bs-player__time { grid-area: time; text-align: right; color: rgba(255, 255, 255, .6); }
.bs-console .bs-player--console .bs-player__cur { color: #fff; }
/* What's inside tiles */
.bs-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem; }
.bs-tile { background: var(--surface); border: 1px solid var(--border); border-radius: 18px; padding: 1.1rem 1.15rem; display: grid; gap: .25rem; align-content: start; }
.bs-tile b { font-family: var(--font-head); font-weight: 800; font-size: 1.9rem; line-height: 1; letter-spacing: -.03em; }
.bs-tile span { font-size: .8rem; color: var(--text-2); }
.bs-tile--lime { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.bs-tile--lime span { color: var(--accent-ink); opacity: .75; }
/* description in two columns, uniform text */
.bs-pp__desc { columns: 2; column-gap: 2.5rem; }
.bs-pp__desc > * { break-inside: avoid; }
.bs-pp__desc p { margin: 0 0 1rem; font-size: .95rem; color: var(--text-2); }
.bs-pp__desc h2, .bs-pp__desc h3 { column-span: all; }
.bs-pp__desc blockquote { break-inside: avoid; }
/* requirements block */
.bs-req { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); border-radius: 22px; overflow: hidden; background: var(--ink); color: #fff; }
.bs-req__lead { padding: 1.75rem; display: grid; gap: .5rem; align-content: center; background: var(--accent); color: var(--accent-ink); }
.bs-req__lead strong { font-family: var(--font-head); font-weight: 800; font-size: 1.5rem; line-height: 1.05; letter-spacing: -.02em; text-transform: uppercase; }
.bs-req__lead span:last-child { font-size: .88rem; opacity: .8; }
.bs-req__badge { justify-self: start; padding: .3rem .6rem; border-radius: 999px; background: var(--accent-ink); color: var(--accent); font-family: var(--font-head); font-weight: 700; font-size: .68rem; letter-spacing: .1em; }
.bs-req__list { list-style: none; margin: 0; padding: 1.25rem 1.75rem; display: grid; gap: .9rem; align-content: center; }
.bs-req__list li { display: grid; grid-template-columns: 22px minmax(0, 1fr); column-gap: .8rem; align-items: start; }
.bs-req__list i { width: 22px; height: 22px; border-radius: 50%; background: var(--accent); position: relative; margin-top: .1rem; grid-row: 1 / span 2; }
.bs-req__list i::after { content: ""; position: absolute; left: 6px; top: 5px; width: 8px; height: 5px; border-left: 2px solid var(--accent-ink); border-bottom: 2px solid var(--accent-ink); transform: rotate(-45deg); }
.bs-req__list b { font-family: var(--font-head); font-weight: 700; font-size: .9rem; }
.bs-req__list span { font-size: .82rem; opacity: .7; }
/* old hero pieces no longer used on the product page */
.bs-product__hero, .bs-product__demo { display: none; }
@media (max-width: 1000px) {
	.bs-pp { grid-template-columns: 1fr; }
	.bs-pp__sleeve { position: static; grid-template-columns: 1fr 1fr; align-items: start; }
	.bs-pp__art { grid-row: 1 / span 2; }
	.bs-tiles { grid-template-columns: repeat(2, 1fr); }
	.bs-pp__desc { columns: 1; }
	.bs-req { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
	.bs-console__head { display: none; }
	.bs-console .bs-player--console { grid-template-columns: 36px minmax(0, 1fr) 3rem; grid-template-areas: "btn meta time" "wave wave wave"; row-gap: .4rem; }
	.bs-console .bs-player--console .bs-player__wave { height: 32px; }
}
@media (max-width: 640px) { .bs-pp__sleeve { grid-template-columns: 1fr; } .bs-pp__art { grid-row: auto; } }

/* v21.1: lime add-to-cart inside the black price card (beats WooCommerce .alt button rules) */
.woocommerce div.product .bs-pp__buy form.cart .button, .woocommerce div.product .bs-pp__buy .single_add_to_cart_button.alt, .woocommerce div.product .bs-pp__buy button.button.alt { background: var(--accent) !important; border-color: var(--accent) !important; color: var(--accent-ink) !important; }
.woocommerce div.product .bs-pp__buy form.cart .button:hover, .woocommerce div.product .bs-pp__buy .single_add_to_cart_button.alt:hover, .woocommerce div.product .bs-pp__buy button.button.alt:hover { background: #fff !important; border-color: #fff !important; color: var(--ink) !important; }
.bs-pp__price .price .woocommerce-Price-amount bdi { color: #fff; }

/* ===== v22: payment box on checkout, wallet buttons inside it, clean cart totals ===== */
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__pay { background: var(--surface); border: 1px solid var(--border-2); border-radius: 26px; padding: clamp(1.25rem, 3vw, 2rem); box-shadow: var(--shadow); }
.bs-checkout3__payhead { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin: 0 0 1.25rem; padding-bottom: .9rem; border-bottom: 1px solid var(--border); }
.bs-prose .bs-checkout3__payhead .bs-checkout3__h, .bs-checkout3__payhead .bs-checkout3__h { margin: 0; }
.bs-checkout3__secure { display: inline-flex; align-items: center; gap: .45rem; padding: .4rem .8rem; border-radius: 999px; background: var(--bg-2); border: 1px solid var(--border); color: var(--text-2); font-family: var(--font-head); font-weight: 700; font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; }
.bs-checkout3__secure svg { width: 14px; height: 14px; flex: none; }
/* express / wallet buttons */
.bs-express { display: grid; gap: .8rem; margin: 0 0 1.35rem; }
.bs-express.is-empty { display: none; }
.bs-express__label { margin: 0; font-family: var(--font-head); font-weight: 700; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.bs-express__or { display: flex; align-items: center; gap: 1rem; margin: 0; color: var(--muted); font-family: var(--font-head); font-weight: 700; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; }
.bs-express__or::before, .bs-express__or::after { content: ""; flex: 1; height: 1px; background: var(--border); }
.bs-express .wcpay-express-checkout-wrapper, .bs-express .ppc-button-wrapper { margin: 0 !important; padding: 0 !important; }
.bs-express #wcpay-express-checkout-button-separator, .bs-express .wcpay-express-checkout-button-separator { display: none !important; }
/* payment methods sit tighter inside the box */
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__pay #payment { background: transparent; border: 0; padding: 0; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li { background: var(--bg-2); }
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li:has(input:checked) { background: #fff; }
/* cart: nothing but "Proceed to checkout" under the totals */
.woocommerce-cart .wc-proceed-to-checkout > *:not(.checkout-button) { display: none !important; }
.woocommerce-cart .ppc-button-wrapper, .woocommerce-cart .wcpay-express-checkout-wrapper, .woocommerce-cart #wcpay-express-checkout-button-separator, .woocommerce-cart #payment-method-message, .woocommerce-cart .wcpay-express-checkout-button-separator { display: none !important; }

/* ===== v23: tinted payment box, always-visible wallet buttons, footer payment marks ===== */
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__pay { background: linear-gradient(180deg, var(--accent-soft) 0, var(--surface) 46%); border: 1px solid var(--border-2); border-radius: 26px; box-shadow: inset 0 3px 0 0 var(--accent), var(--shadow); padding: clamp(1.4rem, 3vw, 2.1rem); }
.bs-checkout3__payhead { border-bottom-color: rgba(15, 15, 18, .12); }
.bs-checkout3__secure { background: rgba(255, 255, 255, .75); border-color: rgba(15, 15, 18, .12); }
/* payment tiles read as cards on the tinted ground */
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__pay #payment ul.payment_methods li { background: #fff; border-color: var(--border-2); }
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__pay #payment ul.payment_methods li:has(input:checked) { border-color: var(--text); box-shadow: 0 0 0 1px var(--text); }
/* wallet buttons: never hidden – only the label and the divider wait until a button has rendered */
.bs-express, .bs-express.is-empty { display: grid; }
.bs-express.is-pending .bs-express__label, .bs-express.is-pending .bs-express__or { display: none; }
.bs-express.is-pending { gap: 0; margin: 0; }
.bs-express .wcpay-express-checkout-wrapper, .bs-express #wcpay-express-checkout-element { width: 100%; }
/* footer: accepted payment marks */
.bs-pays { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; margin: .75rem 0 0; padding: 0; }
.bs-pay { display: grid; place-items: center; width: 54px; height: 34px; border-radius: 8px; background: #fff; color: var(--ink); box-shadow: 0 1px 0 rgba(15, 15, 18, .08); }
.bs-pay svg { width: 100%; height: 100%; }
.bs-pay__visa { font-family: var(--font-head); font-weight: 800; font-style: italic; font-size: .82rem; letter-spacing: .04em; }
.bs-pay__mc { display: block; width: 40px; height: 22px; color: var(--ink); }
.bs-pay__mc svg { width: 40px; height: 22px; }
.bs-pay__pp { font-family: var(--font-head); font-weight: 800; font-style: italic; font-size: .74rem; letter-spacing: -.01em; }
.bs-pay__pp em { font-style: italic; opacity: .55; }
.bs-pay__gp { display: inline-flex; align-items: center; gap: .15rem; font-family: var(--font-head); font-weight: 700; font-size: .74rem; }
.bs-pay__gp svg { width: 14px; height: 14px; }

/* ===== v24: modern payment method rows + card field panel ===== */
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods { display: grid; gap: .7rem; margin: 0 0 1.35rem; padding: 0; border: 0; list-style: none; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm { padding: 0; margin: 0; overflow: hidden; border: 1px solid var(--border-2); border-radius: 18px; background: #fff; box-shadow: none; transition: border-color .2s, box-shadow .2s, transform .2s; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm:hover { border-color: var(--text-2); }
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm:has(input:checked) { border-color: var(--ink); box-shadow: 0 0 0 1px var(--ink), 0 14px 34px rgba(15, 15, 18, .08); background: #fff; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm > input.input-radio { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm > label { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: .9rem; margin: 0; padding: 1.05rem 1.2rem; cursor: pointer; font-family: var(--font-body); text-transform: none; letter-spacing: 0; color: var(--text); }
.bs-pm__radio { width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--border-2); background: #fff; position: relative; transition: border-color .2s, background .2s; }
li.bs-pm:has(input:checked) .bs-pm__radio { border-color: var(--ink); background: var(--ink); }
li.bs-pm:has(input:checked) .bs-pm__radio::after { content: ""; position: absolute; inset: 5px; border-radius: 50%; background: var(--accent); }
li.bs-pm > label:focus-within .bs-pm__radio, li.bs-pm > input.input-radio:focus-visible + label .bs-pm__radio { box-shadow: 0 0 0 3px var(--accent-soft); }
.bs-pm__text { display: grid; gap: .12rem; min-width: 0; }
.bs-pm__title { font-family: var(--font-head); font-weight: 700; font-size: 1rem; letter-spacing: -.01em; }
.bs-pm__hint { font-size: .78rem; color: var(--muted); line-height: 1.35; }
.bs-pm__icons { display: flex; align-items: center; gap: .3rem; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm .bs-pm__icons img { float: none; width: 38px; height: 25px; max-height: none; margin: 0; padding: 2px; border: 1px solid var(--border); border-radius: 6px; background: #fff; object-fit: contain; }
/* fields panel under the selected method */
.woocommerce-checkout form.checkout.bs-checkout3 #payment li.bs-pm div.payment_box { margin: 0; padding: 0 1.2rem 1.2rem; background: transparent; border: 0; border-radius: 0; color: var(--text-2); font-size: .88rem; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment li.bs-pm div.payment_box::before { display: none; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment li.bs-pm div.payment_box.payment_method_woocommerce_payments::before { display: block; content: "Card details"; position: static; width: auto; height: auto; margin: 0 0 .55rem; padding: 0; border: 0; background: none; font-family: var(--font-head); font-weight: 700; font-size: .64rem; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.woocommerce-checkout form.checkout.bs-checkout3 #payment li.bs-pm div.payment_box.payment_method_woocommerce_payments::after { content: "Encrypted end to end – your card number never reaches our servers."; display: block; margin: .7rem 0 0; font-size: .74rem; color: var(--muted); }
.payment_box.payment_method_woocommerce_payments .wcpay-upe-form, .payment_box.payment_method_woocommerce_payments .wcpay-card-mount { background: var(--bg-2); border: 1px solid var(--border); border-radius: 14px; padding: .95rem 1rem; }
.payment_box.payment_method_ppcp-gateway p { display: none; }
/* place order */
.woocommerce-checkout form.checkout.bs-checkout3 #payment #place_order { margin-top: .35rem; }
@media (max-width: 480px) {
	.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm > label { grid-template-columns: 22px minmax(0, 1fr); row-gap: .6rem; }
	.bs-pm__icons { grid-column: 2; }
}

/* v24.1: wordmark fallback for gateways without a brand icon (PayPal) */
.bs-pm__mark { display: grid; place-items: center; min-width: 54px; height: 25px; padding: 0 .5rem; border: 1px solid var(--border); border-radius: 6px; background: #fff; font-family: var(--font-head); font-weight: 800; font-style: italic; font-size: .72rem; color: var(--ink); }
.bs-pm__mark em { font-style: italic; opacity: .55; }

/* v24.2: selected radio – plain black circle with a white centre (no lime dot) */
.woocommerce-checkout li.bs-pm:has(input:checked) .bs-pm__radio::after { background: #fff; }

/* v24.3: selected radio – solid black circle, no inner dot at all */
.woocommerce-checkout li.bs-pm .bs-pm__radio::after, .woocommerce-checkout li.bs-pm:has(input:checked) .bs-pm__radio::after { display: none; content: none; }

/* v24.4: one thin outline per payment option – no doubled ring, no nested box around the card fields */
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm:has(input:checked) { box-shadow: 0 12px 30px rgba(15, 15, 18, .06); }
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm { border-width: 1px; }
.payment_box.payment_method_woocommerce_payments .wcpay-upe-form, .payment_box.payment_method_woocommerce_payments .wcpay-card-mount { background: transparent; border: 0; border-radius: 0; padding: 0; }

/* v25: no wallet / PayPal express buttons on product pages + white play badge back on the artwork */
.single-product .wcpay-express-checkout-wrapper, .single-product .ppc-button-wrapper, .single-product #wcpay-express-checkout-button-separator, .single-product .wcpay-express-checkout-button-separator, .single-product #payment-method-message { display: none !important; }
.bs-pp__play { position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: 76px; height: 76px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .94); color: var(--ink); display: grid; place-items: center; cursor: pointer; box-shadow: 0 12px 30px rgba(0, 0, 0, .3); transition: transform .2s, background .2s; z-index: 2; }
.bs-pp__play svg { width: 30px; height: 30px; fill: currentColor; }
.bs-pp__play .bs-ico-play { margin-left: 3px; }
.bs-pp__play .bs-ico-pause { display: none; }
.bs-pp__play.is-playing .bs-ico-pause { display: block; }
.bs-pp__play.is-playing .bs-ico-play { display: none; }
.bs-pp__play:hover { transform: translate(-50%, -50%) scale(1.06); background: var(--accent); }
.bs-pp__play.is-playing { background: var(--accent); }
.bs-pp__play:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
@media (max-width: 640px) { .bs-pp__play { width: 62px; height: 62px; } .bs-pp__play svg { width: 24px; height: 24px; } }

/* v25.1: artwork play button stays put – centring handled once, no transform on hover */
.bs-pp__play, .bs-pp__play:hover, .bs-pp__play.is-playing, .bs-pp__play:active, .bs-pp__play:focus-visible { transform: none; translate: -50% -50%; scale: 1; transition: background .2s, box-shadow .2s; }
.bs-pp__play:hover { background: var(--accent); box-shadow: 0 14px 34px rgba(0, 0, 0, .35); }

/* v25.2: mini cart identical on every page – WooCommerce clearfix pseudo-elements (body.woocommerce only)
   were being auto-placed as extra grid items and pushed the title/quantity into the wrong cells. */
.bs-minicart ul.cart_list::before, .bs-minicart ul.cart_list::after,
.bs-minicart ul.cart_list li::before, .bs-minicart ul.cart_list li::after,
.bs-minicart .widget_shopping_cart_content::before, .bs-minicart .widget_shopping_cart_content::after,
.bs-minicart .total::before, .bs-minicart .total::after,
.bs-minicart .buttons::before, .bs-minicart .buttons::after { content: none !important; display: none !important; }
.woocommerce .bs-minicart ul.cart_list li img, .bs-minicart ul.cart_list li img { float: none; width: 56px; height: 56px; margin: 0; }
.woocommerce .bs-minicart ul.cart_list li, .bs-minicart ul.cart_list li { padding: .7rem 0; }

/* ===== v26: mini-cart scrollbar keeps clear of the × button; payment options in black & white ===== */
.bs-minicart ul.cart_list { padding-right: .6rem; scrollbar-gutter: stable; scrollbar-width: thin; scrollbar-color: var(--border-2) transparent; }
.bs-minicart ul.cart_list::-webkit-scrollbar { width: 6px; }
.bs-minicart ul.cart_list::-webkit-scrollbar-track { background: transparent; }
.bs-minicart ul.cart_list::-webkit-scrollbar-thumb { background: var(--border-2); border-radius: 999px; }
.bs-minicart ul.cart_list::-webkit-scrollbar-thumb:hover { background: var(--muted); }

/* selected payment option = black bar, fields stay on white below */
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm > label { background: #fff; transition: background .2s, color .2s; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm:hover > label { background: var(--bg-2); }
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm:has(input:checked) > label { background: var(--ink); color: #fff; }
li.bs-pm:has(input:checked) .bs-pm__title { color: #fff; }
li.bs-pm:has(input:checked) .bs-pm__hint { color: rgba(255, 255, 255, .62); }
li.bs-pm:has(input:checked) .bs-pm__radio { background: #fff; border-color: #fff; }
li.bs-pm:has(input:checked) .bs-pm__mark { background: #fff; border-color: #fff; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm:has(input:checked) .bs-pm__icons img { border-color: transparent; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment li.bs-pm div.payment_box { background: #fff; padding-top: 1.1rem; }

/* v26.1: selected payment option driven by the radio itself (+ a JS class), because :has() is not
   re-evaluated after WooCommerce replaces #payment via AJAX – that left PayPal white-on-white. */
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm > label,
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm:has(input:checked) > label { background: #fff; color: var(--text); }
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm > input.input-radio:checked + label,
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm.bs-pm--on > label { background: var(--ink); color: #fff; }
li.bs-pm .bs-pm__title, li.bs-pm:has(input:checked) .bs-pm__title { color: var(--text); }
li.bs-pm .bs-pm__hint, li.bs-pm:has(input:checked) .bs-pm__hint { color: var(--muted); }
li.bs-pm .bs-pm__radio, li.bs-pm:has(input:checked) .bs-pm__radio { background: #fff; border-color: var(--border-2); }
li.bs-pm > input.input-radio:checked + label .bs-pm__title, li.bs-pm.bs-pm--on .bs-pm__title { color: #fff; }
li.bs-pm > input.input-radio:checked + label .bs-pm__hint, li.bs-pm.bs-pm--on .bs-pm__hint { color: rgba(255, 255, 255, .62); }
li.bs-pm > input.input-radio:checked + label .bs-pm__radio, li.bs-pm.bs-pm--on .bs-pm__radio { background: #fff; border-color: #fff; }
li.bs-pm > input.input-radio:checked + label .bs-pm__mark, li.bs-pm.bs-pm--on .bs-pm__mark { background: #fff; border-color: #fff; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm.bs-pm--on { border-color: var(--ink); box-shadow: 0 12px 30px rgba(15, 15, 18, .06); }
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm:not(.bs-pm--on) { border-color: var(--border-2); box-shadow: none; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm:not(.bs-pm--on):hover > label { background: var(--bg-2); }

/* v26.2: label colours come from JS (inline) because Chrome leaves the old computed style behind after
   WooCommerce swaps #payment; text simply inherits so only one value has to be right. */
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm .bs-pm__title { color: inherit; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm .bs-pm__hint { color: currentColor; opacity: .6; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm:not(.bs-pm--on):hover > label { background: var(--bg-2) !important; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm.bs-pm--on .bs-pm__radio { background: #fff !important; border-color: #fff !important; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm:not(.bs-pm--on) .bs-pm__radio { background: #fff !important; border-color: var(--border-2) !important; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment ul.payment_methods li.bs-pm.bs-pm--on .bs-pm__mark { background: #fff; border-color: #fff; }

/* v27: tempo + key tags next to the sound type in the Audio Previews console */
.bs-console__key, .bs-console__bpm { font-family: var(--font-head); font-weight: 700; font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 255, 255, .6); font-variant-numeric: tabular-nums; }
.bs-console__bpm::after { content: " BPM"; opacity: .55; }
.bs-console .bs-player--console.is-playing .bs-console__key, .bs-console .bs-player--console.is-playing .bs-console__bpm { color: rgba(255, 255, 255, .85); }

/* ===== v28: tinted "Latest releases" band and a panel behind the product description ===== */
.bs-section#latest { position: relative; background: linear-gradient(180deg, #f7fce9 0%, #fdfef8 62%, var(--bg) 100%); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.bs-section#latest .bs-card { background: #fff; }
.bs-pp__sec#description .bs-pp__desc { background: var(--bg-2); border: 1px solid var(--border); border-radius: 22px; padding: clamp(1.25rem, 3vw, 2rem); }
.bs-pp__sec#description .bs-pp__desc p:last-child { margin-bottom: 0; }
.bs-pp__sec#description .bs-pp__desc blockquote { background: #fff; }

/* v28.1: the same tinted band for the Artist series row */
.bs-section#artist-series { position: relative; background: linear-gradient(180deg, #f7fce9 0%, #fdfef8 62%, var(--bg) 100%); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.bs-section#artist-series .bs-card { background: #fff; }

/* v28.2: description panel without a boxed card – the tint fades in at the top and out at the bottom */
.bs-pp__sec#description .bs-pp__desc { border: 0; border-radius: 0; box-shadow: none; padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1.25rem, 3vw, 2rem) clamp(2.5rem, 6vw, 4rem); background: linear-gradient(180deg, rgba(246, 246, 244, 0) 0%, var(--bg-2) 7%, var(--bg-2) 64%, rgba(246, 246, 244, .55) 86%, rgba(246, 246, 244, 0) 100%); }
.bs-pp__sec#description .bs-pp__desc blockquote { background: #fff; }

/* v28.3: description tint fades out on all four sides (mask on a layer behind the text, text stays sharp) */
.bs-pp__sec#description .bs-pp__desc { position: relative; background: none; padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1.5rem, 3.5vw, 2.5rem) clamp(2.5rem, 6vw, 4rem); }
.bs-pp__sec#description .bs-pp__desc::before { content: ""; position: absolute; inset: 0 clamp(-1.5rem, -2vw, -0.75rem); background: var(--bg-2); pointer-events: none; z-index: 0;
	-webkit-mask-image: linear-gradient(180deg, transparent 0, #000 9%, #000 66%, transparent 100%), linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
	mask-image: linear-gradient(180deg, transparent 0, #000 9%, #000 66%, transparent 100%), linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
	-webkit-mask-composite: source-in; mask-composite: intersect; }
.bs-pp__sec#description .bs-pp__desc > * { position: relative; z-index: 1; }

/* v28.4: description = a quiet tinted band, wider than the text, hairlines top and bottom, no fade, no corners */
.bs-pp__sec#description .bs-pp__desc::before { display: none; content: none; }
.bs-pp__sec#description .bs-pp__desc { position: static; border: 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); border-radius: 0; box-shadow: none; background: var(--bg-2); margin-inline: clamp(-1.75rem, -2.2vw, -0.75rem); padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1.75rem, 3.5vw, 2.5rem) clamp(1.25rem, 2.5vw, 1.75rem); }
.bs-pp__sec#description .bs-pp__desc p:last-child { margin-bottom: 0; }

/* ===== v29: description = option 5 – tinted band, heavy left rule, label in its own gutter column ===== */
.bs-pp__descwrap { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 1.6rem; align-items: start; background: var(--bg-2); border-left: 3px solid var(--ink); padding: clamp(1.25rem, 3vw, 1.9rem); }
.bs-prose .bs-pp__gutter, .bs-pp__gutter { margin: 0; font-family: var(--font-head); font-weight: 700; font-size: .64rem; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); border-top: 2px solid var(--ink); padding-top: .55rem; line-height: 1.35; }
.bs-pp__gutter b { display: block; font-family: var(--font-head); font-weight: 800; font-size: 1.5rem; letter-spacing: -.02em; color: var(--text); margin-bottom: .15rem; }
.bs-pp__sec#description .bs-pp__desc { position: static; background: none; border: 0; border-radius: 0; box-shadow: none; margin: 0; padding: 0; columns: 1; max-width: 72ch; }
.bs-pp__sec#description .bs-pp__desc::before { display: none; content: none; }
.bs-pp__sec#description .bs-pp__desc > * { position: static; z-index: auto; }
@media (max-width: 900px) { .bs-pp__descwrap { grid-template-columns: 1fr; gap: 1rem; } }

/* v29.1: give the paragraphs more measure – narrower gutter, tighter gap, band a touch wider than the column */
.bs-pp__descwrap { grid-template-columns: 92px minmax(0, 1fr); gap: 1.25rem; padding: clamp(1.1rem, 2.4vw, 1.6rem); margin-inline: clamp(-1.25rem, -1.6vw, -0.5rem); }
.bs-pp__sec#description .bs-pp__desc { max-width: none; }

/* v29.2: between a rounded card and a fade – crisp rounded top, fill dissolving towards the bottom,
   accent rail fading with it, so there is a shape but no hard closing edge. */
.bs-pp__descwrap { position: relative; border: 0; border-radius: 22px 22px 8px 8px; background: linear-gradient(180deg, var(--bg-2) 0%, var(--bg-2) 58%, rgba(246, 246, 244, .5) 84%, rgba(246, 246, 244, 0) 100%); padding: clamp(1.25rem, 2.6vw, 1.75rem) clamp(1.25rem, 2.6vw, 1.75rem) clamp(2.25rem, 5vw, 3.25rem); }
.bs-pp__descwrap::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; border-radius: 3px; background: linear-gradient(180deg, var(--ink) 0%, var(--ink) 52%, rgba(15, 15, 18, .35) 78%, rgba(15, 15, 18, 0) 100%); }
.bs-pp__gutter { border-top-color: var(--ink); }

/* ===== v30: description = option 29 – no fill, two bracket corners frame the text ===== */
.bs-pp__descwrap { display: block; position: relative; background: none; border: 0; border-radius: 0; box-shadow: none; margin-inline: clamp(-1rem, -1.4vw, -0.5rem); padding: clamp(1.5rem, 3vw, 2rem); }
.bs-pp__gutter { display: none; }
.bs-pp__descwrap::before, .bs-pp__descwrap::after { content: ""; position: absolute; width: 28px; height: 28px; border: 2px solid var(--ink); border-radius: 0; background: none; }
.bs-pp__descwrap::before { left: 0; top: 0; right: auto; bottom: auto; border-right: 0; border-bottom: 0; }
.bs-pp__descwrap::after { right: 0; bottom: 0; left: auto; top: auto; border-left: 0; border-top: 0; }
.bs-pp__sec#description .bs-pp__desc { columns: 1; max-width: 68ch; }
@media (max-width: 900px) { .bs-pp__descwrap { padding: 1.4rem; } }

/* ===== v31: press reviews as their own section, quote cards side by side ===== */
.bs-press-reviews { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; }
.bs-prose .bs-press-reviews blockquote { margin: 0; padding: 1.6rem 1.5rem 1.4rem; background: var(--bg-2); border: 1px solid var(--border); border-radius: 20px; text-align: center; }
.bs-prose .bs-press-reviews blockquote::before { display: none; }
.bs-prose .bs-press-reviews blockquote img { float: none; display: block; width: 72px; height: 72px; margin: 0 auto .9rem; border-radius: 50%; object-fit: contain; background: #fff; border: 1px solid var(--border); padding: 6px; }
.bs-prose .bs-press-reviews blockquote em, .bs-prose .bs-press-reviews blockquote p { font-family: var(--font-body); font-style: normal; font-size: .94rem; line-height: 1.6; color: var(--text-2); }
.bs-prose .bs-press-reviews blockquote strong { display: block; margin-top: .8rem; font-family: var(--font-head); font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--text); }
.bs-prose .bs-press-reviews blockquote strong + p strong, .bs-prose .bs-press-reviews blockquote p:last-child strong { color: var(--accent-ink); background: var(--accent); display: inline-block; padding: .2rem .55rem; border-radius: 999px; margin-top: .5rem; letter-spacing: .06em; }
.bs-press-reviews > p:empty, .bs-press-reviews > hr { display: none; }
.bs-press-reviews p:has(img) { margin: 0; }

/* ===== v32: press quote cards – one per row, logo floated, verdict + score on one line ===== */
.bs-press-reviews { grid-template-columns: 1fr; gap: .9rem; }
.bs-prose .bs-press-reviews blockquote { text-align: left; padding: 1.45rem 1.6rem 1.25rem; border-radius: 18px; overflow: hidden; }
.bs-prose .bs-press-reviews blockquote img { float: left; width: 74px; height: 74px; margin: .15rem 1.15rem .55rem 0; }
.bs-prose .bs-press-reviews blockquote p { margin: 0 0 .7rem; }
.bs-prose .bs-press-reviews blockquote p:empty { display: none; }
.bs-prose .bs-press-reviews blockquote p:has(> img), .bs-prose .bs-press-reviews blockquote p:has(> em > img) { margin: 0; }
.bs-prose .bs-press-reviews blockquote p:has(> strong) { display: inline-block; vertical-align: middle; margin: 0 .55rem 0 0; }
.bs-prose .bs-press-reviews blockquote p:has(> strong):first-of-type, .bs-prose .bs-press-reviews blockquote p:nth-last-child(2):has(> strong) { clear: both; margin-top: .9rem; }
.bs-prose .bs-press-reviews blockquote strong { display: inline-block; margin-top: 0; }
.bs-prose .bs-press-reviews blockquote p:last-child:has(> strong) strong { margin-top: 0; }

/* v32.1: sit the verdict label and the score pill on the same baseline */
.bs-prose .bs-press-reviews blockquote p:has(> strong) { vertical-align: baseline; }
.bs-prose .bs-press-reviews blockquote p:has(> strong) strong { line-height: 1.3; }

/* ===== v34: press reviews – masthead layout (option 11), namespaced .bs-review
   so it never collides with the front-page .bs-press logo band ===== */
.bs-press-reviews { display: block; grid-template-columns: none; gap: 0; }
.bs-review { padding: 1.35rem 0; }
.bs-review:first-child { padding-top: .2rem; }
.bs-review:last-child { padding-bottom: 0; }
.bs-review + .bs-review { border-top: 1px solid var(--border); }
.bs-review__mag { display: flex; align-items: center; flex-wrap: wrap; gap: .7rem; margin: 0; font-family: var(--font-head); font-weight: 800; font-size: clamp(1.25rem, 3.2vw, 1.85rem); line-height: 1.1; letter-spacing: -.03em; text-transform: uppercase; color: var(--text); }
.bs-review__score { font-size: .42em; font-weight: 800; letter-spacing: .02em; background: var(--accent); color: var(--accent-ink); padding: .4em .62em; border-radius: 6px; white-space: nowrap; }
.bs-review__quote { margin-top: .75rem; max-width: 66ch; }
.bs-review__quote p { margin: 0 0 .7rem; font-family: var(--font-body); font-style: normal; font-size: .96rem; line-height: 1.7; color: var(--text-2); }
.bs-review__quote p:last-child { margin-bottom: 0; }
.bs-review__quote p:empty { display: none; }
.bs-review__quote br { display: none; }
@media (max-width: 600px) { .bs-review__mag { gap: .55rem; } }

/* v34.1: give the "As seen & heard on" band room before the newsletter block */
.bs-press { padding-block: 3.25rem 4.25rem; }

/* ===== v35: main menu – editorial underline (option 2), desktop only ===== */
@media (min-width: 1024px) {
	.bs-header { border-bottom: 1px solid var(--text); }
	.bs-header.is-scrolled { border-bottom-color: var(--text); }
	.bs-nav__list { gap: 1.8rem; margin-left: .8rem; }
	.bs-nav__list > li > a { position: relative; padding: .5rem 0; border-radius: 0; color: var(--text); font-size: .78rem; letter-spacing: .1em; }
	.bs-nav__list > li > a:hover { background: transparent; color: var(--text); }
	.bs-nav__list > li > a::before { content: ""; position: absolute; left: 0; right: 0; bottom: .15rem; height: 3px; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform .18s ease; }
	.bs-nav__list > li:hover > a::before,
	.bs-nav__list > li:focus-within > a::before,
	.bs-nav__list > .current-menu-item > a::before,
	.bs-nav__list > .current-menu-ancestor > a::before { transform: none; }
	.bs-nav__list > .current-menu-item > a,
	.bs-nav__list > .current-menu-ancestor > a { background: transparent; color: var(--text); }
	.bs-icon-btn { border-radius: 0; }
	.bs-cart__count { border-radius: 999px; }
	/* The link is shorter now, so bridge the gap up to the dropdown or it closes mid-move. */
	.bs-nav__list > li::before { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 24px; }
	.bs-nav__list .sub-menu { top: calc(100% + 14px); }
}
@media (prefers-reduced-motion: reduce) {
	.bs-nav__list > li > a::before { transition: none; }
}

/* ===== v36: slimmer header bar + room for the two extra menu items ===== */
:root { --header-h: 62px; }
.bs-header.is-scrolled { --header-h: 54px; }
.bs-logo__mark { width: 32px; height: 32px; }
.bs-icon-btn { width: 38px; height: 38px; }
.bs-icon-btn svg { width: 20px; height: 20px; }
@media (min-width: 1024px) {
	.bs-header__inner { gap: 1.1rem; }
	.bs-nav__list { gap: 1.45rem; margin-left: .5rem; }
	.bs-nav__list > li > a { font-size: .74rem; letter-spacing: .1em; padding: .45rem 0; }
	.bs-nav__list > li::before { height: 18px; }
	.bs-nav__list .sub-menu { top: calc(100% + 12px); }
	/* Sale is the offer, not a category – keep the accent on it at rest. */
	.bs-nav__list > .menu-item--sale > a::before { transform: scaleX(1); background: var(--accent); }
	.bs-nav__list > .menu-item--sale > a { color: var(--text); }
}
@media (max-width: 1023px) {
	.bs-logo__mark { width: 30px; height: 30px; }
	.bs-icon-btn { width: 36px; height: 36px; }
}

/* ===== v37: thin, wide header + live search suggestions ===== */
:root { --header-h: 52px; }
.bs-header.is-scrolled { --header-h: 48px; }
.bs-header .bs-container { width: min(100% - 2.5rem, 1560px); }
.bs-logo__mark { width: 28px; height: 28px; }
.bs-icon-btn { width: 36px; height: 36px; }
.bs-icon-btn svg { width: 20px; height: 20px; }
.bs-cart__count { top: 1px; right: -1px; }

@media (min-width: 1024px) {
	.bs-header__inner { gap: 1.4rem; }
	.bs-nav__list { gap: 1.9rem; margin-left: 1rem; }
	.bs-nav__list > li > a { font-size: .86rem; letter-spacing: .09em; padding: .35rem 0; }
	.bs-nav__list > li > a::before { height: 3px; bottom: .05rem; }
	.bs-nav__list > li::before { height: 16px; }
	.bs-nav__list .sub-menu { top: calc(100% + 10px); }
}

/* --- suggestions dropdown --- */
.bs-searchform--live { position: relative; }
.bs-suggest { position: absolute; top: calc(100% + .55rem); left: 0; right: 0; z-index: 130; background: var(--surface); border: 1px solid var(--border); border-radius: 16px; box-shadow: var(--shadow); overflow: hidden; }
.bs-suggest__list { list-style: none; margin: 0; padding: .35rem; display: grid; gap: .1rem; }
.bs-suggest__item { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: .85rem; padding: .5rem .6rem; border-radius: 10px; color: var(--text); }
.bs-suggest__item img, .bs-suggest__ph { width: 44px; height: 44px; border-radius: 8px; object-fit: cover; background: var(--bg-2); display: block; }
.bs-suggest__name { font-family: var(--font-head); font-weight: 600; font-size: .88rem; letter-spacing: -.01em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bs-suggest__price { font-size: .85rem; font-weight: 600; color: var(--text-2); white-space: nowrap; font-variant-numeric: tabular-nums; }
.bs-suggest__price.is-sale { color: var(--text); background: var(--accent); padding: .1rem .45rem; border-radius: 6px; }
.bs-suggest__item:hover, .bs-suggest__item.is-active { background: var(--bg-2); }
.bs-suggest__all { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .7rem 1rem; border-top: 1px solid var(--border); font-family: var(--font-head); font-weight: 600; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--text); }
.bs-suggest__all b { background: var(--ink); color: #fff; border-radius: 999px; padding: .1rem .5rem; font-size: .72rem; }
.bs-suggest__all:hover, .bs-suggest__all.is-active { background: var(--bg-2); }
.bs-suggest__empty { margin: 0; padding: 1rem; color: var(--muted); font-size: .9rem; }
.bs-suggest__price s { color: var(--muted); font-weight: 500; margin-right: .25rem; text-decoration-thickness: 1px; }
.bs-suggest__price.is-sale s { color: rgba(15,15,18,.55); }

/* ===== v38: header as a thin rail – as low as the logo, icons and labels allow ===== */
:root { --header-h: 40px; }
.bs-header.is-scrolled { --header-h: 36px; }
.bs-logo__mark { width: 24px; height: 24px; }
.bs-icon-btn { width: 28px; height: 28px; }
.bs-icon-btn svg { width: 17px; height: 17px; }
.bs-cart__count { top: -2px; right: -4px; min-width: 15px; height: 15px; font-size: .62rem; line-height: 15px; padding: 0 4px; }
.bs-burger { width: 30px; height: 30px; padding: 8px 6px; gap: 4px; }

@media (min-width: 1024px) {
	.bs-header__inner { gap: 1.2rem; }
	.bs-nav__list { gap: 1.75rem; margin-left: .9rem; }
	.bs-nav__list > li > a { font-size: .82rem; padding: .12rem 0; }
	.bs-nav__list > li > a::before { height: 2px; bottom: -.18rem; }
	.bs-nav__list > li::before { height: 14px; }
	.bs-nav__list .sub-menu { top: calc(100% + 9px); }
}

/* ===== v39: menu row back to the size the old site used (44px / 12px links),
   and the rule under it down to a faint hairline instead of a black bar ===== */
:root { --header-h: 44px; }
.bs-header { border-bottom: 1px solid rgba(15, 15, 18, .10); }
.bs-header.is-scrolled { --header-h: 40px; border-bottom-color: rgba(15, 15, 18, .12); box-shadow: 0 6px 20px rgba(15, 15, 18, .05); }
.bs-logo__mark { width: 26px; height: 26px; }
.bs-icon-btn { width: 30px; height: 30px; }
.bs-icon-btn svg { width: 18px; height: 18px; }
.bs-cart__count { top: -1px; right: -3px; }
@media (min-width: 1024px) {
	.bs-nav__list { gap: 1.6rem; }
	.bs-nav__list > li > a { font-size: .78rem; letter-spacing: .1em; padding: .2rem 0; }
	.bs-nav__list > li > a::before { height: 2px; bottom: -.15rem; }
	.bs-nav__list > li::before { height: 15px; }
	.bs-nav__list .sub-menu { top: calc(100% + 10px); }
}

/* ===== v40: header back to the theme's original proportions (76px row, 36px mark,
   42px icon buttons) – only the hairline under it stays faint ===== */
:root { --header-h: 76px; }
.bs-header.is-scrolled { --header-h: 62px; }
.bs-logo__mark { width: 36px; height: 36px; }
.bs-icon-btn { width: 42px; height: 42px; }
.bs-icon-btn svg { width: 22px; height: 22px; }
.bs-cart__count { top: 4px; right: 2px; min-width: 18px; height: 18px; font-size: .7rem; line-height: 18px; padding: 0 5px; }
.bs-burger { width: 42px; height: 42px; padding: 11px 9px; gap: 5px; }
@media (min-width: 1024px) {
	.bs-header__inner { gap: 1.5rem; }
	.bs-nav__list { gap: 1.9rem; margin-left: 1rem; }
	.bs-nav__list > li > a { font-size: .86rem; letter-spacing: .1em; padding: .5rem 0; }
	.bs-nav__list > li > a::before { height: 3px; bottom: .1rem; }
	.bs-nav__list > li::before { height: 20px; }
	.bs-nav__list .sub-menu { top: calc(100% + 14px); }
}
@media (max-width: 1023px) {
	.bs-logo__mark { width: 32px; height: 32px; }
	.bs-icon-btn { width: 38px; height: 38px; }
}

/* ===== v41: wider header field + light-weight menu type ===== */
.bs-header .bs-container { width: min(100% - 3rem, 1760px); }
@media (min-width: 1024px) {
	.bs-nav__list { gap: 2.2rem; margin-left: 1.4rem; }
	.bs-nav__list > li > a { font-weight: 300; font-size: .88rem; letter-spacing: .13em; }
	.bs-nav__list > .current-menu-item > a,
	.bs-nav__list > .current-menu-ancestor > a { font-weight: 400; }
	.bs-nav__list .sub-menu a { font-weight: 400; }
}

/* ===== v42: lighter type inside the Genres / dropdown panels ===== */
@media (min-width: 1024px) {
	.bs-nav__list .sub-menu a { font-weight: 300; font-size: .9rem; color: var(--text-2); }
	.bs-nav__list .sub-menu a:hover { font-weight: 400; color: var(--text); }
	.bs-nav__list .sub-menu .menu-count { font-weight: 300; font-size: .76rem; color: var(--muted); }
}

/* ===== v43: main menu type up ~12% ===== */
@media (min-width: 1024px) {
	.bs-nav__list { gap: 2.35rem; }
	.bs-nav__list > li > a { font-size: .99rem; }
	.bs-nav__list > li > a::before { bottom: .05rem; }
}

/* ===== v44: menu type back to the v41 size (the field itself stays as it is) ===== */
@media (min-width: 1024px) {
	.bs-nav__list { gap: 2.2rem; }
	.bs-nav__list > li > a { font-size: .88rem; }
	.bs-nav__list > li > a::before { bottom: .1rem; }
}

/* ===== v45: suggestions under the category / shop search field too ===== */
.bs-shop__search { position: relative; }
.bs-shop__search .bs-suggest { top: calc(100% + .45rem); }
.bs-suggest__all--wide { font-weight: 300; letter-spacing: .06em; color: var(--muted); text-transform: none; font-size: .82rem; }
.bs-suggest__all--wide:hover { color: var(--text); }

/* ===== v46: one rhythm inside the buy box – WooCommerce's own margins were adding
   a 49px step before the perks while everything else sat at 14px ===== */
.bs-buybox { gap: 1rem; }
.bs-buybox > form.cart,
.bs-buybox > form.cart .quantity,
.bs-buybox > .ppc-button-wrapper,
.bs-buybox > #payment-method-message { margin: 0; }
.bs-buybox .bs-pp__perks { margin: 0; }
.bs-buybox .bs-pp__price { margin: 0; }
.bs-buybox .bs-pp__price .price { margin: 0; }
.bs-buybox > *:empty { display: none; }
/* v46.1: WooCommerce's own `.woocommerce div.product form.cart` margin outranked the rule above. */
.woocommerce div.product .bs-buybox form.cart,
.woocommerce div.product .bs-buybox form.cart .quantity { margin: 0; }

/* ===== v47: My account – option 2 (greeting + tabs, latest purchase card, download list) ===== */
.bs-btn--lime { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
.bs-btn--lime:hover { background: #b7e012; color: var(--accent-ink); }
.bs-btn svg { width: 15px; height: 15px; flex: none; }

/* single column instead of the old sidebar grid */
.woocommerce-account .bs-page--account .bs-prose { display: block; }
.woocommerce-account .bs-page--account .bs-prose > .woocommerce { display: block; }
.woocommerce-account .bs-page--account .woocommerce-MyAccount-navigation,
.woocommerce-account .bs-page--account .woocommerce-MyAccount-content { float: none; width: 100%; margin: 0; grid-column: auto; }
.bs-page--account .bs-container--wide { max-width: 1180px; padding-top: 2.5rem; padding-bottom: 5rem; }

/* header */
.bs-acct-top { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.4rem; }
.bs-acct-top .bs-eyebrow { margin: 0; }
.bs-prose .bs-acct-top__hi { margin: .3rem 0 0; font-family: var(--font-head); font-weight: 300; font-size: clamp(1.9rem, 4vw, 2.6rem); line-height: 1.05; letter-spacing: -.03em; text-transform: none; color: var(--text); }
.bs-prose .bs-acct-top__hi b { font-weight: 800; }
.bs-acct-top__out { padding: .6rem 1.15rem; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }

/* tabs – same language as the main menu: thin type, lime underline */
.bs-acct-tabs { border-bottom: 1px solid var(--border); margin: 0 0 1.8rem; overflow-x: auto; scrollbar-width: none; }
.bs-acct-tabs::-webkit-scrollbar { display: none; }
.bs-prose .bs-acct-tabs ul { display: flex; gap: 1.9rem; list-style: none; margin: 0; padding: 0; }
.bs-prose .bs-acct-tabs li { margin: 0; padding: 0; }
.bs-prose .bs-acct-tabs a { position: relative; display: block; padding: .2rem 0 .9rem; font-family: var(--font-head); font-weight: 300; font-size: .86rem; letter-spacing: .12em; text-transform: uppercase; color: var(--text-2); white-space: nowrap; text-decoration: none; background: none; border-radius: 0; }
.bs-prose .bs-acct-tabs a:hover { color: var(--text); background: none; }
.bs-prose .bs-acct-tabs .is-active a { color: var(--text); font-weight: 400; background: none; }
.bs-prose .bs-acct-tabs .is-active a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: var(--accent); }

/* overview grid */
.bs-acct-overview { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 1.4rem; align-items: start; }

/* latest purchase */
.bs-acct-hero { background: var(--ink); color: #fff; border-radius: 22px; padding: 1.35rem; display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 1.35rem; align-items: center; }
.bs-acct-hero--empty { grid-template-columns: 1fr; padding: 2rem; }
.bs-acct-hero__art img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 14px; }
.bs-acct-hero .bs-eyebrow { color: rgba(255, 255, 255, .55); margin: 0; }
.bs-prose .bs-acct-hero h2 { margin: .35rem 0 .4rem; color: #fff; font-family: var(--font-head); font-weight: 700; font-size: clamp(1.3rem, 2.4vw, 1.6rem); line-height: 1.15; letter-spacing: -.02em; text-transform: none; }
.bs-acct-hero__meta { margin: 0 0 1rem; color: rgba(255, 255, 255, .65); font-size: .86rem; }
.bs-acct-hero__actions { display: flex; flex-wrap: wrap; gap: .55rem; }
.bs-acct-hero__actions .bs-btn { padding: .7rem 1.2rem; font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; }
.bs-prose .bs-acct-hero .bs-btn--ghost { color: #fff; border-color: rgba(255, 255, 255, .28); }
.bs-prose .bs-acct-hero .bs-btn--ghost:hover { border-color: #fff; color: #fff; }

/* side: counts + recent orders */
.bs-acct-side { display: grid; gap: .9rem; }
.bs-acct-kpis { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; }
.bs-prose .bs-acct-kpis a { display: block; background: var(--bg-2); border-radius: 16px; padding: 1rem 1.1rem; color: var(--text); text-decoration: none; transition: background .15s; }
.bs-prose .bs-acct-kpis a:hover { background: var(--surface-2); }
.bs-acct-kpis b { display: block; font-family: var(--font-head); font-weight: 700; font-size: 1.6rem; letter-spacing: -.02em; line-height: 1.1; font-variant-numeric: tabular-nums; }
.bs-acct-kpis span { font-size: .78rem; color: var(--muted); }
.bs-acct-orders { border: 1px solid var(--border); border-radius: 16px; padding: .55rem 1.1rem .4rem; }
.bs-acct-orders__head { display: flex; align-items: baseline; justify-content: space-between; margin: .45rem 0 .2rem; }
.bs-prose .bs-acct-orders__head h3 { margin: 0; font-family: var(--font-head); font-weight: 600; font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.bs-prose .bs-acct-orders__head a { font-size: .78rem; color: var(--text); text-decoration: none; }
.bs-prose .bs-acct-order { display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: .7rem; padding: .65rem 0; border-top: 1px solid var(--border); color: var(--text); text-decoration: none; font-size: .85rem; }
.bs-acct-orders__head + .bs-acct-order { border-top: 0; }
.bs-acct-order b { font-family: var(--font-head); font-weight: 600; font-variant-numeric: tabular-nums; }
.bs-acct-order span { color: var(--muted); font-size: .78rem; }
.bs-acct-order__status { font-style: normal; font-family: var(--font-head); font-size: .6rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; padding: .18rem .45rem; border-radius: 5px; background: var(--bg-2); color: var(--text-2); }
.bs-acct-order__status.is-completed, .bs-acct-order__status.is-processing { background: var(--accent-soft); color: var(--text); }
.bs-acct-order__status.is-failed, .bs-acct-order__status.is-cancelled { background: #fdecec; color: #a3272c; }
.bs-acct-order strong { font-weight: 600; font-variant-numeric: tabular-nums; }
.bs-acct-order strong del { display: none; }
.bs-acct-orders__none { margin: .4rem 0 .8rem; color: var(--muted); font-size: .85rem; }

/* download list */
.bs-acct-list { grid-column: 1 / -1; border-top: 1px solid var(--border); padding-top: 1.3rem; }
.bs-acct-list--page { border-top: 0; padding-top: 0; }
.bs-acct-list__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: .4rem; }
.bs-prose .bs-acct-list__head h3 { margin: 0; font-family: var(--font-head); font-weight: 700; font-size: 1rem; letter-spacing: .02em; text-transform: uppercase; color: var(--text); }
.bs-prose .bs-acct-list__head a { font-size: .8rem; color: var(--text); text-decoration: none; }
.bs-acct-list__count { font-size: .8rem; color: var(--muted); }
.bs-acct-row { display: grid; grid-template-columns: 52px minmax(0, 1fr) 130px 80px auto; gap: 1rem; align-items: center; padding: .8rem 0; border-bottom: 1px solid var(--border); }
.bs-acct-row__art img, .bs-acct-row__art span { display: block; width: 52px; height: 52px; border-radius: 9px; object-fit: cover; background: var(--bg-2); }
.bs-acct-row__name { min-width: 0; }
.bs-acct-row__name b { display: block; font-family: var(--font-head); font-weight: 600; font-size: .9rem; letter-spacing: -.01em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bs-acct-row__name small { color: var(--muted); font-size: .76rem; }
.bs-acct-row__fmt { font-size: .8rem; color: var(--text-2); }
.bs-acct-row__size { font-size: .82rem; color: var(--text-2); text-align: right; font-variant-numeric: tabular-nums; }
.bs-prose .bs-acct-row__btn { padding: .6rem 1rem; background: var(--ink); color: #fff; border-color: var(--ink); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
.bs-prose .bs-acct-row__btn:hover { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.bs-acct-empty { padding: 2.5rem 1rem; text-align: center; border: 1px dashed var(--border-2); border-radius: 18px; }
.bs-prose .bs-acct-empty h4 { margin: 0 0 .4rem; font-family: var(--font-head); font-size: 1.1rem; text-transform: none; letter-spacing: -.01em; }
.bs-acct-empty p { margin: 0 0 1.1rem; color: var(--muted); }

/* the other endpoints (orders table, forms) sit under the same tabs */
.bs-page--account .woocommerce-MyAccount-content > h2:first-child,
.bs-page--account .woocommerce-MyAccount-content > h3:first-child { margin-top: 0; }

@media (max-width: 900px) {
	.bs-acct-overview { grid-template-columns: 1fr; }
	.bs-acct-hero { grid-template-columns: 110px minmax(0, 1fr); gap: 1rem; padding: 1.1rem; }
	.bs-acct-row { grid-template-columns: 46px minmax(0, 1fr) auto; }
	.bs-acct-row__fmt, .bs-acct-row__size { display: none; }
	.bs-acct-row__art img, .bs-acct-row__art span { width: 46px; height: 46px; }
	.bs-prose .bs-acct-row__btn span { display: none; }
	.bs-prose .bs-acct-row__btn { padding: .65rem; }
	.bs-prose .bs-acct-tabs ul { gap: 1.4rem; }
}
@media (max-width: 480px) {
	.bs-acct-hero { grid-template-columns: 1fr; }
	.bs-acct-hero__art img { max-width: 160px; }
}
.bs-acct-preview { margin: 0 0 1.2rem; padding: .6rem .9rem; border-radius: 10px; background: var(--accent-soft); border: 1px solid #e3f2a6; font-size: .82rem; color: var(--text); }
/* v47.1: the old sidebar card styling still wrapped the tabs – strip it back to a single hairline */
.woocommerce-account .bs-page--account .woocommerce-MyAccount-navigation.bs-acct-tabs { background: none; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; padding: 0; box-shadow: none; position: static; }

/* ===== v48: loyalty points tile on the account Overview ===== */
.bs-acct-kpis--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bs-prose .bs-acct-kpis a.bs-acct-kpis__points { background: var(--accent-soft); box-shadow: inset 0 0 0 1px #e3f2a6; }
.bs-prose .bs-acct-kpis a.bs-acct-kpis__points:hover { background: #ecf8bf; }
.bs-acct-kpis__points span { color: var(--text-2); }
@media (max-width: 480px) { .bs-acct-kpis--3 { grid-template-columns: 1fr 1fr; } .bs-acct-kpis--3 .bs-acct-kpis__points { grid-column: 1 / -1; } }

/* ==========================================================================
   v49 – Store notices: white card, outlined icon, floating toast with timer (option 7)
   ========================================================================== */
html body .woocommerce-message, html body .woocommerce-info, html body .woocommerce-error {
	--n-ic: #4d6b00; --n-bar: var(--accent);
	--n-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 12.5l2.8 2.8L16 10'/%3E%3C/svg%3E");
	position: relative; display: flex; align-items: center; flex-wrap: wrap; gap: .45rem 1rem;
	margin: 0 0 1rem; padding: 1rem 1.15rem 1rem 3.05rem; overflow: hidden;
	list-style: none; border: 1px solid var(--border); border-radius: 16px; background: #fff;
	box-shadow: 0 14px 40px rgba(15, 15, 18, .10); color: var(--text);
	font-family: var(--font-body); font-size: .92rem; line-height: 1.45; text-align: left;
}
html body .woocommerce-info {
	--n-ic: #9a5b00; --n-bar: #f5a524;
	--n-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5M12 8h.01'/%3E%3C/svg%3E");
}
html body .woocommerce-error {
	--n-ic: var(--danger); --n-bar: var(--danger);
	--n-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v5M12 16h.01'/%3E%3C/svg%3E");
	flex-direction: column; align-items: stretch;
}
html body .woocommerce-message::before, html body .woocommerce-info::before, html body .woocommerce-error::before {
	content: ""; display: block; position: absolute; left: 1.1rem; top: 1.08rem; width: 20px; height: 20px; margin: 0;
	background: var(--n-ic); -webkit-mask: var(--n-svg) center / contain no-repeat; mask: var(--n-svg) center / contain no-repeat;
}
html body .woocommerce-message::after, html body .woocommerce-info::after, html body .woocommerce-error::after { display: none; }
html body .woocommerce-error li { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem 1rem; margin: 0; padding: 0; list-style: none; }
html body .woocommerce-error li::before { content: none; }
html body :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a:not(.button) { color: var(--text); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
html body :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) .button {
	order: 2; float: none; margin: 0 0 0 auto; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none;
	color: var(--ink); font-family: var(--font-head); font-weight: 600; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; text-decoration: none;
}
html body :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) .button:hover { background: none; color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }

/* coupon toggle on checkout keeps its own dashed style */
html body .woocommerce-form-coupon-toggle .woocommerce-info { box-shadow: none; padding-left: 1.4rem; }
html body .woocommerce-form-coupon-toggle .woocommerce-info::before { display: none; }

/* floating stack – top right, under the header */
.bs-toasts { position: fixed; top: calc(var(--header-h, 76px) + 16px); right: 1.25rem; z-index: 9998; display: grid; gap: .6rem; width: min(440px, calc(100vw - 2rem)); pointer-events: none; }
.admin-bar .bs-toasts { top: calc(var(--header-h, 76px) + 48px); }
html body .bs-toasts > * { pointer-events: auto; margin: 0; padding-right: 2.6rem; padding-bottom: 1.15rem; box-shadow: 0 18px 50px rgba(15, 15, 18, .16); animation: bs-toast-in .25s ease both; }
html body .bs-toasts > .is-out { animation: bs-toast-out .22s ease both; }
.bs-toast-bar { position: absolute; left: 0; bottom: 0; width: 100%; height: 3px; background: var(--n-bar); transform-origin: left; animation: bs-toast-bar var(--t, 7s) linear forwards; }
.bs-toasts > *:hover .bs-toast-bar, .bs-toasts > *:focus-within .bs-toast-bar { animation-play-state: paused; }
.bs-toast-x { position: absolute; top: .7rem; right: .65rem; width: 26px; height: 26px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--muted); font-size: 1.15rem; line-height: 1; cursor: pointer; }
.bs-toast-x:hover { background: #f1f1ef; color: var(--ink); }
@keyframes bs-toast-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@keyframes bs-toast-out { to { opacity: 0; transform: translateX(16px); } }
@keyframes bs-toast-bar { from { transform: scaleX(1); } to { transform: scaleX(0); } }
@media (max-width: 782px) { .admin-bar .bs-toasts { top: calc(var(--header-h, 76px) + 62px); } }
@media (max-width: 600px) { .bs-toasts { right: 1rem; left: 1rem; width: auto; } }
@media (prefers-reduced-motion: reduce) { html body .bs-toasts > *, html body .bs-toasts > .is-out { animation: none; } }

/* v49.1 – WooCommerce focuses notices on load (tabindex -1): no dark focus ring around them */
html body :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-NoticeGroup):is(:focus, :focus-visible) { outline: none; }
html body .bs-toasts > :is(:focus, :focus-visible) { outline: none; box-shadow: 0 18px 50px rgba(15, 15, 18, .16); }

/* ==========================================================================
   v50 – What's inside: every item as a tile, two rows to start, the rest behind "more"
   ========================================================================== */
.bs-pp__sec-note { font-family: var(--font-head); font-weight: 600; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--text-2); white-space: nowrap; }
.bs-tile--extra:not([hidden]) { animation: bs-tile-in .32s ease both; }
.bs-tile--extra:nth-child(9n+2) { animation-delay: .03s; } .bs-tile--extra:nth-child(9n+3) { animation-delay: .06s; } .bs-tile--extra:nth-child(9n+4) { animation-delay: .09s; }
@keyframes bs-tile-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.bs-tiles__more { display: inline-flex; align-items: center; gap: .5rem; margin-top: .9rem; padding: .7rem 1.15rem; border: 1px solid var(--border-2); border-radius: 999px; background: #fff; color: var(--text); font-family: var(--font-head); font-weight: 600; font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; transition: border-color .2s, background .2s; }
.bs-tiles__more:hover { border-color: var(--text); }
.bs-tiles__more svg { width: 16px; height: 16px; transition: transform .25s ease; }
.bs-tiles__more[aria-expanded="true"] svg { transform: rotate(180deg); }
@media (prefers-reduced-motion: reduce) { .bs-tile--extra:not([hidden]) { animation: none; } .bs-tiles__more svg { transition: none; } }
.bs-tiles .bs-tile[hidden] { display: none; }

/* v51 – magazine logo above each press review (white JPG blends into the page) */
.bs-review img.bs-review__logo { display: block; width: auto; height: 42px; max-width: 160px; margin: 0 0 .55rem -6px; padding: 0; border: 0; border-radius: 0; box-shadow: none; object-fit: contain; object-position: left center; mix-blend-mode: multiply; }
@media (max-width: 600px) { .bs-review img.bs-review__logo { height: 36px; } }
/* v51.1 – the JPGs carry wide white margins: show larger and pull the mark flush with the heading */
.bs-review img.bs-review__logo { height: 72px; max-width: none; margin: -.9rem 0 -.2rem -17px; }
@media (max-width: 600px) { .bs-review img.bs-review__logo { height: 60px; margin-left: -14px; } }
/* v51.2 – logo cropped to the mark itself (frame size and offset come from bs_press_logo) */
.bs-review span.bs-review__logo { display: block; overflow: hidden; margin: 0 0 .85rem; }
.bs-review span.bs-review__logo img { display: block; max-width: none; height: auto; padding: 0; border: 0; border-radius: 0; box-shadow: none; mix-blend-mode: multiply; }

/* ==========================================================================
   v52 – FAQ page: editorial split (option 2) with accordion answers
   ========================================================================== */
.bs-faqpage { padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(3rem, 7vw, 5.5rem); }
.bs-faqpage__wrap { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.bs-faqpage__side { position: sticky; top: calc(var(--header-h, 76px) + 1.5rem); }
.admin-bar .bs-faqpage__side { top: calc(var(--header-h, 76px) + 32px + 1.5rem); }
.bs-faqpage .bs-eyebrow { color: var(--text-2); margin-bottom: .7rem; }
.bs-faqpage__title { margin: 0; font-family: var(--font-head); font-weight: 800; font-size: clamp(3rem, 7vw, 5.4rem); line-height: .95; letter-spacing: -.045em; text-transform: none; color: var(--text); }
.bs-faqpage__lead { margin: 1.1rem 0 0; max-width: 32ch; color: var(--text-2); font-size: 1rem; line-height: 1.6; }
.bs-faqpage__help { display: grid; justify-items: start; gap: .6rem; margin-top: 1.8rem; color: var(--text-2); font-size: .9rem; }
.bs-faqpage .bs-faqpage__cta { background: var(--ink); color: #fff; font-size: .78rem; letter-spacing: .1em; padding: .85rem 1.35rem; }
.bs-faqpage .bs-faqpage__cta:hover { background: var(--accent); color: var(--ink); }

.bs-faqpage__item { border-bottom: 1px solid var(--border); }
.bs-faqpage__item:first-child { border-top: 1px solid var(--text); }
.bs-faqpage__q { margin: 0; font: inherit; }
.bs-faqpage__q button { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; width: 100%; padding: 1.35rem 0; border: 0; background: none; color: var(--text); text-align: left; cursor: pointer; font-family: var(--font-head); font-weight: 700; font-size: clamp(1.05rem, 1.8vw, 1.22rem); line-height: 1.3; letter-spacing: -.015em; }
.bs-faqpage__q button:hover span { text-decoration: underline; text-decoration-thickness: 2px; text-decoration-color: var(--accent); text-underline-offset: 5px; }
.bs-faqpage__pm { position: relative; flex: none; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--border-2); transition: background .2s, border-color .2s; }
.bs-faqpage__pm::before, .bs-faqpage__pm::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; margin: -1px 0 0 -6px; background: var(--text); transition: transform .25s ease; }
.bs-faqpage__pm::after { transform: rotate(90deg); }
.bs-faqpage__item.is-open .bs-faqpage__pm { background: var(--accent); border-color: var(--accent); }
.bs-faqpage__item.is-open .bs-faqpage__pm::after { transform: rotate(0); }
.bs-faqpage__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
.bs-faqpage__a > div { overflow: hidden; }
.bs-faqpage__item.is-open .bs-faqpage__a { grid-template-rows: 1fr; }
.bs-faqpage__body { padding: 0 3.5rem 1.5rem 0; color: var(--text-2); font-size: .98rem; line-height: 1.75; }
.bs-faqpage__body p { margin: 0 0 .7rem; }
.bs-faqpage__body p:last-child { margin-bottom: 0; }

@media (max-width: 860px) {
	.bs-faqpage__wrap { grid-template-columns: 1fr; }
	.bs-faqpage__side { position: static; }
	.bs-faqpage__body { padding-right: 0; }
}
@media (prefers-reduced-motion: reduce) { .bs-faqpage__a, .bs-faqpage__pm::after { transition: none; } }

/* ==========================================================================
   v53 – Terms & Conditions: numbered accordion (option 3)
   ========================================================================== */
.bs-terms { padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(3rem, 7vw, 5.5rem); }
.bs-terms__wrap { max-width: 900px; }
.bs-terms .bs-eyebrow { color: var(--text-2); margin-bottom: .7rem; }
.bs-terms__title { margin: 0; font-family: var(--font-head); font-weight: 800; font-size: clamp(2.4rem, 6vw, 4.2rem); line-height: 1; letter-spacing: -.04em; text-transform: none; color: var(--text); text-wrap: balance; }
.bs-terms__meta { margin: .8rem 0 0; color: var(--muted); font-size: .88rem; }
.bs-terms__intro { margin: 1.8rem 0 2rem; }
.bs-terms__intro p, .bs-terms__body p { margin: 0 0 .9rem; max-width: 70ch; color: var(--text-2); font-size: .97rem; line-height: 1.75; }
.bs-terms__intro p:last-child, .bs-terms__body p:last-child { margin-bottom: 0; }
.bs-terms__clause { font-family: var(--font-head); font-weight: 700; color: var(--text); }
.bs-terms p.bs-terms__caps { padding: .95rem 1.15rem; border-left: 3px solid var(--text); background: #f4f4f0; color: var(--text); font-size: .82rem; line-height: 1.65; }

.bs-terms__item { border-top: 1px solid var(--text); }
.bs-terms__item:last-child { border-bottom: 1px solid var(--text); }
.bs-terms__q { margin: 0; font: inherit; }
.bs-terms__q button { display: flex; align-items: center; gap: 1.1rem; width: 100%; padding: 1.3rem 0; border: 0; background: none; color: var(--text); text-align: left; cursor: pointer; }
.bs-terms__n { flex: none; width: 2.6rem; font-family: var(--font-head); font-weight: 800; font-size: 1.65rem; letter-spacing: -.04em; line-height: 1; color: var(--muted); transition: color .2s; }
.bs-terms__t { flex: 1; font-family: var(--font-head); font-weight: 700; font-size: clamp(1.02rem, 1.8vw, 1.18rem); line-height: 1.3; letter-spacing: -.01em; }
.bs-terms__q button:hover .bs-terms__t { text-decoration: underline; text-decoration-thickness: 2px; text-decoration-color: var(--accent); text-underline-offset: 5px; }
.bs-terms__pm { position: relative; flex: none; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--border-2); transition: background .2s, border-color .2s; }
.bs-terms__pm::before, .bs-terms__pm::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; margin: -1px 0 0 -6px; background: var(--text); transition: transform .25s ease; }
.bs-terms__pm::after { transform: rotate(90deg); }
.bs-terms__item.is-open .bs-terms__n { color: var(--text); }
.bs-terms__item.is-open .bs-terms__pm { background: var(--accent); border-color: var(--accent); }
.bs-terms__item.is-open .bs-terms__pm::after { transform: rotate(0); }
.bs-terms__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
.bs-terms__a > div { overflow: hidden; }
.bs-terms__item.is-open .bs-terms__a { grid-template-rows: 1fr; }
.bs-terms__body { padding: 0 3.3rem 1.6rem 3.7rem; }
@media (max-width: 600px) { .bs-terms__body { padding: 0 0 1.4rem; } .bs-terms__n { width: 2.1rem; font-size: 1.35rem; } }
@media (prefers-reduced-motion: reduce) { .bs-terms__a, .bs-terms__pm::after { transition: none; } }

/* v53.1 – bullet lists inside legal sections (Privacy Policy) */
.bs-terms ul.bs-terms__bullets { list-style: none; margin: 0 0 .9rem; padding: 0; display: grid; gap: .55rem; max-width: 70ch; }
.bs-terms ul.bs-terms__bullets li { position: relative; margin: 0; padding-left: 1.3rem; color: var(--text-2); font-size: .97rem; line-height: 1.7; }
.bs-terms ul.bs-terms__bullets li::before { content: ""; position: absolute; left: 0; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 1px rgba(15, 15, 18, .25); }

/* ==========================================================================
   v54 – About Us: cover mosaic (option 1), features, aligned logo groups
   ========================================================================== */
.bs-about { padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(3rem, 7vw, 5.5rem); }
.bs-about__hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 3.5rem); align-items: center; margin-bottom: clamp(3rem, 6vw, 4.5rem); }
.bs-about .bs-eyebrow { color: var(--text-2); margin-bottom: .7rem; }
.bs-about__title { margin: 0; font-family: var(--font-head); font-weight: 800; font-size: clamp(2.6rem, 6vw, 4.6rem); line-height: .98; letter-spacing: -.045em; text-transform: none; color: var(--text); text-wrap: balance; }
.bs-about__story { margin: 1.3rem 0 0; max-width: 60ch; color: var(--text-2); font-size: 1.02rem; line-height: 1.75; }
.bs-about__mosaic { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; padding: 1rem 1rem 2.2rem; transform: rotate(-4deg); }
.bs-about__cover { display: block; aspect-ratio: 1; border-radius: 12px; overflow: hidden; background: var(--surface); box-shadow: 0 12px 30px rgba(15, 15, 18, .18); transition: transform .25s ease, box-shadow .25s ease; }
.bs-about__cover:nth-child(3n+2) { transform: translateY(1.2rem); }
.bs-about__cover:hover { transform: translateY(-4px) scale(1.03); box-shadow: 0 18px 40px rgba(15, 15, 18, .25); }
.bs-about__cover:nth-child(3n+2):hover { transform: translateY(calc(1.2rem - 4px)) scale(1.03); }
.bs-about__cover img { display: block; width: 100%; height: 100%; object-fit: cover; margin: 0; border-radius: 0; }

.bs-about__feats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; margin-bottom: clamp(3rem, 6vw, 4.5rem); }
.bs-about__feat { display: grid; gap: .45rem; align-content: start; padding: 1.4rem; border-radius: 18px; background: #f4f4f0; }
.bs-about__ic { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: var(--ink); color: var(--accent); }
.bs-about__ic svg { width: 20px; height: 20px; }
.bs-about__feat h3 { margin: .35rem 0 0; font-family: var(--font-head); font-weight: 700; font-size: 1.05rem; letter-spacing: -.01em; text-transform: none; color: var(--text); }
.bs-about__feat p { margin: 0; color: var(--text-2); font-size: .92rem; line-height: 1.6; }

.bs-about__logos { display: grid; gap: 2.2rem; }
.bs-about__group h2 { margin: 0 0 .9rem; font-family: var(--font-head); font-weight: 700; font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.bs-about__group ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .6rem; }
.bs-about__group li { display: grid; place-items: center; height: 88px; margin: 0; padding: 0 .8rem; border: 1px solid var(--border); border-radius: 14px; background: #fff; }
.bs-about__group li::before { content: none; }
.bs-about__logo { display: block; overflow: hidden; max-width: 100%; }
.bs-about__logo img { display: block; max-width: none; height: auto; margin: 0; border-radius: 0; box-shadow: none; mix-blend-mode: multiply; }

@media (max-width: 1000px) { .bs-about__group ul { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 860px) {
	.bs-about__hero { grid-template-columns: 1fr; }
	.bs-about__feats { grid-template-columns: 1fr; }
}
@media (max-width: 520px) { .bs-about__group ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } .bs-about__group li { height: 76px; } }
@media (prefers-reduced-motion: reduce) { .bs-about__cover { transition: none; } }
/* v54.1 – partner without a logo file: name as a wordmark; Media Library logo fits the cell */
.bs-about__word { font-family: var(--font-head); font-weight: 800; font-size: 1.02rem; letter-spacing: -.02em; color: var(--text); text-align: center; line-height: 1.1; }
.bs-about__group li img.bs-about__logo-img { width: auto; max-width: 100%; max-height: 46px; margin: 0; border-radius: 0; mix-blend-mode: multiply; }

/* v55 – login: "Remember me" as a proper checkbox + label, and no stray border box around the form */
.bs-auth .woocommerce-form label.bs-check { display: inline-flex; align-items: center; gap: .55rem; margin: 0; font-size: .9rem; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--text-2); }
.bs-auth .woocommerce-form .bs-check input[type="checkbox"] { flex: none; width: 18px; height: 18px; min-width: 18px; margin: 0; padding: 0; border-radius: 5px; border: 1px solid var(--border-2); background: #fff; display: grid; place-items: center; box-shadow: none; }
.bs-auth .woocommerce-form .bs-check input[type="checkbox"]:checked { border-color: var(--ink); }
.bs-auth .woocommerce-form .bs-check input[type="checkbox"]:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.bs-auth form.woocommerce-form-login, .bs-auth form.woocommerce-form-register { margin: 0; padding: 0; border: 0; border-radius: 0; }

/* v56 – reCAPTCHA: v3 badge replaced by the required text line; v2 box spacing */
.grecaptcha-badge { visibility: hidden !important; }
.bs-recaptcha-note { margin: .2rem 0 0; font-size: .72rem; line-height: 1.5; color: var(--muted); }
.bs-recaptcha-note a { color: var(--text-2); text-decoration: underline; text-underline-offset: 2px; }
.bs-recaptcha--v2 { margin: .3rem 0 .2rem; min-height: 78px; }

/* v57 – checkout: required "I agree to the terms and conditions" checkbox */
.woocommerce-checkout form.checkout .woocommerce-terms-and-conditions-wrapper { display: grid; gap: .7rem; margin: 0 0 1.1rem; }
.woocommerce-checkout form.checkout .woocommerce-privacy-policy-text p { margin: 0; font-size: .8rem; line-height: 1.55; color: var(--muted); }
.woocommerce-checkout form.checkout .woocommerce-privacy-policy-text a { color: var(--text-2); text-decoration: underline; text-underline-offset: 2px; }
.woocommerce-checkout form.checkout .woocommerce-terms-and-conditions-wrapper .form-row { margin: 0; padding: .85rem 1rem; border: 1px solid var(--border-2); border-radius: 14px; background: #fff; transition: border-color .15s, box-shadow .15s; }
.woocommerce-checkout form.checkout .woocommerce-terms-and-conditions-wrapper .form-row:has(input:checked) { border-color: var(--ink); }
.woocommerce-checkout form.checkout .woocommerce-terms-and-conditions-wrapper .form-row.woocommerce-invalid { border-color: var(--danger); box-shadow: 0 0 0 3px rgba(229, 72, 77, .12); }
.woocommerce-checkout form.checkout.bs-checkout3 .woocommerce-terms-and-conditions-wrapper .form-row label.checkbox,
.woocommerce-checkout form.checkout .woocommerce-terms-and-conditions-wrapper .form-row label.checkbox { display: flex; align-items: center; gap: .7rem; margin: 0; font-family: var(--font-body); font-size: .92rem; font-weight: 500; line-height: 1.45; letter-spacing: 0; text-transform: none; color: var(--text); cursor: pointer; }
.woocommerce-checkout form.checkout .woocommerce-terms-and-conditions-wrapper input#terms { flex: none; appearance: none; -webkit-appearance: none; width: 20px; height: 20px; min-width: 20px; margin: 0; padding: 0; border: 1.5px solid var(--border-2); border-radius: 6px; background: #fff center / 13px no-repeat; cursor: pointer; transition: background-color .15s, border-color .15s; }
.woocommerce-checkout form.checkout .woocommerce-terms-and-conditions-wrapper input#terms:checked { border-color: var(--ink); background-color: var(--ink); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c8f31c' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
.woocommerce-checkout form.checkout .woocommerce-terms-and-conditions-wrapper input#terms:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.woocommerce-checkout form.checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions-link { color: var(--text); font-weight: 600; text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.woocommerce-checkout form.checkout .woocommerce-terms-and-conditions-wrapper .required { color: var(--danger); text-decoration: none; border: 0; }

/* v58 – checkout terms, option 10: checkbox + Pay button share one black bar */
.woocommerce-checkout form.checkout #payment .form-row.place-order { display: grid; gap: .7rem; margin: 1rem 0 0; padding: .8rem; border-radius: 22px; background: var(--ink); }
.woocommerce-checkout form.checkout #payment .place-order .woocommerce-terms-and-conditions-wrapper { margin: 0; gap: 0; }
.woocommerce-checkout form.checkout #payment .place-order .woocommerce-terms-and-conditions-wrapper .form-row { margin: 0; padding: .35rem .45rem; border: 0; border-radius: 12px; background: transparent; box-shadow: none; }
.woocommerce-checkout form.checkout #payment .place-order .woocommerce-terms-and-conditions-wrapper .form-row.woocommerce-invalid { box-shadow: 0 0 0 2px var(--danger); }
.woocommerce-checkout form.checkout.bs-checkout3 #payment .place-order .woocommerce-terms-and-conditions-wrapper .form-row label.checkbox,
.woocommerce-checkout form.checkout #payment .place-order .woocommerce-terms-and-conditions-wrapper .form-row label.checkbox { color: rgba(255, 255, 255, .88); font-size: .9rem; }
.woocommerce-checkout form.checkout #payment .place-order .woocommerce-terms-and-conditions-wrapper input#terms { border-color: rgba(255, 255, 255, .45); background-color: transparent; }
.woocommerce-checkout form.checkout #payment .place-order .woocommerce-terms-and-conditions-wrapper input#terms:checked { border-color: var(--accent); background-color: var(--accent); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f0f12' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
.woocommerce-checkout form.checkout #payment .place-order .woocommerce-terms-and-conditions-wrapper input#terms:focus-visible { outline-color: var(--accent); }
.woocommerce-checkout form.checkout #payment .place-order a.bs-terms-link { color: #fff; font-weight: 600; text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.woocommerce-checkout form.checkout #payment .place-order .woocommerce-terms-and-conditions-wrapper .required { color: var(--accent); }
.woocommerce-checkout form.checkout.bs-checkout3 #payment #place_order { margin: 0; background: var(--accent); border-color: var(--accent); color: var(--accent-ink, var(--ink)); }
.woocommerce-checkout form.checkout.bs-checkout3 #payment #place_order:hover { background: #fff; border-color: #fff; color: var(--ink); }
.woocommerce-checkout form.checkout .woocommerce-privacy-policy-text { margin: .8rem .3rem 0; }
.woocommerce-checkout form.checkout .woocommerce-privacy-policy-text p { margin: 0; font-size: .78rem; line-height: 1.55; color: var(--muted); }

/* v59 – checkout headline (option 14): "Almost yours." + the cart's covers fanned out */
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.2rem; margin: 0 0 1.8rem; padding: 0 0 1.3rem; border-bottom: 1px solid var(--text); }
.woocommerce-checkout .bs-prose .bs-checkout3__big, .bs-checkout3__big { margin: 0; font-family: var(--font-head); font-weight: 800; font-size: clamp(2.6rem, 5.4vw, 4.4rem); line-height: .95; letter-spacing: -.05em; text-transform: none; color: var(--text); }
.bs-checkout3__big span { background: var(--accent); padding: 0 .1em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.bs-checkout3__fan { display: flex; flex: none; padding: 0 .4rem .2rem 0; }
.woocommerce-checkout .bs-prose .bs-checkout3__fan img, .bs-checkout3__fan img { display: block; width: 84px; height: 84px; margin: 0; object-fit: cover; border-radius: 14px; box-shadow: 0 10px 24px rgba(15, 15, 18, .18); }
.woocommerce-checkout .bs-prose .bs-checkout3__fan img + img, .bs-checkout3__fan img + img { margin-left: -26px; }
.bs-checkout3__fan img:nth-child(1) { transform: rotate(-5deg); position: relative; z-index: 3; }
.bs-checkout3__fan img:nth-child(2) { transform: rotate(4deg) translateY(-4px); position: relative; z-index: 2; }
.bs-checkout3__fan img:nth-child(3) { transform: rotate(10deg) translateY(-8px); position: relative; z-index: 1; }
.bs-checkout3__fan--1 img:nth-child(1) { transform: rotate(4deg); }
@media (max-width: 600px) { .woocommerce-checkout .bs-prose .bs-checkout3__fan img, .bs-checkout3__fan img { width: 64px; height: 64px; } .woocommerce-checkout .bs-prose .bs-checkout3__fan img + img, .bs-checkout3__fan img + img { margin-left: -22px; } }

/* v60 – PayPal selected: its button (rendered by the plugin right after #payment) joins the black terms + Pay bar */
.bs-checkout3__pay:has(#payment_method_ppcp-gateway:checked) #payment .form-row.place-order { border-radius: 22px 22px 0 0; padding-bottom: .55rem; }
.bs-checkout3__pay:has(#payment_method_ppcp-gateway:checked) .ppc-button-wrapper { margin: 0; padding: .15rem .8rem .8rem; border-radius: 0 0 22px 22px; background: var(--ink); }
.bs-checkout3__pay .ppc-button-wrapper paypal-button { display: block; width: 100%; --paypal-button-border-radius: 999px; }

/* v61 – checkout ~12% more compact (sizes, not zoom, so card and PayPal fields keep working) */
.bs-page--checkout .bs-container--wide { max-width: 1160px; }
.woocommerce-checkout form.checkout.bs-checkout3 { column-gap: 40px; }
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__panel-inner { padding: 26px; }
.woocommerce-checkout .bs-prose .bs-checkout3__big, .bs-checkout3__big { font-size: clamp(2.2rem, 4.5vw, 3.6rem); }
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__hero { margin-bottom: 1.5rem; padding-bottom: 1.1rem; }
.woocommerce-checkout .bs-prose .bs-checkout3__fan img, .bs-checkout3__fan img { width: 72px; height: 72px; border-radius: 12px; }
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__h { font-size: 21px; }
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__section { margin-bottom: 34px; }
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__pay { padding: 26px; }
.woocommerce-checkout form.checkout.bs-checkout3 .form-row label { font-size: 11px; }
.woocommerce-checkout form.checkout.bs-checkout3 .form-row .input-text,
.woocommerce-checkout form.checkout.bs-checkout3 .form-row select,
.woocommerce-checkout form.checkout.bs-checkout3 .select2-container .select2-selection--single { padding-top: 12px; padding-bottom: 12px; }
@media (min-width: 768px) {
	/* phones keep 16px inputs so iOS does not zoom in on focus */
	.woocommerce-checkout form.checkout.bs-checkout3 .form-row .input-text,
	.woocommerce-checkout form.checkout.bs-checkout3 .form-row select { font-size: 15px; }
}
.woocommerce-checkout form.checkout.bs-checkout3 #payment #place_order { padding: 16px 22px; font-size: .92rem; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment .form-row.place-order { padding: .7rem; }
.woocommerce-checkout form.checkout.bs-checkout3 .woocommerce-checkout-review-order-table { font-size: 14.5px; }
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__panel .order-total td,
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__panel .order-total .amount { font-size: 24px; }
.woocommerce-checkout form.checkout.bs-checkout3 .bsd-progress--checkout { padding: .85rem .95rem; margin-bottom: .95rem; }
/* v61.1 – the account switch keeps its own size (the 11px field-label rule above is for field labels only) */
.woocommerce-checkout form.checkout.bs-checkout3 .create-account label { font-size: .95rem; padding: .9rem 1.1rem; }

/* v62 – lift the payment box: email + country share a row, tighter account switch and headline spacing */
@media (min-width: 600px) {
	.woocommerce-checkout form.checkout.bs-checkout3 .woocommerce-billing-fields__field-wrapper #billing_email_field { grid-column: 1; order: 1; }
	.woocommerce-checkout form.checkout.bs-checkout3 .woocommerce-billing-fields__field-wrapper #billing_country_field { grid-column: 2; order: 2; }
	.woocommerce-checkout form.checkout.bs-checkout3 .woocommerce-billing-fields__field-wrapper #billing_first_name_field { order: 3; }
	.woocommerce-checkout form.checkout.bs-checkout3 .woocommerce-billing-fields__field-wrapper #billing_last_name_field { order: 4; }
}
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__hero { margin-bottom: 1.1rem; padding-bottom: .9rem; }
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__section { margin-bottom: 24px; }
.woocommerce-checkout form.checkout.bs-checkout3 .woocommerce-account-fields { margin-top: 0; }
.woocommerce-checkout form.checkout.bs-checkout3 .create-account label { padding: .7rem 1rem; }
.woocommerce-checkout form.checkout.bs-checkout3 .create-account label > span::after { font-size: .78rem; }

/* ==========================================================================
   v63 – checkout option 10: headline across, numbered rows (01 details, 02 payment, 03 confirm) left,
   dark summary right. Markup ids/classes WooCommerce and the gateways rely on are unchanged.
   ========================================================================== */
@media (min-width: 961px) {
	.woocommerce-checkout .bs-prose > .woocommerce { grid-template-columns: minmax(0, 1fr) minmax(320px, 36%); column-gap: clamp(1.75rem, 3.5vw, 3rem); }
	.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__hero { grid-column: 1 / -1; grid-row: 2; }
	.bs-checkout3__panel { grid-column: 2; grid-row: 3; position: sticky; top: calc(var(--header-h, 76px) + 1rem); align-self: start; }
	.admin-bar .bs-checkout3__panel { top: calc(var(--header-h, 76px) + 32px + 1rem); }
	.woocommerce-checkout .woocommerce-form-coupon-toggle { grid-column: 2; grid-row: 4; }
	.woocommerce-checkout form.checkout_coupon { grid-column: 2; grid-row: 5; }
	.woocommerce-checkout .woocommerce-form-login-toggle { grid-column: 2; grid-row: 6; }
	.woocommerce-checkout form.woocommerce-form-login { grid-column: 2; grid-row: 7; }
	.bs-checkout3__main { grid-column: 1; grid-row: 3 / span 6; }
}
@media (max-width: 960px) {
	.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__hero { grid-column: 1; grid-row: 2; }
	.bs-checkout3__panel { grid-row: 3; }
	.woocommerce-checkout .woocommerce-form-coupon-toggle { grid-row: 4; }
	.woocommerce-checkout form.checkout_coupon { grid-row: 5; }
	.woocommerce-checkout .woocommerce-form-login-toggle { grid-row: 6; }
	.woocommerce-checkout form.woocommerce-form-login { grid-row: 7; }
	.bs-checkout3__main { grid-row: 8; }
}
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__hero { margin: 0 0 1.6rem; }

/* each step is a row: number + title + hint on the left, the fields on the right */
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__section,
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__pay {
	display: grid; grid-template-columns: 150px minmax(0, 1fr); column-gap: 1.4rem; row-gap: 0; align-items: start;
	margin: 0; padding: 1.5rem 0; border: 0; border-top: 1px solid var(--border); border-radius: 0; background: none; box-shadow: none;
}
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__section:first-child { border-top: 0; padding-top: .2rem; }
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__section > * { grid-column: 2; }
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__hrow,
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__payhead { display: contents; }
.woocommerce-checkout .bs-prose form.checkout.bs-checkout3 .bs-checkout3__h,
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__h { grid-column: 1; grid-row: 1 / span 30; align-self: start; margin: 0; font-family: var(--font-head); font-weight: 800; font-size: 15px; line-height: 1.2; letter-spacing: -.01em; text-transform: none; }
.bs-checkout3__h::before { display: block; margin-bottom: .35rem; font-size: 2.1rem; letter-spacing: -.05em; line-height: 1; color: #d6d6d0; }
.bs-checkout3__h::after { display: block; margin-top: .35rem; font-family: var(--font-body); font-weight: 400; font-size: .76rem; line-height: 1.4; color: var(--muted); }
.bs-checkout3__section:not(.bs-checkout3__pay) .bs-checkout3__h::before { content: "01"; }
.bs-checkout3__section:not(.bs-checkout3__pay) .bs-checkout3__h::after { content: "Where we send your download link"; }
.bs-checkout3__pay .bs-checkout3__h::before { content: "02"; }
.bs-checkout3__pay .bs-checkout3__h::after { content: "Encrypted with SSL"; }
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__login-link { grid-column: 2; justify-self: end; margin: 0 0 1rem; }
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__secure { grid-column: 2; justify-self: end; margin: 0 0 1rem; }
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__pay > * { grid-column: 2; }
.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__pay .bs-express { margin-bottom: 1rem; }

/* 03 Confirm – label beside the black Terms + Pay bar (it lives inside #payment, so the label is drawn from there) */
.woocommerce-checkout form.checkout.bs-checkout3 #payment .form-row.place-order { position: relative; margin-top: 1.5rem; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment .form-row.place-order::before,
.woocommerce-checkout form.checkout.bs-checkout3 #payment .form-row.place-order::after { position: absolute; left: calc(-150px - 1.4rem); width: 150px; display: block; font-family: var(--font-head); font-weight: 800; line-height: 1; clear: none; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment .form-row.place-order::before { content: "03"; top: .15rem; font-size: 2.1rem; letter-spacing: -.05em; color: #d6d6d0; }
.woocommerce-checkout form.checkout.bs-checkout3 #payment .form-row.place-order::after { content: "Confirm"; top: 2.65rem; font-size: 15px; letter-spacing: -.01em; color: var(--text); }
@media (max-width: 700px) {
	.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__section,
	.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__pay { grid-template-columns: 1fr; }
	.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__section > *,
	.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__pay > *,
	.woocommerce-checkout .bs-prose form.checkout.bs-checkout3 .bs-checkout3__h,
	.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__h,
	.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__login-link,
	.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__secure { grid-column: 1; grid-row: auto; justify-self: start; }
	.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__h { margin-bottom: .8rem; }
	.woocommerce-checkout form.checkout.bs-checkout3 #payment .form-row.place-order::before,
	.woocommerce-checkout form.checkout.bs-checkout3 #payment .form-row.place-order::after { display: none; }
}
/* v63.1 – summary scrolls with the page so the coupon box under it is never covered */
@media (min-width: 961px) { .bs-checkout3__panel, .admin-bar .bs-checkout3__panel { position: relative; top: auto; } }
/* v63.2 – the tall form column pushes its extra height into the last row, so the coupon box sits right under the summary */
@media (min-width: 961px) { .woocommerce-checkout .bs-prose > .woocommerce { grid-template-rows: repeat(7, auto) 1fr; } }

/* v64 – phones: product rows (Latest releases, Artist series, You may also like) become one swipeable row */
@media (max-width: 760px) {
	#latest .bs-grid, #artist-series .bs-grid, .bs-related .bs-grid {
		display: flex; gap: .85rem; overflow-x: auto; overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory; scroll-padding-inline: 1.25rem; -webkit-overflow-scrolling: touch; scrollbar-width: none;
		margin-inline: -1.25rem; padding: .2rem 1.25rem 1rem;
	}
	#latest .bs-grid::-webkit-scrollbar, #artist-series .bs-grid::-webkit-scrollbar, .bs-related .bs-grid::-webkit-scrollbar { display: none; }
	#latest .bs-grid > *, #artist-series .bs-grid > *, .bs-related .bs-grid > * { flex: 0 0 72%; min-width: 0; scroll-snap-align: start; }
	/* cards off to the side are shown straight away rather than waiting for the scroll-reveal */
	#latest .bs-grid > .bs-reveal, #artist-series .bs-grid > .bs-reveal, .bs-related .bs-grid > .bs-reveal { opacity: 1; transform: none; transition: none; }
}

/* v65 – phones: product grids may shrink below their content width (the related-products grid made pages 423px wide,
   which pushed the fixed audio player past the screen edge); and nothing may widen the page sideways */
@media (max-width: 1100px) { .bs-grid, ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .bs-grid, ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.bs-grid > *, ul.products > li { min-width: 0; }
html, body { overflow-x: clip; }
.bs-dock { left: 0; right: 0; width: auto; max-width: 100vw; box-sizing: border-box; }

/* v65.1 – phones: compact audio player that fits the screen – play | title | time on one row, waveform under it,
   volume hidden (phones use their own volume buttons) */
@media (max-width: 760px) {
	.bs-dock { grid-template-columns: 44px minmax(0, 1fr) auto; grid-auto-rows: auto; column-gap: .75rem; row-gap: .45rem; padding: .6rem 1rem calc(.6rem + env(safe-area-inset-bottom)); }
	.bs-dock > .bs-dock__btn { grid-column: 1; grid-row: 1; }
	.bs-dock > .bs-dock__meta { grid-column: 2; grid-row: 1; min-width: 0; }
	.bs-dock__meta * { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
	.bs-dock > .bs-dock__time { display: block; grid-column: 3; grid-row: 1; font-size: .72rem; color: var(--muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
	.bs-dock > .bs-dock__progress { grid-column: 1 / -1; grid-row: 2; min-width: 0; width: 100%; height: 30px; }
	.bs-dock__progress canvas, .bs-dock__wave { display: block; width: 100% !important; max-width: 100%; }
	.bs-dock > .bs-dock__volume { display: none; }
}

/* v66 – phones: product cards are narrow, so price and the Add button stack (the button was cut off beside the price) */
@media (max-width: 760px) {
	.bs-card .bs-card__footer { flex-direction: column; align-items: stretch; gap: .55rem; }
	.bs-card .bs-card__footer .bs-card__price { min-width: 0; }
	.bs-card .bs-card__footer .bs-card__cart { width: 100%; min-width: 0; margin: 0; padding: .7rem .8rem; justify-content: center; text-align: center; font-size: .78rem; white-space: nowrap; }
}

/* v67 – phones: the Sort by button sits on the left, so its menu opens from the left edge (it was cut off) */
@media (max-width: 760px) {
	.bs-sort .bs-sort__menu { left: 0; right: auto; max-width: calc(100vw - 2.5rem); }
}

/* v68 – phones: cart list, item cards and the coupon box size to the screen, not to their content (they were 406px in a 335px column) */
@media (max-width: 760px) {
	.bs-cart2, .bs-cart2__list, .bs-cart2__actions, .bs-cart2__item, .bs-cart2__coupon { min-width: 0; max-width: 100%; }
	.bs-cart2__list { grid-template-columns: minmax(0, 1fr) !important; }
	.bs-cart2__item, .bs-cart2__coupon, .bs-cart2__coupon-head { grid-template-columns: minmax(0, 1fr); }
	.bs-cart2__actions { display: grid; grid-template-columns: minmax(0, 1fr); }
	.bs-cart2__coupon-row { display: flex; gap: .5rem; min-width: 0; }
	.bs-cart2__coupon-row .input-text { flex: 1 1 auto; min-width: 0; width: auto; }
	.bs-cart2__coupon-row .button { flex: none; padding-left: 1rem; padding-right: 1rem; }
	.bs-cart2__body a, .bs-cart2__body h3 { overflow-wrap: anywhere; }
}

/* v69 – phones: section content stretches full width again (only the headings, "Log in" and the SSL chip sit left),
   so PayPal's button and the Terms bar form one black block of the same width */
@media (max-width: 700px) {
	.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__section > *,
	.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__pay > * { justify-self: stretch; }
	.woocommerce-checkout .bs-prose form.checkout.bs-checkout3 .bs-checkout3__h,
	.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__h,
	.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__login-link,
	.woocommerce-checkout form.checkout.bs-checkout3 .bs-checkout3__secure { justify-self: start; }
	.woocommerce-checkout form.checkout.bs-checkout3 .ppc-button-wrapper { width: 100%; box-sizing: border-box; }
}

/* v70 – phone menu: "Genres" shows a clean + / – (it inherited the desktop chevron's border and 45° turn and looked like a broken ×) */
@media (max-width: 1023px) {
	.bs-nav .bs-nav__list .menu-item-has-children > a { display: flex; align-items: center; }
	.bs-nav .bs-nav__list .menu-item-has-children > a::after { content: "+"; display: inline-block; width: auto; height: auto; margin-left: auto; padding-left: 1rem; border: 0; transform: none; opacity: 1; font-size: 1.3rem; font-weight: 400; line-height: 1; color: var(--muted); }
	.bs-nav .bs-nav__list .menu-item-has-children.is-open > a::after { content: "–"; }
}

/* v71 – empty cart: one centred empty state (cart icon, message, Return to shop) on desktop and phones */
.woocommerce-cart .wc-empty-cart-message { max-width: 520px; margin: clamp(2rem, 6vw, 4rem) auto 0; text-align: center; }
html body.woocommerce-cart .wc-empty-cart-message .cart-empty.woocommerce-info {
	--n-ic: var(--ink);
	--n-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h13l-1.2 8H7.5L6 7zm0 0L5.3 4H3'/%3E%3Ccircle cx='9' cy='19' r='1.3'/%3E%3Ccircle cx='16.5' cy='19' r='1.3'/%3E%3C/svg%3E");
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5rem;
	margin: 0; padding: 2.4rem 1.5rem 2rem; text-align: center; box-shadow: none; border-radius: 22px; background: #fbfbf9;
	font-family: var(--font-head); font-weight: 700; font-size: 1.2rem; line-height: 1.3; color: var(--text);
}
html body.woocommerce-cart .wc-empty-cart-message .cart-empty.woocommerce-info::before {
	position: static; order: -1; width: 64px; height: 64px; margin: 0 0 .6rem; border-radius: 50%;
	background-color: var(--accent); -webkit-mask: none; mask: none;
	background-image: var(--n-svg); background-repeat: no-repeat; background-position: center; background-size: 30px;
}
html body.woocommerce-cart .wc-empty-cart-message .cart-empty.woocommerce-info::after {
	content: "Preview any pack and add it here – instant download after payment."; display: block; position: static;
	font-family: var(--font-body); font-weight: 400; font-size: .9rem; color: var(--muted);
}
.woocommerce-cart .return-to-shop { max-width: 520px; margin: 1.2rem auto 0; text-align: center; }
.woocommerce-cart .return-to-shop .button { display: inline-flex; float: none; margin: 0; }
.woocommerce-cart .return-to-shop { margin-bottom: clamp(3rem, 7vw, 5rem); }

/* v72 – newsletter sign-up (built-in, inc/newsletter.php) */
.bs-newsletter__form.bs-nl { display: grid; gap: .55rem; }
.bs-nl .bs-nl__row { display: flex; gap: .5rem; }
.bs-nl .bs-nl__row input { flex: 1; min-width: 0; padding: .95rem 1.2rem; border-radius: 999px; border: 1px solid var(--border-2); background: #fff; color: var(--text); font-size: .95rem; }
.bs-nl .bs-nl__row input:focus { outline: none; border-color: var(--text); box-shadow: 0 0 0 3px var(--accent-soft); }
.bs-nl .bs-nl__row .bs-btn { flex: none; }
.bs-nl .bs-nl__row .bs-btn[disabled] { opacity: .6; }
.bs-nl__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.bs-newsletter .bs-nl p.bs-nl__msg { margin: 0; min-height: 1.2em; font-size: .88rem; font-weight: 600; color: var(--text-2); }
.bs-newsletter .bs-nl p.bs-nl__msg:empty { display: none; }
.bs-newsletter .bs-nl p.bs-nl__msg.is-ok { color: #3d7a00; }
.bs-newsletter .bs-nl p.bs-nl__msg.is-ok::before { content: "✓ "; }
.bs-newsletter .bs-nl p.bs-nl__msg.is-err { color: var(--danger); }
.bs-newsletter .bs-nl p.bs-nl__note, .bs-newsletter .bs-nl .bs-recaptcha-note { margin: 0; font-size: .74rem; color: var(--muted); }
.bs-newsletter .bs-nl p.bs-nl__note a { color: var(--text-2); text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 760px) { .bs-nl .bs-nl__row { flex-direction: column; } .bs-nl .bs-nl__row .bs-btn { width: 100%; justify-content: center; } }

/* v73 – newsletter option 3: lime band, centred, the Subscribe button sits inside the email field */
.bs-newsletter { background: var(--accent); border-block: 0; }
.bs-newsletter .bs-newsletter__inner { grid-template-columns: 1fr; justify-items: center; gap: 1.4rem; padding: clamp(3rem, 7vw, 4.5rem) 0; text-align: center; }
.bs-newsletter .bs-newsletter__inner > div:first-child { max-width: 640px; }
.bs-newsletter h2 { margin: 0 0 .6rem; font-family: var(--font-head); font-weight: 800; font-size: clamp(2.3rem, 5.5vw, 4.2rem); line-height: 1; letter-spacing: -.045em; text-transform: none; color: var(--ink); }
.bs-newsletter .bs-newsletter__inner > div:first-child p { margin: 0 auto; max-width: 44ch; color: #2c3500; font-size: 1.02rem; }
.bs-newsletter .bs-newsletter__form.bs-nl { width: 100%; max-width: 540px; }
.bs-newsletter .bs-nl .bs-nl__row { flex-direction: row; gap: .35rem; padding: .35rem; border-radius: 999px; background: #fff; box-shadow: 0 12px 32px rgba(15, 15, 18, .14); }
.bs-newsletter .bs-nl .bs-nl__row input { border: 0; background: transparent; box-shadow: none; padding: .85rem 1.1rem; }
.bs-newsletter .bs-nl .bs-nl__row input:focus { box-shadow: none; }
.bs-newsletter .bs-nl .bs-nl__row:focus-within { box-shadow: 0 12px 32px rgba(15, 15, 18, .14), 0 0 0 3px var(--ink); }
.bs-newsletter .bs-nl .bs-nl__row .bs-btn { width: auto; padding: .85rem 1.5rem; background: var(--ink); border-color: var(--ink); color: #fff; }
.bs-newsletter .bs-nl .bs-nl__row .bs-btn:hover { background: #2a2a30; border-color: #2a2a30; color: #fff; }
.bs-newsletter .bs-nl p.bs-nl__msg.is-ok { color: var(--ink); }
.bs-newsletter .bs-nl p.bs-nl__msg.is-err { color: #8a1d20; }
.bs-newsletter .bs-nl p.bs-nl__note, .bs-newsletter .bs-nl .bs-recaptcha-note { color: #3d4a00; }
.bs-newsletter .bs-nl p.bs-nl__note a, .bs-newsletter .bs-nl .bs-recaptcha-note a { color: var(--ink); }
@media (max-width: 760px) {
	.bs-newsletter .bs-nl .bs-nl__row { flex-direction: row; }
	.bs-newsletter .bs-nl .bs-nl__row .bs-btn { width: auto; padding: .8rem 1.1rem; font-size: .78rem; }
}
/* v73.1 – the newsletter column sizes to the screen, not its content (it was 368px in a 335px phone column) */
.bs-newsletter .bs-newsletter__inner { grid-template-columns: minmax(0, 1fr); }
.bs-newsletter .bs-newsletter__inner > * { min-width: 0; max-width: 100%; }
.bs-newsletter .bs-nl .bs-nl__row input { min-width: 0; }
@media (max-width: 760px) { .bs-newsletter h2 { font-size: clamp(2rem, 9.5vw, 2.6rem); } }
.bs-newsletter__form.bs-nl { grid-template-columns: minmax(0, 1fr); }
.bs-nl .bs-nl__row { min-width: 0; }
.bs-nl .bs-nl__row input { width: 0; flex: 1 1 auto; }

/* v74 – newsletter band 15% smaller as a whole (type, pill, padding) */
.bs-newsletter .bs-newsletter__inner { zoom: .85; }

/* v75 – product page 10% smaller on desktop (everything in the main column; header, footer and player stay as they are) */
@media (min-width: 1024px) {
	body.single-product #main { zoom: .9; }
	body.single-product .bs-pp__sleeve { top: calc((var(--header-h) + 1rem) / .9); }
}

/* v76 – newsletter another 10% smaller (.85 → .765); product page 5% back up (.9 → .945) */
.bs-newsletter .bs-newsletter__inner { zoom: .765; }
@media (min-width: 1024px) {
	body.single-product #main { zoom: .945; }
	body.single-product .bs-pp__sleeve { top: calc((var(--header-h) + 1rem) / .945); }
}
