/*!
Theme Name: CBS
Theme URI: https://7io.co/product/niceblog
Author: 7io
Author URI: https://7io.co/
Description: niceblog is a Single Page Layout WordPress theme, which is lightweight and designed specifically for blog. This theme can be used blogging or website of any kind. niceblog adapts your website to mobile, tablet, desktop and laptop since it is quite responsive and flexible based on BOOTSTRAP v4.5.2 & CSS3 framework. Free Theme Demo (http://niceblog.7io.co/).
Version: 1.0.7
Tested up to: 7.8
Requires PHP: 7.5
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: niceblog
Tags: Blog, two-columns, right-sidebar, custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

NiceBlog is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	font-size: 16px;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
	background-color: #0d0d0d;
	color: #ffffff;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
	line-height: 1.7rem;
	font-size: 1rem;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #565656;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	font-family: "Lato", sans-serif;
	font-size: 1rem;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: rgba(47, 182, 235, 1);
	text-decoration: underline;
}

/* a:visited {
	color: rgba(47, 182, 235, 1);
} */

a:hover,
a:focus,
a:active {
	color: #007bff;
}

a:focus {
	outline: 1;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 0px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #ff7955;
	color: #fff;
	line-height: 1;
	padding: 14px 6px;
	text-transform: uppercase;
	font-weight: 700;
	transition: all 0.5s ease;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	background: #000;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #fff;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
	Background: transparent;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #fff;
}

select {
	border: 1px solid #ccc;
	Background: transparent;
	color: #fff;
}

select option {
	color: #000;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.close-menu {
    display: none;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
	text-align: left;
	width: 240px;
	padding: 0;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul li li:hover > ul,
.main-navigation ul li li.focus > ul {
	display: block;
	left: 100%;
}

.main-navigation ul ul a {
	word-wrap: break-word;
    font-size: 14px;
    display: inline-block;
    width: 100%;
    padding: 8px 20px;
    color: #fff;
}

.main-navigation ul ul a:hover {
	color: #fff;
}

.main-navigation li {
	margin: 0 25px;
}

.main-navigation li.menu-item-has-children:before {
    content: '';
	background: url('images/icons/CaretDown.svg') no-repeat;
	position: absolute;
    right: -13px;
    top: 2px;
    width: 25px;
    height: 20px;
	opacity: 0;
}

ul.menu.nav-menu {
	/* position: relative; */
}

.main-navigation li.menu-item-has-children ul.sub-menu ul {
    position: relative;
	background: transparent;
	box-shadow: none;
}

.main-navigation li.menu-item-has-children ul.sub-menu li {
    width: 25%;
    margin: 0;
}

.main-navigation li.menu-item-has-children ul.sub-menu {
    float: none;
    display: flex;
    flex-wrap: wrap;
    left: 0;
    width: 100%;
    justify-content: space-between;
	background: rgba(26, 26, 26, 1);
	top: -16px;
	visibility: hidden;
	opacity: 0;
	transition: all 0.5s ease;
	box-shadow: rgba(0, 0, 0, 0.3) 0 0 16px;
	padding: 11px 0 0;
	z-index: -1;
}

.sub-menu-custom {
    width: 100%;
    position: absolute;
    left: 0;
    z-index: 9999999;
    background: rgba(26, 26, 26, 0.94);
    display: flex;
    top: 70px;
    justify-content: space-between;
	padding: 50px 72px;
	opacity: 0;
	visibility: hidden;
	transition: all 0.5s ease;
}

.main-navigation li.shop-sub-menu:hover .sub-menu-custom {
	top: 30px;
	opacity: 1;
	visibility: visible;
}

.shop-sub-menu ul.sub-menu {
	display: none !important;
}

.menu-sub-items .products-grid {
    display: flex;
}

.menu-sub-items .product-price {
	font-size: 13px;
	margin-bottom: 4px;
}

.menu-sub-items span.srt-frm {
	font-size: 7px;
}

.menu-sub-items .product-card {
	width: 150px;
	text-align: left;
	display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.menu-sub-items a.select-options {
	font-size: 11px;
	padding: 6px 4px;
    margin: 0 auto 8px;
}

.menu-sub-items .product-card .product-image {
	height: 147px;
}

.menu-sub-items .product-title a {
	font-size: 11px;
}

.menu-sub-items .clothing-products span.woocommerce-Price-amount.amount {
	font-size: 9px;
}

.menu-sub-items h2 {
    margin: 0 0 12px;
    color: rgba(163, 163, 163, 1);
    font-size: 16px;
    text-transform: uppercase;
	text-align: left;
}

.menu-sub-items p {
    margin: 0 0 5px;
    text-align: left;
}

.menu-sub-items p a {
    font-size: 16px;
    font-weight: 500;
}

.menu-sub-items p a svg {
    display: none;
}

.main-navigation ul ul a[title="title-cate"] {
    font-size: 18px;
    color: rgba(163, 163, 163, 1);
}

.main-navigation li.menu-item-has-children ul.sub-menu ul {
	opacity: 1;
	top: 0px;
}

.main-navigation li.menu-item-has-children:hover ul.sub-menu ul {
	visibility: visible;
}

.main-navigation li.menu-item-has-children:hover ul {
	top: 27px;
	visibility: visible;
	opacity: 1;
	z-index: 1;
}

.main-navigation li.menu-item-has-children ul.sub-menu li li {
    width: 100%;
}

.main-navigation ul ul a svg {
	display: none;
}

li.shop-sub-menu a svg {
    margin-left: 7px;
    top: -1px;
    position: relative;
}

.main-navigation li i.fa {
    position: absolute;
    right: 0;
    top: 4px;
    font-weight: 700;
}

.main-navigation li.menu-item-has-children li.menu-item-has-children i.fa {
    color: #fff;
    z-index: 99;
    right: 13px;
    top: 9px;
}

.main-navigation li li {
	margin-left: 0;
}

.main-navigation a {
	display: block;
    text-decoration: none;
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    transition: all 0.5s ease;
}

.view-mot-btn a {
    display: inline-block !important;
    font-size: 13px !important;
    border: 1px solid #fff;
    padding: 1px 20px !important;
    text-align: center;
    border-radius: 10px;
	transition: all 0.5s ease;
}

.view-mot-btn a:hover {
	Background: rgba(47, 182, 235, 1) !important;
	color: #fff !important;
}

.main-navigation a.search-icon {
    display: inline-block;
	font-size: 18px;
}

.main-navigation li.menu-item-has-children a {
    position: relative;
	padding-right: 0px;
}

.main-navigation a:hover {
	color: #1f92bf;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

.niceblog-main-nav,
div#primary-menu {
    display: inline-block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
	text-align: left;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.single-post ol,
.single-post ul {
    list-style: decimal;
    margin: 0 0 17px;
    padding: 0;
    padding-left: 20px;
    color: #fff;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.single-post .content-area footer.entry-footer {
    display: none;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/********************** custom css ******************/

.container {
	width: 1245px;
	max-width: 100%;
}

.blog main {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

/******* header css start ******/

header.site-header {
    margin-bottom: 0px;
    padding: 30px 15px 10px;
    display: inline-block;
    width: 100%;
    position: relative;
    box-shadow: rgba(0, 0, 0, 1) 0 0 8px;
	z-index: 99999;
}

.main-navigation {
    clear: none;
    display: inline-block;
    margin-right: 20px;
    vertical-align: middle;
    width: auto;
}

.navigation {
    text-align: center;
    margin: 42px 0 0;
}

.site-branding {
    display: flex;
    align-items: center;
	width: 147px;
}

.logo-section {
    width: 25%;
	padding-left: 15px;
}

.search-box {
    width: 50%;
}

.search-box button.close_search {
	display: none;
}

.short-menu {
    width: 25%;
    text-align: right;
	margin: 8px 0 0;
}

.short-menu a {
    margin-left: 13px;
	position: relative;
	text-decoration: none;
}

span#wishlist-counter {
    position: absolute;
    top: -16px;
    right: -5px;
}

a.cart-icon {
    position: relative;
}

a.cart-icon span.cart-count {
    position: absolute;
    top: -16px;
    right: -6px;
}

a.user-login svg {
    width: 32px;
    height: 32px;
}

.search-icon-m {
  display: none;
}

.site-branding p.site-title,
.site-branding p.site-description {
	display: none;
}

.search-icon {
    cursor: pointer;
	margin-left: 14px;
}

.niceblog-search-form {
    position: fixed;
    width: 100%;
    height: 120px;
    background: #000;
    left: 0;
    top: -420px;
    z-index: -99999;
    display: flex;
    align-items: center;
    justify-content: center;
	transition: all 0.8s ease;
	opacity: 0;
	visibility: hidden;
	overflow: hidden;
	display: none;
}

.searchActive .niceblog-search-form {
	opacity: 1;
	visibility: visible;
	top: 0;
	z-index: 9999999;
}

.niceblog-search-form form.search-form {
    width: 450px;
    text-align: center;
    position: relative;
}

.niceblog-search-form form.search-form label,
.niceblog-search-form form.search-form input {
    width: 100%;
	margin: 0;
}

.niceblog-search-form form.search-form input.search-submit {
    position: absolute;
    right: 0px;
    font-size: 15px;
    width: 90px;
    height: 100%;
    border: 0;
    border-radius: 0 4px 4px 0;
    background: #fa4616;
    background-size: 35px;
    background-position: center;
    opacity: 1;
    font-weight: 700;
}

.niceblog-search-form form.search-form input {
	border: 1px solid #a7a7a7;
	padding: 12px 20px;
	font-size: 18px;
	font-weight: 400;
	box-shadow: rgb(0 0 0 / 20%) 0 0 0px;
	transition: all 0.5s ease;
	border-radius: 11px;
	Background: #fff;
	background-size: 26px;
    background-position: center left 16px;
    border: 0;
    color: #000;
	padding-left: 20px;
    padding-right: 51px;
}

.niceblog-search-form form.search-form input:focus {
	box-shadow: rgb(0 0 0 / 20%) 0 0 20px;
}

.niceblog-search-form .close_search {
    position: absolute;
    right: 8px;
    top: 7px;
    background: transparent;
    color: #fff;
    width: 40px;
    height: 40px;
    justify-content: center;
    display: flex;
    align-items: center;
    border-radius: 100%;
    cursor: pointer;
}

.search-box form.search-form input {
	width: 90%;
    margin: auto;
    display: block;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 500;
    padding: 8px 10px;
    padding-left: 56px;
	background: #000 url('images/icons/search-icon.svg') no-repeat;
	background-size: 26px;
    background-position: center left 16px;
	border: 0;
	color: #fff;
}

.niceblog-search-form .search-submit {
  background: #fff url('images/icons/search-icon.svg') no-repeat;
  width: 51px;
  margin: 0;
  color: #05171F !important;
  font-size: 0;
  position: absolute;
  top: 0;
  right: 6px;
  height: 51px;
  background-position: center;
  border-radius: 7px;
}

.search-box button.search-submit {
    display: none;
}

.search-box form.search-form input:focus {
	outline: none;
}

.search-box form.search-form input::placeholder {
  opacity: 0.6;
}

a.login-btn-cus {
    color: #1F92BF;
    padding: 11px 48px;
    text-decoration: none;
    border-radius: 8px;
    margin-left: 15px !important;
    transition: all 0.5s ease;
    font-size: 18px;
    border: 1px solid #1F92BF;
	background: #232323;
}

a.login-btn-cus:hover {
	background: #2fb6eb;
	color: #fff;
	text-decoration: none;
}

.woocommerce-breadcrumb {
  margin: 50px 0 30px !important;
  display: none;
}

.woocommerce.search-results ul.products li.product .price {
	padding: 0 13px;
}

.woocommerce ul.products li.product a img {
	background: #000;
	transition: transform 0.8s ease;
	transform: rotate(0deg) translateX(0px) translateY(0px);
}

.woocommerce ul.products li.product.effectOn a img {
	transform: rotate(-20deg) translateX(56px) translateY(40px);
}

.woocommerce ul.products li.product .image-box {
    overflow: hidden;
	background: #000;
	margin: 0 0 20px;
}

.woocommerce .products-section ul.products li.product .image-box {
	/* height: 220px; */
	margin: 0 0 10px;
}

/* --- MENU DRAWER --- */
.mobile-nav {
	position: fixed;
	top: 0px; 
	left: -100%;
	width: 100%;
	height: 100%;
	background-color: #111;
	transition: 0.4s ease;
	overflow-y: auto;
	z-index: 9999999;
	padding: 60px 0;
}

.toggle-menu-mobile {
	display: none;
}

.toggle-menu-mobile svg {
    width: 43px;
}

.mobile-nav.is-open { left: 0; }

.mobile-nav .nav-list {
  margin: 0;
  padding: 0;
}

/* --- LINKS & TYPOGRAPHY --- */
.nav-list { list-style: none; }

/* Level 1 Links (Main Menu) */
.nav-link {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 18px 20px;
	color: #fff;
	text-decoration: none;
	font-size: 16px;
	border-bottom: 1px solid #222;
	background: #111;
	transition: background 0.2s;
}
.nav-link:hover { color: #fff; }
.text-blue { color: #3498db; }

.sub-link.accordion-toggle:hover {
	text-decoration: none;
}

/* Accordion Toggle Icons (+ / -) */
.accordion-toggle::after {
	content: '+';
	font-size: 18px;
	color: #666;
	transition: 0.3s;
}

/* --- SUBMENUS (Hidden by default) --- */
.submenu {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-out;
	background-color: #1a1a1a; /* Lighter grey for hierarchy */
}

/* Level 2 Links (The 3 Columns: Products, Goals, Brands) */
.sub-link {
	padding: 15px 30px; /* More indentation */
	font-size: 15px;
	color: #ddd;
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-decoration: none;
	border-bottom: 1px solid #2a2a2a;
}
.sub-link:hover { color: #fff; }

/* --- DEEP NESTED SUBMENU (The actual items) --- */
.deep-submenu {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-out;
	background-color: #000; /* Darkest for final items */
}

/* Level 3 Links (Protein, Fat Burner, etc.) */
.deep-link {
	display: block;
	padding: 12px 20px 12px 45px; /* Deep indentation */
	color: #aaa;
	font-size: 14px;
	text-decoration: none;
	border-bottom: 1px solid #111;
}
.deep-link:hover {
	color: #3498db;
	padding-left: 50px;
	transition: 0.2s;
}

/******* header css close ******/

a.default-lik {
    font-size: 1.1rem;
    color: #007bff;
    text-decoration: none;
	transition: all 0.5s ease;
}

a.default-lik:hover {
	color: #fa4616;
}

.btn-section a.default-lik {
    margin-left: 20px;
}

/******* scroll animation css start *******/

.slide-top {
    transform: translateY(50px);
    transition: all 1.1s ease;
    opacity: 0;
}

.slide-top.animated {
	transform: translateY(0px);
	opacity: 1;
}

.slide-left {
    transform: translateX(-50px);
	transition: all 1.1s ease;
    opacity: 0;
}

.slide-right {
    transform: translateX(50px);
	transition: all 1.1s ease;
    opacity: 0;
}

.slide-left.animated,
.slide-right.animated {
	transform: translateX(0px);
	opacity: 1;
}

/******* scroll animation css close *******/

/*** banner ***/

.banner-slider {
    width: 100%;
	position: relative;
}

.slider-item {
	position: relative;
}

.banner-up {
    padding: 0;
	margin: 0 0 66px;
}

.banner-slider .slide-content img {
	width: 100%;
	border: 0px solid #383838;
    border-radius: 0;
	/* height: 504px;
    object-fit: cover; */
}

.shop-now-btn {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 180px;
}

.shop-now-btn a {
    background: #fff;
    color: #000 !important;
    text-decoration: none;
    padding: 7px 26px;
    font-size: 18px;
    font-weight: 700;
    border-radius: 7px;
}

.banner-slider .slide-content img.mobile-baner {
	display: none;
}

.custom-dots-container {
    display: flex;
	margin: 24px auto 0;
	width: 1186px;
}

.custom-dots-container .custom-dot {
    width: 35px;
    border: 1px solid #424242;
    overflow: hidden;
    border-radius: 100%;
    position: relative;
    transition: all 0.5s ease;
    height: 36px;
    margin-right: 14px;
}

.custom-dots-container .custom-dot img {
	width: 100%;
	height: 47px;
	object-fit: cover;
}

.custom-dots-container .custom-dot.active {
	border-radius: 15px 15px 15px 15px;
}

.custom-dots-container .custom-dot:before {
    content: '';
    background: #000;
    position: absolute;
    height: 100%;
    width: 100%;
    opacity: 0.7;
	transition: all 0.3s ease;
}

.custom-dots-container .custom-dot.active:before {
	opacity: 0;
}

.banner-main {
    display: flex;
	justify-content: space-between;
	margin-bottom: 64px;
}

.banner-main .slick-next,
.products-grid .slick-next,
.product-gallery-section .slick-next,
.woocommerce-product-gallery__wrapper .slick-next,
.thleat-box-main .slick-next {
	right: 11%;
    top: auto;
    bottom: -70px;
	transform: translate(0, 0%);
    width: 36px;
    height: 36px;
    border-radius: 100%;
    border: 1px solid #757575;
	background: #242424 url('images/icons/slide-arrow-lft.svg') no-repeat;
	background-position: center;
	z-index: 9999;
}

.banner-main .slick-prev,
.products-grid .slick-prev,
.product-gallery-section .slick-prev,
.woocommerce-product-gallery__wrapper .slick-prev,
.thleat-box-main .slick-prev {
    left: auto;
    right: 14%;
    bottom: -70px;
    top: auto;
    z-index: 9;
    transform: translate(0, 0%) rotate(180deg);
    width: 36px;
    height: 36px;
    border-radius: 100%;
    border: 1px solid #757575;
	background: #242424 url('images/icons/slide-arrow-lft.svg') no-repeat;
	background-position: center;
	z-index: 9999;
}

.woocommerce-product-gallery__wrapper .slick-next:before,
.woocommerce-product-gallery__wrapper .slick-prev:before,
.thleat-box-main .slick-prev:before,
.thleat-box-main .slick-next:before {
	display: none;
}

.woocommerce-product-gallery__wrapper .slick-next {
	bottom: auto;
	right: 22px;
	top: 50%;
	transform: translateY(-50%);
}

.woocommerce-product-gallery__wrapper .slick-prev {
	bottom: auto;
	left: 22px;
	top: 50%;
	transform: translateY(-50%) rotate(-180deg);
}

.products-grid .slick-prev {
	right: 45px;
}

.products-grid .slick-next {
	right: 0;
}

.product-gallery-section .slick-prev {
	right: 77px;
	bottom: 20px;
}

.product-gallery-section .slick-next {
	right: 15px;
	bottom: 20px;
}

.banner-main .slick-prev:before, 
.banner-main .slick-next:before,
.products-grid .slick-prev:before, 
.products-grid .slick-next:before,
.product-gallery-section .slick-next:before,
.product-gallery-section .slick-prev:before {
	opacity: 0;
}

.products-grid .slick-dots {
	text-align: left;
	bottom: -54px;
}

.product-gallery-section .slick-dots {
	bottom: 30px;
    left: 16px;
	text-align: left;
}

.products-grid .slick-dots li,
.product-gallery-section .slick-dots li {
    position: relative;
    display: inline-block;
    width: 8px;
    height: 8px;
    margin: 0;
    padding: 0;
    cursor: pointer;
    margin-right: 10px;
}

.products-grid .slick-dots li button,
.product-gallery-section .slick-dots li button {
    width: 8px;
    height: 8px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: #A3A3A3;
    border-radius: 100%;
	opacity: 0.5;
}

.products-grid .slick-dots li.slick-active button,
.product-gallery-section .slick-dots li.slick-active button {
	opacity: 1;
}

.coupan-box {
    width: 100%;	
	display: flex;
    align-items: center;
    border-radius: 14px;
    border: 0px solid #2d2d2d;
	padding: 0;
    margin: 0px 0 64px;
}

.coupan-box .coupan-items {
	width: 100%;
	justify-content: space-between;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.coupan-box .coupan-items .coupan-cmn {
	text-align: center;
	background: url('images/coupan-bg.png');
	width: 100%;
	padding: 22px 30px;
    border: 1px solid #292929;
    border-radius: 10px;
	display: flex;
    justify-content: space-between;
    align-items: center;
}

.coupan-box .coupan-items .coupan-cmn .first-box {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.coupan-box .coupan-items .coupan-cmn .first-box h2 {
    color: #c4d3d8;
    margin: 0;
    text-transform: uppercase;
    font-size: 28px;
	font-family: 'Impact';
	letter-spacing: 2px;
}

.coupan-box .coupan-items .coupan-cmn .first-box p {
	color: #2fa7b4;
	text-transform: uppercase;
	margin: -4px 0 0;
	margin-left: 20px;
	font-size: 20px;
}

.shop-btn {
    font-size: 16px;
    color: #fff;
    text-decoration: none;
    border: 1px solid #fff;
    padding: 11px 25px;
    display: inline-block;
    margin: 0;
    border-radius: 10px;
    transition: all 0.5s ease;
	font-weight: 500;
}

.shop-btn svg {
    width: 18px;
    height: 18px;
}

.shop-btn:hover {
	background: #2fb6eb;
	color: #fff;
	text-decoration: none;
	border: 1px solid #2fb6eb;
}

.mini-title {
    font-size: 18px;
    font-weight: 500;
    text-transform: uppercase;
    color: #A3A3A3;
    margin: 0 0 16px;
}

.stripe-box {
    padding: 28px 0 26px;
    transform: translateX(92px);
    transition: all 0.5s ease;
	opacity: 0;
}

.stripe-box.animated {
	opacity: 1;
	transform: translateX(0px);
}

.stripe-box .mobile-stripe {
    display: none;
}

.stripe-box svg {
    width: 100%;
}

.stk-catry {
    display: flex;
    justify-content: space-between;
	margin: 0 0 64px;
}

.stk-catry .ctr-items {
    width: 23.9%;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
	transition: all 0.5s ease;
	transform: scale(1);
	top: 30px;
    opacity: 0;
}

/* .stk-catry .ctr-items:nth-child(2) {
	transition-delay: 0.2s;
}

.stk-catry .ctr-items:nth-child(3) {
	transition-delay: 0.4s;
}

.stk-catry .ctr-items:nth-child(4) {
	transition-delay: 0.6s;
} */

.stk-catry.animated .ctr-items {
	top: 0px;
    opacity: 1;
}

.stk-catry .ctr-items:hover {
	transform: scale(1.1);
}

.stk-catry .ctr-items img {
    width: 100%;
    border: 1px solid #2c2c2c;
}

.stk-catry .ctr-items h3 {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    font-size: 20px;
    color: #fff;
    width: 74%;
    text-align: center;
    background: #292929;
    margin: 0;
    padding: 10px 10px;
    border-radius: 15px 15px 0 0;
	transition: all 0.5s ease;
}

.stk-catry .ctr-items:hover h3 {
	background: #217698;
}

.why-chsu {
    display: flex;
    justify-content: space-between;
	margin: 0px;
}

.stripe-box.box2 {
    margin: 0 0 38px;
	transform: translateX(-92px);
    transition: all 0.5s ease;
	opacity: 0;
}

.stripe-box.box2.animated {
	opacity: 1;
	transform: translateX(0px);
}

.why-chsu .ctr-items {
    width: 23.8%;
    text-align: center;
    padding: 23px 40px;
    background: #242424;
    border-radius: 13px;
	transition: all 0.5s ease;
	transform: scale(1);
}

.why-chsu .ctr-items:hover {
	transform: scale(1.1);
	background: #494949;
}

.why-chsu .ctr-items h3 {
	font-size: 20px;
    color: #9D9D9A;
    font-weight: 500;
    margin: 6px 0 0;
}

.why-chsu .ctr-items img {
    
}

.shop-brands {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	margin: 0 0 50px;
}

.shop-brands .ctr-items {
    width: 24%;
    text-align: center;
    margin: 0 0 0px;
	transition: all 0.5s ease;
	top: 25px;
	position: relative;
	opacity: 0;
}

.shop-brands .ctr-items:nth-child(2) {
	transition-delay: 0.2s;
}

.shop-brands .ctr-items:nth-child(3) {
	transition-delay: 0.4s;
}

.shop-brands .ctr-items:nth-child(4) {
	transition-delay: 0.6s;
}

.shop-brands .ctr-items:nth-child(5) {
	transition-delay: 0.8s;
}

.shop-brands .ctr-items:nth-child(6) {
	transition-delay: 1s;
}

.shop-brands .ctr-items:nth-child(7) {
	transition-delay: 1.2s;
}

.shop-brands .ctr-items:nth-child(8) {
	transition-delay: 1.4s;
}

.shop-brands.animated .ctr-items {
	opacity: 1;
	top: 0px;
}

.animation-top,
.anibox-top {
	transform: translateY(25px);
	opacity: 0;
	transition: all 0.5s ease;
}

.animation-top.animated,
.animated .anibox-top {
	transform: translateY(0px);
	opacity: 1;
}

.shop-brands .ctr-items img {
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), filter 0.4s ease;
}

.shop-brands .ctr-items:hover img {
    transform: skew(-5deg, -5deg);
    filter: drop-shadow(1px 3px 2px rgba(255, 255, 255, 1));
}

.mini-title img {
    margin-left: 18px;
}

/**** shop page ****/

.shop-container {
    display: flex;
    justify-content: space-between;
    gap: 40px;
	margin: 50px 0 0;
}

.shop-container .shop-sidebar {
    width: 28%;
	position: relative;
    padding-right: 64px;
}

.close-btn {
	display: none;
}

.shop-container .shop-sidebar:before {
	content: '';
	width: 1px;
	height: 96.5%;
	background: #4b4b4b;
	position: absolute;
	right: 0;
	bottom: 0;
}
 
.products-header {
    display: flex;
    justify-content: flex-end;
	margin: 0 0 10px;
}
 
.products-header select {
    background: url(images/icons/CaretDown.svg) no-repeat;
    border: 0px solid #4b4b4b;
    color: #fff;
    padding: 10px;
    width: 90px;
    -webkit-appearance: none;
    background-position: center right 3px;
    background-size: 18px;
}

.filter-box {
  width: 27px;
  margin: 9px 20px 0 0px;
  display: none;
}

.products-header select option {
	background: #000;
	color: #fff;
}

.shop-container .shop-main {
    width: 72%;
	padding: 10px 0 0;
}

.title-box {
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 0;
    display: flex;
    justify-content: space-between;
}

.clear-filter-btn {
    color: #ffffff;
    font-weight: 600;
    cursor: pointer;
    background: transparent;
    padding: 0;
    font-size: 16px;
    text-transform: initial;
}

.clear-filter-btn:hover {
	background: transparent;
}

.title-box h3,
.title-min {
    font-size: 18px;
    color: #A3A3A3;
    text-transform: uppercase;
}

.aft-img img {
    margin: 42px 0 0;
	width: 100%;
}

.afiliate-ppr {
    padding-right: 60px;
}

.slicewp-nav-tab-wrapper .slicewp-nav-tab a:hover, 
.slicewp-nav-tab-wrapper .slicewp-nav-tab a:focus, 
.slicewp-nav-tab-wrapper .slicewp-nav-tab.slicewp-active a {
	border-bottom: 2px solid #fff !important;
	color: #fff !important;
}

body table.slicewp-list-table {
	color: #fff;
}

.page-template-default .entry-content p,
.page-template-default .entry-content h2,
.page-template-default .entry-content h3,
.page-template-default .entry-content {
    color: #fff;
}

.page-template-default .entry-content #slicewp-affiliate-account {
	color: #000;
}

.page-template-default .entry-content h2 {
    font-size: 1.5rem;
}

.page-template-default .entry-content h3 {
    font-size: 1.3rem;
}

.page-template-default .entry-content p {
    line-height: 26px;
}

.page-template-default main {
    margin: 70px 0 0;
}

.afiliate-ppr label,
span.description {
	font-size: 16px;
    color: #A3A3A3;
	font-weight: 500;
	margin: 0 0 5px;
}

.aft-content {
    background: rgba(41, 41, 41, 1);
    border: 1px solid;
    border-radius: 13px;
    padding: 0px 0px 30px;
	margin: 0 0 20px;
}

.slicewp-user-notice.slicewp-warning {
    background: rgba(41, 41, 41, 1) !important;
    border-color: #393939 !important;
    color: #000 !important;
}

.slicewp-list-table-pagination span {
    color: #fff;
}

.aft-content .conten-in {
    padding: 0 15px;
}

.aft-content img {
    margin: 0 0 16px !important;
    border-radius: 13px 13px 0 0;
    border-bottom: 1px solid;
}

.aft-content h2 {
    margin: 0 0 12px;
    color: rgba(163, 163, 163, 1);
    font-size: 18px;
    text-transform: uppercase;
}

.aft-content p {
    color: #fff;
    font-size: 14px;
    margin: 0 0 8px;
	line-height: 22px;
}

.aft-content h4 {
    color: #fff;
    margin: 0;
    font-size: 16px;
    font-weight: 400;
	line-height: 22px;
}

.aft-content ol {
    padding: 10px 0 0;
    margin: 0;
    margin-left: 16px;
}

.aft-content ol li {
	color: #fff;
    font-size: 14px;
}

/* .aft-content ol li.red {
    color: rgba(255, 146, 148, 1);
} */

.aft-img {
    padding-left: 70px;
    padding-top: 40px;
}

span.description {
    display: block;
    margin: -11px 0 5px !important;
    position: relative;
    top: 0;
}

.afiliate-ppr .form-row {
	margin: 0 0 12px;
    width: 100%;
}

textarea.wpcf7-textarea {
    height: 70px;
    resize: none;
    background: rgba(235, 235, 235, 1);
	border-radius: 7px;
}

span.wpcf7-list-item-label {
    font-size: 14px;
    color: #fff;
    font-weight: 500;
    line-height: 10px;
}

.form-group.consent-group.ckh-bx p {
    line-height: 19px;
}

.afiliate-ppr .form-row p {
	width: 100%;
}

input.wpcf7-form-control.wpcf7-submit {
    background: rgba(57, 137, 178, 1);
    width: 100%;
    color: rgba(5, 23, 31, 1);
	font-size: 18px;
	font-weight: 500;
	margin: 3px 0 0;
    text-transform: inherit;
}

.form-group.consent-group.ckh-bx a {
	color: #1f92bf;
}

.sub-field.sps-inst {
    margin: 0 0 15px;
}

.afiliate-ppr .form-row .form-group {
    width: 100%;
	margin: 0 0 0;
}

select.wpcf7-form-control.wpcf7-select {
    background: rgba(235, 235, 235, 1) url('images/icons/drop-down-arrow.svg') no-repeat;
    width: 100%;
    padding: 12px 20px;
    border-radius: 5px;
    -webkit-appearance: none;
	    background-position: center right 16px;
}

.afiliate-ppr .form-row .form-group p {
    margin: 0 0 4px;
}

.afiliate-ppr .form-row .form-group  p.clck-No {
    display: none;
    color: rgba(255, 87, 87, 1);
    font-size: 16px;
}

.afiliate-ppr .form-row .form-group input {
    width: 100%;
    padding: 8px 6px;
    border-radius: 7px;
	background: rgba(235, 235, 235, 1);
}

.form-group.cst-btn span.wpcf7-list-item input,
.form-group.ckh-bx input {
    position: absolute;
    left: 0;
    top: 0;
    visibility: hidden;
}

ul.slicewp-field-radio-wrapper li {
	display: inline-block;
    margin-right: 15px;
}

.page-template-afiliate-page-template .slicewp-field-has-description > h4 {
    color: #fff;
}

.slicewp-field-description > :last-child {
    margin-bottom: 0;
    color: #818181;
}

button.slicewp-button-primary {
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
    padding: 14px 10px;
    background: rgba(57, 137, 178, 1);
    color: rgba(5, 23, 31, 1);
    font-size: 18px;
    margin: 0 0 20px;
    border-radius: 7px;
}

button.slicewp-button-primary:hover {
	color: #fff !important;
}

.wpcf7-form-control-wrap {
    position: relative;
}

.form-group.cst-btn span.wpcf7-list-item {
	margin: 0;
}

.form-group.cst-btn span.wpcf7-list-item label {
	position: relative;
}

.form-group.cst-btn span.wpcf7-list-item span.wpcf7-list-item-label {
    margin: 0;
    position: relative;
    padding-left: 31px;
    margin-right: 20px;
    font-size: 16px;
}

.form-group.cst-btn span.wpcf7-list-item span.wpcf7-list-item-label:before {
    content: '';
    position: absolute;
    width: 22px;
    height: 22px;
    background: #fff;
    border-radius: 100%;
    left: 0;
    top: 0px;
    border: 5px solid #eee;
}

.form-group.ckh-bx span.wpcf7-list-item {
	position: relative;
    margin: 0;
    padding-left: 25px;
	margin-right: 18px;
	margin-bottom: 4px;
}

span.wpcf7-list-item-label {
    color: #fff;
    font-size: 16px;
    font-weight: 500;
}

.form-group.ckh-bx span.wpcf7-list-item span.wpcf7-list-item-label:before {
    content: '';
    position: absolute;
    width: 18px;
    height: 18px;
    background: #fff;
    left: 0;
    top: 5px;
    border: 2px solid #eee;
}

.form-group.ckh-bx span.wpcf7-list-item span.wpcf7-list-item-label:after {
    content: '';
    position: absolute;
    left: 5px;
    top: 5px;
    width: 0px;
    height: 15px;
    border: 4px solid blue;
    border-left: 0;
    border-top: 0;
    transform: rotate(45deg);
	transition: all 0.5s ease;
	opacity: 0;
}

.form-group.ckh-bx span.wpcf7-list-item.active span.wpcf7-list-item-label:after {
	width: 8px;
	opacity: 1;
}

.form-group.cst-btn span.wpcf7-list-item.active span.wpcf7-list-item-label:before {
    background: #1f92bf !important;
    color: white;
}

.pro-count-sidebar {
    font-size: 14px;
    color: #fff;
    border-bottom: 1px solid #4b4b4b;
    padding: 0px 0 20px;
    margin: 0 0 22px;
}

.pro-count-sidebar span#products-count-text {
    color: #fff;
    font-size: 14px;
}

.search-box-f {
    width: 100%;
}

.top-space {
	margin-top: 50px !important;
}

 /* faq Header Styles */
.faq-header {
	padding: 30px;
	text-align: center;
	background-color: #f5f5f5;
	border-bottom: 1px solid #eaeaea;
}

.faq-header h1 {
	font-size: 2.5rem;
	font-weight: 700;
	margin-bottom: 10px;
	color: #222;
}

.faq-header h2 {
	font-size: 1.5rem;
	font-weight: 400;
	color: #666;
}

/* Accordion Styles */
.faq-accordion {
	padding: 0;
}

.faq-item {
	border-bottom: 1px solid #a6a6a6;
}

.faq-question {
	padding: 12px 0;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: background-color 0.3s;
}

.faq-question h3 {
    font-size: 18px;
    font-weight: 700;
    margin: 0;
    color: rgba(47, 182, 235, 1);
}

.faq-toggle {
	font-size: 1.5rem;
	font-weight: 300;
	transition: transform 0.3s;
}

.faq-answer {
	padding: 0px;
	color: #fff;
	display: none;
}

.faq-answer p,
.faq-answer li {
	padding-bottom: 20px;
	margin: 0;
	color: #fff;
	font-size: 17px;
}

.faq-answer li {
    margin: 0;
    padding: 0 0 2px !important;
}

.faq-answer ul,
.faq-answer ol {
	padding: 0;
	margin: 0;
	margin-left: 16px;
	margin-bottom: 10px;
}

.faq-question span {
    color: #fff;
    font-size: 26px;
	transition: all 0.5s ease;
}

.faq-item.active span {
	transform: rotate(180deg);
}

.search-box-f input {
    width: 100%;
    background: #000 url('images/icons/search-icon.svg') no-repeat;
    border: 1px solid #4b4b4b;
    padding: 11px 49px;
    border-radius: 7px;
    background-position: center left 13px;
    background-size: 20px;
    font-size: 16px;
    color: #949494;
}

.sidebar-section {
    border-bottom: 1px solid #4b4b4b;
    padding: 0 0 20px;
    margin: 0 0 30px;
}

.range-inputs {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}

.input-group-f {
    display: flex;
}

.input-group-f input {
    border: 0;
    background: transparent;
    width: auto;
	padding: 0;
}

.price-range {
	padding: 0 20px;
}

.range-input input[type="range"]::-webkit-slider-thumb {
	height: 17px;
	width: 17px;
	border-radius: 50%;
	background: #fff;
	pointer-events: auto;
	-webkit-appearance: none;
	cursor: pointer;
	border: 2px solid #6B6B6B;
}

.range-input input[type="range"]::-moz-range-thumb {
	height: 17px;
	width: 17px;
	border-radius: 50%;
	background: #fff;
	pointer-events: auto;
	cursor: pointer;
	border: 2px solid #6B6B6B;
}

.price-slider-container {
	position: relative;
	margin: 20px 0;
}

.price-slider {
	height: 6px;
	border-radius: 0px;
	position: relative;
	background: #fff;
}

.range-input {
	position: relative;
}

.range-input input[type="range"] {
	position: absolute;
	top: -6px;
	height: 6px;
	width: 100%;
	background: none;
	pointer-events: none;
	-webkit-appearance: none;
	border: 0;
}

.availability-filters span {
    width: 18px;
    height: 18px;
    background: #000000;
    display: inline-block;
    border-radius: 4px;
    border: 1px solid #6B6B6B;
	position: relative;
	top: 3px;
}

.availability-filters span:before {
    content: '';
    width: 0px;
    height: 0px;
    position: absolute;
    left: 5px;
    top: 1px;
    border: 3px solid #1f92bf;
    border-top: 0;
    border-left: 0;
    transform: rotate(45deg);
	transition: all 0.5s ease;
	opacity: 0;
}

.availability-filters input[type=checkbox]:checked + span:before {
	width: 6px;
    height: 11px;
	opacity: 1;
}

.availability-filters input[type=checkbox] {
    position: absolute;
    visibility: 0;
	opacity: 0;
}

.availability-filters label {
    color: #fff;
    font-size: 16px;
    font-weight: 400 !important;
    margin-left: 3px;
}

/** contact Form **/

/* Container Background */
.custom-dark-form {
    background-color: #1e1e1e;
    padding: 30px;
    border-radius: 8px;
    max-width: 100%;
    margin: 40px auto 0;
    font-family: sans-serif;
    border: 1px solid;
}

.wpcf7-response-output {
    color: #fff;
}

.contact-form form.wpcf7-form {
    max-width: 800px;
    margin: 0 auto;
}

.custom-dark-form h2 {
    font-size: 24px;
    font-weight: 500;
    color: rgba(163, 163, 163, 1);
    text-transform: uppercase;
    margin: 0 0 15px;
}

/* Typography */
.custom-dark-form label {
    color: #cccccc; /* Light grey text */
    font-size: 14px;
    margin-bottom: 5px;
    display: block;
}

/* Input Fields styling */
.custom-dark-form input[type="text"],
.custom-dark-form input[type="email"],
.custom-dark-form input[type="tel"],
.custom-dark-form textarea {
    border-radius: 6px; /* Rounded corners */
    padding: 12px 15px;
    width: 100%;
    box-sizing: border-box; /* Ensures padding doesn't break width */
    margin-bottom: 0px;
    color: #fff;
    font-size: 15px;
	border: 1px solid #b7b7b7;
}

/* Remove default focus outline and add subtle one */
.custom-dark-form input:focus,
.custom-dark-form textarea:focus {
    outline: none;
}

/* Layout: Two Column setup for Name/Email */
.form-row-two {
    display: flex;
    gap: 20px; /* Space between name and email */
    margin-bottom: 15px;
}

.form-col {
    width: 50%;
}

/* Specific fix for the Textarea height */
.custom-dark-form textarea {
    height: 150px;
    resize: vertical;
	Background: transparent;
	border: 1px solid #b7b7b7;
	color: #fff;
}

/* Submit Button Styling */
.custom-dark-form input[type="submit"] {
    background-color: #3b8dbd;
    color: #222;
    border: none;
    padding: 12px 0;
    width: 70%;
    border-radius: 4px;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.3s ease;
    margin: 0 auto;
    display: block;
}

.custom-dark-form input[type="submit"]:hover {
    background-color: #4da3d4; /* Lighter blue on hover */
}

.form-row.full-box p {
    width: 100%;
}

.custom-dark-form .form-col p {
    margin: 0;
}

/* Mobile Responsiveness - Stacks Name and Email on phones */
@media (max-width: 600px) {
    .form-row-two {
        flex-direction: column;
        gap: 0;
    }
    .form-col {
        width: 100%;
    }
}

/* Range Inputs Container */
.range-inputs {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	margin-top: 15px;
}

.input-group-f {
	display: flex;
	align-items: center;
	gap: 5px;
}

.price-display-text {
    font-size: 18px;
    color: #ffffff;
	margin: 0;
}

.input-group-f label {
    color: #ffffff;
    font-size: 18px;
    margin: 0;
}

.price-slider .progress {
    height: 6px;
    background: #818181;
    border-radius: 0;
    position: absolute;
    left: 0%;
    right: 0%;
    border: 0;
}

/***** wishlist page *****/

.woocommerce .wishlist-title h2 {
	font-size: 0;
}

/* ===========================
   WISHLIST PAGE - REDESIGNED
   =========================== */

.yith-wcwl-form .wishlist_table {
  border: none !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: transparent !important;
  width: 100% !important;
}

.yith-wcwl-form .wishlist_table thead {
  display: none !important;
}

.yith-wcwl-form .wishlist_table tbody {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

.yith-wcwl-form .wishlist-items-wrapper tr {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  background: #1a1a1a !important;
  border: 1px solid #2e2e2e !important;
  border-radius: 14px !important;
  padding: 14px !important;
  gap: 14px !important;
  transition: border-color 0.2s ease !important;
}
.yith-wcwl-form .wishlist-items-wrapper tr:hover {
  border-color: #3a8fb5 !important;
}

.yith-wcwl-form .wishlist_table td.product-thumbnail {
  flex: 0 0 80px !important;
  width: 80px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}
.yith-wcwl-form .wishlist_table td.product-thumbnail a {
  display: block !important;
}
.yith-wcwl-form .wishlist_table td.product-thumbnail img {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  border-radius: 10px !important;
  display: block !important;
}

.yith-wcwl-form .wishlist_table td.product-name {
  flex: 1 1 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}
.yith-wcwl-form .wishlist_table td.product-name a {
  display: block !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  margin-bottom: 4px !important;
  line-height: 1.3 !important;
}
.yith-wcwl-form .wishlist_table td.product-name a:hover {
  color: #3a8fb5 !important;
}

.yith-wcwl-form .wishlist_table td.product-price {
  flex: 0 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  color: #3a8fb5 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

.yith-wcwl-form .wishlist_table td.product-stock-status {
  flex: 0 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}
.yith-wcwl-form .wishlist_table td.product-stock-status .wishlist-in-stock {
  background: rgba(34,197,94,0.12) !important;
  color: #22c55e !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: 3px 10px !important;
  border-radius: 20px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  white-space: nowrap !important;
}
.yith-wcwl-form .wishlist_table td.product-stock-status .wishlist-out-of-stock,
.yith-wcwl-form .wishlist_table td.product-stock-status .out-of-stock {
  background: rgba(239,68,68,0.12) !important;
  color: #ef4444 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: 3px 10px !important;
  border-radius: 20px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  white-space: nowrap !important;
}

.yith-wcwl-form .wishlist_table td.product-add-to-cart {
  flex: 0 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}
.yith-wcwl-form .wishlist_table td.product-add-to-cart a,
.yith-wcwl-form .wishlist_table td.product-add-to-cart .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #1a6ffa !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 9px 18px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  border: none !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
  white-space: nowrap !important;
}
.yith-wcwl-form .wishlist_table td.product-add-to-cart a:hover,
.yith-wcwl-form .wishlist_table td.product-add-to-cart .button:hover {
  background: #1558d0 !important;
}

.yith-wcwl-form .wishlist_table td.product-remove {
  flex: 0 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  order: 10 !important;
}
.yith-wcwl-form .wishlist_table td.product-remove a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  background: rgba(239,68,68,0.1) !important;
  color: #ef4444 !important;
  border-radius: 8px !important;
  font-size: 18px !important;
  text-decoration: none !important;
  transition: background 0.2s ease !important;
}
.yith-wcwl-form .wishlist_table td.product-remove a:hover {
  background: rgba(239,68,68,0.25) !important;
}

@media (max-width: 600px) {
  .yith-wcwl-form .wishlist-items-wrapper tr {
    flex-wrap: wrap !important;
    gap: 10px !important;
  }
  .yith-wcwl-form .wishlist_table td.product-name {
    flex: 1 1 calc(100% - 100px) !important;
  }
}

.yith-wcwl-share { display: none; }

/* CBS: Fix wishlist name truncation and card width */
.wishlist_table tbody tr .product-name a {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  word-break: break-word !important;
}
.wishlist_table tbody tr {
  overflow: visible !important;
}

/* Make wishlist use horizontal card layout like cart (override grid) */
.yith-wcwl-form .wishlist_table tbody,
.yith-wcwl-form .wishlist-items-wrapper {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  background: transparent !important;
}
.yith-wcwl-form .wishlist_table tbody tr,
.yith-wcwl-form .wishlist-items-wrapper tr {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  background: #181818 !important;
  border: 1px solid #2c2c2c !important;
  border-radius: 14px !important;
  padding: 14px !important;
  gap: 14px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.yith-wcwl-form .wishlist_table tbody tr:hover,
.yith-wcwl-form .wishlist-items-wrapper tr:hover {
  border-color: #1a6ffa !important;
}
.yith-wcwl-form .wishlist_table td.product-thumbnail,
.yith-wcwl-form .wishlist-items-wrapper td.product-thumbnail {
  flex: 0 0 80px !important;
  min-width: 80px !important;
  display: block !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.yith-wcwl-form .wishlist_table td.product-name,
.yith-wcwl-form .wishlist-items-wrapper td.product-name {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  overflow: visible !important;
}
.yith-wcwl-form .wishlist_table td.product-name a {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  word-break: break-word !important;
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  text-decoration: none !important;
}
.yith-wcwl-form .wishlist_table td.product-price,
.yith-wcwl-form .wishlist-items-wrapper td.product-price {
  flex: 0 0 auto !important;
  min-width: 80px !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  color: #3a8fb5 !important;
  font-weight: 700 !important;
  text-align: right !important;
}
.yith-wcwl-form .wishlist_table td.product-stock-status,
.yith-wcwl-form .wishlist-items-wrapper td.product-stock-status {
  flex: 0 0 auto !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.yith-wcwl-form .wishlist_table td.product-add-to-cart,
.yith-wcwl-form .wishlist-items-wrapper td.product-add-to-cart {
  flex: 0 0 auto !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.yith-wcwl-form .wishlist_table td.product-remove,
.yith-wcwl-form .wishlist-items-wrapper td.product-remove {
  flex: 0 0 32px !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/***** cart page *****/

/* ============================================
   CART PAGE - FULL REDESIGN
   Mobile-first, inspired by CBS product pages
   ============================================ */

/* --- Page layout --- */
.woocommerce-cart .wc-block-components-sidebar-layout,
.wp-block-woocommerce-filled-cart-block.wc-block-cart {
  display: flex !important;
  flex-direction: row !important;
  gap: 24px !important;
  align-items: flex-start !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 16px !important;
}

/* --- Main cart items pane --- */
.wc-block-cart__main {
  flex: 1 1 0% !important;
  min-width: 0 !important;
}

/* --- Cart items table: turn into card list --- */
table.wc-block-cart-items {
  width: 100% !important;
  border: none !important;
  border-collapse: separate !important;
  border-spacing: 0 12px !important;
  background: transparent !important;
}

table.wc-block-cart-items thead {
  display: none !important;
}

table.wc-block-cart-items tbody {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

/* --- Individual cart item card --- */
table.wc-block-cart-items tr.wc-block-cart-items__row {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  background: #181818 !important;
  border: 1px solid #2c2c2c !important;
  border-radius: 16px !important;
  padding: 16px !important;
  gap: 16px !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
  position: relative !important;
  overflow: visible !important;
}
table.wc-block-cart-items tr.wc-block-cart-items__row:hover {
  border-color: #1a6ffa !important;
  box-shadow: 0 0 0 1px rgba(26,111,250,0.18) !important;
}

/* --- Product image cell --- */
td.wc-block-cart-item__image {
  flex: 0 0 90px !important;
  width: 90px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  display: flex !important;
  align-items: flex-start !important;
}
td.wc-block-cart-item__image a {
  display: block !important;
}
td.wc-block-cart-item__image img {
  width: 90px !important;
  height: 90px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  display: block !important;
  border: 1px solid #2a2a2a !important;
}

/* --- Product details cell --- */
td.wc-block-cart-item__product {
  flex: 1 1 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  min-width: 0 !important;
}

.wc-block-cart-item__wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  height: 100% !important;
}

/* Product name */
a.wc-block-components-product-name {
  display: block !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}
a.wc-block-components-product-name:hover {
  color: #1a6ffa !important;
}

/* Price row */
.wc-block-cart-item__prices {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
.wc-block-cart-item__prices .wc-block-components-product-price {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #3a8fb5 !important;
}
del.wc-block-components-product-price__regular {
  color: #666 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}
.wc-block-components-product-price__value.is-discounted {
  color: #22c55e !important;
}

/* Selected options / variations */
.wc-block-components-product-metadata {
  display: block !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}
.wc-block-components-product-metadata__description {
  display: block !important;
}
.wc-block-components-product-metadata__description ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.wc-block-components-product-metadata__description ul li {
  display: inline-flex !important;
  align-items: center !important;
  background: rgba(26,111,250,0.1) !important;
  border: 1px solid rgba(26,111,250,0.25) !important;
  color: #a0c4e8 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: 3px 10px !important;
  border-radius: 20px !important;
  letter-spacing: 0.3px !important;
  white-space: nowrap !important;
}

/* Variation attributes (key:value pairs from block data) */
.wc-block-components-product-metadata .wc-block-components-product-variation {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.wc-block-components-product-metadata .wc-block-components-product-variation-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  background: rgba(58,143,181,0.12) !important;
  border: 1px solid rgba(58,143,181,0.28) !important;
  color: #a0c4e8 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: 3px 10px !important;
  border-radius: 20px !important;
}
.wc-block-components-product-metadata .wc-block-components-product-variation-item__name {
  color: #7fb3cc !important;
  text-transform: uppercase !important;
  font-size: 10px !important;
}
.wc-block-components-product-metadata .wc-block-components-product-variation-item__value {
  color: #d4eaf5 !important;
}

/* Per-item discount badge */
.cbs-item-discount-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  background: rgba(34,197,94,0.1) !important;
  border: 1px solid rgba(34,197,94,0.25) !important;
  color: #22c55e !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 3px 10px !important;
  border-radius: 20px !important;
  letter-spacing: 0.3px !important;
}
.cbs-item-discount-badge::before {
  content: "🏷" !important;
  font-size: 11px !important;
}

/* Discounted total price shown on item */
.cbs-item-total {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin-top: 2px !important;
}
.cbs-item-total span.cbs-original-total {
  text-decoration: line-through !important;
  color: #555 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  margin-right: 6px !important;
}
.cbs-item-total span.cbs-discounted-total {
  color: #22c55e !important;
}

/* --- Quantity + delete row --- */
.wc-block-cart-item__quantity {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 4px !important;
  position: static !important;
  float: none !important;
  width: auto !important;
}

/* Quantity stepper */
.wc-block-components-quantity-selector {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid #333 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  height: 34px !important;
  background: #111 !important;
  width: auto !important;
}
.wc-block-components-quantity-selector__button {
  background: transparent !important;
  border: none !important;
  color: #aaa !important;
  font-size: 16px !important;
  width: 32px !important;
  height: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: color 0.15s, background 0.15s !important;
  padding: 0 !important;
  margin: 0 !important;
}
.wc-block-components-quantity-selector__button:hover {
  background: rgba(255,255,255,0.07) !important;
  color: #fff !important;
}
.wc-block-components-quantity-selector__button:disabled {
  color: #444 !important;
  cursor: default !important;
}
.wc-block-components-quantity-selector__input {
  background: transparent !important;
  border: none !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  width: 42px !important;
  text-align: center !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  -moz-appearance: textfield !important;
}
.wc-block-components-quantity-selector__input:focus {
  box-shadow: none !important;
  outline: none !important;
}

/* Remove / Delete button */
button.wc-block-cart-item__remove-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  background: rgba(239,68,68,0.1) !important;
  border: 1px solid rgba(239,68,68,0.2) !important;
  border-radius: 8px !important;
  color: #ef4444 !important;
  cursor: pointer !important;
  transition: background 0.15s !important;
  padding: 0 !important;
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  float: none !important;
  font-size: 0 !important;
  flex-shrink: 0 !important;
}
button.wc-block-cart-item__remove-link:hover {
  background: rgba(239,68,68,0.22) !important;
}
button.wc-block-cart-item__remove-link svg {
  width: 16px !important;
  height: 16px !important;
  fill: #ef4444 !important;
  flex-shrink: 0 !important;
}

/* --- Total cell (hide in main — shown via JS badge) --- */
td.wc-block-cart-item__total {
  display: none !important;
}

/* --- Hide redundant header columns --- */
table.wc-block-cart-items .wc-block-cart-items__header-total,
table.wc-block-cart-items .wc-block-cart-items__header-image {
  display: none !important;
}

/* ============================
   CART SIDEBAR / ORDER SUMMARY
   ============================ */
.wc-block-components-sidebar-layout .wc-block-components-sidebar {
  flex: 0 0 340px !important;
  width: 340px !important;
  position: sticky !important;
  top: 20px !important;
}

h2.wp-block-woocommerce-cart-order-summary-heading-block.wc-block-cart__totals-title {
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  margin-bottom: 16px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
}

/* Coupon section */
.wc-block-cart__payment-options,
.wc-block-components-totals-wrapper {
  background: #181818 !important;
  border: 1px solid #2c2c2c !important;
  border-radius: 14px !important;
  padding: 16px !important;
  margin-bottom: 12px !important;
}

.wc-block-components-totals-coupon__form input {
  background: #111 !important;
  border: 1px solid #333 !important;
  color: #fff !important;
  border-radius: 8px !important;
  padding: 9px 12px !important;
  font-size: 14px !important;
}
.wc-block-components-totals-coupon__form button {
  background: #1a6ffa !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 9px 16px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.15s !important;
}
.wc-block-components-totals-coupon__form button:hover {
  background: #1558d0 !important;
}

/* Applied coupon chips */
.wc-block-components-chip {
  background: rgba(34,197,94,0.1) !important;
  border: 1px solid rgba(34,197,94,0.25) !important;
  color: #22c55e !important;
  border-radius: 20px !important;
  padding: 4px 10px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.wc-block-components-chip__remove {
  background: transparent !important;
  border: none !important;
  color: #22c55e !important;
  cursor: pointer !important;
  padding: 0 !important;
  font-size: 14px !important;
  opacity: 0.7 !important;
}
.wc-block-components-chip__remove:hover { opacity: 1 !important; }

/* Totals rows */
.wc-block-components-totals-item {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid #222 !important;
  color: #ccc !important;
  font-size: 14px !important;
}
.wc-block-components-totals-item:last-child { border-bottom: none !important; }
.wc-block-components-totals-item__label { font-weight: 500 !important; }
.wc-block-components-totals-item__value { font-weight: 700 !important; color: #fff !important; }
.wc-block-components-totals-discount .wc-block-components-totals-item__value {
  color: #22c55e !important;
}

/* Checkout button */
a.wc-block-components-button.wc-block-cart__submit-button,
.wc-block-cart__submit-container a,
.wc-block-cart__submit-container button {
  display: block !important;
  width: 100% !important;
  background: #1a6ffa !important;
  color: #fff !important;
  text-align: center !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding: 15px 20px !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  border: none !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  letter-spacing: 0.3px !important;
  margin-top: 12px !important;
}
a.wc-block-components-button.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-container a:hover,
.wc-block-cart__submit-container button:hover {
  background: #1558d0 !important;
}

/* Proceed to Checkout button (existing theme class) */
a.wc-block-components-button.wc-block-cart__submit-button .wc-block-components-button__text {
  color: #fff !important;
}

/* ============================
   RESPONSIVE
   ============================ */
@media (max-width: 768px) {
  .woocommerce-cart .wc-block-components-sidebar-layout,
  .wp-block-woocommerce-filled-cart-block.wc-block-cart {
    flex-direction: column !important;
    padding: 0 12px !important;
    gap: 16px !important;
  }
  .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    flex: none !important;
    width: 100% !important;
    position: static !important;
  }
  table.wc-block-cart-items tr.wc-block-cart-items__row {
    flex-wrap: wrap !important;
    padding: 12px !important;
    gap: 12px !important;
  }
  td.wc-block-cart-item__image {
    flex: 0 0 72px !important;
    width: 72px !important;
  }
  td.wc-block-cart-item__image img {
    width: 72px !important;
    height: 72px !important;
  }
  td.wc-block-cart-item__product {
    flex: 1 1 calc(100% - 88px) !important;
    min-width: 0 !important;
  }
}

@media (max-width: 480px) {
  table.wc-block-cart-items tr.wc-block-cart-items__row {
    flex-wrap: wrap !important;
  }
  td.wc-block-cart-item__image {
    flex: 0 0 64px !important;
    width: 64px !important;
  }
  td.wc-block-cart-item__image img {
    width: 64px !important;
    height: 64px !important;
  }
}

/* CBS: Force table to block display for card layout */
table.wc-block-cart-items.wp-block-woocommerce-cart-line-items-block,
.wc-block-cart-items {
  display: block !important;
}
table.wc-block-cart-items tbody,
.wc-block-cart-items tbody {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  background: transparent !important;
}
table.wc-block-cart-items tr.wc-block-cart-items__row,
.wc-block-cart-items .wc-block-cart-items__row {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  background: #181818 !important;
  border: 1px solid #2c2c2c !important;
  border-radius: 16px !important;
  padding: 16px !important;
  gap: 16px !important;
  box-shadow: none !important;
}
/* Reset outer main container */
.wc-block-cart__main,
.wc-block-components-main.wc-block-cart__main,
.wp-block-woocommerce-cart-items-block {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}
/* Hide the "PRODUCT" header row */
table.wc-block-cart-items thead,
.wc-block-cart-items thead,
.wc-block-cart-items__header {
  display: none !important;
}
/* Reset td/th from table defaults */
table.wc-block-cart-items td,
table.wc-block-cart-items th {
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
}

/***** header responsive ****/
	
	.custom-dots-container .custom-dot {
		margin-right: 9px;
	}
	
	.custom-dots-container {
		padding-left: 35px;
	}	
		
	
	/***** header responsive close ****/
	
	h2 {
		font-size: 2.4rem;
	}
	
	/****** banner ******/
		
	.banner-main .slick-prev {
		right: 17%;
	}
	
	.archive.woocommerce-page.tax-product_brand ul.products li.product {
	  width: 23.5%;
	}
	
}

@media(max-width: 1024px) {
	
	
	/***** header responsive *****/	
	
	a.login-btn-cus {
		display: none;
	}
	
	.menu-close svg {
	  width: 36px;
	}
	.menu-close {
	  position: absolute;
	  top: 0;
	  left: 16px;
	}
	
	.navigation {
		display: none !important;
	}
	
	.toggle-menu-mobile {
		display: inline-block;
		margin-left: 12px;
	}
	
	.short-menu .user-login {
		display: none;
	}
		
	
	/**** slide menu style start ****/
	
	.main-navigation ul ul {
		width: 100%;
		position: relative;
		display: block;
		left: 0;
	}
	
	#primary-menu .sub-menu {
		border: 1px solid #fff;
		margin: 12px 0 10px;
	}
	
	#primary-menu .sub-menu li {
		margin: 0;
		padding: 0;
	}
	
	#primary-menu .sub-menu .sub-menu {
		border: 0;
		margin: 0px;
		margin-left: 10px;
	}
	
	
	
	.main-navigation ul ul a {
		background: transparent;
	}
	
	.main-navigation.toggled ul ul {
		display: block;		
	}
	
	.main-navigation ul li li:hover > ul, 
	.main-navigation ul li li.focus > ul,
	.main-navigation ul ul ul {
		left: 0;
		display: block;
	}
	
	.main-navigation ul li i.fa {
		display: none;
	}
	
	.logged-in .main-navigation div.menu {
		top: 42px;
	}
	
	.main-navigation div.menu {
		position: fixed;
		width: 100%;
		height: 100vh;
		z-index: 499;
		overflow-x: hidden;
		overflow-y: auto;
		right: -440px;
		top: 0;
		background: #000;
		box-shadow: rgba(0,0,0,0.3) 0 0 35px;
		padding: 80px 20px;
		transition: all 0.5s ease;
		visibility: hidden;
	}
	
	.toggled.main-navigation div.menu {
		right: 0;
		visibility: visible;
	}
	
	.main-navigation li i.fa {
		color: #fff;
	}
	
	.main-navigation li {
		padding: 0 0 18px;
		width: 100%;
		margin: 0px;
		border-bottom: 0px dashed #7b7b7b;
		display: inline-block;
	}
	
	.main-navigation li a {
		color: #fff;
	}
	
	.main-navigation ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: left;
		text-align: left;
	}
	
	.menu-toggle {
		display: inline-block;
		border: 0;
		box-shadow: none;
		background: transparent;
		width: 27px;
		padding: 0 0 0;
		margin-left: 16px;
		position: relative;
		top: 5px;
	}
	
	.menu-toggle:hover {
		background: transparent;
	}
	
	.menu-toggle .menu-bar {
		display: block;
		width: 100%;
		height: 2px;
		background: #1f92bf;
		margin: 0 0 6px;
	}
	
	.navigation {
		margin: 0;
	}
	
	.main-navigation {
		margin-right: 0;
	}
	
	.search-icon {
		cursor: pointer;
		position: absolute;
		top: 44%;
		right: 80px;
		font-size: 20px;
		transform: translateY(-50%);
	}
	
	.main-navigation div.menu .close-menu {
		position: absolute;
		left: 20px;
		top: 20px;
		font-size: 1.5rem;
		cursor: pointer;
		color: #bdbdbd;
		border: 0;
		background: transparent;
		padding: 6px;
		z-index: 999;
	}
	
	.close-menu {
		display: block;
	}
	
	/**** slide menu style close ****/
	
	
}

@media(max-width: 991px) {
	
	.title-style-1 {
		font-size: 28px;
	}
		
	a.btn-style-1:before {
		top: 3px;
	}
	
	.widget_nav_menu ul li {
		width: 33.33%;
		margin: 0 0 20px;
	}
	
	article.type-post.status-publish {
		padding: 24px 20px 24px;
	}
	
	article.type-post.status-publish a.post-thumbnail {
		width: 300px;
	}
	
	article.type-post.status-publish .content-box {
		padding-left: 30px;
	}
	
	/***** banner *****/
	
	.banner-main .slick-next {
		right: 27px;
	}
	
	.banner-main .slick-prev {
		right: 90px;
	}

	.why-chsu {
		flex-wrap: wrap;
	}
	
	.why-chsu .ctr-items,
	.stk-catry .ctr-items	{
		width: 48.8%;
		margin-bottom: 20px;
	}
	
	.stk-catry .ctr-items img {
	  width: 100%;
	}
	
	.shop-brands .ctr-items {
		width: 33%;
	}
	
	.blog-box-main {
		flex-wrap: wrap;
	}
	
	.blog-box-main .blog-items:first-child,
	.blog-box-main .blog-items	{
	  width: 100%;
	  margin-bottom: 25px;
	}
	
	footer#colophon {
	  padding: 0;
	}
	
	.newsletter {
	  max-width: 50%;
	  flex: initial;
	}
	
	.foo-menu {
	  max-width: 50%;
	  flex: initial;
	  margin: 0 0 60px !important;
	  padding-left: 15px;
	}
	
	.login-screens .form-bx {
		padding: 40px 20px 10px;
	}
	
	.produt-overflow-bx {
		overflow-x: hidden; 
	}
	
	.iron-product-card .product-gallery-section {
	  width: 48%;
	}
	
	.iron-product-card .right-content-box {
	  width: 50%;
	}
	
	.filter-box  {
		display: inline-block;
	}
	
	.shop-container .shop-main {
		width: 100%;
	}
	
	.shop-container .shop-sidebar {
		width: 400px;
		position: fixed;
		padding-right: 64px;
		display: block;
		left: -420px;
		z-index: 999;
		background: #000;
		top: 0;
		padding: 90px 40px 0;
		transition: all 0.5s ease;
	}
	
	.filterActive .shop-container .shop-sidebar {
		left: 0;
	}
	
	.close-btn {
		display: block;
		position: absolute;
		top: 10px;
		cursor: pointer;
	}
	
	.close-btn svg {
	  width: 29px;
	}
	
	.woocommerce-page div.product div.images,
	.woocommerce-page div.product div.summary {
		width: 100%;
	}
	
	li.wc-block-grid__product {
		max-width: 31.3% !important;
	}
	
	.col-md-8.cate-product-sec {
	  max-width: 100%;
	  flex: initial;
	}
	
	.shop-sidebar {
		max-width: 100%;
		flex: initial;
	}
	
	:where(.wc-block-product-filters) .wc-block-product-filters__open-overlay, :where(.wc-block-product-filters) .wc-block-product-filters__overlay-footer, :where(.wc-block-product-filters) .wc-block-product-filters__overlay-header, :where(.wc-block-product-filters).is-overlay-opened .wc-block-product-filters__open-overlay, :where(.wc-block-product-filters).is-overlay-opened .wc-block-product-filters__overlay-footer, :where(.wc-block-product-filters).is-overlay-opened .wc-block-product-filters__overlay-header {
		display: block !important;
	}
	
	/* .wc-block-product-filters__overlay {
		position: fixed !important;
		width: 400px !important;
		background: #000 !important;
		z-index: 999 !important;
		padding: 20px 40px !important;
		left: -420px !important;
		top: 0;
		height: 100%;
		overflow: auto;
		transition: all 0.5s ease !important;
	} */
	
	:where(.wc-block-product-filters).is-overlay-opened .wc-block-product-filters__overlay-dialog,
	.is-overlay-opened .wc-block-product-filters__overlay,
	:where(.wc-block-product-filters) .wc-block-product-filters__overlay-dialog,
	:where(.wc-block-product-filters) .wc-block-product-filters__overlay	{
		position: static !important;
		background: transparent;
		transform: translateY(0) !important;
	}
	
	.woocommerce :where(.wc-block-product-filters) .wc-block-product-filters__overlay-header,
	.woocommerce :where(.wc-block-product-filters).is-overlay-opened .wc-block-product-filters__overlay-footer {
		display: none !important;
	}
	
	:where(.wc-block-product-filters) .wc-block-product-filters__overlay-content {
		overflow: auto !important;
		background: #000000;
	}
	
	.is-overlay-opened .wc-block-product-filters__overlay {
		left: 0 !important;
	}
	
	.wc-block-product-filters__open-overlay {
	  text-align: left;
	  color: #fff !important;
	}
	
	.woocommerce-product-category-template .category-header {
	  margin: 30px 0 0;
	}
	
	.stk-catry {
		gap: 20px;
	}
	
	.stk-catry .ctr-items h3 {
		font-size: 12px;
	}
	
	.archive.woocommerce-page.tax-product_brand ul.products li.product {
	  width: 31.5%;
	}
	
}

@media(max-width: 768px) {
	
	.button-style-1 {
		font-size: 0.9rem;
		padding: 8px 17px;
		padding-right: 62px;
	}
	
	h2 {
		font-size: 2rem;
		margin: 2.5rem 0 2rem;
	}
	
	h4 {
		font-size: 1.2rem;
		margin: 2.5rem 0 2rem;
	}
	
	/***** menu css *****/
	
	.search-box form.search-form input {
		width: 90%;
		margin: auto;
		display: block;
		border-radius: 7px 0 0 9px;
		font-size: 16px;
		font-weight: 500;
		padding: 12px 10px;
		padding-left: 12px;
		background: #fff;
		background-size: 26px;
		background-position: center left 16px;
		border: 0;
		color: #000;
	}
	
	.banner-slider .slide-content img.mobile-baner {
		display: block;
		/* height: 68vh;
        object-fit: cover; */
	}
	
	.top-back-btn {
		margin: 40px 0 0px;
	}
	
	.iron-product-card .title-box {
		margin-bottom: 0;
	}
	
	.product-description {
		margin: 18px 0 28px;
	}
	
	.banner-slider .slide-content img.desktop-baner {
		display: none;
	}
	
	.search-box {
        position: fixed;
        width: 100%;
        left: 0;
        padding: 40px 40px;
        background: #000;
		top: -100%;
        transition: all 0.5s ease;
		box-shadow: 0 0 0 3px rgba(0, 124, 186, 0.1);
		z-index: 99999;
    }
	
	.searchActive .search-box {
		top: 0;
	}
	
	.search-box button.search-submit {
		display: block;
		padding: 11px 14px !important;
	}
	
	.search-box button.close_search {
		display: block;
		position: absolute;
		right: 13px;
		top: 43px;
		background: transparent;
	}
	
	.menu-full-box {
	  justify-content: space-between;
	}
	
	.short-menu {
		width: initial;
	}
	
	header.site-header {
		padding: 28px 15px 12px;
	}
	
	.search-icon-m {
	  display: inline-block;
	}
	
	
	.coupan-box .coupan-items .coupan-cmn {
		width: 100%;
	}
	
	.coupan-box .coupan-items {
		flex-wrap: wrap;
		justify-content: center;
	}
	
	.coupan-box .coupan-items .btn-box {
	  margin: 30px 0;
	}
	
	.shop-btn {
		font-size: 11px;
		padding: 6px 17px;
		margin: 0 12px;
	}
	
	.coupan-box .coupan-items .coupan-cmn svg {
	  width: 120px;
	}
	
	.banner-up {
		margin: 0 auto 52px;
		border: 0px solid #646464;
		width: 100%;
		display: block;
	}
	
	.banner-slider .slide-content img {
		border: 0px solid #646464;
	}
	
	.banner-main .slick-prev, 
	.banner-main .slick-next {
		display: none !important;
	}
	
	.custom-dots-container {
		padding: 0 10px !important;
		max-width: 100%;
		justify-content: space-between;
		gap: 8px;
	}
	
	.custom-dots-container .custom-dot {
		width: 33%;
		height: 72px;
		border-radius: 8px;
		margin: 0 auto;
	}
	
	.custom-dots-container .custom-dot.active {
		border-radius: 8px;
	}
	
	.afiliate-content .afiliate-in img.mobile {
		display: block;
	}
	
	.afiliate-content .afiliate-in img.desktop {
		display: none;
	}
	
	.custom-dots-container .custom-dot img {
		height: 80px;
	}
	
	.title-abt {
	  margin: 40px 0 0;
	}
	
	.team-main .team-items img {
		height: 140px;
	}
	
	.team-main .team-items h2 {
		margin: 9px 0 0px;
		font-size: 24px;
	}
	
	.team-main .team-items p {
		font-size: 15px;
	}
	
	.title-abt h1.main-ttl {
		font-size: 28px;
	}
	
	.login-screens {
		flex-wrap: wrap;
	}
	
	.login-screens .form-bx,
	.login-screens .img-box	{
		width: 100%;
	}
	
	.mobile-scroll-view {
	  width: 100%;
	  overflow: scroll;
	  margin: 0 0 60px;
	}
	
	/* .shop-brands {
		flex-wrap: nowrap;
		width: 1100px;
		gap: 21px;
		margin: 0;
	} */
	
	.iron-product-card .product-gallery-section,
	.iron-product-card .right-content-box {
		width: 100%;
	}
	
	 /* CBS: removed old cart main padding */
	 
	.afiliate-ppr {
		padding-right: 15px;
	}
	
	.aft-img {
		padding-left: 15px;
		padding-top: 0px;
	}
	 
	 .wc-block-cart table.wc-block-cart-items {
		 margin: 0 0 10px !important;
	 }
	 
	.page-template-default main {
	  margin: 10px 0 0;
	}
	
	:where(.wc-block-product-filters) .wc-block-product-filters__overlay-dialog {
		background: transparent !important
	}
	
	.wp-element-button {
		background: #1f92bf;
	}
	
	.wc-block-product-filters__open-overlay:hover {
		background: transparent;
	}
	
	.wc-block-product-filters__open-overlay:focus {
		outline: none;
	}
	
	.stk-catry {
		flex-wrap: wrap;
		gap: 10px;
	}
	
	.shopt-btn-aflt {
		width: 100%;
		right: 0;
	}
	
	.login-screens .form-bx {
		padding: 10px 14px 10px;
	}
	
	.woocommerce-checkout .wc-block-components-sidebar {
		width: 100%;
		margin-left: 0;
		padding: 0 15px;
	}
	
}

@media(max-width: 599px) {
	
	/***** header responsive *****/
	
	.site-branding {
	  display: flex;
	  align-items: center;
	  width: 88px;
	}
	
	/**** slide menu style start ****/
	
	.logo-section {
		width: 118px;
		padding-left: 0;
	}
	
	header .navigation {
		text-align: right;
		margin: 6px 0 0;
		width: 80px;
		position: absolute;
		right: 0;
		height: 100%;
		display: flex;
		align-items: center;
		top: 0;
	}
	
	
	/**** slide menu style close ****/
	
	.widget_nav_menu ul li {
		width: 48%;
	}
	
	.search form.search-form, 
	.error404 form.search-form {
		width: 100%;
	}
	
	section.no-results.not-found, 
	section.error-404.not-found {
		padding: 20px 30px 40px;
	}
	
	.reasult-box-main article.type-post.status-publish {
		width: 100%;
	}
	
	a.btn-style-1:before {
		top: 7px;
	}
	
	.stripe-box .mobile-stripe,
	.stripe-box .mobile-stripe svg	{
		display: block;
	}
	
	.mobile-stripe {
		margin: 0 0 15px;
	}
	
	.mobile-stripe.bottom {
		margin: 15px 0 0;
	}

	.stripe-box svg {
		display: none;
	}
	
	.niceblog-search-form form.search-form {
		width: 100%;
		padding-left: 20px;
		padding-right: 40px;
	}
	
	.niceblog-search-form .close_search {
		right: 0px;
		top: 36px;
		z-index: 99999;
	}
	
	.blog article.type-post.status-publish {
		width: 100%;
		margin: 0 0 1.2rem;
	}
	
	.blog article.type-post.status-publish h2.entry-title {
	  font-size: 1.5rem;
	  margin: 1rem 0 0;
	}
	
	.blog article.type-post.status-publish .entry-meta {
		font-size: 11px;
	}
	
	article.type-post.status-publish a.post-thumbnail {
	  width: 100%;
	  float: none;
	}
	
	article.type-post.status-publish .content-box {
	  padding-left: 0;
	}
	
	/***** banner ****/
	
	.banner-main .slick-prev, 
	.products-grid .slick-prev, 
	.product-gallery-section .slick-prev,
	.banner-main .slick-next, 
	.products-grid .slick-next, 
	.product-gallery-section .slick-next {
		width: 37px;
		height: 37px;
		bottom: -60px;
	}
	
	.product-gallery-section .slick-prev,
	.product-gallery-section .slick-next {
		bottom: 20px;
	}
	
	.mobile-spc-top {
		margin-top: 30px;
	}
	
	.iron-product-card {
		margin: 40px 0 50px;
	}
	
	.shop-brands .ctr-items {
		width: 50%;
	}
	
	.cate-tabs {
		overflow: auto;
	}
	
	.cate-tabs ul {
		padding: 0 0 20px;
		justify-content: space-between;
		width: 700px;
	}
	
	.product-card {
		margin: 0 4px;
	}
	
	.products-grid .slick-list {
		padding-right: 160px;
	}
	
	.add-to-cart, 
	.select-options {
		padding: 10px 16px;
		font-size: 15px;
	}
	
	.clothing-products {
		margin: 0 0 60px;
		padding: 12px 0;
	}
	
	.afiliate-content h2 {
		font-size: 34px;
	}
	
	.afiliate-content p {
		font-size: 15px;
	}
	
	.afiliate-content {
		min-height: 170px;
	}
	
	.athleat-box {
	  margin: 48px 0 0;
	}
	
	.thleat-box-main {
		display: block;
	}
	
	.thleat-box-main .slick-list {
	  overflow: initial;
	  padding-right: 0px;
	}
	
	.thleat-box-main .thleat-items {
		font-size: 16px;
        margin: 0 0 12px;
	}
	
	.blog-box-main .blog-items .contnt-in h2 {
		font-size: 16px;
		margin: 0 0 16px;
	}
	
	.blog-box-main .blog-items .contnt-in p {
		font-size: 16px;
		display: none;
	}
	
	span.category-tag {
		font-size: 12px;
		padding: 4px 16px;
	}
	
	.thleat-box-main .thleat-items .title-box-atl h2 {
		font-size: 19px;
	}
	
	.title-box-atl i.fa.fa-instagram {
		font-size: 30px;
	}
	
	.thleat-box-main .thleat-items {
		margin: 0 10px;
	}
	
	.thleat-box-main .thleat-items:hover {
		background: #424242;
		transform: scale(1);
	}
	
	.thleat-box-main .thleat-items p {
		font-size: 14px;
		display: none;
	}
	
	.thleat-box-main.showTxt .thleat-items p {
		display: block;
	}
	
	span.rdMore {
		display: inline-block;
		border: 1px solid #8d8d8d;
		color: #b3b3b3;
		font-size: 12px;
		padding: 4px 8px;
		border-radius: 7px;
		cursor: pointer;
	}
	
	.newsletter {
	  max-width: 100%;
	}
	
	.foo-menu {
	  max-width: 100%;
	  margin: 0 0 0 !important;
	}
	
	.foo-menu.foot1 {
	  max-width: 46%;
	}
	
	.col-md-3.foo-menu.foot2 {
	  width: 48%;
	  z-index: 9999; 
	}
	
	.blog-box-main .blog-items {
		min-height: 232px;
	}
	
	.why-chsu .ctr-items h3 {
		font-size: 12px;
	}
	
	 .stk-catry .ctr-items {
		 width: 48%;
	 }
	
	.why-chsu .ctr-items img {
	  width: 42px;
	}
	
	.iron-product-card .title-box p.product-subtitle {
		font-size: 12px;
		line-height: 17px;
		width: 90px;
	}
	
	.iron-product-card .title-box .product-title {
	  font-size: 20px;
	}
	
	.iron-product-card .title-box p.product-ttl {
		font-size: 14px;
	}
	
	li.wc-block-grid__product {
		max-width: 48% !important;
		padding: 0 !important;
		margin-bottom: 25px;
	}
	
	.woocommerce ul.products[class*="columns-"] li.product, .woocommerce-page ul.products[class*="columns-"] li.product {
		width: 48%;
		margin: 0 3px 20px;
	}
	
	.form-col {
		margin-bottom: 8px;
	}
	
	.woocommerce-product-gallery__wrapper .slick-next {
		right: 10px;
		background-size: 18px;
		width: 32px;
		height: 32px;
	}
	
	.woocommerce-product-gallery__wrapper .slick-prev {
		background-size: 18px;
		left: 10px;
		width: 32px;
		height: 32px;
	}
	
	.coupan-box .coupan-items .coupan-cmn {
		width: 100%;
	}
	
	.coupan-box .coupan-items .coupan-cmn {
		padding: 0;
	}
	
   .coupan-box .coupan-items .coupan-cmn svg {
	    width: 80px;
   }
   
    .shop-btn {
		font-size: 13px;
		padding: 5px 14px;
		margin: 0 9px;
		min-width: 100px;
	}
	
	.niceblog-search-form .search-submit {
		right: 41px;
	}
	
	.shop-brands .ctr-items {
		margin: 0 20px 0px;
	}
	
	.shop-brands .slick-list {
		padding: 0 !important;
	}
		
	.shop-brands .ctr-items.slick-center img {
	  transform: skew(-5deg, -5deg);
	  filter: drop-shadow(1px 3px 2px rgba(255, 255, 255, 1));
	}
	
	.short-menu {
		margin: 0;
	}
	
	.why-chsu .ctr-items {
		padding: 14px 10px;
	}
	
	.mini-title {
		font-size: 16px;
		font-weight: 900;
	}
	
	.mini-title img {
		margin-left: 10px;
		width: 176px;
	}
	
	.product-title a {
		font-size: 14px;
		font-weight: 600;
	}
	
	.product-title {
		line-height: 20px;
	}
	
	.product-card:hover {
		transform: translateY(0px);
	}
	
	.clothing-products span.woocommerce-Price-amount.amount {
		font-size: 16px;
	}
	
	.foo-menu.foot3 {
		margin-top: -80px !important;
	}
	
	.shop-brands {
		margin: 0 0 45px;
	}
	
	.cate-tabs ul li a {
		font-size: 15px;
		padding: 4px 5px;
	}
	
	.afiliate-prg {
		margin: 0;
	}
	
	.blog-article {
		margin: 87px 0 0;
	}
	
	h1.woocommerce-products-header__title.page-title {
		font-size: 22px;
	}
	
	.shop-sidebar,
	.main-search-box div#sidebar1.sidebar {
		position: fixed;
		width: 100%;
		height: 100%;
		left: -101%;
		top: 0;
		background: #000;
		z-index: 99999999;
		opacity: 0;
		margin: 0;
		transition: all 0.5s ease;
		overflow: auto;
	}
	
	.Apply-flter {
	  position: fixed;
	  bottom: 6px;
	  width: 220px;
	  display: block !important;
	  left: 50%;
	  transform: translateX(-50%);
	  background: #1F92BF;
	  text-align: center;
	  color: #000;
	  padding: 7px 4px;
	  border-radius: 7px;
	  font-weight: 700;
	}
	
	.close-sidebar {
	  padding: 20px 0 0;
	  display: block;
	  color: #fff;
	}
	
	.main-search-box div#sidebar1.sidebar {
		padding-right: 20px;
		padding-left: 25px;
	}
	
	.main-search-box div#sidebar1.sidebar:before {
		opacity: 0;
	}
	
	.active-sidebar .shop-sidebar,
	.active-sidebar .main-search-box div#sidebar1.sidebar {
		left: 0;
		opacity: 1;
	}
	
	.shop-sidebar::before {
		opacity: 0;
	}
	
	.product-wish {
		padding: 0 8px;
	}
	
	.woocommerce ul.products li.product .woocommerce-loop-category__title, .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h3 {
		font-size: 14px;
		font-weight: 700;
		padding-right: 10px;
	}
	
	span.woocommerce-Price-amount.amount {
		font-size: 14px;
		font-weight: 700;
	}
	
	.price-section span.woocommerce-Price-amount.amount {
		font-size: 20px;
		font-weight: 700;
	}
	
	.woocommerce-page ul.products li.product a.button.product_type_variable.add_to_cart_button, 
	a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart,
	button.button.notify-me-button	{
		font-size: 14px;
		padding: 12px 18px;
		margin: 15px auto 12px;
	}
	
	.woocommerce .products ul, 
	.woocommerce ul.products {
		gap: 0; 
	}
	
	.tax-product_cat.woocommerce ul.products li.product .price {
		padding: 0 6px;
	}
	
	.col-md-8.cate-product-sec {
		padding: 0;
	}
	
	.short-description p, 
	.short-description ul li {
		font-size: 12px;
	}
	
	.short-description {
		top: 48px;
	}
	
	span.clck-click, 
	span.clck-click2 {
		right: 1px;
		padding: 10px;
		top: 1px;
	}
	
	.thleat-box-main .slick-prev,
	.thleat-box-main .slick-next {
		width: 35px;
		height: 35px;
		bottom: -49px;
	}
	
	.thleat-box-main .slick-prev {
		right: 49px;
	}
	
	.thleat-box-main .slick-next {
		right: 0;
	}
	
	.main-search-box {
		flex-wrap: wrap;
	}
	
	.main-search-box div#primary.content-area {
	  width: 100%;
	}
	
	.woocommerce.search-results .woocommerce-result-count,
	.woocommerce.tax-product_cat .woocommerce-result-count,
	.woocommerce .woocommerce-result-count	{
		font-size: 0;
	}
	
	.filter-btn {
	  display: none;
	}
	
	.filter-btn {
	  display: inline-block;
	  position: absolute;
		left: 0;
		top: 0;
	}
	
	.woocommerce-products-container {
		position: relative;
	}
	
	.tax-product_brand .filter-btn {
	  display: none;
	}
	
	.filter-btn svg {
	  width: 32px;
	  height: 21px;
	}
	
	.wc-block-product-filters__open-overlay {
		visibility: hidden;
	}
	
	.stripe-box {
	  padding: 3px 0 4px;
	}
	
	.stripe-box svg {
	  width: 720px;
	  max-width: 100%;
	  height: 36px;
	}
	
	.stripe-box.box2 {
	  margin: -18px 0 40px;
	}
	
	.for-mb {
	  display: block;
	  width: 100%;
	  overflow: auto;
	}
	
	.product-detail-content-box ul.nav.nav-tabs {
		width: 550px;
		flex-wrap: wrap;
	}
	
	.wc-block-cart-item__quantity {
		display: block !important;
		float: none !important;
		margin-top: 0 !important;
		position: static;
	}
	
	.wc-block-cart-item__wrap {
		position: relative;
	}
	
	.wc-block-components-checkbox.wc-block-components-address-form__hostinger-reach-newsletter-optin {
		margin: 14px 0 0;
	}
	
	.page-template-default .entry-content h3 {
		font-size: 14px;
	}
	
	h2.wc-block-components-title.wc-block-components-checkout-step__title {
		font-size: 1.2rem !important;
	}
	
	.coupan-box .coupan-items .coupan-cmn .first-box p {
		margin-left: 0;
	}
	
	.coupan-box .coupan-items .coupan-cmn .first-box h2 {
		font-size: 22px;
	}
	
	.shop-btn svg {
	  display: none;
	}
	
	.coupan-box .coupan-items .coupan-cmn .first-box {
		flex-wrap: wrap;
		padding: 0 12px;
	}
	
	.wishlist_table.mobile {
		padding: 0;
	}
	
	.wishlist_table.mobile li .item-wrapper {
		width: 100%;
	}
	
	.wishlist_table.mobile li {
		margin-bottom: 27px;
		background: #2d2d2d;
		padding: 14px 10px;
		border-radius: 8px;
	}
	
	.wishlist_table .product-add-to-cart a {
		padding: 3px 10px !important;
	}
	
	table.wishlist_table.shop_table thead {
	  display: none;
	}
	
	table.wishlist_table tr {
		display: flex;
		flex-wrap: wrap;
		margin: 0 0 18px;
		background: #242424;
		padding: 10px 0 14px;
	}
	
	table.wishlist_table tr .product-thumbnail {
	  display: block !important;
	}
	
	table.wishlist_table tr td {
	  width: 100% !important;
	  display: block;
	  border: 0 !important;
	  margin: 0;
	  padding: 4px 10px !important;
	  text-align: center !important;
	}
	
	.wishlist_table tr td.product-thumbnail a {
		margin: 0 auto;
	}
	
	table.shop_table.cart.wishlist_table.wishlist_view.traditional.responsive {
		border: 0;
		border-radius: 7px;
	}
	
	.woocommerce.single-product .product.type-product {
		margin: 0px 0 0;
	}
	
	.thumb-gallery-slider {
		width: 70px;
	}
	
	.single-product .yith-add-to-wishlist-button-block.yith-add-to-wishlist-button-block--single {
		color: #fff;
		margin-bottom: 20px;
	}
	
	.woocommerce-product-details__short-description {
		margin: 0 0 12px;
	}
	
	.woocommerce.single-product div.product form.cart .variations {
		margin-bottom: 0;
	}
	
	.product-detail-content-box .tab-content {
		padding: 20px 0 0;
	}
	
	.login-screens .form-bx h2 {
		font-size: 25px;
	}
	
	.woocommerce ul.order_details li {
		float: none;
		border: 0;
		margin-bottom: 24px;
		margin-right: 0;
		margin-left: 0;
	}
	
	.woocommerce-order-received .woocommerce ul.order_details {
		padding: 20px 30px 0;
	}
	
	.archive.woocommerce-page.tax-product_brand ul.products li.product {
		width: 48.4%;
	}
	
	.wishlist_table.mobile table.additional-info td.label {
		display: none;
	}
	
	.social-m {
		text-align: center;
		padding-left: 0;
		display: flex;
		justify-content: center;
		align-items: center;
		column-gap: 26px;
	}
	
	.social-m a {
		font-size: 21px;
		color: #fff;
		margin-left: 0;
	}
	
	.banner-main {
		margin-bottom: 48px;
	}
	
	.coupan-box {
		margin: 0 0 48px;
	}
	
	.stk-catry {
		margin: 0 0 27px;
	}
	
	a.what-ssp svg {
		width: 40px;
	}
	
	span.out-of-stock-badge {
		top: 118px;
	}
	
	.woocommerce .woocommerce-ordering select {
		font-size: 14px;
		padding: 4px 9px;
	}
	
	.product-detail-content-box ul.nav.nav-tabs li a {
		font-size: 16px;
	}
	
	.shopt-btn-aflt a {
		font-size: 14px;
		padding: 5px 14px;
	}
	
	.archive .products-section p.woocommerce-result-count {
		display: none;
	}
	
	.wishlist_table.mobile li .additional-info-wrapper .product-remove {
		text-align: center;
	}
	
}

@media(max-width: 480px) {
	
	
	.acadmey-sec ul li {
		width: 90%;
		margin: 0 0 40px;
	}
	
	li.wc-block-grid__product {
		max-width: 80% !important;
		padding: 0 !important;
	}
	
	.short-menu a {
	  margin-left: 6px;
	}
	
	a.user-login svg {
	  width: 26px;
	  height: 26px;
	}
	
	.cart-icon svg {
	  width: 23px;
	  height: 23px;
	}
	
	.wish-list svg {
	  width: 22px;
	  height: 22px;
	}
	
	.search-icon-m svg {
	  width: 24px;
	  height: 24px;
	}
	
	span#wishlist-counter {
	  position: absolute;
	  top: -9px;
	  right: -3px;
	  font-size: 11px;
	}
	
	a.cart-icon span.cart-count {
		top: -8px;
		font-size: 11px;
	}
	
	.archive.woocommerce-page.tax-product_brand ul.products li.product {
		width: 48%;
	}
	
}

/************ responsive close *********/

/* =====================================================
   FIX: Wishlist FOUC (Flash of Unstyled Content)
   YITH wishlist loads desktop table first on mobile,
   then replaces with mobile UL via AJAX.
   Hide the table temporarily so it doesn't flash.
   ===================================================== */
@media (max-width: 768px) {
    .woocommerce-wishlist ul.wishlist_table:not(.mobile) {
        visibility: hidden;
        min-height: 200px;
    }
    .woocommerce-wishlist ul.wishlist_table.mobile {
        visibility: visible;
    }
}

/* ============== CBS-OS-V1 ============== */
/* =====================================================================
   CBS-OS-V1 — Design language reset: Futuristic · Rough · Strong
   Overrides everything above via cascade order.
   ===================================================================== */

@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root {
  /* Sharper geometry */
  --cbs-r-1: 2px;
  --cbs-r-2: 4px;
  --cbs-r-3: 8px;
  --cbs-r-4: 12px;
  /* Pill stays 999 (only for true pills) */

  /* Mono for numbers / metadata / readouts */
  --cbs-font-mono: 'JetBrains Mono','IBM Plex Mono','Menlo','Consolas',monospace;

  /* Edge accent: cyan-tinted hairline for selected/focus/scope */
  --cbs-edge: rgba(108,189,224,.85);
  --cbs-edge-soft: rgba(108,189,224,.32);
  --cbs-scope: rgba(255,255,255,.18);

  /* Grain noise SVG (heavier on dark) */
  --cbs-grain: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.7'/%3E%3C/svg%3E");

  /* Stronger surfaces for depth without softness */
  --cbs-bg-0: #06080b;
  --cbs-bg-1: #0d1014;
  --cbs-bg-2: #14181e;
  --cbs-bg-3: #1c2128;
}

/* Body-wide grain veil */
body { font-family: 'Space Grotesk', var(--cbs-font-body); letter-spacing: -0.005em; background: var(--cbs-bg-0); }
body::after {
  content: ''; position: fixed; inset: 0;
  background-image: var(--cbs-grain);
  background-size: 240px 240px;
  opacity: .045;
  mix-blend-mode: overlay;
  pointer-events: none;
  z-index: 9000;
}

/* Mono utility */
.cbs-mono, .cbs-num { font-family: var(--cbs-font-mono); font-variant-numeric: tabular-nums; letter-spacing: .01em; }

/* Section labels — terminal vibe */
.cbs-section-label,
.cbs-mega__head,
.cbs-footer__head,
.cbs-label {
  font-family: var(--cbs-font-mono);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: .26em;
}
.cbs-section-label::before { width: 8px; height: 8px; border-radius: 0; background: var(--cbs-brand); box-shadow: 0 0 12px var(--cbs-brand); }
.cbs-mega__head::before {
  content: '//';
  margin-right: 8px;
  color: var(--cbs-edge);
  font-family: var(--cbs-font-mono);
}
.cbs-footer__head { color: var(--cbs-fg-2); }
.cbs-footer__head::before { content: ''; width: 16px; height: 1px; background: var(--cbs-brand); margin-right: 10px; vertical-align: middle; display: inline-block; }
.cbs-footer__head::after { background: linear-gradient(90deg, var(--cbs-line-strong), transparent); }

/* =====================================================================
   PRODUCT CARD — rebuilt to the new language
   ===================================================================== */
li.product .product-card,
.product-card.effect1,
.product-card {
  background: var(--cbs-bg-1) !important;
  border: 1px solid var(--cbs-line);
  border-radius: var(--cbs-r-2);
  position: relative;
  overflow: visible;
}
li.product .product-card::before,
.product-card::before {
  content: '';
  position: absolute; inset: 0;
  background-image: var(--cbs-grain);
  background-size: 200px 200px;
  opacity: .06;
  mix-blend-mode: overlay;
  pointer-events: none;
  border-radius: inherit;
}
li.product .product-card:hover,
.product-card:hover {
  border-color: var(--cbs-edge-soft);
  box-shadow: 0 0 0 1px var(--cbs-edge-soft), 0 20px 48px rgba(0,0,0,.65);
  transform: translateY(-2px);
}

/* Image area — same surface as card, only differs by scope frame + brackets */
li.product .product-image,
.product-card .product-image {
  background: var(--cbs-bg-1) !important;
  aspect-ratio: 4 / 5;
  border-bottom: 1px solid var(--cbs-line);
  position: relative;
}
li.product .product-image::after,
.product-card .product-image::after {
  content: '';
  position: absolute; inset: 12px;
  pointer-events: none;
  background:
    linear-gradient(to right,  var(--cbs-scope) 18px, transparent 18px) top    left  /28px 1px no-repeat,
    linear-gradient(to bottom, var(--cbs-scope) 18px, transparent 18px) top    left  /1px 28px no-repeat,
    linear-gradient(to left,   var(--cbs-scope) 18px, transparent 18px) top    right /28px 1px no-repeat,
    linear-gradient(to bottom, var(--cbs-scope) 18px, transparent 18px) top    right /1px 28px no-repeat,
    linear-gradient(to right,  var(--cbs-scope) 18px, transparent 18px) bottom left  /28px 1px no-repeat,
    linear-gradient(to top,    var(--cbs-scope) 18px, transparent 18px) bottom left  /1px 28px no-repeat,
    linear-gradient(to left,   var(--cbs-scope) 18px, transparent 18px) bottom right /28px 1px no-repeat,
    linear-gradient(to top,    var(--cbs-scope) 18px, transparent 18px) bottom right /1px 28px no-repeat;
  transition: filter var(--cbs-d-2) var(--cbs-ease);
}
li.product .product-card:hover .product-image::after,
.product-card:hover .product-image::after {
  filter: drop-shadow(0 0 6px var(--cbs-edge-soft));
}
li.product .product-image img,
.product-card .product-image img {
  padding: 28px !important;
  filter: drop-shadow(0 12px 24px rgba(0,0,0,.55));
}

/* Scan-line sweep on hover */
li.product .product-card .product-image::before,
.product-card .product-image::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(108,189,224,.18) 48%, rgba(108,189,224,0) 50%, transparent 100%);
  background-size: 100% 220%;
  background-position: 0 -120%;
  pointer-events: none;
  z-index: 2;
  opacity: 0;
  transition: opacity var(--cbs-d-1) var(--cbs-ease);
}
li.product .product-card:hover .product-image::before,
.product-card:hover .product-image::before {
  animation: cbsScan 1.1s var(--cbs-ease) forwards;
  opacity: 1;
}
@keyframes cbsScan {
  0%   { background-position: 0 -120%; opacity: 0; }
  10%  { opacity: 1; }
  90%  { opacity: 1; }
  100% { background-position: 0  120%; opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  li.product .product-card:hover .product-image::before,
  .product-card:hover .product-image::before { animation: none; }
}

/* Cursor-pill trigger — square, hairline */
li.product .clck-click,
.product-card .clck-click {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid var(--cbs-line-strong) !important;
  color: var(--cbs-fg-1) !important;
  border-radius: var(--cbs-r-1) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  width: 32px; height: 32px;
  top: 12px; right: 12px;
  z-index: 5;
}
li.product .clck-click:hover,
.product-card .clck-click:hover {
  background: var(--cbs-bg-3) !important;
  border-color: var(--cbs-edge) !important;
  color: var(--cbs-edge) !important;
  transform: none !important;
  box-shadow: 0 0 16px var(--cbs-edge-soft);
}

/* Info pills — INLINE inside card body, not absolute floating */
.cbs-card-pills {
  position: static !important;
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 0 !important;
  pointer-events: auto;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height var(--cbs-d-2) var(--cbs-ease), opacity var(--cbs-d-2) var(--cbs-ease), margin var(--cbs-d-2) var(--cbs-ease);
}
.cbs-card-pills.is-open {
  max-height: 200px;
  opacity: 1;
}
.cbs-card-pills .cbs-pill {
  position: static;
  transform: none !important;
  opacity: 1;
  background: var(--cbs-bg-2) !important;
  border: 1px solid var(--cbs-line) !important;
  color: var(--cbs-fg-2);
  font-family: var(--cbs-font-mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 4px 8px !important;
  border-radius: var(--cbs-r-1) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  display: inline-flex; align-items: center; gap: 5px;
}
.cbs-card-pills .cbs-pill i { font-size: 11px; color: var(--cbs-edge); }

/* Card body — slightly taller, more breathing */
li.product .product-info,
.product-card .product-info {
  padding: 18px 18px 20px !important;
  gap: 10px;
  background: var(--cbs-bg-1);
  position: relative; z-index: 1;
}
li.product .product-title,
.product-card .product-title {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.005em;
  line-height: 1.3;
  min-height: calc(1.3em * 2);
}

/* Rating — single compact pill (4.8 ★) */
li.product .cbs-rating,
.product-card .cbs-rating {
  display: inline-flex; align-items: center; gap: 4px;
  background: var(--cbs-bg-2);
  border: 1px solid var(--cbs-line);
  border-radius: var(--cbs-r-pill);
  padding: 3px 8px;
  font-family: var(--cbs-font-mono);
  font-size: 11px; font-weight: 600;
  color: var(--cbs-fg-1);
  width: -moz-fit-content; width: fit-content;
}
/* Show only the first star (numeric badge style) */
li.product .cbs-rating .cbs-star { display: none !important; }
li.product .cbs-rating .cbs-star:first-child { display: inline-flex !important; order: 2; }
li.product .cbs-rating .cbs-star:first-child svg path {
  fill: var(--cbs-warn) !important;
}
li.product .cbs-rating::before {
  content: attr(data-cbs-rating-num);
  font-family: var(--cbs-font-mono);
  font-weight: 700;
  margin-right: 2px;
}
/* If no num data attr — JS adds it; until then, hide leading content */
li.product .cbs-rating:not([data-cbs-rating-num])::before { content: '0.0'; opacity: .5; }

/* Price */
li.product .product-price, .product-card .product-price,
li.product .price, .product-card .price {
  font-family: var(--cbs-font-mono);
  font-size: 16px;
  font-weight: 700;
  color: var(--cbs-fg-1);
}
li.product .product-price .from-label,
li.product .price .from-label {
  font-family: var(--cbs-font-mono);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .18em;
  color: var(--cbs-fg-4);
  margin-right: 6px;
}

/* Wishlist heart */
li.product .yith-wcwl-add-to-wishlist-button,
.product-card .yith-wcwl-add-to-wishlist-button {
  font-size: 18px !important;
  color: var(--cbs-fg-3) !important;
}
li.product .yith-wcwl-add-to-wishlist-button--added { color: var(--cbs-bad) !important; }

/* Action button — sharper, brutalist */
li.product .product-actions a.button,
li.product .product-actions a,
.product-card .product-actions a.button,
.product-card .product-actions a {
  background: var(--cbs-fg-1) !important;
  color: var(--cbs-bg-0) !important;
  border-radius: var(--cbs-r-1) !important;
  padding: 13px 14px !important;
  font-family: var(--cbs-font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  position: relative;
  overflow: hidden;
}
li.product .product-actions a.button:hover,
.product-card .product-actions a.button:hover {
  background: var(--cbs-edge) !important;
  color: var(--cbs-bg-0) !important;
  transform: none !important;
  box-shadow: 0 0 0 1px var(--cbs-edge), 0 0 24px var(--cbs-edge-soft);
}
li.product .product-actions a.button::after {
  content: '→';
  margin-left: 6px;
  display: inline-block;
  transition: transform var(--cbs-d-1) var(--cbs-ease);
}
li.product .product-actions a.button:hover::after { transform: translateX(2px); }

/* OOS — clear strike with diagonal hatch */
li.product.outofstock::after,
.product-card.is-oos::after {
  background: var(--cbs-bg-0);
  border: 1px solid var(--cbs-bad);
  color: var(--cbs-bad);
  font-family: var(--cbs-font-mono);
  border-radius: var(--cbs-r-1);
  top: 12px; left: 12px;
}

/* =====================================================================
   FOOTER — re-skinned to new language
   ===================================================================== */
.cbs-footer {
  background: var(--cbs-bg-0);
  border-top: 1px solid var(--cbs-line);
  margin-top: 96px;
}
.cbs-footer::before {
  background:
    radial-gradient(ellipse 60% 50% at 15% 0%, rgba(108,189,224,.06) 0%, transparent 60%),
    radial-gradient(ellipse 40% 30% at 95% 30%, rgba(255,77,77,.04) 0%, transparent 60%),
    var(--cbs-grain);
  background-size: auto, auto, 240px 240px;
  background-repeat: no-repeat, no-repeat, repeat;
  background-blend-mode: normal, normal, overlay;
  opacity: 1;
  mix-blend-mode: normal;
}
.cbs-footer__news { border-top: 0; }
.cbs-footer__news-title {
  font-family: var(--cbs-font-display);
  -webkit-text-fill-color: initial;
  background: none;
  color: var(--cbs-fg-1);
  letter-spacing: .02em;
}
.cbs-footer__news-title::after {
  content: '_';
  color: var(--cbs-edge);
  margin-left: 6px;
  animation: cbsBlink 1.2s steps(2) infinite;
}
@keyframes cbsBlink { 0%,49%{opacity:1} 50%,100%{opacity:0} }
.cbs-footer__news-field, .cbs-footer__news-submit { border-radius: var(--cbs-r-1); }
.cbs-footer__news-submit { background: var(--cbs-fg-1); color: var(--cbs-bg-0); border-radius: var(--cbs-r-1); font-family: var(--cbs-font-mono); }
.cbs-footer__news-submit:hover { background: var(--cbs-edge); color: var(--cbs-bg-0); }

.cbs-footer__list a {
  font-family: var(--cbs-font-body);
  font-size: 14px;
}
.cbs-footer__list a::before { content: '\003E\003E'; letter-spacing: -2px; }

.cbs-footer__cta, .cbs-footer__phone, .cbs-footer__social a { border-radius: var(--cbs-r-1); }
.cbs-footer__pay li { border-radius: var(--cbs-r-1); font-family: var(--cbs-font-mono); }
.cbs-footer__copy, .cbs-footer__fineprint { font-family: var(--cbs-font-mono); }
.cbs-footer__phone strong { font-family: var(--cbs-font-mono); }
.cbs-footer__phone em { font-family: var(--cbs-font-mono); }
.cbs-footer__cta strong { font-family: var(--cbs-font-body); }
.cbs-footer__cta em { font-family: var(--cbs-font-mono); }

/* ============== CBS-OS-V1-PATCH ============== */
/* CBS-OS-V1-PATCH */
/* Image area: subtle distinction so transparent products still read */
li.product .product-image, .product-card .product-image { background: var(--cbs-bg-2) !important; }
li.product .product-image::before, .product-card .product-image::before { background: linear-gradient(135deg, rgba(0,0,0,.18) 0%, transparent 35%, transparent 65%, rgba(0,0,0,.22) 100%); }
/* Tame white-bg product photos so they do not punch out */
li.product .product-image img, .product-card .product-image img { mix-blend-mode: screen; filter: contrast(1.05) brightness(1.05); }
/* But products that already have transparent BGs need normal blend - rely on srcset filename heuristic instead. Use default screen + a fallback: */
li.product .product-image .image-box { background: transparent; }

/* SELECT OPTIONS / ADD TO CART button - brutalist white-on-black, win cascade */
body li.product .product-actions a.button,
body li.product .product-actions a.add_to_cart_button,
body li.product .product-actions a.product_type_simple,
body li.product .product-actions a.product_type_variable,
body .product-card .product-actions a.button {
  background: var(--cbs-fg-1) !important;
  color: var(--cbs-bg-0) !important;
  border: 1px solid var(--cbs-fg-1) !important;
  font-family: var(--cbs-font-mono);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: .2em;
}
body li.product .product-actions a.button:hover,
body li.product .product-actions a.add_to_cart_button:hover,
body .product-card .product-actions a.button:hover {
  background: var(--cbs-edge) !important;
  color: var(--cbs-bg-0) !important;
  border-color: var(--cbs-edge) !important;
  box-shadow: 0 0 0 1px var(--cbs-edge), 0 0 28px rgba(108,189,224,.45);
}

/* Tighten admin-bar visual gap */
body.admin-bar #page { margin-top: 0; }
body #page, body .site-content { padding-top: 0; }
.cbs-header { margin-top: 0; }

/* Make sure rating num pill content does not push layout */
li.product .cbs-rating[data-cbs-rating-num="0.0"]::before,
li.product .cbs-rating[data-cbs-rating-num="0"]::before {
  opacity: .5;
}

/* ============== CBS-OS-V1-PATCH-IMG-AR ============== */
/* CBS-OS-V1-PATCH-IMG-AR */
/* Image frame inherits IMAGE aspect ratio, no letterbox padding */
li.product .product-image, .product-card .product-image {
  aspect-ratio: auto !important;
  height: auto !important;
  display: block;
}
li.product .product-image .imb-bx,
li.product .product-image .image-box,
li.product .product-image .cbs-img-link,
.product-card .product-image .imb-bx,
.product-card .product-image .image-box,
.product-card .product-image .cbs-img-link {
  display: block; width: 100%; height: auto;
  position: relative;
}
li.product .product-image img, .product-card .product-image img {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  object-fit: initial !important;
  padding: 14px !important;
  display: block;
}
/* Corner brackets re-anchor to the IMAGE wrapper so they hug the actual frame */
li.product .product-image::after, .product-card .product-image::after {
  inset: 8px;
}
li.product .product-image::before, .product-card .product-image::before {
  background-size: 100% 220%;
}

/* ============== CBS-OS-V1-PATCH-LOGO-UNIFORM ============== */
/* CBS-OS-V1-PATCH-LOGO-UNIFORM */
/* Restore logo image at tight size. Remove fake wordmark. */
.cbs-header__logo::before,
.cbs-header__logo::after { content: none !important; display: none !important; }
.cbs-header__logo { max-width: none !important; display: inline-flex; align-items: center; gap: 0; padding: 0; border: 0; }
.cbs-header__logo .cbs-header__logo-img,
.cbs-header__logo img,
.cbs-header__logo .custom-logo {
  display: block !important;
  height: 44px !important;
  width: auto !important;
  max-width: 220px !important;
  object-fit: contain;
}
@media (max-width: 980px) { .cbs-header__logo img, .cbs-header__logo .cbs-header__logo-img { height: 32px !important; max-width: 140px !important; } }

/* Card image: pin to UNIFORM 1:1 across all cards (source images are 300x300/600x600) */
li.product .product-image, .product-card .product-image {
  aspect-ratio: 1 / 1 !important;
  position: relative;
  background: var(--cbs-bg-2) !important;
  overflow: hidden;
}
li.product .product-image .imb-bx,
li.product .product-image .image-box,
li.product .product-image .cbs-img-link,
.product-card .product-image .imb-bx,
.product-card .product-image .image-box,
.product-card .product-image .cbs-img-link {
  position: absolute !important; inset: 0; display: flex; align-items: center; justify-content: center;
}
li.product .product-image img, .product-card .product-image img {
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 10px !important;
}
/* Tame white-bg product photos with a darken filter so they stop punching out */
li.product .product-image img, .product-card .product-image img {
  mix-blend-mode: normal;
  filter: contrast(1.04) saturate(1.06);
}
/* Corner brackets hug the frame */
li.product .product-image::after, .product-card .product-image::after { inset: 10px; }

/* ============== CBS-OS-V1-PATCH-FRAME-34 ============== */
/* CBS-OS-V1-PATCH-FRAME-34 */
/* .product-image is a wrapper that also contains .product-info in this theme. */
/* So the AR anchor moves to .imb-bx (image-only wrapper). */

li.product .product-image, .product-card .product-image {
  aspect-ratio: auto !important;
  height: auto !important;
  background: transparent !important;
  overflow: visible !important;
  display: block !important;
  border-bottom: 0 !important;
}
li.product .product-image::after, .product-card .product-image::after,
li.product .product-image::before, .product-card .product-image::before { content: none !important; }

li.product .product-image .imb-bx,
.product-card .product-image .imb-bx {
  position: relative !important;
  display: block !important;
  aspect-ratio: 3 / 4 !important;
  width: 100% !important;
  height: auto !important;
  background: var(--cbs-bg-2) !important;
  border-bottom: 1px solid var(--cbs-line);
  overflow: hidden;
}
/* Corner brackets on the IMAGE FRAME */
li.product .product-image .imb-bx::after,
.product-card .product-image .imb-bx::after {
  content: ""; position: absolute; inset: 12px; pointer-events: none;
  background:
    linear-gradient(to right,  var(--cbs-scope) 18px, transparent 18px) top    left  /28px 1px no-repeat,
    linear-gradient(to bottom, var(--cbs-scope) 18px, transparent 18px) top    left  /1px 28px no-repeat,
    linear-gradient(to left,   var(--cbs-scope) 18px, transparent 18px) top    right /28px 1px no-repeat,
    linear-gradient(to bottom, var(--cbs-scope) 18px, transparent 18px) top    right /1px 28px no-repeat,
    linear-gradient(to right,  var(--cbs-scope) 18px, transparent 18px) bottom left  /28px 1px no-repeat,
    linear-gradient(to top,    var(--cbs-scope) 18px, transparent 18px) bottom left  /1px 28px no-repeat,
    linear-gradient(to left,   var(--cbs-scope) 18px, transparent 18px) bottom right /28px 1px no-repeat,
    linear-gradient(to top,    var(--cbs-scope) 18px, transparent 18px) bottom right /1px 28px no-repeat;
  transition: filter var(--cbs-d-2) var(--cbs-ease);
  z-index: 2;
}
li.product .product-card:hover .imb-bx::after,
.product-card:hover .imb-bx::after {
  filter: drop-shadow(0 0 6px var(--cbs-edge-soft));
}
/* Scan line on IMAGE FRAME hover */
li.product .product-image .imb-bx::before,
.product-card .product-image .imb-bx::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(108,189,224,.18) 48%, rgba(108,189,224,0) 50%, transparent 100%);
  background-size: 100% 220%;
  background-position: 0 -120%;
  pointer-events: none;
  z-index: 3;
  opacity: 0;
}
li.product .product-card:hover .imb-bx::before,
.product-card:hover .imb-bx::before {
  animation: cbsScan 1.1s var(--cbs-ease) forwards;
  opacity: 1;
}

li.product .product-image .cbs-img-link,
li.product .product-image .image-box,
.product-card .product-image .cbs-img-link,
.product-card .product-image .image-box {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important; height: 100% !important;
}
li.product .product-image img,
.product-card .product-image img {
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 18px !important;
  margin: 0 auto !important;
  display: block !important;
  mix-blend-mode: normal !important;
  filter: contrast(1.04) saturate(1.06);
}

/* .product-info (nested inside .product-image in this theme) renders below the frame */
li.product .product-image .product-info,
.product-card .product-image .product-info {
  position: relative !important;
  padding: 18px 18px 16px !important;
  background: var(--cbs-bg-1);
  display: grid !important;
  gap: 10px;
}

/* ============== CBS-DS-V2 ============== */
/* =====================================================================
   CBS DESIGN SYSTEM v2 — Phase 0  (CBS-DS-V2)
   tokens + reset + base + immediate fixes for footer / account /
   wishlist / forms / 404 — written from scratch.
   ===================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Anton&family=Inter:wght@400;500;600;700;800&display=swap');

:root {
  /* Surfaces */
  --cbs-bg-0: #000;
  --cbs-bg-1: #0e1116;
  --cbs-bg-2: #161b22;
  --cbs-bg-3: #1d232c;
  --cbs-line: #262d37;
  --cbs-line-strong: #3a4250;

  /* Foreground */
  --cbs-fg-1: #ffffff;
  --cbs-fg-2: rgba(255,255,255,.82);
  --cbs-fg-3: rgba(255,255,255,.62);
  --cbs-fg-4: rgba(255,255,255,.42);
  --cbs-fg-5: rgba(255,255,255,.18);

  /* Brand */
  --cbs-brand: #4aa3cc;
  --cbs-brand-strong: #6cbde0;
  --cbs-brand-soft: rgba(74,163,204,.16);
  --cbs-brand-on: #0a0d11;
  --cbs-accent: #ff4d4d;

  /* State */
  --cbs-ok: #34c759;
  --cbs-warn: #ffb13c;
  --cbs-bad: #ff453a;

  /* Type */
  --cbs-font-display: 'Anton','Bebas Neue','Oswald','Impact',sans-serif;
  --cbs-font-body: 'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --cbs-fz-12: 12px; --cbs-fz-14: 14px; --cbs-fz-16: 16px; --cbs-fz-18: 18px;
  --cbs-fz-20: 20px; --cbs-fz-24: 24px; --cbs-fz-32: 32px; --cbs-fz-40: 40px;
  --cbs-fz-56: 56px; --cbs-fz-72: 72px; --cbs-fz-96: 96px;

  /* Radius */
  --cbs-r-1: 4px; --cbs-r-2: 8px; --cbs-r-3: 12px; --cbs-r-4: 16px;
  --cbs-r-pill: 999px;

  /* Shadow */
  --cbs-shadow-1: 0 2px 8px rgba(0,0,0,.5);
  --cbs-shadow-2: 0 8px 28px rgba(0,0,0,.7);
  --cbs-shadow-3: 0 18px 60px rgba(0,0,0,.85);
  --cbs-glow:    0 0 0 3px rgba(74,163,204,.35);

  /* Motion */
  --cbs-ease: cubic-bezier(.2,.8,.2,1);
  --cbs-d-1: 160ms; --cbs-d-2: 240ms; --cbs-d-3: 360ms; --cbs-d-4: 480ms;

  /* Layout */
  --cbs-container: 1280px;
  --cbs-gutter: 24px;
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: auto; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--cbs-font-body);
  font-size: var(--cbs-fz-16);
  line-height: 1.55;
  color: var(--cbs-fg-1);
  background: var(--cbs-bg-0);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
img, picture, svg, video { max-width: 100%; display: block; }
button { font: inherit; color: inherit; }

/* ---------- Display & body type ---------- */
.cbs-display {
  font-family: var(--cbs-font-display);
  font-weight: 400;
  letter-spacing: .02em;
  text-transform: uppercase;
  line-height: 1;
}
.cbs-label {
  font-family: var(--cbs-font-body);
  font-weight: 700;
  font-size: var(--cbs-fz-12);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--cbs-fg-2);
}

/* ---------- Section label "▍ CAPS LABEL" ---------- */
.cbs-section-label {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: var(--cbs-font-body);
  font-weight: 700; font-size: var(--cbs-fz-14);
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--cbs-fg-1);
}
.cbs-section-label::before {
  content: ''; width: 3px; height: 18px;
  background: var(--cbs-brand); border-radius: 2px;
}

/* ---------- Phosphor icon size helpers ---------- */
[class*='ph-'] { line-height: 1; }
.ph-lg { font-size: 22px; }
.ph-xl { font-size: 28px; }

/* =====================================================================
   IMMEDIATE FIXES — selector overrides that win via cascade order
   ===================================================================== */

/* Footer — currently fully unstyled with bullets + blue underline links */
.site-footer, footer.site-footer, .footer-section, #colophon {
  background: var(--cbs-bg-0);
  color: var(--cbs-fg-2);
  border-top: 1px solid var(--cbs-line);
  padding: 64px 0 32px;
}
.site-footer h1, .site-footer h2, .site-footer h3,
.footer-section h1, .footer-section h2, .footer-section h3,
#colophon h1, #colophon h2, #colophon h3,
footer h1, footer h2, footer h3 {
  font-family: var(--cbs-font-body);
  font-size: var(--cbs-fz-14);
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--cbs-fg-1);
  margin: 0 0 16px;
}
.site-footer ul, .footer-section ul, #colophon ul, footer ul {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 10px;
}
.site-footer a, .footer-section a, #colophon a, footer a {
  color: var(--cbs-fg-3);
  text-decoration: none;
  transition: color var(--cbs-d-1) var(--cbs-ease);
  font-size: var(--cbs-fz-14);
}
.site-footer a:hover, .footer-section a:hover, #colophon a:hover, footer a:hover {
  color: var(--cbs-brand-strong);
}

/* My Account — was raw WC default */
.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 32px;
  padding: 32px 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation { background: transparent; }
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 4px;
  background: var(--cbs-bg-1);
  border: 1px solid var(--cbs-line);
  border-radius: var(--cbs-r-3);
  padding: 12px;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 14px;
  border-radius: var(--cbs-r-2);
  color: var(--cbs-fg-2);
  text-decoration: none;
  font-weight: 500;
  transition: background var(--cbs-d-1) var(--cbs-ease), color var(--cbs-d-1) var(--cbs-ease);
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  background: var(--cbs-bg-2);
  color: var(--cbs-fg-1);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: var(--cbs-brand-soft);
  color: var(--cbs-brand-strong);
}
.woocommerce-account .woocommerce-MyAccount-content {
  background: var(--cbs-bg-1);
  border: 1px solid var(--cbs-line);
  border-radius: var(--cbs-r-3);
  padding: 28px;
  color: var(--cbs-fg-2);
}
.woocommerce-account .woocommerce-MyAccount-content a {
  color: var(--cbs-brand-strong);
  text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-content a:hover { text-decoration: underline; }

@media (max-width: 768px) {
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; gap: 16px; }
}

/* Wishlist — current single-column with floating loader */
.woocommerce-wishlist .wishlist_table,
.yith-wcwl-form .wishlist_table,
table.wishlist_table {
  border: 0 !important; background: transparent !important;
}
table.wishlist_table tbody {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 20px;
}
table.wishlist_table tr {
  display: flex !important; flex-direction: column;
  background: var(--cbs-bg-1);
  border: 1px solid var(--cbs-line);
  border-radius: var(--cbs-r-3);
  overflow: hidden;
  padding: 0 !important;
}
table.wishlist_table td {
  border: 0 !important; padding: 12px 16px !important;
  background: transparent !important;
  display: block !important; text-align: left !important;
}
table.wishlist_table .product-thumbnail { padding: 0 !important; }
table.wishlist_table .product-thumbnail img {
  width: 100%; height: 220px; object-fit: contain;
  background: var(--cbs-bg-2);
}
table.wishlist_table .product-name a {
  color: var(--cbs-fg-1); text-decoration: none; font-weight: 600;
}
table.wishlist_table .product-price { color: var(--cbs-brand-strong); font-weight: 700; }
.wishlist-title h2, .wishlist-title-container h2 {
  font-family: var(--cbs-font-display);
  font-size: var(--cbs-fz-40); font-weight: 400;
  text-transform: uppercase; letter-spacing: .02em;
}

/* Forms — kill the white input punch on dark pages */
.woocommerce-account input[type='text'],
.woocommerce-account input[type='email'],
.woocommerce-account input[type='tel'],
.woocommerce-account input[type='password'],
.woocommerce-account select,
.woocommerce-checkout input[type='text'],
.woocommerce-checkout input[type='email'],
.woocommerce-checkout input[type='tel'],
.woocommerce-checkout select,
.afiliate-page input[type='text'],
.afiliate-page input[type='email'],
.afiliate-page input[type='tel'],
.afiliate-page select,
.afiliate-page textarea,
.wc-block-components-text-input input,
input.input-text,
textarea.input-text {
  background: var(--cbs-bg-2) !important;
  color: var(--cbs-fg-1) !important;
  border: 1px solid var(--cbs-line) !important;
  border-radius: var(--cbs-r-2) !important;
  padding: 12px 14px !important;
  font-family: var(--cbs-font-body) !important;
  font-size: var(--cbs-fz-16) !important;
  transition: border-color var(--cbs-d-1) var(--cbs-ease), box-shadow var(--cbs-d-1) var(--cbs-ease);
}
.woocommerce-account input:focus,
.woocommerce-checkout input:focus,
.afiliate-page input:focus, .afiliate-page select:focus, .afiliate-page textarea:focus,
.wc-block-components-text-input input:focus,
input.input-text:focus, textarea.input-text:focus {
  outline: 0;
  border-color: var(--cbs-brand) !important;
  box-shadow: var(--cbs-glow) !important;
}
input::placeholder, textarea::placeholder { color: var(--cbs-fg-4); }

/* 404 — kill the orange WP default search button */
.error404 .search-form input[type='submit'],
.error404 .search-submit {
  background: var(--cbs-brand) !important;
  color: var(--cbs-brand-on) !important;
  border: 0 !important;
  border-radius: var(--cbs-r-2) !important;
  padding: 12px 18px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .12em !important;
  cursor: pointer;
}

/* Default blue underlined link cleanup on areas the theme left raw */
.woocommerce-account .woocommerce-MyAccount-content p a,
.error404 a, .search-no-results a,
.entry-content a:not([class]) {
  color: var(--cbs-brand-strong);
  text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-content p a:hover,
.error404 a:hover, .search-no-results a:hover,
.entry-content a:not([class]):hover { text-decoration: underline; }

/* Kill the "Edit" admin link bleed-through when user is logged in */
.post-edit-link, a.post-edit-link { display: none !important; }

/* Stop horizontal overflow from runaway carousels */
.site-content, .site-main, #page, #content {
  overflow-x: hidden;
}

/* Phosphor only — hide stray FontAwesome glyphs that have no purpose */
i.fa, i.fas, i.far, i.fab { font-family: 'Phosphor', inherit; }

/* ============== CBS-PHOSPHOR-INJECT ============== */
/* END CBS-PHOSPHOR-INJECT */
';
  var newJs = INJECT + jsText;

  var fd = new FormData();
  fd.append("nonce", document.querySelector("input[name=nonce]").value);
  fd.append("_wp_http_referer", document.querySelector("input[name=_wp_http_referer]").value);
  fd.append("action", "update");
  fd.append("file", "js/niceblog-custom-js.js");
  fd.append("theme", "cbs");
  fd.append("newcontent", newJs);

  return fetch('/wp-admin/theme-editor.php', {method:'POST', body: fd, credentials:'same-origin'}).then(r=>r.text()).then(resp => {
    return JSON.stringify({
      submitLen: newJs.length,
      saved: resp.indexOf('File edited successfully')>-1
    });
  });
});

/* ============== CBS-PHOSPHOR-VARIANTS ============== */
/* CBS-PHOSPHOR-VARIANTS — load fill + regular weights */
@import url('https://unpkg.com/@phosphor-icons/web@2.1.1/src/regular/style.css');
@import url('https://unpkg.com/@phosphor-icons/web@2.1.1/src/fill/style.css');
/* (ph-bold already enqueued by the theme) */
.cbs-footer__social i { font-size: 18px; line-height: 1; }
.cbs-footer__cta > i:first-child { font-size: 22px; line-height: 1; }
.cbs-footer__phone > i:first-child { font-size: 18px; line-height: 1; }

/* ============== CBS-FOOTER-V7 ============== */
/* ============================================================
   CBS-FOOTER-V7 (2026-06-03) — centered editorial footer, ground-up.
   Contained + centered (aligns with the site's 1320 container).
   NO nav/header duplication, NO util icons, NO giant clipped wordmark,
   NO link columns. One statement + email capture + inline link row +
   social + legal. Big bottom padding clears the floating bottom nav.
   Replaces the previous footer block.
============================================================ */

.cbs-footer {
  position: relative;
  background: var(--cbs-bg-0, #06080b);
  color: var(--cbs-fg-1, #fff);
  font-family: var(--cbs-font-body, 'Inter', sans-serif);
  border-top: 1px solid rgba(255,255,255,0.08);
  margin-top: 96px;
  overflow: hidden;
  isolation: isolate;
}
.cbs-footer a { text-decoration: none; color: inherit; }

.cbs-footer__glow {
  position: absolute;
  top: -260px;
  left: 50%;
  width: min(900px, 92vw);
  height: 500px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center, rgba(108,189,224,0.16), rgba(108,189,224,0) 70%);
  pointer-events: none;
  z-index: 0;
}

.cbs-footer__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 88px clamp(20px, 5vw, 48px) 132px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.cbs-footer__logo { display: inline-flex; align-items: center; margin-bottom: 26px; color: var(--cbs-fg-1, #fff); }
.cbs-footer__logo img { height: 34px; width: auto; display: block; }
.cbs-footer__logo span { font-family: var(--cbs-font-display, 'Anton', sans-serif); font-size: 26px; letter-spacing: 0.05em; text-transform: uppercase; }

.cbs-footer__kicker {
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace);
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--cbs-brand-strong, #6cbde0);
  margin: 0 0 22px;
}
.cbs-footer__kicker::before,
.cbs-footer__kicker::after {
  content: '';
  width: 38px;
  height: 1px;
  background: rgba(108,189,224,0.42);
}

.cbs-footer__statement {
  font-family: var(--cbs-font-display, 'Anton', sans-serif);
  font-weight: 400;
  font-size: clamp(2.1rem, 5.2vw, 3.6rem);
  line-height: 1.02;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: var(--cbs-fg-1, #fff);
  margin: 0 0 20px;
}
.cbs-footer__statement span { display: block; color: var(--cbs-brand-strong, #6cbde0); }

.cbs-footer__sub {
  font-size: 15px;
  line-height: 1.6;
  color: var(--cbs-fg-3, rgba(255,255,255,0.62));
  margin: 0 0 32px;
  max-width: 50ch;
}

.cbs-footer__form {
  display: flex;
  width: 100%;
  max-width: 470px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 9999px;
  padding: 6px;
  margin: 0 0 14px;
  transition: border-color 0.18s ease, background 0.18s ease;
}
.cbs-footer__form:focus-within { border-color: rgba(108,189,224,0.6); background: rgba(108,189,224,0.05); }
.cbs-footer__form input[type="email"] {
  flex: 1;
  min-width: 0;
  background: none !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  padding: 0 18px;
  color: var(--cbs-fg-1, #fff);
  font-size: 15px;
  font-family: var(--cbs-font-body, 'Inter', sans-serif);
}
.cbs-footer__form input[type="email"]::placeholder { color: var(--cbs-fg-4, rgba(255,255,255,0.40)); }
.cbs-footer__form button {
  flex-shrink: 0;
  border: 0;
  cursor: pointer;
  border-radius: 9999px;
  background: var(--cbs-brand-strong, #6cbde0);
  color: var(--cbs-bg-0, #06080b);
  font-family: var(--cbs-font-display, 'Anton', sans-serif);
  font-size: 14px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0 26px;
  height: 46px;
  transition: background 0.18s ease;
}
.cbs-footer__form button:hover { background: #fff; }
.cbs-footer__thanks {
  font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cbs-brand-strong, #6cbde0);
  margin: 0;
}

.cbs-footer__rule {
  width: 100%;
  max-width: 860px;
  height: 1px;
  background: rgba(255,255,255,0.08);
  border: 0;
  margin: 46px 0;
}

.cbs-footer__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px 26px;
  max-width: 800px;
  margin: 0 0 34px;
}
.cbs-footer__links a {
  position: relative;
  font-size: 12.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--cbs-fg-2, rgba(255,255,255,0.82));
  transition: color 0.16s ease;
}
.cbs-footer__links a:hover { color: var(--cbs-brand-strong, #6cbde0); }
.cbs-footer__links a:not(:last-child)::after {
  content: '·';
  position: absolute;
  right: -15px;
  color: rgba(255,255,255,0.26);
  font-weight: 400;
}

.cbs-footer__connect {
  display: flex;
  gap: 10px;
  margin: 0;
}
.cbs-footer__connect a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 9999px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.025);
  color: var(--cbs-fg-2, rgba(255,255,255,0.82));
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
}
.cbs-footer__connect a:hover {
  background: rgba(108,189,224,0.12);
  border-color: rgba(108,189,224,0.45);
  color: var(--cbs-brand-strong, #6cbde0);
  transform: translateY(-2px);
}
.cbs-footer__connect i { font-size: 18px; }

.cbs-footer__base {
  width: 100%;
  max-width: 860px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px 18px;
  flex-wrap: wrap;
  margin-top: 46px;
  padding-top: 26px;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.cbs-footer__copy {
  font-size: 12px;
  color: var(--cbs-fg-4, rgba(255,255,255,0.42));
  margin: 0;
  letter-spacing: 0.02em;
}
.cbs-footer__base-sep { color: rgba(255,255,255,0.24); font-size: 12px; }
.cbs-footer__legal { display: flex; gap: 18px; flex-wrap: wrap; }
.cbs-footer__legal a {
  font-size: 12px;
  color: var(--cbs-fg-4, rgba(255,255,255,0.42));
  transition: color 0.16s ease;
}
.cbs-footer__legal a:hover { color: var(--cbs-fg-1, #fff); }

.cbs-footer__fda {
  font-size: 10.5px;
  line-height: 1.6;
  color: var(--cbs-fg-4, rgba(255,255,255,0.34));
  margin: 24px 0 0;
  max-width: 720px;
}

.cbs-screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* Homepage h2 reset override */
body .cbs-footer__statement,
body.page-template-home-page-template .cbs-footer__statement,
body.page-template-home-page-template footer .cbs-footer__statement {
  display: block !important;
  gap: 0 !important;
  font-family: var(--cbs-font-display, 'Anton', sans-serif) !important;
  font-size: clamp(2.1rem, 5.2vw, 3.6rem) !important;
  line-height: 1.02 !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  color: var(--cbs-fg-1, #fff) !important;
}

@media (max-width: 600px) {
  .cbs-footer { margin-top: 64px; }
  .cbs-footer__inner { padding: 56px 20px 124px; }
  .cbs-footer__rule { margin: 36px 0; }
  .cbs-footer__links { gap: 12px 24px; }
  .cbs-footer__base { margin-top: 36px; }
}

body .cbs-footer__statement::before,
body.page-template-home-page-template .cbs-footer__statement::before,
body.page-template-home-page-template footer .cbs-footer__statement::before,
body.page-template-home-page-template footer .cbs-footer__statement::after {
  display: none !important;
  content: none !important;
}

/* End CBS-FOOTER-V7 */

/* ============== CBS-PRODUCT-CARD-V2 ============== */
/* =====================================================================
   CBS-PRODUCT-CARD-V2 — canonical product card used everywhere
   ===================================================================== */

/* Grid wrappers — Shop, category, Similar, Bestsellers, Apparels carousel */
ul.products, .cbs-product-grid, .related .products, .upsells .products,
.woocommerce-loop, .woocommerce ul.products {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  gap: 20px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 1100px) { ul.products, .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px)  { ul.products, .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }

li.product, ul.products li.product { width: 100% !important; margin: 0 !important; padding: 0 !important; float: none !important; }

/* The card body */
li.product .product-card,
.product-card.effect1,
.product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--cbs-bg-1);
  border: 1px solid var(--cbs-line);
  border-radius: var(--cbs-r-3);
  overflow: hidden;
  transition: transform var(--cbs-d-2) var(--cbs-ease),
              border-color var(--cbs-d-2) var(--cbs-ease),
              box-shadow var(--cbs-d-2) var(--cbs-ease);
  isolation: isolate;
}
li.product .product-card:hover {
  transform: translateY(-2px);
  border-color: var(--cbs-line-strong);
  box-shadow: var(--cbs-shadow-2);
}

/* Image plate — gives transparent PNGs a consistent backdrop */
li.product .product-image,
.product-card .product-image {
  position: relative;
  aspect-ratio: 1 / 1;
  background: radial-gradient(ellipse at 50% 60%, var(--cbs-bg-3) 0%, var(--cbs-bg-1) 75%);
  overflow: hidden;
}
li.product .product-image .imb-bx,
li.product .product-image .image-box,
li.product .product-image .cbs-img-link {
  display: block; width: 100%; height: 100%;
}
li.product .product-image img,
.product-card .product-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 16px;
  transition: transform var(--cbs-d-3) var(--cbs-ease);
}
li.product .product-card:hover .product-image img { transform: scale(1.04); }

/* Cursor-pill trigger (top-right) */
li.product .clck-click,
.product-card .clck-click,
.product-card .cbs-card-info {
  position: absolute;
  top: 10px; right: 10px;
  width: 38px; height: 38px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--cbs-brand-soft);
  color: var(--cbs-brand-strong);
  border: 1px solid rgba(74,163,204,.36);
  border-radius: var(--cbs-r-pill);
  cursor: pointer;
  z-index: 5;
  font-size: 16px;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  transition: background var(--cbs-d-1) var(--cbs-ease),
              transform var(--cbs-d-1) var(--cbs-ease),
              color var(--cbs-d-1) var(--cbs-ease);
}
li.product .clck-click:hover,
.product-card .clck-click:hover {
  background: var(--cbs-brand);
  color: var(--cbs-brand-on);
  transform: scale(1.06);
}
li.product .clck-click i,
.product-card .clck-click i { font-size: 18px; line-height: 1; }

/* Cursor-pill fan-out (markup added in PHP) */
.cbs-card-pills {
  position: absolute;
  top: 56px; right: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  pointer-events: none;
  z-index: 4;
}
.cbs-card-pills .cbs-pill {
  background: rgba(14,17,22,.85);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: var(--cbs-fg-1);
  border: 1px solid var(--cbs-line);
  border-radius: var(--cbs-r-pill);
  padding: 6px 10px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .04em;
  white-space: nowrap;
  opacity: 0;
  transform: translateX(8px) scale(.92);
  transition: opacity var(--cbs-d-2) var(--cbs-ease),
              transform var(--cbs-d-2) var(--cbs-ease);
  display: inline-flex; align-items: center; gap: 6px;
}
.cbs-card-pills .cbs-pill i { font-size: 12px; opacity: .85; }
.cbs-card-pills.is-open .cbs-pill {
  opacity: 1;
  transform: translateX(0) scale(1);
  pointer-events: auto;
}
.cbs-card-pills.is-open .cbs-pill:nth-child(1) { transition-delay: 0ms; }
.cbs-card-pills.is-open .cbs-pill:nth-child(2) { transition-delay: 40ms; }
.cbs-card-pills.is-open .cbs-pill:nth-child(3) { transition-delay: 80ms; }
.cbs-card-pills.is-open .cbs-pill:nth-child(4) { transition-delay: 120ms; }
.cbs-card-pills.is-open .cbs-pill:nth-child(5) { transition-delay: 160ms; }

@media (prefers-reduced-motion: reduce) {
  .cbs-card-pills .cbs-pill { transition: opacity var(--cbs-d-1) linear; transform: none !important; }
}

/* Card info */
li.product .product-info,
.product-card .product-info {
  display: grid;
  grid-template-rows: auto auto auto auto;
  gap: 8px;
  padding: 14px 16px 16px;
  flex: 1;
}
li.product .product-title-wrapper {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 8px;
}
li.product .product-title, .product-card .product-title {
  margin: 0;
  font-family: var(--cbs-font-body);
  font-weight: 600;
  font-size: var(--cbs-fz-14);
  line-height: 1.35;
  color: var(--cbs-fg-1);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(1.35em * 2);
}
li.product .product-title a, .product-card .product-title a {
  color: inherit; text-decoration: none;
}

/* Wishlist heart — keep one position only */
li.product .wishlist-container,
.product-card .wishlist-container {
  flex: 0 0 auto;
}
li.product .yith-wcwl-add-to-wishlist-button,
.product-card .yith-wcwl-add-to-wishlist-button {
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: 20px !important;
  color: var(--cbs-fg-3) !important;
  cursor: pointer;
  line-height: 1;
  transition: color var(--cbs-d-1) var(--cbs-ease), transform var(--cbs-d-1) var(--cbs-ease);
}
li.product .yith-wcwl-add-to-wishlist-button:hover,
li.product .yith-wcwl-add-to-wishlist-button--added {
  color: var(--cbs-accent) !important;
  transform: scale(1.1);
}
li.product .yith-wcwl-add-to-wishlist-button__label { display: none !important; }

/* Rating row */
li.product .cbs-rating, .product-card .cbs-rating {
  display: inline-flex; align-items: center; gap: 6px;
  color: var(--cbs-warn);
  font-size: var(--cbs-fz-12);
  font-weight: 600;
}
li.product .cbs-rating .cbs-star svg {
  width: 12px; height: 12px;
  filter: drop-shadow(0 0 4px rgba(255,177,60,.3));
}

/* Price — flat, no decimals (also enforced in PHP) */
li.product .product-price, .product-card .product-price,
li.product .price, .product-card .price {
  font-family: var(--cbs-font-body);
  font-weight: 700;
  font-size: var(--cbs-fz-18);
  color: var(--cbs-fg-1);
  margin: 0;
  display: flex; align-items: baseline; gap: 6px;
  flex-wrap: wrap;
}
li.product .product-price .from-label,
li.product .price .from-label {
  font-size: var(--cbs-fz-12);
  color: var(--cbs-fg-3);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-right: 4px;
}
li.product del, li.product .price del {
  color: var(--cbs-fg-4); font-weight: 400; font-size: var(--cbs-fz-14);
  margin-right: 6px;
}
li.product ins, li.product .price ins { background: transparent; text-decoration: none; color: var(--cbs-fg-1); }

/* Action */
li.product .product-actions, .product-card .product-actions {
  margin-top: 4px;
}
li.product .product-actions a.button,
li.product .product-actions a,
.product-card .product-actions a.button,
.product-card .product-actions a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 100%;
  background: var(--cbs-brand);
  color: var(--cbs-brand-on) !important;
  text-decoration: none;
  font-family: var(--cbs-font-body);
  font-weight: 700;
  font-size: var(--cbs-fz-12);
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 12px 14px;
  border: 0;
  border-radius: var(--cbs-r-2);
  cursor: pointer;
  transition: background var(--cbs-d-1) var(--cbs-ease), transform var(--cbs-d-1) var(--cbs-ease);
}
li.product .product-actions a.button:hover,
.product-card .product-actions a.button:hover {
  background: var(--cbs-brand-strong);
  transform: translateY(-1px);
}
li.product .product-actions a.button:active { transform: translateY(0); }

/* OOS state — desaturate card, strike, disable CTA */
li.product.outofstock .product-image,
.product-card.is-oos .product-image {
  filter: grayscale(.7) brightness(.78);
}
li.product.outofstock .product-title,
.product-card.is-oos .product-title { color: var(--cbs-fg-3); }
li.product.outofstock .product-actions a.button,
.product-card.is-oos .product-actions a.button {
  background: var(--cbs-bg-3) !important;
  color: var(--cbs-fg-4) !important;
  pointer-events: none;
}
li.product.outofstock::after,
.product-card.is-oos::after {
  content: 'OUT OF STOCK';
  position: absolute;
  top: 12px; left: 12px;
  background: var(--cbs-bad);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  padding: 5px 9px;
  border-radius: var(--cbs-r-pill);
  text-transform: uppercase;
  z-index: 5;
  pointer-events: none;
}

/* Badge layer (Sale / New / Bestseller) */
li.product .cbs-badges, .product-card .cbs-badges {
  position: absolute;
  top: 12px; left: 12px;
  display: flex; flex-direction: column; gap: 6px;
  z-index: 5; pointer-events: none;
}
.cbs-badge {
  font-size: 10px; font-weight: 800;
  letter-spacing: .14em; text-transform: uppercase;
  padding: 5px 9px; border-radius: var(--cbs-r-pill);
  background: var(--cbs-brand); color: var(--cbs-brand-on);
}
.cbs-badge.cbs-badge--new      { background: var(--cbs-ok); color: #06150a; }
.cbs-badge.cbs-badge--sale     { background: var(--cbs-accent); color: #fff; }
.cbs-badge.cbs-badge--best     { background: var(--cbs-warn); color: #2a1c00; }

/* ============== CBS-CARD-V3 ============== */
/* =====================================================================
   CBS-CARD-V3 — canonical product card, used everywhere.
   ===================================================================== */

/* Grid containers force same width across all loops */
.woocommerce ul.products, ul.products, .cbs-product-grid {
  list-style: none !important; margin: 0 !important; padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}
@media (max-width: 1100px){ .woocommerce ul.products, ul.products, .cbs-product-grid { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 760px) { .woocommerce ul.products, ul.products, .cbs-product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; } }
li.cbs-card-li, .woocommerce ul.products li.product { width: 100% !important; margin: 0 !important; padding: 0 !important; float: none !important; }

.cbs-card {
  position: relative;
  display: flex; flex-direction: column;
  background: var(--cbs-bg-1);
  border: 1px solid var(--cbs-line);
  border-radius: var(--cbs-r-2);
  overflow: hidden;
  isolation: isolate;
  transition: transform var(--cbs-d-2) var(--cbs-ease), border-color var(--cbs-d-2) var(--cbs-ease), box-shadow var(--cbs-d-2) var(--cbs-ease);
}
.cbs-card::after {
  content: ""; position: absolute; inset: 0;
  background-image: var(--cbs-grain); background-size: 200px 200px;
  opacity: .055; mix-blend-mode: overlay; pointer-events: none;
  border-radius: inherit; z-index: 1;
}
.cbs-card:hover {
  border-color: var(--cbs-edge-soft);
  transform: translateY(-2px);
  box-shadow: 0 0 0 1px var(--cbs-edge-soft), 0 18px 36px rgba(0,0,0,.55);
}

/* Frame */
.cbs-card__frame {
  position: relative;
  aspect-ratio: 3 / 4;
  background: var(--cbs-bg-2);
  overflow: hidden;
  border-bottom: 1px solid var(--cbs-line);
}
.cbs-card__media { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.cbs-card__img, .cbs-card__media img {
  width: 100%; height: 100%;
  object-fit: contain; object-position: center;
  padding: 18px;
  filter: contrast(1.04) saturate(1.06);
  transition: transform 560ms cubic-bezier(.2,.8,.2,1), filter 320ms ease;
  transform-origin: 50% 50%;
}

/* Corner brackets */
.cbs-card__frame::before {
  content: ""; position: absolute; inset: 12px; pointer-events: none; z-index: 2;
  background:
    linear-gradient(to right,  var(--cbs-scope) 18px, transparent 18px) top left  /28px 1px no-repeat,
    linear-gradient(to bottom, var(--cbs-scope) 18px, transparent 18px) top left  /1px 28px no-repeat,
    linear-gradient(to left,   var(--cbs-scope) 18px, transparent 18px) top right /28px 1px no-repeat,
    linear-gradient(to bottom, var(--cbs-scope) 18px, transparent 18px) top right /1px 28px no-repeat,
    linear-gradient(to right,  var(--cbs-scope) 18px, transparent 18px) bottom left  /28px 1px no-repeat,
    linear-gradient(to top,    var(--cbs-scope) 18px, transparent 18px) bottom left  /1px 28px no-repeat,
    linear-gradient(to left,   var(--cbs-scope) 18px, transparent 18px) bottom right /28px 1px no-repeat,
    linear-gradient(to top,    var(--cbs-scope) 18px, transparent 18px) bottom right /1px 28px no-repeat;
  transition: filter var(--cbs-d-2) var(--cbs-ease);
}
.cbs-card:hover .cbs-card__frame::before { filter: drop-shadow(0 0 6px var(--cbs-edge-soft)); }

/* Scan-line hover */
.cbs-card__frame::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 3;
  background: linear-gradient(180deg, transparent 0%, rgba(108,189,224,.18) 48%, rgba(108,189,224,0) 50%, transparent 100%);
  background-size: 100% 220%;
  background-position: 0 -120%;
  opacity: 0;
}
.cbs-card:hover .cbs-card__frame::after { animation: cbsScan 1.1s var(--cbs-ease) forwards; opacity: 1; }

/* Badge */
.cbs-card__badge {
  position: absolute; top: 10px; left: 10px; z-index: 6;
  font-family: var(--cbs-font-mono);
  font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
  padding: 4px 8px; border-radius: var(--cbs-r-1);
  background: var(--cbs-fg-1); color: var(--cbs-bg-0);
}
.cbs-card__badge--sale { background: var(--cbs-accent); color: #fff; }
.cbs-card__badge--new { background: var(--cbs-ok); color: #061a09; }
.cbs-card__badge--best { background: var(--cbs-warn); color: #2a1c00; }

/* Info trigger */
.cbs-card__info {
  position: absolute; top: 10px; right: 10px; z-index: 7;
  width: 32px; height: 32px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.04);
  border: 1px solid var(--cbs-line-strong);
  color: var(--cbs-fg-1);
  border-radius: var(--cbs-r-1);
  cursor: pointer;
  transition: background var(--cbs-d-1) var(--cbs-ease), color var(--cbs-d-1) var(--cbs-ease), border-color var(--cbs-d-1) var(--cbs-ease), box-shadow var(--cbs-d-1) var(--cbs-ease);
}
.cbs-card__info i { font-size: 16px; line-height: 1; }
.cbs-card__info:hover { background: var(--cbs-bg-3); border-color: var(--cbs-edge); color: var(--cbs-edge); box-shadow: 0 0 16px var(--cbs-edge-soft); }
.cbs-card.is-pill-open .cbs-card__info { background: var(--cbs-edge); color: var(--cbs-bg-0); border-color: var(--cbs-edge); box-shadow: 0 0 24px var(--cbs-edge-soft); }

/* Wishlist heart */
.cbs-card__wish { position: absolute; bottom: 10px; right: 10px; z-index: 6; }
.cbs-card__wish .yith-wcwl-add-to-wishlist-button, .cbs-card__wish a {
  background: rgba(0,0,0,.4) !important; border: 1px solid var(--cbs-line) !important;
  width: 32px; height: 32px;
  display: inline-flex !important; align-items: center; justify-content: center;
  border-radius: var(--cbs-r-1) !important;
  color: var(--cbs-fg-2) !important;
  padding: 0 !important; font-size: 14px !important;
  text-decoration: none;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  transition: color var(--cbs-d-1) var(--cbs-ease), border-color var(--cbs-d-1) var(--cbs-ease);
}
.cbs-card__wish .yith-wcwl-add-to-wishlist-button--added { color: var(--cbs-bad) !important; border-color: var(--cbs-bad) !important; }
.cbs-card__wish .yith-wcwl-add-to-wishlist-button__label { display: none !important; }

/* Pills overlay (slide from left) */
.cbs-card__pills {
  position: absolute; inset: 0; z-index: 5;
  display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
  gap: 6px; padding: 22px 18px 22px 14px;
  pointer-events: none; overflow: hidden;
}
.cbs-card__pill {
  font-family: var(--cbs-font-mono); font-size: 10px; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase;
  background: rgba(13,16,20,.92); color: var(--cbs-fg-1);
  border: 1px solid var(--cbs-edge-soft);
  padding: 6px 10px; border-radius: var(--cbs-r-1);
  display: inline-flex; align-items: center; gap: 6px;
  box-shadow: 0 4px 14px rgba(0,0,0,.6);
  opacity: 0; transform: translateX(-130%);
  transition: opacity 240ms ease, transform 480ms cubic-bezier(.2,.8,.2,1);
}
.cbs-card__pill i { color: var(--cbs-edge); font-size: 11px; }
.cbs-card.is-pill-open .cbs-card__pill { opacity: 1; transform: translateX(0); pointer-events: auto; }
.cbs-card.is-pill-open .cbs-card__pills { pointer-events: auto; }
.cbs-card.is-pill-open .cbs-card__pill:nth-child(1){ transition-delay: 60ms; }
.cbs-card.is-pill-open .cbs-card__pill:nth-child(2){ transition-delay: 120ms; }
.cbs-card.is-pill-open .cbs-card__pill:nth-child(3){ transition-delay: 180ms; }
.cbs-card.is-pill-open .cbs-card__pill:nth-child(4){ transition-delay: 240ms; }
.cbs-card.is-pill-open .cbs-card__pill:nth-child(5){ transition-delay: 300ms; }
.cbs-card.is-pill-open .cbs-card__pill:nth-child(6){ transition-delay: 360ms; }

/* IMAGE animates when pills open */
.cbs-card.is-pill-open .cbs-card__img {
  transform: rotate(-8deg) scale(0.78) translate(16%, -4%);
  filter: blur(2px) saturate(0.55) brightness(0.55);
}

/* Body */
.cbs-card__body { padding: 14px 16px 8px; display: flex; flex-direction: column; gap: 10px; position: relative; z-index: 2; background: var(--cbs-bg-1); }
.cbs-card__title { margin: 0; font-family: var(--cbs-font-body); font-weight: 700; font-size: 14px; line-height: 1.3; letter-spacing: -0.005em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: calc(1.3em * 2); }
.cbs-card__title a { color: var(--cbs-fg-1); text-decoration: none; }
.cbs-card__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.cbs-card__rating { display: inline-flex; align-items: center; gap: 4px; font-family: var(--cbs-font-mono); font-size: 11px; font-weight: 700; color: var(--cbs-fg-1); background: var(--cbs-bg-2); border: 1px solid var(--cbs-line); border-radius: var(--cbs-r-pill); padding: 3px 8px; width: fit-content; }
.cbs-card__rating.is-empty { color: var(--cbs-fg-4); }
.cbs-card__rating i { color: var(--cbs-warn); font-size: 11px; filter: drop-shadow(0 0 4px rgba(255,177,60,.3)); }
.cbs-card__rating.is-empty i { color: var(--cbs-fg-5); filter: none; }
.cbs-card__price { margin: 0; font-family: var(--cbs-font-mono); font-weight: 700; font-size: 15px; color: var(--cbs-fg-1); }
.cbs-card__from { font-family: var(--cbs-font-mono); font-size: 9px; font-weight: 500; letter-spacing: .2em; color: var(--cbs-fg-4); margin-right: 4px; text-transform: uppercase; }

/* CTA */
.cbs-card__foot { padding: 4px 12px 14px; position: relative; z-index: 2; }
.cbs-card__cta { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; background: var(--cbs-fg-1); color: var(--cbs-bg-0); font-family: var(--cbs-font-mono); font-weight: 700; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; padding: 12px 14px; border-radius: var(--cbs-r-1); text-decoration: none; border: 1px solid var(--cbs-fg-1); cursor: pointer; transition: background var(--cbs-d-1) var(--cbs-ease), color var(--cbs-d-1) var(--cbs-ease), border-color var(--cbs-d-1) var(--cbs-ease), box-shadow var(--cbs-d-1) var(--cbs-ease); }
.cbs-card__cta i { font-size: 14px; transition: transform var(--cbs-d-1) var(--cbs-ego); }
.cbs-card__cta:hover { background: var(--cbs-edge); color: var(--cbs-bg-0); border-color: var(--cbs-edge); box-shadow: 0 0 28px var(--cbs-edge-soft); }
.cbs-card__cta:hover i { transform: translateX(2px); }
.cbs-card__cta.is-disabled { background: var(--cbs-bg-3); color: var(--cbs-fg-4); border-color: var(--cbs-line); cursor: not-allowed; pointer-events: none; }

/* OOS state */
.cbs-card.is-oos .cbs-card__img { filter: grayscale(.8) brightness(.6) !important; }
.cbs-card.is-oos .cbs-card__title { color: var(--cbs-fg-3); }
.cbs-card.is-oos::before { content: "OUT OF STOCK"; position: absolute; top: 50px; left: 10px; z-index: 6; font-family: var(--cbs-font-mono); font-size: 10px; font-weight: 700; letter-spacing: .14em; background: var(--cbs-bad); color: #fff; padding: 4px 8px; border-radius: var(--cbs-r-1); pointer-events: none; }

@media (prefers-reduced-motion: reduce) {
  .cbs-card__pill { transition: opacity 160ms linear; transform: none !important; }
  .cbs-card.is-pill-open .cbs-card__img { transform: none; filter: brightness(0.55); }
  .cbs-card:hover .cbs-card__frame::after { animation: none; }
}

/* ============== CBS-CARD-V4 ============== */
/* =====================================================================
   CBS-CARD-V4 — dramatic redesign
   ===================================================================== */
.cbs-card {
  position: relative !important;
  display: flex !important; flex-direction: column !important;
  background: linear-gradient(180deg, #11151b 0%, #0a0d11 100%) !important;
  border: 1px solid var(--cbs-line) !important;
  border-radius: 2px !important;
  overflow: hidden;
  isolation: isolate;
  transition: border-color 240ms var(--cbs-ease), transform 240ms var(--cbs-ease), box-shadow 240ms var(--cbs-ease);
}
.cbs-card::before {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background-image: var(--cbs-grain); background-size: 220px 220px;
  opacity: .09; mix-blend-mode: overlay; pointer-events: none;
}
.cbs-card::after {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: radial-gradient(ellipse at 50% 0%, rgba(108,189,224,.06), transparent 50%);
}
.cbs-card:hover {
  border-color: var(--cbs-edge) !important;
  box-shadow: 0 0 0 1px var(--cbs-edge-soft), 0 24px 60px rgba(0,0,0,.7), inset 0 0 0 1px rgba(108,189,224,.05) !important;
  transform: translateY(-3px);
}

/* Frame */
.cbs-card__frame {
  position: relative !important;
  aspect-ratio: 4 / 5 !important;
  background: #0a0d11 !important;
  overflow: hidden !important;
  border-bottom: 1px solid var(--cbs-line);
  z-index: 1;
}
.cbs-card__media { position: absolute !important; inset: 0 !important; display: flex !important; align-items: center; justify-content: center; }
.cbs-card__img {
  width: 100% !important; height: 100% !important;
  object-fit: contain !important; object-position: center !important;
  padding: 22px !important;
  filter: contrast(1.05) saturate(1.08);
  transition: transform 700ms cubic-bezier(.2,.8,.2,1), filter 320ms ease;
  transform-origin: 50% 50%;
}

/* HUD corner brackets - thinner, brighter, animated */
.cbs-card__frame > .cbs-card__media::before,
.cbs-card__frame > .cbs-card__media::after,
.cbs-card__frame > .cbs-card__media > .cbs-card__bracket-tl,
.cbs-card__frame > .cbs-card__media > .cbs-card__bracket-tr { display:none; } /* placeholder */
.cbs-card__frame::before {
  content: ""; position: absolute; inset: 10px; pointer-events: none; z-index: 4;
  background:
    linear-gradient(to right,  var(--cbs-edge-soft) 16px, transparent 16px) top left  /24px 1px no-repeat,
    linear-gradient(to bottom, var(--cbs-edge-soft) 16px, transparent 16px) top left  /1px 24px no-repeat,
    linear-gradient(to left,   var(--cbs-edge-soft) 16px, transparent 16px) top right /24px 1px no-repeat,
    linear-gradient(to bottom, var(--cbs-edge-soft) 16px, transparent 16px) top right /1px 24px no-repeat,
    linear-gradient(to right,  var(--cbs-edge-soft) 16px, transparent 16px) bottom left  /24px 1px no-repeat,
    linear-gradient(to top,    var(--cbs-edge-soft) 16px, transparent 16px) bottom left  /1px 24px no-repeat,
    linear-gradient(to left,   var(--cbs-edge-soft) 16px, transparent 16px) bottom right /24px 1px no-repeat,
    linear-gradient(to top,    var(--cbs-edge-soft) 16px, transparent 16px) bottom right /1px 24px no-repeat;
  transition: inset 360ms var(--cbs-ease), filter 240ms ease;
}
.cbs-card:hover .cbs-card__frame::before { inset: 6px; filter: drop-shadow(0 0 8px var(--cbs-edge)); }

/* Scan line */
.cbs-card__frame::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 3;
  background: linear-gradient(180deg, transparent 0%, rgba(108,189,224,.22) 48%, rgba(108,189,224,0) 50%, transparent 100%);
  background-size: 100% 220%; background-position: 0 -120%;
  opacity: 0;
}
.cbs-card:hover .cbs-card__frame::after { animation: cbsScan 1.4s var(--cbs-ease) forwards; opacity: 1; }

/* Product code (top-left in frame) */
.cbs-card__code {
  position: absolute; top: 12px; left: 12px; z-index: 5;
  font-family: var(--cbs-font-mono);
  font-size: 10px; font-weight: 500; letter-spacing: .14em;
  color: var(--cbs-fg-4);
}

/* Badge */
.cbs-card__badge {
  position: absolute; top: 12px; left: 12px; z-index: 6;
  font-family: var(--cbs-font-mono);
  font-size: 9px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase;
  padding: 4px 8px; border-radius: 2px;
  background: var(--cbs-fg-1); color: var(--cbs-bg-0);
  margin-left: 56px; /* offset past the code */
}
.cbs-card__badge--sale { background: var(--cbs-accent); color: #fff; }
.cbs-card__badge--new  { background: var(--cbs-ok); color: #061a09; }
.cbs-card__badge--best { background: var(--cbs-warn); color: #2a1c00; }

/* Info trigger - HUD square */
.cbs-card__info {
  position: absolute; top: 10px; right: 10px; z-index: 7;
  width: 34px; height: 34px;
  display: inline-flex !important; align-items: center; justify-content: center;
  background: rgba(0,0,0,.6) !important;
  border: 1px solid var(--cbs-edge-soft) !important;
  color: var(--cbs-fg-1) !important;
  border-radius: 2px !important;
  cursor: pointer;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  transition: background 160ms var(--cbs-ease), border-color 160ms var(--cbs-ease), color 160ms var(--cbs-ease), box-shadow 160ms var(--cbs-ease);
}
.cbs-card__info i { font-size: 16px; }
.cbs-card__info:hover { background: var(--cbs-edge) !important; color: var(--cbs-bg-0) !important; border-color: var(--cbs-edge) !important; box-shadow: 0 0 24px var(--cbs-edge); }
.cbs-card.is-pill-open .cbs-card__info { background: var(--cbs-edge) !important; color: var(--cbs-bg-0) !important; border-color: var(--cbs-edge) !important; box-shadow: 0 0 28px var(--cbs-edge); }

/* Wishlist */
.cbs-card__wish { position: absolute; bottom: 12px; right: 12px; z-index: 6; }
.cbs-card__wish .yith-wcwl-add-to-wishlist-button, .cbs-card__wish a {
  background: rgba(0,0,0,.65) !important; border: 1px solid var(--cbs-line) !important;
  width: 34px; height: 34px;
  display: inline-flex !important; align-items: center; justify-content: center;
  border-radius: 2px !important; color: var(--cbs-fg-2) !important;
  padding: 0 !important; font-size: 14px !important; text-decoration: none;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  transition: color 160ms ease, border-color 160ms ease;
}
.cbs-card__wish .yith-wcwl-add-to-wishlist-button--added { color: var(--cbs-bad) !important; border-color: var(--cbs-bad) !important; }
.cbs-card__wish .yith-wcwl-add-to-wishlist-button__label { display: none !important; }

/* Pills overlay */
.cbs-card__pills {
  position: absolute !important; inset: 0 !important; z-index: 5;
  display: flex !important; flex-direction: column !important; justify-content: center; align-items: flex-start;
  gap: 8px;
  padding: 22px 14px;
  background: linear-gradient(90deg, rgba(0,0,0,.85) 0%, rgba(0,0,0,.5) 60%, transparent 100%);
  pointer-events: none !important;
  overflow: hidden;
  opacity: 0; transition: opacity 280ms var(--cbs-ease);
}
.cbs-card.is-pill-open .cbs-card__pills { opacity: 1 !important; pointer-events: auto !important; }

.cbs-card__pill {
  display: flex; flex-direction: column; gap: 1px;
  padding: 7px 11px;
  background: rgba(13,16,20,.96);
  border-left: 2px solid var(--cbs-edge);
  border-radius: 2px;
  box-shadow: 0 6px 18px rgba(0,0,0,.7);
  opacity: 0; transform: translateX(-180%);
  transition: opacity 240ms ease, transform 460ms cubic-bezier(.2,.8,.2,1);
  max-width: 90%;
}
.cbs-card__pill-l { font-family: var(--cbs-font-mono); font-size: 8px; font-weight: 600; letter-spacing: .2em; color: var(--cbs-fg-4); text-transform: uppercase; }
.cbs-card__pill-v { font-family: var(--cbs-font-body); font-size: 12px; font-weight: 600; color: var(--cbs-fg-1); }
.cbs-card__pill i { display: none; }
.cbs-card.is-pill-open .cbs-card__pill { opacity: 1 !important; transform: translateX(0) !important; }
.cbs-card.is-pill-open .cbs-card__pill:nth-child(1){ transition-delay: 60ms; }
.cbs-card.is-pill-open .cbs-card__pill:nth-child(2){ transition-delay: 120ms; }
.cbs-card.is-pill-open .cbs-card__pill:nth-child(3){ transition-delay: 180ms; }
.cbs-card.is-pill-open .cbs-card__pill:nth-child(4){ transition-delay: 240ms; }
.cbs-card.is-pill-open .cbs-card__pill:nth-child(5){ transition-delay: 300ms; }

/* IMAGE responds when pills open */
.cbs-card.is-pill-open .cbs-card__img {
  transform: rotate(-6deg) scale(0.74) translate(22%, -2%) !important;
  filter: blur(3px) saturate(0.4) brightness(0.4) !important;
}

/* Body */
.cbs-card__body {
  padding: 18px 18px 8px !important;
  position: relative; z-index: 2;
  background: linear-gradient(180deg, #11151b 0%, #0a0d11 100%);
  display: flex; flex-direction: column; gap: 6px;
}
.cbs-card__brand {
  margin: 0;
  font-family: var(--cbs-font-mono);
  font-size: 10px; font-weight: 600;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--cbs-edge);
  display: inline-flex; align-items: center; gap: 8px;
}
.cbs-card__brand::before {
  content: ""; width: 14px; height: 1px; background: var(--cbs-edge);
}
.cbs-card__title {
  margin: 2px 0 4px !important;
  font-family: var(--cbs-font-display);
  font-weight: 400; font-size: 22px; line-height: 1.05;
  letter-spacing: .005em; text-transform: uppercase;
  color: var(--cbs-fg-1);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; min-height: calc(1.05em * 2);
}
.cbs-card__title a { color: inherit; text-decoration: none; }

.cbs-card__meta {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--cbs-font-mono); font-size: 10px;
  color: var(--cbs-fg-3); letter-spacing: .12em;
}
.cbs-card__rating { display: inline-flex; align-items: center; gap: 4px; }
.cbs-card__rating i { color: var(--cbs-warn); font-size: 11px; }
.cbs-card__rating.is-empty i { color: var(--cbs-fg-5); }
.cbs-card__rating-num { font-weight: 700; color: var(--cbs-fg-2); }
.cbs-card__divider { width: 1px; height: 10px; background: var(--cbs-line-strong); }
.cbs-card__stock { color: var(--cbs-ok); font-weight: 700; letter-spacing: .18em; }
.cbs-card__stock.is-bad { color: var(--cbs-bad); }

.cbs-card__price-row { padding: 8px 0 0; border-top: 1px dashed var(--cbs-line); margin-top: 6px; }
.cbs-card__price {
  margin: 0;
  font-family: var(--cbs-font-display); font-weight: 400;
  font-size: 30px; line-height: 1;
  color: var(--cbs-fg-1);
  letter-spacing: .005em;
  display: flex; align-items: baseline; gap: 4px;
}
.cbs-card__from {
  font-family: var(--cbs-font-mono); font-size: 9px; font-weight: 600;
  letter-spacing: .22em; color: var(--cbs-fg-4);
  text-transform: uppercase; margin-right: 4px;
}

/* CTA - dual-color brutalist button */
.cbs-card__foot { padding: 8px 14px 14px; position: relative; z-index: 2; }
.cbs-card__cta {
  display: grid !important;
  grid-template-columns: 1fr 44px;
  align-items: stretch;
  background: var(--cbs-fg-1);
  color: var(--cbs-bg-0);
  text-decoration: none;
  border: 1px solid var(--cbs-fg-1);
  border-radius: 2px;
  overflow: hidden;
  transition: background 160ms var(--cbs-ease), color 160ms var(--cbs-ease), border-color 160ms var(--cbs-ease), box-shadow 160ms var(--cbs-ease);
  cursor: pointer;
}
.cbs-card__cta-l {
  padding: 13px 14px;
  font-family: var(--cbs-font-mono);
  font-weight: 700; font-size: 11px;
  letter-spacing: .22em; text-transform: uppercase;
  text-align: center;
}
.cbs-card__cta-arr {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--cbs-bg-0); color: var(--cbs-fg-1);
  border-left: 1px solid var(--cbs-fg-1);
  transition: background 160ms var(--cbs-ease);
}
.cbs-card__cta-arr i { font-size: 14px; transition: transform 200ms var(--cbs-ease); }
.cbs-card__cta:hover { background: var(--cbs-edge); color: var(--cbs-bg-0); border-color: var(--cbs-edge); box-shadow: 0 0 0 1px var(--cbs-edge), 0 0 32px var(--cbs-edge-soft); }
.cbs-card__cta:hover .cbs-card__cta-arr { background: var(--cbs-bg-0); border-left-color: var(--cbs-edge); color: var(--cbs-edge); }
.cbs-card__cta:hover .cbs-card__cta-arr i { transform: translateX(3px); }
.cbs-card__cta.is-disabled { background: var(--cbs-bg-3); color: var(--cbs-fg-4); border-color: var(--cbs-line); cursor: not-allowed; pointer-events: none; }
.cbs-card__cta.is-disabled .cbs-card__cta-arr { background: var(--cbs-bg-2); color: var(--cbs-fg-5); }

/* OOS */
.cbs-card.is-oos .cbs-card__img { filter: grayscale(.9) brightness(.55) !important; }

/* Override .cbs-card__pill i { display:none } - keep icon hidden in V4 layout */
.cbs-card__pill i.ph-bold { display: none; }

/* ============== CBS-CARD-V5 ============== */
/* =====================================================================
   CBS-CARD-V5 - tightened height, short pills, product-page-style chips
   ===================================================================== */

/* Tighter overall card body */
.cbs-card__body {
  padding: 14px 14px 12px !important;
  gap: 8px !important;
}

/* Title smaller and less drama for shop loop (display font kept) */
.cbs-card__title {
  font-size: 16px !important;
  line-height: 1.2 !important;
  min-height: 0 !important;
  margin: 0 !important;
  font-family: var(--cbs-font-body) !important;
  font-weight: 700 !important;
  letter-spacing: -0.005em !important;
  text-transform: none !important;
  display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

/* Hide brand label - too redundant with product titles already containing brand */
.cbs-card__brand { display: none !important; }

/* Meta row tighter and matches product page rating pill style */
.cbs-card__meta { gap: 8px !important; font-size: 11px !important; }
.cbs-card__rating {
  display: inline-flex; align-items: center; gap: 5px;
  background: var(--cbs-bg-2);
  border: 1px solid var(--cbs-line);
  border-radius: 999px;
  padding: 3px 9px;
  font-family: var(--cbs-font-body);
}
.cbs-card__rating i { color: var(--cbs-warn); font-size: 11px; }
.cbs-card__rating-num { font-weight: 700; color: var(--cbs-fg-1); font-family: var(--cbs-font-body); }
.cbs-card__reviews { color: var(--cbs-fg-3); font-weight: 500; }
.cbs-card__divider { display: none; }

/* Price row: smaller, less drama, single line */
.cbs-card__price-row { padding: 0 !important; border: 0 !important; margin: 0 !important; }
.cbs-card__price {
  font-family: var(--cbs-font-display) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  margin: 0 !important;
  line-height: 1.1 !important;
  letter-spacing: .01em;
}
.cbs-card__from {
  font-family: var(--cbs-font-mono);
  font-size: 10px; font-weight: 600;
  letter-spacing: .16em; color: var(--cbs-fg-4);
  margin-right: 4px;
  text-transform: uppercase;
}

/* CTA - inline within body, much more compact */
.cbs-card__foot { display: none !important; }
.cbs-card__body .cbs-card__cta {
  margin-top: 4px;
  grid-template-columns: 1fr 36px !important;
  border-radius: 2px !important;
}
.cbs-card__cta-l { padding: 9px 10px !important; font-size: 10px !important; letter-spacing: .2em !important; }
.cbs-card__cta-arr { }
.cbs-card__cta-arr i { font-size: 12px !important; }

/* FRAME aspect: 4:5 (a touch taller than wide) */
.cbs-card__frame { aspect-ratio: 4 / 5 !important; }

/* PILLS REDESIGN: match product page chips - rounded, single text */
.cbs-card__pills {
  position: absolute !important; inset: 0 !important; z-index: 5 !important;
  display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: flex-start !important;
  gap: 7px !important;
  padding: 18px 14px !important;
  background: linear-gradient(90deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.55) 65%, rgba(0,0,0,.2) 100%) !important;
  pointer-events: none !important;
  opacity: 0; transition: opacity 260ms var(--cbs-ease);
  overflow: hidden !important;
}
.cbs-card.is-pill-open .cbs-card__pills { opacity: 1 !important; pointer-events: auto !important; }

.cbs-card__pill {
  display: inline-block !important;
  padding: 6px 12px !important;
  background: rgba(13,16,20,.96) !important;
  border: 1px solid var(--cbs-edge) !important;
  border-radius: 999px !important;
  font-family: var(--cbs-font-body) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  color: var(--cbs-fg-1) !important;
  white-space: nowrap !important;
  max-width: 96% !important;
  overflow: hidden !important; text-overflow: ellipsis !important;
  box-shadow: 0 6px 14px rgba(0,0,0,.55), 0 0 0 1px rgba(108,189,224,.08);
  opacity: 0 !important; transform: translateX(-160%) !important;
  transition: opacity 220ms ease, transform 460ms cubic-bezier(.2,.8,.2,1) !important;
}
.cbs-card__pill-l, .cbs-card__pill-v, .cbs-card__pill i { display: none !important; }
.cbs-card.is-pill-open .cbs-card__pill { opacity: 1 !important; transform: translateX(0) !important; }
.cbs-card.is-pill-open .cbs-card__pill:nth-child(1){ transition-delay: 50ms !important; }
.cbs-card.is-pill-open .cbs-card__pill:nth-child(2){ transition-delay: 110ms !important; }
.cbs-card.is-pill-open .cbs-card__pill:nth-child(3){ transition-delay: 170ms !important; }
.cbs-card.is-pill-open .cbs-card__pill:nth-child(4){ transition-delay: 230ms !important; }

/* image animation a touch less aggressive */
.cbs-card.is-pill-open .cbs-card__img { transform: rotate(-4deg) scale(0.78) translate(18%, 0) !important; filter: blur(2px) saturate(0.5) brightness(0.45) !important; }

/* ============== CBS-CARD-V5-PATCH ============== */
/* CBS-CARD-V5-PATCH - lighter plate so transparent products read */
.cbs-card__frame { background: radial-gradient(ellipse at 50% 35%, #1d232c 0%, #11151b 70%, #0c1015 100%) !important; }
.cbs-card__img { filter: drop-shadow(0 12px 18px rgba(0,0,0,.5)) contrast(1.06) saturate(1.1) !important; padding: 18px !important; }

/* ============== CBS-CARD-V6 ============== */
/* =====================================================================
   CBS-CARD-V6 - restore V4 body styling + cleaner pill reveal
   ===================================================================== */

/* TITLE: display font, dramatic again but slightly smaller to keep card compact */
.cbs-card__title {
  font-family: var(--cbs-font-display) !important;
  font-weight: 400 !important;
  font-size: 19px !important;
  line-height: 1.05 !important;
  letter-spacing: .01em !important;
  text-transform: uppercase !important;
  margin: 4px 0 6px !important;
  color: var(--cbs-fg-1) !important;
  display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  min-height: calc(1.05em * 2) !important;
}
.cbs-card__title a { color: inherit !important; text-decoration: none !important; }

/* META: rating pill + divider + IN STOCK mono */
.cbs-card__meta {
  display: flex !important; align-items: center !important; gap: 10px !important;
  font-family: var(--cbs-font-mono) !important;
  font-size: 10px !important;
  letter-spacing: .12em !important;
}
.cbs-card__rating {
  display: inline-flex !important; align-items: center !important; gap: 4px !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-family: var(--cbs-font-mono) !important;
  font-size: 10px !important;
  letter-spacing: .12em !important;
}
.cbs-card__rating i { color: var(--cbs-warn) !important; font-size: 11px !important; }
.cbs-card__rating-num { font-family: var(--cbs-font-mono) !important; font-weight: 700 !important; color: var(--cbs-fg-1) !important; }
.cbs-card__reviews { color: var(--cbs-fg-3) !important; font-weight: 500 !important; }
.cbs-card__divider { display: none !important; }
/* Add vertical divider before IN STOCK */
.cbs-card__stock { color: var(--cbs-ok) !important; font-weight: 700 !important; letter-spacing: .18em !important; position: relative; padding-left: 10px; }
.cbs-card__stock::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 1px; height: 10px; background: var(--cbs-line-strong); }
.cbs-card__stock.is-bad { color: var(--cbs-bad) !important; }

/* PRICE: bigger again, dashed top border separating from meta */
.cbs-card__price-row {
  margin-top: 8px !important;
  padding-top: 8px !important;
  border-top: 1px dashed var(--cbs-line) !important;
}
.cbs-card__price {
  font-family: var(--cbs-font-display) !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: .005em !important;
  display: flex !important; align-items: baseline !important; gap: 4px !important;
  margin: 0 !important;
}
.cbs-card__from {
  font-family: var(--cbs-font-mono) !important;
  font-size: 9px !important; font-weight: 600 !important;
  letter-spacing: .22em !important; color: var(--cbs-fg-4) !important;
  text-transform: uppercase !important;
  margin-right: 4px !important;
}

/* PILLS REVEAL: NO background backdrop. Pills just float over the image. */
.cbs-card__pills {
  background: transparent !important;
}

/* IMAGE animation when pills open: rotate + scale + translate, NO blur, only slight dim */
.cbs-card.is-pill-open .cbs-card__img {
  transform: rotate(-7deg) scale(0.82) translate(20%, -2%) !important;
  filter: drop-shadow(0 18px 22px rgba(0,0,0,.6)) brightness(0.92) saturate(1.04) !important;
}

/* ============== CBS-PILL-V2 ============== */
/* CBS-PILL-V2 - rewire cursor pills: anchor to image frame, image animates */
(function(){
  function rewire(){
    Array.prototype.forEach.call(document.querySelectorAll("li.product"), function(card){
      var pcard = card.querySelector(".product-card");
      var pills = card.querySelector(".cbs-card-pills");
      var frame = card.querySelector(".imb-bx") || card.querySelector(".product-image");
      var trigger = card.querySelector(".clck-click");
      if (!pills || !frame || !trigger) return;
      // Move pills into the image frame so they overlay just that zone
      if (pills.parentElement !== frame) { frame.appendChild(pills); }
      // Clean handlers — clone trigger to remove old listeners
      var fresh = trigger.cloneNode(true);
      trigger.parentNode.replaceChild(fresh, trigger);
      trigger = fresh;
      function close(){ pills.classList.remove("is-open"); pcard.classList.remove("cbs-pill-open"); trigger.setAttribute("aria-expanded","false"); }
      function open(){
        Array.prototype.forEach.call(document.querySelectorAll(".cbs-pill-open"), function(c){ if (c !== pcard) c.classList.remove("cbs-pill-open"); });
        Array.prototype.forEach.call(document.querySelectorAll(".cbs-card-pills.is-open"), function(p){ if (p !== pills) p.classList.remove("is-open"); });
        pills.classList.add("is-open"); pcard.classList.add("cbs-pill-open"); trigger.setAttribute("aria-expanded","true");
      }
      trigger.addEventListener("click", function(e){ e.preventDefault(); e.stopPropagation(); if (pills.classList.contains("is-open")) close(); else open(); });
    });
  }
  function init(){ rewire(); }
  if (document.readyState === "loading") document.addEventListener("DOMContentLoaded", function(){ setTimeout(init, 50); }); else setTimeout(init, 50);
  // Re-run on ajax
  new MutationObserver(function(){ rewire(); }).observe(document.body, {childList:true, subtree:true});
  // Click-outside closes (any image area)
  document.addEventListener("click", function(e){ if (e.target.closest && (e.target.closest(".cbs-card-pills") || e.target.closest(".clck-click"))) return; Array.prototype.forEach.call(document.querySelectorAll(".cbs-card-pills.is-open"), function(p){ p.classList.remove("is-open"); var pc = p.closest(".product-card"); if (pc) pc.classList.remove("cbs-pill-open"); }); });
})();

/* ============== CBS-PILL-V2-CSS ============== */
/* CBS-PILL-V2-CSS - pills overlay image frame, slide from left, image animates */
li.product .product-image .imb-bx, .product-card .product-image .imb-bx {
  overflow: hidden;
}
li.product .cbs-card-pills, .product-card .cbs-card-pills {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 8px !important;
  padding: 18px !important;
  margin: 0 !important;
  max-height: none !important;
  background: transparent !important;
  pointer-events: none !important;
  z-index: 5 !important;
  overflow: hidden !important;
  opacity: 1 !important;
}
li.product .cbs-card-pills .cbs-pill, .product-card .cbs-card-pills .cbs-pill {
  opacity: 0 !important;
  transform: translateX(-110%) !important;
  transition: transform 460ms cubic-bezier(.2,.8,.2,1), opacity 240ms ease !important;
  font-family: var(--cbs-font-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: rgba(13,16,20,.92) !important;
  border: 1px solid var(--cbs-edge-soft) !important;
  color: var(--cbs-fg-1);
  padding: 6px 10px !important;
  border-radius: var(--cbs-r-1) !important;
  display: inline-flex; align-items: center; gap: 6px;
  pointer-events: auto;
  box-shadow: 0 4px 14px rgba(0,0,0,.6), 0 0 0 1px rgba(108,189,224,.08);
}
li.product .cbs-card-pills .cbs-pill i, .product-card .cbs-card-pills .cbs-pill i { color: var(--cbs-edge); font-size: 11px; }
li.product .cbs-card-pills.is-open .cbs-pill, .product-card .cbs-card-pills.is-open .cbs-pill {
  opacity: 1 !important;
  transform: translateX(0) !important;
}
li.product .cbs-card-pills.is-open .cbs-pill:nth-child(1) { transition-delay: 80ms; }
li.product .cbs-card-pills.is-open .cbs-pill:nth-child(2) { transition-delay: 140ms; }
li.product .cbs-card-pills.is-open .cbs-pill:nth-child(3) { transition-delay: 200ms; }
li.product .cbs-card-pills.is-open .cbs-pill:nth-child(4) { transition-delay: 260ms; }
li.product .cbs-card-pills.is-open .cbs-pill:nth-child(5) { transition-delay: 320ms; }

/* IMAGE responds: rotate + scale + shift + dim */
li.product .product-image img, .product-card .product-image img {
  transition: transform 560ms cubic-bezier(.2,.8,.2,1), filter 320ms ease !important;
  transform-origin: 50% 50%;
}
.product-card.cbs-pill-open .product-image img,
li.product .product-card.cbs-pill-open .product-image img {
  transform: rotate(-8deg) scale(0.78) translate(14%, -6%) !important;
  filter: blur(2px) saturate(0.5) brightness(0.6) !important;
}

/* Trigger lights up when open */
li.product .product-card.cbs-pill-open .clck-click {
  background: var(--cbs-edge) !important;
  color: var(--cbs-bg-0) !important;
  border-color: var(--cbs-edge) !important;
  box-shadow: 0 0 24px var(--cbs-edge-soft) !important;
}

@media (prefers-reduced-motion: reduce) {
  li.product .cbs-card-pills .cbs-pill { transition: opacity 160ms linear !important; transform: none !important; }
  .product-card.cbs-pill-open .product-image img { transform: none !important; filter: brightness(0.55) !important; }
}

/* ============== CBS-PILL-V3 ============== */
/* CBS-PILL-V3 - idempotent, no observer loop */
(function(){
  function wireOne(card){
    var pcard = card.querySelector(".product-card");
    var pills = card.querySelector(".cbs-card-pills");
    var frame = card.querySelector(".imb-bx") || card.querySelector(".product-image");
    var trigger = card.querySelector(".clck-click");
    if (!pcard || !pills || !frame || !trigger) return;
    if (trigger.dataset.cbsPillV3 === "1") return;
    trigger.dataset.cbsPillV3 = "1";
    if (pills.parentElement !== frame) { frame.appendChild(pills); }
    function close(){ pills.classList.remove("is-open"); pcard.classList.remove("cbs-pill-open"); trigger.setAttribute("aria-expanded","false"); }
    function open(){
      Array.prototype.forEach.call(document.querySelectorAll(".cbs-pill-open"), function(c){ if (c !== pcard) c.classList.remove("cbs-pill-open"); });
      Array.prototype.forEach.call(document.querySelectorAll(".cbs-card-pills.is-open"), function(p){ if (p !== pills) p.classList.remove("is-open"); });
      pills.classList.add("is-open"); pcard.classList.add("cbs-pill-open"); trigger.setAttribute("aria-expanded","true");
    }
    trigger.addEventListener("click", function(e){ e.preventDefault(); e.stopPropagation(); if (pills.classList.contains("is-open")) close(); else open(); });
  }
  function run(){ Array.prototype.forEach.call(document.querySelectorAll("li.product"), wireOne); }
  if (document.readyState === "loading") document.addEventListener("DOMContentLoaded", function(){ setTimeout(run, 80); }); else setTimeout(run, 80);
  setInterval(run, 1500); /* simple poll, no infinite mutation observer */
  document.addEventListener("click", function(e){ if (e.target.closest && (e.target.closest(".cbs-card-pills") || e.target.closest(".clck-click"))) return; Array.prototype.forEach.call(document.querySelectorAll(".cbs-card-pills.is-open"), function(p){ p.classList.remove("is-open"); var pc = p.closest(".product-card"); if (pc) pc.classList.remove("cbs-pill-open"); }); });
})();

/* ============== CBS-HOME-V1 ============== */
/* =====================================================================
   CBS-HOME-V1 - homepage section re-skin layer
   ===================================================================== */

/* Body wrapper if any */
body.page-template-home-page-template .site-main, body.page-template-home-page-template #content { background: var(--cbs-bg-0); }

/* Section titles "STACK UP!", "SHOP BY BRAND", "OUR BESTSELLERS" etc. */
body.page-template-home-page-template h2,
body.page-template-home-page-template h3.section-title,
body.page-template-home-page-template .section-heading,
body.page-template-home-page-template .home-section-title {
  font-family: var(--cbs-font-mono) !important;
  font-size: 12px !important; font-weight: 700 !important;
  letter-spacing: .22em !important; text-transform: uppercase !important;
  color: var(--cbs-fg-1) !important;
  display: inline-flex !important; align-items: center !important; gap: 12px !important;
  margin: 56px 0 22px !important;
  position: relative;
}
body.page-template-home-page-template h2::before { content: "" !important; width: 18px !important; height: 1px !important; background: var(--cbs-edge) !important; display: inline-block !important; }

/* Trust badges row */
body.page-template-home-page-template .trust-badge, body.page-template-home-page-template .feature-icon-box { background: var(--cbs-bg-1) !important; border: 1px solid var(--cbs-line) !important; border-radius: 2px !important; padding: 28px 22px !important; text-align: left !important; position: relative; overflow: hidden; }
body.page-template-home-page-template .trust-badge::after, body.page-template-home-page-template .feature-icon-box::after { content: ""; position: absolute; inset: 0; background-image: var(--cbs-grain); opacity: .04; mix-blend-mode: overlay; pointer-events: none; }
body.page-template-home-page-template .trust-badge h3, body.page-template-home-page-template .feature-icon-box h3, body.page-template-home-page-template .feature-icon-box h4 { font-family: var(--cbs-font-mono) !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: var(--cbs-fg-1) !important; margin: 14px 0 6px !important; }
body.page-template-home-page-template .trust-badge p, body.page-template-home-page-template .feature-icon-box p { color: var(--cbs-fg-3) !important; font-size: 13px !important; }

/* Clearance Sale banner */
body.page-template-home-page-template .clearance-banner, body.page-template-home-page-template .home-clearance { background: var(--cbs-bg-1) !important; border: 1px solid var(--cbs-line) !important; padding: 32px 28px !important; position: relative; overflow: hidden; border-radius: 2px; }
body.page-template-home-page-template .clearance-banner h2 { font-family: var(--cbs-font-display) !important; font-size: 44px !important; font-weight: 400 !important; text-transform: uppercase !important; color: var(--cbs-fg-1) !important; margin: 0 !important; }
body.page-template-home-page-template .clearance-banner .code, body.page-template-home-page-template .clearance-banner .promo-code { color: var(--cbs-edge) !important; font-family: var(--cbs-font-mono); }

/* STACK UP! tiles */
body.page-template-home-page-template .stack-tile, body.page-template-home-page-template .stack-card { background: var(--cbs-bg-1) !important; border: 1px solid var(--cbs-line) !important; border-radius: 2px !important; padding: 22px !important; position: relative; overflow: hidden; transition: border-color 240ms var(--cbs-ease), transform 240ms var(--cbs-ease); }
body.page-template-home-page-template .stack-tile:hover, body.page-template-home-page-template .stack-card:hover { border-color: var(--cbs-edge); transform: translateY(-3px); box-shadow: 0 0 0 1px var(--cbs-edge-soft), 0 24px 56px rgba(0,0,0,.6); }
body.page-template-home-page-template .stack-tile::before, body.page-template-home-page-template .stack-card::before { content: ""; position: absolute; inset: 12px; pointer-events: none; background: linear-gradient(to right, var(--cbs-scope) 16px, transparent 16px) top left/24px 1px no-repeat, linear-gradient(to bottom, var(--cbs-scope) 16px, transparent 16px) top left/1px 24px no-repeat, linear-gradient(to left, var(--cbs-scope) 16px, transparent 16px) top right/24px 1px no-repeat, linear-gradient(to bottom, var(--cbs-scope) 16px, transparent 16px) top right/1px 24px no-repeat, linear-gradient(to right, var(--cbs-scope) 16px, transparent 16px) bottom left/24px 1px no-repeat, linear-gradient(to top, var(--cbs-scope) 16px, transparent 16px) bottom left/1px 24px no-repeat, linear-gradient(to left, var(--cbs-scope) 16px, transparent 16px) bottom right/24px 1px no-repeat, linear-gradient(to top, var(--cbs-scope) 16px, transparent 16px) bottom right/1px 24px no-repeat; }
body.page-template-home-page-template .stack-tile h3, body.page-template-home-page-template .stack-tile .stack-name, body.page-template-home-page-template .stack-card h3 { font-family: var(--cbs-font-display) !important; font-weight: 400 !important; font-size: 28px !important; text-transform: uppercase !important; color: var(--cbs-fg-1) !important; margin: 14px 0 6px !important; }

/* Filter pill rows on home (Bestseller categories, Apparels categories) */
body.page-template-home-page-template .filter-pills, body.page-template-home-page-template .home-tabs, body.page-template-home-page-template .nav-tabs, body.page-template-home-page-template ul.product-categories { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; list-style: none !important; padding: 0 !important; margin: 0 0 24px !important; border-bottom: 0 !important; }
body.page-template-home-page-template ul.product-categories li, body.page-template-home-page-template .filter-pills li, body.page-template-home-page-template .nav-tabs li { margin: 0 !important; padding: 0 !important; background: transparent !important; }
body.page-template-home-page-template ul.product-categories li a, body.page-template-home-page-template .filter-pills li a, body.page-template-home-page-template .nav-tabs li a, body.page-template-home-page-template .home-tabs a { display: inline-flex !important; align-items: center !important; gap: 6px !important; padding: 10px 16px !important; background: var(--cbs-bg-1) !important; border: 1px solid var(--cbs-line) !important; border-radius: 999px !important; color: var(--cbs-fg-2) !important; text-decoration: none !important; font-family: var(--cbs-font-body); font-size: 13px; font-weight: 600; transition: border-color 160ms, color 160ms, background 160ms; }
body.page-template-home-page-template ul.product-categories li a:hover, body.page-template-home-page-template .filter-pills li a:hover, body.page-template-home-page-template .nav-tabs li.active a, body.page-template-home-page-template ul.product-categories li.current-cat a { background: var(--cbs-fg-1) !important; color: var(--cbs-bg-0) !important; border-color: var(--cbs-fg-1) !important; }

/* Hero carousel polish - corner brackets on Slick slides */
body.page-template-home-page-template .hero-slider, body.page-template-home-page-template .home-banner-slider, body.page-template-home-page-template .slick-slider { position: relative; border-radius: 2px; overflow: hidden; }
body.page-template-home-page-template .slick-slide img { display: block; width: 100%; height: auto; }
body.page-template-home-page-template .slick-prev, body.page-template-home-page-template .slick-next { background: rgba(0,0,0,.5) !important; border: 1px solid var(--cbs-edge-soft) !important; border-radius: 2px !important; width: 44px !important; height: 44px !important; z-index: 5; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
body.page-template-home-page-template .slick-prev:hover, body.page-template-home-page-template .slick-next:hover { background: var(--cbs-edge) !important; border-color: var(--cbs-edge) !important; }
body.page-template-home-page-template .slick-prev::before, body.page-template-home-page-template .slick-next::before { color: var(--cbs-fg-1) !important; font-family: "Phosphor"; }
body.page-template-home-page-template .slick-dots li button::before { color: var(--cbs-fg-4) !important; opacity: .6 !important; }
body.page-template-home-page-template .slick-dots li.slick-active button::before { color: var(--cbs-edge) !important; opacity: 1 !important; }

/* Ambassador banner */
body.page-template-home-page-template .ambassador-banner, body.page-template-home-page-template .home-ambassador { background: var(--cbs-bg-1) !important; border: 1px solid var(--cbs-line) !important; border-radius: 2px !important; padding: 40px 32px !important; position: relative; overflow: hidden; }
body.page-template-home-page-template .ambassador-banner h2, body.page-template-home-page-template .ambassador-banner h3 { font-family: var(--cbs-font-display) !important; font-size: clamp(32px, 5vw, 56px) !important; font-weight: 400 !important; text-transform: uppercase !important; color: var(--cbs-fg-1) !important; }

/* Athletes section */
body.page-template-home-page-template .athlete, body.page-template-home-page-template .athlete-card, body.page-template-home-page-template .home-athlete { background: var(--cbs-bg-1) !important; border: 1px solid var(--cbs-line) !important; padding: 18px !important; border-radius: 2px !important; position: relative; transition: border-color 240ms var(--cbs-ease), transform 240ms var(--cbs-ease); }
body.page-template-home-page-template .athlete:hover, body.page-template-home-page-template .athlete-card:hover { border-color: var(--cbs-edge); transform: translateY(-3px); box-shadow: 0 0 0 1px var(--cbs-edge-soft), 0 18px 36px rgba(0,0,0,.55); }
body.page-template-home-page-template .athlete h3, body.page-template-home-page-template .athlete h2, body.page-template-home-page-template .athlete-name { font-family: var(--cbs-font-display) !important; font-weight: 400 !important; font-size: 22px !important; text-transform: uppercase !important; color: var(--cbs-fg-1) !important; margin: 14px 0 4px !important; }
body.page-template-home-page-template .athlete p, body.page-template-home-page-template .athlete-bio { color: var(--cbs-fg-3) !important; font-size: 13px !important; line-height: 1.55 !important; }
body.page-template-home-page-template .athlete .insta, body.page-template-home-page-template .athlete a[href*="instagram"] { display: inline-flex; align-items: center; gap: 6px; color: var(--cbs-edge) !important; text-decoration: none; font-family: var(--cbs-font-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; margin-top: 8px; }

/* Blog articles cards */
body.page-template-home-page-template .blog-article, body.page-template-home-page-template .blog-card, body.page-template-home-page-template .home-blog-card { background: var(--cbs-bg-1) !important; border: 1px solid var(--cbs-line) !important; border-radius: 2px !important; padding: 0 !important; overflow: hidden; transition: border-color 240ms, transform 240ms; }
body.page-template-home-page-template .blog-article:hover, body.page-template-home-page-template .blog-card:hover { border-color: var(--cbs-edge); transform: translateY(-3px); }
body.page-template-home-page-template .blog-article img { width: 100%; height: 240px; object-fit: cover; display: block; }
body.page-template-home-page-template .blog-article h2, body.page-template-home-page-template .blog-article h3, body.page-template-home-page-template .blog-card-title { font-family: var(--cbs-font-display) !important; font-weight: 400 !important; font-size: 22px !important; line-height: 1.1 !important; text-transform: uppercase !important; color: var(--cbs-fg-1) !important; padding: 18px 18px 6px !important; margin: 0 !important; }
body.page-template-home-page-template .blog-article p { color: var(--cbs-fg-3) !important; padding: 0 18px 12px !important; font-size: 14px !important; }
body.page-template-home-page-template .blog-article .date, body.page-template-home-page-template .blog-card-date { font-family: var(--cbs-font-mono) !important; font-size: 11px !important; letter-spacing: .14em !important; color: var(--cbs-fg-4) !important; padding: 0 18px 18px !important; text-transform: uppercase; }

/* Body grain overlay on home only */
body.page-template-home-page-template { background: var(--cbs-bg-0); }

/* ============== CBS-HOME-V2 ============== */
/* =====================================================================
   CBS-HOME-V2 - homepage REBUILT from scratch
   ===================================================================== */

.cbs-home { background: var(--cbs-bg-0); color: var(--cbs-fg-1); position: relative; overflow-x: hidden; }

/* Shared eyebrow + section title */
.cbs-eyebrow { font-family: var(--cbs-font-mono); font-size: 11px; font-weight: 600; letter-spacing: .26em; color: var(--cbs-edge); text-transform: uppercase; margin: 0 0 14px; display: inline-flex; align-items: center; gap: 10px; }
.cbs-eyebrow::before { content: ""; width: 22px; height: 1px; background: var(--cbs-edge); }
.cbs-home__h { font-family: var(--cbs-font-display) !important; font-weight: 400 !important; font-size: clamp(40px, 7vw, 88px) !important; line-height: .95 !important; letter-spacing: 0 !important; color: var(--cbs-fg-1) !important; text-transform: uppercase !important; margin: 0 0 12px !important; }
.cbs-home__h-rest { color: var(--cbs-fg-3); display: block; }
.cbs-home__sub { font-family: var(--cbs-font-body); font-size: 16px; color: var(--cbs-fg-3); margin: 0 0 32px; max-width: 60ch; }

/* ============ HERO ============ */
.cbs-home__hero { position: relative; padding: 80px 0 110px; overflow: hidden; background: radial-gradient(ellipse at 50% 20%, #15191f 0%, #0a0d11 50%, #05080b 100%); border-bottom: 1px solid var(--cbs-line); }
.cbs-home__hero-grit { position: absolute; inset: 0; background-image: var(--cbs-grain); background-size: 220px 220px; opacity: .08; mix-blend-mode: overlay; pointer-events: none; }
.cbs-home__hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(to right, rgba(108,189,224,.35) 22px, transparent 22px) top left/40px 1px no-repeat, linear-gradient(to bottom, rgba(108,189,224,.35) 22px, transparent 22px) top left/1px 40px no-repeat, linear-gradient(to left, rgba(108,189,224,.35) 22px, transparent 22px) top right/40px 1px no-repeat, linear-gradient(to bottom, rgba(108,189,224,.35) 22px, transparent 22px) top right/1px 40px no-repeat, linear-gradient(to right, rgba(108,189,224,.35) 22px, transparent 22px) bottom left/40px 1px no-repeat, linear-gradient(to top, rgba(108,189,224,.35) 22px, transparent 22px) bottom left/1px 40px no-repeat, linear-gradient(to left, rgba(108,189,224,.35) 22px, transparent 22px) bottom right/40px 1px no-repeat, linear-gradient(to top, rgba(108,189,224,.35) 22px, transparent 22px) bottom right/1px 40px no-repeat; margin: 24px; }
.cbs-home__hero-inner { position: relative; z-index: 2; }
.cbs-home__hero-eyebrow { font-family: var(--cbs-font-mono); font-size: 11px; letter-spacing: .26em; color: var(--cbs-edge); text-transform: uppercase; margin: 0 0 28px; }
.cbs-home__hero-title { font-family: var(--cbs-font-display); font-size: clamp(72px, 14vw, 200px); font-weight: 400; color: var(--cbs-fg-1); line-height: .85; letter-spacing: -0.005em; text-transform: uppercase; margin: 0 0 24px; }
.cbs-home__hero-dot { color: var(--cbs-edge); }
.cbs-home__hero-pitch { font-family: var(--cbs-font-body); font-size: clamp(16px, 1.8vw, 20px); line-height: 1.45; color: var(--cbs-fg-2); max-width: 56ch; margin: 0 0 32px; }
.cbs-home__hero-cta { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 44px; }
.cbs-home__hero-btn { display: inline-flex; align-items: center; gap: 10px; padding: 16px 24px; border-radius: 2px; font-family: var(--cbs-font-mono); font-size: 12px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; text-decoration: none; transition: background 160ms var(--cbs-ease), color 160ms var(--cbs-ease), border-color 160ms var(--cbs-ease), box-shadow 160ms var(--cbs-ease); }
.cbs-home__hero-btn--p { background: var(--cbs-fg-1); color: var(--cbs-bg-0); border: 1px solid var(--cbs-fg-1); }
.cbs-home__hero-btn--p:hover { background: var(--cbs-edge); border-color: var(--cbs-edge); box-shadow: 0 0 28px var(--cbs-edge-soft); }
.cbs-home__hero-btn--g { background: transparent; color: var(--cbs-fg-1); border: 1px solid var(--cbs-line-strong); }
.cbs-home__hero-btn--g:hover { border-color: var(--cbs-edge); color: var(--cbs-edge); }
.cbs-home__hero-spec { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; max-width: 720px; border-top: 1px solid var(--cbs-line); padding-top: 18px; }
@media (max-width: 720px){ .cbs-home__hero-spec { grid-template-columns: repeat(2,1fr); } }
.cbs-home__hero-spec li { display: flex; flex-direction: column; gap: 6px; padding: 8px 0; }
.cbs-home__hero-spec em { font-family: var(--cbs-font-mono); font-style: normal; font-size: 10px; letter-spacing: .22em; color: var(--cbs-fg-4); text-transform: uppercase; }
.cbs-home__hero-spec strong { font-family: var(--cbs-font-display); font-weight: 400; font-size: 28px; color: var(--cbs-fg-1); line-height: 1; }

/* ============ TICKER ============ */
.cbs-home__ticker { background: var(--cbs-fg-1); color: var(--cbs-bg-0); overflow: hidden; border-top: 1px solid var(--cbs-line); border-bottom: 1px solid var(--cbs-line); padding: 14px 0; }
.cbs-home__ticker-track { display: inline-flex; gap: 18px; white-space: nowrap; font-family: var(--cbs-font-mono); font-size: 11px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; animation: cbsTicker 60s linear infinite; }
.cbs-home__ticker-track > * { display: inline-block; }
.cbs-home__ticker-track b { color: var(--cbs-edge); }
@keyframes cbsTicker { 0%{transform:translateX(0);} 100%{transform:translateX(-50%);} }
@media (prefers-reduced-motion: reduce){ .cbs-home__ticker-track { animation: none; } }

/* ============ TRUST ============ */
.cbs-home__trust { padding: 80px 0; }
.cbs-home__trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (max-width: 900px){ .cbs-home__trust-grid { grid-template-columns: repeat(2, 1fr); } }
.cbs-trust { background: var(--cbs-bg-1); border: 1px solid var(--cbs-line); border-radius: 2px; padding: 24px; transition: border-color 240ms var(--cbs-ease), transform 240ms var(--cbs-ease); position: relative; overflow: hidden; }
.cbs-trust::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, var(--cbs-edge), transparent); }
.cbs-trust:hover { border-color: var(--cbs-edge-soft); transform: translateY(-3px); }
.cbs-trust i { font-size: 28px; color: var(--cbs-edge); margin-bottom: 18px; display: block; }
.cbs-trust h3 { font-family: var(--cbs-font-mono); font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--cbs-fg-1); margin: 0 0 8px; }
.cbs-trust p { font-size: 13px; color: var(--cbs-fg-3); margin: 0; line-height: 1.55; }

/* ============ STACK ============ */
.cbs-home__stack { padding: 80px 0; background: var(--cbs-bg-1); border-top: 1px solid var(--cbs-line); border-bottom: 1px solid var(--cbs-line); }
.cbs-home__stack-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
@media (max-width: 760px){ .cbs-home__stack-grid { grid-template-columns: 1fr; } }
.cbs-stack-tile { background: var(--cbs-bg-0); border: 1px solid var(--cbs-line); border-radius: 2px; padding: 22px 22px 26px; text-decoration: none; color: inherit; transition: border-color 240ms var(--cbs-ease), transform 240ms var(--cbs-ease); position: relative; display: block; }
.cbs-stack-tile:hover { border-color: var(--cbs-edge); transform: translateY(-3px); box-shadow: 0 0 0 1px var(--cbs-edge-soft), 0 24px 44px rgba(0,0,0,.6); }
.cbs-stack-tile__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.cbs-stack-tile__tag { font-family: var(--cbs-font-mono); font-size: 11px; color: var(--cbs-fg-4); letter-spacing: .14em; }
.cbs-stack-tile__cta { font-family: var(--cbs-font-mono); font-size: 10px; color: var(--cbs-edge); letter-spacing: .18em; display: inline-flex; align-items: center; gap: 4px; }
.cbs-stack-tile__art { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; padding: 16px; background: radial-gradient(ellipse at 50% 50%, #1a1f28 0%, #0a0d11 100%); border: 1px solid var(--cbs-line); border-radius: 2px; margin-bottom: 20px; }
.cbs-stack-tile__th { display: block; aspect-ratio: 1/1; background: var(--cbs-bg-2); border-radius: 2px; overflow: hidden; padding: 6px; }
.cbs-stack-tile__th img { width: 100%; height: 100%; object-fit: contain; }
.cbs-stack-tile__name { font-family: var(--cbs-font-display); font-weight: 400; font-size: 30px; text-transform: uppercase; color: var(--cbs-fg-1); margin: 0 0 6px; line-height: 1; }
.cbs-stack-tile__pitch { font-size: 13px; color: var(--cbs-fg-3); margin: 0 0 8px; }
.cbs-stack-tile__count { font-family: var(--cbs-font-mono); font-size: 10px; letter-spacing: .18em; color: var(--cbs-fg-4); text-transform: uppercase; }

/* ============ BRANDS ============ */
.cbs-home__brands { padding: 80px 0; }
.cbs-home__brand-rail { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 24px; }
@media (max-width: 900px){ .cbs-home__brand-rail { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px){ .cbs-home__brand-rail { grid-template-columns: 1fr; } }
.cbs-brand-chip { display: flex; align-items: center; justify-content: space-between; padding: 22px 20px; background: var(--cbs-bg-1); border: 1px solid var(--cbs-line); border-radius: 2px; text-decoration: none; color: var(--cbs-fg-1); transition: border-color 240ms, transform 240ms; }
.cbs-brand-chip:hover { border-color: var(--cbs-edge); transform: translateY(-2px); }
.cbs-brand-chip strong { font-family: var(--cbs-font-display); font-weight: 400; font-size: 20px; text-transform: uppercase; color: var(--cbs-fg-1); }
.cbs-brand-chip em { font-family: var(--cbs-font-mono); font-style: normal; font-size: 10px; letter-spacing: .18em; color: var(--cbs-fg-4); margin-left: auto; margin-right: 12px; }
.cbs-brand-chip i { color: var(--cbs-edge); font-size: 14px; }

/* ============ BESTSELLERS ============ */
.cbs-home__best { padding: 80px 0; background: var(--cbs-bg-1); border-top: 1px solid var(--cbs-line); border-bottom: 1px solid var(--cbs-line); }
.cbs-home__more { margin-top: 32px; text-align: center; }
.cbs-home__more-btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 24px; background: transparent; color: var(--cbs-fg-1); border: 1px solid var(--cbs-line-strong); border-radius: 2px; font-family: var(--cbs-font-mono); font-size: 11px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; text-decoration: none; transition: border-color 160ms, color 160ms, background 160ms; }
.cbs-home__more-btn:hover { background: var(--cbs-fg-1); color: var(--cbs-bg-0); border-color: var(--cbs-fg-1); }

/* ============ APPARELS ============ */
.cbs-home__apparels { padding: 80px 0; }
.cbs-home__apparels-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 760px){ .cbs-home__apparels-grid { grid-template-columns: 1fr; } }
.cbs-apparel-tile { position: relative; display: block; aspect-ratio: 5/3; background: var(--cbs-bg-1); border: 1px solid var(--cbs-line); border-radius: 2px; overflow: hidden; text-decoration: none; color: inherit; transition: border-color 240ms, transform 240ms; }
.cbs-apparel-tile:hover { border-color: var(--cbs-edge); transform: translateY(-3px); }
.cbs-apparel-tile__art { position: absolute; inset: 0; background: linear-gradient(135deg, #1a1f28 0%, #0a0d11 100%); }
.cbs-apparel-tile__art img { width: 100%; height: 100%; object-fit: cover; opacity: .5; transition: opacity 240ms; }
.cbs-apparel-tile:hover .cbs-apparel-tile__art img { opacity: .7; }
.cbs-apparel-tile__copy { position: absolute; left: 24px; bottom: 24px; right: 24px; z-index: 2; }
.cbs-apparel-tile__tag { font-family: var(--cbs-font-mono); font-size: 10px; letter-spacing: .22em; color: var(--cbs-edge); text-transform: uppercase; }
.cbs-apparel-tile__name { font-family: var(--cbs-font-display); font-weight: 400; font-size: clamp(36px, 4vw, 56px); text-transform: uppercase; color: var(--cbs-fg-1); margin: 6px 0 8px; line-height: 1; }
.cbs-apparel-tile__count { font-family: var(--cbs-font-mono); font-size: 11px; letter-spacing: .14em; color: var(--cbs-fg-3); margin: 0 0 12px; }
.cbs-apparel-tile__cta { display: inline-flex; align-items: center; gap: 6px; padding: 10px 16px; background: rgba(0,0,0,.5); border: 1px solid var(--cbs-fg-1); border-radius: 2px; color: var(--cbs-fg-1); font-family: var(--cbs-font-mono); font-size: 11px; letter-spacing: .22em; text-transform: uppercase; }

/* ============ AMBASSADOR ============ */
.cbs-home__amb { padding: 80px 0; background: var(--cbs-bg-1); border-top: 1px solid var(--cbs-line); border-bottom: 1px solid var(--cbs-line); }
.cbs-home__amb-card { display: grid; grid-template-columns: 1.1fr 1fr; gap: 0; align-items: stretch; background: var(--cbs-bg-0); border: 1px solid var(--cbs-line); border-radius: 2px; overflow: hidden; min-height: 480px; }
@media (max-width: 900px){ .cbs-home__amb-card { grid-template-columns: 1fr; } }
.cbs-home__amb-copy { padding: 40px; display: flex; flex-direction: column; justify-content: center; }
.cbs-home__amb-h { font-family: var(--cbs-font-display); font-weight: 400; font-size: clamp(40px, 5vw, 72px); text-transform: uppercase; color: var(--cbs-fg-1); margin: 0 0 20px; line-height: .95; }
.cbs-home__amb-p { font-size: 16px; color: var(--cbs-fg-2); line-height: 1.55; margin: 0 0 24px; }
.cbs-home__amb-bullets { list-style: none; padding: 0; margin: 0 0 32px; display: flex; flex-direction: column; gap: 10px; }
.cbs-home__amb-bullets li { display: flex; align-items: center; gap: 10px; font-family: var(--cbs-font-mono); font-size: 13px; letter-spacing: .04em; text-transform: uppercase; color: var(--cbs-fg-2); }
.cbs-home__amb-bullets i { color: var(--cbs-edge); font-size: 14px; }
.cbs-home__amb-art { background: linear-gradient(135deg, #15191f 0%, #06080b 100%); position: relative; }
.cbs-home__amb-art::before { content: "CBS LEGION"; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(-90deg); font-family: var(--cbs-font-display); font-size: 64px; letter-spacing: .04em; color: var(--cbs-fg-5); white-space: nowrap; }

/* ============ ATHLETES ============ */
.cbs-home__ath { padding: 80px 0; }
.cbs-home__ath-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
@media (max-width: 1100px){ .cbs-home__ath-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px){ .cbs-home__ath-grid { grid-template-columns: repeat(2, 1fr); } }
.cbs-athlete { background: var(--cbs-bg-1); border: 1px solid var(--cbs-line); border-radius: 2px; overflow: hidden; transition: border-color 240ms, transform 240ms; }
.cbs-athlete:hover { border-color: var(--cbs-edge); transform: translateY(-3px); }
.cbs-athlete__art { aspect-ratio: 1/1; background: linear-gradient(135deg, #15191f 0%, #06080b 100%); position: relative; }
.cbs-athlete__art::before { content: ""; position: absolute; inset: 18px; border: 1px solid var(--cbs-line-strong); border-radius: 2px; }
.cbs-athlete__meta { padding: 14px 16px; }
.cbs-athlete__name { font-family: var(--cbs-font-display); font-weight: 400; font-size: 18px; line-height: 1; text-transform: uppercase; color: var(--cbs-fg-1); margin: 0 0 4px; }
.cbs-athlete__role { font-family: var(--cbs-font-mono); font-size: 10px; letter-spacing: .14em; color: var(--cbs-fg-3); text-transform: uppercase; margin: 0 0 10px; }
.cbs-athlete__ig { display: inline-flex; align-items: center; gap: 6px; color: var(--cbs-edge); text-decoration: none; font-family: var(--cbs-font-mono); font-size: 10px; letter-spacing: .18em; text-transform: uppercase; }
.cbs-athlete__ig:hover { color: var(--cbs-fg-1); }

/* ============ BLOG ============ */
.cbs-home__blog { padding: 80px 0; background: var(--cbs-bg-1); border-top: 1px solid var(--cbs-line); }
.cbs-home__blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
@media (max-width: 900px){ .cbs-home__blog-grid { grid-template-columns: 1fr; } }
.cbs-blog-card { background: var(--cbs-bg-0); border: 1px solid var(--cbs-line); border-radius: 2px; overflow: hidden; text-decoration: none; color: inherit; transition: border-color 240ms, transform 240ms; display: block; }
.cbs-blog-card:hover { border-color: var(--cbs-edge); transform: translateY(-3px); }
.cbs-blog-card__art { aspect-ratio: 16/10; background: var(--cbs-bg-2); overflow: hidden; }
.cbs-blog-card__art img { width: 100%; height: 100%; object-fit: cover; }
.cbs-blog-card__date { font-family: var(--cbs-font-mono); font-size: 10px; letter-spacing: .18em; color: var(--cbs-fg-4); text-transform: uppercase; padding: 16px 18px 0; margin: 0; }
.cbs-blog-card__h { font-family: var(--cbs-font-display); font-weight: 400; font-size: 22px; text-transform: uppercase; color: var(--cbs-fg-1); padding: 4px 18px 6px; margin: 0; line-height: 1.1; }
.cbs-blog-card__excerpt { color: var(--cbs-fg-3); font-size: 13px; line-height: 1.55; padding: 0 18px 12px; margin: 0; }
.cbs-blog-card__more { display: inline-flex; align-items: center; gap: 6px; padding: 0 18px 18px; color: var(--cbs-edge); font-family: var(--cbs-font-mono); font-size: 10px; letter-spacing: .22em; text-transform: uppercase; }

/* Kill any leftover broken Slick markup */
body.page-template-home-page-template .banner-up, body.page-template-home-page-template .banner-main, body.page-template-home-page-template .banner-slider, body.page-template-home-page-template .produt-overflow-bx, body.page-template-home-page-template .clothing-products { display: none !important; }

/* ============== CBS-HOME-V3-HERO ============== */
/* CBS-HOME-V3-HERO - real image carousel */
.cbs-home__hero { position: relative; padding: 0 !important; overflow: hidden; min-height: 720px; height: 90vh; max-height: 880px; border-bottom: 1px solid var(--cbs-line); display: flex; align-items: flex-end; background: var(--cbs-bg-0); }
@media (max-width: 760px){ .cbs-home__hero { height: auto; min-height: 580px; padding: 80px 0 36px !important; } }
.cbs-home__hero-slides { position: absolute; inset: 0; z-index: 0; }
.cbs-home__hero-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 700ms var(--cbs-ease); display: block; }
.cbs-home__hero-slide.is-active { opacity: 1; z-index: 1; }
.cbs-home__hero-slide img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.cbs-home__hero-veil { position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.55) 40%, rgba(0,0,0,.85) 100%), linear-gradient(90deg, rgba(0,0,0,.55) 0%, transparent 60%); pointer-events: none; }
.cbs-home__hero-grit { position: absolute; inset: 0; background-image: var(--cbs-grain); background-size: 220px 220px; opacity: .08; mix-blend-mode: overlay; pointer-events: none; z-index: 2; }
.cbs-home__hero::after { content: ""; position: absolute; inset: 24px; pointer-events: none; z-index: 3; background: linear-gradient(to right, rgba(108,189,224,.55) 24px, transparent 24px) top left/40px 1px no-repeat, linear-gradient(to bottom, rgba(108,189,224,.55) 24px, transparent 24px) top left/1px 40px no-repeat, linear-gradient(to left, rgba(108,189,224,.55) 24px, transparent 24px) top right/40px 1px no-repeat, linear-gradient(to bottom, rgba(108,189,224,.55) 24px, transparent 24px) top right/1px 40px no-repeat, linear-gradient(to right, rgba(108,189,224,.55) 24px, transparent 24px) bottom left/40px 1px no-repeat, linear-gradient(to top, rgba(108,189,224,.55) 24px, transparent 24px) bottom left/1px 40px no-repeat, linear-gradient(to left, rgba(108,189,224,.55) 24px, transparent 24px) bottom right/40px 1px no-repeat, linear-gradient(to top, rgba(108,189,224,.55) 24px, transparent 24px) bottom right/1px 40px no-repeat; }
.cbs-home__hero-inner { position: relative; z-index: 4; width: 100%; padding-bottom: 56px; padding-top: 56px; }

.cbs-home__hero-copies { position: relative; min-height: 320px; }
.cbs-home__hero-copy { position: absolute; left: 0; top: 0; opacity: 0; transform: translateY(12px); transition: opacity 500ms var(--cbs-ease), transform 700ms var(--cbs-ease); pointer-events: none; max-width: 720px; }
.cbs-home__hero-copy.is-active { opacity: 1; transform: translateY(0); pointer-events: auto; }
.cbs-home__hero-eyebrow { font-family: var(--cbs-font-mono); font-size: 11px; letter-spacing: .26em; color: var(--cbs-edge); text-transform: uppercase; margin: 0 0 8px; display: inline-flex; align-items: center; gap: 10px; }
.cbs-home__hero-eyebrow::before { content: ""; width: 22px; height: 1px; background: var(--cbs-edge); display: inline-block; }
.cbs-home__hero-brand { font-family: var(--cbs-font-mono); font-size: 13px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--cbs-fg-1); margin: 0 0 14px; }
.cbs-home__hero-title { font-family: var(--cbs-font-display); font-weight: 400; font-size: clamp(56px, 11vw, 160px); line-height: .85; letter-spacing: -0.005em; color: var(--cbs-fg-1); text-transform: uppercase; margin: 0 0 18px; text-shadow: 0 6px 32px rgba(0,0,0,.55); }
.cbs-home__hero-dot::after { content: ""; display: inline-block; vertical-align: bottom; width: .2em; height: .2em; background: var(--cbs-edge); margin-left: 6px; box-shadow: 0 0 24px var(--cbs-edge); }
.cbs-home__hero-pitch { font-family: var(--cbs-font-body); font-size: clamp(15px, 1.6vw, 18px); line-height: 1.5; color: var(--cbs-fg-2); max-width: 50ch; margin: 0 0 26px; text-shadow: 0 2px 12px rgba(0,0,0,.6); }
.cbs-home__hero-cta { display: flex; gap: 10px; flex-wrap: wrap; }
.cbs-home__hero-btn { display: inline-flex; align-items: center; gap: 10px; padding: 16px 24px; border-radius: 2px; font-family: var(--cbs-font-mono); font-size: 12px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; text-decoration: none; transition: background 160ms, color 160ms, border-color 160ms, box-shadow 160ms; }
.cbs-home__hero-btn--p { background: var(--cbs-fg-1); color: var(--cbs-bg-0); border: 1px solid var(--cbs-fg-1); }
.cbs-home__hero-btn--p:hover { background: var(--cbs-edge); border-color: var(--cbs-edge); box-shadow: 0 0 28px var(--cbs-edge-soft); }
.cbs-home__hero-btn--g { background: rgba(0,0,0,.4); color: var(--cbs-fg-1); border: 1px solid var(--cbs-line-strong); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.cbs-home__hero-btn--g:hover { border-color: var(--cbs-edge); color: var(--cbs-edge); }

/* Dots */
.cbs-home__hero-dots { position: absolute; bottom: 24px; left: 24px; list-style: none; padding: 0; margin: 0; display: flex; gap: 8px; z-index: 5; }
.cbs-home__hero-dots li { margin: 0; }
.cbs-home__hero-dot-btn { width: 36px; height: 8px; background: transparent; border: 1px solid var(--cbs-fg-3); padding: 0; cursor: pointer; position: relative; border-radius: 1px; transition: border-color 160ms; }
.cbs-home__hero-dot-btn span { position: absolute; left: 0; top: 0; bottom: 0; width: 0; background: var(--cbs-edge); transition: width 5000ms linear; }
.cbs-home__hero-dot-btn:hover { border-color: var(--cbs-edge); }
.cbs-home__hero-dot-btn.is-active { border-color: var(--cbs-edge); }
.cbs-home__hero-dot-btn.is-active span { width: 100%; }

/* Counter */
.cbs-home__hero-counter { position: absolute; bottom: 24px; right: 24px; font-family: var(--cbs-font-mono); font-size: 11px; letter-spacing: .22em; color: var(--cbs-fg-3); z-index: 5; display: inline-flex; gap: 4px; }
.cbs-home__hero-counter-cur { color: var(--cbs-fg-1); }
.cbs-home__hero-counter-sep { color: var(--cbs-fg-5); }
.cbs-home__hero-counter-tot { color: var(--cbs-fg-4); }

/* Spec */
.cbs-home__hero-spec { list-style: none; padding: 16px 0 0; margin: 32px 0 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; max-width: 720px; border-top: 1px solid rgba(255,255,255,.15); }
@media (max-width: 720px){ .cbs-home__hero-spec { grid-template-columns: repeat(2, 1fr); } .cbs-home__hero-counter, .cbs-home__hero-dots { position: static; margin: 18px 0 0; } }
.cbs-home__hero-spec li { display: flex; flex-direction: column; gap: 4px; }
.cbs-home__hero-spec em { font-family: var(--cbs-font-mono); font-style: normal; font-size: 9px; letter-spacing: .22em; color: var(--cbs-fg-4); text-transform: uppercase; }
.cbs-home__hero-spec strong { font-family: var(--cbs-font-display); font-weight: 400; font-size: 24px; color: var(--cbs-fg-1); line-height: 1; }

@media (prefers-reduced-motion: reduce){ .cbs-home__hero-slide, .cbs-home__hero-copy { transition: none; } .cbs-home__hero-dot-btn span { transition: none; } }

/* ============== CBS-HOME-V3-HERO-CLEAN ============== */
/* CBS-HOME-V3-HERO-CLEAN - kill overlay text + veil, image-only hero */
.cbs-home__hero-veil { display: none !important; }
.cbs-home__hero-grit { display: none !important; }
.cbs-home__hero::after { display: none !important; }
.cbs-home__hero-copies, .cbs-home__hero-copy, .cbs-home__hero-eyebrow, .cbs-home__hero-brand, .cbs-home__hero-title, .cbs-home__hero-pitch, .cbs-home__hero-cta, .cbs-home__hero-spec { display: none !important; }
.cbs-home__hero-inner { padding: 0 !important; pointer-events: none; }
.cbs-home__hero-inner > * { pointer-events: auto; }
.cbs-home__hero { min-height: 0 !important; height: clamp(420px, 62vh, 680px) !important; }
@media (max-width: 760px){ .cbs-home__hero { height: clamp(360px, 56vh, 520px) !important; padding: 0 !important; } }
/* Dots + counter remain at bottom for navigation, but float over image */
.cbs-home__hero-dots { position: absolute !important; left: 24px !important; bottom: 24px !important; margin: 0 !important; }
.cbs-home__hero-counter { position: absolute !important; right: 24px !important; bottom: 24px !important; margin: 0 !important; }
@media (max-width: 760px){ .cbs-home__hero-dots, .cbs-home__hero-counter { position: absolute !important; } }
/* Whole hero is clickable - we let the image carry the design; clicks go to the relevant slide via JS-injected anchor (handled in PHP) */
.cbs-home__hero-slide img { object-position: center; }

/* ============== CBS-HOME-V3-HERO-FULLVH ============== */
/* CBS-HOME-V3-HERO-FULLVH - hero fills viewport height; ticker pinned right under */
.cbs-home__hero { height: 100vh !important; min-height: 100vh !important; max-height: none !important; padding: 0 !important; }
@media (max-width: 760px){ .cbs-home__hero { height: 100vh !important; min-height: 100svh !important; } }
/* allow hero to span full viewport regardless of any wrapping container */
.cbs-home__hero, .cbs-home__ticker { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
/* Pin nav dots + counter to bottom-left/right of the viewport-tall hero */
.cbs-home__hero-inner { position: absolute; inset: 0; padding: 0 !important; }
.cbs-home__hero-dots { position: absolute !important; bottom: 32px !important; left: 32px !important; }
.cbs-home__hero-counter { position: absolute !important; bottom: 32px !important; right: 32px !important; }
@media (max-width: 760px){ .cbs-home__hero-dots { bottom: 20px !important; left: 20px !important; } .cbs-home__hero-counter { bottom: 20px !important; right: 20px !important; } }
/* Slide image fills the full viewport height */
.cbs-home__hero-slide, .cbs-home__hero-slides { height: 100%; }
.cbs-home__hero-slide img { width: 100%; height: 100%; object-fit: cover; }
/* Ticker pinned snug below hero, no top margin */
.cbs-home__ticker { margin-top: 0 !important; }

/* ============== CBS-HOME-V3-HERO-FITVH ============== */
/* CBS-HOME-V3-HERO-FITVH - let JS-measured height win */
.cbs-home__hero { height: auto; min-height: 0; max-height: none; }

/* ============== CBS-HERO-V4 ============== */
/* CBS-HERO-V4 - elevated hero w/ Shop CTA + push transitions + ken burns */

/* Slides container */
.cbs-home__hero-slides { position: absolute; inset: 0; z-index: 0; overflow: hidden; }

/* Each slide is a stack item, hidden by default, transformed in */
.cbs-home__hero-slide { position: absolute; inset: 0; opacity: 0; pointer-events: none; transition: opacity 900ms cubic-bezier(.4,0,.2,1), transform 1100ms cubic-bezier(.4,0,.2,1), clip-path 1000ms cubic-bezier(.4,0,.2,1); transform: scale(1.04); clip-path: inset(0 0 0 100%); }
.cbs-home__hero-slide.is-active { opacity: 1; pointer-events: auto; transform: scale(1); clip-path: inset(0 0 0 0%); z-index: 2; }
.cbs-home__hero-slide.is-prev { opacity: 1; transform: scale(.96); clip-path: inset(0 100% 0 0); z-index: 1; transition: opacity 700ms cubic-bezier(.4,0,.2,1), transform 900ms cubic-bezier(.4,0,.2,1), clip-path 900ms cubic-bezier(.4,0,.2,1); }

/* Picture - ken burns slow zoom while active */
.cbs-home__hero-pic, .cbs-home__hero-pic img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.cbs-home__hero-pic img { object-fit: cover; object-position: center; transform: scale(1); transition: transform 6000ms ease-out; }
.cbs-home__hero-slide.is-active .cbs-home__hero-pic img { transform: scale(1.07); }

/* Vignette - very subtle for legibility of Shop button */
.cbs-home__hero-slide::after { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(0,0,0,0) 30%, rgba(0,0,0,.35) 75%, rgba(0,0,0,.55) 100%); pointer-events: none; opacity: 0; transition: opacity 600ms ease; }
.cbs-home__hero-slide.is-active::after { opacity: 1; }

/* Centered Shop Now CTA */
.cbs-home__hero-shop { position: absolute; top: 50%; left: 50%; transform: translate(-50%, calc(-50% + 12px)) scale(0.96); z-index: 4; display: inline-flex; align-items: center; gap: 12px; padding: 18px 36px; background: var(--cbs-fg-1); color: var(--cbs-bg-0); border: 1px solid var(--cbs-fg-1); border-radius: 2px; font-family: var(--cbs-font-mono); font-size: 13px; font-weight: 700; letter-spacing: .26em; text-transform: uppercase; text-decoration: none; opacity: 0; pointer-events: none; transition: opacity 600ms cubic-bezier(.4,0,.2,1) 400ms, transform 800ms cubic-bezier(.4,0,.2,1) 400ms, background 200ms, border-color 200ms, box-shadow 200ms, color 200ms; white-space: nowrap; }
.cbs-home__hero-slide.is-active .cbs-home__hero-shop { opacity: 1; transform: translate(-50%, -50%) scale(1); pointer-events: auto; }
.cbs-home__hero-shop:hover { background: var(--cbs-edge); color: var(--cbs-bg-0); border-color: var(--cbs-edge); box-shadow: 0 0 0 1px var(--cbs-edge), 0 0 48px var(--cbs-edge-soft), 0 24px 60px rgba(0,0,0,.6); }
.cbs-home__hero-shop i { font-size: 16px; transition: transform 200ms; }
.cbs-home__hero-shop:hover i { transform: translateX(4px); }
@media (max-width: 760px){ .cbs-home__hero-shop { padding: 16px 24px; font-size: 11px; letter-spacing: .22em; } }

/* Frame outline (subtle HUD square around the whole hero) */
.cbs-home__hero { position: relative; overflow: hidden; }
.cbs-home__hero::before { content: ""; position: absolute; inset: 20px; pointer-events: none; z-index: 3; border: 1px solid rgba(255,255,255,.08); transition: border-color 600ms ease; }
.cbs-home__hero:hover::before { border-color: rgba(108,189,224,.25); }

/* SUBTLER NAV: thin dots, tiny counter, no progress bar */
.cbs-home__hero-dots { position: absolute !important; bottom: 28px !important; left: 50% !important; transform: translateX(-50%); display: flex !important; gap: 12px !important; z-index: 6 !important; padding: 0 !important; margin: 0 !important; }
.cbs-home__hero-dot-btn { width: 20px !important; height: 2px !important; background: rgba(255,255,255,.32) !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; cursor: pointer; position: relative; transition: background 240ms ease, width 240ms ease; }
.cbs-home__hero-dot-btn span { display: none !important; }
.cbs-home__hero-dot-btn.is-active { background: var(--cbs-fg-1) !important; width: 32px !important; }
.cbs-home__hero-dot-btn:hover { background: rgba(255,255,255,.7) !important; }
.cbs-home__hero-counter { display: none !important; }

/* Slide cursor hints - left half prev, right half next */
.cbs-home__hero { cursor: default; }
.cbs-home__hero-slide.is-active { cursor: pointer; }
.cbs-home__hero-slide.is-active .cbs-home__hero-shop { cursor: pointer; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) { .cbs-home__hero-slide, .cbs-home__hero-pic img, .cbs-home__hero-shop, .cbs-home__hero-slide.is-active::after { transition: opacity 200ms linear !important; transform: none !important; clip-path: none !important; } .cbs-home__hero-slide.is-active .cbs-home__hero-shop { transform: translate(-50%, -50%) !important; } }

/* ============== CBS-HERO-V4-FIX ============== */
/* CBS-HERO-V4-FIX - Shop CTA above the dots */
.cbs-home__hero-shop { top: auto !important; left: 50% !important; bottom: 76px !important; transform: translate(-50%, 8px) scale(0.96) !important; }
.cbs-home__hero-slide.is-active .cbs-home__hero-shop { transform: translate(-50%, 0) scale(1) !important; }
.cbs-home__hero-dots { bottom: 28px !important; }
@media (max-width: 760px){ .cbs-home__hero-shop { bottom: 64px !important; } .cbs-home__hero-dots { bottom: 24px !important; } }
@media (prefers-reduced-motion: reduce){ .cbs-home__hero-slide.is-active .cbs-home__hero-shop { transform: translate(-50%, 0) !important; } }

/* ============== CBS-TRUST-V2 ============== */
/* CBS-TRUST-V2 - dossier-style numbered cards + stats row */
.cbs-home__trust { padding: 96px 0 100px; position: relative; }
.cbs-home__trust::before { content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: clamp(280px, 60%, 720px); height: 1px; background: linear-gradient(90deg, transparent, var(--cbs-edge-soft), transparent); }

.cbs-trust-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; list-style: none; padding: 24px 0; margin: 28px 0 56px; border-top: 1px solid var(--cbs-line); border-bottom: 1px solid var(--cbs-line); }
@media (max-width: 720px){ .cbs-trust-stats { grid-template-columns: repeat(2, 1fr); gap: 16px 0; } }
.cbs-trust-stats li { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 0 24px; border-left: 1px solid var(--cbs-line); }
.cbs-trust-stats li:first-child { border-left: 0; padding-left: 0; }
@media (max-width: 720px){ .cbs-trust-stats li:nth-child(odd) { border-left: 0; padding-left: 0; } }
.cbs-trust-stats em { font-family: var(--cbs-font-mono); font-style: normal; font-size: 10px; letter-spacing: .22em; color: var(--cbs-fg-4); text-transform: uppercase; }
.cbs-trust-stats strong { font-family: var(--cbs-font-display); font-weight: 400; font-size: clamp(36px, 4vw, 56px); line-height: 1; color: var(--cbs-fg-1); }
.cbs-trust-stats strong:has(em) { display: inline-flex; align-items: baseline; gap: 4px; }

.cbs-home__trust-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 12px; }
@media (max-width: 760px){ .cbs-home__trust-grid { grid-template-columns: 1fr; gap: 14px; } }

.cbs-trust { position: relative; background: var(--cbs-bg-1); border: 1px solid var(--cbs-line); border-radius: 2px; padding: 28px 28px 24px; overflow: hidden; transition: border-color 240ms var(--cbs-ease), transform 240ms var(--cbs-ease), background 240ms var(--cbs-ease); }
.cbs-trust::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, var(--cbs-edge), transparent 60%); opacity: .4; transition: opacity 240ms ease; }
.cbs-trust::after { content: ""; position: absolute; inset: 0; background-image: var(--cbs-grain); background-size: 200px 200px; opacity: .04; mix-blend-mode: overlay; pointer-events: none; }
.cbs-trust:hover { border-color: var(--cbs-edge); transform: translateY(-3px); background: linear-gradient(180deg, var(--cbs-bg-1) 0%, rgba(108,189,224,.04) 100%); box-shadow: 0 0 0 1px var(--cbs-edge-soft), 0 24px 56px rgba(0,0,0,.55); }
.cbs-trust:hover::before { opacity: 1; }

.cbs-trust__num { display: inline-block; font-family: var(--cbs-font-mono); font-size: 10px; font-weight: 600; letter-spacing: .22em; color: var(--cbs-fg-4); text-transform: uppercase; margin-bottom: 28px; }

.cbs-trust__icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; background: var(--cbs-bg-2); border: 1px solid var(--cbs-line-strong); border-radius: 2px; margin-bottom: 22px; transition: background 240ms var(--cbs-ease), border-color 240ms var(--cbs-ease), transform 240ms var(--cbs-ease); }
.cbs-trust__icon i { font-family: "Phosphor-Bold", "Phosphor", sans-serif !important; font-size: 22px; color: var(--cbs-edge); line-height: 1; }
.cbs-trust:hover .cbs-trust__icon { background: var(--cbs-edge); border-color: var(--cbs-edge); transform: rotate(-3deg) scale(1.04); }
.cbs-trust:hover .cbs-trust__icon i { color: var(--cbs-bg-0); }

.cbs-trust__h { font-family: var(--cbs-font-display); font-weight: 400; font-size: 28px; line-height: 1; color: var(--cbs-fg-1); text-transform: uppercase; margin: 0 0 12px; letter-spacing: .005em; }
.cbs-trust__p { color: var(--cbs-fg-3); font-size: 14px; line-height: 1.55; margin: 0 0 22px; max-width: 38ch; }
.cbs-trust__tag { display: inline-block; font-family: var(--cbs-font-mono); font-size: 9px; font-weight: 700; letter-spacing: .22em; color: var(--cbs-edge); text-transform: uppercase; padding: 5px 10px; border: 1px solid var(--cbs-edge-soft); border-radius: 999px; background: var(--cbs-bg-2); }

/* Phosphor font-family enforcement everywhere - in case body font cascades into icons */
i[class*="ph-"] { font-family: "Phosphor", "Phosphor-Bold", "Phosphor-Fill", "Phosphor-Regular", "Phosphor-Duotone", sans-serif; }
i.ph-bold, i.ph-bold[class*="ph-"] { font-family: "Phosphor-Bold", "Phosphor", sans-serif !important; }
i.ph-fill, i.ph-fill[class*="ph-"] { font-family: "Phosphor-Fill", "Phosphor", sans-serif !important; }
i.ph, i.ph-regular { font-family: "Phosphor", sans-serif !important; }
i.ph-duotone { font-family: "Phosphor-Duotone", sans-serif !important; }

/* ============== CBS-TRUST-V3 ============== */
/* CBS-TRUST-V3 - manifesto. No cards. Confident typography. */
.cbs-home__trust { padding: 120px 0 140px; }
.cbs-home__trust .cbs-eyebrow { margin-bottom: 24px; }

.cbs-trust__title { font-family: var(--cbs-font-display); font-weight: 400; font-size: clamp(64px, 11vw, 168px); line-height: .88; letter-spacing: -0.005em; color: var(--cbs-fg-1); text-transform: uppercase; margin: 0 0 80px; max-width: 14ch; }
.cbs-trust__title-em { color: var(--cbs-edge); position: relative; display: inline-block; }
.cbs-trust__title-em::after { content: ""; display: inline-block; width: .25em; height: .25em; background: var(--cbs-fg-1); vertical-align: super; margin-left: 8px; transform: translateY(.3em); }

.cbs-trust__list { list-style: none; padding: 0; margin: 0; }
.cbs-trust__row { display: grid; grid-template-columns: 80px 1fr auto; align-items: baseline; gap: 32px; padding: 28px 0; border-top: 1px solid var(--cbs-line); transition: background 240ms var(--cbs-ease), padding-left 240ms var(--cbs-ease); position: relative; }
.cbs-trust__row:last-child { border-bottom: 1px solid var(--cbs-line); }
.cbs-trust__row::before { content: ""; position: absolute; left: 0; top: 0; width: 0; height: 100%; background: linear-gradient(90deg, rgba(108,189,224,.04), transparent 70%); transition: width 320ms var(--cbs-ease); pointer-events: none; }
.cbs-trust__row:hover::before { width: 100%; }
.cbs-trust__row:hover { padding-left: 12px; }
.cbs-trust__row:hover .cbs-trust__n { color: var(--cbs-edge); }

.cbs-trust__n { font-family: var(--cbs-font-mono); font-size: 14px; font-weight: 600; letter-spacing: .14em; color: var(--cbs-fg-4); align-self: start; padding-top: 8px; transition: color 240ms var(--cbs-ease); position: relative; z-index: 1; }
.cbs-trust__copy { position: relative; z-index: 1; }
.cbs-trust__claim { font-family: var(--cbs-font-display); font-weight: 400; font-size: clamp(28px, 4vw, 52px); line-height: 1; color: var(--cbs-fg-1); text-transform: uppercase; margin: 0 0 10px; letter-spacing: .005em; }
.cbs-trust__sub { font-family: var(--cbs-font-body); font-size: 15px; line-height: 1.5; color: var(--cbs-fg-3); margin: 0; max-width: 56ch; }
.cbs-trust__sig { font-family: var(--cbs-font-mono); font-size: 10px; font-weight: 700; letter-spacing: .22em; color: var(--cbs-edge); text-transform: uppercase; align-self: start; padding-top: 10px; position: relative; z-index: 1; }

@media (max-width: 760px){
  .cbs-trust__row { grid-template-columns: 40px 1fr; gap: 16px; padding: 22px 0; }
  .cbs-trust__sig { grid-column: 2; padding-top: 4px; }
  .cbs-trust__title { margin-bottom: 56px; }
}

/* ============== CBS-TRUST-V3-FIX ============== */
/* CBS-TRUST-V3-FIX - win over body.page-template-home h2 reset */
body.page-template-home-page-template h2.cbs-trust__title { font-family: var(--cbs-font-display) !important; font-weight: 400 !important; font-size: clamp(56px, 10vw, 168px) !important; line-height: .88 !important; letter-spacing: -0.005em !important; color: var(--cbs-fg-1) !important; text-transform: uppercase !important; margin: 0 0 80px !important; max-width: none !important; display: block !important; }
body.page-template-home-page-template h2.cbs-trust__title::before, body.page-template-home-page-template h2.cbs-trust__title::after { display: none !important; content: none !important; }
@media (max-width: 760px){ body.page-template-home-page-template h2.cbs-trust__title { font-size: clamp(40px, 11vw, 80px) !important; margin-bottom: 48px !important; } }

/* ============== CBS-TRUST-V4-STACK ============== */
/* CBS-TRUST-V4-STACK - sticky-stack reveal: each row pins as you scroll */
:root { --cbs-trust-top: 140px; }
body.admin-bar { --cbs-trust-top: 186px; }
@media (max-width: 782px){ body.admin-bar { --cbs-trust-top: 200px; } }

.cbs-home__trust { padding: 120px 0 0; /* tail spacing handled by stack itself */ }

.cbs-trust__list { list-style: none; padding: 0 0 220px; margin: 0; position: relative; }

.cbs-trust__row { position: sticky; top: var(--cbs-trust-top); padding: 32px 0 32px; margin: 0; background: var(--cbs-bg-0); border-top: 1px solid var(--cbs-line); will-change: transform; transition: transform 360ms var(--cbs-ease); }
.cbs-trust__row::before { content: ""; position: absolute; top: -1px; left: 0; right: 0; height: 1px; background: var(--cbs-line); pointer-events: none; }

/* Cumulative cascade offset per row */
.cbs-trust__row:nth-child(1) { --i: 0; }
.cbs-trust__row:nth-child(2) { --i: 1; }
.cbs-trust__row:nth-child(3) { --i: 2; }
.cbs-trust__row:nth-child(4) { --i: 3; }
.cbs-trust__row { top: calc(var(--cbs-trust-top) + (var(--i, 0) * 14px)); z-index: calc(10 - var(--i, 0)); }

/* Each pinned row gets a subtle shadow / soft outline so it reads as a layer */
.cbs-trust__row { box-shadow: 0 0 40px rgba(0,0,0,.4); }

/* Spacer between rows so user has to scroll THROUGH each before next pins */
.cbs-trust__row { min-height: 30vh; }

/* Smooth scroll feel */
html { scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce){
  .cbs-trust__row { position: static; min-height: 0; box-shadow: none; }
}
@media (max-width: 760px){ .cbs-trust__row { min-height: 0; padding: 24px 0; } }

/* ============== CBS-TRUST-V5-MOBILE ============== */
/* CBS-TRUST-V5-MOBILE - keep stack effect alive on tablet/mobile */
@media (max-width: 760px){
  .cbs-trust__row { min-height: 26vh; padding: 24px 0; }
}
@media (max-width: 480px){
  .cbs-trust__row { min-height: 22vh; padding: 20px 0; }
}
/* Beef up the desktop stack: taller rows = clearer scroll-through */
@media (min-width: 761px){
  .cbs-trust__row { min-height: 42vh; padding: 56px 0; }
}
/* Make the cascade more visible: bigger offset + tinted top edge */
.cbs-trust__row { top: calc(var(--cbs-trust-top) + (var(--i, 0) * 22px)); }
.cbs-trust__row::before { background: linear-gradient(90deg, transparent, var(--cbs-edge), transparent); opacity: .35; }
/* Add slight scale shrink on stacked rows for depth */
.cbs-trust__row:nth-child(1) { transform: scale(1); }
.cbs-trust__row:nth-child(2) { transform: scale(.992); }
.cbs-trust__row:nth-child(3) { transform: scale(.984); }
.cbs-trust__row:nth-child(4) { transform: scale(.976); }

/* ============== CBS-TRUST-V6-STACK ============== */
/* CBS-TRUST-V6-STACK - sticky stack scroll reveal (consolidated) */
:root { --cbs-trust-top: 140px; }
body.admin-bar { --cbs-trust-top: 186px; }
@media (max-width: 782px){ body.admin-bar { --cbs-trust-top: 200px; } }

.cbs-home__trust { padding: 120px 0 0; }
.cbs-trust__list { list-style: none; padding: 0 0 240px; margin: 0; position: relative; }

.cbs-trust__row {
  position: sticky;
  top: var(--cbs-trust-top);
  padding: 56px 0;
  margin: 0;
  background: var(--cbs-bg-0);
  border-top: 1px solid var(--cbs-line);
  box-shadow: 0 -10px 40px rgba(0,0,0,.5);
  min-height: 42vh;
  z-index: 1;
}
.cbs-trust__row::before {
  content: "";
  position: absolute;
  top: -1px; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--cbs-edge), transparent);
  opacity: .35;
  pointer-events: none;
}

.cbs-trust__row:nth-child(1) { --i: 0; }
.cbs-trust__row:nth-child(2) { --i: 1; }
.cbs-trust__row:nth-child(3) { --i: 2; }
.cbs-trust__row:nth-child(4) { --i: 3; }

.cbs-trust__row {
  top: calc(var(--cbs-trust-top) + (var(--i, 0) * 22px));
  z-index: calc(10 - var(--i, 0));
}

@media (max-width: 760px){
  .cbs-trust__row { padding: 32px 0; min-height: 32vh; }
  .cbs-trust__row { top: calc(var(--cbs-trust-top) + (var(--i, 0) * 14px)); }
}
@media (max-width: 480px){
  .cbs-trust__row { padding: 24px 0; min-height: 26vh; }
}

@media (prefers-reduced-motion: reduce){
  .cbs-trust__row { position: static; min-height: 0; box-shadow: none; }
}

/* ============== CBS-CAT-V7 ============== */
/* =====================================================================
   CBS-CAT-V7 - Category / product_cat archive (from-scratch filter + sort)
   Supersedes CBS-CAT-V1 ... V6. One clean block.
   Composition: hero -> sub-cat chips -> toolbar (filters + count + sort)
   -> active pills -> grid -> pagination, with a slide-in filter drawer.
   ===================================================================== */

.cbs-cat { max-width: var(--cbs-container); margin: 88px auto 0; padding: 0 24px 72px; position: relative; }
.cbs-cat.is-loading .cbs-cat__grid { opacity: .45; pointer-events: none; }
.cbs-cat .cbs-cat__grid { transition: opacity 180ms var(--cbs-ease); }

/* ---------------- HERO ---------------- */
.cbs-cat__hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 36px; padding: 8px 0 28px; border-bottom: 1px solid var(--cbs-line); margin-bottom: 22px; }
.cbs-cat__hero-main { min-width: 0; }
.cbs-cat__title { font-family: var(--cbs-font-display); font-weight: 400; font-size: clamp(46px, 8.4vw, 100px); line-height: .92; letter-spacing: 0; margin: 0; color: var(--cbs-fg-1); text-transform: uppercase; }
.cbs-cat__title-dot { color: var(--cbs-edge); }
.cbs-cat__pitch { margin: 16px 0 0; font-family: var(--cbs-font-body); font-size: 17px; font-weight: 500; color: var(--cbs-fg-2); max-width: 52ch; line-height: 1.45; }
.cbs-cat__desc { margin: 12px 0 0; color: var(--cbs-fg-3); max-width: 70ch; font-size: 14px; line-height: 1.6; }
.cbs-cat__hero-stat { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; text-align: right; padding-bottom: 4px; }
.cbs-cat__stat-num { font-family: var(--cbs-font-display); font-weight: 400; font-size: clamp(40px, 5vw, 62px); line-height: 1; color: var(--cbs-fg-1); }
.cbs-cat__stat-lbl { font-family: var(--cbs-font-mono); font-size: 10px; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; color: var(--cbs-fg-4); margin-top: 2px; }
.cbs-cat__stat-sub { font-family: var(--cbs-font-mono); font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; margin-top: 9px; color: var(--cbs-fg-4); }
.cbs-cat__stat-sub .is-ok { color: var(--cbs-ok); }
.cbs-cat__stat-sub .is-muted { color: var(--cbs-fg-4); }
.cbs-cat__stat-dot { color: var(--cbs-fg-5); margin: 0 1px; }

/* ---------------- SUB-CAT CHIPS ---------------- */
.cbs-cat__chips { display: flex; gap: 8px; overflow-x: auto; padding: 0 0 20px; margin: 0; scrollbar-width: none; }
.cbs-cat__chips::-webkit-scrollbar { display: none; }
.cbs-cat__chip { display: inline-flex; align-items: center; gap: 8px; padding: 9px 15px; background: var(--cbs-bg-1); border: 1px solid var(--cbs-line); border-radius: 999px; font-family: var(--cbs-font-body); font-size: 13px; font-weight: 600; color: var(--cbs-fg-2); text-decoration: none; white-space: nowrap; transition: border-color 160ms var(--cbs-ease), background 160ms var(--cbs-ease), color 160ms var(--cbs-ease); }
.cbs-cat__chip em { font-style: normal; font-family: var(--cbs-font-mono); font-size: 11px; color: var(--cbs-fg-4); font-weight: 600; }
.cbs-cat__chip:hover { border-color: var(--cbs-edge); color: var(--cbs-fg-1); }
.cbs-cat__chip.is-active { background: var(--cbs-fg-1); color: var(--cbs-bg-0); border-color: var(--cbs-fg-1); }
.cbs-cat__chip.is-active em { color: rgba(0,0,0,.5); }

/* ---------------- TOOLBAR ---------------- */
.cbs-cat__toolbar { display: flex; align-items: center; gap: 16px; padding: 14px 0; border-top: 1px solid var(--cbs-line); border-bottom: 1px solid var(--cbs-line); margin: 4px 0 0; }
.cbs-cat__filter-btn { display: inline-flex; align-items: center; gap: 10px; padding: 11px 17px; background: var(--cbs-bg-2); border: 1px solid var(--cbs-line-strong); color: var(--cbs-fg-1); border-radius: 4px; cursor: pointer; font-family: var(--cbs-font-mono); font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; transition: border-color 160ms var(--cbs-ease), background 160ms var(--cbs-ease); }
.cbs-cat__filter-btn i { color: var(--cbs-edge); font-size: 15px; }
.cbs-cat__filter-btn:hover { border-color: var(--cbs-edge); background: var(--cbs-bg-3); }
.cbs-cat__filter-badge { font-style: normal; min-width: 18px; height: 18px; padding: 0 5px; display: inline-flex; align-items: center; justify-content: center; background: var(--cbs-edge); color: var(--cbs-bg-0); border-radius: 999px; font-size: 10px; font-weight: 800; letter-spacing: 0; }
.cbs-cat__count { font-family: var(--cbs-font-mono); font-size: 11px; font-weight: 600; letter-spacing: .16em; color: var(--cbs-fg-3); text-transform: uppercase; }
.cbs-cat__count strong { color: var(--cbs-fg-1); font-weight: 800; }
.cbs-cat__sort { margin-left: auto; display: inline-flex; align-items: center; gap: 10px; position: relative; }
.cbs-cat__sort-lbl { font-family: var(--cbs-font-mono); font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--cbs-fg-4); }
/* native select (no-JS / pre-enhance) */
.cbs-cat__sort-native { background: var(--cbs-bg-2); color: var(--cbs-fg-1); border: 1px solid var(--cbs-line-strong); border-radius: 4px; padding: 10px 34px 10px 14px; font-family: var(--cbs-font-mono); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; -webkit-appearance: none; appearance: none; cursor: pointer; background-image: linear-gradient(45deg, transparent 50%, var(--cbs-edge) 50%), linear-gradient(135deg, var(--cbs-edge) 50%, transparent 50%); background-position: calc(100% - 17px) 53%, calc(100% - 12px) 53%; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }
.cbs-cat__sort.is-enhanced .cbs-cat__sort-native { display: none; }
/* custom popover */
.cbs-sort__btn { display: inline-flex; align-items: center; gap: 10px; padding: 11px 15px; min-width: 178px; justify-content: space-between; background: var(--cbs-bg-2); border: 1px solid var(--cbs-line-strong); color: var(--cbs-fg-1); border-radius: 4px; cursor: pointer; font-family: var(--cbs-font-mono); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; transition: border-color 160ms var(--cbs-ease), background 160ms var(--cbs-ease); }
.cbs-sort__btn i { color: var(--cbs-edge); font-size: 13px; transition: transform 200ms var(--cbs-ease); }
.cbs-sort__btn:hover { border-color: var(--cbs-edge); }
.cbs-cat__sort.is-open .cbs-sort__btn i { transform: rotate(180deg); }
.cbs-sort__menu { position: absolute; top: calc(100% + 8px); right: 0; min-width: 220px; background: var(--cbs-bg-1); border: 1px solid var(--cbs-line-strong); border-radius: 6px; box-shadow: 0 24px 60px rgba(0,0,0,.6); padding: 6px; z-index: 60; display: none; }
.cbs-cat__sort.is-open .cbs-sort__menu { display: block; }
.cbs-sort__item { display: block; width: 100%; text-align: left; padding: 11px 12px; background: transparent; border: 0; border-radius: 4px; color: var(--cbs-fg-2); font-family: var(--cbs-font-body); font-size: 13px; font-weight: 500; cursor: pointer; transition: background 140ms var(--cbs-ease), color 140ms var(--cbs-ease); }
.cbs-sort__item:hover { background: var(--cbs-bg-2); color: var(--cbs-fg-1); }
.cbs-sort__item.is-active { color: var(--cbs-edge); font-weight: 700; }

/* ---------------- ACTIVE FILTER PILLS ---------------- */
.cbs-cat__results { padding-top: 22px; }
.cbs-cat__active { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 22px; }
.cbs-cat__active-eyebrow { font-family: var(--cbs-font-mono); font-size: 10px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--cbs-fg-4); margin-right: 2px; }
.cbs-cat__active-pill { display: inline-flex; align-items: center; gap: 8px; padding: 6px 9px 6px 12px; background: var(--cbs-bg-2); border: 1px solid var(--cbs-edge-soft); border-radius: 999px; color: var(--cbs-fg-1); text-decoration: none; font-family: var(--cbs-font-body); font-size: 12px; font-weight: 600; transition: border-color 160ms var(--cbs-ease), background 160ms var(--cbs-ease), color 160ms var(--cbs-ease); }
.cbs-cat__active-key { font-family: var(--cbs-font-mono); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--cbs-fg-4); }
.cbs-cat__active-val .woocommerce-Price-amount { color: inherit; }
.cbs-cat__active-pill i { font-size: 11px; padding: 2px; border-radius: 999px; background: var(--cbs-bg-3); transition: background 160ms var(--cbs-ease), color 160ms var(--cbs-ease); }
.cbs-cat__active-pill:hover { border-color: var(--cbs-bad); background: rgba(255,69,58,.08); color: var(--cbs-bad); }
.cbs-cat__active-pill:hover .cbs-cat__active-key { color: var(--cbs-bad); }
.cbs-cat__active-pill:hover i { background: rgba(255,69,58,.16); color: var(--cbs-bad); }
.cbs-cat__active-clear { display: inline-flex; align-items: center; gap: 6px; padding: 6px 8px; margin-left: 4px; background: transparent; color: var(--cbs-fg-3); text-decoration: none; font-family: var(--cbs-font-mono); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; border-bottom: 1px dashed var(--cbs-line-strong); transition: color 160ms var(--cbs-ease), border-color 160ms var(--cbs-ease); }
.cbs-cat__active-clear:hover { color: var(--cbs-bad); border-color: var(--cbs-bad); }

/* ---------------- GRID ---------------- */
.cbs-cat__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 1180px) { .cbs-cat__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 820px)  { .cbs-cat__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } }

/* ---------------- PAGINATION ---------------- */
.cbs-cat__pagination { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; margin-top: 44px; padding-top: 28px; border-top: 1px solid var(--cbs-line); }
.cbs-page { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 42px; height: 42px; padding: 0 12px; background: var(--cbs-bg-1); border: 1px solid var(--cbs-line); color: var(--cbs-fg-2); font-family: var(--cbs-font-mono); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-decoration: none; border-radius: 4px; cursor: pointer; transition: background 160ms var(--cbs-ease), color 160ms var(--cbs-ease), border-color 160ms var(--cbs-ease); }
.cbs-page i { font-size: 13px; }
.cbs-page--nav { letter-spacing: .14em; text-transform: uppercase; font-size: 10px; }
.cbs-page:hover { background: var(--cbs-bg-3); color: var(--cbs-edge); border-color: var(--cbs-edge); }
.cbs-page.is-current { background: var(--cbs-fg-1); color: var(--cbs-bg-0); border-color: var(--cbs-fg-1); }

/* ---------------- EMPTY STATE ---------------- */
.cbs-cat__empty { text-align: center; padding: 72px 24px; border: 1px dashed var(--cbs-line-strong); border-radius: 8px; background: var(--cbs-bg-1); }
.cbs-cat__empty i { font-size: 46px; color: var(--cbs-edge); margin-bottom: 16px; display: inline-block; }
.cbs-cat__empty h2 { font-family: var(--cbs-font-display); font-size: 34px; font-weight: 400; text-transform: uppercase; color: var(--cbs-fg-1); margin: 0 0 8px; }
.cbs-cat__empty p { color: var(--cbs-fg-3); margin: 0 auto 22px; max-width: 44ch; line-height: 1.5; }
.cbs-cat__empty-acts { display: inline-flex; gap: 10px; flex-wrap: wrap; justify-content: center; }

/* shared buttons */
.cbs-btn { display: inline-flex; align-items: center; gap: 8px; padding: 13px 22px; border-radius: 4px; text-decoration: none; cursor: pointer; font-family: var(--cbs-font-mono); font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; transition: background 160ms var(--cbs-ease), color 160ms var(--cbs-ease), border-color 160ms var(--cbs-ease); border: 1px solid transparent; }
.cbs-btn--primary { background: var(--cbs-fg-1); color: var(--cbs-bg-0); border-color: var(--cbs-fg-1); }
.cbs-btn--primary:hover { background: var(--cbs-edge); border-color: var(--cbs-edge); }
.cbs-btn--ghost { background: transparent; color: var(--cbs-fg-2); border-color: var(--cbs-line-strong); }
.cbs-btn--ghost:hover { color: var(--cbs-fg-1); border-color: var(--cbs-edge); }

/* ====================================================================
   FILTER DRAWER (slides from the right; full-screen on mobile)
   ==================================================================== */
body.cbs-noscroll { overflow: hidden; }
.cbs-filter { position: fixed; inset: 0; z-index: 240; visibility: hidden; pointer-events: none; }
.cbs-filter.is-open { visibility: visible; pointer-events: auto; }
.cbs-filter__scrim { position: absolute; inset: 0; background: rgba(0,0,0,.62); border: 0; cursor: pointer; opacity: 0; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); transition: opacity 280ms var(--cbs-ease); }
.cbs-filter.is-open .cbs-filter__scrim { opacity: 1; }
/* lock the scrim fill - a global button:hover/focus rule was turning it opaque black */
html body .cbs-filter__scrim:hover, html body .cbs-filter__scrim:focus, html body .cbs-filter__scrim:focus-visible, html body .cbs-filter__scrim:active { background: rgba(0,0,0,.62) !important; box-shadow: none !important; outline: none !important; }
.cbs-filter__panel { position: absolute; top: 0; left: 0; height: 100%; width: min(440px, 94vw); display: flex; flex-direction: column; background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01)), var(--cbs-bg-1); border-right: 1px solid var(--cbs-edge-soft); box-shadow: 28px 0 70px rgba(0,0,0,.6); transform: translateX(-100%); transition: transform 360ms cubic-bezier(.2,.8,.2,1); }
.cbs-filter.is-open .cbs-filter__panel { transform: translateX(0); }

.cbs-filter__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 24px 24px 18px; border-bottom: 1px solid var(--cbs-line); }
.cbs-filter__eyebrow { margin: 0 0 4px; font-family: var(--cbs-font-mono); font-size: 10px; font-weight: 700; letter-spacing: .26em; text-transform: uppercase; color: var(--cbs-edge); }
.cbs-filter__title { margin: 0; font-family: var(--cbs-font-display); font-size: 30px; font-weight: 400; line-height: 1; text-transform: uppercase; color: var(--cbs-fg-1); }
.cbs-filter__title span { color: var(--cbs-edge); }
.cbs-filter__close { flex: 0 0 auto; width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; background: var(--cbs-bg-2); border: 1px solid var(--cbs-line-strong); color: var(--cbs-fg-1); border-radius: 4px; cursor: pointer; font-size: 16px; transition: border-color 160ms var(--cbs-ease), background 160ms var(--cbs-ease); }
.cbs-filter__close:hover { border-color: var(--cbs-edge); background: var(--cbs-bg-3); }

.cbs-filter__body { flex: 1; overflow-y: auto; padding: 6px 24px 28px; scrollbar-width: thin; scrollbar-color: var(--cbs-line-strong) transparent; }
.cbs-filter__body::-webkit-scrollbar { width: 6px; }
.cbs-filter__body::-webkit-scrollbar-thumb { background: var(--cbs-line-strong); border-radius: 3px; }
.cbs-filter__group { padding: 20px 0; border-bottom: 1px solid var(--cbs-line); }
.cbs-filter__group:last-child { border-bottom: 0; }
.cbs-filter__legend { margin: 0 0 14px; font-family: var(--cbs-font-mono); font-size: 11px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--cbs-fg-1); display: flex; align-items: center; gap: 10px; }
.cbs-filter__legend::before { content: ""; width: 14px; height: 1px; background: var(--cbs-edge); }
.cbs-filter__opts { display: flex; flex-direction: column; gap: 2px; }

/* search box */
.cbs-filter__search { position: relative; margin-bottom: 12px; }
.cbs-filter__search i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--cbs-fg-4); font-size: 14px; pointer-events: none; }
.cbs-filter__search input { width: 100%; padding: 10px 12px 10px 34px; background: var(--cbs-bg-3); border: 1px solid var(--cbs-line); border-radius: 4px; color: var(--cbs-fg-1); font-family: var(--cbs-font-body); font-size: 13px; }
.cbs-filter__search input:focus { outline: none; border-color: var(--cbs-edge); }
.cbs-filter__search input::placeholder { color: var(--cbs-fg-4); }

/* checkbox / radio rows */
.cbs-check, .cbs-toggle { display: flex; align-items: center; gap: 11px; padding: 9px 8px; border-radius: 4px; cursor: pointer; position: relative; transition: background 140ms var(--cbs-ease); }
.cbs-check:hover, .cbs-toggle:hover { background: var(--cbs-bg-2); }
.cbs-check input, .cbs-toggle input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.cbs-check__box { flex: 0 0 auto; width: 19px; height: 19px; background: var(--cbs-bg-3); border: 1.5px solid var(--cbs-fg-5); border-radius: 4px; position: relative; transition: background 150ms var(--cbs-ease), border-color 150ms var(--cbs-ease), box-shadow 150ms var(--cbs-ease); }
.cbs-check--radio .cbs-check__box { border-radius: 999px; }
.cbs-check:hover .cbs-check__box { border-color: var(--cbs-edge); }
.cbs-check input:focus-visible + .cbs-check__box { box-shadow: 0 0 0 3px rgba(108,189,224,.25); }
.cbs-check input:checked + .cbs-check__box { background: var(--cbs-edge); border-color: var(--cbs-edge); }
.cbs-check input:checked + .cbs-check__box::after { content: ""; position: absolute; left: 6px; top: 2px; width: 5px; height: 9px; border-right: 2px solid var(--cbs-bg-0); border-bottom: 2px solid var(--cbs-bg-0); transform: rotate(45deg); }
.cbs-check--radio input:checked + .cbs-check__box::after { content: ""; left: 0; top: 0; right: 0; bottom: 0; width: auto; height: auto; border: 0; transform: none; inset: 4px; background: var(--cbs-bg-0); border-radius: 999px; }
.cbs-check__txt { font-family: var(--cbs-font-body); font-size: 14px; font-weight: 500; color: var(--cbs-fg-2); display: inline-flex; align-items: center; gap: 6px; }
.cbs-check:hover .cbs-check__txt { color: var(--cbs-fg-1); }
.cbs-check input:checked ~ .cbs-check__txt { color: var(--cbs-fg-1); }
.cbs-check__count { margin-left: auto; font-family: var(--cbs-font-mono); font-size: 11px; font-weight: 600; color: var(--cbs-fg-4); }

/* rating stars */
.cbs-stars { display: inline-flex; gap: 2px; font-size: 13px; }
.cbs-stars i { color: var(--cbs-fg-5); }
.cbs-stars i.is-on { color: var(--cbs-warn); }

/* toggle switch */
.cbs-toggle__track { flex: 0 0 auto; width: 38px; height: 22px; background: var(--cbs-bg-3); border: 1px solid var(--cbs-line-strong); border-radius: 999px; position: relative; transition: background 180ms var(--cbs-ease), border-color 180ms var(--cbs-ease); }
.cbs-toggle__dot { position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; background: var(--cbs-fg-3); border-radius: 999px; transition: transform 200ms var(--cbs-ease), background 200ms var(--cbs-ease); }
.cbs-toggle input:checked + .cbs-toggle__track { background: var(--cbs-edge); border-color: var(--cbs-edge); }
.cbs-toggle input:checked + .cbs-toggle__track .cbs-toggle__dot { transform: translateX(16px); background: var(--cbs-bg-0); }
.cbs-toggle input:focus-visible + .cbs-toggle__track { box-shadow: 0 0 0 3px rgba(108,189,224,.25); }
.cbs-toggle__txt { font-family: var(--cbs-font-body); font-size: 14px; font-weight: 500; color: var(--cbs-fg-2); display: inline-flex; align-items: center; gap: 8px; }
.cbs-toggle input:checked ~ .cbs-toggle__txt { color: var(--cbs-fg-1); }
.cbs-toggle__txt em { font-style: normal; font-family: var(--cbs-font-mono); font-size: 11px; color: var(--cbs-fg-4); }

/* price range */
.cbs-filter__group--price .cbs-range { position: relative; height: 30px; margin: 4px 2px 14px; }
.cbs-range__track { position: absolute; top: 50%; left: 0; right: 0; height: 3px; transform: translateY(-50%); background: var(--cbs-line-strong); border-radius: 2px; }
.cbs-range__fill { position: absolute; top: 0; bottom: 0; background: var(--cbs-edge); border-radius: 2px; }
.cbs-range input[type="range"] { position: absolute; top: 0; left: 0; width: 100%; height: 30px; margin: 0; background: transparent; -webkit-appearance: none; appearance: none; pointer-events: none; }
.cbs-range input[type="range"]::-webkit-slider-runnable-track { background: transparent; border: 0; }
.cbs-range input[type="range"]::-moz-range-track { background: transparent; border: 0; }
.cbs-range input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; pointer-events: auto; width: 18px; height: 18px; margin-top: -8px; border-radius: 999px; background: var(--cbs-fg-1); border: 2px solid var(--cbs-edge); cursor: pointer; box-shadow: 0 2px 6px rgba(0,0,0,.5); }
.cbs-range input[type="range"]::-moz-range-thumb { pointer-events: auto; width: 18px; height: 18px; border-radius: 999px; background: var(--cbs-fg-1); border: 2px solid var(--cbs-edge); cursor: pointer; box-shadow: 0 2px 6px rgba(0,0,0,.5); }
.cbs-range__io { display: flex; align-items: center; gap: 10px; }
.cbs-range__field { flex: 1; display: flex; align-items: center; gap: 6px; padding: 9px 12px; background: var(--cbs-bg-3); border: 1px solid var(--cbs-line); border-radius: 4px; transition: border-color 150ms var(--cbs-ease); }
.cbs-range__field:focus-within { border-color: var(--cbs-edge); }
.cbs-range__field span { font-family: var(--cbs-font-mono); font-size: 12px; color: var(--cbs-fg-4); }
.cbs-range__field input { width: 100%; background: transparent; border: 0; color: var(--cbs-fg-1); font-family: var(--cbs-font-body); font-size: 14px; -moz-appearance: textfield; }
.cbs-range__field input:focus { outline: none; }
.cbs-range__field input::-webkit-outer-spin-button, .cbs-range__field input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.cbs-range__sep { font-family: var(--cbs-font-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--cbs-fg-4); }

/* drawer footer */
.cbs-filter__foot { flex: 0 0 auto; display: grid; grid-template-columns: auto 1fr; gap: 10px; padding: 16px 20px; border-top: 1px solid var(--cbs-line); background: linear-gradient(180deg, rgba(13,16,20,0), rgba(13,16,20,.85) 32%, var(--cbs-bg-1)); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.cbs-filter__reset { display: inline-flex; align-items: center; gap: 8px; padding: 13px 16px; background: transparent; color: var(--cbs-fg-2); border: 1px solid var(--cbs-line-strong); border-radius: 4px; text-decoration: none; cursor: pointer; font-family: var(--cbs-font-mono); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; transition: color 160ms var(--cbs-ease), border-color 160ms var(--cbs-ease), background 160ms var(--cbs-ease); }
.cbs-filter__reset:hover { color: var(--cbs-fg-1); border-color: var(--cbs-fg-3); background: var(--cbs-bg-2); }
.cbs-filter__apply { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 13px 18px; background: var(--cbs-fg-1); color: var(--cbs-bg-0); border: 1px solid var(--cbs-fg-1); border-radius: 4px; cursor: pointer; font-family: var(--cbs-font-mono); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; transition: background 160ms var(--cbs-ease), box-shadow 160ms var(--cbs-ease); }
.cbs-filter__apply:hover { background: var(--cbs-edge); box-shadow: 0 0 28px rgba(108,189,224,.4); }
.cbs-filter__apply strong { font-weight: 800; }

/* ---------------- RESPONSIVE ---------------- */
@media (max-width: 980px) {
  .cbs-cat { margin-top: 76px; padding: 0 18px 64px; }
  .cbs-cat__hero { gap: 20px; }
}
@media (max-width: 760px) {
  .cbs-cat__hero { flex-direction: column; align-items: flex-start; gap: 16px; padding-bottom: 22px; }
  .cbs-cat__hero-stat { flex-direction: row; align-items: baseline; text-align: left; gap: 10px; }
  .cbs-cat__stat-sub { margin-top: 0; }
  .cbs-cat__toolbar { flex-wrap: wrap; gap: 12px; }
  .cbs-cat__sort { margin-left: auto; }
  .cbs-cat__count { order: 3; width: 100%; }
}
@media (max-width: 600px) {
  .cbs-filter__panel { width: 100%; }
  .cbs-cat__sort-lbl { display: none; }
  .cbs-sort__btn { min-width: 0; }
}
/* shop Category facet: cap the long top-level list into a scroll area */
.cbs-filter__opts--scroll { max-height: 264px; overflow-y: auto; margin: 0 -6px; padding: 0 6px; scrollbar-width: thin; scrollbar-color: var(--cbs-line-strong) transparent; }
.cbs-filter__opts--scroll::-webkit-scrollbar { width: 6px; }
.cbs-filter__opts--scroll::-webkit-scrollbar-thumb { background: var(--cbs-line-strong); border-radius: 3px; }

/* End CBS-CAT-V7 ============== */

/* ===== CBS-PROD-V6 ===== */
/* CBS single product - full recompose. Compact integrated-control gallery + dense buy
   column + pill short-desc + unified Details/Directions/Reviews tabs. Scoped to
   article.cbs-prod[data-pid], forced past the Customizer rules, reuses --cbs-* tokens.
   Theme globals restyled (not duplicated): .quantity-wrapper/.qty-btn, .woo-button-box,
   .single_buy_now_button, .cbs-wish (wishlist). */

html body article.cbs-prod[data-pid]{
	--pv-line: var(--cbs-line, rgba(255,255,255,.08));
	--pv-line2: var(--cbs-line-strong, #3a4250);
	--pv-cyan: var(--cbs-brand-strong, #6cbde0);
	--pv-bg1: var(--cbs-bg-1, #0e1116);
	--pv-bg2: var(--cbs-bg-2, #161b22);
	--pv-f1: var(--cbs-fg-1, #ffffff);
	--pv-f2: var(--cbs-fg-2, rgba(255,255,255,.82));
	--pv-f3: var(--cbs-fg-3, rgba(255,255,255,.62));
	--pv-f4: var(--cbs-fg-4, rgba(255,255,255,.42));
	--pv-mono: var(--cbs-font-mono, 'JetBrains Mono', ui-monospace, monospace);
	--pv-disp: var(--cbs-font-display, 'Anton', system-ui, sans-serif);
	--pv-body: var(--cbs-font-body, 'Inter', system-ui, sans-serif);
	--pv-ease: var(--cbs-ease, cubic-bezier(.2,.7,.2,1));
	--pv-gold: var(--cbs-warn, #ffb13c);

	display: block !important;
	max-width: var(--cbs-container, 1280px) !important;
	margin: 0 auto !important;
	padding: 84px 24px 150px !important;
	box-sizing: border-box !important;
	color: var(--pv-f2) !important;
	font-family: var(--pv-body) !important;
	background: transparent !important;
}
html body article.cbs-prod[data-pid] *{ box-sizing: border-box; }

/* ---------- hero grid: compact gallery | dense buy column ---------- */
/* margin-top clears the fixed top-left CBS pill (.cbs-nav__corner, ~68px tall logged-out) with a comfortable gap; article padding-top is overridden to 32px by the Customizer, so the clearance lives here. Gap is consistent logged-in/out (theme offsets the pill for the admin bar). */
html body article.cbs-prod[data-pid] .cbs-pv{ display: grid !important; grid-template-columns: minmax(260px, 440px) minmax(0, 1fr) !important; gap: 52px !important; align-items: start !important; margin-top: 88px !important; }

/* ===================== GALLERY (boarding-pass container, matches .cbs-card--bp) ===================== */
html body article.cbs-prod[data-pid] .cbs-pv-gallery{ background: var(--pv-bg1) !important; border: 1px solid var(--pv-line2) !important; border-radius: var(--cbs-r-4, 14px) !important; overflow: hidden !important; }
html body article.cbs-prod[data-pid] .cbs-pv-stub{ position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; font-family: var(--pv-mono) !important; font-size: 10px !important; letter-spacing: .18em !important; text-transform: uppercase !important; color: var(--pv-f3) !important; padding: 12px 14px !important; border-bottom: 1px dashed var(--pv-line2) !important; }
/* boarding-pass tear notches at the header perforation (page bg is #000) */
html body article.cbs-prod[data-pid] .cbs-pv-stub::before,
html body article.cbs-prod[data-pid] .cbs-pv-stub::after{ content: '' !important; position: absolute !important; bottom: 0 !important; width: 15px !important; height: 15px !important; border-radius: 50% !important; background: #000 !important; border: 1px solid var(--pv-line2) !important; z-index: 4 !important; transition: border-color .25s var(--pv-ease) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-stub::before{ left: 0 !important; transform: translate(-50%, 50%) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-stub::after{ right: 0 !important; transform: translate(50%, 50%) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-gallery:hover .cbs-pv-stub::before,
html body article.cbs-prod[data-pid] .cbs-pv-gallery:hover .cbs-pv-stub::after{ border-color: var(--pv-cyan) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-stub-ref{ color: var(--pv-cyan) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-arrow{ color: var(--pv-f4) !important; margin: 0 .15em !important; }

html body article.cbs-prod[data-pid] .cbs-pv-stage{ position: relative !important; margin-top: 0 !important; aspect-ratio: 1 / 1; background: var(--pv-bg1) !important; border: 0 !important; border-radius: 0 !important; overflow: hidden !important; }
html body article.cbs-prod[data-pid] .cbs-pv-main{ width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: 50% 18% !important; display: block !important; transition: transform .5s var(--pv-ease), opacity .25s var(--pv-ease) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-stage:hover .cbs-pv-main{ transform: scale(1.06) !important; }

html body article.cbs-prod[data-pid] .cbs-pv-tools{ position: absolute !important; display: flex !important; gap: 8px !important; z-index: 3 !important; }
html body article.cbs-prod[data-pid] .cbs-pv-tools--tr{ top: 12px !important; right: 12px !important; flex-direction: column !important; }
html body article.cbs-prod[data-pid] .cbs-pv-tools--br{ bottom: 12px !important; right: 12px !important; flex-direction: row !important; }
html body article.cbs-prod[data-pid] .cbs-pv-tool{ width: 40px !important; height: 40px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 0 !important; border-radius: var(--cbs-r-3, 10px) !important; background: rgba(6,8,11,.58) !important; border: 1px solid rgba(255,255,255,.3) !important; box-shadow: 0 2px 12px rgba(0,0,0,.4) !important; color: #fff !important; cursor: pointer !important; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); transition: background .18s var(--pv-ease), border-color .18s var(--pv-ease), transform .18s var(--pv-ease); }
html body article.cbs-prod[data-pid] .cbs-pv-tool:hover{ background: rgba(6,8,11,.72) !important; border-color: var(--pv-cyan) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-tool:active{ transform: scale(.94) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-tool .cbs-pv-ico{ width: 18px !important; height: 18px !important; }
html body article.cbs-prod[data-pid] .cbs-pv-tool svg{ width: 18px !important; height: 18px !important; }
/* theme styles .cbs-wish as position:absolute (for card corners); force our gallery heart back into the tools flex column so it stops overlapping the share button */
html body article.cbs-prod[data-pid] .cbs-pv-tools .cbs-pv-wish{ position: relative !important; inset: auto !important; top: auto !important; right: auto !important; bottom: auto !important; left: auto !important; margin: 0 !important; align-self: auto !important; }
html body article.cbs-prod[data-pid] .cbs-pv-wish[aria-pressed="true"],
html body article.cbs-prod[data-pid] .cbs-pv-wish.is-added{ color: var(--pv-cyan) !important; border-color: var(--pv-cyan) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-wish[aria-pressed="true"] svg,
html body article.cbs-prod[data-pid] .cbs-pv-wish.is-added svg{ fill: var(--pv-cyan) !important; stroke: var(--pv-cyan) !important; }

html body article.cbs-prod[data-pid] .cbs-pv-stagetag{ position: absolute !important; left: 12px !important; bottom: 12px !important; font-family: var(--pv-mono) !important; font-size: 9px !important; letter-spacing: .18em !important; text-transform: uppercase !important; color: var(--pv-f2) !important; background: rgba(6,8,11,.55) !important; border: 1px solid var(--pv-line) !important; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); padding: 5px 9px !important; border-radius: 999px !important; z-index: 2 !important; }

html body article.cbs-prod[data-pid] .cbs-pv-thumbs{ display: flex !important; gap: 8px !important; margin-top: 0 !important; padding: 12px !important; border-top: 1px dashed var(--pv-line2) !important; flex-wrap: nowrap !important; overflow-x: auto !important; overflow-y: hidden !important; scrollbar-width: thin !important; scrollbar-color: var(--pv-line2) transparent !important; }
html body article.cbs-prod[data-pid] .cbs-pv-thumbs::-webkit-scrollbar{ height: 5px !important; }
html body article.cbs-prod[data-pid] .cbs-pv-thumbs::-webkit-scrollbar-thumb{ background: var(--pv-line2) !important; border-radius: 999px !important; }
html body article.cbs-prod[data-pid] .cbs-pv-thumbs::-webkit-scrollbar-track{ background: transparent !important; }
html body article.cbs-prod[data-pid] .cbs-pv-thumb{ flex: 0 0 auto !important; width: 58px !important; height: 58px !important; padding: 0 !important; border: 1px solid var(--pv-line) !important; border-radius: var(--cbs-r-2, 6px) !important; background: var(--pv-bg2) !important; overflow: hidden !important; cursor: pointer !important; opacity: .55 !important; transition: opacity .18s var(--pv-ease), border-color .18s var(--pv-ease); }
html body article.cbs-prod[data-pid] .cbs-pv-thumb img{ width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
html body article.cbs-prod[data-pid] .cbs-pv-thumb:hover{ opacity: .85 !important; }
html body article.cbs-prod[data-pid] .cbs-pv-thumb.is-active{ opacity: 1 !important; border-color: var(--pv-cyan) !important; box-shadow: 0 0 0 1px var(--pv-cyan) inset !important; }

/* ===================== SUMMARY (buy column) ===================== */
html body article.cbs-prod[data-pid] .cbs-pv-head{ display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 14px !important; margin-bottom: 12px !important; }
html body article.cbs-prod[data-pid] .cbs-pv-brand{ font-family: var(--pv-mono) !important; font-size: 12px !important; letter-spacing: .24em !important; text-transform: uppercase !important; color: var(--pv-cyan) !important; margin: 0 !important; }
html body article.cbs-prod[data-pid] .cbs-pv-rating{ display: inline-flex !important; align-items: center !important; gap: 6px !important; background: transparent !important; border: 0 !important; padding: 0 !important; cursor: pointer !important; font-family: var(--pv-mono) !important; font-size: 11px !important; letter-spacing: .08em !important; color: var(--pv-f3) !important; white-space: nowrap !important; transition: color .18s var(--pv-ease); }
html body article.cbs-prod[data-pid] .cbs-pv-rating:hover{ color: var(--pv-f1) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-rating b{ color: var(--pv-f1) !important; font-weight: 600 !important; }
html body article.cbs-prod[data-pid] .cbs-pv-star{ width: 14px !important; height: 14px !important; color: var(--pv-gold) !important; }

html body article.cbs-prod[data-pid] .cbs-pv-title{ font-family: var(--pv-disp) !important; font-weight: 400 !important; text-transform: uppercase !important; color: var(--pv-f1) !important; font-size: clamp(28px, 3.6vw, 40px) !important; line-height: .98 !important; letter-spacing: .005em !important; margin: 0 0 18px !important; }

html body article.cbs-prod[data-pid] .cbs-pv-pricerow{ display: flex !important; align-items: flex-end !important; justify-content: space-between !important; gap: 16px !important; padding-bottom: 18px !important; border-bottom: 1px solid var(--pv-line) !important; margin-bottom: 18px !important; }
html body article.cbs-prod[data-pid] .cbs-pv-fare{ display: flex !important; flex-direction: column !important; gap: 3px !important; }
html body article.cbs-prod[data-pid] .cbs-pv-fare-lbl{ font-family: var(--pv-mono) !important; font-size: 10px !important; letter-spacing: .24em !important; text-transform: uppercase !important; color: var(--pv-f4) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-price{ font-family: var(--pv-disp) !important; font-weight: 400 !important; color: var(--pv-f1) !important; font-size: clamp(24px, 3vw, 32px) !important; line-height: 1 !important; }
html body article.cbs-prod[data-pid] .cbs-pv-price .woocommerce-Price-amount{ font-family: var(--pv-disp) !important; color: var(--pv-f1) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-price del{ color: var(--pv-f4) !important; font-size: .6em !important; margin-right: .4em !important; }
html body article.cbs-prod[data-pid] .cbs-pv-price ins{ text-decoration: none !important; color: var(--pv-f1) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-stock{ display: inline-flex !important; align-items: center !important; gap: 7px !important; font-family: var(--pv-mono) !important; font-size: 11px !important; letter-spacing: .16em !important; text-transform: uppercase !important; white-space: nowrap !important; color: var(--pv-f3) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-dot{ width: 7px !important; height: 7px !important; border-radius: 50% !important; display: inline-block !important; }
html body article.cbs-prod[data-pid] .cbs-pv-stock.is-in{ color: var(--cbs-ok, #34c759) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-stock.is-in .cbs-pv-dot{ background: var(--cbs-ok, #34c759) !important; box-shadow: 0 0 9px var(--cbs-ok, #34c759); }
html body article.cbs-prod[data-pid] .cbs-pv-stock.is-out{ color: var(--cbs-bad, #ff453a) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-stock.is-out .cbs-pv-dot{ background: var(--cbs-bad, #ff453a) !important; box-shadow: 0 0 9px var(--cbs-bad, #ff453a); }

/* short description -> pills */
html body article.cbs-prod[data-pid] .cbs-pv-shortsrc{ display: none !important; }
html body article.cbs-prod[data-pid] .cbs-pv-pills{ display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin: 0 0 22px !important; }
html body article.cbs-prod[data-pid] .cbs-pv-pills:empty{ display: none !important; }
html body article.cbs-prod[data-pid] .cbs-pv-pill{ display: inline-flex !important; align-items: center !important; gap: 7px !important; font-family: var(--pv-mono) !important; font-size: 11.5px !important; letter-spacing: .04em !important; color: var(--pv-f1) !important; background: rgba(108,189,224,.08) !important; border: 1px solid rgba(108,189,224,.45) !important; border-radius: 999px !important; padding: 8px 14px !important; line-height: 1.2 !important; box-shadow: 0 0 0 1px rgba(108,189,224,.05) inset, 0 2px 16px rgba(108,189,224,.10) !important; transition: border-color .18s var(--pv-ease), background .18s var(--pv-ease) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-pill::before{ content: '' !important; width: 5px !important; height: 5px !important; border-radius: 50% !important; background: var(--pv-cyan) !important; box-shadow: 0 0 7px var(--pv-cyan) !important; flex: 0 0 auto !important; }
html body article.cbs-prod[data-pid] .cbs-pv-pill strong{ color: var(--pv-cyan) !important; font-weight: 600 !important; margin-right: 4px !important; }

/* ---------- buy block (native WC form, restyled) ---------- */
html body article.cbs-prod[data-pid] .cbs-pv-buy{ background: var(--pv-bg1) !important; border: 1px solid var(--pv-line) !important; border-radius: var(--cbs-r-4, 12px) !important; padding: 20px !important; margin-bottom: 20px !important; }
html body article.cbs-prod[data-pid] form.variations_form table.variations,
html body article.cbs-prod[data-pid] form.variations_form .single_variation,
html body article.cbs-prod[data-pid] form.variations_form .reset_variations,
html body article.cbs-prod[data-pid] form.variations_form .woocommerce-variation-price,
html body article.cbs-prod[data-pid] form.variations_form .woocommerce-variation-availability{ display: none !important; }
html body article.cbs-prod[data-pid] form.variations_form{ margin: 0 !important; }
html body article.cbs-prod[data-pid] form.cart{ margin: 0 !important; }

html body article.cbs-prod[data-pid] .cbs-pv-swatches{ display: grid !important; gap: 18px !important; margin-bottom: 20px !important; }
html body article.cbs-prod[data-pid] .cbs-pv-swatches:empty{ display: none !important; }
html body article.cbs-prod[data-pid] .cbs-pv-swlabel{ display: flex !important; justify-content: space-between !important; align-items: baseline !important; font-family: var(--pv-mono) !important; font-size: 11px !important; letter-spacing: .16em !important; text-transform: uppercase !important; color: var(--pv-f4) !important; margin-bottom: 10px !important; }
html body article.cbs-prod[data-pid] .cbs-pv-swlabel b{ color: var(--pv-f1) !important; font-weight: 600 !important; }
html body article.cbs-prod[data-pid] .cbs-pv-swrow{ display: flex !important; flex-wrap: wrap !important; gap: 9px !important; }
html body article.cbs-prod[data-pid] .cbs-pv-sw{ display: inline-flex !important; align-items: center !important; gap: 8px !important; min-width: 54px !important; justify-content: center !important; padding: 10px 15px !important; font-family: var(--pv-mono) !important; font-size: 12px !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: var(--pv-f2) !important; background: var(--pv-bg2) !important; border: 1px solid var(--pv-line2) !important; border-radius: var(--cbs-r-2, 4px) !important; cursor: pointer !important; line-height: 1 !important; transition: border-color .18s var(--pv-ease), background .18s var(--pv-ease), color .18s var(--pv-ease); }
html body article.cbs-prod[data-pid] .cbs-pv-sw:hover{ border-color: var(--pv-f3) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-sw.is-sel{ background: var(--pv-f1) !important; color: #06080b !important; border-color: var(--pv-f1) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-sw.is-na{ color: var(--pv-f4) !important; border-color: var(--pv-line) !important; text-decoration: line-through !important; opacity: .65 !important; }
html body article.cbs-prod[data-pid] .cbs-pv-sw.is-dead{ color: var(--pv-f4) !important; border-color: var(--pv-line) !important; text-decoration: line-through !important; opacity: .32 !important; cursor: not-allowed !important; }
html body article.cbs-prod[data-pid] .cbs-pv-chip{ width: 13px !important; height: 13px !important; border-radius: 50% !important; display: inline-block !important; border: 1px solid rgba(255,255,255,.22) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-sw.is-sel .cbs-pv-chip{ box-shadow: 0 0 0 1px rgba(0,0,0,.25) inset !important; }

/* qty stepper (theme .quantity-wrapper is display:contents -> flex + order) */
html body article.cbs-prod[data-pid] .woocommerce-variation-add-to-cart,
html body article.cbs-prod[data-pid] form.cart:not(.variations_form){ display: flex !important; flex-direction: column !important; gap: 12px !important; align-items: stretch !important; }
html body article.cbs-prod[data-pid] .quantity{ display: flex !important; align-items: stretch !important; width: max-content !important; height: 48px !important; position: static !important; margin: 0 !important; padding: 0 !important; float: none !important; border: 1px solid var(--pv-line2) !important; border-radius: var(--cbs-r-2, 4px) !important; background: var(--pv-bg2) !important; overflow: hidden !important; }
html body article.cbs-prod[data-pid] .quantity .screen-reader-text{ position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; }
html body article.cbs-prod[data-pid] .quantity-wrapper{ display: contents !important; }
html body article.cbs-prod[data-pid] .quantity input.qty{ order: 2 !important; width: 52px !important; height: 46px !important; padding: 0 !important; text-align: center !important; background: transparent !important; border: 0 !important; border-left: 1px solid var(--pv-line) !important; border-right: 1px solid var(--pv-line) !important; border-radius: 0 !important; color: var(--pv-f1) !important; font-family: var(--pv-mono) !important; font-size: 14px !important; box-shadow: none !important; -moz-appearance: textfield !important; }
html body article.cbs-prod[data-pid] .quantity input.qty::-webkit-outer-spin-button,
html body article.cbs-prod[data-pid] .quantity input.qty::-webkit-inner-spin-button{ -webkit-appearance: none !important; margin: 0 !important; }
html body article.cbs-prod[data-pid] .quantity .qty-btn{ align-self: stretch !important; width: 42px !important; background: transparent !important; border: 0 !important; color: var(--pv-f3) !important; font-size: 17px !important; line-height: 1 !important; padding: 0 !important; cursor: pointer !important; transition: color .18s var(--pv-ease), background .18s var(--pv-ease); }
html body article.cbs-prod[data-pid] .quantity .qty-btn.minus{ order: 1 !important; }
html body article.cbs-prod[data-pid] .quantity .qty-btn.plus{ order: 3 !important; }
html body article.cbs-prod[data-pid] .quantity .qty-btn:hover{ color: var(--pv-f1) !important; background: rgba(255,255,255,.05) !important; }

html body article.cbs-prod[data-pid] .woo-button-box{ display: flex !important; gap: 12px !important; width: 100% !important; margin: 0 !important; align-items: stretch !important; flex-wrap: wrap !important; }
html body article.cbs-prod[data-pid] .woo-button-box > .button{ flex: 1 1 0 !important; margin: 0 !important; min-width: 140px !important; }
html body article.cbs-prod[data-pid] .single_add_to_cart_button{ display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important; min-height: 50px !important; padding: 0 24px !important; background: var(--pv-f1) !important; color: #06080b !important; font-family: var(--pv-mono) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .14em !important; text-transform: uppercase !important; border: 1px solid var(--pv-f1) !important; border-radius: var(--cbs-r-2, 4px) !important; cursor: pointer !important; box-shadow: none !important; transition: transform .18s var(--pv-ease), box-shadow .18s var(--pv-ease), opacity .18s var(--pv-ease) !important; }
html body article.cbs-prod[data-pid] .single_add_to_cart_button:hover{ transform: translateY(-1px) !important; box-shadow: 0 10px 28px rgba(0,0,0,.45) !important; background: var(--pv-f1) !important; color: #06080b !important; }
html body article.cbs-prod[data-pid] .single_add_to_cart_button.disabled,
html body article.cbs-prod[data-pid] .single_add_to_cart_button:disabled{ opacity: .4 !important; cursor: not-allowed !important; transform: none !important; box-shadow: none !important; }
html body article.cbs-prod[data-pid] .single_buy_now_button{ display: inline-flex !important; align-items: center !important; justify-content: center !important; min-height: 50px !important; padding: 0 22px !important; background: transparent !important; color: var(--pv-f2) !important; font-family: var(--pv-mono) !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: .14em !important; text-transform: uppercase !important; border: 1px solid var(--pv-line2) !important; border-radius: var(--cbs-r-2, 4px) !important; cursor: pointer !important; text-decoration: none !important; box-shadow: none !important; transition: border-color .18s var(--pv-ease), color .18s var(--pv-ease) !important; }
html body article.cbs-prod[data-pid] .single_buy_now_button:hover{ border-color: var(--pv-cyan) !important; color: var(--pv-cyan) !important; background: transparent !important; }
html body article.cbs-prod[data-pid] .wc-no-matching-variations{ width: 100% !important; font-family: var(--pv-mono) !important; font-size: 11px !important; color: var(--pv-gold) !important; margin: 0 !important; }

/* trust strip (slim) */
html body article.cbs-prod[data-pid] .cbs-pv-trust{ list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex !important; flex-wrap: wrap !important; gap: 10px 20px !important; }
html body article.cbs-prod[data-pid] .cbs-pv-trust li{ display: inline-flex !important; align-items: center !important; gap: 8px !important; font-family: var(--pv-mono) !important; font-size: 10.5px !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: var(--pv-f3) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-trust .cbs-pv-ico{ width: 16px !important; height: 16px !important; color: var(--pv-cyan) !important; flex: 0 0 auto !important; }

/* ===================== UNIFIED TABS ===================== */
/* CBS-PROD-V6 C2: professional 2-column tab "dossier" (vertical rail + content). */
html body article.cbs-prod[data-pid] .cbs-pv-tabs{ margin-top: 64px !important; background: var(--pv-bg1) !important; border: 1px solid var(--pv-line2) !important; border-radius: var(--cbs-r-4, 14px) !important; overflow: hidden !important; display: grid !important; grid-template-columns: 264px 1fr !important; }
html body article.cbs-prod[data-pid] .cbs-pv-tabnav{ display: flex !important; flex-direction: column !important; gap: 4px !important; padding: 24px 16px !important; background: linear-gradient(180deg, rgba(108,189,224,.05), transparent 55%), var(--pv-bg2) !important; border-right: 1px dashed var(--pv-line2) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-tabnav-eyebrow{ font-family: var(--pv-mono) !important; font-size: 10px !important; letter-spacing: .22em !important; text-transform: uppercase !important; color: var(--pv-cyan) !important; margin: 0 0 12px 8px !important; }
html body article.cbs-prod[data-pid] .cbs-pv-tablist{ display: flex !important; flex-direction: column !important; gap: 4px !important; border: 0 !important; padding: 0 !important; }
html body article.cbs-prod[data-pid] .cbs-pv-tab{ position: relative !important; display: flex !important; align-items: center !important; gap: 11px !important; width: 100% !important; text-align: left !important; background: transparent !important; border: 0 !important; border-radius: 10px !important; color: var(--pv-f3) !important; font-family: var(--pv-mono) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .1em !important; text-transform: uppercase !important; padding: 13px 14px !important; cursor: pointer !important; transition: color .18s var(--pv-ease), background .18s var(--pv-ease) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-tab .cbs-pv-ico{ font-size: 16px !important; color: var(--pv-f4) !important; transition: color .18s var(--pv-ease) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-tab:hover{ color: var(--pv-f1) !important; background: rgba(255,255,255,.03) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-tab.is-active{ color: var(--pv-f1) !important; background: rgba(108,189,224,.1) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-tab.is-active .cbs-pv-ico{ color: var(--pv-cyan) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-tab.is-active::before{ content: '' !important; position: absolute !important; left: 0 !important; top: 9px !important; bottom: 9px !important; width: 3px !important; border-radius: 0 3px 3px 0 !important; background: var(--pv-cyan) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-tabnav-ref{ margin: 16px 0 0 8px !important; font-family: var(--pv-mono) !important; font-size: 10px !important; letter-spacing: .16em !important; color: var(--pv-f4) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-panels{ padding: 34px 38px !important; min-height: 220px !important; }
html body article.cbs-prod[data-pid] .cbs-pv-panel[hidden]{ display: none !important; }
html body article.cbs-prod[data-pid] .cbs-pv-prose{ max-width: 74ch !important; }
html body article.cbs-prod[data-pid] .cbs-pv-prose p{ font-size: 15px !important; line-height: 1.72 !important; color: var(--pv-f3) !important; margin: 0 0 14px !important; }
html body article.cbs-prod[data-pid] .cbs-pv-prose strong{ color: var(--pv-f2) !important; font-weight: 600 !important; }
html body article.cbs-prod[data-pid] .cbs-pv-prose ul{ padding-left: 18px !important; margin: 0 0 14px !important; }
html body article.cbs-prod[data-pid] .cbs-pv-prose li{ font-size: 15px !important; line-height: 1.7 !important; color: var(--pv-f3) !important; margin-bottom: 6px !important; }
html body article.cbs-prod[data-pid] .cbs-pv-empty{ font-size: 14px !important; line-height: 1.7 !important; color: var(--pv-f4) !important; max-width: 60ch !important; }
@media (max-width: 820px){
  html body article.cbs-prod[data-pid] .cbs-pv-tabs{ grid-template-columns: 1fr !important; }
  html body article.cbs-prod[data-pid] .cbs-pv-tabnav{ border-right: 0 !important; border-bottom: 1px dashed var(--pv-line2) !important; padding: 16px 14px !important; }
  html body article.cbs-prod[data-pid] .cbs-pv-tabnav-eyebrow,
  html body article.cbs-prod[data-pid] .cbs-pv-tabnav-ref{ display: none !important; }
  html body article.cbs-prod[data-pid] .cbs-pv-tablist{ flex-direction: row !important; gap: 6px !important; overflow-x: auto !important; }
  html body article.cbs-prod[data-pid] .cbs-pv-tab{ flex: 0 0 auto !important; }
  html body article.cbs-prod[data-pid] .cbs-pv-tab.is-active::before{ display: none !important; }
  html body article.cbs-prod[data-pid] .cbs-pv-panels{ padding: 22px 18px !important; }
}
/* CBS-PROD-V6 C1: zoom affordance on the gallery stage */
html body article.cbs-prod[data-pid] .cbs-pv-zoomable .cbs-pv-main{ cursor: zoom-in !important; }

/* reviews (WooCommerce markup, themed) */
html body article.cbs-prod[data-pid] .cbs-pv-reviews{ color: var(--pv-f3) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-reviews .woocommerce-Reviews-title,
html body article.cbs-prod[data-pid] .cbs-pv-reviews #reply-title{ font-family: var(--pv-disp) !important; font-weight: 400 !important; text-transform: uppercase !important; color: var(--pv-f1) !important; font-size: 20px !important; margin: 0 0 16px !important; }
html body article.cbs-prod[data-pid] .cbs-pv-reviews ol.commentlist{ list-style: none !important; margin: 0 0 26px !important; padding: 0 !important; display: grid !important; gap: 16px !important; }
html body article.cbs-prod[data-pid] .cbs-pv-reviews ol.commentlist li .comment_container{ background: var(--pv-bg1) !important; border: 1px solid var(--pv-line) !important; border-radius: var(--cbs-r-3, 8px) !important; padding: 16px !important; display: block !important; }
html body article.cbs-prod[data-pid] .cbs-pv-reviews .comment-text{ margin: 0 !important; }
html body article.cbs-prod[data-pid] .cbs-pv-reviews .star-rating{ color: var(--pv-gold) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-reviews p.meta{ color: var(--pv-f4) !important; font-family: var(--pv-mono) !important; font-size: 11px !important; }
html body article.cbs-prod[data-pid] .cbs-pv-reviews a{ color: var(--pv-cyan) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-reviews label{ color: var(--pv-f3) !important; font-family: var(--pv-mono) !important; font-size: 12px !important; }
html body article.cbs-prod[data-pid] .cbs-pv-reviews input[type="text"],
html body article.cbs-prod[data-pid] .cbs-pv-reviews input[type="email"],
html body article.cbs-prod[data-pid] .cbs-pv-reviews textarea{ background: var(--pv-bg2) !important; border: 1px solid var(--pv-line2) !important; color: var(--pv-f1) !important; border-radius: var(--cbs-r-2, 4px) !important; padding: 10px 12px !important; font-family: var(--pv-body) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-reviews .comment-form-rating .stars a{ color: var(--pv-gold) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-reviews input[type="submit"],
html body article.cbs-prod[data-pid] .cbs-pv-reviews .submit{ background: var(--pv-f1) !important; color: #06080b !important; border: 0 !important; font-family: var(--pv-mono) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .12em !important; text-transform: uppercase !important; padding: 12px 22px !important; border-radius: var(--cbs-r-2, 4px) !important; cursor: pointer !important; }

/* ===================== MORE SECTIONS (related + best sellers, reuse home header classes) ===================== */
html body article.cbs-prod[data-pid] .cbs-pv-more{ margin-top: 66px !important; }
html body article.cbs-prod[data-pid] .cbs-pv-morehead{ margin: 0 0 28px !important; padding: 0 !important; border: 0 !important; }
html body article.cbs-prod[data-pid] .cbs-pv-morehead .cbs-home__h{ font-size: clamp(32px, 4.4vw, 54px) !important; line-height: 1 !important; margin: 0 !important; color: var(--pv-f1) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-morehead .cbs-home__h span{ color: var(--pv-cyan) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-morehead .cbs-home__sub{ font-family: var(--pv-body) !important; font-size: 13px !important; line-height: 1.6 !important; color: var(--pv-f3) !important; text-transform: none !important; letter-spacing: normal !important; max-width: 340px !important; margin: 0 !important; }
html body article.cbs-prod[data-pid] .cbs-pv-more .related{ margin: 0 !important; padding: 0 !important; width: auto !important; float: none !important; }
html body article.cbs-prod[data-pid] .cbs-pv-more .related > h2{ display: none !important; }
html body article.cbs-prod[data-pid] .cbs-pv-more .woocommerce{ margin: 0 !important; padding: 0 !important; }

/* toast */
html body article.cbs-prod[data-pid] .cbs-pv-toast{ position: fixed !important; bottom: 150px !important; left: 50% !important; transform: translateX(-50%) translateY(10px) !important; background: var(--pv-bg1) !important; border: 1px solid var(--pv-line2) !important; color: var(--pv-f1) !important; font-family: var(--pv-mono) !important; font-size: 12px !important; letter-spacing: .06em !important; padding: 10px 16px !important; border-radius: 999px !important; opacity: 0 !important; pointer-events: none !important; z-index: 99999 !important; transition: opacity .25s var(--pv-ease), transform .25s var(--pv-ease) !important; }
html body article.cbs-prod[data-pid] .cbs-pv-toast.is-on{ opacity: 1 !important; transform: translateX(-50%) translateY(0) !important; }

/* ===================== RESPONSIVE ===================== */
@media (max-width: 900px){
	html body article.cbs-prod[data-pid]{ padding: 78px 18px 150px !important; }
	html body article.cbs-prod[data-pid] .cbs-pv{ grid-template-columns: 1fr !important; gap: 30px !important; }
	html body article.cbs-prod[data-pid] .cbs-pv-gallery{ max-width: 440px !important; }
	html body article.cbs-prod[data-pid] .cbs-pv-tabs{ margin-top: 48px !important; }
}
@media (max-width: 620px){
	html body article.cbs-prod[data-pid] .cbs-pv-head{ flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; }
	html body article.cbs-prod[data-pid] .cbs-pv-pricerow{ flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
	html body article.cbs-prod[data-pid] .woo-button-box{ flex-direction: column !important; }
	html body article.cbs-prod[data-pid] .woo-button-box > .button{ width: 100% !important; flex: 1 1 auto !important; }
	html body article.cbs-prod[data-pid] .quantity{ width: 100% !important; justify-content: space-between !important; }
	html body article.cbs-prod[data-pid] .quantity input.qty{ flex: 1 1 auto !important; width: auto !important; }
	html body article.cbs-prod[data-pid] .cbs-pv-tab{ padding: 13px 13px !important; font-size: 11px !important; }
}
/* End CBS-PROD-V6 ===== */

/* ============== CBS-COMMERCE-V1 ============== */
/* =====================================================================
   CBS-COMMERCE-V1 - Cart, Checkout, Account, Wishlist re-skin
   ===================================================================== */

/* WC Block Cart polish */
.woocommerce-cart .wc-block-cart, .wp-block-woocommerce-cart, .wc-block-cart { background: var(--cbs-bg-0) !important; color: var(--cbs-fg-1) !important; }
.woocommerce-cart h1, .woocommerce-cart .wc-block-cart-items__header, .wc-block-cart-items__row td { color: var(--cbs-fg-1) !important; }
.woocommerce-cart h1.wp-block-heading, .woocommerce-cart .wp-block-page-title { font-family: var(--cbs-font-display) !important; font-size: clamp(40px, 6vw, 72px) !important; font-weight: 400 !important; text-transform: uppercase !important; letter-spacing: 0 !important; margin: 28px 0 32px !important; }
.woocommerce-cart h1::after, .woocommerce-cart h1.wp-block-heading::after { content: "."; color: var(--cbs-edge); }
.wc-block-cart-items__row, .wc-block-cart-item__row { background: var(--cbs-bg-1) !important; border: 1px solid var(--cbs-line) !important; border-radius: 2px !important; padding: 16px !important; margin-bottom: 8px !important; }
.wc-block-cart-item__image img { border: 1px solid var(--cbs-line); border-radius: 2px; background: var(--cbs-bg-2); padding: 4px; }
.wc-block-cart-item__product-name, .wc-block-cart-item__name { color: var(--cbs-fg-1) !important; font-weight: 600 !important; font-size: 15px !important; }
.wc-block-components-product-price, .wc-block-cart-item__total-price-amount, .woocommerce-Price-amount { font-family: var(--cbs-font-mono) !important; color: var(--cbs-fg-1) !important; }
.wc-block-components-product-metadata, .wc-block-cart-item__metadata { color: var(--cbs-fg-3) !important; font-size: 12px !important; }
.wc-block-components-product-metadata__description-text { background: var(--cbs-bg-2) !important; border: 1px solid var(--cbs-edge-soft) !important; padding: 4px 10px !important; border-radius: 999px !important; font-family: var(--cbs-font-mono) !important; font-size: 10px !important; letter-spacing: .08em !important; text-transform: uppercase !important; margin-right: 4px !important; display: inline-block !important; }
.wc-block-cart__sidebar, .wc-block-components-totals-wrapper, .wp-block-woocommerce-cart-order-summary-block { background: var(--cbs-bg-1) !important; border: 1px solid var(--cbs-line) !important; border-radius: 2px !important; padding: 24px !important; }
.wc-block-components-totals-item__label { font-family: var(--cbs-font-mono) !important; font-size: 11px !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: var(--cbs-fg-3) !important; }
.wc-block-components-totals-item__value { font-family: var(--cbs-font-mono) !important; color: var(--cbs-fg-1) !important; font-weight: 700 !important; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button, .wc-block-components-button, button.wc-block-components-button { background: var(--cbs-fg-1) !important; color: var(--cbs-bg-0) !important; border: 1px solid var(--cbs-fg-1) !important; border-radius: 2px !important; padding: 16px 22px !important; font-family: var(--cbs-font-mono) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .22em !important; text-transform: uppercase !important; box-shadow: none !important; transition: background 160ms, color 160ms !important; }
.wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover, button.wc-block-components-button:hover { background: var(--cbs-edge) !important; color: var(--cbs-bg-0) !important; border-color: var(--cbs-edge) !important; box-shadow: 0 0 28px var(--cbs-edge-soft) !important; }
.wc-block-components-quantity-selector { background: var(--cbs-bg-2) !important; border: 1px solid var(--cbs-line) !important; border-radius: 2px !important; }
.wc-block-components-quantity-selector input { color: var(--cbs-fg-1) !important; background: transparent !important; font-family: var(--cbs-font-mono) !important; font-weight: 700 !important; }
.wc-block-cart-item__remove-link { color: var(--cbs-bad) !important; font-family: var(--cbs-font-mono) !important; font-size: 10px !important; letter-spacing: .14em !important; text-transform: uppercase !important; }

/* Checkout - same brutalist treatment */
.woocommerce-checkout, .wp-block-woocommerce-checkout, .wc-block-checkout { background: var(--cbs-bg-0) !important; color: var(--cbs-fg-1) !important; }
.woocommerce-checkout h1, .wc-block-checkout__form h1 { font-family: var(--cbs-font-display) !important; font-size: clamp(40px, 6vw, 72px) !important; font-weight: 400 !important; text-transform: uppercase !important; }
.woocommerce-checkout h1::after { content: "."; color: var(--cbs-edge); }
.wc-block-checkout__main, .wc-block-components-form { background: transparent !important; }
.wp-block-woocommerce-checkout-fields-block, .wc-block-checkout__contact-information, .wc-block-checkout__billing-address, .wc-block-checkout__shipping-address, .wc-block-checkout__payment-method, .wc-block-checkout__order-notes { background: var(--cbs-bg-1) !important; border: 1px solid var(--cbs-line) !important; border-radius: 2px !important; padding: 22px !important; margin-bottom: 16px !important; }
.wc-block-components-checkout-step__title, .wc-block-components-title { font-family: var(--cbs-font-mono) !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .22em !important; text-transform: uppercase !important; color: var(--cbs-fg-1) !important; display: inline-flex !important; align-items: center !important; gap: 10px !important; }
.wc-block-components-checkout-step__title::before { content: "" !important; width: 14px !important; height: 1px !important; background: var(--cbs-edge) !important; }
.wc-block-components-text-input input, .wc-block-components-textarea, .wc-block-components-select { background: var(--cbs-bg-2) !important; color: var(--cbs-fg-1) !important; border: 1px solid var(--cbs-line) !important; border-radius: 2px !important; font-family: var(--cbs-font-body) !important; padding: 14px 14px !important; }
.wc-block-components-text-input input:focus, .wc-block-components-textarea:focus, .wc-block-components-select:focus-within { border-color: var(--cbs-edge) !important; box-shadow: 0 0 0 3px rgba(108,189,224,.15) !important; outline: 0 !important; }
.wc-block-components-text-input label, .wc-block-components-form label { color: var(--cbs-fg-3) !important; font-family: var(--cbs-font-mono) !important; font-size: 11px !important; letter-spacing: .12em !important; text-transform: uppercase !important; }
.wc-block-components-radio-control__option { background: var(--cbs-bg-2) !important; border: 1px solid var(--cbs-line) !important; border-radius: 2px !important; margin-bottom: 8px !important; padding: 14px !important; transition: border-color 160ms; }
.wc-block-components-radio-control__option-checked, .wc-block-components-radio-control input:checked + label { border-color: var(--cbs-edge) !important; background: var(--cbs-bg-3) !important; }

/* MY ACCOUNT - dashboard cards */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 260px 1fr; gap: 32px; padding: 32px 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 16px; margin: 0; background: var(--cbs-bg-1); border: 1px solid var(--cbs-line); border-radius: 2px; display: flex; flex-direction: column; gap: 4px; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 2px; color: var(--cbs-fg-2); text-decoration: none; font-family: var(--cbs-font-mono); font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; transition: background 160ms, color 160ms; }
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--cbs-bg-2); color: var(--cbs-edge); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a, .woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--is-active a { background: var(--cbs-fg-1); color: var(--cbs-bg-0); }
.woocommerce-account .woocommerce-MyAccount-content { background: var(--cbs-bg-1); border: 1px solid var(--cbs-line); border-radius: 2px; padding: 32px; color: var(--cbs-fg-2); }
.woocommerce-account .woocommerce-MyAccount-content h2, .woocommerce-account .woocommerce-MyAccount-content h3 { font-family: var(--cbs-font-display); font-weight: 400; text-transform: uppercase; color: var(--cbs-fg-1); }
.woocommerce-account .woocommerce-MyAccount-content a { color: var(--cbs-edge); text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-content table { background: var(--cbs-bg-2); border: 1px solid var(--cbs-line); border-radius: 2px; overflow: hidden; width: 100%; }
.woocommerce-account .woocommerce-MyAccount-content table th { font-family: var(--cbs-font-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--cbs-fg-3); background: var(--cbs-bg-3); padding: 12px !important; }
.woocommerce-account .woocommerce-MyAccount-content table td { padding: 14px 12px !important; border-top: 1px solid var(--cbs-line); }
@media (max-width: 768px){ .woocommerce-account .woocommerce { grid-template-columns: 1fr; } }

/* WISHLIST - grid layout */
.woocommerce-wishlist table.wishlist_table, .wishlist_table { border: 0 !important; background: transparent !important; }
.woocommerce-wishlist table.wishlist_table tbody { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 1100px){ .woocommerce-wishlist table.wishlist_table tbody { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 760px){ .woocommerce-wishlist table.wishlist_table tbody { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; } }
.woocommerce-wishlist table.wishlist_table tr { display: flex !important; flex-direction: column; background: var(--cbs-bg-1); border: 1px solid var(--cbs-line); border-radius: 2px; overflow: hidden; padding: 0 !important; transition: border-color 240ms, transform 240ms; }
.woocommerce-wishlist table.wishlist_table tr:hover { border-color: var(--cbs-edge); transform: translateY(-3px); }
.woocommerce-wishlist table.wishlist_table td { border: 0 !important; padding: 12px 16px !important; background: transparent !important; display: block !important; text-align: left !important; }
.woocommerce-wishlist .product-thumbnail { padding: 0 !important; aspect-ratio: 1/1; background: radial-gradient(ellipse at 50% 35%, #1d232c 0%, #11151b 70%, #0c1015 100%); border-bottom: 1px solid var(--cbs-line); position: relative; }
.woocommerce-wishlist .product-thumbnail img { width: 100% !important; height: 100% !important; object-fit: contain !important; padding: 16px !important; }
.woocommerce-wishlist .product-name a { color: var(--cbs-fg-1) !important; text-decoration: none; font-family: var(--cbs-font-display); font-size: 16px; font-weight: 400; text-transform: uppercase; line-height: 1.1; }
.woocommerce-wishlist .product-price { font-family: var(--cbs-font-mono) !important; color: var(--cbs-fg-1) !important; font-weight: 700 !important; }
.woocommerce-wishlist .product-stock-status { font-family: var(--cbs-font-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--cbs-ok); }
.woocommerce-wishlist .product-add-to-cart a, .woocommerce-wishlist .product-add-to-cart .button { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; padding: 12px 14px !important; background: var(--cbs-fg-1) !important; color: var(--cbs-bg-0) !important; border: 1px solid var(--cbs-fg-1) !important; border-radius: 2px !important; font-family: var(--cbs-font-mono) !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .22em !important; text-transform: uppercase !important; text-decoration: none !important; }
.woocommerce-wishlist .product-add-to-cart a:hover { background: var(--cbs-edge) !important; }
.wishlist-title h1, .wishlist-title h2 { font-family: var(--cbs-font-display); font-weight: 400; font-size: clamp(40px, 6vw, 72px); text-transform: uppercase; color: var(--cbs-fg-1); }
.wishlist-title h2::after { content: "."; color: var(--cbs-edge); }

/* ============== CBS-SUPPORT-V1 ============== */
/* =====================================================================
   CBS-SUPPORT-V1 - Affiliate, Coming Soon, 404, Blog
   ===================================================================== */

/* AFFILIATE PAGE */
body.page-template-afiliate-page-template .site-content, body.page-id [class*=afiliate] { background: var(--cbs-bg-0); color: var(--cbs-fg-1); }
body.page-template-afiliate-page-template h1, body.page-template-afiliate-page-template h2 { font-family: var(--cbs-font-display); font-weight: 400; text-transform: uppercase; color: var(--cbs-fg-1); }
body.page-template-afiliate-page-template label, body.page-template-afiliate-page-template legend { font-family: var(--cbs-font-mono) !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .18em !important; text-transform: uppercase !important; color: var(--cbs-fg-2) !important; }
body.page-template-afiliate-page-template input[type=text], body.page-template-afiliate-page-template input[type=email], body.page-template-afiliate-page-template input[type=tel], body.page-template-afiliate-page-template input[type=number], body.page-template-afiliate-page-template select, body.page-template-afiliate-page-template textarea { background: var(--cbs-bg-2) !important; color: var(--cbs-fg-1) !important; border: 1px solid var(--cbs-line) !important; border-radius: 2px !important; padding: 14px 14px !important; font-family: var(--cbs-font-body) !important; }
body.page-template-afiliate-page-template input:focus, body.page-template-afiliate-page-template select:focus, body.page-template-afiliate-page-template textarea:focus { border-color: var(--cbs-edge) !important; box-shadow: 0 0 0 3px rgba(108,189,224,.15) !important; outline: 0 !important; }
body.page-template-afiliate-page-template button[type=submit], body.page-template-afiliate-page-template .submit, body.page-template-afiliate-page-template input[type=submit] { background: var(--cbs-fg-1) !important; color: var(--cbs-bg-0) !important; border: 1px solid var(--cbs-fg-1) !important; border-radius: 2px !important; padding: 16px 28px !important; font-family: var(--cbs-font-mono) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .22em !important; text-transform: uppercase !important; cursor: pointer; }
body.page-template-afiliate-page-template button[type=submit]:hover { background: var(--cbs-edge) !important; box-shadow: 0 0 28px var(--cbs-edge-soft); }

/* COMING SOON */
body.page-template-comming-soon-page-template { background: var(--cbs-bg-0) !important; }
body.page-template-comming-soon-page-template h1 { font-family: var(--cbs-font-display) !important; font-size: clamp(56px, 11vw, 128px) !important; font-weight: 400 !important; text-transform: uppercase !important; color: var(--cbs-fg-1) !important; letter-spacing: 0 !important; line-height: .9 !important; }
body.page-template-comming-soon-page-template h1 span, body.page-template-comming-soon-page-template h1 b { color: var(--cbs-edge) !important; font-weight: 400 !important; }
body.page-template-comming-soon-page-template .countdown, body.page-template-comming-soon-page-template .timer { display: flex; gap: 18px; justify-content: center; margin: 32px 0; }
body.page-template-comming-soon-page-template .countdown > *, body.page-template-comming-soon-page-template .timer > * { font-family: var(--cbs-font-display) !important; font-size: 64px !important; color: var(--cbs-fg-1) !important; line-height: 1 !important; }
body.page-template-comming-soon-page-template small, body.page-template-comming-soon-page-template .countdown-label { font-family: var(--cbs-font-mono) !important; font-size: 10px !important; letter-spacing: .22em !important; text-transform: uppercase !important; color: var(--cbs-fg-4) !important; }

/* 404 PAGE */
body.error404 { background: var(--cbs-bg-0); color: var(--cbs-fg-1); }
body.error404 .site-main, body.error404 #content { padding: 80px 24px; text-align: center; }
body.error404 h1 { font-family: var(--cbs-font-display); font-size: clamp(120px, 24vw, 280px); font-weight: 400; line-height: .9; color: var(--cbs-fg-1); margin: 0; text-shadow: 4px 0 0 rgba(108,189,224,.18), -4px 0 0 rgba(255,77,77,.18); }
body.error404 h1::after { content: "."; color: var(--cbs-edge); }
body.error404 .page-content::before { content: "PRODUCT NOT FOUND IN CATALOG"; display: block; font-family: var(--cbs-font-mono); font-size: 12px; letter-spacing: .22em; color: var(--cbs-edge); margin: 16px 0 32px; }
body.error404 .search-form { display: inline-flex; gap: 8px; margin: 22px auto; }
body.error404 .search-field { background: var(--cbs-bg-2) !important; color: var(--cbs-fg-1) !important; border: 1px solid var(--cbs-line) !important; border-radius: 2px !important; padding: 12px 14px !important; font-family: var(--cbs-font-body) !important; min-width: 280px; }
body.error404 .search-submit { background: var(--cbs-fg-1) !important; color: var(--cbs-bg-0) !important; border: 1px solid var(--cbs-fg-1) !important; border-radius: 2px !important; padding: 12px 22px !important; font-family: var(--cbs-font-mono) !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .22em !important; text-transform: uppercase !important; cursor: pointer; }
body.error404 a:not([class]) { color: var(--cbs-edge) !important; text-decoration: none; }
body.error404 a:hover { text-decoration: underline; }

/* BLOG INDEX + SINGLE POST */
body.blog .site-main, body.archive.category .site-main, body.single-post .site-main { background: var(--cbs-bg-0); color: var(--cbs-fg-1); max-width: var(--cbs-container); margin: 0 auto; padding: 32px 24px 80px; }
body.blog h1.page-title, body.archive h1.page-title { font-family: var(--cbs-font-display); font-size: clamp(56px, 9vw, 120px); font-weight: 400; text-transform: uppercase; color: var(--cbs-fg-1); margin: 24px 0 8px; line-height: .9; }
body.blog h1.page-title::before { content: "// "; color: var(--cbs-edge); font-size: 14px; vertical-align: super; font-family: var(--cbs-font-mono); letter-spacing: .14em; }
body.blog article, body.archive article { background: var(--cbs-bg-1); border: 1px solid var(--cbs-line); border-radius: 2px; padding: 22px; margin-bottom: 18px; transition: border-color 240ms, transform 240ms; }
body.blog article:hover, body.archive article:hover { border-color: var(--cbs-edge); transform: translateY(-2px); }
body.blog article .entry-title a, body.archive article .entry-title a { color: var(--cbs-fg-1); text-decoration: none; font-family: var(--cbs-font-display); font-weight: 400; text-transform: uppercase; font-size: 28px; line-height: 1.1; }
body.blog article .entry-meta, body.archive article .entry-meta { font-family: var(--cbs-font-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--cbs-fg-4); margin: 8px 0; }
body.blog article .entry-content p, body.archive article .entry-content p { color: var(--cbs-fg-3); line-height: 1.55; }

body.single-post article .entry-title { font-family: var(--cbs-font-display); font-weight: 400; font-size: clamp(40px, 6vw, 88px); text-transform: uppercase; color: var(--cbs-fg-1); line-height: 1; margin: 16px 0 12px; }
body.single-post article .entry-meta { font-family: var(--cbs-font-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--cbs-fg-4); margin-bottom: 22px; }
body.single-post article .entry-content { color: var(--cbs-fg-2); font-size: 17px; line-height: 1.7; max-width: 70ch; }
body.single-post article .entry-content h2, body.single-post article .entry-content h3 { font-family: var(--cbs-font-display); font-weight: 400; text-transform: uppercase; color: var(--cbs-fg-1); margin-top: 32px; }
body.single-post article .entry-content blockquote { border-left: 3px solid var(--cbs-edge); padding: 8px 0 8px 20px; margin: 22px 0; font-family: var(--cbs-font-display); font-size: 24px; color: var(--cbs-fg-1); }
body.single-post article .entry-content a { color: var(--cbs-edge); text-decoration: none; border-bottom: 1px dashed var(--cbs-edge-soft); }
body.single-post article .entry-content code, body.single-post article .entry-content pre { font-family: var(--cbs-font-mono); background: var(--cbs-bg-2); border: 1px solid var(--cbs-line); padding: 2px 6px; border-radius: 2px; font-size: 13px; }

/* ============== CBS-REBUILD-V1 ============== */
/* ============================================================
   CBS-REBUILD-V1 - Comprehensive rebuild after editor incident
   Covers: layout primitives, header, hero, home sections,
           card interactions, mobile drawer, trust content,
           stack/apparel/athlete/blog tiles
   Depends on token vars from earlier DS-V2 block.
============================================================ */

/* ---- Tokens fallback (in case DS-V2 not loaded) ---- */
:root {
  --cbs-bg-0: #000;
  --cbs-bg-1: #0d1014;
  --cbs-bg-2: #15191f;
  --cbs-ink-0: #f5f6f7;
  --cbs-ink-1: #b9bec4;
  --cbs-ink-2: #6e757d;
  --cbs-line: rgba(255,255,255,.08);
  --cbs-line-2: rgba(255,255,255,.16);
  --cbs-edge: #6cbde0;
  --cbs-edge-2: #9ad6f0;
  --cbs-danger: #ff5a4a;
  --cbs-good: #5ddca7;
  --cbs-radius: 2px;
  --cbs-ease: cubic-bezier(.2,.7,.2,1);
  --cbs-font-display: "Anton", "Bebas Neue", Impact, sans-serif;
  --cbs-font-body: "Inter", system-ui, -apple-system, sans-serif;
  --cbs-font-mono: "JetBrains Mono", ui-monospace, Menlo, monospace;
  --cbs-shell-max: 1440px;
  --cbs-gutter: clamp(16px, 3vw, 32px);
}

/* ---- Reset & shell ---- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body.cbs-body {
  margin: 0;
  background: var(--cbs-bg-0);
  color: var(--cbs-ink-0);
  font-family: var(--cbs-font-body);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
.cbs-skip {
  position: absolute; top: -100px; left: 0; padding: 8px 16px;
  background: var(--cbs-edge); color: #000; text-decoration: none; font-weight: 700;
}
.cbs-skip:focus { top: 0; z-index: 9999; }
.cbs-container {
  max-width: var(--cbs-shell-max);
  margin: 0 auto;
  padding: 0 var(--cbs-gutter);
}
.cbs-main { display: block; min-height: 50vh; }

/* ---- Typography primitives ---- */
.cbs-display {
  font-family: var(--cbs-font-display);
  font-weight: 400;
  letter-spacing: .01em;
  line-height: .92;
  text-transform: uppercase;
}
.cbs-eyebrow {
  font-family: var(--cbs-font-mono);
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--cbs-ink-2);
}

/* ---- Buttons ---- */
.cbs-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 22px;
  font-family: var(--cbs-font-body); font-weight: 700; font-size: 13px;
  letter-spacing: .14em; text-transform: uppercase;
  background: transparent; color: var(--cbs-ink-0);
  border: 1px solid var(--cbs-line-2); border-radius: var(--cbs-radius);
  cursor: pointer; text-decoration: none;
  transition: background .2s var(--cbs-ease), color .2s var(--cbs-ease), border-color .2s var(--cbs-ease), transform .2s var(--cbs-ease);
}
.cbs-btn:hover { background: var(--cbs-ink-0); color: #000; border-color: var(--cbs-ink-0); }
.cbs-btn--primary {
  background: var(--cbs-ink-0); color: #000; border-color: var(--cbs-ink-0);
}
.cbs-btn--primary:hover { background: var(--cbs-edge); border-color: var(--cbs-edge); color: #000; }

/* ---- Section headings ---- */
.cbs-home__h, .cbs-home__hero-title, h2.cbs-home__h {
  font-family: var(--cbs-font-display);
  font-size: clamp(40px, 7vw, 96px);
  line-height: .92;
  letter-spacing: .005em;
  text-transform: uppercase;
  margin: 0 0 8px;
  color: var(--cbs-ink-0);
}
.cbs-home__h-rest { color: var(--cbs-ink-2); display: inline; }
.cbs-home__sub {
  font-family: var(--cbs-font-mono); font-size: 12px; letter-spacing: .2em;
  text-transform: uppercase; color: var(--cbs-ink-2);
  margin: 0 0 32px;
}
.cbs-home__more { margin-top: 40px; text-align: center; }
.cbs-home__more-btn { display: inline-flex; }

/* =========================================================
   HEADER
========================================================= */
.cbs-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(0,0,0,.85);
  backdrop-filter: saturate(140%) blur(14px);
  -webkit-backdrop-filter: saturate(140%) blur(14px);
  border-bottom: 1px solid var(--cbs-line);
}
body.admin-bar .cbs-header { top: 32px; }
@media (max-width: 782px){ body.admin-bar .cbs-header { top: 46px; } }

.cbs-header__topbar {
  background: var(--cbs-bg-1); color: var(--cbs-ink-2);
  font-family: var(--cbs-font-mono); font-size: 11px; letter-spacing: .14em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--cbs-line);
}
.cbs-header__topbar-inner {
  display: flex; align-items: center; justify-content: space-between;
  height: 28px; padding: 0 var(--cbs-gutter); max-width: var(--cbs-shell-max);
  margin: 0 auto;
}
.cbs-header__topbar a { color: inherit; text-decoration: none; }
.cbs-header__topbar a:hover { color: var(--cbs-edge); }

.cbs-header__nav-inner {
  max-width: var(--cbs-shell-max); margin: 0 auto;
  padding: 14px var(--cbs-gutter);
  display: grid; grid-template-columns: auto 1fr auto; gap: 24px;
  align-items: center;
}
@media (max-width: 1023px){
  .cbs-header__nav-inner { grid-template-columns: auto auto 1fr auto; gap: 16px; }
}

.cbs-header__logo { display: inline-flex; align-items: center; }
.cbs-header__logo img { display: block; height: 36px; width: auto; }

/* Search */
.cbs-header__search {
  position: relative; display: flex; align-items: center;
  background: var(--cbs-bg-2); border: 1px solid var(--cbs-line);
  border-radius: var(--cbs-radius); padding: 0 14px;
  height: 44px; min-width: 280px; max-width: 520px;
  transition: border-color .15s var(--cbs-ease), background .15s var(--cbs-ease);
}
.cbs-header__search:focus-within { border-color: var(--cbs-edge); background: var(--cbs-bg-1); }
.cbs-header__search-icon { color: var(--cbs-ink-2); font-size: 18px; margin-right: 10px; }
.cbs-header__search input {
  background: transparent; border: 0; outline: none; color: var(--cbs-ink-0);
  font: 400 14px/1 var(--cbs-font-body); flex: 1; padding: 0;
  letter-spacing: .01em;
}
.cbs-header__search input::placeholder { color: var(--cbs-ink-2); }
.cbs-header__search-kbd {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 3px 8px; border: 1px solid var(--cbs-line);
  border-radius: var(--cbs-radius); font: 600 11px/1 var(--cbs-font-mono);
  color: var(--cbs-ink-2); background: var(--cbs-bg-1);
}
@media (max-width: 760px){
  .cbs-header__search { min-width: 0; height: 40px; }
  .cbs-header__search-kbd { display: none; }
}

/* Typeahead */
.cbs-header__typeahead {
  position: absolute; left: 0; right: 0; top: calc(100% + 6px);
  background: var(--cbs-bg-1); border: 1px solid var(--cbs-line);
  max-height: 60vh; overflow: auto; z-index: 200;
  display: none;
}
.cbs-header__typeahead.is-open { display: block; }
.cbs-header__typeahead-empty { padding: 16px; color: var(--cbs-ink-2); font-size: 13px; }

/* Nav */
.cbs-nav { display: flex; align-items: center; gap: 2px; }
.cbs-nav__item { position: relative; }
.cbs-nav__link {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 10px 14px; text-decoration: none;
  color: var(--cbs-ink-1); font-weight: 600; font-size: 14px;
  letter-spacing: .04em; text-transform: uppercase;
  transition: color .15s var(--cbs-ease);
}
.cbs-nav__link:hover, .cbs-nav__item:hover > .cbs-nav__link { color: var(--cbs-ink-0); }
.cbs-nav__link--accent { color: var(--cbs-edge); }
.cbs-nav__link--toggle::after {
  content: "\25BE"; font-size: 10px; opacity: .6; margin-left: 2px;
}
@media (max-width: 1023px){ .cbs-nav { display: none; } }

/* Header tools (icons cart/wish/account) */
.cbs-header__tools, .cbs-header__icons {
  display: inline-flex; align-items: center; gap: 8px;
}
.cbs-header__tools a, .cbs-header__icons a,
.cbs-header__icon, .cbs-header__cart, .cbs-header__wish, .cbs-header__account {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; color: var(--cbs-ink-1);
  border: 1px solid var(--cbs-line); border-radius: var(--cbs-radius);
  background: transparent; text-decoration: none; font-size: 18px;
  transition: color .15s var(--cbs-ease), border-color .15s var(--cbs-ease);
}
.cbs-header__tools a:hover, .cbs-header__icons a:hover { color: var(--cbs-ink-0); border-color: var(--cbs-line-2); }

/* Mega menu */
.cbs-mega {
  position: absolute; left: 50%; top: 100%; transform: translateX(-50%) translateY(8px);
  width: min(1000px, 90vw);
  background: var(--cbs-bg-1); border: 1px solid var(--cbs-line);
  opacity: 0; pointer-events: none; z-index: 90;
  transition: opacity .18s var(--cbs-ease), transform .18s var(--cbs-ease);
}
.cbs-nav__item--mega:hover > .cbs-mega,
.cbs-nav__item--mega:focus-within > .cbs-mega {
  opacity: 1; pointer-events: auto; transform: translateX(-50%) translateY(0);
}
.cbs-mega__inner {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
  padding: 28px;
}
.cbs-mega__col h4, .cbs-mega__head {
  font-family: var(--cbs-font-mono); font-size: 11px; letter-spacing: .22em;
  text-transform: uppercase; color: var(--cbs-ink-2);
  margin: 0 0 12px; padding-bottom: 8px; border-bottom: 1px solid var(--cbs-line);
}
.cbs-mega__list { list-style: none; margin: 0; padding: 0; }
.cbs-mega__list li { margin: 0 0 6px; }
.cbs-mega__list a {
  color: var(--cbs-ink-1); text-decoration: none; font-size: 14px;
  font-weight: 500; line-height: 1.6; display: inline-block;
}
.cbs-mega__list a:hover { color: var(--cbs-edge); }
.cbs-mega__col--featured { grid-column: span 1; }
.cbs-mega__more { display: inline-flex; align-items: center; gap: 6px; color: var(--cbs-edge); font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: .14em; text-decoration: none; }

/* =========================================================
   MOBILE DRAWER
========================================================= */
.cbs-drawer {
  position: fixed; inset: 0; z-index: 200;
  display: none;
}
.cbs-drawer.is-open { display: block; }
.cbs-drawer__scrim {
  position: absolute; inset: 0; background: rgba(0,0,0,.6);
  backdrop-filter: blur(4px);
}
.cbs-drawer__panel {
  position: absolute; left: 0; top: 0; bottom: 0;
  width: min(420px, 88vw);
  background: var(--cbs-bg-1); border-right: 1px solid var(--cbs-line);
  overflow-y: auto; padding: 24px;
  transform: translateX(-100%); transition: transform .28s var(--cbs-ease);
}
.cbs-drawer.is-open .cbs-drawer__panel { transform: translateX(0); }
.cbs-drawer__close {
  position: absolute; right: 16px; top: 16px;
  width: 40px; height: 40px; border: 1px solid var(--cbs-line);
  background: transparent; color: var(--cbs-ink-0); cursor: pointer;
  font-size: 20px; display: inline-flex; align-items: center; justify-content: center;
}
.cbs-drawer__group { margin: 0 0 24px; padding-bottom: 16px; border-bottom: 1px solid var(--cbs-line); }
.cbs-drawer__group h4 {
  font-family: var(--cbs-font-mono); font-size: 11px; letter-spacing: .22em;
  text-transform: uppercase; color: var(--cbs-ink-2);
  margin: 0 0 12px;
}
.cbs-drawer__list { list-style: none; margin: 0; padding: 0; }
.cbs-drawer__list li { margin: 0; }
.cbs-drawer__list a {
  display: block; padding: 12px 0; color: var(--cbs-ink-0);
  font-weight: 600; font-size: 16px; text-decoration: none;
  border-bottom: 1px solid var(--cbs-line);
}

/* =========================================================
   HERO
========================================================= */
.cbs-home__hero {
  position: relative; width: 100%;
  height: 100vh;
  background: #000; overflow: hidden;
}
.cbs-home__hero-inner { position: relative; width: 100%; height: 100%; }
.cbs-home__hero-slides { position: absolute; inset: 0; }
.cbs-home__hero-slide {
  position: absolute; inset: 0;
  opacity: 0; transition: opacity .9s var(--cbs-ease);
  clip-path: inset(0 0 0 100%);
}
.cbs-home__hero-slide.is-active {
  opacity: 1; clip-path: inset(0 0 0 0);
  transition: opacity .9s var(--cbs-ease), clip-path 1.2s var(--cbs-ease);
}
.cbs-home__hero-pic {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  transform: scale(1.06); transition: transform 8s linear;
}
.cbs-home__hero-slide.is-active .cbs-home__hero-pic { transform: scale(1.16); }
.cbs-home__hero-veil {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,0) 30%, rgba(0,0,0,0) 60%, rgba(0,0,0,.6) 100%);
  pointer-events: none;
}
.cbs-home__hero-grit { display: none; }

.cbs-home__hero-copies { display: none; }
.cbs-home__hero-copy { display: none; }
.cbs-home__hero-eyebrow, .cbs-home__hero-title, .cbs-home__hero-pitch, .cbs-home__hero-brand, .cbs-home__hero-spec { display: none; }

/* Shop CTA */
.cbs-home__hero-cta {
  position: absolute; left: 50%; bottom: 96px; transform: translateX(-50%);
  z-index: 5; display: flex; gap: 12px;
}
.cbs-home__hero-shop, a.cbs-home__hero-shop {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 16px 28px;
  background: rgba(0,0,0,.55); color: var(--cbs-ink-0);
  border: 1px solid rgba(255,255,255,.4); border-radius: var(--cbs-radius);
  font-family: var(--cbs-font-body); font-weight: 700; font-size: 13px;
  letter-spacing: .22em; text-transform: uppercase; text-decoration: none;
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  transition: background .2s var(--cbs-ease), color .2s var(--cbs-ease), border-color .2s var(--cbs-ease), transform .2s var(--cbs-ease);
}
.cbs-home__hero-shop:hover, a.cbs-home__hero-shop:hover {
  background: var(--cbs-ink-0); color: #000; border-color: var(--cbs-ink-0);
  transform: translateY(-2px);
}

.cbs-home__hero-btn, .cbs-home__hero-btn--g, .cbs-home__hero-btn--p {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 22px; font: 700 13px/1 var(--cbs-font-body);
  letter-spacing: .18em; text-transform: uppercase; text-decoration: none;
  border-radius: var(--cbs-radius);
}
.cbs-home__hero-btn--p { background: var(--cbs-ink-0); color: #000; }
.cbs-home__hero-btn--g { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.4); }

/* Dots */
.cbs-home__hero-dots {
  position: absolute; left: 50%; bottom: 40px; transform: translateX(-50%);
  display: inline-flex; align-items: center; gap: 10px;
  z-index: 5;
}
.cbs-home__hero-dot, .cbs-home__hero-dot-btn {
  width: 36px; height: 3px; padding: 0; border: 0; border-radius: 0;
  background: rgba(255,255,255,.25); cursor: pointer;
  transition: background .25s var(--cbs-ease), width .25s var(--cbs-ease);
}
.cbs-home__hero-dot.is-active, .cbs-home__hero-dot-btn.is-active {
  background: var(--cbs-ink-0); width: 56px;
}

/* Counter */
.cbs-home__hero-counter {
  position: absolute; right: var(--cbs-gutter); bottom: 40px;
  display: inline-flex; align-items: baseline; gap: 6px;
  font-family: var(--cbs-font-mono); font-size: 12px;
  color: var(--cbs-ink-1); letter-spacing: .14em;
  z-index: 5;
}
.cbs-home__hero-counter-cur { color: var(--cbs-ink-0); font-size: 14px; font-weight: 600; }
.cbs-home__hero-counter-sep, .cbs-home__hero-counter-tot { color: var(--cbs-ink-2); }

@media (max-width: 760px){
  .cbs-home__hero-cta { bottom: 88px; }
  .cbs-home__hero-shop { padding: 14px 20px; font-size: 11px; letter-spacing: .18em; }
  .cbs-home__hero-counter { display: none; }
}

/* =========================================================
   TICKER
========================================================= */
.cbs-home__ticker {
  background: var(--cbs-bg-1); border-top: 1px solid var(--cbs-line); border-bottom: 1px solid var(--cbs-line);
  overflow: hidden; padding: 18px 0;
}
.cbs-home__ticker-track {
  display: inline-flex; gap: 56px;
  white-space: nowrap;
  font-family: var(--cbs-font-display); font-size: clamp(20px, 2.4vw, 36px);
  letter-spacing: .04em; text-transform: uppercase; color: var(--cbs-ink-0);
  animation: cbsTickerScroll 40s linear infinite;
}
.cbs-home__ticker-track > * { color: var(--cbs-ink-0); }
@keyframes cbsTickerScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* =========================================================
   TRUST manifesto - content (V6 handles stack positioning)
========================================================= */
.cbs-home__trust .cbs-container { max-width: 1100px; }
.cbs-trust__row {
  display: grid; grid-template-columns: 80px 1fr 200px;
  gap: 32px; align-items: start;
}
@media (max-width: 760px){
  .cbs-trust__row { grid-template-columns: 56px 1fr; }
  .cbs-trust__sig { grid-column: 1 / -1; }
}
.cbs-trust__n {
  font-family: var(--cbs-font-mono);
  font-size: clamp(28px, 4vw, 52px); font-weight: 700;
  color: var(--cbs-edge); line-height: 1;
}
.cbs-trust__claim {
  font-family: var(--cbs-font-display);
  font-size: clamp(28px, 5vw, 72px);
  line-height: .96; letter-spacing: .005em;
  text-transform: uppercase; color: var(--cbs-ink-0);
  margin: 0;
}
.cbs-trust__title {
  font-family: var(--cbs-font-display);
  font-size: clamp(28px, 5vw, 72px) !important;
  line-height: .96; letter-spacing: .005em;
  text-transform: uppercase; color: var(--cbs-ink-0);
  margin: 0;
}
.cbs-trust__title-em { color: var(--cbs-edge); }
.cbs-trust__sub, .cbs-trust__copy {
  font-family: var(--cbs-font-body); font-size: 14px;
  color: var(--cbs-ink-1); line-height: 1.5;
  max-width: 60ch; margin: 12px 0 0;
}
.cbs-trust__sig {
  font-family: var(--cbs-font-mono); font-size: 11px;
  letter-spacing: .22em; text-transform: uppercase; color: var(--cbs-ink-2);
  align-self: end; text-align: right;
}
.cbs-trust__list { list-style: none; }

/* =========================================================
   STACK UP section
========================================================= */
.cbs-home__stack { padding: 120px 0; }
.cbs-home__stack-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
}
@media (max-width: 1023px){ .cbs-home__stack-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px){ .cbs-home__stack-grid { grid-template-columns: 1fr; } }
.cbs-stack-tile {
  position: relative; background: var(--cbs-bg-1);
  border: 1px solid var(--cbs-line);
  padding: 24px; display: flex; flex-direction: column; gap: 12px;
  text-decoration: none; color: inherit;
  transition: border-color .2s var(--cbs-ease), transform .2s var(--cbs-ease);
}
.cbs-stack-tile:hover { border-color: var(--cbs-edge); transform: translateY(-4px); }
.cbs-stack-tile__top {
  display: flex; align-items: center; justify-content: space-between;
  font-family: var(--cbs-font-mono); font-size: 11px; letter-spacing: .18em;
  text-transform: uppercase; color: var(--cbs-ink-2);
}
.cbs-stack-tile__count { color: var(--cbs-edge); }
.cbs-stack-tile__tag {
  font-family: var(--cbs-font-mono); font-size: 10px; letter-spacing: .2em;
  color: var(--cbs-edge); text-transform: uppercase;
}
.cbs-stack-tile__th, .cbs-stack-tile__name {
  font-family: var(--cbs-font-display); font-size: clamp(24px, 3vw, 36px);
  text-transform: uppercase; line-height: 1; margin: 0;
  color: var(--cbs-ink-0);
}
.cbs-stack-tile__art {
  aspect-ratio: 16/10; background: var(--cbs-bg-2); margin: 8px 0;
  border: 1px solid var(--cbs-line);
}
.cbs-stack-tile__art img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cbs-stack-tile__pitch { color: var(--cbs-ink-1); font-size: 14px; line-height: 1.5; margin: 0; }
.cbs-stack-tile__cta {
  margin-top: auto; padding-top: 12px;
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--cbs-edge); font-weight: 700; font-size: 12px;
  letter-spacing: .18em; text-transform: uppercase;
}

/* =========================================================
   BRANDS rail
========================================================= */
.cbs-home__brands { padding: 100px 0; border-top: 1px solid var(--cbs-line); }
.cbs-home__brand-rail {
  display: grid; grid-template-columns: repeat(6, 1fr); gap: 1px;
  background: var(--cbs-line); border: 1px solid var(--cbs-line);
}
@media (max-width: 760px){ .cbs-home__brand-rail { grid-template-columns: repeat(3, 1fr); } }
.cbs-brand-chip, a.cbs-brand-chip {
  display: flex; align-items: center; justify-content: center;
  aspect-ratio: 4/3; background: var(--cbs-bg-1);
  text-decoration: none; padding: 24px;
  filter: grayscale(1) brightness(.7);
  transition: filter .25s var(--cbs-ease), background .25s var(--cbs-ease);
}
.cbs-brand-chip:hover { filter: grayscale(0) brightness(1); background: var(--cbs-bg-2); }
.cbs-brand-chip img { max-width: 100%; max-height: 60%; object-fit: contain; display: block; }

/* =========================================================
   BESTSELLERS (uses .cbs-card from CARD-V2 + grid here)
========================================================= */
.cbs-home__best { padding: 100px 0; border-top: 1px solid var(--cbs-line); }
.cbs-home__best ul.products,
.cbs-home__best .products,
.cbs-card-grid {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
}
@media (max-width: 1023px){ .cbs-home__best ul.products, .cbs-home__best .products, .cbs-card-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px){ .cbs-home__best ul.products, .cbs-home__best .products, .cbs-card-grid { grid-template-columns: 1fr; } }
.cbs-card-li { list-style: none; }

/* =========================================================
   APPARELS
========================================================= */
.cbs-home__apparels { padding: 100px 0; border-top: 1px solid var(--cbs-line); }
.cbs-home__apparels-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
}
@media (max-width: 1023px){ .cbs-home__apparels-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px){ .cbs-home__apparels-grid { grid-template-columns: 1fr; } }
.cbs-apparel-tile, a.cbs-apparel-tile {
  position: relative; display: block; overflow: hidden;
  aspect-ratio: 4/5; background: var(--cbs-bg-1);
  border: 1px solid var(--cbs-line); text-decoration: none; color: inherit;
}
.cbs-apparel-tile__art { position: absolute; inset: 0; }
.cbs-apparel-tile__art img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .8s var(--cbs-ease);
}
.cbs-apparel-tile:hover .cbs-apparel-tile__art img { transform: scale(1.06); }
.cbs-apparel-tile__copy {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 24px;
  background: linear-gradient(0deg, rgba(0,0,0,.85), rgba(0,0,0,0));
  display: flex; align-items: end; justify-content: space-between; gap: 16px;
}
.cbs-apparel-tile__name {
  font-family: var(--cbs-font-display); font-size: clamp(24px, 2.6vw, 36px);
  text-transform: uppercase; line-height: 1; margin: 0;
}
.cbs-apparel-tile__count, .cbs-apparel-tile__tag {
  font-family: var(--cbs-font-mono); font-size: 11px; letter-spacing: .18em;
  text-transform: uppercase; color: var(--cbs-ink-2);
}
.cbs-apparel-tile__cta {
  color: var(--cbs-edge); font-weight: 700; font-size: 11px;
  letter-spacing: .2em; text-transform: uppercase;
}

/* =========================================================
   AMBASSADOR
========================================================= */
.cbs-home__amb { padding: 120px 0; border-top: 1px solid var(--cbs-line); }
.cbs-home__amb-card {
  display: grid; grid-template-columns: 1.1fr 1fr; gap: 0;
  border: 1px solid var(--cbs-line); overflow: hidden;
}
@media (max-width: 900px){ .cbs-home__amb-card { grid-template-columns: 1fr; } }
.cbs-home__amb-art { position: relative; aspect-ratio: 4/5; }
.cbs-home__amb-art img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cbs-home__amb-copy { padding: 56px; background: var(--cbs-bg-1); display: flex; flex-direction: column; justify-content: center; }
.cbs-home__amb-h {
  font-family: var(--cbs-font-display); font-size: clamp(36px, 5vw, 72px);
  text-transform: uppercase; line-height: .96; margin: 0 0 20px;
}
.cbs-home__amb-p { color: var(--cbs-ink-1); font-size: 16px; line-height: 1.55; margin: 0 0 24px; max-width: 50ch; }
.cbs-home__amb-bullets { list-style: none; padding: 0; margin: 0 0 32px; display: grid; gap: 10px; }
.cbs-home__amb-bullets li {
  padding-left: 20px; position: relative; color: var(--cbs-ink-1); font-size: 14px;
}
.cbs-home__amb-bullets li::before {
  content: ""; position: absolute; left: 0; top: 9px; width: 12px; height: 1px; background: var(--cbs-edge);
}
.cbs-home__amb-cta { align-self: flex-start; }

/* =========================================================
   ATHLETES
========================================================= */
.cbs-home__ath { padding: 100px 0; border-top: 1px solid var(--cbs-line); }
.cbs-home__ath-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px;
}
@media (max-width: 1023px){ .cbs-home__ath-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px){ .cbs-home__ath-grid { grid-template-columns: 1fr; } }
.cbs-athlete {
  position: relative; overflow: hidden; aspect-ratio: 4/5;
  border: 1px solid var(--cbs-line); background: var(--cbs-bg-1);
}
.cbs-athlete__art { position: absolute; inset: 0; }
.cbs-athlete__art img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--cbs-ease); }
.cbs-athlete:hover .cbs-athlete__art img { transform: scale(1.06); }
.cbs-athlete__meta {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 20px;
  background: linear-gradient(0deg, rgba(0,0,0,.85), rgba(0,0,0,0));
}
.cbs-athlete__name { font-family: var(--cbs-font-display); font-size: clamp(20px, 2.2vw, 28px); margin: 0; text-transform: uppercase; line-height: 1; }
.cbs-athlete__role { font-family: var(--cbs-font-mono); font-size: 11px; letter-spacing: .18em; color: var(--cbs-ink-2); text-transform: uppercase; margin-top: 4px; }
.cbs-athlete__ig {
  position: absolute; top: 12px; right: 12px;
  width: 32px; height: 32px; border-radius: 50%;
  background: rgba(0,0,0,.6); color: #fff; display: inline-flex;
  align-items: center; justify-content: center; text-decoration: none;
  border: 1px solid rgba(255,255,255,.2);
}

/* =========================================================
   BLOG
========================================================= */
.cbs-home__blog { padding: 100px 0; border-top: 1px solid var(--cbs-line); }
.cbs-home__blog-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
@media (max-width: 900px){ .cbs-home__blog-grid { grid-template-columns: 1fr; } }
.cbs-blog-card {
  display: block; text-decoration: none; color: inherit;
  background: var(--cbs-bg-1); border: 1px solid var(--cbs-line);
  transition: border-color .2s var(--cbs-ease), transform .2s var(--cbs-ease);
}
.cbs-blog-card:hover { border-color: var(--cbs-edge); transform: translateY(-3px); }
.cbs-blog-card__art { aspect-ratio: 16/10; overflow: hidden; }
.cbs-blog-card__art img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--cbs-ease); }
.cbs-blog-card:hover .cbs-blog-card__art img { transform: scale(1.05); }
.cbs-blog-card__date { font-family: var(--cbs-font-mono); font-size: 11px; letter-spacing: .18em; color: var(--cbs-ink-2); text-transform: uppercase; padding: 20px 20px 0; display: block; }
.cbs-blog-card__h { font-family: var(--cbs-font-display); font-size: clamp(22px, 2.2vw, 28px); text-transform: uppercase; line-height: 1.05; margin: 8px 0 12px; padding: 0 20px; }
.cbs-blog-card__excerpt { color: var(--cbs-ink-1); font-size: 14px; line-height: 1.5; margin: 0 0 16px; padding: 0 20px; }
.cbs-blog-card__more { padding: 0 20px 20px; display: inline-block; color: var(--cbs-edge); font-weight: 700; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; }

/* =========================================================
   CARD interactions (V3) - hover rotate/scale/pill slide
   Builds on top of .cbs-card from PRODUCT-CARD-V2
========================================================= */
.cbs-card { position: relative; }
.cbs-card__media, .cbs-card__frame { position: relative; overflow: hidden; }
.cbs-card__img, .cbs-card__media img {
  transition: transform .6s var(--cbs-ease);
}
.cbs-card:hover .cbs-card__img,
.cbs-card[data-cbs-hover="1"] .cbs-card__img {
  transform: scale(1.06) rotate(-2deg) translateX(6px);
}
.cbs-card__pills {
  position: absolute; left: 0; top: 16px; z-index: 3;
  display: flex; flex-direction: column; gap: 6px;
  transform: translateX(-110%); transition: transform .35s var(--cbs-ease);
  pointer-events: none;
}
.cbs-card:hover .cbs-card__pills,
.cbs-card[data-cbs-hover="1"] .cbs-card__pills {
  transform: translateX(0);
}
.cbs-card__pill {
  background: var(--cbs-ink-0); color: #000; padding: 6px 10px;
  font: 700 10px/1 var(--cbs-font-mono); letter-spacing: .14em;
  text-transform: uppercase; border-radius: 0;
}
.cbs-card__info {
  position: absolute; top: 12px; right: 12px; z-index: 4;
  width: 32px; height: 32px; border: 1px solid var(--cbs-line-2);
  background: rgba(0,0,0,.5); color: var(--cbs-ink-0);
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer; font-size: 14px;
}
.cbs-card__wish {
  position: absolute; top: 12px; right: 52px; z-index: 4;
  width: 32px; height: 32px; border: 1px solid var(--cbs-line-2);
  background: rgba(0,0,0,.5); color: var(--cbs-ink-0);
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer; font-size: 14px;
}

/* ============== CBS-REBUILD-V1-HERO-PATCH ============== */
/* CBS-REBUILD-V1-HERO-PATCH - fix picture/img + shop CTA per-slide */
.cbs-home__hero-pic { display: block; position: absolute; inset: 0; width: 100%; height: 100%; }
.cbs-home__hero-pic img,
picture.cbs-home__hero-pic > img {
  display: block; width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  transform: scale(1.06); transition: transform 8s linear;
}
.cbs-home__hero-slide.is-active .cbs-home__hero-pic img { transform: scale(1.16); }

/* Shop CTA — one per slide, absolute bottom-center; only active slide visible */
.cbs-home__hero-shop, a.cbs-home__hero-shop {
  position: absolute; left: 50%; bottom: 96px; transform: translateX(-50%);
  z-index: 5;
}
.cbs-home__hero-slide:not(.is-active) .cbs-home__hero-shop { opacity: 0; pointer-events: none; }
.cbs-home__hero-slide.is-active .cbs-home__hero-shop { opacity: 1; pointer-events: auto; }

/* Dot buttons: hide any inner numeric text */
.cbs-home__hero-dot-btn { font-size: 0 !important; color: transparent !important; line-height: 0 !important; padding: 0 !important; }
.cbs-home__hero-dot-btn > * { display: none !important; }
.cbs-home__hero-dot { display: none; } /* the legacy span if it exists separately */
/* If dots ARE direct spans rather than buttons, show those instead */
.cbs-home__hero-dots .cbs-home__hero-dot:only-child { display: inline-block; }
.cbs-home__hero-dots span.cbs-home__hero-dot {
  display: inline-block;
  width: 36px; height: 3px; background: rgba(255,255,255,.25);
  cursor: pointer; transition: background .25s var(--cbs-ease), width .25s var(--cbs-ease);
}
.cbs-home__hero-dots span.cbs-home__hero-dot.is-active {
  background: #fff; width: 56px;
}

/* CTA secondary buttons inside hero: hide if has no real text */
.cbs-home__hero-cta { display: none; } /* the empty-href dual-button row */

@media (max-width: 760px){
  .cbs-home__hero-shop { bottom: 88px; padding: 14px 20px; font-size: 11px; }
}

/* ============== CBS-REBUILD-V1-DOTS-FIX ============== */
/* CBS-REBUILD-V1-DOTS-FIX - ol/li reset on hero dots */
ol.cbs-home__hero-dots {
  list-style: none !important;
  padding: 0 !important; margin: 0 !important;
  display: inline-flex !important; align-items: center; gap: 10px;
}
ol.cbs-home__hero-dots li {
  list-style: none !important;
  padding: 0 !important; margin: 0 !important;
  display: inline-flex !important;
  width: auto !important;
}
ol.cbs-home__hero-dots li::marker { content: "" !important; display: none !important; }
.cbs-home__hero-dot-btn {
  display: inline-block !important;
  width: 36px; height: 3px; padding: 0 !important;
  border: 0 !important; border-radius: 0 !important;
  background: rgba(255,255,255,.35) !important;
  cursor: pointer; font-size: 0 !important; line-height: 0 !important; color: transparent !important;
  transition: background .25s var(--cbs-ease), width .25s var(--cbs-ease);
}
.cbs-home__hero-dot-btn.is-active { background: #fff !important; width: 56px; }
.cbs-home__hero-dot-btn:hover { background: rgba(255,255,255,.6) !important; }

/* ============== CBS-HERO-FIXES-20260513 ============== */
/* Shop CTA — white background, dark text */
.cbs-home__hero-shop,
a.cbs-home__hero-shop {
  background: #fff !important;
  color: #000 !important;
  border: 1px solid #fff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
  padding: 14px 26px !important;
}
.cbs-home__hero-shop i,
a.cbs-home__hero-shop i {
  color: #000 !important;
}
.cbs-home__hero-shop:hover,
a.cbs-home__hero-shop:hover {
  background: var(--cbs-edge, #6cbde0) !important;
  color: #000 !important;
  border-color: var(--cbs-edge, #6cbde0) !important;
  transform: translateY(-2px);
}

/* Ticker — subtle: white bg, dark mono, small, thin */
.cbs-home__ticker {
  background: #ffffff !important;
  color: #0a0a0a !important;
  padding: 7px 0 !important;
  border-top: 1px solid var(--cbs-line, #262d37) !important;
  border-bottom: 1px solid var(--cbs-line, #262d37) !important;
  overflow: hidden;
}
.cbs-home__ticker-track {
  font-family: var(--cbs-font-mono, "JetBrains Mono", ui-monospace, monospace) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: #0a0a0a !important;
  animation: cbsTickerScroll 80s linear infinite !important;
  gap: 48px !important;
}
.cbs-home__ticker-track > * {
  font-family: var(--cbs-font-mono, "JetBrains Mono", ui-monospace, monospace) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: #0a0a0a !important;
}
.cbs-home__ticker-track > *:nth-child(2n) {
  opacity: .35;
}
/* End CBS-HERO-FIXES-20260513 */

/* === BEGIN CBS-HERO-FRAME-KILL === */
.cbs-home__hero::before,
.cbs-home__hero::after,
.cbs-home__hero-inner::before,
.cbs-home__hero-inner::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  background: transparent !important;
}
/* === END CBS-HERO-FRAME-KILL === */

/* === BEGIN CBS-HERO-CTA-ANIM === */
/* Shop button — fade in + slide up from below when slide becomes active.
   We must preserve the translateX(-50%) center transform on the button. */
.cbs-home__hero-shop,
a.cbs-home__hero-shop {
  transition:
    opacity 600ms cubic-bezier(.2,.7,.2,1) 220ms,
    transform 700ms cubic-bezier(.2,.7,.2,1) 220ms !important;
  will-change: opacity, transform;
}
.cbs-home__hero-slide:not(.is-active) .cbs-home__hero-shop,
.cbs-home__hero-slide:not(.is-active) a.cbs-home__hero-shop {
  opacity: 0 !important;
  transform: translateX(-50%) translateY(28px) !important;
  pointer-events: none;
}
.cbs-home__hero-slide.is-active .cbs-home__hero-shop,
.cbs-home__hero-slide.is-active a.cbs-home__hero-shop {
  opacity: 1 !important;
  transform: translateX(-50%) translateY(0) !important;
  pointer-events: auto;
}
@media (prefers-reduced-motion: reduce) {
  .cbs-home__hero-shop,
  a.cbs-home__hero-shop {
    transition: opacity 240ms linear !important;
  }
  .cbs-home__hero-slide:not(.is-active) .cbs-home__hero-shop {
    transform: translateX(-50%) !important;
  }
}
/* === END CBS-HERO-CTA-ANIM === */

/* === BEGIN CBS-HERO-KENBURNS === */
@keyframes cbsHeroKenBurns {
  from { transform: scale(1.05); }
  to   { transform: scale(1.18); }
}

/* Reset all prior transform/transition rules on the pic + img so our animation has a clean canvas.
   We override at HIGH specificity so the older CBS-HOME-V3-HERO rules can't fight us. */
.cbs-home__hero .cbs-home__hero-pic,
.cbs-home__hero picture.cbs-home__hero-pic {
  transform: none !important;
  transition: none !important;
  animation: none !important;
}
.cbs-home__hero .cbs-home__hero-pic img,
.cbs-home__hero picture.cbs-home__hero-pic > img {
  transform: scale(1.05);
  transition: none !important;
  animation: none !important;
  will-change: transform;
}

/* Active slide: run Ken Burns on the IMG. Higher-specificity selector + !important. */
.cbs-home__hero .cbs-home__hero-slide.is-active .cbs-home__hero-pic img,
.cbs-home__hero .cbs-home__hero-slide.is-active picture.cbs-home__hero-pic > img {
  animation: cbsHeroKenBurns 8s linear forwards !important;
}

@media (prefers-reduced-motion: reduce) {
  .cbs-home__hero .cbs-home__hero-slide.is-active .cbs-home__hero-pic img,
  .cbs-home__hero .cbs-home__hero-slide.is-active picture.cbs-home__hero-pic > img {
    animation: none !important;
    transform: scale(1.05) !important;
  }
}
/* === END CBS-HERO-KENBURNS === */

/* === BEGIN CBS-TRUST-V13-CREDENTIALS === */
/* WHY CBS — "Credentials Wall" v13.1
   Cleaner credential cards: phosphor icon dominant, single-line claim,
   proof body, status sig with colored dot. No CRED spec row, no metadata footer.
   Fixed-width SIG column so all cards align identically. */

/* SECTION */
.cbs-home__trust {
  position: relative;
  background: var(--cbs-bg-0, #000);
  padding: 88px 0 100px !important;
  overflow: visible !important;
}
.cbs-home__trust::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    radial-gradient(1200px circle at 20% 0%, rgba(108,189,224,.06), transparent 50%),
    radial-gradient(1000px circle at 100% 100%, rgba(108,189,224,.04), transparent 50%);
  z-index: 0;
}
.cbs-home__trust .cbs-container {
  position: relative;
  z-index: 1;
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 56px;
  max-width: 1200px;
  padding-bottom: 0 !important;
}

/* INTRO */
.cbs-home__trust .cbs-trust__intro {
  position: static !important;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 380px);
  align-items: end;
  gap: 64px;
  max-width: 100%;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--cbs-line, #262d37);
}
.cbs-home__trust .cbs-eyebrow {
  position: static !important;
  background: transparent !important;
  grid-column: 1;
  grid-row: 1;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-family: var(--cbs-font-mono, "JetBrains Mono", ui-monospace, monospace) !important;
  font-size: 11px !important;
  letter-spacing: .3em !important;
  text-transform: uppercase;
  color: var(--cbs-fg-3, rgba(255,255,255,.55)) !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
}
.cbs-home__trust .cbs-eyebrow::before {
  content: "";
  width: 40px;
  height: 1px;
  background: linear-gradient(90deg, var(--cbs-edge, #6cbde0), transparent);
}
.cbs-home__trust .cbs-trust__title {
  position: static !important;
  background: transparent !important;
  grid-column: 1;
  grid-row: 2;
  font-family: var(--cbs-font-display, "Anton", sans-serif) !important;
  font-size: clamp(52px, 7.2vw, 108px) !important;
  font-weight: 400 !important;
  line-height: .88 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase;
  color: var(--cbs-fg-1, #fff) !important;
  margin: 0 !important;
  max-width: none;
}
.cbs-home__trust .cbs-trust__title-em {
  color: var(--cbs-edge, #6cbde0);
}
.cbs-home__trust .cbs-trust__title-em::before,
.cbs-home__trust .cbs-trust__title-em::after {
  content: none !important;
  display: none !important;
}
.cbs-home__trust .cbs-trust__manifesto {
  position: static !important;
  grid-column: 2;
  grid-row: 2;
  align-self: end;
  font-family: var(--cbs-font-body, "Inter", sans-serif) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: var(--cbs-fg-3, rgba(255,255,255,.62)) !important;
  margin: 0 !important;
  max-width: 36ch;
  text-align: left;
  padding-left: 28px;
  border-left: 1px solid var(--cbs-line, #262d37);
}
.cbs-home__trust .cbs-trust__manifesto strong {
  color: var(--cbs-fg-1, #fff);
  font-weight: 600;
}

/* GRID */
.cbs-home__trust .cbs-trust__list {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.cbs-home__trust .cbs-trust__list::before,
.cbs-home__trust .cbs-trust__list::after { content: none !important; display: none !important; }

/* CREDENTIAL CARD — fixed grid: icon | content | sig */
.cbs-home__trust .cbs-trust__list > .cbs-trust__row {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto auto;
  column-gap: 20px;
  row-gap: 22px;
  align-items: start;
  min-height: 220px;
  padding: 28px 28px 26px !important;
  margin: 0 !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.025), transparent 55%),
    var(--cbs-bg-1, #0e1116) !important;
  border: 1px solid var(--cbs-line, #262d37) !important;
  border-top: 1px solid var(--cbs-line, #262d37) !important;
  border-radius: 10px !important;
  isolation: isolate;
  overflow: hidden;
  top: auto !important;
  z-index: auto !important;
  transform: none;
  box-shadow: none;
  transition: border-color .3s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)),
              transform .3s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)),
              box-shadow .3s var(--cbs-ease, cubic-bezier(.2,.7,.2,1));
}
.cbs-home__trust .cbs-trust__list > .cbs-trust__row:hover {
  border-color: var(--cbs-edge, #6cbde0) !important;
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(0,0,0,.4), 0 0 0 1px var(--cbs-edge-soft, rgba(108,189,224,.3));
}

/* Faint scan-line texture */
.cbs-home__trust .cbs-trust__list > .cbs-trust__row::before {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
  background-image: repeating-linear-gradient(
    0deg,
    transparent 0 4px,
    rgba(255,255,255,.012) 4px 5px
  );
  pointer-events: none;
  z-index: 0;
  width: auto;
  height: auto;
  transition: none;
}
.cbs-home__trust .cbs-trust__list > .cbs-trust__row:hover::before {
  width: auto;
}

/* Color rail at top */
.cbs-home__trust .cbs-trust__list > .cbs-trust__row::after {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  z-index: 2;
}
.cbs-home__trust .cbs-trust__list > .cbs-trust__row:nth-child(1)::after { background: linear-gradient(90deg, var(--cbs-ok, #34c759), transparent); }
.cbs-home__trust .cbs-trust__list > .cbs-trust__row:nth-child(2)::after { background: linear-gradient(90deg, var(--cbs-warn, #ffb13c), transparent); }
.cbs-home__trust .cbs-trust__list > .cbs-trust__row:nth-child(3)::after { background: linear-gradient(90deg, var(--cbs-edge, #6cbde0), transparent); }
.cbs-home__trust .cbs-trust__list > .cbs-trust__row:nth-child(4)::after { background: linear-gradient(90deg, var(--cbs-fg-1, #fff), transparent); }

/* PHOSPHOR ICON — top-left, big, color-coded */
.cbs-home__trust .cbs-trust__icon {
  grid-column: 1;
  grid-row: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 8px;
  font-size: 30px !important;
  background: var(--cbs-bg-2, #161b22);
  border: 1px solid var(--cbs-line, #262d37);
  margin: 0 !important;
  position: relative;
  z-index: 1;
  transition: transform .35s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)), color .25s var(--cbs-ease);
}
.cbs-home__trust .cbs-trust__list > .cbs-trust__row:hover .cbs-trust__icon {
  transform: rotate(-4deg) scale(1.06);
}
.cbs-home__trust .cbs-trust__list > .cbs-trust__row:nth-child(1) .cbs-trust__icon {
  color: var(--cbs-ok, #34c759);
  background:
    radial-gradient(circle at center, rgba(52,199,89,.18), transparent 70%),
    var(--cbs-bg-2, #161b22);
  border-color: rgba(52,199,89,.32);
}
.cbs-home__trust .cbs-trust__list > .cbs-trust__row:nth-child(2) .cbs-trust__icon {
  color: var(--cbs-warn, #ffb13c);
  background:
    radial-gradient(circle at center, rgba(255,177,60,.18), transparent 70%),
    var(--cbs-bg-2, #161b22);
  border-color: rgba(255,177,60,.32);
}
.cbs-home__trust .cbs-trust__list > .cbs-trust__row:nth-child(3) .cbs-trust__icon {
  color: var(--cbs-edge, #6cbde0);
  background:
    radial-gradient(circle at center, rgba(108,189,224,.18), transparent 70%),
    var(--cbs-bg-2, #161b22);
  border-color: rgba(108,189,224,.36);
}
.cbs-home__trust .cbs-trust__list > .cbs-trust__row:nth-child(4) .cbs-trust__icon {
  color: var(--cbs-fg-1, #fff);
  background:
    radial-gradient(circle at center, rgba(255,255,255,.12), transparent 70%),
    var(--cbs-bg-2, #161b22);
  border-color: rgba(255,255,255,.2);
}

/* HIDE the 01/02/03/04 spec — user said "remove the cred shit above" */
.cbs-home__trust .cbs-trust__list > .cbs-trust__row > .cbs-trust__n {
  display: none !important;
}
.cbs-home__trust .cbs-trust__list > .cbs-trust__row > .cbs-trust__n::before,
.cbs-home__trust .cbs-trust__list > .cbs-trust__row > .cbs-trust__n::after {
  content: none !important;
  display: none !important;
}

/* SIG pill — top-right, FIXED width column, glowing dot */
.cbs-home__trust .cbs-trust__list > .cbs-trust__row > .cbs-trust__sig {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  align-self: center;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 10px 5px 9px;
  border-radius: 999px;
  font-family: var(--cbs-font-mono, monospace) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .26em !important;
  text-transform: uppercase;
  white-space: nowrap;
  background: var(--cbs-bg-2, #161b22) !important;
  border: 1px solid var(--cbs-line-strong, #3a4250) !important;
  text-align: left !important;
  margin: 0 !important;
  position: relative;
  z-index: 1;
}
.cbs-home__trust .cbs-trust__list > .cbs-trust__row > .cbs-trust__sig::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.cbs-home__trust .cbs-trust__list > .cbs-trust__row:nth-child(1) > .cbs-trust__sig::before { background: var(--cbs-ok, #34c759); box-shadow: 0 0 8px var(--cbs-ok, #34c759); }
.cbs-home__trust .cbs-trust__list > .cbs-trust__row:nth-child(2) > .cbs-trust__sig::before { background: var(--cbs-warn, #ffb13c); box-shadow: 0 0 8px var(--cbs-warn, #ffb13c); }
.cbs-home__trust .cbs-trust__list > .cbs-trust__row:nth-child(3) > .cbs-trust__sig::before { background: var(--cbs-edge, #6cbde0); box-shadow: 0 0 8px var(--cbs-edge, #6cbde0); }
.cbs-home__trust .cbs-trust__list > .cbs-trust__row:nth-child(4) > .cbs-trust__sig::before { background: #fff; box-shadow: 0 0 8px rgba(255,255,255,.6); }
.cbs-home__trust .cbs-trust__list > .cbs-trust__row:nth-child(1) > .cbs-trust__sig { color: var(--cbs-ok, #34c759) !important; }
.cbs-home__trust .cbs-trust__list > .cbs-trust__row:nth-child(2) > .cbs-trust__sig { color: var(--cbs-warn, #ffb13c) !important; }
.cbs-home__trust .cbs-trust__list > .cbs-trust__row:nth-child(3) > .cbs-trust__sig { color: var(--cbs-edge, #6cbde0) !important; }
.cbs-home__trust .cbs-trust__list > .cbs-trust__row:nth-child(4) > .cbs-trust__sig { color: var(--cbs-fg-1, #fff) !important; }

/* COPY block — actual wrapper class in HTML is .cbs-trust__copy */
.cbs-home__trust .cbs-trust__list > .cbs-trust__row > .cbs-trust__copy {
  grid-column: 1 / -1;
  grid-row: 2;
  align-self: start;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  font-family: var(--cbs-font-body, "Inter", sans-serif);
  position: relative;
  z-index: 1;
}
.cbs-home__trust .cbs-trust__list > .cbs-trust__row .cbs-trust__claim {
  font-family: var(--cbs-font-display, "Anton", sans-serif) !important;
  font-size: clamp(22px, 1.9vw, 28px) !important;
  font-weight: 400 !important;
  line-height: 1.04 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase;
  color: var(--cbs-fg-1, #fff) !important;
  margin: 0 !important;
  max-width: 20ch;
}
.cbs-home__trust .cbs-trust__list > .cbs-trust__row .cbs-trust__sub {
  font-family: var(--cbs-font-body, "Inter", sans-serif) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  letter-spacing: .005em !important;
  text-transform: none !important;
  color: var(--cbs-fg-3, rgba(255,255,255,.6)) !important;
  margin: 0 !important;
  max-width: 44ch;
}

/* Reveal animation */
@keyframes cbsTrustRiseIn {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}
.cbs-home__trust .cbs-trust__list > .cbs-trust__row {
  animation: cbsTrustRiseIn .5s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)) both;
}
.cbs-home__trust .cbs-trust__list > .cbs-trust__row:nth-child(1) { animation-delay: 60ms; }
.cbs-home__trust .cbs-trust__list > .cbs-trust__row:nth-child(2) { animation-delay: 140ms; }
.cbs-home__trust .cbs-trust__list > .cbs-trust__row:nth-child(3) { animation-delay: 220ms; }
.cbs-home__trust .cbs-trust__list > .cbs-trust__row:nth-child(4) { animation-delay: 300ms; }

/* MOBILE */
@media (max-width: 960px) {
  .cbs-home__trust { padding: 64px 0 76px !important; }
  .cbs-home__trust .cbs-container { gap: 40px; }
  .cbs-home__trust .cbs-trust__intro {
    grid-template-columns: 1fr;
    gap: 24px;
    padding-bottom: 24px;
  }
  .cbs-home__trust .cbs-trust__title { font-size: clamp(40px, 11vw, 72px) !important; }
  .cbs-home__trust .cbs-trust__manifesto {
    grid-column: 1;
    grid-row: 3;
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--cbs-line, #262d37);
    padding-top: 24px;
    max-width: none;
  }
  .cbs-home__trust .cbs-trust__list { grid-template-columns: 1fr; gap: 12px; }
  .cbs-home__trust .cbs-trust__list > .cbs-trust__row {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    column-gap: 16px;
    row-gap: 18px;
    min-height: 0;
    padding: 22px 20px !important;
  }
  .cbs-home__trust .cbs-trust__icon {
    width: 56px; height: 56px; font-size: 26px !important;
  }
  .cbs-home__trust .cbs-trust__list > .cbs-trust__row > .cbs-trust__copy {
    margin-top: 18px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cbs-home__trust .cbs-trust__list > .cbs-trust__row {
    animation: none;
    transform: none;
  }
}
/* === END CBS-TRUST-V13-CREDENTIALS === */

/* === BEGIN CBS-TRUST-V13-OVERRIDES === */
/* Beat legacy selectors with higher specificity */
body.page-template-home-page-template .cbs-home__trust .cbs-trust__title {
  font-family: var(--cbs-font-display, "Anton", sans-serif) !important;
  font-size: clamp(52px, 7.2vw, 108px) !important;
  font-weight: 400 !important;
  line-height: .88 !important;
  letter-spacing: .005em !important;
  margin: 0 !important;
  max-width: none !important;
  display: block !important;
  background: transparent !important;
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__title::before,
body.page-template-home-page-template .cbs-home__trust .cbs-trust__title::after {
  content: none !important;
  display: none !important;
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__claim {
  font-size: clamp(22px, 1.9vw, 28px) !important;
  margin: 0 !important;
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__sub {
  font-size: 13px !important;
  margin: 0 !important;
  max-width: 44ch !important;
}
@media (max-width: 760px) {
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__title {
    font-size: clamp(40px, 11vw, 72px) !important;
    margin: 0 !important;
  }
}

/* Authority credentials stack — right column of intro */
body.page-template-home-page-template .cbs-home__trust .cbs-trust__credstack {
  grid-column: 2 !important;
  grid-row: 1 / -1 !important;
  align-self: end !important;
  display: flex;
  flex-direction: column;
  gap: 24px;
  max-width: 380px;
  margin: 0 !important;
  padding: 0 !important;
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__rank {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 18px;
  padding: 20px 22px;
  margin: 0;
  background:
    linear-gradient(135deg, rgba(108,189,224,.08), transparent 60%),
    var(--cbs-bg-1, #0e1116);
  border: 1px solid var(--cbs-line-strong, #3a4250);
  border-radius: 4px;
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__rank::before,
body.page-template-home-page-template .cbs-home__trust .cbs-trust__rank::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__rank::before {
  top: -1px; left: -1px;
  border-top: 2px solid var(--cbs-edge, #6cbde0);
  border-left: 2px solid var(--cbs-edge, #6cbde0);
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__rank::after {
  bottom: -1px; right: -1px;
  border-bottom: 2px solid var(--cbs-edge, #6cbde0);
  border-right: 2px solid var(--cbs-edge, #6cbde0);
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__rank-num {
  font-family: var(--cbs-font-display, "Anton", sans-serif) !important;
  font-size: clamp(56px, 5.2vw, 78px) !important;
  font-weight: 400 !important;
  line-height: .82 !important;
  letter-spacing: -.02em !important;
  color: var(--cbs-edge, #6cbde0) !important;
  text-transform: uppercase;
  align-self: center;
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__rank-label {
  font-family: var(--cbs-font-mono, "JetBrains Mono", monospace) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .22em !important;
  line-height: 1.5 !important;
  text-transform: uppercase !important;
  color: var(--cbs-fg-2, rgba(255,255,255,.82)) !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__pledge {
  margin: 0 !important;
  padding: 4px 0 4px 20px !important;
  background: transparent !important;
  font-family: var(--cbs-font-display, "Anton", sans-serif) !important;
  font-size: clamp(24px, 2.4vw, 34px) !important;
  font-weight: 400 !important;
  line-height: .98 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  color: var(--cbs-fg-1, #fff) !important;
  max-width: 18ch !important;
  border-left: 3px solid var(--cbs-edge, #6cbde0);
  position: relative !important;
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__credstack .cbs-trust__manifesto {
  grid-column: auto !important;
  grid-row: auto !important;
  align-self: auto !important;
  font-family: var(--cbs-font-body, "Inter", sans-serif) !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
  color: var(--cbs-fg-3, rgba(255,255,255,.55)) !important;
  margin: 4px 0 0 !important;
  padding: 0 !important;
  max-width: 38ch !important;
  border-left: 0 !important;
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__intro {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 380px) !important;
  grid-template-rows: auto auto !important;
  align-items: end !important;
  gap: 56px !important;
}
body.page-template-home-page-template .cbs-home__trust .cbs-eyebrow {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__title {
  grid-column: 1 !important;
  grid-row: 2 !important;
}
@media (max-width: 760px) {
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__intro {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__credstack {
    grid-column: 1 !important;
    grid-row: 3 !important;
    max-width: none;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__rank-num {
    font-size: 56px !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__pledge {
    font-size: clamp(22px, 5.5vw, 30px) !important;
  }
}

/* === END CBS-TRUST-V13-OVERRIDES === */

/* === BEGIN CBS-TRUST-V14-INTEGRITY === */
/* Title: "Integrity Without / Compromise." in Title Case, smaller, clean */
body.page-template-home-page-template .cbs-home__trust .cbs-trust__title {
  font-family: var(--cbs-font-display, "Anton", sans-serif) !important;
  font-size: clamp(40px, 5.3vw, 80px) !important;
  font-weight: 400 !important;
  line-height: .94 !important;
  letter-spacing: .002em !important;
  text-transform: uppercase !important;
  color: var(--cbs-fg-1, #fff) !important;
  margin: 0 !important;
  max-width: none !important;
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__title-em {
  color: var(--cbs-edge, #6cbde0) !important;
  font-style: normal;
  font-weight: 400;
}

/* Rank badge — smaller, cleaner. No fill, hairline border, tight corner accents */
body.page-template-home-page-template .cbs-home__trust .cbs-trust__rank {
  position: relative;
  display: inline-grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  margin: 0;
  background: transparent;
  border: 1px solid var(--cbs-line-strong, #3a4250);
  border-radius: 3px;
  width: fit-content;
  max-width: 280px;
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__rank::before,
body.page-template-home-page-template .cbs-home__trust .cbs-trust__rank::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__rank::before {
  top: -1px; left: -1px;
  border-top: 1.5px solid var(--cbs-edge, #6cbde0);
  border-left: 1.5px solid var(--cbs-edge, #6cbde0);
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__rank::after {
  bottom: -1px; right: -1px;
  border-bottom: 1.5px solid var(--cbs-edge, #6cbde0);
  border-right: 1.5px solid var(--cbs-edge, #6cbde0);
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__rank-num {
  font-family: var(--cbs-font-display, "Anton", sans-serif) !important;
  font-size: 44px !important;
  font-weight: 400 !important;
  line-height: .85 !important;
  letter-spacing: -.02em !important;
  color: var(--cbs-edge, #6cbde0) !important;
  text-transform: none;
  align-self: center;
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__rank-label {
  font-family: var(--cbs-font-mono, "JetBrains Mono", monospace) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .2em !important;
  line-height: 1.45 !important;
  text-transform: uppercase !important;
  color: var(--cbs-fg-2, rgba(255,255,255,.82)) !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Credstack tightens */
body.page-template-home-page-template .cbs-home__trust .cbs-trust__credstack {
  gap: 22px !important;
  max-width: 320px !important;
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__credstack .cbs-trust__manifesto {
  font-size: 13px !important;
  line-height: 1.65 !important;
  color: var(--cbs-fg-3, rgba(255,255,255,.55)) !important;
  margin: 0 !important;
  max-width: 36ch !important;
}

@media (max-width: 760px) {
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__title {
    font-size: clamp(36px, 9vw, 60px) !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__rank-num {
    font-size: 36px !important;
  }
}
/* === END CBS-TRUST-V14-INTEGRITY === */

/* === BEGIN CBS-TRUST-V15-INLINE-RANK === */
/* Title flex-row layout: "Integrity [#1 badge]" on row 1, "Without Compromise" on row 2 */
body.page-template-home-page-template .cbs-home__trust .cbs-trust__title {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 4px;
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__title .cbs-trust__title-row1 {
  display: inline-flex;
  align-items: center;
  gap: 28px;
  flex-wrap: nowrap;
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__title .cbs-trust__title-row2 {
  display: block;
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__title .cbs-trust__rank-wrap {
  display: inline-flex;
  align-items: center;
  text-transform: none;
  font-family: var(--cbs-font-body);
}

/* Rank badge appears inside the title — reset h2-inherited transforms */
body.page-template-home-page-template .cbs-home__trust .cbs-trust__title .cbs-trust__rank {
  font-family: var(--cbs-font-body, "Inter", sans-serif) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  line-height: normal !important;
}

/* Intro grid stays 2 cols, manifesto sits col 2 row 2 align-self: end */
body.page-template-home-page-template .cbs-home__trust .cbs-trust__intro {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px) !important;
  grid-template-rows: auto auto !important;
  align-items: end !important;
  gap: 56px !important;
}
body.page-template-home-page-template .cbs-home__trust .cbs-eyebrow {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__title {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  max-width: none !important;
}
body.page-template-home-page-template .cbs-home__trust .cbs-trust__intro > .cbs-trust__manifesto {
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: end !important;
  font-family: var(--cbs-font-body, "Inter", sans-serif) !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  color: var(--cbs-fg-3, rgba(255,255,255,.55)) !important;
  margin: 0 !important;
  padding: 0 0 0 28px !important;
  max-width: 38ch !important;
  border-left: 1px solid var(--cbs-line, #262d37) !important;
  position: relative !important;
}

@media (max-width: 760px) {
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__title .cbs-trust__title-row1 {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__intro {
    grid-template-columns: 1fr !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__intro > .cbs-trust__manifesto {
    grid-column: 1 !important;
    grid-row: 3 !important;
    padding-left: 0 !important;
    border-left: 0 !important;
    border-top: 1px solid var(--cbs-line, #262d37) !important;
    padding-top: 20px !important;
  }
}
/* === END CBS-TRUST-V15-INLINE-RANK === */

/* === BEGIN CBS-STACK-V2 === */
.cbs-home__stack { padding: 88px 0 100px !important; background: var(--cbs-bg-0, #000) !important; position: relative; overflow: visible !important; }
.cbs-home__stack::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: radial-gradient(1200px circle at 80% 0%, rgba(108,189,224,.05), transparent 50%); z-index: 0; }
.cbs-home__stack > * { position: relative; z-index: 1; }
.cbs-home__stack .cbs-container { max-width: 1200px !important; }

body.page-template-home-page-template .cbs-home__stack .cbs-trust__intro {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  align-items: end;
  gap: 56px;
  padding-bottom: 0;
  border-bottom: 0;
  margin: 0 0 56px !important;
}
body.page-template-home-page-template .cbs-home__stack .cbs-eyebrow {
  grid-column: 1 !important; grid-row: 1 !important;
  margin: 0 0 22px !important;
}
body.page-template-home-page-template .cbs-home__stack .cbs-home__h {
  grid-column: 1 !important; grid-row: 2 !important;
  font-family: var(--cbs-font-display, "Anton") !important;
  font-size: clamp(40px, 5.4vw, 76px) !important;
  font-weight: 400 !important;
  line-height: .94 !important;
  letter-spacing: .002em !important;
  text-transform: uppercase !important;
  color: var(--cbs-fg-1, #fff) !important;
  margin: 0 !important;
  display: block !important;
}
body.page-template-home-page-template .cbs-home__stack .cbs-home__h .cbs-home__h-rest {
  color: var(--cbs-edge, #6cbde0) !important;
  display: block !important;
}
body.page-template-home-page-template .cbs-home__stack .cbs-home__sub {
  grid-column: 2 !important; grid-row: 2 !important;
  align-self: end;
  font-family: var(--cbs-font-body, "Inter") !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  color: var(--cbs-fg-3, rgba(255,255,255,.55)) !important;
  margin: 0 !important;
  padding: 0 0 0 28px !important;
  max-width: 36ch !important;
  border-left: 1px solid var(--cbs-line, #262d37) !important;
  text-align: left !important;
}

.cbs-home__stack-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
}

.cbs-stack-tile {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  padding: 22px !important;
  gap: 0 !important;
  background: linear-gradient(135deg, rgba(255,255,255,.025), transparent 55%), var(--cbs-bg-1, #0e1116) !important;
  border: 1px solid var(--cbs-line, #262d37) !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  color: inherit;
  isolation: isolate;
  overflow: hidden;
  transition: border-color .3s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)), transform .3s var(--cbs-ease), box-shadow .3s var(--cbs-ease) !important;
}
.cbs-stack-tile:hover {
  border-color: var(--cbs-edge, #6cbde0) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 18px 40px rgba(0,0,0,.4), 0 0 0 1px var(--cbs-edge-soft, rgba(108,189,224,.3)) !important;
}
.cbs-stack-tile::after {
  content: ""; position: absolute; top: 0; left: 0; right: 0;
  height: 2px; z-index: 2;
}
.cbs-home__stack-grid > .cbs-stack-tile:nth-child(1)::after { background: linear-gradient(90deg, var(--cbs-ok, #34c759), transparent); }
.cbs-home__stack-grid > .cbs-stack-tile:nth-child(2)::after { background: linear-gradient(90deg, var(--cbs-warn, #ffb13c), transparent); }
.cbs-home__stack-grid > .cbs-stack-tile:nth-child(3)::after { background: linear-gradient(90deg, var(--cbs-edge, #6cbde0), transparent); }
.cbs-home__stack-grid > .cbs-stack-tile:nth-child(4)::after { background: linear-gradient(90deg, #fff, transparent); }

.cbs-stack-tile__top {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 16px !important;
  font-family: var(--cbs-font-mono, monospace) !important;
  font-size: 10px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: var(--cbs-fg-4, rgba(255,255,255,.4)) !important;
  position: relative; z-index: 1;
}
.cbs-stack-tile__tag {
  color: var(--cbs-edge, #6cbde0) !important;
  font-weight: 700 !important;
}
.cbs-stack-tile__cta {
  color: var(--cbs-fg-2, rgba(255,255,255,.82)) !important;
  display: inline-flex !important; align-items: center; gap: 6px;
  font-weight: 700 !important;
}
.cbs-stack-tile:hover .cbs-stack-tile__cta { color: var(--cbs-edge, #6cbde0) !important; }
.cbs-stack-tile__cta i { font-size: 12px !important; }

.cbs-stack-tile__art {
  aspect-ratio: 1 / 1 !important;
  background: var(--cbs-bg-2, #161b22) !important;
  border: 1px solid var(--cbs-line, #262d37) !important;
  border-radius: 6px !important;
  margin: 0 0 18px !important;
  overflow: hidden;
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 1px;
  position: relative;
}
.cbs-stack-tile__art:empty::after {
  content: "EMPTY";
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--cbs-font-mono, monospace);
  font-size: 10px; letter-spacing: .25em;
  color: var(--cbs-fg-4, rgba(255,255,255,.3));
}
.cbs-stack-tile__th {
  display: block !important;
  width: 100%; height: 100%;
  background: var(--cbs-bg-1, #0e1116);
  overflow: hidden;
  position: relative;
  font-size: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.cbs-stack-tile__th img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; display: block !important;
  transition: transform .5s var(--cbs-ease, cubic-bezier(.2,.7,.2,1));
}
.cbs-stack-tile:hover .cbs-stack-tile__th img {
  transform: scale(1.05);
}

.cbs-stack-tile__name {
  font-family: var(--cbs-font-display, "Anton") !important;
  font-size: clamp(20px, 1.9vw, 24px) !important;
  font-weight: 400 !important;
  line-height: 1.02 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  color: var(--cbs-fg-1, #fff) !important;
  margin: 0 !important;
}
.cbs-stack-tile__pitch {
  font-family: var(--cbs-font-body, "Inter") !important;
  font-size: 12.5px !important;
  line-height: 1.55 !important;
  color: var(--cbs-fg-3, rgba(255,255,255,.6)) !important;
  margin: 8px 0 16px !important;
  max-width: none !important;
}
.cbs-stack-tile__count {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  margin-top: auto !important;
  padding: 5px 10px 5px 9px;
  border-radius: 999px;
  font-family: var(--cbs-font-mono, monospace) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .26em !important;
  text-transform: uppercase !important;
  background: var(--cbs-bg-2, #161b22) !important;
  border: 1px solid var(--cbs-line-strong, #3a4250) !important;
  color: var(--cbs-fg-3, rgba(255,255,255,.55)) !important;
  width: fit-content;
  align-self: flex-start;
}
.cbs-stack-tile__count::before {
  content: "";
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--cbs-fg-4, rgba(255,255,255,.35));
  box-shadow: 0 0 6px rgba(255,255,255,.3);
}

@media (max-width: 1023px) {
  .cbs-home__stack-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  .cbs-home__stack-grid { grid-template-columns: 1fr !important; }
  body.page-template-home-page-template .cbs-home__stack .cbs-trust__intro {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  body.page-template-home-page-template .cbs-home__stack .cbs-home__sub {
    grid-column: 1 !important; padding-left: 0 !important; border-left: 0 !important;
    border-top: 1px solid var(--cbs-line, #262d37) !important; padding-top: 20px !important;
  }
}
/* === END CBS-STACK-V2 === */

/* === BEGIN CBS-STACK-V3-TICKET === */
/* Boarding pass aesthetic — perforated tear-off ticket per stack */

.cbs-home__stack { background: var(--cbs-bg-0, #000) !important; }
.cbs-home__stack-grid { gap: 22px !important; }

/* === RESET V2 CARD STYLES === */
.cbs-stack-tile {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  gap: 0 !important;
  text-decoration: none !important;
  color: inherit !important;
  isolation: isolate !important;
  overflow: visible !important;
  border-radius: 14px !important;
  border: 1px solid var(--cbs-line, #262d37) !important;
  background:
    repeating-linear-gradient(90deg, transparent 0 6px, var(--cbs-line-strong, #3a4250) 6px 11px) 16px calc(100% - 60px) / calc(100% - 32px) 1px no-repeat,
    linear-gradient(135deg, rgba(255,255,255,.025), transparent 55%) 0 0 / 100% 100% no-repeat,
    var(--cbs-bg-1, #0e1116) !important;
  transition: border-color .3s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)), transform .3s var(--cbs-ease), box-shadow .3s var(--cbs-ease) !important;
}
.cbs-stack-tile:hover {
  border-color: var(--cbs-edge, #6cbde0) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 22px 50px rgba(0,0,0,.5), 0 0 0 1px var(--cbs-edge-soft, rgba(108,189,224,.3)) !important;
}

/* SIDE NOTCHES (matched to section bg) */
.cbs-stack-tile::before {
  content: "";
  position: absolute;
  left: -13px;
  bottom: 60px;
  top: auto;
  transform: translateY(50%);
  width: 24px; height: 24px;
  border-radius: 50%;
  background: var(--cbs-bg-0, #000) !important;
  border: 1px solid var(--cbs-line, #262d37);
  z-index: 4;
  transition: border-color .3s var(--cbs-ease);
}
.cbs-stack-tile::after {
  content: "";
  position: absolute;
  right: -13px;
  bottom: 60px;
  top: auto;
  transform: translateY(50%);
  width: 24px; height: 24px;
  border-radius: 50%;
  background: var(--cbs-bg-0, #000) !important;
  border: 1px solid var(--cbs-line, #262d37);
  z-index: 4;
  transition: border-color .3s var(--cbs-ease);
}
.cbs-stack-tile:hover::before, .cbs-stack-tile:hover::after {
  border-color: var(--cbs-edge, #6cbde0);
}

/* === HEADER STRIP — "BOARDING PASS" === */
.cbs-stack-tile__top {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--cbs-line, #262d37);
  font-family: var(--cbs-font-mono, monospace) !important;
  font-size: 9.5px !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  position: relative; z-index: 1;
  background: linear-gradient(90deg, rgba(108,189,224,.04), transparent 60%);
}
.cbs-stack-tile__tag {
  color: var(--cbs-edge, #6cbde0) !important;
  font-weight: 700 !important;
  position: relative;
}
.cbs-stack-tile__tag::before {
  content: "✈ CBS  //  BOARDING PASS  · ";
  color: var(--cbs-fg-3, rgba(255,255,255,.55));
  font-weight: 500;
  margin-right: 4px;
}
.cbs-stack-tile__cta {
  display: none !important;
}

/* === ART AREA — single hero image, cyan duotone tint === */
.cbs-stack-tile__art {
  position: relative;
  margin: 18px 18px 0 !important;
  padding: 0 !important;
  aspect-ratio: 16 / 11 !important;
  background: var(--cbs-bg-2, #161b22) !important;
  border: 1px solid var(--cbs-line, #262d37) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  display: block !important;
}
.cbs-stack-tile__art::before {
  content: "";
  position: absolute; inset: 0; z-index: 1;
  background:
    radial-gradient(circle at 80% 20%, rgba(108,189,224,.15), transparent 60%),
    linear-gradient(180deg, transparent 50%, rgba(0,0,0,.4));
  pointer-events: none;
}
.cbs-stack-tile__art::after {
  content: "";
  position: absolute; top: 10px; left: 10px;
  width: 22px; height: 22px;
  border-top: 1.5px solid var(--cbs-edge, #6cbde0);
  border-left: 1.5px solid var(--cbs-edge, #6cbde0);
  z-index: 2;
}
.cbs-stack-tile__th {
  display: none !important;
  width: 100%; height: 100%;
  position: absolute; inset: 0;
  margin: 0 !important;
  padding: 0 !important;
}
.cbs-stack-tile__th:first-child {
  display: block !important;
}
.cbs-stack-tile__th img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  filter: contrast(1.05) saturate(.85);
  transition: transform .6s var(--cbs-ease, cubic-bezier(.2,.7,.2,1));
}
.cbs-stack-tile:hover .cbs-stack-tile__th img {
  transform: scale(1.06);
}

/* Empty state */
.cbs-stack-tile__art:has(.cbs-stack-tile__th:empty),
.cbs-stack-tile__art:not(:has(img)) {
  background: var(--cbs-bg-2) !important;
}

/* === BODY — passenger info === */
.cbs-stack-tile__name {
  display: block !important;
  margin: 14px 18px 0 !important;
  padding: 0 !important;
  font-family: var(--cbs-font-display, "Anton") !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1.04 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  color: var(--cbs-fg-1, #fff) !important;
  position: relative;
}
.cbs-stack-tile__name::before {
  content: "PASSENGER";
  display: block;
  font-family: var(--cbs-font-mono, monospace) !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: .26em !important;
  color: var(--cbs-fg-4, rgba(255,255,255,.42)) !important;
  margin-bottom: 6px;
}

.cbs-stack-tile__pitch {
  margin: 6px 18px 18px !important;
  padding: 0 !important;
  font-family: var(--cbs-font-body, "Inter") !important;
  font-size: 12.5px !important;
  line-height: 1.5 !important;
  color: var(--cbs-fg-3, rgba(255,255,255,.55)) !important;
  max-width: none !important;
}

/* === STUB — barcode + count + BOARD CTA === */
.cbs-stack-tile__count {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: auto !important;
  margin: 0 !important;
  padding: 14px 18px 14px !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 0 !important;
  min-height: 28px;
  font-family: var(--cbs-font-mono, monospace) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  color: var(--cbs-fg-3, rgba(255,255,255,.55)) !important;
  position: relative;
  z-index: 1;
}
.cbs-stack-tile__count::before {
  content: "";
  flex-shrink: 0;
  height: 22px;
  width: 88px;
  background:
    repeating-linear-gradient(90deg,
      var(--cbs-fg-2, rgba(255,255,255,.82)) 0 1.5px,
      transparent 1.5px 3px,
      var(--cbs-fg-2, rgba(255,255,255,.82)) 3px 5px,
      transparent 5px 6.5px,
      var(--cbs-fg-2, rgba(255,255,255,.82)) 6.5px 8px,
      transparent 8px 11px
    );
  box-shadow: none;
  border-radius: 0;
}
.cbs-stack-tile__count::after {
  content: "BOARD  →";
  margin-left: auto;
  color: var(--cbs-edge, #6cbde0);
  font-weight: 700;
  letter-spacing: .28em;
}
.cbs-stack-tile:hover .cbs-stack-tile__count::after {
  color: var(--cbs-fg-1, #fff);
}

/* zero count card — dim */
.cbs-stack-tile:has(.cbs-stack-tile__count:not(:empty)) .cbs-stack-tile__count {
  /* hook for future state */
}

/* Top color rail per tile (still useful) */
.cbs-stack-tile__top::before {
  content: "";
  position: absolute;
  top: -1px; left: 0; right: 0;
  height: 2px;
  z-index: 3;
}
.cbs-home__stack-grid > .cbs-stack-tile:nth-child(1) .cbs-stack-tile__top::before { background: linear-gradient(90deg, var(--cbs-ok, #34c759), transparent); }
.cbs-home__stack-grid > .cbs-stack-tile:nth-child(2) .cbs-stack-tile__top::before { background: linear-gradient(90deg, var(--cbs-warn, #ffb13c), transparent); }
.cbs-home__stack-grid > .cbs-stack-tile:nth-child(3) .cbs-stack-tile__top::before { background: linear-gradient(90deg, var(--cbs-edge, #6cbde0), transparent); }
.cbs-home__stack-grid > .cbs-stack-tile:nth-child(4) .cbs-stack-tile__top::before { background: linear-gradient(90deg, #fff, transparent); }
.cbs-home__stack-grid > .cbs-stack-tile::after { background: var(--cbs-bg-0, #000) !important; }
.cbs-home__stack-grid > .cbs-stack-tile::before { background: var(--cbs-bg-0, #000) !important; }

@media (max-width: 1023px) {
  .cbs-home__stack-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  .cbs-home__stack-grid { grid-template-columns: 1fr !important; }
}
/* === END CBS-STACK-V3-TICKET === */

/* === BEGIN CBS-STACK-V4-BOARDING-PASS === */
/* Bold airline-app boarding pass. 2-col grid. Solid cyan outer with white inner card + barcode strip. */

/* HARD RESET of V2/V3 styling on tile + children */
.cbs-stack-tile, .cbs-stack-tile * {
  box-sizing: border-box;
}

.cbs-home__stack-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
}

.cbs-stack-tile {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  padding: 26px 24px 22px !important;
  background: var(--cbs-edge, #6cbde0) !important;
  border: 0 !important;
  border-radius: 22px !important;
  color: var(--cbs-bg-0, #000) !important;
  text-decoration: none !important;
  overflow: hidden !important;
  isolation: isolate !important;
  transition: transform .3s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)), box-shadow .3s var(--cbs-ease) !important;
  background-image: none !important;
}
.cbs-stack-tile:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 30px 70px rgba(108,189,224,.35), 0 0 0 1px rgba(108,189,224,.5) !important;
  border-color: transparent !important;
}
/* Kill V3 notches & perforation */
.cbs-stack-tile::before, .cbs-stack-tile::after {
  display: none !important;
  content: none !important;
}

/* Per-tile subtle hue variants */
.cbs-home__stack-grid > .cbs-stack-tile:nth-child(1) { background: #6cbde0 !important; }
.cbs-home__stack-grid > .cbs-stack-tile:nth-child(2) { background: #5aa9cf !important; }
.cbs-home__stack-grid > .cbs-stack-tile:nth-child(3) { background: #4994bd !important; }
.cbs-home__stack-grid > .cbs-stack-tile:nth-child(4) { background: #3a82ab !important; }

/* === TOP DATA AREA === */
.cbs-stack-tile__hd {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: start;
  padding: 10px 4px 8px;
}
.cbs-stack-tile__codes {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.cbs-stack-tile__row {
  display: flex;
  flex-direction: column;
  gap: 0;
  line-height: 1;
}
.cbs-stack-tile__code {
  font-family: var(--cbs-font-display, "Anton", sans-serif);
  font-size: clamp(56px, 7vw, 96px);
  font-weight: 400;
  line-height: .88;
  letter-spacing: -.02em;
  color: var(--cbs-bg-0, #000);
  text-transform: uppercase;
}
.cbs-stack-tile__sub {
  font-family: var(--cbs-font-mono, "JetBrains Mono", monospace);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(0,0,0,.62);
  margin-top: 4px;
}
.cbs-stack-tile__meta {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 100px;
}
.cbs-stack-tile__metaitem {
  display: flex;
  flex-direction: column;
  line-height: 1;
}
.cbs-stack-tile__metaitem span {
  font-family: var(--cbs-font-mono, monospace);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(0,0,0,.5);
  margin-bottom: 4px;
}
.cbs-stack-tile__metaitem strong {
  font-family: var(--cbs-font-display, "Anton", sans-serif);
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .002em;
  color: var(--cbs-bg-0, #000);
  text-transform: uppercase;
}

/* === WHITE INNER CARD === */
.cbs-stack-tile__inner {
  background: #fff;
  border-radius: 14px;
  padding: 18px 20px 20px;
  color: var(--cbs-bg-0, #000);
}
.cbs-stack-tile__brand {
  display: flex;
  align-items: center;
  gap: 9px;
  padding-bottom: 14px;
  margin-bottom: 16px;
  border-bottom: 1px dashed rgba(0,0,0,.12);
}
.cbs-stack-tile__brand i {
  font-size: 18px !important;
  color: var(--cbs-edge, #6cbde0);
  line-height: 1;
}
.cbs-stack-tile__brand span {
  font-family: var(--cbs-font-display, "Anton", sans-serif);
  font-size: 15px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--cbs-edge, #6cbde0);
  font-weight: 400;
}
.cbs-stack-tile__data {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 16px;
}
.cbs-stack-tile__field--full {
  grid-column: 1 / -1;
}
.cbs-stack-tile__field span {
  display: block;
  font-family: var(--cbs-font-mono, monospace);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(0,0,0,.42);
  margin-bottom: 4px;
}
.cbs-stack-tile__field strong {
  display: block;
  font-family: var(--cbs-font-display, "Anton", sans-serif);
  font-size: 22px;
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: .002em;
  color: var(--cbs-bg-0, #000);
  text-transform: uppercase;
}
.cbs-stack-tile__field--full strong {
  font-size: 24px;
  letter-spacing: .003em;
}
/* BRIEFING text — body-style, not display */
.cbs-stack-tile__field--full + .cbs-stack-tile__field--full strong,
.cbs-stack-tile__data > .cbs-stack-tile__field--full:last-child strong {
  font-family: var(--cbs-font-body, "Inter", sans-serif);
  font-size: 13.5px;
  font-weight: 500;
  line-height: 1.5;
  text-transform: none;
  letter-spacing: .002em;
  color: rgba(0,0,0,.7);
}

/* === BARCODE STRIP === */
.cbs-stack-tile__barcode {
  background: #fff;
  border-radius: 10px;
  padding: 10px 16px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.cbs-stack-tile__barcode-label {
  font-family: var(--cbs-font-mono, monospace);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(0,0,0,.55);
}
.cbs-stack-tile__bars {
  width: 100%;
  height: 36px;
  background-image: repeating-linear-gradient(90deg,
    var(--cbs-bg-0, #000) 0 1.5px,
    transparent 1.5px 3px,
    var(--cbs-bg-0, #000) 3px 4.5px,
    transparent 4.5px 6px,
    var(--cbs-bg-0, #000) 6px 9px,
    transparent 9px 11px,
    var(--cbs-bg-0, #000) 11px 12.5px,
    transparent 12.5px 14.5px,
    var(--cbs-bg-0, #000) 14.5px 16px,
    transparent 16px 19px
  );
}

@media (max-width: 760px) {
  .cbs-home__stack-grid { grid-template-columns: 1fr !important; }
  .cbs-stack-tile__code { font-size: clamp(56px, 14vw, 84px); }
}
/* === END CBS-STACK-V4-BOARDING-PASS === */

/* === BEGIN CBS-STACK-V4-1-CLEAN === */
/* Plain-English UX rewrite — keeps boarding-pass aesthetic but human-friendly labels */

.cbs-home__stack-grid {
  gap: 22px !important;
}

.cbs-stack-tile {
  padding: 24px 24px 20px !important;
  gap: 16px !important;
  border-radius: 20px !important;
}

/* === TOP === */
.cbs-stack-tile__hd {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 28px !important;
  padding: 8px 6px 6px !important;
}
.cbs-stack-tile__title {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px;
}
.cbs-stack-tile__numwrap {
  display: flex;
  align-items: baseline;
  gap: 12px;
  line-height: 1;
}
.cbs-stack-tile__num {
  font-family: var(--cbs-font-display, "Anton", sans-serif);
  font-size: clamp(54px, 6.4vw, 84px);
  font-weight: 400;
  line-height: .82;
  letter-spacing: -.025em;
  color: var(--cbs-bg-0, #000);
}
.cbs-stack-tile__numlabel {
  font-family: var(--cbs-font-mono, monospace);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(0,0,0,.55);
  align-self: end;
  padding-bottom: 6px;
}
.cbs-stack-tile__stackname {
  font-family: var(--cbs-font-display, "Anton", sans-serif);
  font-size: clamp(20px, 1.9vw, 26px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: .002em;
  text-transform: uppercase;
  color: var(--cbs-bg-0, #000);
  margin: 0;
}

.cbs-stack-tile__meta {
  display: flex !important;
  flex-direction: column;
  gap: 10px;
  min-width: 130px;
  text-align: left;
}
.cbs-stack-tile__metaitem {
  display: flex;
  flex-direction: column;
  line-height: 1;
}
.cbs-stack-tile__metaitem span {
  font-family: var(--cbs-font-mono, monospace);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(0,0,0,.5);
  margin-bottom: 4px;
}
.cbs-stack-tile__metaitem strong {
  font-family: var(--cbs-font-display, "Anton", sans-serif);
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .002em;
  color: var(--cbs-bg-0, #000);
  text-transform: uppercase;
}

/* === INNER === */
.cbs-stack-tile__inner {
  padding: 16px 18px 18px !important;
  border-radius: 12px !important;
}
.cbs-stack-tile__brand {
  padding-bottom: 12px !important;
  margin-bottom: 14px !important;
}
.cbs-stack-tile__brand i {
  font-size: 16px !important;
}
.cbs-stack-tile__brand span {
  font-size: 13px !important;
  letter-spacing: .14em !important;
}
.cbs-stack-tile__data {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px 18px !important;
}
.cbs-stack-tile__field span {
  font-family: var(--cbs-font-mono, monospace) !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  color: rgba(0,0,0,.42) !important;
  margin-bottom: 4px !important;
}
.cbs-stack-tile__field strong {
  font-family: var(--cbs-font-display, "Anton", sans-serif) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  color: var(--cbs-bg-0, #000) !important;
  text-transform: uppercase !important;
}
/* The "WHAT YOU GET" field — pitch sentence, use body font for readability */
.cbs-stack-tile__field--full {
  grid-column: 1 / -1 !important;
}
.cbs-stack-tile__field--full strong {
  font-family: var(--cbs-font-body, "Inter", sans-serif) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  letter-spacing: .002em !important;
  text-transform: none !important;
  color: rgba(0,0,0,.78) !important;
}

/* === BARCODE STRIP === */
.cbs-stack-tile__barcode {
  padding: 12px 16px 12px !important;
  gap: 8px !important;
  border-radius: 10px !important;
}
.cbs-stack-tile__barcode-label {
  font-family: var(--cbs-font-mono, monospace) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .2em !important;
  color: rgba(0,0,0,.7) !important;
}
.cbs-stack-tile__bars {
  height: 28px !important;
}

@media (max-width: 760px) {
  .cbs-home__stack-grid { grid-template-columns: 1fr !important; }
  .cbs-stack-tile__hd { grid-template-columns: 1fr !important; gap: 18px !important; }
  .cbs-stack-tile__meta { flex-direction: row; flex-wrap: wrap; gap: 14px 22px; }
}
/* === END CBS-STACK-V4-1-CLEAN === */

/* === BEGIN CBS-STACK-V4-2-REAL-CUTOUTS === */
/* Real cutouts via mask-composite. Matched intro style. Differentiated section bg. */

/* === SECTION BG — deep navy-tinged so the cyan tickets pop, distinct from WHY CBS pure black === */
body.page-template-home-page-template .cbs-home__stack {
  background:
    radial-gradient(900px circle at 20% 0%, rgba(108,189,224,.05), transparent 55%),
    radial-gradient(700px circle at 90% 100%, rgba(108,189,224,.04), transparent 55%),
    #050912 !important;
  padding: 100px 0 110px !important;
  position: relative;
  overflow: visible !important;
}
body.page-template-home-page-template .cbs-home__stack::before {
  content: "";
  position: absolute; inset: 0;
  background-image: linear-gradient(180deg, rgba(108,189,224,.025), transparent 30%);
  pointer-events: none;
  z-index: 0;
}
body.page-template-home-page-template .cbs-home__stack > * { position: relative; z-index: 1; }

/* === INTRO — exact mirror of WHY CBS layout === */
body.page-template-home-page-template .cbs-home__stack .cbs-trust__intro {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px) !important;
  align-items: end !important;
  gap: 56px !important;
  padding-bottom: 28px !important;
  border-bottom: 1px solid var(--cbs-line, #262d37) !important;
  margin: 0 0 48px !important;
}
body.page-template-home-page-template .cbs-home__stack .cbs-eyebrow {
  grid-column: 1 !important; grid-row: 1 !important;
  margin: 0 0 22px !important;
}
body.page-template-home-page-template .cbs-home__stack .cbs-home__h {
  grid-column: 1 !important; grid-row: 2 !important;
  font-family: var(--cbs-font-display, "Anton", sans-serif) !important;
  font-size: clamp(40px, 5.3vw, 80px) !important;
  font-weight: 400 !important;
  line-height: .94 !important;
  letter-spacing: .002em !important;
  text-transform: uppercase !important;
  color: var(--cbs-fg-1, #fff) !important;
  margin: 0 !important;
  display: block !important;
}
body.page-template-home-page-template .cbs-home__stack .cbs-home__h .cbs-home__h-rest {
  color: var(--cbs-edge, #6cbde0) !important;
  display: block !important;
}
body.page-template-home-page-template .cbs-home__stack .cbs-home__sub {
  grid-column: 2 !important; grid-row: 2 !important;
  align-self: end !important;
  font-family: var(--cbs-font-body, "Inter", sans-serif) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: var(--cbs-fg-3, rgba(255,255,255,.62)) !important;
  margin: 0 !important;
  padding: 0 0 0 28px !important;
  max-width: 36ch !important;
  border-left: 1px solid var(--cbs-line, #262d37) !important;
  text-align: left !important;
}

/* === REAL CUTOUTS — mask-composite intersect === */
.cbs-stack-tile {
  --notch-r: 11px;
  --notch-y: calc(100% - 111px);
  -webkit-mask:
    radial-gradient(circle var(--notch-r) at 0 var(--notch-y), transparent var(--notch-r), #000 calc(var(--notch-r) + 0.5px)),
    radial-gradient(circle var(--notch-r) at 100% var(--notch-y), transparent var(--notch-r), #000 calc(var(--notch-r) + 0.5px));
  -webkit-mask-composite: source-in;
  mask:
    radial-gradient(circle var(--notch-r) at 0 var(--notch-y), transparent var(--notch-r), #000 calc(var(--notch-r) + 0.5px)),
    radial-gradient(circle var(--notch-r) at 100% var(--notch-y), transparent var(--notch-r), #000 calc(var(--notch-r) + 0.5px));
  mask-composite: intersect;
}

/* Increase cyan gap between inner white card & barcode strip so notches land in cyan-only zone */
.cbs-stack-tile { gap: 0 !important; }
.cbs-stack-tile__hd { margin-bottom: 16px !important; }
.cbs-stack-tile__inner { margin-bottom: 32px !important; }

/* === DASHED PERFORATION line between the two notches === */
.cbs-stack-tile::before,
.cbs-stack-tile::after {
  display: none !important;
  content: none !important;
}
/* Use a new pseudo on __barcode for the dashed line (since tile pseudos are unreliable with masks) */
.cbs-stack-tile__barcode {
  position: relative;
}
.cbs-stack-tile__barcode::before {
  content: "";
  position: absolute;
  left: -10px; right: -10px;
  top: -20px;
  height: 1px;
  background-image: repeating-linear-gradient(90deg,
    rgba(0,0,0,.35) 0 5px,
    transparent 5px 11px
  );
  background-size: 100% 1px;
  background-repeat: no-repeat;
  pointer-events: none;
  z-index: 2;
}

/* No hover transform — mask gets weird with transform. Use box-shadow only. */
.cbs-stack-tile:hover {
  transform: none !important;
  box-shadow: 0 30px 70px rgba(108,189,224,.35), 0 0 0 1px rgba(108,189,224,.5) !important;
}

@media (max-width: 760px) {
  .cbs-stack-tile { --notch-y: calc(100% - 80px); }
}
/* === END CBS-STACK-V4-2-REAL-CUTOUTS === */

/* === BEGIN CBS-STACK-V4-3-SUB-STRONG === */
body.page-template-home-page-template .cbs-home__stack .cbs-home__sub strong {
  color: var(--cbs-fg-1, #fff) !important;
  font-weight: 600 !important;
}
/* === END CBS-STACK-V4-3-SUB-STRONG === */

/* === BEGIN CBS-STACK-V4-4-SUB-MATCH === */
/* Make the section sub copy match the WHY CBS manifesto EXACTLY */
body.page-template-home-page-template .cbs-home__stack .cbs-home__sub {
  font-family: var(--cbs-font-body, "Inter", sans-serif) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  letter-spacing: -0.005em !important;
  text-transform: none !important;
  color: var(--cbs-fg-3, rgba(255,255,255,.62)) !important;
}
body.page-template-home-page-template .cbs-home__stack .cbs-home__sub strong {
  color: var(--cbs-fg-1, #fff) !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
  text-transform: none !important;
}
/* === END CBS-STACK-V4-4-SUB-MATCH === */

/* === BEGIN CBS-BRANDS-V2-MANIFEST === */
/* ORIGIN section — customs manifest plates */

body.page-template-home-page-template .cbs-home__brands {
  background:
    radial-gradient(900px circle at 80% 0%, rgba(108,189,224,.05), transparent 55%),
    radial-gradient(700px circle at 20% 100%, rgba(108,189,224,.04), transparent 55%),
    #050912 !important;
  padding: 100px 0 110px !important;
  position: relative;
  overflow: visible !important;
  border-top: 0 !important;
}
body.page-template-home-page-template .cbs-home__brands::before {
  content: "";
  position: absolute; inset: 0;
  background-image: linear-gradient(180deg, rgba(108,189,224,.025), transparent 30%);
  pointer-events: none;
  z-index: 0;
}
body.page-template-home-page-template .cbs-home__brands > * { position: relative; z-index: 1; }
body.page-template-home-page-template .cbs-home__brands .cbs-container { max-width: 1200px !important; }

/* INTRO — mirror WHY CBS / STACK UP */
body.page-template-home-page-template .cbs-home__brands .cbs-trust__intro {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px) !important;
  align-items: end !important;
  gap: 56px !important;
  padding-bottom: 28px !important;
  border-bottom: 1px solid var(--cbs-line, #262d37) !important;
  margin: 0 0 48px !important;
}
body.page-template-home-page-template .cbs-home__brands .cbs-eyebrow {
  grid-column: 1 !important; grid-row: 1 !important;
  margin: 0 0 22px !important;
}
body.page-template-home-page-template .cbs-home__brands .cbs-home__h {
  grid-column: 1 !important; grid-row: 2 !important;
  font-family: var(--cbs-font-display, "Anton", sans-serif) !important;
  font-size: clamp(40px, 5.3vw, 80px) !important;
  font-weight: 400 !important;
  line-height: .94 !important;
  letter-spacing: .002em !important;
  text-transform: uppercase !important;
  color: var(--cbs-fg-1, #fff) !important;
  margin: 0 !important;
  display: block !important;
}
body.page-template-home-page-template .cbs-home__brands .cbs-home__h .cbs-home__h-rest {
  color: var(--cbs-edge, #6cbde0) !important;
  display: block !important;
}
body.page-template-home-page-template .cbs-home__brands .cbs-home__sub {
  grid-column: 2 !important; grid-row: 2 !important;
  align-self: end !important;
  font-family: var(--cbs-font-body, "Inter", sans-serif) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  letter-spacing: -0.005em !important;
  text-transform: none !important;
  color: var(--cbs-fg-3, rgba(255,255,255,.62)) !important;
  margin: 0 !important;
  padding: 0 0 0 28px !important;
  max-width: 36ch !important;
  border-left: 1px solid var(--cbs-line, #262d37) !important;
  text-align: left !important;
}
body.page-template-home-page-template .cbs-home__brands .cbs-home__sub strong {
  color: var(--cbs-fg-1, #fff) !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
  text-transform: none !important;
}

/* BRAND RAIL grid — 3 cols × 3 rows */
.cbs-home__brand-rail {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
  margin: 0 !important;
}

/* BRAND CHIP — customs manifest plate */
.cbs-brand-chip {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 22px !important;
  gap: 0 !important;
  min-height: 240px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.025), transparent 55%),
    var(--cbs-bg-1, #0e1116) !important;
  border: 1px solid var(--cbs-line, #262d37) !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  color: inherit !important;
  overflow: hidden !important;
  isolation: isolate !important;
  transition: border-color .3s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)), transform .3s var(--cbs-ease), box-shadow .3s var(--cbs-ease) !important;
}
.cbs-brand-chip:hover {
  border-color: var(--cbs-edge, #6cbde0) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 22px 50px rgba(0,0,0,.5), 0 0 0 1px var(--cbs-edge-soft, rgba(108,189,224,.3)) !important;
}
/* Top-left cyan corner accent on hover */
.cbs-brand-chip::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 14px; height: 14px;
  border-top: 1.5px solid var(--cbs-edge, #6cbde0);
  border-left: 1.5px solid var(--cbs-edge, #6cbde0);
  opacity: 0;
  transition: opacity .3s var(--cbs-ease, cubic-bezier(.2,.7,.2,1));
  z-index: 2;
}
.cbs-brand-chip:hover::before { opacity: 1; }

/* HEADER row — MFR + CLEARED */
.cbs-brand-chip__hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 8px !important;
  font-family: var(--cbs-font-mono, monospace) !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  color: var(--cbs-fg-4, rgba(255,255,255,.42)) !important;
}
.cbs-brand-chip__index {
  color: var(--cbs-edge, #6cbde0) !important;
}
.cbs-brand-chip__check {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--cbs-ok, #34c759) !important;
}
.cbs-brand-chip__check i {
  font-size: 11px !important;
  line-height: 1;
}

/* LOGO area — centered, normalized to white */
.cbs-brand-chip__logo {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 12px;
  margin: 4px 0;
  background: rgba(255,255,255,.02);
  border: 1px solid var(--cbs-line, #262d37);
  border-radius: 8px;
  min-height: 110px;
  position: relative;
  overflow: hidden;
}
.cbs-brand-chip__logo::after {
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 100%, rgba(108,189,224,.08), transparent 60%);
  pointer-events: none;
}
.cbs-brand-chip__logo img {
  max-width: 78%;
  max-height: 70px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: brightness(0) invert(1) opacity(.88);
  transition: filter .3s var(--cbs-ease, cubic-bezier(.2,.7,.2,1));
}
.cbs-brand-chip:hover .cbs-brand-chip__logo img {
  filter: brightness(0) invert(1) opacity(1);
}

/* FOOTER block — name + meta */
.cbs-brand-chip__ft {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 14px;
  margin-top: 14px;
  border-top: 1px dashed rgba(255,255,255,.08);
}
.cbs-brand-chip__name {
  font-family: var(--cbs-font-display, "Anton", sans-serif) !important;
  font-size: clamp(18px, 1.6vw, 22px) !important;
  font-weight: 400 !important;
  line-height: 1.02 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  color: var(--cbs-fg-1, #fff) !important;
  margin: 0 !important;
}
.cbs-brand-chip__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--cbs-font-mono, monospace) !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: var(--cbs-fg-3, rgba(255,255,255,.55)) !important;
}
.cbs-brand-chip__meta-sep {
  opacity: .35;
}
.cbs-brand-chip__meta-count {
  color: var(--cbs-edge, #6cbde0) !important;
}

@media (max-width: 1023px) {
  .cbs-home__brand-rail { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  .cbs-home__brand-rail { grid-template-columns: 1fr !important; }
  body.page-template-home-page-template .cbs-home__brands .cbs-trust__intro {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  body.page-template-home-page-template .cbs-home__brands .cbs-home__sub {
    grid-column: 1 !important; padding-left: 0 !important; border-left: 0 !important;
    border-top: 1px solid var(--cbs-line, #262d37) !important; padding-top: 20px !important;
  }
}
/* === END CBS-BRANDS-V2-MANIFEST === */

/* === BEGIN CBS-BRANDS-V3-STAMP === */
/* Postage stamp aesthetic — perforated edges, 5-col compact layout, flag instead of country text */

.cbs-home__brand-rail {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 18px !important;
}

/* STAMP — dark plate with perforated edges via mask */
.cbs-brand-chip {
  --notch-r: 4px;
  --notch-s: 12px;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 14px 12px 12px !important;
  gap: 0 !important;
  min-height: 180px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.03), transparent 55%),
    var(--cbs-bg-1, #0e1116) !important;
  border: 0 !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  color: inherit !important;
  overflow: visible !important;
  isolation: isolate !important;
  /* Perforated mask: holes around all 4 edges */
  -webkit-mask:
    radial-gradient(circle var(--notch-r) at 50% 0%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-x 50% 0 / var(--notch-s) 100%,
    radial-gradient(circle var(--notch-r) at 50% 100%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-x 50% 100% / var(--notch-s) 100%,
    radial-gradient(circle var(--notch-r) at 0% 50%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-y 0 50% / 100% var(--notch-s),
    radial-gradient(circle var(--notch-r) at 100% 50%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-y 100% 50% / 100% var(--notch-s) !important;
  -webkit-mask-composite: source-in !important;
  mask:
    radial-gradient(circle var(--notch-r) at 50% 0%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-x 50% 0 / var(--notch-s) 100%,
    radial-gradient(circle var(--notch-r) at 50% 100%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-x 50% 100% / var(--notch-s) 100%,
    radial-gradient(circle var(--notch-r) at 0% 50%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-y 0 50% / 100% var(--notch-s),
    radial-gradient(circle var(--notch-r) at 100% 50%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-y 100% 50% / 100% var(--notch-s) !important;
  mask-composite: intersect !important;
  transition: transform .3s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)) !important;
}
.cbs-brand-chip:hover {
  transform: translateY(-3px) !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Cyan inner border via inset shadow — preserves the stamp shape */
.cbs-brand-chip::before {
  content: "";
  position: absolute;
  inset: 6px;
  border: 1px dashed rgba(108, 189, 224, 0.18);
  pointer-events: none;
  transition: border-color .3s var(--cbs-ease);
  z-index: 0;
}
.cbs-brand-chip:hover::before {
  border-color: rgba(108, 189, 224, 0.6);
}

.cbs-brand-chip::after {
  display: none !important;
  content: none !important;
}

/* HEADER row — flag + index */
.cbs-brand-chip__hd {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 6px !important;
  padding: 0 2px;
  position: relative;
  z-index: 1;
  font-family: var(--cbs-font-mono, monospace) !important;
  font-size: 8.5px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: var(--cbs-fg-4, rgba(255,255,255,.4)) !important;
}
.cbs-brand-chip__flag {
  width: 22px !important;
  height: 14px !important;
  object-fit: cover !important;
  display: block !important;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 1.5px;
}
.cbs-brand-chip__index {
  color: var(--cbs-edge, #6cbde0) !important;
}

/* LOGO area */
.cbs-brand-chip__logo {
  flex: 1 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 6px 6px !important;
  margin: 6px 0 8px !important;
  min-height: 70px;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  position: relative;
  z-index: 1;
}
.cbs-brand-chip__logo::after {
  content: none !important;
}
.cbs-brand-chip__logo img {
  max-width: 78% !important;
  max-height: 56px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  filter: brightness(0) invert(1) opacity(.88) !important;
  transition: filter .3s var(--cbs-ease);
}
.cbs-brand-chip:hover .cbs-brand-chip__logo img {
  filter: brightness(0) invert(1) opacity(1) !important;
}

/* FOOTER block — brand name only */
.cbs-brand-chip__ft {
  text-align: center !important;
  padding: 0 4px !important;
  margin: 0 !important;
  border-top: 0 !important;
  position: relative;
  z-index: 1;
}
.cbs-brand-chip__name {
  font-family: var(--cbs-font-display, "Anton", sans-serif) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  color: var(--cbs-fg-1, #fff) !important;
  margin: 0 !important;
}

@media (max-width: 1023px) {
  .cbs-home__brand-rail { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 600px) {
  .cbs-home__brand-rail { grid-template-columns: repeat(2, 1fr) !important; }
}
/* === END CBS-BRANDS-V3-STAMP === */

/* === BEGIN CBS-BRANDS-V4-COLOR-STAMP === */
/* Real postage stamps: white paper with perforations, colored inner panel showing logos in original brand colors */

.cbs-home__brand-rail {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 22px !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* STAMP CARD — white paper, perforated, NO inner border frame */
.cbs-brand-chip {
  --notch-r: 4.5px;
  --notch-s: 13px;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 12px 12px 14px !important;
  min-height: 200px !important;
  background: #f4f1ea !important;
  border: 0 !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  color: #1a1a1a !important;
  overflow: visible !important;
  isolation: isolate !important;
  -webkit-mask:
    radial-gradient(circle var(--notch-r) at 50% 0%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-x 50% 0 / var(--notch-s) 100%,
    radial-gradient(circle var(--notch-r) at 50% 100%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-x 50% 100% / var(--notch-s) 100%,
    radial-gradient(circle var(--notch-r) at 0% 50%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-y 0 50% / 100% var(--notch-s),
    radial-gradient(circle var(--notch-r) at 100% 50%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-y 100% 50% / 100% var(--notch-s) !important;
  -webkit-mask-composite: source-in !important;
  mask:
    radial-gradient(circle var(--notch-r) at 50% 0%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-x 50% 0 / var(--notch-s) 100%,
    radial-gradient(circle var(--notch-r) at 50% 100%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-x 50% 100% / var(--notch-s) 100%,
    radial-gradient(circle var(--notch-r) at 0% 50%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-y 0 50% / 100% var(--notch-s),
    radial-gradient(circle var(--notch-r) at 100% 50%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-y 100% 50% / 100% var(--notch-s) !important;
  mask-composite: intersect !important;
  transition: transform .35s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)) !important;
}
.cbs-brand-chip:hover {
  transform: translateY(-4px) rotate(-1deg) !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
.cbs-brand-chip::before, .cbs-brand-chip::after {
  display: none !important;
  content: none !important;
}

/* COLORED PANEL — the "picture" area of the stamp */
.cbs-brand-chip__panel {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 12px;
  margin: 0 0 10px 0;
  min-height: 100px;
  border-radius: 2px;
  position: relative;
  z-index: 1;
}
.cbs-brand-chip--light .cbs-brand-chip__panel {
  background: linear-gradient(135deg, #f9f6ef, #e8e3d6);
}
.cbs-brand-chip--dark .cbs-brand-chip__panel {
  background: linear-gradient(135deg, #1a1f2a, #0e1116);
}
.cbs-brand-chip__logo-img {
  max-width: 80% !important;
  max-height: 64px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  filter: none !important;
}

/* FOOTER — flag + brand name */
.cbs-brand-chip__ft {
  display: flex !important;
  align-items: center;
  gap: 8px;
  padding: 4px 4px 0 !important;
  margin: 0 !important;
  border-top: 0 !important;
  position: relative;
  z-index: 1;
}
.cbs-brand-chip__flag {
  display: inline-block !important;
  flex-shrink: 0;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Twemoji Mozilla", "EmojiOne Color", "Android Emoji", emoji, sans-serif !important;
  font-size: 17px !important;
  line-height: 1 !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-style: normal;
  text-rendering: optimizeQuality;
}
.cbs-brand-chip__name {
  font-family: var(--cbs-font-display, "Anton", sans-serif) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  color: #1a1a1a !important;
  margin: 0 !important;
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 1023px) {
  .cbs-home__brand-rail { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 600px) {
  .cbs-home__brand-rail { grid-template-columns: repeat(2, 1fr) !important; }
}
/* === END CBS-BRANDS-V4-COLOR-STAMP === */

/* === BEGIN CBS-BRANDS-V5-CLEAN-STAMP === */
/* Single-surface stamp. One paper, one logo, one footer. No nested boxes. */

.cbs-home__brand-rail {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  padding: 0 !important;
  margin: 0 !important;
}

.cbs-brand-chip {
  --notch-r: 5px;
  --notch-s: 14px;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch;
  justify-content: space-between;
  gap: 0 !important;
  padding: 28px 26px 22px !important;
  min-height: 220px !important;
  background:
    radial-gradient(circle at 30% 0%, rgba(108,189,224,.06), transparent 60%),
    linear-gradient(180deg, #161b22 0%, #0e1116 100%) !important;
  border: 0 !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  color: inherit !important;
  overflow: visible !important;
  isolation: isolate !important;
  -webkit-mask:
    radial-gradient(circle var(--notch-r) at 50% 0%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-x 50% 0 / var(--notch-s) 100%,
    radial-gradient(circle var(--notch-r) at 50% 100%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-x 50% 100% / var(--notch-s) 100%,
    radial-gradient(circle var(--notch-r) at 0% 50%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-y 0 50% / 100% var(--notch-s),
    radial-gradient(circle var(--notch-r) at 100% 50%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-y 100% 50% / 100% var(--notch-s) !important;
  -webkit-mask-composite: source-in !important;
  mask:
    radial-gradient(circle var(--notch-r) at 50% 0%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-x 50% 0 / var(--notch-s) 100%,
    radial-gradient(circle var(--notch-r) at 50% 100%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-x 50% 100% / var(--notch-s) 100%,
    radial-gradient(circle var(--notch-r) at 0% 50%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-y 0 50% / 100% var(--notch-s),
    radial-gradient(circle var(--notch-r) at 100% 50%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-y 100% 50% / 100% var(--notch-s) !important;
  mask-composite: intersect !important;
  transition: transform .35s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)) !important;
}
.cbs-brand-chip:hover {
  transform: translateY(-4px) !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
.cbs-brand-chip::before, .cbs-brand-chip::after {
  display: none !important;
  content: none !important;
}

/* LOGO — center, original color, dominant */
.cbs-brand-chip__logo-img {
  display: block !important;
  margin: auto !important;
  max-width: 70% !important;
  max-height: 90px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  filter: none !important;
}

/* FOOTER — flag + name in one tight row */
.cbs-brand-chip__ft {
  display: flex !important;
  align-items: center;
  gap: 10px !important;
  padding: 16px 0 0 0 !important;
  margin: 0 !important;
  border-top: 1px dashed rgba(255,255,255,.1) !important;
  position: relative;
  z-index: 1;
}
.cbs-brand-chip__flag {
  display: inline-flex !important;
  align-items: center;
  flex-shrink: 0;
  font-size: 16px !important;
  line-height: 1 !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.cbs-brand-chip__flag img.emoji {
  display: block !important;
  width: 18px !important;
  height: 13px !important;
  vertical-align: middle !important;
  margin: 0 !important;
}
.cbs-brand-chip__name {
  font-family: var(--cbs-font-display, "Anton", sans-serif) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  color: var(--cbs-fg-1, #fff) !important;
  margin: 0 !important;
  flex: 1;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 1023px) {
  .cbs-home__brand-rail { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  .cbs-home__brand-rail { grid-template-columns: 1fr !important; }
}
/* === END CBS-BRANDS-V5-CLEAN-STAMP === */

/* === BEGIN CBS-BRANDS-V6-POLISH === */
/* Section bg = same as page (no perceived enclosing box) */
body.page-template-home-page-template .cbs-home__brands {
  background: var(--cbs-bg-0, #000) !important;
  padding: 88px 0 100px !important;
}
body.page-template-home-page-template .cbs-home__brands::before {
  background: none !important;
  content: none !important;
  display: none !important;
}

/* Smaller stamp, bigger logo, bigger flag */
.cbs-brand-chip {
  --notch-r: 5px;
  --notch-s: 14px;
  padding: 20px 20px 16px !important;
  min-height: 200px !important;
}

.cbs-brand-chip__logo-img {
  max-width: 82% !important;
  max-height: 110px !important;
}

.cbs-brand-chip__ft {
  padding: 14px 0 0 !important;
  gap: 12px !important;
}

.cbs-brand-chip__flag img.emoji {
  width: 24px !important;
  height: 18px !important;
}
.cbs-brand-chip__flag {
  font-size: 22px !important;
}

.cbs-brand-chip__name {
  font-size: 17px !important;
  letter-spacing: .045em !important;
}

/* Hover: pop up + tilt — restore the V4 motion */
.cbs-brand-chip {
  transition: transform .4s cubic-bezier(.34,1.56,.64,1) !important;
}
.cbs-brand-chip:hover {
  transform: translateY(-6px) rotate(-1.5deg) !important;
}
.cbs-brand-chip:nth-child(even):hover {
  transform: translateY(-6px) rotate(1.5deg) !important;
}

@media (max-width: 1023px) {
  .cbs-home__brand-rail { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  .cbs-home__brand-rail { grid-template-columns: 1fr !important; }
}
/* === END CBS-BRANDS-V6-POLISH === */

/* === BEGIN CBS-BRANDS-V6-RAIL-RESET === */
body.page-template-home-page-template .cbs-home__brand-rail {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}
/* === END CBS-BRANDS-V6-RAIL-RESET === */

/* === BEGIN CBS-BRANDS-V6-FLAG-BIGGER === */
.cbs-brand-chip__flag {
  display: inline-flex !important;
  align-items: center;
  flex-shrink: 0;
  height: auto !important;
  width: auto !important;
}
.cbs-brand-chip__flag img,
.cbs-brand-chip__flag img.emoji {
  width: 42px !important;
  height: 30px !important;
  max-width: none !important;
  max-height: none !important;
  min-width: 42px !important;
  min-height: 30px !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 2px !important;
  vertical-align: middle !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.06);
}
/* === END CBS-BRANDS-V6-FLAG-BIGGER === */

/* === BEGIN CBS-BRANDS-V7-COLOR-FLAG-HOVER === */
/* Each stamp: per-brand colored bg by default; on hover, country flag image fades in */
body.page-template-home-page-template .cbs-brand-chip {
  background: var(--brand-bg, #1a1f2a) !important;
  background-image: none !important;
  color: inherit !important;
}
.cbs-brand-chip::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.65)), var(--flag-bg, none);
  background-size: cover, cover;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
  opacity: 0;
  transition: opacity .45s var(--cbs-ease, cubic-bezier(.2,.7,.2,1));
  z-index: 0;
  pointer-events: none;
}
.cbs-brand-chip:hover::before {
  opacity: 1 !important;
}

/* Logo + footer above the bg pseudo */
.cbs-brand-chip__logo-img,
.cbs-brand-chip__ft {
  position: relative !important;
  z-index: 1 !important;
}

/* On hover: switch footer to white (so it reads on flag bg with dark overlay) */
.cbs-brand-chip__ft {
  transition: color .35s var(--cbs-ease);
}
.cbs-brand-chip:hover .cbs-brand-chip__name {
  color: #fff !important;
}
.cbs-brand-chip:hover .cbs-brand-chip__ft {
  border-top-color: rgba(255,255,255,.18) !important;
}

/* On light-bg stamps: name should be dark by default */
.cbs-brand-chip[style*="ead9b8"] .cbs-brand-chip__name,
.cbs-brand-chip[style*="e8dcc4"] .cbs-brand-chip__name,
.cbs-brand-chip[style*="f0d9b8"] .cbs-brand-chip__name,
.cbs-brand-chip[style*="f0d4d8"] .cbs-brand-chip__name {
  color: #1a1a1a !important;
}
.cbs-brand-chip[style*="ead9b8"] .cbs-brand-chip__ft,
.cbs-brand-chip[style*="e8dcc4"] .cbs-brand-chip__ft,
.cbs-brand-chip[style*="f0d9b8"] .cbs-brand-chip__ft,
.cbs-brand-chip[style*="f0d4d8"] .cbs-brand-chip__ft {
  border-top-color: rgba(0,0,0,.18) !important;
}
/* === END CBS-BRANDS-V7-COLOR-FLAG-HOVER === */

/* === BEGIN CBS-BRANDS-V8-FIXES === */
/* 1. Hide flag + name strip inside stamp */
.cbs-brand-chip__ft {
  display: none !important;
}
/* 2. Reduce stamp height */
.cbs-brand-chip {
  min-height: 160px !important;
  padding: 18px 18px !important;
}
.cbs-brand-chip__logo-img {
  max-height: 100px !important;
}
/* 3. Fix flag bg ::before — V2 left a 14x14 corner-bracket width on the pseudo, force it back to full size */
.cbs-brand-chip::before {
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  inset: 0 !important;
}
/* === END CBS-BRANDS-V8-FIXES === */

/* === BEGIN CBS-BRANDS-V8-HEIGHT-SHRINK === */
.cbs-home__brand-rail {
  grid-auto-rows: min-content !important;
}
.cbs-brand-chip {
  align-self: start !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 26px 22px !important;
}
.cbs-brand-chip__logo-img {
  max-height: 80px !important;
  margin: 0 auto !important;
}
/* === END CBS-BRANDS-V8-HEIGHT-SHRINK === */

/* === BEGIN CBS-BRANDS-V8-KILL-LEGACY === */
.cbs-brand-chip, a.cbs-brand-chip {
  aspect-ratio: auto !important;
  filter: none !important;
}
.cbs-brand-chip:hover { filter: none !important; }
.cbs-brand-chip img { max-width: 82% !important; max-height: 100px !important; }
/* === END CBS-BRANDS-V8-KILL-LEGACY === */

/* === BEGIN CBS-APPAREL-V1 === */
body.page-template-home-page-template .cbs-home__apparel {
  background: var(--cbs-bg-0, #000) !important;
  padding: 100px 0 110px !important;
  position: relative;
}
body.page-template-home-page-template .cbs-home__apparel .cbs-container { max-width: 1200px !important; }

/* INTRO — same as STACK UP / ORIGIN */
body.page-template-home-page-template .cbs-home__apparel .cbs-trust__intro {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px) !important;
  align-items: end !important;
  gap: 56px !important;
  padding-bottom: 28px !important;
  border-bottom: 1px solid var(--cbs-line, #262d37) !important;
  margin: 0 0 36px !important;
}
body.page-template-home-page-template .cbs-home__apparel .cbs-eyebrow {
  grid-column: 1 !important; grid-row: 1 !important;
  margin: 0 0 22px !important;
}
body.page-template-home-page-template .cbs-home__apparel .cbs-home__h {
  grid-column: 1 !important; grid-row: 2 !important;
  font-family: var(--cbs-font-display, "Anton", sans-serif) !important;
  font-size: clamp(40px, 5.3vw, 80px) !important;
  font-weight: 400 !important;
  line-height: .94 !important;
  letter-spacing: .002em !important;
  text-transform: uppercase !important;
  color: var(--cbs-fg-1, #fff) !important;
  margin: 0 !important;
  display: block !important;
}
body.page-template-home-page-template .cbs-home__apparel .cbs-home__h .cbs-home__h-rest {
  color: var(--cbs-edge, #6cbde0) !important;
  display: block !important;
}
body.page-template-home-page-template .cbs-home__apparel .cbs-home__sub {
  grid-column: 2 !important; grid-row: 2 !important;
  align-self: end !important;
  font-family: var(--cbs-font-body, "Inter", sans-serif) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  letter-spacing: -0.005em !important;
  text-transform: none !important;
  color: var(--cbs-fg-3, rgba(255,255,255,.62)) !important;
  margin: 0 !important;
  padding: 0 0 0 28px !important;
  max-width: 36ch !important;
  border-left: 1px solid var(--cbs-line, #262d37) !important;
}
body.page-template-home-page-template .cbs-home__apparel .cbs-home__sub strong {
  color: var(--cbs-fg-1, #fff) !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
  text-transform: none !important;
}

/* TAB STRIP — shared component for apparel + bestsellers */
.cbs-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0 0 32px;
  padding: 4px 0;
}
.cbs-tab {
  appearance: none;
  display: inline-flex;
  align-items: center;
  padding: 9px 16px;
  background: transparent;
  border: 1px solid var(--cbs-line, #262d37);
  border-radius: 999px;
  color: var(--cbs-fg-3, rgba(255,255,255,.62));
  font-family: var(--cbs-font-mono, "JetBrains Mono", monospace);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  cursor: pointer;
  transition: border-color .2s var(--cbs-ease), color .2s var(--cbs-ease), background .2s var(--cbs-ease);
}
.cbs-tab:hover {
  border-color: var(--cbs-edge, #6cbde0);
  color: var(--cbs-edge, #6cbde0);
}
.cbs-tab.is-active {
  background: var(--cbs-edge, #6cbde0);
  color: var(--cbs-bg-0, #000);
  border-color: var(--cbs-edge, #6cbde0);
}

/* PRODUCT GRID */
.cbs-prod-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
  margin: 0 0 32px !important;
}
.cbs-prod-item {
  display: block;
  position: relative;
}
.cbs-prod-item.is-hidden {
  display: none !important;
}

/* VIEW ALL CTA */
.cbs-prod-viewall {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 22px;
  margin: 8px 0 0;
  border: 1px solid var(--cbs-line-strong, #3a4250);
  background: transparent;
  color: var(--cbs-fg-1, #fff);
  text-decoration: none;
  font-family: var(--cbs-font-mono, monospace);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  border-radius: 999px;
  transition: border-color .25s var(--cbs-ease), color .25s var(--cbs-ease), background .25s var(--cbs-ease);
}
.cbs-prod-viewall:hover {
  border-color: var(--cbs-edge, #6cbde0);
  color: var(--cbs-edge, #6cbde0);
  background: var(--cbs-edge-soft, rgba(108,189,224,.06));
}
.cbs-prod-viewall i { font-size: 14px !important; }

@media (max-width: 1023px) {
  .cbs-prod-grid { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 760px) {
  .cbs-prod-grid { grid-template-columns: repeat(2, 1fr) !important; }
  body.page-template-home-page-template .cbs-home__apparel .cbs-trust__intro {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  body.page-template-home-page-template .cbs-home__apparel .cbs-home__sub {
    grid-column: 1 !important;
    padding-left: 0 !important;
    border-left: 0 !important;
    border-top: 1px solid var(--cbs-line, #262d37) !important;
    padding-top: 20px !important;
  }
  .cbs-tabs {
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: none;
  }
  .cbs-tabs::-webkit-scrollbar { display: none; }
}
/* === END CBS-APPAREL-V1 === */

/* === BEGIN CBS-CAROUSEL-V1 === */
/* Convert product grid to horizontal scroll-snap carousel */
.cbs-prod-carousel {
  position: relative;
  margin: 0 0 28px;
}
.cbs-prod-carousel .cbs-prod-grid {
  display: flex !important;
  grid-template-columns: none !important;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  scroll-behavior: smooth;
  gap: 16px !important;
  padding: 4px 0 18px !important;
  margin: 0 !important;
  scrollbar-width: thin;
  scrollbar-color: var(--cbs-line-strong, #3a4250) transparent;
  -webkit-overflow-scrolling: touch;
}
.cbs-prod-carousel .cbs-prod-grid::-webkit-scrollbar {
  height: 4px;
}
.cbs-prod-carousel .cbs-prod-grid::-webkit-scrollbar-track {
  background: var(--cbs-bg-1, #0e1116);
}
.cbs-prod-carousel .cbs-prod-grid::-webkit-scrollbar-thumb {
  background: var(--cbs-line-strong, #3a4250);
  border-radius: 4px;
}
.cbs-prod-carousel .cbs-prod-item {
  flex: 0 0 auto;
  width: calc((100% - 16px * 3) / 4);
  scroll-snap-align: start;
}
.cbs-prod-carousel .cbs-prod-item.is-hidden {
  display: none !important;
}

/* Arrow buttons */
.cbs-prod-arrow {
  position: absolute;
  top: 40%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--cbs-bg-1, #0e1116);
  border: 1px solid var(--cbs-line-strong, #3a4250);
  color: var(--cbs-fg-1, #fff);
  cursor: pointer;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: border-color .2s var(--cbs-ease), background .2s var(--cbs-ease), transform .2s var(--cbs-ease);
  box-shadow: 0 6px 20px rgba(0,0,0,.6);
}
.cbs-prod-arrow:hover:not(:disabled) {
  border-color: var(--cbs-edge, #6cbde0);
  color: var(--cbs-edge, #6cbde0);
  transform: translateY(-50%) scale(1.06);
}
.cbs-prod-arrow:disabled {
  opacity: .3;
  cursor: not-allowed;
}
.cbs-prod-arrow--prev { left: -22px; transform: translateY(-50%); }
.cbs-prod-arrow--next { right: -22px; transform: translateY(-50%); }
.cbs-prod-arrow i {
  font-size: 20px !important;
}

@media (max-width: 1100px) {
  .cbs-prod-carousel .cbs-prod-item { width: calc((100% - 16px * 2) / 3); }
}
@media (max-width: 760px) {
  .cbs-prod-carousel .cbs-prod-item { width: calc((100% - 16px) / 2); }
  .cbs-prod-arrow { display: none; }
}
@media (max-width: 480px) {
  .cbs-prod-carousel .cbs-prod-item { width: 78%; }
}
/* === END CBS-CAROUSEL-V1 === */

/* === BEGIN CBS-PILLS-CLEAN === */
/* Single source of truth for pill behavior. All previous overrides removed.
   Class state controls visibility. Trigger sits above pills overlay. */

.cbs-card__info {
  position: absolute !important;
  z-index: 100 !important;
}
.cbs-card__pills {
  display: none !important;
  pointer-events: none !important;
}
.cbs-card.is-pill-open .cbs-card__pills {
  display: flex !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
}
.cbs-card.is-pill-open .cbs-card__pill {
  display: inline-block !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
}
/* Kill all hover-based pill opening */
.cbs-card:hover .cbs-card__pills,
.cbs-card[data-cbs-hover="1"] .cbs-card__pills {
  display: none !important;
}
.cbs-card.is-pill-open:hover .cbs-card__pills,
.cbs-card.is-pill-open[data-cbs-hover="1"] .cbs-card__pills {
  display: flex !important;
}

/* Carousel scroll fix (was CBS-CAROUSEL-NO-SMOOTH) */
.cbs-prod-carousel .cbs-prod-grid {
  scroll-behavior: auto !important;
  scroll-snap-type: none !important;
}
/* === END CBS-PILLS-CLEAN === */

/* === BEGIN CBS-CARD-CLEAN === */
/* 1. Hide IN STOCK / stock indicator entirely on cards (only OOS treatment matters) */
.cbs-card__stock { display: none !important; }

/* 2. Out-of-stock: fade card + diagonal "OUT OF STOCK" stamp over the image */
.cbs-card-li.outofstock .cbs-card,
li.outofstock .cbs-card,
.outofstock > .cbs-card {
  opacity: .55;
  filter: grayscale(.55);
  transition: opacity .25s var(--cbs-ease), filter .25s var(--cbs-ease);
}
.cbs-card-li.outofstock .cbs-card:hover,
li.outofstock .cbs-card:hover,
.outofstock > .cbs-card:hover {
  opacity: .55;
  filter: grayscale(.55);
}
.cbs-card-li.outofstock .cbs-card__frame,
li.outofstock .cbs-card__frame,
.outofstock > .cbs-card .cbs-card__frame {
  position: relative;
}
.cbs-card-li.outofstock .cbs-card__frame::after,
li.outofstock .cbs-card__frame::after,
.outofstock > .cbs-card .cbs-card__frame::after {
  content: "OUT OF STOCK";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%) rotate(-6deg);
  padding: 8px 18px;
  background: rgba(0, 0, 0, .85);
  color: var(--cbs-bad, #ff453a);
  font-family: var(--cbs-font-mono, monospace);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
  border: 1.5px solid var(--cbs-bad, #ff453a);
  border-radius: 2px;
  z-index: 6;
  pointer-events: none;
  white-space: nowrap;
}

/* 3. Wishlist redesign — now inside __body, minimalist heart */
.cbs-card__body { position: relative; }
.cbs-card__wish {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 5;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  pointer-events: auto;
}
.cbs-card__wish a,
.cbs-card__wish .yith-wcwl-add-to-wishlist,
.cbs-card__wish .yith-wcwl-add-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50%;
  background: transparent !important;
  color: var(--cbs-fg-3, rgba(255,255,255,.55)) !important;
  border: 1px solid var(--cbs-line, #262d37) !important;
  text-decoration: none !important;
  transition: color .2s var(--cbs-ease), border-color .2s var(--cbs-ease), transform .2s var(--cbs-ease);
  font-size: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
.cbs-card__wish a:hover,
.cbs-card__wish .yith-wcwl-add-button:hover {
  color: var(--cbs-edge, #6cbde0) !important;
  border-color: var(--cbs-edge, #6cbde0) !important;
  transform: scale(1.08);
}
.cbs-card__wish i,
.cbs-card__wish a::before,
.cbs-card__wish .yith-wcwl-icon::before {
  font-size: 13px !important;
  line-height: 1 !important;
  color: inherit !important;
}
.cbs-card__wish .yith-wcwl-add-to-wishlist {
  width: auto !important;
  height: auto !important;
  border: 0 !important;
}
.cbs-card__wish .yith-wcwl-add-to-wishlist > * {
  display: inline-flex !important;
}
/* Title needs right padding so heart doesn't overlap */
.cbs-card__body .cbs-card__title {
  padding-right: 38px !important;
}
/* "Added" state — filled cyan heart */
.cbs-card__wish .yith-wcwl-wishlistexistsbrowse a,
.cbs-card__wish .added-to-wishlist a,
.cbs-card__wish a.added {
  color: var(--cbs-edge, #6cbde0) !important;
  border-color: var(--cbs-edge, #6cbde0) !important;
  background: var(--cbs-edge-soft, rgba(108,189,224,.12)) !important;
}
/* === END CBS-CARD-CLEAN === */

/* === BEGIN CBS-WISH-V3 === */
/* Custom wishlist button - lives in card body top-right */
.cbs-card__body { position: relative; }
.cbs-wish {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  z-index: 6;
  width: 32px;
  height: 32px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--cbs-line, #262d37);
  color: var(--cbs-fg-3, rgba(255, 255, 255, 0.55));
  cursor: pointer;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1;
  outline: none;
  font: inherit;
  -webkit-appearance: none;
  appearance: none;
  transition: color .2s var(--cbs-ease, ease), border-color .2s var(--cbs-ease), background .2s var(--cbs-ease), transform .2s var(--cbs-ease);
}
.cbs-wish:hover {
  color: var(--cbs-edge, #6cbde0);
  border-color: var(--cbs-edge, #6cbde0);
  background: var(--cbs-bg-2, #161b22);
  transform: scale(1.08);
}
.cbs-wish:focus-visible {
  outline: 2px solid var(--cbs-edge, #6cbde0);
  outline-offset: 2px;
}
.cbs-wish svg {
  width: 15px !important;
  height: 15px !important;
  display: block;
  fill: none;
  stroke: currentColor;
  pointer-events: none;
}
.cbs-wish svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linejoin: round;
  transition: fill .2s var(--cbs-ease);
}
/* Added state: filled cyan heart */
.cbs-wish.is-added {
  color: var(--cbs-edge, #6cbde0);
  border-color: var(--cbs-edge, #6cbde0);
  background: var(--cbs-edge-soft, rgba(108, 189, 224, 0.18));
}
.cbs-wish.is-added svg path {
  fill: var(--cbs-edge, #6cbde0);
  stroke: var(--cbs-edge, #6cbde0);
}
/* Title needs right padding so heart doesn't overlap */
.cbs-card__body .cbs-card__title { padding-right: 42px !important; }
/* Kill any legacy .cbs-card__wish wrapper styles that might still apply */
.cbs-card__wish { display: contents !important; }
/* === END CBS-WISH-V3 === */

/* === BEGIN CBS-FOCUS-AND-HEART === */

/* 1) Kill click-focus rings everywhere. Keep keyboard focus indicator via :focus-visible only. */
button, a, [role="button"], input, select, textarea,
.cbs-tab, .cbs-card__info, .cbs-wish, .cbs-prod-arrow, .cbs-brand-chip,
.cbs-stack-tile, .cbs-card, .cbs-card__cta, .cbs-card__media {
  outline: none !important;
}
button:focus, a:focus, [role="button"]:focus, input:focus, select:focus, textarea:focus,
.cbs-tab:focus, .cbs-card__info:focus, .cbs-wish:focus, .cbs-prod-arrow:focus, .cbs-brand-chip:focus,
.cbs-stack-tile:focus, .cbs-card:focus, .cbs-card__cta:focus, .cbs-card__media:focus {
  outline: none !important;
  box-shadow: none !important;
}
button:focus-visible, a:focus-visible, [role="button"]:focus-visible,
.cbs-tab:focus-visible, .cbs-card__info:focus-visible, .cbs-wish:focus-visible, .cbs-prod-arrow:focus-visible {
  outline: 2px solid var(--cbs-edge, #6cbde0) !important;
  outline-offset: 3px !important;
}

/* 2) Heart centering inside the wishlist button */
.cbs-wish {
  box-sizing: border-box !important;
  line-height: 0 !important;
  font-size: 0 !important;
}
.cbs-wish svg {
  width: 15px !important;
  height: 15px !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  /* Visual nudge: SVG heart path is bottom-weighted so shift up 0.5px for optical center */
  transform: translateY(-0.5px);
}
.cbs-wish * { box-sizing: border-box; }
/* === END CBS-FOCUS-AND-HEART === */

/* === BEGIN CBS-BEST-V1 === */
body.page-template-home-page-template .cbs-home__best {
  background: var(--cbs-bg-0, #000) !important;
  padding: 100px 0 110px !important;
  position: relative;
}
body.page-template-home-page-template .cbs-home__best .cbs-container { max-width: 1200px !important; }

body.page-template-home-page-template .cbs-home__best .cbs-trust__intro {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px) !important;
  align-items: end !important;
  gap: 56px !important;
  padding-bottom: 28px !important;
  border-bottom: 1px solid var(--cbs-line, #262d37) !important;
  margin: 0 0 36px !important;
}
body.page-template-home-page-template .cbs-home__best .cbs-eyebrow {
  grid-column: 1 !important; grid-row: 1 !important;
  margin: 0 0 22px !important;
}
body.page-template-home-page-template .cbs-home__best .cbs-home__h {
  grid-column: 1 !important; grid-row: 2 !important;
  font-family: var(--cbs-font-display, "Anton", sans-serif) !important;
  font-size: clamp(40px, 5.3vw, 80px) !important;
  font-weight: 400 !important;
  line-height: .94 !important;
  letter-spacing: .002em !important;
  text-transform: uppercase !important;
  color: var(--cbs-fg-1, #fff) !important;
  margin: 0 !important;
  display: block !important;
}
body.page-template-home-page-template .cbs-home__best .cbs-home__h .cbs-home__h-rest {
  color: var(--cbs-edge, #6cbde0) !important;
  display: block !important;
}
body.page-template-home-page-template .cbs-home__best .cbs-home__sub {
  grid-column: 2 !important; grid-row: 2 !important;
  align-self: end !important;
  font-family: var(--cbs-font-body, "Inter", sans-serif) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  letter-spacing: -0.005em !important;
  text-transform: none !important;
  color: var(--cbs-fg-3, rgba(255,255,255,.62)) !important;
  margin: 0 !important;
  padding: 0 0 0 28px !important;
  max-width: 36ch !important;
  border-left: 1px solid var(--cbs-line, #262d37) !important;
  text-align: left !important;
}
body.page-template-home-page-template .cbs-home__best .cbs-home__sub strong {
  color: var(--cbs-fg-1, #fff) !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
  text-transform: none !important;
}

@media (max-width: 760px) {
  body.page-template-home-page-template .cbs-home__best .cbs-trust__intro {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  body.page-template-home-page-template .cbs-home__best .cbs-home__sub {
    grid-column: 1 !important;
    padding-left: 0 !important;
    border-left: 0 !important;
    border-top: 1px solid var(--cbs-line, #262d37) !important;
    padding-top: 20px !important;
  }
}
/* === END CBS-BEST-V1 === */

/* === BEGIN CBS-RATING === */
.cbs-card__meta {
  display: flex !important;
  align-items: center;
  gap: 6px;
  margin: 6px 0 4px;
  min-height: 16px;
}
.cbs-card__rating {
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  font-family: var(--cbs-font-mono, "JetBrains Mono", monospace);
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--cbs-fg-2, rgba(255,255,255,.82));
  line-height: 1;
}
.cbs-card__rating i {
  font-size: 13px !important;
  color: var(--cbs-warn, #ffb13c);
  line-height: 1;
}
.cbs-card__rating-num {
  font-weight: 700;
  color: var(--cbs-fg-1, #fff);
}
.cbs-card__reviews {
  font-size: 10.5px;
  color: var(--cbs-fg-3, rgba(255,255,255,.55));
  letter-spacing: .04em;
  text-transform: lowercase;
  font-weight: 400;
}
/* === END CBS-RATING === */

/* ============ CBS-RATING-PILL v2 (image overlay) ============ */
.cbs-card__meta { display: none !important; }
.cbs-card__frame { position: relative !important; }
.cbs-card .cbs-card__frame .cbs-card__rating,
.cbs-card__frame .cbs-card__rating {
  position: absolute !important;
  left: 10px !important;
  bottom: 10px !important;
  top: auto !important;
  right: auto !important;
  z-index: 4 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 5px 10px 5px 9px !important;
  background: rgba(8, 10, 14, 0.82) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  backdrop-filter: blur(6px) !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  border-radius: 999px !important;
  font-family: var(--cbs-font-mono, ui-monospace, monospace) !important;
  font-size: 11px !important;
  line-height: 1 !important;
  letter-spacing: 0.02em !important;
  color: #f4f4f0 !important;
  pointer-events: none !important;
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
}
.cbs-card__frame .cbs-card__rating i {
  font-size: 12px !important;
  color: #ffb13c !important;
  line-height: 1 !important;
}
.cbs-card__frame .cbs-card__rating-num {
  font-weight: 700 !important;
  color: #f4f4f0 !important;
}
.cbs-card__frame .cbs-card__reviews {
  color: rgba(244,244,240,0.65) !important;
  font-size: 10.5px !important;
}
/* ============ /CBS-RATING-PILL v2 ============ */

/* ============ CBS-OOS-NOTIFY — OOS card becomes Notify Me ============ */
/* Suppress hover popup on OOS cards */
.cbs-card.is-oos .cbs-card__info,
.cbs-card.is-oos .cbs-card__pills { display: none !important; }

/* NOTIFY ME active CTA (overrides any leftover .is-disabled treatment) */
.cbs-card__cta.is-notify {
  background: #0e1116 !important;
  color: #6cbde0 !important;
  border: 1px solid #6cbde0 !important;
  cursor: pointer !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transition: background .2s ease, color .2s ease;
}
.cbs-card__cta.is-notify:hover {
  background: #6cbde0 !important;
  color: #000 !important;
}
.cbs-card__cta.is-notify .cbs-card__cta-arr {
  background: #6cbde0 !important;
  color: #000 !important;
}
.cbs-card__cta.is-notify:hover .cbs-card__cta-arr {
  background: #000 !important;
  color: #6cbde0 !important;
}

/* ============ CBS-NOTIFY-MODAL ============ */
.cbs-notify-backdrop {
  position: fixed; inset: 0; z-index: 9998;
  background: rgba(0, 0, 0, 0.78);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  display: none;
  align-items: center; justify-content: center;
  opacity: 0;
  transition: opacity .25s ease;
}
.cbs-notify-backdrop.is-open {
  display: flex;
  opacity: 1;
}
.cbs-notify-modal {
  position: relative;
  width: min(440px, calc(100vw - 32px));
  background: #0e1116;
  border: 1px solid #262d37;
  border-radius: 8px;
  padding: 32px 28px;
  color: #fff;
  font-family: var(--cbs-font-body);
  transform: translateY(12px);
  transition: transform .3s cubic-bezier(.2,.7,.2,1);
}
.cbs-notify-backdrop.is-open .cbs-notify-modal { transform: translateY(0); }
.cbs-notify-modal__close {
  position: absolute; top: 10px; right: 10px;
  width: 32px; height: 32px;
  background: transparent; border: 0; color: rgba(255,255,255,0.62); cursor: pointer;
  font-size: 22px; line-height: 1; padding: 0;
}
.cbs-notify-modal__close:hover { color: #fff; }
.cbs-notify-modal__eyebrow {
  font-family: var(--cbs-font-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  color: #6cbde0;
  text-transform: uppercase;
  margin: 0 0 10px 0;
}
.cbs-notify-modal__title {
  font-family: 'Anton', sans-serif;
  font-size: 30px; line-height: 1.05;
  margin: 0 0 6px 0;
  letter-spacing: 0.01em;
  color: #fff;
}
.cbs-notify-modal__sub {
  font-size: 13px; color: rgba(255,255,255,0.62);
  margin: 0 0 20px 0;
  line-height: 1.5;
}
.cbs-notify-modal__form {
  display: flex; gap: 8px;
}
.cbs-notify-modal__input {
  flex: 1;
  background: #000; color: #fff;
  border: 1px solid #3a4250;
  border-radius: 4px;
  padding: 12px 14px;
  font-size: 14px;
  font-family: var(--cbs-font-body);
}
.cbs-notify-modal__input:focus { outline: 0; border-color: #6cbde0; }
.cbs-notify-modal__submit {
  background: #6cbde0;
  color: #000;
  border: 0;
  padding: 0 18px;
  font-family: 'Anton', sans-serif;
  font-size: 14px;
  letter-spacing: 0.08em;
  cursor: pointer;
  border-radius: 4px;
  white-space: nowrap;
}
.cbs-notify-modal__submit:hover { background: #fff; }
.cbs-notify-modal__msg {
  margin: 10px 0 0 0; font-size: 12px;
  font-family: var(--cbs-font-mono);
  min-height: 16px;
}
.cbs-notify-modal__msg.is-error { color: #ff453a; }
.cbs-notify-modal__msg.is-ok    { color: #34c759; }
/* ============ /CBS-OOS-NOTIFY ============ */

/* ============ CBS-CAROUSEL-SAFARI-GUARDS ============ */
.cbs-prod-carousel .cbs-prod-grid {
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: auto !important;
  scroll-snap-type: none !important;
  scroll-behavior: auto !important;
  overflow-anchor: none !important;
}
.cbs-prod-carousel .cbs-prod-grid::-webkit-scrollbar { display: none; }
.cbs-prod-carousel .cbs-prod-grid > * {
  scroll-snap-align: none !important;
  flex-shrink: 0;
}
/* ============ /CBS-CAROUSEL-SAFARI-GUARDS ============ */

/* ============ CBS-BPASS-V1 — Boarding Pass card aesthetic ============ */
.cbs-card.cbs-card--bp {
  display: flex; flex-direction: column;
  background: #0e1116;
  border: 0;
  border-radius: 0;
  color: #fff;
  font-family: var(--cbs-font-body);
  overflow: hidden;
  position: relative;
  isolation: isolate;
}

/* TOP STRIP */
.cbs-bp__top {
  display: flex; align-items: center; justify-content: space-between;
  padding: 9px 14px;
  font-family: var(--cbs-font-mono);
  font-size: 10.5px;
  letter-spacing: 0.14em;
  color: rgba(255,255,255,0.62);
  background: #0a0d12;
  border-bottom: 1px dashed #262d37;
}
.cbs-bp__code { color: #6cbde0; font-weight: 700; }
.cbs-bp__route { display: inline-flex; align-items: center; gap: 6px; color: #fff; }
.cbs-bp__route-leg { display: inline-flex; align-items: center; gap: 4px; }
.cbs-bp__flag { font-size: 14px; line-height: 1; }
.cbs-bp__iso { font-weight: 700; letter-spacing: 0.10em; }
.cbs-bp__arrow { color: rgba(255,255,255,0.45); display: inline-flex; align-items: center; }
.cbs-bp__arrow i { font-size: 12px; }

/* IMAGE FRAME */
.cbs-bp__frame {
  position: relative;
  aspect-ratio: 1 / 1;
  background: #000;
  overflow: hidden;
}
.cbs-bp__media { display: block; width: 100%; height: 100%; }
.cbs-bp__media img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform .5s cubic-bezier(.2,.7,.2,1);
}
.cbs-card.cbs-card--bp:hover .cbs-bp__media img { transform: scale(1.04); }

/* RATING PILL (image overlay) */
.cbs-bp__rating {
  position: absolute; left: 10px; bottom: 10px;
  display: inline-flex; align-items: center; gap: 5px;
  padding: 5px 10px;
  background: rgba(8,10,14,0.82);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 999px;
  font-family: var(--cbs-font-mono);
  font-size: 11px;
  color: #fff;
  z-index: 4;
  pointer-events: none;
}
.cbs-bp__rating i { color: #ffb13c; font-size: 12px; line-height: 1; }
.cbs-bp__rating-num { font-weight: 700; }
.cbs-bp__reviews { color: rgba(255,255,255,0.62); }

/* BODY (stub section) */
.cbs-bp__body {
  position: relative;
  padding: 14px 14px 14px;
  background: #0e1116;
  border-top: 1px dashed #2a3140;
}

.cbs-card.cbs-card--bp .cbs-wish {
  position: absolute;
  top: 12px; right: 12px;
  width: 30px; height: 30px;
  background: transparent;
  border: 1px solid #3a4250;
  border-radius: 50%;
  color: rgba(255,255,255,0.62);
  cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0;
  line-height: 0;
  z-index: 2;
}
.cbs-card.cbs-card--bp .cbs-wish:hover { color: #fff; border-color: #6cbde0; }
.cbs-card.cbs-card--bp .cbs-wish.is-added { color: #6cbde0; border-color: #6cbde0; }
.cbs-card.cbs-card--bp .cbs-wish svg { width: 16px; height: 16px; display: block; }

.cbs-bp__label {
  display: block;
  font-family: var(--cbs-font-mono);
  font-size: 10px;
  letter-spacing: 0.20em;
  color: rgba(255,255,255,0.42);
  text-transform: uppercase;
  margin: 0;
  line-height: 1;
}

.cbs-bp__title {
  display: block;
  font-family: 'Anton', sans-serif;
  font-size: 20px;
  line-height: 1.05;
  color: #fff;
  text-decoration: none;
  margin: 5px 0 14px 0;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  padding-right: 40px;
  min-height: 42px;
}
.cbs-bp__title:hover { color: #6cbde0; }

.cbs-bp__metrics {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  column-gap: 14px;
  gap: 10px;
  padding: 12px 0;
  border-top: 1px dashed #262d37;
  border-bottom: 1px dashed #262d37;
  margin-bottom: 12px;
}
.cbs-bp__metric { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cbs-bp__value {
  font-family: 'Anton', sans-serif;
  font-size: 16px;
  letter-spacing: 0.03em;
  color: #fff;
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cbs-bp__value--status { color: #34c759; }
.cbs-bp__value--status.is-bad { color: #ff453a; }

/* CTA — slim boarding ticket button */
.cbs-card.cbs-card--bp .cbs-card__cta {
  display: flex; align-items: center; justify-content: space-between;
  background: #fff;
  color: #000;
  text-decoration: none;
  font-family: 'Anton', sans-serif;
  font-size: 14px;
  letter-spacing: 0.08em;
  padding: 9px 10px 9px 14px;
  border-radius: 4px;
  transition: background .2s ease, color .2s ease;
  text-transform: uppercase;
}
.cbs-card.cbs-card--bp .cbs-card__cta-arr {
  background: #000;
  color: #fff;
  width: 26px; height: 26px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 4px;
  transition: background .2s ease, color .2s ease;
}
.cbs-card.cbs-card--bp .cbs-card__cta:hover { background: #6cbde0; color: #000; }

/* OOS card */
.cbs-card.cbs-card--bp.is-oos .cbs-bp__media img { opacity: 0.45; filter: grayscale(0.7); }
.cbs-card.cbs-card--bp.is-oos .cbs-card__cta.is-notify {
  background: #0e1116;
  color: #6cbde0;
  border: 1px solid #6cbde0;
}
.cbs-card.cbs-card--bp.is-oos .cbs-card__cta.is-notify .cbs-card__cta-arr {
  background: #6cbde0;
  color: #000;
}
.cbs-card.cbs-card--bp.is-oos .cbs-card__cta.is-notify:hover {
  background: #6cbde0;
  color: #000;
}
.cbs-card.cbs-card--bp.is-oos .cbs-card__cta.is-notify:hover .cbs-card__cta-arr {
  background: #000;
  color: #6cbde0;
}

/* Mobile tweak */
@media (max-width: 560px){
  .cbs-bp__title { font-size: 18px; }
  .cbs-bp__value { font-size: 15px; }
  .cbs-bp__top { padding: 8px 12px; font-size: 10px; }
}
/* ============ /CBS-BPASS-V1 ============ */

/* CBS-BPASS-FROM-FIX */
.cbs-bp__from {
  font-family: var(--cbs-font-mono);
  font-size: 9px;
  letter-spacing: 0.12em;
  color: rgba(255,255,255,0.55);
  margin-right: 2px;
  text-transform: uppercase;
  font-weight: 400;
}
/* tighten variable price wrapping */
.cbs-bp__metric .cbs-bp__value .woocommerce-Price-amount { font-family: 'Anton', sans-serif; font-size: 17px; }
/* /CBS-BPASS-FROM-FIX */

/* ============ CBS-BPASS-SHAPE — SVG outline + clip-path boarding-pass shape ============ */
/* Title clamped to exactly 2 lines so card height is deterministic per width */
.cbs-bp__title {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: 42px;
  max-height: 42px;
}

.cbs-card.cbs-card--bp {
  background: transparent !important;
  position: relative;
  border: 0 !important;
  border-radius: 0 !important;
}
.cbs-bp__inner {
  background: #0e1116;
  position: relative;
  z-index: 0;
}
.cbs-bp__shape {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: visible;
  z-index: 5;
}
.cbs-bp__shape-path {
  fill: none;
  stroke: #262d37;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
  transition: stroke .25s ease;
}
.cbs-card.cbs-card--bp:hover .cbs-bp__shape-path { stroke: #6cbde0; }
/* ============ /CBS-BPASS-SHAPE ============ */

/* CBS-BPASS-NOSHADOW — kill rectangular box-shadow that drew straight lines through notches */
.cbs-card.cbs-card--bp,
.cbs-card.cbs-card--bp:hover {
  box-shadow: none !important;
  outline: 0 !important;
}
.cbs-card.cbs-card--bp .cbs-bp__inner,
.cbs-card.cbs-card--bp .cbs-bp__frame {
  box-shadow: none !important;
  outline: 0 !important;
}
/* /CBS-BPASS-NOSHADOW */

/* CBS-BPASS-CAT — tighter sizing for CATEGORY metric (names can run long) */
.cbs-bp__value--cat {
  font-size: 14px !important;
  letter-spacing: 0.02em !important;
}
/* /CBS-BPASS-CAT */

/* ============ CBS-BPASS-PILLS — floating ticker chips at bottom of image ============ */
/* Info trigger button (top-right of image) */
.cbs-card.cbs-card--bp .cbs-bp__frame .cbs-card__info {
  position: absolute !important;
  top: 10px !important; right: 10px !important;
  z-index: 4 !important;
  width: 30px !important; height: 30px !important;
  background: rgba(8, 10, 14, 0.78) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  backdrop-filter: blur(6px) !important;
  border: 1px solid rgba(108, 189, 224, 0.45) !important;
  border-radius: 50% !important;
  color: #6cbde0 !important;
  display: inline-flex !important;
  align-items: center !important; justify-content: center !important;
  cursor: pointer !important;
  padding: 0 !important; margin: 0 !important;
  line-height: 0 !important;
  transition: background .2s, color .2s, border-color .2s !important;
}
.cbs-card.cbs-card--bp .cbs-bp__frame .cbs-card__info i { font-size: 13px !important; line-height: 1 !important; }
.cbs-card.cbs-card--bp .cbs-bp__frame .cbs-card__info:hover { background: #6cbde0 !important; color: #000 !important; }
.cbs-card.cbs-card--bp.is-pill-open .cbs-bp__frame .cbs-card__info { background: #6cbde0 !important; color: #000 !important; }

/* Pills container: bottom-aligned strip, no full overlay, no blur */
.cbs-card.cbs-card--bp .cbs-bp__frame .cbs-card__pills {
  position: absolute !important;
  left: 10px !important; right: 10px !important; bottom: 10px !important;
  top: auto !important;
  z-index: 3 !important;
  display: flex !important;
  flex-wrap: wrap-reverse !important;
  flex-direction: row !important;
  align-content: flex-end !important;
  justify-content: flex-start !important;
  gap: 5px !important;
  padding: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: visible !important;
  pointer-events: none !important;
  max-height: 65% !important;
  opacity: 1 !important;
}

/* Each pill: its own small dark chip with mono text */
.cbs-card.cbs-card--bp .cbs-bp__frame .cbs-card__pills .cbs-card__pill {
  display: inline-flex !important;
  align-items: center !important;
  height: auto !important;
  min-height: 22px !important;
  padding: 4px 9px !important;
  font-family: var(--cbs-font-mono) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  background: rgba(8, 10, 14, 0.82) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  border-radius: 3px !important;
  -webkit-backdrop-filter: blur(4px) !important;
  backdrop-filter: blur(4px) !important;
  white-space: nowrap !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  margin: 0 !important;
  text-decoration: none !important;
  box-shadow: 0 4px 18px rgba(0,0,0,0.45) !important;
  pointer-events: auto;
  /* Initial pre-animation state */
  opacity: 0;
  transform: translate(0, 16px) rotate(-6deg) scale(0.85);
  transform-origin: left bottom;
  transition: opacity .35s ease, transform .5s cubic-bezier(.2,.7,.2,1);
}
/* Hide pills when card is NOT open */
.cbs-card.cbs-card--bp:not(.is-pill-open) .cbs-bp__frame .cbs-card__pills { pointer-events: none; }
.cbs-card.cbs-card--bp:not(.is-pill-open) .cbs-bp__frame .cbs-card__pills .cbs-card__pill { opacity: 0; pointer-events: none; }

/* Animated-in state */
.cbs-card.cbs-card--bp.is-pill-open .cbs-bp__frame .cbs-card__pills .cbs-card__pill {
  opacity: 1 !important;
  transform: translate(0, 0) rotate(0) scale(1) !important;
}

/* Stagger */
.cbs-card.cbs-card--bp.is-pill-open .cbs-bp__frame .cbs-card__pills .cbs-card__pill:nth-child(1){ transition-delay: 60ms; }
.cbs-card.cbs-card--bp.is-pill-open .cbs-bp__frame .cbs-card__pills .cbs-card__pill:nth-child(2){ transition-delay: 130ms; }
.cbs-card.cbs-card--bp.is-pill-open .cbs-bp__frame .cbs-card__pills .cbs-card__pill:nth-child(3){ transition-delay: 200ms; }
.cbs-card.cbs-card--bp.is-pill-open .cbs-bp__frame .cbs-card__pills .cbs-card__pill:nth-child(4){ transition-delay: 270ms; }
.cbs-card.cbs-card--bp.is-pill-open .cbs-bp__frame .cbs-card__pills .cbs-card__pill:nth-child(5){ transition-delay: 340ms; }

/* When pills open, dim the rating pill slightly so it doesn't fight for attention */
.cbs-card.cbs-card--bp.is-pill-open .cbs-bp__frame .cbs-bp__rating { opacity: .55 !important; transition: opacity .25s ease; }
/* ============ /CBS-BPASS-PILLS ============ */

/* CBS-BPASS-PILLS-RATED — when card has a rating pill, push description pills above it */
.cbs-card.cbs-card--bp .cbs-bp__frame--rated .cbs-card__pills { bottom: 46px !important; }
/* Don't dim rating when pills open; it should stay readable */
.cbs-card.cbs-card--bp.is-pill-open .cbs-bp__frame .cbs-bp__rating { opacity: 1 !important; }
/* /CBS-BPASS-PILLS-RATED */

/* ============ CBS-CABINCREW-V2 — Full-bleed cinematic ambassador section ============ */
.cbs-home__crew.cbs-crew--cinema {
  position: relative;
  min-height: 640px;
  display: flex;
  align-items: center;
  padding: 0;
  overflow: hidden;
  isolation: isolate;
  background: var(--cbs-bg-0, #000);
  color: #fff;
  border-top: 1px solid var(--cbs-line, #262d37);
  border-bottom: 1px solid var(--cbs-line, #262d37);
}
/* Background image layer (replace url() with the creator photo) */
.cbs-crew__bg {
  position: absolute; inset: 0; z-index: 0;
  background-image: url("/wp-content/uploads/2026/07/cbs-legion-desktop.jpg");
  background-size: cover;
  background-position: center;
  filter: grayscale(0.2) contrast(1.05);
  transform: scale(1.02);
}
/* Cinematic veil — strong left, fades right */
.cbs-crew__veil {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(90deg, rgba(0,0,0,0.92) 0%, rgba(0,0,0,0.72) 38%, rgba(0,0,0,0.30) 72%, rgba(0,0,0,0.45) 100%),
    radial-gradient(circle at 80% 50%, rgba(108,189,224,0.10), transparent 55%);
  pointer-events: none;
}
/* Subtle film grain via fine tiled noise */
.cbs-crew__grain {
  position: absolute; inset: 0; z-index: 2;
  pointer-events: none;
  opacity: 0.06;
  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="1.2" numOctaves="2"/><feColorMatrix values="0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 1 0"/></filter><rect width="100%" height="100%" filter="url(%23n)"/></svg>');
  mix-blend-mode: overlay;
}
.cbs-crew__container {
  position: relative; z-index: 3;
  max-width: 1200px; margin: 0 auto;
  padding: 120px 28px;
  width: 100%;
}
.cbs-crew__overlay {
  max-width: 620px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
/* Existing .cbs-crew__stamp keeps its style — but ensure visible width */
.cbs-crew__stamp {
  display: inline-flex; align-items: center; gap: 8px;
  width: fit-content;
  padding: 6px 14px;
  border: 1px solid var(--cbs-edge, #6cbde0);
  border-radius: 2px;
  font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace);
  font-size: 11px;
  letter-spacing: 0.20em;
  color: var(--cbs-edge, #6cbde0);
  text-transform: uppercase;
  background: rgba(8,10,14,0.55);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
.cbs-crew__stamp-sep { opacity: 0.55; }
.cbs-crew__h {
  font-family: var(--cbs-font-display, 'Anton', sans-serif);
  font-size: clamp(54px, 9vw, 128px);
  line-height: 0.92;
  margin: 4px 0 0;
  letter-spacing: 0.005em;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 0 4px 24px rgba(0,0,0,0.55);
}
.cbs-crew__sub {
  font-family: var(--cbs-font-body, 'Inter', sans-serif);
  font-size: 16px;
  line-height: 1.55;
  color: rgba(255,255,255,0.82);
  margin: 14px 0 0;
  max-width: 460px;
}
.cbs-crew__cta-row {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  margin-top: 14px;
}
.cbs-crew__btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 14px 14px 14px 24px;
  background: #fff;
  color: #000;
  border-radius: 6px;
  text-decoration: none;
  font-family: var(--cbs-font-display, 'Anton', sans-serif);
  font-size: 16px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: background .2s ease, color .2s ease, transform .25s ease;
}
.cbs-crew__btn:hover { background: var(--cbs-edge, #6cbde0); transform: translateY(-2px); }
.cbs-crew__btn-arr {
  display: inline-flex; align-items: center; justify-content: center;
  width: 30px; height: 30px;
  background: #000;
  color: #fff;
  border-radius: 4px;
  transition: background .2s ease, color .2s ease;
}
.cbs-crew__btn:hover .cbs-crew__btn-arr { background: #000; color: var(--cbs-edge, #6cbde0); }
.cbs-crew__cta-hint {
  font-family: var(--cbs-font-mono, monospace);
  font-size: 11px;
  letter-spacing: 0.18em;
  color: rgba(255,255,255,0.55);
  text-transform: uppercase;
}

/* Mobile */
@media (max-width: 768px) {
  .cbs-home__crew.cbs-crew--cinema { min-height: 540px; }
  .cbs-crew__container { padding: 80px 22px; }
  .cbs-crew__veil { background: linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.88) 100%); }
}
/* ============ /CBS-CABINCREW-V2 ============ */

/* CBS-CABINCREW-V2-HARD — force-win specificity on h2 styling */
.cbs-home__crew.cbs-crew--cinema .cbs-crew__overlay h2.cbs-crew__h,
.cbs-home__crew .cbs-crew__h {
  font-family: var(--cbs-font-display, 'Anton', sans-serif) !important;
  font-size: clamp(54px, 9vw, 128px) !important;
  font-weight: 400 !important;
  line-height: 0.92 !important;
  letter-spacing: 0.005em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  margin: 4px 0 0 !important;
  text-shadow: 0 4px 24px rgba(0,0,0,0.55) !important;
  display: block !important;
  max-width: none !important;
}
/* /CBS-CABINCREW-V2-HARD */

/* ============ CBS-ROSTER-CARD-V1 — Dark editorial portrait card (Athletes) ============ */
/* Section frame */
.cbs-home__ath.cbs-home__ath--roster {
  padding: 100px 0 110px;
  background: var(--cbs-bg-0, #06080b);
  color: #fff;
}
.cbs-home__ath--roster .cbs-container { max-width: 1280px; margin: 0 auto; padding: 0 24px; }
.cbs-home__ath--roster .cbs-home__sub { margin: 26px 0 50px; max-width: 720px; }
.cbs-home__ath--roster .cbs-home__sub-h {
  font-family: var(--cbs-font-display, 'Anton', sans-serif) !important;
  font-size: clamp(42px, 6vw, 80px) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  margin: 0 !important;
  letter-spacing: 0.005em !important;
  text-transform: uppercase !important;
  color: #fff !important;
}
.cbs-home__ath--roster .cbs-home__sub-p {
  font-size: 15px; color: rgba(255,255,255,0.62);
  margin: 12px 0 0; line-height: 1.55; max-width: 560px;
}

/* Grid: 4 cards in a single row on desktop */
.cbs-roster__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
@media (max-width: 1100px) { .cbs-roster__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .cbs-roster__grid { grid-template-columns: 1fr; } }

/* ─── CARD ROOT ─── */
.cbs-roster-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #0e1116;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px;
  overflow: hidden;
  transition: transform .45s cubic-bezier(.2,.7,.2,1), border-color .35s ease, box-shadow .35s ease;
  isolation: isolate;
}
.cbs-roster-card::before {
  /* subtle inner highlight ring */
  content: ''; position: absolute; inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
  pointer-events: none; z-index: 2;
}
.cbs-roster-card:hover {
  transform: translateY(-6px);
  border-color: rgba(108,189,224,0.45);
  box-shadow: 0 28px 60px rgba(0,0,0,0.55), 0 0 0 1px rgba(108,189,224,0.18);
}

/* ─── MEDIA (photo) ─── */
.cbs-roster-card__media {
  position: relative;
  aspect-ratio: 4 / 5;
  background: #050709;
  overflow: hidden;
}
.cbs-roster-card__img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(0.08) contrast(1.04);
  transition: transform .8s cubic-bezier(.2,.7,.2,1), filter .4s ease;
}
.cbs-roster-card:hover .cbs-roster-card__img {
  transform: scale(1.04);
  filter: grayscale(0) contrast(1.08);
}
/* Veil — gradient that fades from transparent top to dark bottom */
.cbs-roster-card__veil {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(6,8,11,0.20) 0%, rgba(6,8,11,0) 30%, rgba(6,8,11,0) 55%, rgba(6,8,11,0.70) 100%);
  pointer-events: none;
  z-index: 1;
}
/* Index pill top-left (01 / 04) */
.cbs-roster-card__index {
  position: absolute;
  top: 14px; left: 14px; z-index: 2;
  display: inline-flex; align-items: baseline;
  gap: 4px;
  padding: 5px 10px;
  background: rgba(8,10,14,0.55);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 999px;
  font-family: var(--cbs-font-mono, monospace);
  font-size: 11px;
  letter-spacing: 0.16em;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
}
.cbs-roster-card__index span {
  color: rgba(255,255,255,0.5);
  font-size: 10px;
  font-weight: 500;
}
/* Location chip bottom-right of photo */
.cbs-roster-card__location {
  position: absolute;
  bottom: 14px; left: 14px; z-index: 2;
  display: inline-flex; align-items: center;
  gap: 5px;
  font-family: var(--cbs-font-mono, monospace);
  font-size: 10.5px;
  letter-spacing: 0.12em;
  color: rgba(255,255,255,0.82);
  text-transform: uppercase;
  font-weight: 600;
  text-shadow: 0 1px 3px rgba(0,0,0,0.6);
}
.cbs-roster-card__location i { font-size: 11px; color: var(--cbs-edge, #6cbde0); }

/* ─── BODY ─── */
.cbs-roster-card__body {
  padding: 22px 20px 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.cbs-roster-card__role {
  font-family: var(--cbs-font-mono, monospace);
  font-size: 10.5px;
  letter-spacing: 0.22em;
  color: var(--cbs-edge, #6cbde0);
  text-transform: uppercase;
  font-weight: 700;
}
.cbs-roster-card__name {
  font-family: var(--cbs-font-display, 'Anton', sans-serif) !important;
  font-size: clamp(22px, 1.7vw, 28px) !important;
  font-weight: 400 !important;
  line-height: 1.02 !important;
  letter-spacing: 0.01em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  margin: 0 0 6px !important;
  text-wrap: balance;
}
.cbs-roster-card__bio {
  font-family: var(--cbs-font-body, 'Inter', sans-serif);
  font-size: 13px;
  line-height: 1.5;
  color: rgba(255,255,255,0.62);
  margin: 0 0 14px;
}

/* ─── STATS (icon + value chips) ─── */
.cbs-roster-card__stats {
  list-style: none;
  margin: 0; padding: 14px 0 0;
  border-top: 1px solid rgba(255,255,255,0.06);
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.cbs-roster-card__stats li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--cbs-font-mono, monospace);
  font-size: 11px;
  letter-spacing: 0.10em;
  font-weight: 600;
  color: rgba(255,255,255,0.82);
  text-transform: uppercase;
}
.cbs-roster-card__stats i {
  width: 24px; height: 24px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(108,189,224,0.10);
  border: 1px solid rgba(108,189,224,0.20);
  border-radius: 6px;
  font-size: 13px;
  color: var(--cbs-edge, #6cbde0);
  flex-shrink: 0;
}

/* ─── FOLLOW BAR (bottom) ─── */
.cbs-roster-card__follow {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: #050709;
  border-top: 1px solid rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.78);
  text-decoration: none;
  font-family: var(--cbs-font-mono, monospace);
  font-size: 11px;
  letter-spacing: 0.12em;
  transition: background .25s ease, color .25s ease;
}
.cbs-roster-card__follow:hover { background: var(--cbs-edge, #6cbde0); color: #0a0d12; }
.cbs-roster-card__follow:hover .cbs-roster-card__follow-handle,
.cbs-roster-card__follow:hover .cbs-roster-card__follow-cta,
.cbs-roster-card__follow:hover .cbs-roster-card__follow-arr { color: #0a0d12; }
.cbs-roster-card__follow > i:first-child { font-size: 16px; color: #fff; }
.cbs-roster-card__follow:hover > i:first-child { color: #0a0d12; }
.cbs-roster-card__follow-handle {
  color: rgba(255,255,255,0.62);
  text-transform: lowercase;
  font-weight: 500;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.cbs-roster-card__follow-cta {
  font-family: var(--cbs-font-display, 'Anton', sans-serif);
  font-size: 14px;
  letter-spacing: 0.08em;
  color: #fff;
  text-transform: uppercase;
}
.cbs-roster-card__follow-arr { font-size: 13px; transition: transform .25s ease; }
.cbs-roster-card__follow:hover .cbs-roster-card__follow-arr { transform: translate(2px,-2px); }

/* ============ /CBS-ROSTER-CARD-V1 ============ */

/* CBS-ROSTER-CARD-V1-PILLS — restyle stats as inline pills under the name */
.cbs-roster-card__stats {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  padding: 0 !important;
  margin: 2px 0 14px !important;
  border-top: 0 !important;
}
.cbs-roster-card__stats li {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 4px 9px 4px 6px !important;
  background: rgba(108,189,224,0.10) !important;
  border: 1px solid rgba(108,189,224,0.22) !important;
  border-radius: 999px !important;
  font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace) !important;
  font-size: 9.5px !important;
  letter-spacing: 0.08em !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,0.85) !important;
  text-transform: uppercase !important;
  line-height: 1.1 !important;
}
.cbs-roster-card__stats i {
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-size: 11px !important;
  color: var(--cbs-edge, #6cbde0) !important;
  padding: 0 !important;
}
/* Bio sits BELOW the stats now; add a top divider above bio instead of above stats */
.cbs-roster-card__bio {
  padding-top: 14px !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
  margin: 0 !important;
}
/* /CBS-ROSTER-CARD-V1-PILLS */

/* CBS-WISH-CYAN-ALWAYS — wishlist heart active state is cyan everywhere (no red anywhere) */
.cbs-wish.is-added,
.cbs-wish.is-active,
.cbs-wish[aria-pressed="true"] {
  color: #6cbde0 !important;
  border-color: #6cbde0 !important;
}
.cbs-wish.is-added svg,
.cbs-wish.is-active svg,
.cbs-wish[aria-pressed="true"] svg {
  color: #6cbde0 !important;
}
.cbs-wish.is-added svg path,
.cbs-wish.is-active svg path,
.cbs-wish[aria-pressed="true"] svg path {
  fill: #6cbde0 !important;
  stroke: #6cbde0 !important;
}
/* Kill any legacy red shadow halo on hover/active too */
.cbs-wish.is-added:hover,
.cbs-wish.is-active:hover,
.cbs-wish[aria-pressed="true"]:hover {
  color: #6cbde0 !important;
  border-color: #6cbde0 !important;
  box-shadow: 0 0 0 2px rgba(108,189,224,0.18) !important;
}
/* /CBS-WISH-CYAN-ALWAYS */

/* ─── CBS-ROSTER-CARD-V1-NOTCH (SVG side notches, boarding-pass silhouette) ─── */
.cbs-roster-card { border: 0; }
.cbs-roster-card__outline {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 3;
  overflow: visible;
  display: block;
}
.cbs-roster-card__outline-path {
  fill: none;
  stroke: rgba(255,255,255,0.12);
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
  transition: stroke .35s ease;
}
.cbs-roster-card:hover .cbs-roster-card__outline-path {
  stroke: rgba(108,189,224,0.55);
}
/* ─── END CBS-ROSTER-CARD-V1-NOTCH ─── */

/* CBS-HOME-HEADERS-V1 — unified section header styling for all home page sections, modeled on TOP MOVERS pattern */
body.page-template-home-page-template .cbs-trust__intro {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(280px,360px) !important;
  align-items: end !important;
  gap: 56px !important;
  padding-bottom: 28px !important;
  border-bottom: 1px solid var(--cbs-line, #262d37) !important;
  margin: 0 0 36px !important;
}
body.page-template-home-page-template .cbs-trust__intro .cbs-home__h {
  grid-area: 2 / 1 !important;
  font-family: var(--cbs-font-display, "Anton", sans-serif) !important;
  font-size: clamp(40px, 5.3vw, 80px) !important;
  font-weight: 400 !important;
  line-height: 0.94 !important;
  letter-spacing: 0.002em !important;
  text-transform: uppercase !important;
  color: var(--cbs-fg-1, #fff) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  position: static !important;
}
body.page-template-home-page-template .cbs-trust__intro .cbs-home__h::before,
body.page-template-home-page-template .cbs-trust__intro .cbs-home__h::after {
  content: none !important;
}
body.page-template-home-page-template .cbs-trust__intro .cbs-home__h .cbs-home__h-rest {
  color: var(--cbs-edge, #6cbde0) !important;
  display: block !important;
}
body.page-template-home-page-template .cbs-trust__intro .cbs-home__sub {
  grid-area: 2 / 2 !important;
  align-self: end !important;
  font-family: var(--cbs-font-body, "Inter", sans-serif) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  letter-spacing: -0.005em !important;
  text-transform: none !important;
  color: var(--cbs-fg-3, rgba(255,255,255,.62)) !important;
  margin: 0 !important;
  padding: 0 0 0 28px !important;
  border-left: 1px solid var(--cbs-line, #262d37) !important;
  border-top: 0 !important;
}
body.page-template-home-page-template .cbs-trust__intro .cbs-home__sub strong {
  color: var(--cbs-fg-1, #fff) !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
  text-transform: none !important;
}
@media (max-width: 760px) {
  body.page-template-home-page-template .cbs-trust__intro {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  body.page-template-home-page-template .cbs-trust__intro .cbs-home__h {
    grid-area: auto !important;
    font-size: clamp(36px, 9vw, 56px) !important;
  }
  body.page-template-home-page-template .cbs-trust__intro .cbs-home__sub {
    grid-area: auto !important;
    grid-column: 1 !important;
    padding-left: 0 !important;
    padding-top: 20px !important;
    border-top: 1px solid var(--cbs-line, #262d37) !important;
  }
}

/* Section vertical padding — unified, tighter than legacy 100/110 */
body.page-template-home-page-template :is(.cbs-home__stack, .cbs-home__brands, .cbs-home__apparel, .cbs-home__best, .cbs-home__ath, .cbs-home__trust, .cbs-home__blog) {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}
/* CBS-HOME-APPAREL-BEST-JOIN — collapse vertical gap between APPAREL and BEST so they read as one block */
body.page-template-home-page-template .cbs-home__apparel { padding-bottom: 0 !important; border-bottom: 0 !important; }
body.page-template-home-page-template .cbs-home__best { padding-top: 48px !important; padding-bottom: 110px !important; border-top: 0 !important; }
/* End CBS-HOME-APPAREL-BEST-JOIN */

/* End CBS-HOME-SECTION-PADDING */

/* End CBS-HOME-HEADERS-V1 */

/* CBS-BLOG-DISPATCH-V5 — uniform blog tiles, no bento, no excerpt, rounded photo inset within the cyan boarding-pass card. */

/* Grid: equal cards via auto-fit, no special feature span */
body.page-template-home-page-template .cbs-home__blog .cbs-home__blog-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)) !important;
  gap: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Card stroke (inset so it works alongside the boarding-pass CSS mask notches) */
body.page-template-home-page-template .cbs-home__blog .cbs-stack-tile--dispatch {
  position: relative !important;
  padding: 0 !important;
  /* Recalibrate notch position: 2-zone layout (cyan + barcode), not 3-zone like product stack tiles.
     Notch must land at the cyan/barcode seam, not inside the cyan headline area. */
  --notch-y: calc(100% - 83px) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.10) !important;
  transition: box-shadow .35s ease, transform .35s ease !important;
}
/* Realign the dashed perforation to sit in the seam alongside the notches */
body.page-template-home-page-template .cbs-home__blog .cbs-stack-tile--dispatch .cbs-stack-tile__barcode::before {
  top: -20px !important;
  left: 16px !important;
  right: 16px !important;
}

/* Photo zone — inset with margin so it visibly has rounded corners inside the cyan tile */
body.page-template-home-page-template .cbs-home__blog .cbs-stack-tile__photo {
  flex: 0 0 auto !important;
  width: 100% !important;
  margin: 0 !important;
  aspect-ratio: 16 / 9 !important;
  background-image: var(--photo-bg, none) !important;
  background-color: #06080b !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  border-radius: 4px 4px 0 0 !important;
  overflow: hidden !important;
  position: relative !important;
}
/* Container width — match other home sections (1200px max) */
body.page-template-home-page-template .cbs-home__blog .cbs-container {
  max-width: 1200px !important;
}
/* Cyan ticket spacing — give the headline room to breathe between photo and barcode */
body.page-template-home-page-template .cbs-home__blog .cbs-stack-tile--dispatch .cbs-stack-tile__hd {
  padding: 24px 28px 24px !important;
  gap: 0 !important;
}
body.page-template-home-page-template .cbs-home__blog .cbs-stack-tile--dispatch .cbs-stack-tile__hd {
  overflow: hidden !important;
  min-width: 0 !important;
}
body.page-template-home-page-template .cbs-home__blog .cbs-stack-tile--dispatch .cbs-stack-tile__title {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
body.page-template-home-page-template .cbs-home__blog .cbs-stack-tile--dispatch .cbs-stack-tile__stackname {
  margin: 0 !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
/* Subtle cyan->transparent vignette at top of photo for brand temperature */
body.page-template-home-page-template .cbs-home__blog .cbs-stack-tile__photo::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(108,189,224,0.10) 0%, rgba(108,189,224,0.0) 35%, rgba(0,0,0,0) 100%) !important;
  pointer-events: none !important;
  border-radius: 4px 4px 0 0 !important;
}

/* Keep __hd visible, __inner hidden (we don't emit it) */
body.page-template-home-page-template .cbs-home__blog .cbs-stack-tile--dispatch .cbs-stack-tile__hd,
body.page-template-home-page-template .cbs-home__blog .cbs-stack-tile--dispatch .cbs-stack-tile__barcode {
  display: flex !important;
}
body.page-template-home-page-template .cbs-home__blog .cbs-stack-tile--dispatch .cbs-stack-tile__inner {
  display: none !important;
}

/* Hover: cyan-tinted stroke + soft glow + lift */
body.page-template-home-page-template .cbs-home__blog .cbs-stack-tile--dispatch:hover {
  box-shadow: inset 0 0 0 1px rgba(108,189,224,0.55), 0 22px 44px -22px rgba(108,189,224,0.32) !important;
  transform: translateY(-3px) !important;
}

@media (max-width: 760px) {
  body.page-template-home-page-template .cbs-home__blog .cbs-home__blog-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ALL ARTICLES button — canonical outlined pill */
body.page-template-home-page-template .cbs-home__blog .cbs-home__more {
  margin: 36px 0 0 !important;
  display: flex !important;
  justify-content: center !important;
}
body.page-template-home-page-template .cbs-home__blog .cbs-home__more-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 14px 22px !important;
  font-family: var(--cbs-font-mono, "JetBrains Mono"), monospace !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--cbs-fg-1, #fff) !important;
  text-decoration: none !important;
  border: 1px solid var(--cbs-line-strong, #3a4250) !important;
  border-radius: 999px !important;
  background: transparent !important;
  transition: border-color .25s ease, color .25s ease, background .25s ease !important;
}
body.page-template-home-page-template .cbs-home__blog .cbs-home__more-btn:hover {
  border-color: var(--cbs-edge, #6cbde0) !important;
  color: var(--cbs-edge, #6cbde0) !important;
  background: rgba(108,189,224,0.06) !important;
}
/* End CBS-BLOG-DISPATCH-V5 */

/* ============================================================
   CBS-BLOG-BARCODE-INSET — match stack tile inset for blog cards
   Blog dispatch variant had barcode running edge-to-edge; stacks
   have it inset 24px on sides and 20px from card bottom. Bring
   blog cards into line and recalibrate notch-y to land on new seam.
   ============================================================ */
body.page-template-home-page-template .cbs-home__blog .cbs-stack-tile--dispatch {
  --notch-y: calc(100% - 115px) !important;
}
body.page-template-home-page-template .cbs-home__blog .cbs-stack-tile--dispatch .cbs-stack-tile__barcode {
  margin: 40px 24px 20px !important;
}
/* End CBS-BLOG-BARCODE-INSET */

/* ============================================================
   CBS-BLOG-OVERLAY-HD V1 — blog title overlays the photo
   ============================================================ */
body.page-template-home-page-template .cbs-home__blog .cbs-stack-tile--dispatch .cbs-stack-tile__hd {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 135px !important; /* photo bottom: 40 (top gap) + 75 + 20 = 135 */
  padding: 64px 28px 18px !important;
  margin: 0 !important;
  background: linear-gradient(
    to top,
    rgba(6,8,11,0.92) 0%,
    rgba(6,8,11,0.78) 35%,
    rgba(6,8,11,0.45) 65%,
    rgba(6,8,11,0) 100%
  ) !important;
  z-index: 2 !important;
  pointer-events: none !important;
}
body.page-template-home-page-template .cbs-home__blog .cbs-stack-tile--dispatch .cbs-stack-tile__title {
  width: 100% !important;
}
body.page-template-home-page-template .cbs-home__blog .cbs-stack-tile--dispatch .cbs-stack-tile__stackname {
  color: #ffffff !important;
  white-space: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.45) !important;
  line-height: 1.1 !important;
}
/* End CBS-BLOG-OVERLAY-HD V1 */

/* ============================================================
   CBS-SECTION-1320 V1 — cap all home sections to 1320 content
   Side padding scales from 20px on narrow screens up to as much
   as needed to keep content at 1440 on >=1440 viewports.
   Inner containers that were narrower (1136 / 1200) are bumped
   to fill the new 1320 content area.
   ============================================================ */
body.page-template-home-page-template .cbs-home__trust,
body.page-template-home-page-template .cbs-home__brands,
body.page-template-home-page-template .cbs-home__stack,
body.page-template-home-page-template .cbs-home__apparel,
body.page-template-home-page-template .cbs-home__best,
body.page-template-home-page-template .cbs-home__crew,
body.page-template-home-page-template .cbs-home__ath,
body.page-template-home-page-template .cbs-home__blog,
body.page-template-home-page-template .cbs-home__ticker {
  padding-left: max(20px, calc((100% - 1320px) / 2)) !important;
  padding-right: max(20px, calc((100% - 1320px) / 2)) !important;
  box-sizing: border-box !important;
}

/* Inner wrappers — let them fill their new 1320 content area */
body.page-template-home-page-template .cbs-home__brand-rail,
body.page-template-home-page-template .cbs-home__more,
body.page-template-home-page-template .cbs-crew__container,
body.page-template-home-page-template .cbs-home__hero-inner {
  max-width: 1320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}

/* Ticker track is intentionally wider (marquee) — don't constrain */
body.page-template-home-page-template .cbs-home__ticker {
  overflow: hidden !important;
}

@media (max-width: 768px) {
  body.page-template-home-page-template .cbs-home__trust,
  body.page-template-home-page-template .cbs-home__brands,
  body.page-template-home-page-template .cbs-home__stack,
  body.page-template-home-page-template .cbs-home__apparel,
  body.page-template-home-page-template .cbs-home__best,
  body.page-template-home-page-template .cbs-home__crew,
  body.page-template-home-page-template .cbs-home__ath,
  body.page-template-home-page-template .cbs-home__blog,
  body.page-template-home-page-template .cbs-home__ticker {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}
/* End CBS-SECTION-1320 V1 */

/* CBS-SECTION-1320 V1-INNER — bump narrow inner grids to 1320 */
body.page-template-home-page-template .cbs-home__apparel .cbs-prod-grid,
body.page-template-home-page-template .cbs-home__best .cbs-prod-grid,
body.page-template-home-page-template .cbs-home__ath .cbs-roster__grid,
body.page-template-home-page-template .cbs-home__blog .cbs-home__blog-grid {
  max-width: 1320px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* End CBS-SECTION-1320 V1-INNER */

/* CBS-SECTION-1320 V1-CONTAINERS — bump parent containers to 1320 too */
body.page-template-home-page-template .cbs-home__brands .cbs-container,
body.page-template-home-page-template .cbs-home__ath .cbs-container,
body.page-template-home-page-template .cbs-home__blog .cbs-container,
body.page-template-home-page-template .cbs-home__crew .cbs-container,
body.page-template-home-page-template .cbs-home__apparel .cbs-container,
body.page-template-home-page-template .cbs-home__best .cbs-container,
body.page-template-home-page-template .cbs-home__trust .cbs-container,
body.page-template-home-page-template .cbs-home__stack .cbs-container {
  max-width: 1320px !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Product carousel wrapper — let it fill full content width */
body.page-template-home-page-template .cbs-home__apparel .cbs-prod-carousel,
body.page-template-home-page-template .cbs-home__best .cbs-prod-carousel {
  max-width: 1320px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* End CBS-SECTION-1320 V1-CONTAINERS */

/* CBS-HERO-V2 — animated brick-wall hero (replaces CBS-HERO-CAROUSEL).
   - Scoped under .cbs-hero so theme cascade doesn't bleed in.
   - @property registrations are intentionally global (CSS spec).
   - @keyframes are prefixed cbs-hero-* to avoid name collisions. */
/* ===== TOKENS — pulled from the live site ===== */
  /* Register brand color vars as animatable <color>'s so the glow can
     smoothly tween. --reveal drives the center-out cracks mask. */
  @property --brand        { syntax:'<color>'; inherits:true; initial-value:#6cbde0; }
  @property --brand-glow   { syntax:'<color>'; inherits:true; initial-value:rgba(108,189,224,.32); }
  @property --crack-bright { syntax:'<color>'; inherits:true; initial-value:#000000; }
  @property --crack-dim    { syntax:'<color>'; inherits:true; initial-value:#000000; }
  /* CBS-HERO-V2-SAFARI-FIX-3-2026-05-29: @property transitions on
     --brand / --brand-glow removed. These re-rendered every element using
     var(--brand) in Safari (radial-gradients, drop-shadows, brand-bg filter)
     each frame for 780ms per cycle — heavy compositor churn. The rAF bleed
     already drives the cracks visual; brand-glow color now snaps but is
     rarely noticed during the cycle. */
  /* CBS-HERO-V2-SAFARI-FIX-6-2026-05-29: contain: paint isolates the
     hero's paint from the rest of the page (Safari 15.4+). Style
     invalidations and repaints inside the hero do NOT propagate outward,
     and Safari does NOT have to re-evaluate the parent page's compositor
     layout when var(--brand) changes. Major main-thread win on cycle. */
  .cbs-hero{transition:none;contain:paint}
  .cbs-hero{
    --bg:#000; --bg2:#06080D; --panel:#0D1014; --panel2:#15191F;
    --line:rgba(255,255,255,.08); --line2:rgba(255,255,255,.16);
    --text:#E8E8E8; --head:#F5F6F7; --mut:#B9BEC4; --dim:#6E757D;
    --blue:#6CBDE0; --blue-soft:rgba(108,189,224,.14);
    --green:#34C759; --amber:#FFB13C;
    --r-card:14px; --r-pill:999px; --r-chip:8px;
    --ease:cubic-bezier(.22,.61,.36,1);
    /* Hole optical-center offset. Shifts wall-glow + wallHole + cracks-bg
       to the right of the cracks SVG's geometric center. The 138 includes
       the original 30px optical-center offset PLUS 108 to align the
       composition's right gutter with the text block's left gutter
       (text + wall read as one centered pair within the viewport). */
    --hole-shift-x:25px;
  }
  /* stripped: * */
  /* stripped: body */
  /* stripped: a */
  .cbs-hero .mono{font-family: var(--cbs-font-mono)}
  .cbs-hero .anton{font-family:"Anton",Impact,sans-serif;font-weight:400;text-transform:uppercase}

  /* CBS-HERO-V2-UNIFORM-SPACING-2026-05-30: padding-top = navbar visible
     height. .cbs-nav__bar is position:fixed (16+16+64 = 96px desktop, 10+10+64
     = 84px ≤782). Without this, the hero box extends UNDER the navbar but the
     wrap's align-items:center pulls content into that overlap zone → 38px top
     gap vs 135px bottom gap. With padding-top set to the navbar height, the
     wrap's centering happens in the visible area below the navbar, yielding
     symmetric top/bottom gaps. */
  .cbs-hero{position:relative;min-height:calc(100svh - var(--cbs-hero-chrome, 200px));display:flex;flex-direction:column;justify-content:center;isolation:isolate;
    padding-top:96px}
  @media (max-width: 782px) { .cbs-hero { padding-top: 84px; } }
  /* BASE colour wash — sits all the way at the back */
  .cbs-hero::before{content:"";position:absolute;inset:0;z-index:-5;
    background:linear-gradient(180deg,#000,#06080D 60%,#000)}

  /* WALL — three asset layers + a stationary masked hole that the
     product slides through.

     Layers (back → front):
       z=-4  .hero-wall (bg + wall-glow with svg-shape mask)
       z=-3  .wall__hole (mask container; conveyor lives inside)
       z=-2  .wall__cracks--prev (frozen old-color cracks)
       z=-1  .wall__cracks#cracks (live new-color cracks, masked reveal)
       z= 1  .pieces (foreground debris) */
  .cbs-hero .hero-wall{position:absolute;inset:0;z-index:-4;pointer-events:none;overflow:hidden;
    background:#06080D;perspective:1400px}

  .cbs-hero .hero-wall__bg{position:absolute;inset:0;width:100%;height:100%;
    object-fit:cover;object-position:50% center;display:block;
    transform:scale(var(--wall-bg-scale,1.36));transform-origin:50% 50%}

  /* Wall glow — radial brand-color gradient, masked to wall-glow.svg's
     organic shape so it never bleeds past the SVG boundary. */
  .cbs-hero .hero-wall__glow{position:absolute;
    top:50%;left: clamp(0px, calc(50vw + 150px), calc(100vw - 220px));
    width:28vw;aspect-ratio:296/283;max-width:440px;
    transform:translate(calc(-50% + var(--hole-shift-x,30px)),-50%);
    background:radial-gradient(ellipse at 50% 50%,
        var(--brand) 0%,
        var(--brand) 18%,
        rgba(0,0,0,.55) 65%,
        rgba(0,0,0,.88) 100%);
    -webkit-mask-image:url('./hero-assets/WALL-ASSETS/wall-glow.svg');
            mask-image:url('./hero-assets/WALL-ASSETS/wall-glow.svg');
    -webkit-mask-size:100% 100%;mask-size:100% 100%;
    -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
    -webkit-mask-position:center;mask-position:center;
    filter:blur(2px);
    z-index:-3;
    pointer-events:none;
    mix-blend-mode:screen;
    /* CBS-HERO-V2-SAFARI-FIX-8-2026-05-29: dropped — was a transition on
       background (a radial-gradient using var(--brand)). Since we removed
       the @property transition on --brand in FIX-3, the gradient snaps
       instantly and this transition couldn't smooth-interpolate anyway
       (background-image isn't interpolable per CSS spec). Engine was still
       tracking the transition every cycle for no visible benefit. */
    }

  /* Stationary mask container. The conveyor slides INSIDE it — anything
     that translates past the elliptical mask falls off. */
  .cbs-hero .wall__hole{position:absolute;
    top:50%;left: clamp(0px, calc(50vw + 150px), calc(100vw - 220px));
    width:22vw;aspect-ratio:1/1;max-width:336px;
    transform:translate(calc(-50% + var(--hole-shift-x,30px)),-50%);
    z-index:2;
    overflow:hidden;
    -webkit-mask-image:radial-gradient(ellipse 50% 54% at 50% 50%,
        #000 0%,#000 88%,rgba(0,0,0,.5) 96%,transparent 100%);
            mask-image:radial-gradient(ellipse 50% 54% at 50% 50%,
        #000 0%,#000 88%,rgba(0,0,0,.5) 96%,transparent 100%);
    pointer-events:none}
  /* Conveyor needs to receive pointer events for hover-pause, etc. */
  .cbs-hero .wall__hole .conveyor{pointer-events:auto}

  /* Cracks — TWO layers. The live #cracks uses var() refs and reveals
     from center via the --reveal mask; cracksPrev gets a static snapshot
     of the OLD brand colors stamped in before each transition. */
  .cbs-hero .hero-wall__cracks{position:absolute;
    top:50%;left: clamp(0px, calc(50vw + 150px), calc(100vw - 220px));
    width:38vw;aspect-ratio:330/333;height:calc(38vw * 333 / 330);max-width:605px;max-height:611px;
    transform:translate(calc(-50% + var(--hole-extra-x,25px)),-50%);
    z-index:3;
    pointer-events:none;
    -webkit-mask-image:radial-gradient(ellipse 22% 24% at 50% 50%, transparent 0%, transparent 40%, rgba(0,0,0,.5) 60%, #000 80%);
            mask-image:radial-gradient(ellipse 22% 24% at 50% 50%, transparent 0%, transparent 40%, rgba(0,0,0,.5) 60%, #000 80%)}
  .cbs-hero .hero-wall__cracks svg{width:100%;height:100%;display:block}
  /* Stop-color transitions are driven per-element via WAAPI in JS so
     each crack lights up at its own moment (random per-stop delay).
     No mask is used — the SVG is fully visible at all times, only the
     gradient stop colors interpolate. */
  .cbs-hero .hero-wall__cracks--prev{display:none}

  /* Inner cracks layer (behind product) */
  .cbs-hero .hero-wall__cracks-bg{
    position:absolute;
    top:50%;left: clamp(0px, calc(50vw + 150px), calc(100vw - 220px));
    width:29vw;aspect-ratio:257/259;height:calc(29vw * 259 / 257);max-width:448px;max-height:452px;
    transform:translate(calc(-50% + var(--hole-shift-x,30px)),-50%);
    z-index:1;
    pointer-events:none}
  .cbs-hero .hero-wall__cracks-bg svg{width:100%;height:100%;display:block}
  .cbs-hero .hero-wall__cracks-bg-prev{display:none}

  /* CBS-HERO-V2-ARTALIGN-2026-05-31: align the wall art (glow/hole/cracks/
     cracks-bg) horizontally to the .art grid cell instead of the hard-coded
     50vw+150 viewport formula. The .wrap is a 2-col 1fr/1fr grid (max-width
     1320, padding clamp(1rem,4vw,3rem), gap clamp(5rem,11vw,10rem)), so its
     right-column center is at 50vw + (gap + inner_width)/4 where
     inner_width = min(100vw,1320px) - 2*pad. The four wall elements have
     transform translate(calc(-50% + var(--hole-shift-x,25px))) → visible
     center = left + 25, so subtract 25 to land the visible center on the
     .art cell center. Matches the FIX-28 approach used for the brand rail.
     Scoped to >=921px because at <=920 the wrap switches to single-column
     (see line 15187) and mobile behavior is left unchanged. */
  @media (min-width: 921px) {
    .cbs-hero .hero-wall__glow,
    .cbs-hero .wall__hole,
    .cbs-hero .hero-wall__cracks,
    .cbs-hero .hero-wall__cracks-bg {
      left: calc(50vw + (clamp(5rem, 11vw, 10rem) + min(100vw, 1320px) - 2 * clamp(1rem, 4vw, 3rem)) / 4 - 25px);
    }
  }
  /* End CBS-HERO-V2-ARTALIGN-2026-05-31 */

  /* CBS-HERO-V2-SAFARI-FIX-11-2026-05-29: CSS-variable bleed mode.
     Two CSS variables (--brand-bright / --brand-dim) cascade from .cbs-hero
     to all .stop-bright / .stop-dim stops via the rules below. Only takes
     effect when the JS is in 'css' bleed mode (URL ?bleed=css) — in that
     mode JS skips inline stop-color writes and just calls
     .cbs-hero.style.setProperty('--brand-bright', value) on cycle start.
     The cascade then updates all ~620 stops in ONE engine pass instead of
     ~620 individual rAF-driven inline style writes. The default rAF mode
     stays untouched (inline style wins via cascade order). */
  .cbs-hero { --brand-bright: #000; --brand-dim: #000; }
  .cbs-hero .stop-bright { stop-color: var(--brand-bright, #000); }
  .cbs-hero .stop-dim { stop-color: var(--brand-dim, #000); }

  /* SMOKE — removed (asset coming later from user) */

  /* FOREGROUND 3D BROKEN PIECES — 24 fragments orbiting the hole,
     created in JS so each gets randomized drift parameters. */
  /* CBS-HERO-V2-SAFARI-FIX-8-2026-05-29: promote .pieces as one parent
     compositor layer + paint containment (skill 02.2.C). The 24 debris
     animations inside now share this single layer instead of triggering
     24 individual layer promotions — fewer compositor handoffs per frame. */
  /* CBS-HERO-V2-SAFARI-FIX-12-2026-05-29: dropped contain:layout paint
     from .pieces — was clipping the debris animations (each piece's inner
     img translates outward up to 14px, contain:paint cropped that motion
     to the piece's border box, making the debris look locked). Kept the
     translateZ(0) — it pre-promotes the .pieces container as one layer
     without clipping. */
  .cbs-hero .pieces{position:absolute;inset:0;z-index:6;pointer-events:none;
    transform:translateZ(0)}
  /* CBS-HERO-V2-SAFARI-FIX-8-2026-05-29: contain:layout paint per piece so
     that the infinite transform keyframes on each .piece img don't trigger
     style/paint invalidation on the 23 sibling pieces every frame. The
     timelines profile showed wall-to-wall Styles Invalidated/Recalculated
     even between brand cycles — this isolates each piece's churn. */
  /* CBS-HERO-V2-SAFARI-FIX-12-2026-05-29: dropped contain:layout paint.
     contain:paint clipped each piece's inner img animation (~14px outward
     translate keyframes) to the piece's static border box → looked static. */
  .cbs-hero .piece{position:absolute;top:var(--py,50%);left:var(--px,65%);
    transform:translate(-50%,-50%) translateZ(var(--pz,0px))}
  .cbs-hero .piece img{display:block;width:var(--pw,42px);height:auto;
    transform-origin:center;
    
    animation-duration:var(--pd,9s);animation-delay:var(--pdl,0s);
    animation-iteration-count:infinite;animation-timing-function:ease-in-out}
  .cbs-hero .piece[data-anim="a"] img{animation-name:cbs-hero-drift-a}
  .cbs-hero .piece[data-anim="b"] img{animation-name:cbs-hero-drift-b}
  .cbs-hero .piece[data-anim="c"] img{animation-name:cbs-hero-drift-c}
  @keyframes cbs-hero-drift-a{
    0%,100%{transform:translate(0,0) rotate(var(--pr,0deg)) scale(var(--ps,1))}
    50%   {transform:translate(6px,-14px) rotate(calc(var(--pr,0deg) + 6deg)) scale(calc(var(--ps,1) * 1.04))}
  }
  @keyframes cbs-hero-drift-b{
    0%,100%{transform:translate(0,0) rotate(var(--pr,0deg)) scale(var(--ps,1))}
    50%   {transform:translate(-8px,-10px) rotate(calc(var(--pr,0deg) - 5deg)) scale(calc(var(--ps,1) * 0.97))}
  }
  @keyframes cbs-hero-drift-c{
    0%,100%{transform:translate(0,0) rotate(var(--pr,0deg)) scale(var(--ps,1))}
    33%   {transform:translate(4px,-6px) rotate(calc(var(--pr,0deg) + 3deg)) scale(calc(var(--ps,1) * 1.02))}
    66%   {transform:translate(-5px,-12px) rotate(calc(var(--pr,0deg) - 4deg)) scale(calc(var(--ps,1) * 1.05))}
  }

  /* LEFT GRADIENT — covers the wall behind the copy so type stays readable */
  .cbs-hero .hero-leftshade{position:absolute;top:0;bottom:0;left:0;width:36%;z-index:-1;pointer-events:none;
    background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.78) 45%,rgba(0,0,0,.4) 78%,transparent 100%)}

  /* RIGHT GRADIENT — visually separates the flag rail zone from the wall composition */
  /* CBS-HERO-V2-RIGHTSHADE-2026-05-31: opacity stack reduced per user — was
     .85/.55/.2, now .42/.22/.06. Width trimmed 9%→6%. Right edge breathes. */
  .cbs-hero .hero-rightshade{position:absolute;top:0;bottom:0;right:0;width:6%;z-index:4;pointer-events:none;
    background:linear-gradient(270deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.22) 55%,rgba(0,0,0,.06) 80%,transparent 100%)}

  /* faint horizontal grid lines — keep, but lighter so they don't fight the wall */
  .cbs-hero .hero__grid{position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.18;
    background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
    background-size:72px 72px;
    mask:radial-gradient(110% 80% at 75% 10%,#000 35%,transparent 75%)}
  .cbs-hero .grain{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.04;
    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='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}

  .cbs-hero header{position:relative;z-index:3;display:flex;align-items:center;gap:1.5rem;
    padding:1.1rem clamp(1rem,4vw,3rem);border-bottom:1px solid var(--line)}
  .cbs-hero .brand{font-family:"Anton",sans-serif;font-size:1.7rem;letter-spacing:.02em;color:var(--head);line-height:.8}
  .cbs-hero .brand small{display:block;font-family: var(--cbs-font-mono);font-size:.42rem;
    letter-spacing:.35em;color:var(--dim);margin-top:3px}
  .cbs-hero nav{display:flex;gap:1.4rem;margin-left:1rem}
  .cbs-hero nav a{font-size:.82rem;font-weight:600;letter-spacing:.04em;color:var(--mut);text-transform:uppercase}
  .cbs-hero nav a:hover{color:var(--head)}
  .cbs-hero nav a.sale{color:var(--blue)}
  .cbs-hero .search{margin-left:auto;display:flex;align-items:center;gap:.6rem;
    background:var(--panel2);border:1px solid var(--line);border-radius:var(--r-chip);
    padding:.55rem .8rem;color:var(--dim);font-size:.8rem;min-width:200px}
  .cbs-hero .search .k{margin-left:auto;font-family: var(--cbs-font-mono);font-size:.65rem;
    border:1px solid var(--line);border-radius:5px;padding:.1rem .35rem}
  .cbs-hero .ico{width:20px;height:20px;stroke:var(--mut);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  /*CBS-QA-FIX b1-search-cloak: scope to .cbs-hero; bare .search matched body.search on WP search pages -> blanked mobile results*/@media(max-width:780px){.cbs-hero nav,.cbs-hero .search{display:none}}

  .cbs-hero .ticker{position:relative;z-index:2;overflow:hidden;white-space:nowrap;
    border-bottom:1px solid var(--line);background:rgba(13,16,20,.6)}
  .cbs-hero .ticker__t{display:inline-flex;min-width:100%;animation:slide 30s linear infinite}
  .cbs-hero .ticker__t span{font-family: var(--cbs-font-mono);font-size:.7rem;font-weight:500;
    letter-spacing:.22em;text-transform:uppercase;color:var(--dim);padding:.6rem 0}
  .cbs-hero .ticker__t b{color:var(--blue);font-weight:700}
  .cbs-hero .sep{margin:0 1.4rem;color:rgba(255,255,255,.18)}
  @keyframes slide{to{transform:translateX(-50%)}}

  /* Layout: two equal columns, vertically centered. EQUAL fr values
     (1fr 1fr) means text-content size changes won't push/pull the
     other column — the right column footprint stays constant, so
     the absolutely-positioned wall/carousel (anchored at left:65%
     of .hero) holds visually independent of text length too. */
  /* CBS-HERO-V2-BOTTOMROW-2026-05-30: wrap now has 2 explicit rows.
     Row 1 (1fr) holds .copy on the left and .art on the right (text + wall).
     Row 2 (auto) holds .stats on the left and .cbs-hero__brand-rail-wrap on
     the right, sharing the same vertical axis and matching dimensions. */
  .cbs-hero .wrap{flex:1;width:100%;max-width:1320px;margin:0 auto;
    padding:clamp(1rem,2.4vw,2rem) clamp(1rem,4vw,3rem);
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto;
    /* CBS-HERO-V2-ROWGAP-2026-05-31: split row/column gap so the bottom
       row (stats + brand rail) sits tight against the top row (text + wall),
       reading as one combined hero unit. Column gap unchanged. */
    column-gap:clamp(5rem,11vw,10rem);
    /* CBS-HERO-V2-SLIMROW-2026-05-31: tiny row breathing room — the stats card
       no longer touches the CTA buttons but the unified-component feel holds */
    row-gap:clamp(.6rem, 1.2vw, 1.1rem);
    align-items:center;
    align-content:center}
  .cbs-hero .copy{grid-column:1;grid-row:1}
  .cbs-hero .art{grid-column:2;grid-row:1}
  .cbs-hero .stats{grid-column:1;grid-row:2;justify-self:start}/* CBS-HERO-STATS-ALIGN 2026-07-13: stats bar shares the exact left gutter with the headline (was centered) */
  .cbs-hero__brand-rail-wrap{grid-column:2;grid-row:2;justify-self:center}
  @media(max-width:920px){.wrap{grid-template-columns:1fr;gap:3rem}}

  .cbs-hero .eyebrow{display:inline-flex;align-items:center;gap:.55rem;
    font-family: var(--cbs-font-mono);font-size:.7rem;font-weight:500;letter-spacing:.18em;
    text-transform:uppercase;color:var(--mut);background:var(--panel2);
    border:1px solid var(--line);border-radius:var(--r-pill);padding:.42rem .9rem}
  .cbs-hero .eyebrow .d{width:7px;height:7px;border-radius:50%;background:var(--green);
    box-shadow:0 0 0 0 rgba(52,199,89,.5);animation:beat 2.4s ease-out infinite}
  @keyframes beat{0%{box-shadow:0 0 0 0 rgba(52,199,89,.5)}70%,100%{box-shadow:0 0 0 9px rgba(52,199,89,0)}}

  .cbs-hero h1{font-family:"Anton",sans-serif;font-weight:400;text-transform:uppercase;
    line-height:.92;letter-spacing:.01em;margin:0;
    font-size:clamp(2.6rem,6.5vw,5.4rem);color:var(--head);
    /* Heading is always 2 lines tall (one per .h1line span); reserves
       the vertical space even if a state's headline is short, so the
       buttons/stats below don't jump between brand swaps. */
    min-height:calc(.92em * 2);
    overflow:hidden}
  .cbs-hero h1 .blue{color:var(--blue)}
  /* Each headline line stays on a single visual row — truncate with an
     ellipsis if a state ever has copy that won't fit. */
  .cbs-hero .h1line{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  /* CBS logo lock-up (replaces the headline in state-1) */
  .cbs-hero .logo-lock{display:block;margin:0;line-height:0;max-width:100%}
  .cbs-hero .logo-lock img{display:block;width:clamp(420px,52vw,720px);height:auto;
    filter:drop-shadow(0 12px 24px rgba(0,0,0,.35));
    /* tasteful glow under the cyan dot in the wordmark */
  }

  .cbs-hero .lead{display:flex;gap:1rem;margin-top:1.7rem;max-width:50ch}
  .cbs-hero .lead .bar{flex:none;width:2px;background:linear-gradient(var(--blue),transparent);border-radius:2px}
  .cbs-hero .lead p{font-size:clamp(.98rem,1.4vw,1.12rem);line-height:1.6;color:var(--mut);
    /* Body copy is always 3 lines tall — line-clamp truncates with an
       ellipsis if longer, min-height reserves the space if shorter.
       Layout below stays stable across all brand swaps. */
    display:-webkit-box;
    -webkit-line-clamp:3; line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
    min-height:calc(1.6em * 3)}
  .cbs-hero .lead p b{color:var(--head);font-weight:700}

  /* CBS-language buttons — sharp corners, Inter uppercase, 0.14em tracking */
  .cbs-hero .cta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}
  /* CBS-HERO-V2-STABLEWIDTH-2026-05-30: min-width + justify-content:center
     so the buttons stay the same width regardless of brand-cycle text.
     Largest measured "Shop Beast Pharm" = 212px; 14rem = 224px gives breathing
     room for the longest variants. */
  .cbs-hero .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
    min-width:14rem;
    font-family: var(--cbs-font-body);font-weight:700;font-size:13px;
    letter-spacing:.14em;text-transform:uppercase;
    padding:14px 22px;border-radius:2px;border:1px solid var(--line2);
    background:transparent;color:var(--head);text-decoration:none;cursor:pointer;
    transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease)}
  .cbs-hero .btn:hover{background:var(--head);color:#000;border-color:var(--head);transform:translateY(-1px)}
  .cbs-hero .btn--p{background:var(--head);color:#000;border-color:var(--head)}
  .cbs-hero .btn--p:hover{background:var(--blue);border-color:var(--blue);color:#000;
    box-shadow:0 8px 22px -8px rgba(108,189,224,.45)}
  .cbs-hero .btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s var(--ease)}
  .cbs-hero .btn:hover svg{transform:translateX(3px)}

  /* CBS-HERO-V2-STABLEWIDTH-2026-05-30: min-width baseline so the stats
     box stays the same size across brand cycles. Widest layout (CBS / Anarchy)
     needs ~515px to fit on one row at natural cell widths; 32rem = 512px. */
  /* CBS-HERO-V2-BOTTOMROW-2026-05-30: explicit shared dimensions to match
     the brand-rail-wrap exactly (same width, same height). margin-top:2.4rem
     removed since the new grid row provides the vertical break. */
  .cbs-hero .stats{display:flex;flex-wrap:nowrap;border:1px solid var(--line);
    border-radius:var(--r-card);overflow:hidden;
    width:clamp(20rem, 38vw, 33rem);
    /* CBS-HERO-V2-SLIMROW-2026-05-31: trimmed height from clamp(94,12vh,110) */
    height:clamp(72px, 9vh, 86px);
    background:rgba(13,16,20,.5)}
  /* CBS-HERO-V2-STABLEWIDTH-2026-05-30: flex:1 makes the 4 cells share
     the stats container width equally; text-align:center keeps content
     centered within each cell as labels change length across brands. */
  /* CBS-HERO-V2-NOWRAP-2026-05-30: horizontal padding reduced so the
     longest labels (MG ERIA JARENSIS, AUTHORISED BRANDS, MG CDP CHOLINE)
     can sit on one line within their 128/132px share of the stable
     32-33rem stats container. */
  /* CBS-HERO-V2-BOTTOMROW-2026-05-30: vertically center the (n + l) pair
     within each cell so the stats box stays visually balanced at the new
     fixed height. */
  .cbs-hero .stat{flex:1 1 0;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:.85rem .65rem;border-right:1px solid var(--line)}
  .cbs-hero .stat:last-child{border-right:0}
  .cbs-hero .stat .n{font-family:"Anton",sans-serif;font-size:1.55rem;color:var(--head);line-height:1}
  .cbs-hero .stat .n.b{color:var(--blue)}
  /* CBS-HERO-V2-NOWRAP-2026-05-30: white-space:nowrap forces labels onto
     one line; letter-spacing tightened .16em → .1em so the long labels
     still fit in the cell after nowrap is applied. */
  .cbs-hero .stat .l{font-family: var(--cbs-font-mono);font-size:.58rem;letter-spacing:.1em;
    color:var(--dim);text-transform:uppercase;margin-top:.4rem;
    white-space:nowrap}

  .cbs-hero .art{display:flex;align-items:center;justify-content:center;min-height:380px;border-radius:12px}

  /* HUGE brand logo BACKDROP — DISABLED (was creating the "BLACK LION" ghost wordmark) */
  .cbs-hero .brand-bg{display:none}
  .cbs-hero .brand-bg-disabled{position:absolute;top:50%;left:50%;
    transform:translate(-50%,-50%);
    width:90%;max-width:520px;aspect-ratio:1.6/1;
    z-index:1;pointer-events:none;
    display:flex;align-items:center;justify-content:center;
    opacity:.22;
    transition:transform .85s cubic-bezier(.5,0,.5,1), opacity .35s ease;
    will-change:transform,opacity;
    filter:blur(.3px)}
  .cbs-hero .brand-bg img{width:100%;height:100%;object-fit:contain;object-position:center;
    filter:drop-shadow(0 0 16px var(--brand-glow,rgba(108,189,224,.4)))}
  .cbs-hero .brand-bg[data-light="1"] img{filter:brightness(2.2) contrast(1.3) drop-shadow(0 0 16px var(--brand-glow,rgba(108,189,224,.4)))}
  /* counter-parallax: product exits LEFT → brand-bg exits RIGHT;
     product enters from RIGHT → brand-bg enters from LEFT.
     Smaller travel than before (40%/-50%) so the backdrop never gets cropped. */
  .cbs-hero .brand-bg.is-leaving{transform:translate(15%,-50%);opacity:0}
  .cbs-hero .brand-bg.is-entering{transform:translate(-115%,-50%);opacity:0;transition:none}
  /* CBS master state: hide the brand backdrop entirely */
  .cbs-hero .brand-bg[data-master="1"]{opacity:0}

  /* Conveyor stage — wraps product. Handles the horizontal slide.
     The img inside handles the gentle float (vertical), so the two
     transforms don't fight each other. */
  /* Conveyor pinned to where the wall hole actually is in the Wall.svg
     (Wall.svg hole sits at ~65% horizontal of the SVG). Using left:65% to align. */
  /* CBS-HERO-V2-SAFARI-FIX-2026-05-29: drop-shadow filter removed — Safari
     was rasterizing the filter layer at low res while the bob translated the
     inner <img>, giving a persistent blurry product. is-leaving / is-entering
     dead classes removed (JS no longer toggles them). Opacity-only transition
     drives the conveyor fade via JS inline-style writes. */
  /* CBS-HERO-V2-SAFARI-FIX-6-2026-05-29: re-introduce will-change:transform
     on the conveyor (was removed when we dropped the drop-shadow filter).
     Now that the slide animates translate() on the conveyor every cycle,
     pre-promoting to a stable layer eliminates compositor churn. */
  /* CBS-HERO-V2-SAFARI-FIX-7-2026-05-29: translateZ(0) folded into the
     transform replaces will-change:transform per skill ref 02.2.A. JS rAF
     for the slide writes inline transform — it preserves translateZ(0)
     in its writes (see _slideTick). */
  .cbs-hero .conveyor{position:absolute;z-index:3;
    top:50%;left:50%;
    transform:translate(-50%,-50%) translateZ(0);
    width:clamp(290px,29vw,380px);height:clamp(335px,45vh,425px);
    display:flex;align-items:center;justify-content:center;
    transition:opacity .22s ease;
  }

  /* Product lives inside .conveyor (which lives inside #wallHole). */
  .cbs-hero .conveyor .product{width:100%;height:100%;max-height:580px;overflow:visible;object-fit:contain;
    animation:cbs-hero-float 5s ease-in-out infinite}
  /* -6px nudges the product/logo to the LEFT relative to the conveyor
     (which itself centers in #wallHole). Bob continues on Y. */
  @keyframes cbs-hero-float{0%,100%{transform:translate(6px,0)}50%{transform:translate(6px,-12px)}}

  /* CBS-state: logo is wider than tall, cap its draw size inside the slot. */
  .cbs-hero .conveyor .product[data-state="cbs"]{max-height:62%;max-width:68%;margin:auto;
    filter:drop-shadow(0 12px 28px rgba(108,189,224,.25)) drop-shadow(0 18px 30px rgba(0,0,0,.55))}

  /* H1 line crossfade on state change */
  .cbs-hero .h1line{transition:opacity .25s var(--ease),transform .25s var(--ease);will-change:opacity,transform}
  .cbs-hero .h1line.is-swapping{opacity:0;transform:translateY(14px)}
  /* lead + button text crossfade */
  .cbs-hero #leadCopy{transition:opacity .25s var(--ease),transform .25s var(--ease);transform:translateY(0)}
  .cbs-hero #leadCopy.is-swapping-out{transform:translateY(6px)}
  .cbs-hero .btn span{transition:opacity .25s var(--ease)}
  .cbs-hero #leadCopy.is-swapping, .cbs-hero .btn span.is-swapping{opacity:0}
  /* stats panel crossfade */
  .cbs-hero .stat .n, .cbs-hero .stat .l{transition:opacity .25s var(--ease),transform .25s var(--ease);transform:translateY(0)}
  .cbs-hero .stat.is-swapping .n, .cbs-hero .stat.is-swapping .l{transform:translateY(6px)}
  .cbs-hero .stat.is-swapping .n, .cbs-hero .stat.is-swapping .l{opacity:0}

  /* tiny brand carrier strip — under the product, click any brand to feature it */
  .cbs-hero .carriers{position:absolute;bottom:-12px;left:50%;transform:translateX(-50%);
    display:flex;align-items:center;gap:.3rem;
    background:rgba(13,16,20,.85);border:1px solid var(--line);border-radius:var(--r-pill);
    padding:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5}
  .cbs-hero .carrier{width:30px;height:30px;border-radius:50%;background:#fff;border:0;cursor:pointer;
    display:flex;align-items:center;justify-content:center;padding:0;overflow:hidden;
    transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease)}
  .cbs-hero .carrier img{width:74%;height:74%;object-fit:contain}
  .cbs-hero .carrier[data-light="1"] img{filter:invert(1) brightness(0.4) contrast(1.6)}
  .cbs-hero .carrier:hover{transform:translateY(-3px) scale(1.06)}
  .cbs-hero .carrier.is-active{transform:translateY(-6px) scale(1.18);
    box-shadow:0 0 0 1.5px var(--blue),0 0 14px var(--blue-soft),0 6px 14px rgba(0,0,0,.6)}
  /* CBS master chip — dark instead of light, with the CBS wordmark */
  .cbs-hero .carrier--master{background:linear-gradient(135deg,#0d1014,#000);border:1px solid rgba(108,189,224,.4)}
  .cbs-hero .carrier--master .carrier__cbs{font-family:"Anton",sans-serif;font-size:11px;font-weight:400;
    letter-spacing:.06em;color:var(--blue);line-height:1}
  .cbs-hero .carrier--master.is-active .carrier__cbs{color:var(--head)}

  /* cycle progress under the carrier strip */
  .cbs-hero .cycle-prog{display:none!important}
  @keyframes cycle{from{width:0;opacity:1}95%{opacity:1}to{width:100%;opacity:.7}}
  .cbs-hero .hero:hover .cycle-prog{animation-play-state:paused;opacity:.35}

  .cbs-hero .chip{position:absolute;display:inline-flex;align-items:center;gap:.5rem;
    font-family: var(--cbs-font-mono);font-size:.66rem;font-weight:500;letter-spacing:.12em;
    text-transform:uppercase;color:var(--mut);background:rgba(13,16,20,.82);
    border:1px solid var(--line);border-radius:var(--r-pill);padding:.45rem .8rem;
    white-space:nowrap}
  .cbs-hero .chip .d{width:6px;height:6px;border-radius:50%}
  .cbs-hero .chip.stock{top:9%;right:2%}.cbs-hero .chip.stock .d{background:var(--green);box-shadow:0 0 8px var(--green)}
  .cbs-hero .chip.serv{top:44%;left:-3%}.cbs-hero .chip.serv .d{background:var(--blue);box-shadow:0 0 8px var(--blue)}
  .cbs-hero .chip.lab{bottom:13%;right:1%}.cbs-hero .chip.lab .d{background:var(--amber);box-shadow:0 0 8px var(--amber)}
  @media(max-width:920px){.chip.stock{right:6%}.chip.serv{left:2%}.chip.lab{right:6%}}

  .cbs-hero .js .rise{opacity:0;transform:translateY(20px)}
  .cbs-hero .is-ready .rise{animation:rise .8s var(--ease) both}
  .cbs-hero .is-ready .rise.d1{animation-delay:.05s}.cbs-hero .is-ready .rise.d2{animation-delay:.13s}
  .cbs-hero .is-ready .rise.d3{animation-delay:.21s}.cbs-hero .is-ready .rise.d4{animation-delay:.29s}
  .cbs-hero .is-ready .rise.d5{animation-delay:.37s}
  @keyframes rise{to{opacity:1;transform:none}}
  .cbs-hero .js .art{opacity:0}
  .cbs-hero .is-ready .art{animation:fade 1.1s var(--ease) .3s both}
  @keyframes fade{to{opacity:1}}
  .cbs-hero .js .chip{opacity:0;transform:scale(.9)}
  .cbs-hero .is-ready .chip{animation:chip .5s var(--ease) both}
  .cbs-hero .is-ready .chip.stock{animation-delay:.9s}.cbs-hero .is-ready .chip.serv{animation-delay:1.05s}.cbs-hero .is-ready .chip.lab{animation-delay:1.2s}
  @keyframes chip{to{opacity:1;transform:none}}

  .cbs-hero a:focus-visible, .cbs-hero .btn:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
  /* CBS-HERO-V2-SAFARI-FIX-3-2026-05-29: targeted reduced-motion.
     Earlier *{transition-duration:.001ms!important} was collapsing every
     transition site-wide — defeating the rAF fades and snapping the brand
     rail. The rAF fades honour prefers-reduced-motion in JS already; here
     we just kill the genuinely decorative loops (debris drift, ticker,
     rise stagger). Brand cycle transitions stay live. */
  @media(prefers-reduced-motion:reduce){
    .cbs-hero .piece img{animation:none}
    .ticker__t{animation:none}
    .js .rise,.js .art,.js .chip{opacity:1;transform:none}
  }
  @media(max-width:520px){.stats{width:100%}.stat{flex:1 1 42%;border-bottom:1px solid var(--line)}}
/* End CBS-HERO-V2 */

/* CBS-HERO-V2-BRAND-RAIL-V2 (2026-05-28) — vertical infinite scroll on right of product */
.cbs-hero .carriers { display: none !important; }
/* CBS-HERO-V2-RAILHORIZ-2026-05-30: brand rail is now a horizontal scroll
   below the broken wall, centered. Was vertical-right of the hero. Width is
   wide enough to show 3 stamps at once (3 * 150 + 2 * 18 gap = 486px),
   capped at the wall area's max. Bottom-positioned so it sits under the
   wall opening, above the ticker. */
/* CBS-HERO-V2-BOTTOMROW-2026-05-30: rail-wrap is now a direct grid child
   of .wrap in row 2, sitting next to .stats. Removed absolute positioning;
   width matches .stats exactly via the same clamp(). */
.cbs-hero__brand-rail-wrap {
  position: relative;
  width: clamp(20rem, 38vw, 33rem);
  /* CBS-HERO-V2-SLIMROW-2026-05-31: match the slimmer stats height */
  height: clamp(72px, 9vh, 86px);
  z-index: 8;
  pointer-events: none;
}
/* CBS-HERO-V2-RAILHORIZ-2026-05-30: mask now fades left/right instead of top/bottom */
.cbs-hero__brand-rail {
  position: relative;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.0) 8%, #000 28%, #000 72%, rgba(0,0,0,.0) 92%, transparent 100%);
          mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.0) 8%, #000 28%, #000 72%, rgba(0,0,0,.0) 92%, transparent 100%);
}
/* CBS-HERO-V2-RAILHORIZ-2026-05-30: track laid out horizontally, anchored
   at left:50% so the JS-driven translateX puts the active stamp's center
   at the wrap's horizontal middle. */
.cbs-hero__brand-rail-track {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 18px;
  pointer-events: auto;
  transition: transform .55s cubic-bezier(.22,.61,.36,1);
  will-change: transform;
}
.cbs-hero__brand-rail-track.is-snapping { transition: none !important; }
/* CBS-HERO-V2-RAILHORIZ-2026-05-30: flex-basis switched 76→150 since the
   track is now flex-row — basis applies to width, not height. */
.cbs-hero__brand-stamp {
  --brand-bg: #1a1f2a;
  --notch-r: 4px;
  --notch-s: 10px;
  /* CBS-HERO-V2-SLIMROW-2026-05-31: smaller flag stamps (was 150 × 76) */
  flex: 0 0 122px;
  width: 122px;
  height: 60px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 14px;
  background: var(--brand-bg);
  border: 0;
  border-radius: 0;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  opacity: 1;
  /* CBS-HERO-V2-SAFARI-FIX-7-2026-05-29: per safari-chrome-animation-parity
     skill ref 02.2.A — translateZ(0) folded into the transform is the
     "most reliable, lowest-risk" layer promotion. Replaces the prior
     will-change:transform (which the same ref warns bloats memory when
     applied to many elements — we have 30 stamps). */
  /* CBS-HERO-V2-SAFARI-FIX-10-2026-05-29: dropped translateZ(0) — 30
     individual stamp layers was the per-skill "blanket promotion" anti-
     pattern (02.2.B). Stamps now share the rail-track's compositor layer.
     If activation flicker returns, the FIX-4 box-shadow swap can still
     hold; we'd add translateZ back only if it doesn't. */
  transform: scale(1);
  filter: none;
  /* CBS-HERO-V2-SAFARI-FIX-4-2026-05-29: filter transition swapped for
     box-shadow transition — see .is-active rule. */
  transition: transform .55s cubic-bezier(.22,.61,.36,1), box-shadow .45s var(--ease);
  /* backface-visibility:hidden is the textbook Safari flicker pre-emption
     (skill ref 02.2.A). Prefixed before unprefixed per skill ref 01.1. */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  isolation: isolate;
  overflow: hidden;
  -webkit-mask:
    radial-gradient(circle var(--notch-r) at 50% 0%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-x 50% 0 / var(--notch-s) 100%,
    radial-gradient(circle var(--notch-r) at 50% 100%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-x 50% 100% / var(--notch-s) 100%,
    radial-gradient(circle var(--notch-r) at 0% 50%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-y 0 50% / 100% var(--notch-s),
    radial-gradient(circle var(--notch-r) at 100% 50%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-y 100% 50% / 100% var(--notch-s);
  -webkit-mask-composite: source-in;
          mask:
    radial-gradient(circle var(--notch-r) at 50% 0%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-x 50% 0 / var(--notch-s) 100%,
    radial-gradient(circle var(--notch-r) at 50% 100%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-x 50% 100% / var(--notch-s) 100%,
    radial-gradient(circle var(--notch-r) at 0% 50%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-y 0 50% / 100% var(--notch-s),
    radial-gradient(circle var(--notch-r) at 100% 50%, transparent calc(var(--notch-r) - 0.5px), #000 var(--notch-r)) repeat-y 100% 50% / 100% var(--notch-s);
          mask-composite: intersect;
}
/* Flag bg overlay — fades in on active */
.cbs-hero__brand-stamp::before {
  content: "";
  position: absolute;
  inset: 0;
  /* CBS-HERO-V2-SLIMROW-2026-05-31: lighter veil so the flag image shows
     through more; logo stays legible because of (a) the body-side dim still
     ~40%, (b) the box-shadow on .is-active, (c) the logo img sits on z:1
     above this z:0 pseudo. */
  background-image: linear-gradient(rgba(0,0,0,.20), rgba(0,0,0,.40)), var(--flag-bg, none);
  background-size: cover, cover;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
  opacity: 0;
  transition: opacity .45s var(--ease);
  pointer-events: none;
  z-index: 0;
}
.cbs-hero__brand-stamp img {
  position: relative;
  z-index: 1;
  max-width: 96%;
  max-height: 94%;
  width: auto;
  height: auto;
  object-fit: contain;
  pointer-events: none;
  display: block;
}
.cbs-hero__brand-stamp .stamp__cbs {
  position: relative;
  z-index: 1;
  font-family: "Anton", sans-serif;
  font-size: 22px;
  letter-spacing: .08em;
  color: var(--blue);
}
.cbs-hero__brand-stamp:hover {
  opacity: .7;
  transform: scale(.92) rotate(0deg);
}
/* CBS-HERO-V2-SAFARI-FIX-4-2026-05-29: was filter:drop-shadow which forced
   a new Safari compositor layer per stamp on activation — during the layer
   rasterization the inner <img> briefly wasn't drawn, so the brand logo
   blinked invisible for ~1 frame. box-shadow paints into the existing
   parent layer, no relayer needed. */
.cbs-hero__brand-stamp.is-active {
  /* keep translateZ(0) so the stamp stays on the same compositor layer
     across the activation transition (skill ref 02.2.A). */
  /* CBS-HERO-V2-SAFARI-FIX-10-2026-05-29 */
  transform: scale(1.04) !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.55);
  z-index: 2;
}
.cbs-hero__brand-stamp.is-active::before { opacity: 1; }
.cbs-hero__brand-stamp--master {
  background: linear-gradient(135deg, #0e1116, #000) !important;
}
.cbs-hero__brand-stamp--master .stamp__cbs { font-size: 26px; }
@media (max-width: 900px) {
  /* CBS-HERO-V2-RAILHORIZ-v2-2026-05-30: horizontal mobile sizes. */
  /* CBS-HERO-V2-SLIMROW-2026-05-31 */
  .cbs-hero__brand-rail-wrap { width: clamp(360px, 90vw, 460px); height: 78px; }
  .cbs-hero__brand-stamp { width: 110px; height: 56px; flex-basis: 110px; }
}
@media (max-width: 520px) {
  /* CBS-HERO-V2-SLIMROW-2026-05-31 */
  .cbs-hero__brand-rail-wrap { width: clamp(300px, 92vw, 380px); height: 70px; }
  .cbs-hero__brand-stamp { width: 92px; height: 50px; flex-basis: 92px; }
  .cbs-hero__brand-stamp.is-active { transform: scale(1.04) rotate(-3deg) !important; }
}

/* Vertical carousel arrows above/below the rail */
/* CBS-HERO-V2-RAILHORIZ-2026-05-30: arrows now flank the rail (left/right),
   centered vertically. */
.cbs-hero__brand-rail-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: auto;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(13,16,20,.7);
  border: 1px solid rgba(108,189,224,.35);
  border-radius: 50%;
  color: var(--blue, #6cbde0);
  cursor: pointer;
  z-index: 9;
  font-size: 14px;
  line-height: 1;
  font-family: inherit;
  padding: 0;
  transition: background .25s var(--ease), transform .25s var(--ease);
  }
.cbs-hero__brand-rail-nav:hover {
  background: rgba(108,189,224,.18);
  transform: translateY(-50%) scale(1.08);
}
.cbs-hero__brand-rail-nav--prev { left: -14px; }
.cbs-hero__brand-rail-nav--next { right: -14px; }

/* CBS master stamp — redesigned: dark with CBS wordmark + tagline grid */
.cbs-hero__brand-stamp--master {
  background: radial-gradient(circle at 30% 30%, rgba(108,189,224,.18), transparent 60%), linear-gradient(140deg, #0e1116, #000) !important;
  flex-direction: column;
  gap: 4px;
}
.cbs-hero__brand-stamp--master .stamp__cbs {
  font-family: "Anton", sans-serif;
  font-size: 28px;
  letter-spacing: .08em;
  color: var(--blue, #6cbde0);
  line-height: 1;
}
.cbs-hero__brand-stamp--master .stamp__cbs-sub {
  font-family: var(--cbs-font-mono);
  font-size: 8.5px;
  letter-spacing: .24em;
  color: rgba(255,255,255,.55);
  text-transform: uppercase;
}

/* End CBS-HERO-V2-BRAND-RAIL */
/* CBS-HERO-V2-TEXT-ABOVE-CRACKS — keep H1/lead/CTAs/stats above the cracks z-index 3 */
.cbs-hero .copy, .cbs-hero h1, .cbs-hero .stats, .cbs-hero .ctas, .cbs-hero .cta { position: relative; z-index: 5; }

/* CBS-HERO-V2-DEEPDIVE-STAGGER (2026-05-28) — cascade fade-in for text */
.cbs-hero #h1Line1 { transition-delay: 0ms; }
.cbs-hero #h1Line2 { transition-delay: 40ms; }
.cbs-hero #leadCopy { transition-delay: 80ms; }
.cbs-hero #btn1Text { transition-delay: 120ms; }
.cbs-hero #btn2Text { transition-delay: 140ms; }
.cbs-hero .stat:nth-of-type(1) .n,
.cbs-hero .stat:nth-of-type(1) .l { transition-delay: 160ms; }
.cbs-hero .stat:nth-of-type(2) .n,
.cbs-hero .stat:nth-of-type(2) .l { transition-delay: 180ms; }
.cbs-hero .stat:nth-of-type(3) .n,
.cbs-hero .stat:nth-of-type(3) .l { transition-delay: 200ms; }
.cbs-hero .stat:nth-of-type(4) .n,
.cbs-hero .stat:nth-of-type(4) .l { transition-delay: 220ms; }
/* Fade-OUT is instant (no stagger) — only fade-IN cascades */
.cbs-hero .h1line.is-swapping,
.cbs-hero #leadCopy.is-swapping,
.cbs-hero .btn span.is-swapping,
.cbs-hero .stat.is-swapping .n,
.cbs-hero .stat.is-swapping .l { transition-delay: 0ms !important; }
/* End CBS-HERO-V2-DEEPDIVE-STAGGER */

/* CBS-HERO-V2-SAFARI-TEXT-BASE — explicit transform: translateY(0) on text base so Safari can transition */
.cbs-hero .h1line { transform: translateY(0); }
.cbs-hero #leadCopy { transform: translateY(0); }
.cbs-hero .btn span { transform: translateY(0); }
.cbs-hero .stat .n, .cbs-hero .stat .l { transform: translateY(0); }
/* End CBS-HERO-V2-SAFARI-TEXT-BASE */

/* ============================================================
   CBS-NAV-V2 — single floating glass command bar.
   One capsule: brand (logo + nav) · recessed search well · util.
   Floats over a full-bleed hero on home; padded on inner pages.
============================================================ */

body.cbs-body { padding-top: 0; padding-bottom: 96px; }
body.cbs-body.admin-bar { padding-bottom: 96px; }
body.cbs-body.home { padding-bottom: 96px; }

.cbs-nav a,
.cbs-nav button { text-decoration: none; }

.cbs-skip {
  position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden;
  font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace);
  font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase;
}
.cbs-skip:focus {
  left: 16px; top: 16px; width: auto; height: auto; z-index: 999; padding: 10px 14px;
  background: var(--cbs-brand, #4aa3cc); color: #fff; border-radius: 8px; outline: 2px solid #fff;
}

/* Fixed positioning wrapper */
.cbs-nav__bar {
  position: fixed; bottom: 0; top: auto; left: 0; right: 0; z-index: 100;
  display: flex; justify-content: center;
  padding: 16px; padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  pointer-events: none;
}

/* The ONE glass shell (capsule) */
.cbs-nav__shell {
  pointer-events: auto; width: fit-content; max-width: calc(100vw - 32px); height: 64px;
  display: flex; align-items: center; gap: 18px; padding: 0 12px 0 20px;
  border-radius: 9999px;
  background: linear-gradient(180deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.015) 100%), rgba(10,13,18,0.55);
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  backdrop-filter: blur(28px) saturate(180%);
  border: 1px solid rgba(255,255,255,0.09);
  box-shadow: inset 0 1px 0 0 rgba(255,255,255,0.09), inset 0 -1px 0 0 rgba(0,0,0,0.25), 0 10px 40px rgba(0,0,0,0.42);
  transition: background 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}
.cbs-nav.is-scrolled .cbs-nav__shell {
  background: linear-gradient(180deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.01) 100%), rgba(8,11,15,0.85);
  border-color: rgba(255,255,255,0.12);
  box-shadow: inset 0 1px 0 0 rgba(255,255,255,0.08), inset 0 -1px 0 0 rgba(0,0,0,0.3), 0 14px 48px rgba(0,0,0,0.6);
}

/* Brand zone */
.cbs-nav__brand { display: flex; align-items: center; gap: 16px; flex-shrink: 0; }
.cbs-nav__logo { display: inline-flex; align-items: center; flex-shrink: 0; color: var(--cbs-fg-1, #fff); }
.cbs-nav__logo img { height: 30px; width: auto; display: block; object-fit: contain; }
.cbs-nav__logo-text { font-family: var(--cbs-font-display, 'Anton', sans-serif); font-size: 20px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--cbs-fg-1, #fff); }
.cbs-nav__divider { width: 1px; height: 26px; background: rgba(255,255,255,0.12); flex-shrink: 0; }
.cbs-nav__links { display: flex; align-items: center; gap: 22px; }
.cbs-nav__link {
  font-family: var(--cbs-font-body, 'Inter', sans-serif);
  font-weight: 600;
  font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--cbs-fg-2, rgba(255,255,255,0.82));
  background: none; border: none; cursor: pointer; padding: 6px 0;
  display: inline-flex; align-items: center; gap: 6px; position: relative; white-space: nowrap;
  transition: color 0.16s ease;
}
.cbs-nav__link::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; border-radius: 2px;
  background: var(--cbs-brand-strong, #6cbde0); transform: scaleX(0); transform-origin: center;
  transition: transform 0.22s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.cbs-nav__link:hover, .cbs-nav__link:focus-visible { color: var(--cbs-fg-1, #fff); outline: none; }
.cbs-nav__link:hover::after, .cbs-nav__link:focus-visible::after { transform: scaleX(1); }
.cbs-nav__link--toggle i { font-size: 10px; transition: transform 0.22s ease; color: var(--cbs-fg-4, rgba(255,255,255,0.42)); }
.cbs-nav.is-shop .cbs-nav__link--toggle { color: var(--cbs-fg-1, #fff); }
.cbs-nav.is-shop .cbs-nav__link--toggle::after { transform: scaleX(1); }
.cbs-nav.is-shop .cbs-nav__link--toggle i { transform: rotate(180deg); color: var(--cbs-brand-strong, #6cbde0); }
.cbs-nav__link--sale { padding-right: 11px; }
.cbs-nav__dot { position: absolute; top: 3px; right: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--cbs-accent, #ff4d4d); box-shadow: 0 0 7px rgba(255,77,77,0.7); }

/* Search well */
.cbs-nav__search { flex: 0 1 auto; min-width: 0; max-width: 46px; margin: 0; overflow: hidden; transition: max-width 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); }
.cbs-nav.is-search-expanded .cbs-nav__search,
.cbs-nav__search:focus-within { max-width: 420px; }
.cbs-nav.is-search-expanded .cbs-nav__search-inner,
.cbs-nav__search:focus-within .cbs-nav__search-inner { justify-content: flex-start; padding: 0 8px 0 16px; }
.cbs-nav.is-search-expanded .cbs-nav__search-input,
.cbs-nav__search:focus-within .cbs-nav__search-input { flex: 1 1 auto; width: auto; opacity: 1; }
.cbs-nav__search-inner {
  display: flex; align-items: center; justify-content: center; gap: 10px; height: 42px; padding: 0 12px;
  border-radius: 9999px; cursor: text;
  background: rgba(0,0,0,0.28); border: 1px solid rgba(255,255,255,0.07);
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.4);
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}
.cbs-nav__search-inner:hover { border-color: rgba(255,255,255,0.14); background: rgba(0,0,0,0.34); }
.cbs-nav.is-searching .cbs-nav__search-inner {
  border-color: rgba(255,255,255,0.16); background: rgba(0,0,0,0.4);
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.4);
}
.cbs-nav__search-icon { color: var(--cbs-fg-3, rgba(255,255,255,0.62)); font-size: 17px; flex-shrink: 0; transition: color 0.18s ease; }
.cbs-nav.is-searching .cbs-nav__search-icon, .cbs-nav__search-inner:hover .cbs-nav__search-icon { color: var(--cbs-brand-strong, #6cbde0); }
.cbs-nav__search-input {
  flex: 0 1 0; width: 0; min-width: 0; opacity: 0; background: none; border: none; outline: none;
  font-family: var(--cbs-font-body, 'Inter', sans-serif); font-size: 13.5px;
  color: var(--cbs-fg-1, #fff); letter-spacing: 0.01em; height: 100%;
  transition: opacity 0.2s ease;
}
.cbs-nav__search-input::placeholder { color: var(--cbs-fg-4, rgba(255,255,255,0.42)); }
.cbs-nav__search-kbd {
  font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace); font-size: 10px; letter-spacing: 0.04em;
  color: var(--cbs-fg-4, rgba(255,255,255,0.42)); background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08); border-radius: 5px; padding: 3px 7px; flex-shrink: 0;
}
.cbs-nav.is-searching .cbs-nav__search-kbd { opacity: 0.4; }

/* Util zone */
.cbs-nav__util { display: flex; align-items: center; gap: 2px; flex-shrink: 0; }
.cbs-nav__util-item {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; border-radius: 9999px; color: var(--cbs-fg-2, rgba(255,255,255,0.82));
  transition: background 0.16s ease, color 0.16s ease;
}
.cbs-nav__util-item:hover, .cbs-nav__util-item:focus-visible {
  background: var(--cbs-brand-soft, rgba(74,163,204,0.16)); color: var(--cbs-brand-strong, #6cbde0); outline: none;
}
.cbs-nav__util-item i { font-size: 20px; }
.cbs-nav__util-item .cbs-nav__util-count {
  position: absolute; top: 6px; right: 5px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 999px;
  background: var(--cbs-brand, #4aa3cc); color: #fff;
  font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace); font-size: 10px; font-weight: 700; line-height: 1;
  display: inline-flex; align-items: center; justify-content: center; letter-spacing: 0;
  box-shadow: 0 1px 4px rgba(0,0,0,0.5); pointer-events: none;
  transition: opacity 0.22s ease, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.cbs-nav__util-item .cbs-nav__util-count.is-zero { opacity: 0; transform: scale(0.5); }
.cbs-nav__util-count.is-pulsing { animation: cbsNavBadgePulse 0.42s cubic-bezier(0.34, 1.56, 0.64, 1); }
@keyframes cbsNavBadgePulse { 0% { transform: scale(1); } 45% { transform: scale(1.42); } 100% { transform: scale(1); } }

/* Hamburger (compact only) */
.cbs-nav__hamb {
  display: none; align-items: center; justify-content: center; flex-direction: column; gap: 4px;
  width: 40px; height: 40px; background: none; border: none; border-radius: 9999px;
  color: var(--cbs-fg-2, rgba(255,255,255,0.82)); cursor: pointer; padding: 0; flex-shrink: 0;
}
.cbs-nav__hamb span { width: 16px; height: 1.5px; background: currentColor; transition: transform 0.22s ease, opacity 0.16s ease; }
.cbs-nav.is-mobile-open .cbs-nav__hamb span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
.cbs-nav.is-mobile-open .cbs-nav__hamb span:nth-child(2) { opacity: 0; }
.cbs-nav.is-mobile-open .cbs-nav__hamb span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }

/* Sheets — drop DOWN */
.cbs-nav__sheet {
  position: fixed; bottom: 88px; top: auto; left: 50%; width: min(720px, calc(100vw - 32px)); z-index: 95;
  opacity: 0; visibility: hidden; transform: translateX(-50%) translateY(14px); pointer-events: none;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.012) 100%), rgba(10,13,18,0.82);
  -webkit-backdrop-filter: blur(28px) saturate(180%); backdrop-filter: blur(28px) saturate(180%);
  border: 1px solid rgba(255,255,255,0.1); box-shadow: 0 18px 50px rgba(0,0,0,0.55);
  transition: opacity 0.22s ease, transform 0.34s cubic-bezier(0.34, 1.56, 0.64, 1), visibility 0s linear 0.22s;
}
.cbs-nav.is-shop .cbs-nav__sheet--shop, .cbs-nav.is-searching .cbs-nav__sheet--search {
  opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); pointer-events: auto;
  transition: opacity 0.22s ease, transform 0.34s cubic-bezier(0.34, 1.56, 0.64, 1), visibility 0s linear;
}
.cbs-nav__sheet-inner {
  border-radius: 18px; padding: 22px; max-height: min(70vh, 620px); overflow-y: auto;
  scrollbar-width: thin; scrollbar-color: var(--cbs-line-strong, #3a4250) transparent;
}
.cbs-nav__sheet-inner::-webkit-scrollbar { width: 6px; }
.cbs-nav__sheet-inner::-webkit-scrollbar-thumb { background: var(--cbs-line-strong, #3a4250); border-radius: 6px; }
.cbs-nav__sheet-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.cbs-nav__sheet-head {
  font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace); font-size: 11px; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--cbs-brand, #4aa3cc); margin: 0 0 14px; padding-bottom: 10px;
  border-bottom: 1px solid rgba(74,163,204,0.18); font-weight: 500;
}
.cbs-nav__sheet-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 2px; }
.cbs-nav__sheet-list a {
  display: flex; align-items: center; justify-content: space-between; padding: 9px 10px; border-radius: 8px;
  font-family: var(--cbs-font-display, 'Anton', sans-serif); font-size: 14px; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--cbs-fg-2, rgba(255,255,255,0.82));
  transition: background 0.14s ease, color 0.14s ease;
}
.cbs-nav__sheet-list a:hover { background: rgba(74,163,204,0.1); color: var(--cbs-fg-1, #fff); }
.cbs-nav__sheet-list a i { font-size: 12px; color: var(--cbs-fg-4, rgba(255,255,255,0.42)); transition: transform 0.18s ease, color 0.14s ease; }
.cbs-nav__sheet-list a:hover i { color: var(--cbs-brand-strong, #6cbde0); transform: translate(1px, -1px); }
.cbs-nav__sheet-foot { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--cbs-line, #262d37); display: flex; justify-content: center; }
.cbs-nav__sheet-all {
  display: inline-flex; align-items: center; gap: 8px; font-family: var(--cbs-font-display, 'Anton', sans-serif);
  font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--cbs-brand-strong, #6cbde0);
  padding: 6px 0; transition: color 0.16s ease;
}
.cbs-nav__sheet-all:hover { color: var(--cbs-fg-1, #fff); }

/* Search panel content */
.cbs-nav__search-panel { display: flex; flex-direction: column; gap: 18px; }
.cbs-search__group { display: flex; flex-direction: column; gap: 10px; }
.cbs-search__group-head { display: flex; align-items: center; justify-content: space-between; padding: 0 2px; }
.cbs-search__group-label { font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--cbs-brand, #4aa3cc); font-weight: 500; }
.cbs-search__group-clear {
  background: none; border: none; font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace);
  font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--cbs-fg-4, rgba(255,255,255,0.42));
  cursor: pointer; padding: 2px 6px; border-radius: 4px; transition: color 0.16s ease, background 0.16s ease;
}
.cbs-search__group-clear:hover, .cbs-search__group-clear:focus-visible { color: var(--cbs-accent, #ff4d4d); background: rgba(255,77,77,0.08); outline: none; }
.cbs-search__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.cbs-search__chip {
  display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.06); border-radius: 999px;
  font-family: var(--cbs-font-body, 'Inter', sans-serif); font-size: 13px; color: var(--cbs-fg-2, rgba(255,255,255,0.82));
  cursor: pointer; transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
}
.cbs-search__chip i { font-size: 12px; color: var(--cbs-fg-4, rgba(255,255,255,0.42)); transition: color 0.16s ease; }
.cbs-search__chip:hover, .cbs-search__chip.is-focused, .cbs-search__chip:focus-visible {
  background: var(--cbs-brand-soft, rgba(74,163,204,0.16)); border-color: rgba(74,163,204,0.3); color: var(--cbs-fg-1, #fff); outline: none;
}
.cbs-search__chip:hover i, .cbs-search__chip.is-focused i { color: var(--cbs-brand-strong, #6cbde0); }
.cbs-search__skeletons { display: flex; flex-direction: column; gap: 8px; }
.cbs-search__skel {
  height: 56px; border-radius: 10px;
  background: linear-gradient(90deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.08) 50%, rgba(255,255,255,0.04) 100%);
  background-size: 200% 100%; animation: cbsNavSkel 1.4s linear infinite;
}
@keyframes cbsNavSkel { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
.cbs-search__items { display: flex; flex-direction: column; gap: 4px; }
.cbs-search__item {
  display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 12px; padding: 8px 10px;
  border-radius: 10px; color: var(--cbs-fg-2, rgba(255,255,255,0.82)); transition: background 0.14s ease;
}
.cbs-search__item:hover, .cbs-search__item.is-focused, .cbs-search__item:focus-visible { background: rgba(74,163,204,0.1); outline: none; }
.cbs-search__item-img {
  width: 48px; height: 48px; border-radius: 8px; background: var(--cbs-bg-2, #161b22); overflow: hidden;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.cbs-search__item-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cbs-search__item-meta { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.cbs-search__item-name {
  font-family: var(--cbs-font-body, 'Inter', sans-serif); font-size: 13.5px; font-weight: 500; color: var(--cbs-fg-1, #fff);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block;
}
.cbs-search__item-row { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.cbs-search__item-price { font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace); font-size: 12px; color: var(--cbs-brand-strong, #6cbde0); font-style: normal; font-weight: 500; }
.cbs-search__item-stock { font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace); font-size: 9.5px; letter-spacing: 0.1em; text-transform: uppercase; padding: 2px 6px; border-radius: 3px; font-weight: 500; }
.cbs-search__item-stock--out { background: rgba(255,77,77,0.12); color: #ff8d8d; }
.cbs-search__item-arrow { font-size: 12px; color: var(--cbs-fg-4, rgba(255,255,255,0.42)); transition: transform 0.18s ease, color 0.16s ease; }
.cbs-search__item:hover .cbs-search__item-arrow, .cbs-search__item.is-focused .cbs-search__item-arrow { color: var(--cbs-brand-strong, #6cbde0); transform: translate(2px, -2px); }
.cbs-search__see-all {
  display: flex; align-items: center; justify-content: center; gap: 8px; padding: 12px; margin-top: 8px;
  border-top: 1px solid var(--cbs-line, #262d37); font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace);
  font-size: 11.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--cbs-brand, #4aa3cc); font-weight: 500;
  transition: color 0.16s ease, background 0.16s ease; border-radius: 0 0 10px 10px;
}
.cbs-search__see-all:hover { color: var(--cbs-brand-strong, #6cbde0); background: rgba(74,163,204,0.06); }
.cbs-search__empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 28px 16px; text-align: center; color: var(--cbs-fg-3, rgba(255,255,255,0.62)); font-family: var(--cbs-font-body, 'Inter', sans-serif); }
.cbs-search__empty i { font-size: 28px; color: var(--cbs-fg-4, rgba(255,255,255,0.42)); }
.cbs-search__empty p { font-size: 14px; color: var(--cbs-fg-2, rgba(255,255,255,0.82)); margin: 0; line-height: 1.5; }
.cbs-search__empty strong { color: var(--cbs-fg-1, #fff); font-weight: 600; }
.cbs-search__empty-cta {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 6px;
  font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace); font-size: 11px; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--cbs-brand, #4aa3cc); padding: 8px 14px; border-radius: 999px;
  background: rgba(74,163,204,0.08); border: 1px solid rgba(74,163,204,0.2); transition: all 0.16s ease;
}
.cbs-search__empty-cta:hover { color: var(--cbs-brand-strong, #6cbde0); background: var(--cbs-brand-soft, rgba(74,163,204,0.16)); }

/* MOBILE drawer */
.cbs-nav__mobile { position: fixed; inset: 0; z-index: 110; visibility: hidden; pointer-events: none; }
.cbs-nav.is-mobile-open .cbs-nav__mobile { visibility: visible; pointer-events: auto; }
.cbs-nav__mobile-scrim { position: absolute; inset: 0; background: rgba(0,0,0,0.6); border: none; padding: 0; cursor: pointer; opacity: 0; transition: opacity 0.26s ease; }
.cbs-nav.is-mobile-open .cbs-nav__mobile-scrim { opacity: 1; }
.cbs-nav__mobile-panel {
  position: absolute; bottom: 0; top: auto; left: 12px; right: 12px; max-height: 90vh; border-radius: 22px 22px 0 0;
  padding: 20px; padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px));
  background: linear-gradient(180deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.012) 100%), rgba(10,13,18,0.92);
  -webkit-backdrop-filter: blur(28px) saturate(180%); backdrop-filter: blur(28px) saturate(180%);
  border: 1px solid rgba(255,255,255,0.1); border-bottom: none; box-shadow: 0 -18px 50px rgba(0,0,0,0.55);
  transform: translateY(100%); transition: transform 0.38s cubic-bezier(0.34, 1.56, 0.64, 1); overflow-y: auto;
}
.cbs-nav.is-mobile-open .cbs-nav__mobile-panel { transform: translateY(0); }
.cbs-nav__mobile-close { position: absolute; top: 16px; right: 14px; width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.08); border-radius: 9999px; color: var(--cbs-fg-2, rgba(255,255,255,0.82)); cursor: pointer; z-index: 2; }
.cbs-nav__mobile-list { list-style: none; padding: 0; margin: 12px 0 18px; display: flex; flex-direction: column; gap: 4px; }
.cbs-nav__mobile-list a { display: block; padding: 13px 14px; border-radius: 12px; font-family: var(--cbs-font-display, 'Anton', sans-serif); font-size: 16px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--cbs-fg-2, rgba(255,255,255,0.82)); }
.cbs-nav__mobile-list a:hover, .cbs-nav__mobile-list a:active { background: var(--cbs-brand-soft, rgba(74,163,204,0.16)); color: var(--cbs-fg-1, #fff); }
.cbs-nav__mobile-group { border-top: 1px solid var(--cbs-line, #262d37); padding-top: 8px; margin-top: 4px; }
.cbs-nav__mobile-group summary { list-style: none; cursor: pointer; padding: 12px 14px; font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--cbs-brand, #4aa3cc); display: flex; align-items: center; justify-content: space-between; }
.cbs-nav__mobile-group summary::-webkit-details-marker { display: none; }
.cbs-nav__mobile-group summary::after { content: '+'; font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace); font-size: 18px; font-weight: 500; transition: transform 0.22s ease; }
.cbs-nav__mobile-group[open] summary::after { transform: rotate(45deg); }
.cbs-nav__mobile-group ul { list-style: none; padding: 4px 0 8px; margin: 0; }
.cbs-nav__mobile-group ul a { display: block; padding: 10px 14px; border-radius: 8px; font-family: var(--cbs-font-body, 'Inter', sans-serif); font-size: 14px; color: var(--cbs-fg-2, rgba(255,255,255,0.82)); }
.cbs-nav__mobile-group ul a:hover { background: rgba(255,255,255,0.04); color: var(--cbs-fg-1, #fff); }

/* Compact (<= 1023px) */
@media (max-width: 1023px) {
  .cbs-nav__shell { height: 60px; gap: 12px; padding: 0 10px 0 16px; }
  .cbs-nav__divider, .cbs-nav__links { display: none; }
  .cbs-nav__util-item--account, .cbs-nav__util-item--wishlist { display: none; }
  .cbs-nav__hamb { display: inline-flex; }
  .cbs-nav__search-kbd { display: none; }
  body.cbs-body { padding-top: 0; padding-bottom: 88px; }
  body.cbs-body.admin-bar { padding-bottom: 88px; }
  body.cbs-body.home { padding-bottom: 88px; }
}

/* Mobile (<= 767px) */
@media (max-width: 767px) {
  .cbs-nav__bar { padding: 10px 12px; padding-top: calc(10px + env(safe-area-inset-top, 0px)); }
  .cbs-nav__shell { height: 56px; gap: 10px; padding: 0 8px 0 14px; }
  .cbs-nav__logo img { height: 26px; }
  .cbs-nav__search-inner { height: 38px; padding: 0 6px 0 12px; }
  .cbs-nav__search-icon { font-size: 16px; }
  .cbs-nav__util-item { width: 38px; height: 38px; }
  .cbs-nav__util-item i { font-size: 19px; }
  .cbs-nav__sheet { bottom: 74px; top: auto; width: calc(100vw - 24px); }
  .cbs-nav__sheet-inner { padding: 18px; max-height: 64vh; }
  .cbs-nav__sheet-grid { grid-template-columns: 1fr; gap: 18px; }
  body.cbs-body { padding-top: 0; padding-bottom: 84px; }
  body.cbs-body.admin-bar { padding-bottom: 84px; }
  body.cbs-body.home { padding-bottom: 84px; }
}

/* Wide desktop (>= 1280px) */
@media (min-width: 1280px) {
  .cbs-nav__shell { height: 66px; gap: 22px; }
  .cbs-nav__links { gap: 24px; }
  .cbs-nav.is-search-expanded .cbs-nav__search, .cbs-nav__search:focus-within { max-width: 480px; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .cbs-nav__shell, .cbs-nav__sheet, .cbs-nav__mobile-panel, .cbs-nav__util-count, .cbs-nav__link::after, .cbs-nav__hamb span {
    transition: opacity 0.16s ease; animation: none !important;
  }
  .cbs-search__skel { animation: none; background: rgba(255,255,255,0.06); }
  .cbs-nav__util-count.is-pulsing { animation: none; }
}

.cbs-nav__search-inner, .cbs-nav__search:focus-within, .cbs-nav__search-inner:focus-within { outline: none; }
.cbs-nav__search .cbs-nav__search-input, .cbs-nav__search .cbs-nav__search-input:focus, .cbs-nav__search .cbs-nav__search-input:focus-visible { -webkit-appearance: none !important; appearance: none !important; outline: none !important; box-shadow: none !important; border: none !important; background: none !important; }
.cbs-nav__search-input::-webkit-search-cancel-button, .cbs-nav__search-input::-webkit-search-decoration, .cbs-nav__search-input::-webkit-search-results-button { -webkit-appearance: none; appearance: none; display: none; }

/* CBS-NAV-V2 SEARCH FOCUS OVERRIDE — beats the inline (0,3,2 !important) cyan focus rule on input[type=search] */
body.theme-cbs input[type="search"].cbs-nav__search-input:focus,
body.theme-cbs input[type="search"].cbs-nav__search-input:focus-visible,
body.theme-cbs input[type="search"].cbs-nav__search-input:active {
  outline: none !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  border: none !important;
}

/* CBS-NAV-V2 TICKER-TO-TOP — ticker becomes a fixed top strip (nav moved to bottom) */
body.home .cbs-home__ticker {
  position: fixed; top: 0; left: 0; right: 0; z-index: 99;
  width: 100%; max-width: 100%; margin: 0;
}
body.admin-bar.home .cbs-home__ticker { top: 32px; }
@media (max-width: 782px) { body.admin-bar.home .cbs-home__ticker { top: 46px; } }

/* CBS-NAV-V2 CORNER PILL (top-left: logo + util) + ALWAYS-OPEN SEARCH — restored 2026-05-29 after another session wiped this block. */
.cbs-nav__corner {
  position: fixed; top: 56px; left: max(24px, calc((100vw - 1320px) / 2)); z-index: 100;
  display: flex; align-items: center; gap: 12px;
  height: 52px; padding: 0 12px 0 18px; border-radius: 9999px;
  background: linear-gradient(180deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.015) 100%), rgba(10,13,18,0.55);
  -webkit-backdrop-filter: blur(28px) saturate(180%); backdrop-filter: blur(28px) saturate(180%);
  border: 1px solid rgba(255,255,255,0.09);
  box-shadow: inset 0 1px 0 0 rgba(255,255,255,0.09), inset 0 -1px 0 0 rgba(0,0,0,0.25), 0 10px 40px rgba(0,0,0,0.42);
}
body.admin-bar.home .cbs-nav__corner { top: 88px; }
body:not(.home) .cbs-nav__corner { top: 16px; }
body.admin-bar:not(.home) .cbs-nav__corner { top: 48px; }
.cbs-nav__corner .cbs-nav__util { display: flex; align-items: center; gap: 2px; }

/* Always-open search (no proximity collapse) */
.cbs-nav__search { flex: 0 1 340px; width: 340px; max-width: 420px; overflow: visible; }
.cbs-nav__search-inner { justify-content: flex-start; gap: 10px; padding: 0 8px 0 16px; }
.cbs-nav__search-input { flex: 1 1 auto; width: auto; opacity: 1; }

@media (max-width: 782px) {
  body.admin-bar.home .cbs-nav__corner { top: 102px; }
  body.admin-bar:not(.home) .cbs-nav__corner { top: 62px; }
}
@media (max-width: 767px) {
  .cbs-nav__corner { top: 50px; left: 12px; height: 48px; gap: 8px; padding: 0 8px 0 14px; }
  body:not(.home) .cbs-nav__corner { top: 12px; }
  .cbs-nav__search { flex: 1 1 auto; width: auto; }
}

/* CBS-NAV-V2 HERO FILL — ticker is a fixed top strip; hero fills viewport */
body.cbs-body.home .cbs-hero { min-height: 100svh; }
body.cbs-body.home.admin-bar .cbs-hero { min-height: calc(100svh - 32px); }
@media (max-width: 782px) {
  body.cbs-body.home.admin-bar .cbs-hero { min-height: calc(100svh - 46px); }
}

/* CBS-NAV-V2 HERO H-MARGINS — contain hero to container width (1320 max, 24px gutter) so it lines up with sections below */
body.cbs-body.home .cbs-hero {
  width: calc(100% - 48px);
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
}

/* CBS-NAV-V2 HERO TEXT ALIGN — .wrap had 48px left padding pushing headline to x144; zero it so PURE FUEL aligns at x96 with section headings */
body.cbs-body.home .cbs-hero .wrap { padding-left: 0; }
@media (max-width: 767px) { body.cbs-body.home .cbs-hero .wrap { padding-left: 0; } }

/* CBS-NAV-V2 WALL SCALE — broken-wall layers scaled 1.30x around their existing anchor; overflow:hidden clips bleed */
body.cbs-body.home .cbs-hero { overflow: hidden; }
body.cbs-body.home .cbs-hero .hero-wall__glow      { width: 36.4vw; max-width: 572px; }
body.cbs-body.home .cbs-hero .wall__hole           { width: 28.6vw; max-width: 437px; }
body.cbs-body.home .cbs-hero .hero-wall__cracks-bg { width: 37.7vw; max-width: 582px; height: auto; }
body.cbs-body.home .cbs-hero .hero-wall__cracks    { width: 49.4vw; max-width: 787px; height: auto; }
@media (max-width: 920px) {
  body.cbs-body.home .cbs-hero .hero-wall__glow      { max-width: 480px; }
  body.cbs-body.home .cbs-hero .wall__hole           { max-width: 360px; }
  body.cbs-body.home .cbs-hero .hero-wall__cracks-bg { max-width: 480px; }
  body.cbs-body.home .cbs-hero .hero-wall__cracks    { max-width: 640px; }
}

/* CBS-NAV-V2 WALL SHIFT — shift four wall layers 108px LEFT so product (in hole) aligns with .cbs-hero__brand-rail center (cx:1090). Debris (.pieces) untouched per user spec. */
@media (min-width: 921px) {
  body.cbs-body.home .cbs-hero .hero-wall__glow,
  body.cbs-body.home .cbs-hero .wall__hole,
  body.cbs-body.home .cbs-hero .hero-wall__cracks,
  body.cbs-body.home .cbs-hero .hero-wall__cracks-bg {
    left: calc(50vw + (clamp(5rem, 11vw, 10rem) + min(100vw, 1320px) - 2 * clamp(1rem, 4vw, 3rem)) / 4 - 133px);
  }
}

/* CBS-NAV-V2 CART BADGE FIX 2026-06-14 - match wishlist badge position; legacy a.cart-icon top:-16/-8 pushed it above the pill. */
.cbs-nav__corner .cbs-nav__util-item--cart .cart-count { top: 6px !important; right: 5px !important; }

/* CBS-NAV-V2 SHOP SHEET 3COL — wider + readable Inter list (2026-06-17) */
.cbs-nav__sheet--shop { width: min(1080px, 100vw - 32px); }
.cbs-nav__sheet--shop .cbs-nav__sheet-grid { grid-template-columns: repeat(3, 1fr); gap: 30px; }
.cbs-nav__sheet--shop .cbs-nav__sheet-list a {
  font-family: var(--cbs-font-body, 'Inter', sans-serif);
  font-size: 14px;
  letter-spacing: 0;
  text-transform: none;
  font-weight: 500;
}
@media (max-width: 1024px) {
  .cbs-nav__sheet--shop { width: min(720px, 100vw - 32px); }
  .cbs-nav__sheet--shop .cbs-nav__sheet-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
  .cbs-nav__sheet--shop .cbs-nav__sheet-grid { grid-template-columns: 1fr; }
}

/* End CBS-NAV-V2 */

/* ===== CBS-CART-CHECKOUT-V1 ===== */

/* Hide the theme's default WooCommerce page title on cart/checkout (we render our own) */
.woocommerce-cart .entry-header,
.woocommerce-cart .page-header,
.woocommerce-cart .entry-title,
.woocommerce-cart .page-title,
.woocommerce-checkout .entry-header,
.woocommerce-checkout .page-header,
.woocommerce-checkout .entry-title,
.woocommerce-checkout .page-title { display: none !important; }

/* Match the WC-archive top spacing: regular-page wrappers add ~94px the WC templates don't */
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main,
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content{ margin-top: 0 !important; }

/* ---------- CART: DEPARTURE MANIFEST ---------- */
.cbs-cart{
	max-width: var(--cbs-container, 1280px);
	margin: 0 auto;
	padding: 88px clamp(16px, 4vw, 34px) 130px;
	font-family: var(--cbs-font-body, 'Inter', sans-serif);
	color: var(--cbs-fg-1, #fff);
	box-sizing: border-box;
}
.cbs-cart *,
.cbs-cart *::before,
.cbs-cart *::after{ box-sizing: border-box; }

/* Header */
.cbs-cart__eyebrow{
	font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace);
	font-size: 11px; letter-spacing: .22em; text-transform: uppercase;
	color: #6cbde0; display: inline-block;
}
.cbs-cart__headrow{
	display: flex; align-items: flex-end; justify-content: space-between; gap: 24px;
	border-bottom: 1px solid var(--cbs-line-strong, #3a4250);
	padding-bottom: 18px; margin-top: 12px;
}
.cbs-cart__title{
	font-family: var(--cbs-font-display, 'Anton', sans-serif);
	font-weight: 400; font-size: clamp(36px, 5.4vw, 66px); line-height: .92;
	letter-spacing: .01em; text-transform: uppercase; color: #fff; margin: 0;
	display: block;
}
.cbs-cart__title span{ color: #6cbde0; }
.cbs-cart__title::before,
.cbs-cart__title::after{ display: none !important; content: none !important; }
.cbs-cart__sub{
	font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace);
	font-size: 12px; letter-spacing: .04em; text-transform: uppercase;
	color: var(--cbs-fg-3, rgba(255,255,255,.62)); margin: 0 0 6px;
}

/* Grid */
.cbs-cart__grid{
	display: grid; grid-template-columns: minmax(0, 1fr) 358px; gap: 28px;
	align-items: start; margin-top: 26px;
}

/* Column heads */
.cbs-cart__rowhead{
	display: grid; grid-template-columns: 28px 1fr 116px 130px 116px 34px; gap: 14px;
	padding: 0 16px 10px; align-items: center;
	font-family: var(--cbs-font-mono, monospace);
	font-size: 10px; letter-spacing: .18em; text-transform: uppercase;
	color: var(--cbs-fg-4, rgba(255,255,255,.42));
}
.cbs-cart__rowhead .cbs-cart__rh--cargo{ grid-column: 1 / 3; }
.cbs-cart__rh--price, .cbs-cart__rh--line{ text-align: right; }
.cbs-cart__rh--qty{ text-align: center; }

/* Items */
.cbs-cart__items{ display: flex; flex-direction: column; gap: 12px; }
.cbs-cart__row{
	display: grid; grid-template-columns: 28px 1fr 116px 130px 116px 34px; gap: 14px;
	align-items: center;
	background: var(--cbs-bg-1, #0e1116);
	border: 1px solid var(--cbs-line, rgba(255,255,255,.08));
	border-radius: var(--cbs-r-3, 12px);
	padding: 16px; position: relative;
	transition: border-color .25s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)), opacity .3s, transform .3s;
}
.cbs-cart__row:hover{ border-color: var(--cbs-line-strong, #3a4250); }
.cbs-cart__num{
	font-family: var(--cbs-font-mono, monospace); font-size: 11px; letter-spacing: .05em;
	color: #6cbde0; align-self: start; padding-top: 4px; text-align: center;
}
.cbs-cart__cargo{ display: flex; gap: 14px; align-items: center; min-width: 0; }
.cbs-cart__thumb{
	width: 74px; height: 74px; flex: 0 0 74px; display: block; overflow: hidden;
	border: 1px solid var(--cbs-line, rgba(255,255,255,.08)); border-radius: 8px;
	background: var(--cbs-bg-0, #06080b);
}
.cbs-cart__thumb img{ width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; }
.cbs-cart__info{ min-width: 0; }
.cbs-cart__name{
	font-family: var(--cbs-font-body, 'Inter', sans-serif); font-weight: 600; font-size: 15px;
	color: #fff; text-decoration: none; display: block; line-height: 1.25;
}
.cbs-cart__name:hover{ color: #6cbde0; }

/* Variation / meta pills */
.cbs-cart__pills{ margin-top: 8px; }
.cbs-cart__pills .variation{
	margin: 0; display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center;
}
.cbs-cart__pills .variation dt{
	margin: 0; font-family: var(--cbs-font-mono, monospace); font-weight: 400;
	font-size: 9px; letter-spacing: .12em; text-transform: uppercase;
	color: var(--cbs-fg-4, rgba(255,255,255,.42));
}
.cbs-cart__pills .variation dd{
	margin: 0; padding: 3px 10px; border-radius: 999px;
	border: 1px solid var(--cbs-line, rgba(255,255,255,.08));
	background: var(--cbs-bg-2, #161b22);
	font-size: 11px; color: var(--cbs-fg-2, rgba(255,255,255,.82));
}
.cbs-cart__pills .variation dd p{ margin: 0; display: inline; }

/* Tags row (stock + sku) */
.cbs-cart__tags{ display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 9px; }
.cbs-cart__stock{
	font-family: var(--cbs-font-mono, monospace); font-size: 10px; letter-spacing: .1em;
	text-transform: uppercase; display: inline-flex; align-items: center; gap: 6px;
}
.cbs-cart__stock::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.cbs-cart__stock.is-instock{ color: var(--cbs-ok, #34c759); }
.cbs-cart__stock.is-backorder{ color: var(--cbs-warn, #ffb13c); }
.cbs-cart__stock.is-oos{ color: var(--cbs-bad, #ff453a); }
.cbs-cart__sku{
	font-family: var(--cbs-font-mono, monospace); font-size: 10px; letter-spacing: .08em;
	color: var(--cbs-fg-4, rgba(255,255,255,.42)); text-transform: uppercase;
}

/* Price / line cells */
.cbs-cart__cell{ display: flex; flex-direction: column; gap: 3px; }
.cbs-cart__cell--price, .cbs-cart__cell--line{ align-items: flex-end; text-align: right; }
.cbs-cart__cell--qty{ align-items: center; }
.cbs-cart__clabel{
	display: none; font-family: var(--cbs-font-mono, monospace); font-size: 9px;
	letter-spacing: .14em; text-transform: uppercase; color: var(--cbs-fg-4, rgba(255,255,255,.42));
}
.cbs-cart__cval{ font-family: var(--cbs-font-mono, monospace); font-size: 14px; color: #fff; white-space: nowrap; }
.cbs-cart__cell--line .cbs-cart__cval{ color: #fff; font-weight: 600; }
.cbs-cart__cell .amount{ font-family: var(--cbs-font-mono, monospace); }
.cbs-cart__cval--disc{ color: #fff; }
.cbs-cart__cval-orig{ display: block; font-family: var(--cbs-font-mono, monospace); font-size: 11px; color: var(--cbs-fg-4, rgba(255,255,255,.42)); margin-top: 2px; white-space: nowrap; }
.cbs-cart__cval-orig del{ text-decoration: line-through; }
.cbs-cart__save{ display: inline-block; font-family: var(--cbs-font-mono, monospace); font-size: 9px; letter-spacing: .05em; color: #6cbde0; border: 1px solid rgba(108,189,224,.4); background: rgba(108,189,224,.08); border-radius: 999px; padding: 1px 6px; margin-left: 4px; vertical-align: middle; }

/* Quantity stepper */
.cbs-qty{
	display: inline-flex; align-items: center; border: 1px solid var(--cbs-line, rgba(255,255,255,.08));
	border-radius: 8px; overflow: hidden; background: var(--cbs-bg-2, #161b22);
}
.cbs-qty .quantity{ display: contents; margin: 0; }
.cbs-qty__btn{
	width: 30px; height: 36px; background: transparent; border: 0; color: var(--cbs-fg-2, rgba(255,255,255,.82));
	font-size: 17px; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
	transition: color .2s, background .2s;
}
.cbs-qty__btn:hover{ color: #6cbde0; background: rgba(108,189,224,.08); }
.cbs-qty input.qty{
	width: 40px; height: 36px; text-align: center; background: transparent; border: 0;
	border-left: 1px solid var(--cbs-line, rgba(255,255,255,.08)); border-right: 1px solid var(--cbs-line, rgba(255,255,255,.08));
	color: #fff; font-family: var(--cbs-font-mono, monospace); font-size: 13px; -moz-appearance: textfield; appearance: textfield;
	border-radius: 0;
}
.cbs-qty input.qty::-webkit-outer-spin-button,
.cbs-qty input.qty::-webkit-inner-spin-button{ -webkit-appearance: none; margin: 0; }
.cbs-qty input.qty:focus{ outline: none; box-shadow: none; }
.cbs-qty--single{ font-family: var(--cbs-font-mono, monospace); color: #fff; padding: 8px 14px; border: 1px solid var(--cbs-line, rgba(255,255,255,.08)); border-radius: 8px; }
/* Hide the parent theme's JS-injected quantity buttons (we render our own steppers) */
.cbs-cart .qty-btn,
.cbs-cart .quantity .qty-btn,
.cbs-cart .qty-btn.minus,
.cbs-cart .qty-btn.plus{ display: none !important; }

/* Remove */
.cbs-cart__remove{
	width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
	color: var(--cbs-fg-4, rgba(255,255,255,.42)); text-decoration: none; font-size: 18px; line-height: 1;
	border: 1px solid transparent; transition: color .2s, border-color .2s, background .2s; justify-self: center;
}
.cbs-cart__remove:hover{ color: var(--cbs-bad, #ff453a); border-color: rgba(255,69,58,.4); background: rgba(255,69,58,.08); }

/* Manifest foot */
.cbs-cart__manifest-foot{
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	margin-top: 18px; padding-top: 4px;
}
.cbs-cart__continue{
	font-family: var(--cbs-font-mono, monospace); font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
	color: var(--cbs-fg-3, rgba(255,255,255,.62)); text-decoration: none; display: inline-flex; align-items: center; gap: 8px;
	transition: color .2s;
}
.cbs-cart__continue:hover{ color: #6cbde0; }
.cbs-cart__update{
	font-family: var(--cbs-font-mono, monospace); font-size: 11px; letter-spacing: .1em; text-transform: uppercase;
	color: var(--cbs-fg-3, rgba(255,255,255,.62)); background: transparent;
	border: 1px solid var(--cbs-line-strong, #3a4250); border-radius: 7px; padding: 9px 16px; cursor: pointer;
	transition: border-color .2s, color .2s;
}
.cbs-cart__update:hover{ color: #fff; border-color: #fff; }
.cbs-cart.is-js .cbs-cart__update{ display: none; }

/* Summary: FARE card */
.cbs-cart__summary{ position: sticky; top: 88px; }
.cbs-cart__fare{
	background: var(--cbs-bg-1, #0e1116); border: 1px solid var(--cbs-line-strong, #3a4250);
	border-radius: var(--cbs-r-3, 12px); padding: 22px;
	box-shadow: 0 30px 60px -40px rgba(0,0,0,.8);
}
.cbs-cart__fare-head{
	display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
	border-bottom: 1px dashed var(--cbs-line-strong, #3a4250); padding-bottom: 14px; margin-bottom: 16px;
}
.cbs-cart__fare-ttl{
	font-family: var(--cbs-font-mono, monospace); font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: #fff; font-weight: 500;
}
.cbs-cart__fare-ref{ font-family: var(--cbs-font-mono, monospace); font-size: 10px; letter-spacing: .12em; color: #6cbde0; }

/* Coupon */
.cbs-cart__coupon{ display: flex; gap: 8px; margin-bottom: 18px; }
.cbs-cart__coupon-input{
	flex: 1 1 auto; min-width: 0; background: var(--cbs-bg-2, #161b22);
	border: 1px solid var(--cbs-line, rgba(255,255,255,.08)); border-radius: 8px;
	padding: 11px 13px; color: #fff; font-family: var(--cbs-font-body, 'Inter', sans-serif); font-size: 13px;
}
.cbs-cart__coupon-input::placeholder{ color: var(--cbs-fg-4, rgba(255,255,255,.42)); }
.cbs-cart__coupon-input:focus{ outline: none; border-color: #6cbde0; box-shadow: none; }
.cbs-cart__coupon-btn{
	flex: 0 0 auto; background: transparent; border: 1px solid var(--cbs-line-strong, #3a4250); border-radius: 8px;
	color: #fff; font-family: var(--cbs-font-mono, monospace); font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
	padding: 0 16px; cursor: pointer; transition: border-color .2s, color .2s, background .2s;
}
.cbs-cart__coupon-btn:hover{ border-color: #6cbde0; color: #6cbde0; background: rgba(108,189,224,.06); }

/* Totals rows */
.cbs-cart__rows{ margin: 0; }
.cbs-cart__line-row{
	display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 9px 0;
	font-size: 14px; color: var(--cbs-fg-2, rgba(255,255,255,.82));
}
.cbs-cart__line-row dt{ margin: 0; font-weight: 400; color: var(--cbs-fg-3, rgba(255,255,255,.62)); }
.cbs-cart__line-row dd{ margin: 0; text-align: right; font-family: var(--cbs-font-mono, monospace); color: #fff; }
.cbs-cart__line-row .amount{ font-family: var(--cbs-font-mono, monospace); }
.cbs-cart__line-row--coupon dt{ font-family: var(--cbs-font-mono, monospace); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #6cbde0; }
.cbs-cart__line-row--coupon dd a{ color: var(--cbs-fg-4, rgba(255,255,255,.42)); font-size: 11px; }
.cbs-cart__line-row--coupon dd a:hover{ color: var(--cbs-bad, #ff453a); }
.cbs-cart__ship-note{ font-family: var(--cbs-font-mono, monospace); font-size: 11px !important; color: var(--cbs-fg-4, rgba(255,255,255,.42)) !important; text-transform: uppercase; letter-spacing: .06em; }
.cbs-cart__line-row--total{
	border-top: 1px solid var(--cbs-line-strong, #3a4250); margin-top: 10px; padding-top: 16px; align-items: center;
}
.cbs-cart__line-row--total dt{
	font-family: var(--cbs-font-mono, monospace); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #fff;
}
.cbs-cart__line-row--total dd{
	font-family: var(--cbs-font-display, 'Anton', sans-serif); font-size: 30px; color: #fff; letter-spacing: .01em; line-height: 1;
}
.cbs-cart__line-row--total dd .amount{ font-family: var(--cbs-font-display, 'Anton', sans-serif); }

/* Proceed button: filled white primary */
.cbs-cart__checkout{
	display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%;
	margin-top: 18px; padding: 16px 20px; border-radius: 9px; background: #fff; color: #06080b;
	font-family: var(--cbs-font-mono, monospace); font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	text-decoration: none; border: 1px solid #fff; transition: transform .25s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)), box-shadow .25s, background .2s;
}
.cbs-cart__checkout:hover{ background: #6cbde0; border-color: #6cbde0; color: #06080b; transform: translateY(-2px); box-shadow: 0 16px 34px -16px rgba(108,189,224,.6); }
.cbs-cart__checkout span{ transition: transform .25s; }
.cbs-cart__checkout:hover span{ transform: translateX(4px); }

/* Trust strip */
.cbs-cart__trust{
	display: flex; flex-wrap: wrap; gap: 8px 16px; justify-content: center; list-style: none; padding: 0; margin: 16px 0 0;
	font-family: var(--cbs-font-mono, monospace); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--cbs-fg-4, rgba(255,255,255,.42));
}
.cbs-cart__trust li{ position: relative; }
.cbs-cart__trust li + li::before{ content: "/"; margin-right: 16px; color: var(--cbs-line-strong, #3a4250); }

/* Notices */
.cbs-cart__notices:empty{ display: none; }
.cbs-cart__notices .woocommerce-message,
.cbs-cart__notices .woocommerce-info,
.cbs-cart__notices .woocommerce-error,
.cbs-cart__notices li{
	background: var(--cbs-bg-1, #0e1116) !important; border: 1px solid var(--cbs-line-strong, #3a4250) !important;
	border-left: 3px solid #6cbde0 !important; border-radius: 8px !important; color: var(--cbs-fg-2, rgba(255,255,255,.82)) !important;
	font-family: var(--cbs-font-body, 'Inter', sans-serif) !important; padding: 13px 16px !important; margin: 0 0 14px !important; list-style: none !important;
}
.cbs-cart__notices .woocommerce-error li{ border-left-color: var(--cbs-bad, #ff453a) !important; }
.cbs-cart__notices .button{
	background: transparent !important; color: #6cbde0 !important; border: 1px solid var(--cbs-line-strong, #3a4250) !important;
	padding: 6px 12px !important; border-radius: 6px !important; font-family: var(--cbs-font-mono, monospace) !important;
	font-size: 11px !important; letter-spacing: .08em !important; text-transform: uppercase !important;
}

/* Busy / updating states */
.cbs-cart.is-busy{ pointer-events: none; }
.cbs-cart.is-busy .cbs-cart__fare,
.cbs-cart.is-busy .cbs-cart__items{ opacity: .5; transition: opacity .2s; }
.cbs-cart__row.is-removing{ opacity: .35; transform: translateX(6px); }

/* Responsive */
@media (max-width: 980px){
	.cbs-cart__grid{ grid-template-columns: 1fr; }
	.cbs-cart__summary{ position: static; }
}
@media (max-width: 680px){
	.cbs-cart{ padding: 80px 16px 130px; }
	.cbs-cart__rowhead{ display: none; }
	.cbs-cart__row{
		grid-template-columns: 1fr auto; grid-template-areas:
			"cargo cargo"
			"price qty"
			"line remove";
		gap: 12px 14px; padding: 16px 14px; position: relative;
	}
	.cbs-cart__num{ position: absolute; top: 12px; right: 14px; padding: 0; }
	.cbs-cart__cargo{ grid-area: cargo; padding-right: 30px; }
	.cbs-cart__cell--price{ grid-area: price; align-items: flex-start; text-align: left; }
	.cbs-cart__cell--qty{ grid-area: qty; align-items: flex-end; }
	.cbs-cart__cell--line{ grid-area: line; flex-direction: row; align-items: center; justify-content: flex-start; gap: 12px; border-top: 1px dashed var(--cbs-line, rgba(255,255,255,.08)); padding-top: 14px; }
	.cbs-cart__clabel{ display: block; }
	.cbs-cart__cell--line .cbs-cart__clabel{ font-size: 11px; }
	.cbs-cart__cell--line .cbs-cart__cval{ font-size: 16px; }
	.cbs-cart__remove{ grid-area: remove; position: static; align-self: end; justify-self: end; margin-bottom: 4px; }
}

/* Spec pills (manifest detail) */
.cbs-cart__specs{ display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.cbs-cart__spec{
	font-family: var(--cbs-font-mono, monospace); font-size: 10px; letter-spacing: .03em;
	color: var(--cbs-fg-3, rgba(255,255,255,.62)); background: var(--cbs-bg-2, #161b22);
	border: 1px solid var(--cbs-line, rgba(255,255,255,.08)); border-radius: 999px; padding: 3px 9px;
}

/* Thumbnail frame lift for dark product photos */
.cbs-cart__thumb{ background: var(--cbs-bg-2, #161b22); box-shadow: inset 0 0 0 1px rgba(255,255,255,.04); }

/* Cross-sells: COMPLETE YOUR STACK */
.cbs-cart__cross{ margin-top: 66px; }
.cbs-cart__cross-head{
	display: flex; align-items: flex-end; justify-content: space-between; gap: 24px;
	border-bottom: 1px solid var(--cbs-line-strong, #3a4250); padding-bottom: 16px; margin-bottom: 28px;
}
.cbs-cart__cross-head .cbs-home__h{
	font-family: var(--cbs-font-display, 'Anton', sans-serif) !important; font-weight: 400 !important;
	font-size: clamp(28px, 3.6vw, 46px) !important; line-height: .96 !important; letter-spacing: .01em !important;
	text-transform: uppercase !important; color: #fff !important; margin: 0 !important; display: block !important;
}
.cbs-cart__cross-head .cbs-home__h span{ color: #6cbde0 !important; }
.cbs-cart__cross-head .cbs-home__h::before,
.cbs-cart__cross-head .cbs-home__h::after{ display: none !important; content: none !important; }
.cbs-cart__cross-head .cbs-home__sub{
	font-family: var(--cbs-font-body, 'Inter', sans-serif) !important; text-transform: none !important;
	letter-spacing: normal !important; font-size: 13px !important; line-height: 1.5 !important;
	color: var(--cbs-fg-3, rgba(255,255,255,.62)) !important; margin: 0 !important; max-width: 320px; text-align: right;
}
.cbs-cart__cross-grid{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.cbs-cart__cross-grid > *{ margin: 0 !important; }

/* Empty cart: MANIFEST EMPTY */
.cbs-cart--empty{ min-height: 50vh; }
.cbs-cart--empty .cbs-cart__notices .woocommerce-info,
.cbs-cart--empty .cbs-cart__notices .cart-empty,
.cbs-cart--empty .cbs-cart__notices .wc-empty-cart-message{ display: none !important; }
.cbs-cart--empty .cbs-cart__notices:empty{ display: none; }
.cbs-empty{ width: 100%; display: flex; justify-content: center; padding: 24px 0 0; }
.cbs-empty__ticket{
	width: 100%; max-width: 560px; background: var(--cbs-bg-1, #0e1116);
	border: 1px solid var(--cbs-line-strong, #3a4250); border-radius: var(--cbs-r-3, 12px);
	overflow: hidden; position: relative; box-shadow: 0 40px 80px -50px rgba(0,0,0,.9);
}
.cbs-empty__ticket-head{
	display: flex; align-items: center; justify-content: space-between; padding: 14px 22px;
	border-bottom: 1px dashed var(--cbs-line-strong, #3a4250);
	font-family: var(--cbs-font-mono, monospace); font-size: 10px; letter-spacing: .18em; text-transform: uppercase;
}
.cbs-empty__ref{ color: #6cbde0; }
.cbs-empty__status{ color: var(--cbs-fg-4, rgba(255,255,255,.42)); }
.cbs-empty__body{ padding: 42px 30px 36px; text-align: center; }
.cbs-empty__glyph{ display: inline-flex; color: #6cbde0; width: 60px; height: 60px; margin-bottom: 18px; }
.cbs-empty__glyph svg{ width: 100%; height: 100%; }
.cbs-empty__title{
	font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400; font-size: clamp(30px, 5vw, 46px);
	line-height: .96; letter-spacing: .01em; text-transform: uppercase; color: #fff; margin: 0 0 12px; display: block;
}
.cbs-empty__title::before, .cbs-empty__title::after{ display: none !important; content: none !important; }
.cbs-empty__title span{ color: #6cbde0; }
.cbs-empty__sub{
	font-family: var(--cbs-font-body, 'Inter', sans-serif); font-size: 14px; line-height: 1.6;
	color: var(--cbs-fg-3, rgba(255,255,255,.62)); margin: 0 auto 26px; max-width: 380px;
}
.cbs-empty__cta{ display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.cbs-empty__btn{
	display: inline-flex; align-items: center; gap: 9px; padding: 14px 22px; border-radius: 9px;
	font-family: var(--cbs-font-mono, monospace); font-size: 12px; font-weight: 700; letter-spacing: .14em;
	text-transform: uppercase; text-decoration: none;
	transition: transform .25s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)), background .2s, color .2s, border-color .2s;
}
.cbs-empty__btn--primary{ background: #fff; color: #06080b; border: 1px solid #fff; }
.cbs-empty__btn--primary:hover{ background: #6cbde0; border-color: #6cbde0; transform: translateY(-2px); }
.cbs-empty__btn--ghost{ background: transparent; color: var(--cbs-fg-2, rgba(255,255,255,.82)); border: 1px solid var(--cbs-line-strong, #3a4250); }
.cbs-empty__btn--ghost:hover{ color: #fff; border-color: #fff; }
.cbs-empty__perf{ border-top: 1px dashed var(--cbs-line-strong, #3a4250); position: relative; }
.cbs-empty__perf::before, .cbs-empty__perf::after{
	content: ""; position: absolute; top: -9px; width: 18px; height: 18px; border-radius: 50%;
	background: var(--cbs-bg-0, #06080b); border: 1px solid var(--cbs-line-strong, #3a4250);
}
.cbs-empty__perf::before{ left: -10px; }
.cbs-empty__perf::after{ right: -10px; }
.cbs-empty__barcode{ padding: 16px 22px 18px; display: flex; flex-direction: column; gap: 8px; align-items: center; }
.cbs-empty__barcode span{
	display: block; width: 100%; height: 38px; opacity: .5;
	background-image: repeating-linear-gradient(90deg, var(--cbs-fg-2, rgba(255,255,255,.82)) 0 2px, transparent 2px 4px, var(--cbs-fg-2, rgba(255,255,255,.82)) 4px 5px, transparent 5px 9px, var(--cbs-fg-2, rgba(255,255,255,.82)) 9px 12px, transparent 12px 14px);
}
.cbs-empty__barcode em{ font-family: var(--cbs-font-mono, monospace); font-style: normal; font-size: 9px; letter-spacing: .2em; text-transform: uppercase; color: var(--cbs-fg-4, rgba(255,255,255,.42)); }

/* Phase-3 responsive */
@media (max-width: 980px){ .cbs-cart__cross-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px){
	.cbs-cart__cross-grid{ grid-template-columns: 1fr; }
	.cbs-cart__cross-head{ flex-direction: column; align-items: flex-start; gap: 8px; }
	.cbs-cart__cross-head .cbs-home__sub{ text-align: left; }
}

/* ---------- CHECKOUT: FINAL BOARDING ---------- */
.cbs-co{
	max-width: var(--cbs-container, 1280px); margin: 0 auto; padding: 88px clamp(16px,4vw,34px) 130px;
	font-family: var(--cbs-font-body, 'Inter', sans-serif); color: var(--cbs-fg-1, #fff); box-sizing: border-box;
}
.cbs-co *, .cbs-co *::before, .cbs-co *::after{ box-sizing: border-box; }
.cbs-co__eyebrow{ font-family: var(--cbs-font-mono, monospace); font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: #6cbde0; display: inline-block; }
.cbs-co__headrow{ display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--cbs-line-strong, #3a4250); padding-bottom: 18px; margin-top: 12px; }
.cbs-co__title{ font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400; font-size: clamp(36px,5.4vw,66px); line-height: .92; letter-spacing: .01em; text-transform: uppercase; color: #fff; margin: 0; display: block; }
.cbs-co__title span{ color: #6cbde0; }
.cbs-co__title::before, .cbs-co__title::after{ display: none !important; content: none !important; }
.cbs-co__sub{ font-family: var(--cbs-font-mono, monospace); font-size: 12px; letter-spacing: .04em; text-transform: uppercase; color: var(--cbs-fg-3, rgba(255,255,255,.62)); margin: 0 0 6px; }
.cbs-co__grid{ display: grid; grid-template-columns: minmax(0,1fr) 380px; gap: 30px; align-items: start; margin-top: 28px; }

/* WC field sections */
.cbs-co .woocommerce-billing-fields, .cbs-co .woocommerce-shipping-fields, .cbs-co .woocommerce-additional-fields{
	background: var(--cbs-bg-1, #0e1116); border: 1px solid var(--cbs-line, rgba(255,255,255,.08)); border-radius: var(--cbs-r-3, 12px); padding: 22px; margin-bottom: 18px;
}
.cbs-co .woocommerce-billing-fields > h3, .cbs-co .woocommerce-shipping-fields h3, .cbs-co .woocommerce-additional-fields > h3, .cbs-co #ship-to-different-address{
	font-family: var(--cbs-font-mono, monospace) !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: .16em !important; text-transform: uppercase !important; color: #fff !important;
	margin: 0 0 16px !important; padding: 0 0 12px !important; border-bottom: 1px dashed var(--cbs-line-strong, #3a4250); display: block !important;
}
.cbs-co .woocommerce-billing-fields > h3::before, .cbs-co .woocommerce-billing-fields > h3::after, .cbs-co .woocommerce-additional-fields > h3::before, .cbs-co .woocommerce-additional-fields > h3::after{ display: none !important; content: none !important; }
.cbs-co .woocommerce-billing-fields__field-wrapper, .cbs-co .woocommerce-shipping-fields__field-wrapper, .cbs-co .woocommerce-additional-fields__field-wrapper{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.cbs-co .form-row{ margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; float: none; width: auto; grid-column: 1 / -1; }
.cbs-co .form-row-first{ grid-column: 1 / 2; }
.cbs-co .form-row-last{ grid-column: 2 / 3; }
/* CBS-CO-OPT (2026-07-15): WooCommerce base .form-row-first/.form-row-last width:47% was cramping the First/Last name inputs inside their grid cells (rendered ~147px). Fill the cell instead. */
.cbs-co .form-row-first, .cbs-co .form-row-last{ width: 100% !important; float: none !important; }
/* CBS-CO-COUPON: coupon toggle + form relocated into the Order Summary card. */
.cbs-co__pass .woocommerce-form-coupon-toggle{ margin: 2px 0 14px; }
.cbs-co__pass .woocommerce-form-coupon-toggle .woocommerce-info{ background: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important; color: var(--cbs-fg-3, rgba(255,255,255,.62)) !important; font-family: var(--cbs-font-body,'Inter',sans-serif) !important; font-size: 13px !important; line-height: 1.4 !important; }
.cbs-co__pass .woocommerce-form-coupon-toggle .woocommerce-info::before{ display: none !important; content: none !important; }
.cbs-co__pass .showcoupon{ color: #6cbde0 !important; text-decoration: none !important; font-weight: 600 !important; }
.cbs-co__pass .showcoupon:hover{ text-decoration: underline !important; }
.cbs-co__pass form.checkout_coupon{ margin: 0 0 16px !important; padding: 0 !important; border: 0 !important; background: none !important; display: flex !important; flex-wrap: wrap; gap: 8px !important; align-items: stretch; }
.cbs-co__pass form.checkout_coupon > p:not(.form-row){ display: none !important; }
.cbs-co__pass form.checkout_coupon label{ display: none !important; }
.cbs-co__pass form.checkout_coupon .form-row{ margin: 0 !important; padding: 0 !important; }
.cbs-co__pass form.checkout_coupon .form-row-first{ width: auto !important; flex: 1 1 140px; }
.cbs-co__pass form.checkout_coupon .form-row-last{ width: auto !important; flex: 0 0 auto; }
.cbs-co__pass form.checkout_coupon #coupon_code{ width: 100% !important; background: var(--cbs-bg-2, #161b22) !important; border: 1px solid var(--cbs-line, rgba(255,255,255,.08)) !important; border-radius: 8px !important; padding: 11px 12px !important; color: #fff !important; font-size: 13px !important; min-height: 44px !important; }
.cbs-co__pass form.checkout_coupon #coupon_code::placeholder{ color: var(--cbs-fg-4, rgba(255,255,255,.42)) !important; }
.cbs-co__pass form.checkout_coupon button[name="apply_coupon"], .cbs-co__pass form.checkout_coupon .button{ flex: 0 0 auto; background: transparent !important; color: #fff !important; border: 1px solid rgba(255,255,255,.22) !important; border-radius: 8px !important; padding: 0 18px !important; min-height: 44px !important; font-family: var(--cbs-font-mono,monospace) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .08em !important; text-transform: uppercase !important; cursor: pointer; transition: border-color .2s, color .2s, background .2s; }
.cbs-co__pass form.checkout_coupon button[name="apply_coupon"]:hover, .cbs-co__pass form.checkout_coupon .button:hover{ border-color: #6cbde0 !important; color: #6cbde0 !important; background: rgba(108,189,224,.06) !important; }
/* CBS-CO-COUPON v2: custom discount-code field in the Order Summary (applied via AJAX). */
.cbs-co__coupon{ display: flex; gap: 8px; margin: 2px 0 12px; }
.cbs-co__coupon-input{ flex: 1 1 auto; min-width: 0; background: var(--cbs-bg-2, #161b22); border: 1px solid var(--cbs-line, rgba(255,255,255,.08)); border-radius: 8px; padding: 11px 12px; color: #fff; font-family: var(--cbs-font-body,'Inter',sans-serif); font-size: 13px; }
.cbs-co__coupon-input::placeholder{ color: var(--cbs-fg-4, rgba(255,255,255,.42)); }
.cbs-co__coupon-input:focus{ outline: none; border-color: #6cbde0; }
.cbs-co__coupon-btn{ flex: 0 0 auto; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.22); border-radius: 8px; padding: 0 18px; min-height: 44px; font-family: var(--cbs-font-mono,monospace); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: border-color .2s, color .2s, background .2s; }
.cbs-co__coupon-btn:hover{ border-color: #6cbde0; color: #6cbde0; background: rgba(108,189,224,.06); }
.cbs-co__coupon-btn:disabled{ opacity: .6; cursor: default; }
.cbs-co__coupon-msg{ margin: 0 0 12px; }
.cbs-co__coupon-msg:empty{ margin: 0; }
.cbs-co__coupon-note{ margin: 0 0 12px; padding: 9px 12px; border-radius: 6px; border-left: 3px solid #6cbde0; background: rgba(108,189,224,.08); color: var(--cbs-fg-2, rgba(255,255,255,.82)); font-family: var(--cbs-font-body,'Inter',sans-serif); font-size: 12.5px; line-height: 1.45; }
.cbs-co__coupon-note.is-error{ border-left-color: var(--cbs-bad, #ff453a); }
.cbs-co__coupon-note.is-ok{ border-left-color: var(--cbs-ok, #34c759); }
.cbs-co__coupon-msg .woocommerce-error, .cbs-co__coupon-msg .woocommerce-message, .cbs-co__coupon-msg .woocommerce-info{ background: rgba(108,189,224,.08) !important; border: 0 !important; border-left: 3px solid #6cbde0 !important; border-radius: 6px !important; padding: 9px 12px !important; margin: 0 !important; color: var(--cbs-fg-2, rgba(255,255,255,.82)) !important; font-size: 12.5px !important; list-style: none !important; }
.cbs-co__coupon-msg .woocommerce-error{ border-left-color: var(--cbs-bad, #ff453a) !important; }
.cbs-co__coupon-msg .woocommerce-error::before, .cbs-co__coupon-msg .woocommerce-message::before, .cbs-co__coupon-msg .woocommerce-info::before{ display: none !important; }
.cbs-co .woocommerce-input-wrapper{ width: 100%; display: block; }
.cbs-co label{ font-family: var(--cbs-font-mono, monospace); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--cbs-fg-3, rgba(255,255,255,.62)); margin: 0; }
.cbs-co label .required{ color: #6cbde0; border: 0; text-decoration: none; }
.cbs-co label .optional{ color: var(--cbs-fg-4, rgba(255,255,255,.42)); }
.cbs-co input.input-text, .cbs-co textarea, .cbs-co select{
	width: 100%; background: var(--cbs-bg-2, #161b22); border: 1px solid var(--cbs-line, rgba(255,255,255,.08)); border-radius: 8px;
	padding: 12px 13px; color: #fff; font-family: var(--cbs-font-body, 'Inter', sans-serif); font-size: 14px; line-height: 1.3; min-height: 0;
}
.cbs-co textarea{ min-height: 84px; resize: vertical; }
.cbs-co input.input-text::placeholder, .cbs-co textarea::placeholder{ color: var(--cbs-fg-4, rgba(255,255,255,.42)); }
.cbs-co input.input-text:focus, .cbs-co textarea:focus, .cbs-co select:focus{ outline: none; border-color: #6cbde0; box-shadow: none; }
.cbs-co .form-row.woocommerce-invalid input.input-text, .cbs-co .form-row.woocommerce-invalid select, .cbs-co .form-row.woocommerce-invalid .select2-selection{ border-color: var(--cbs-bad, #ff453a) !important; }
.cbs-co .form-row.woocommerce-validated input.input-text{ border-color: rgba(52,199,89,.5); }

/* select2 dropdowns */
.cbs-co .select2-container--default .select2-selection--single{ background: var(--cbs-bg-2, #161b22) !important; border: 1px solid var(--cbs-line, rgba(255,255,255,.08)) !important; border-radius: 8px !important; height: 45px !important; }
.cbs-co .select2-container--default .select2-selection--single .select2-selection__rendered{ color: #fff !important; line-height: 45px !important; padding-left: 13px !important; }
.cbs-co .select2-container--default .select2-selection--single .select2-selection__arrow{ height: 43px !important; }
.select2-dropdown{ background: var(--cbs-bg-2, #161b22) !important; border: 1px solid var(--cbs-line-strong, #3a4250) !important; color: #fff !important; }
.select2-container--default .select2-results__option{ color: var(--cbs-fg-2, rgba(255,255,255,.82)) !important; background: transparent !important; }
.select2-container--default .select2-results__option--highlighted[aria-selected]{ background: #6cbde0 !important; color: #06080b !important; }
.select2-search--dropdown .select2-search__field{ background: var(--cbs-bg-1, #0e1116) !important; border: 1px solid var(--cbs-line, rgba(255,255,255,.08)) !important; color: #fff !important; }
.cbs-co #ship-to-different-address label{ font-size: 12px; text-transform: uppercase; letter-spacing: .1em; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; border: 0; }
.cbs-co .woocommerce-shipping-fields:empty, .cbs-co .woocommerce-shipping-fields:not(:has(*)){ display: none !important; }

/* Aside: boarding pass */
.cbs-co__aside{ position: sticky; top: 88px; }
.cbs-co__pass{ background: var(--cbs-bg-1, #0e1116); border: 1px solid var(--cbs-line-strong, #3a4250); border-radius: var(--cbs-r-3, 12px); padding: 22px; box-shadow: 0 30px 60px -40px rgba(0,0,0,.8); }
.cbs-co__pass-head{ display: flex; align-items: baseline; justify-content: space-between; border-bottom: 1px dashed var(--cbs-line-strong, #3a4250); padding-bottom: 14px; margin-bottom: 16px; }
.cbs-co__pass-ttl{ font-family: var(--cbs-font-mono, monospace); font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: #fff; font-weight: 500; }
.cbs-co__pass-ref{ font-family: var(--cbs-font-mono, monospace); font-size: 10px; letter-spacing: .12em; color: #6cbde0; }
.cbs-co__items{ display: flex; flex-direction: column; gap: 12px; margin-bottom: 16px; }
.cbs-co__item{ display: flex; gap: 12px; align-items: center; }
.cbs-co__item-thumb{ position: relative; width: 48px; height: 48px; flex: 0 0 48px; border: 1px solid var(--cbs-line, rgba(255,255,255,.08)); border-radius: 8px; overflow: hidden; background: var(--cbs-bg-2,#161b22); }
.cbs-co__item-thumb img{ width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; }
.cbs-co__item-qty{ position: absolute; top: -7px; right: -7px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 999px; background: #6cbde0; color: #06080b; font-family: var(--cbs-font-mono, monospace); font-size: 10px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.cbs-co__item-info{ flex: 1 1 auto; min-width: 0; }
.cbs-co__item-name{ display: block; font-size: 13px; color: #fff; line-height: 1.3; }
.cbs-co__item-meta{ display: block; font-family: var(--cbs-font-mono, monospace); font-size: 10px; color: var(--cbs-fg-4, rgba(255,255,255,.42)); margin-top: 2px; }
.cbs-co__item-meta .variation, .cbs-co__item-meta .variation dt, .cbs-co__item-meta .variation dd, .cbs-co__item-meta .variation p{ display: inline; margin: 0; font-weight: 400; }
.cbs-co__item-meta .variation dd{ margin-right: 6px; }
.cbs-co__item-total{ font-family: var(--cbs-font-mono, monospace); font-size: 13px; color: #fff; white-space: nowrap; }
.cbs-co__totals{ margin: 0; border-top: 1px dashed var(--cbs-line-strong, #3a4250); padding-top: 14px; }
.cbs-co__total-row{ display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 7px 0; font-size: 13px; }
.cbs-co__total-row dt{ margin: 0; color: var(--cbs-fg-3, rgba(255,255,255,.62)); font-weight: 400; }
.cbs-co__total-row dd{ margin: 0; font-family: var(--cbs-font-mono, monospace); color: #fff; text-align: right; }
.cbs-co__total-row .amount{ font-family: var(--cbs-font-mono, monospace); }
.cbs-co__total-row--coupon dt{ font-family: var(--cbs-font-mono, monospace); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #6cbde0; }
.cbs-co__total-row--coupon dd a{ color: var(--cbs-fg-4, rgba(255,255,255,.42)); font-size: 11px; }
.cbs-co__free{ color: var(--cbs-ok, #34c759) !important; font-family: var(--cbs-font-mono, monospace); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.cbs-co__total-row--total{ border-top: 1px solid var(--cbs-line-strong, #3a4250); margin-top: 8px; padding-top: 14px; align-items: center; }
.cbs-co__total-row--total dt{ font-family: var(--cbs-font-mono, monospace); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #fff; }
.cbs-co__total-row--total dd{ font-family: var(--cbs-font-display, 'Anton', sans-serif); font-size: 26px; color: #fff; line-height: 1; }
.cbs-co__total-row--total dd .amount{ font-family: var(--cbs-font-display, 'Anton', sans-serif); }

/* Payment */
.cbs-co #payment, .woocommerce-checkout .cbs-co #payment{ background: transparent !important; border-radius: 0 !important; margin-top: 18px; }
.cbs-co #payment .payment_methods{ list-style: none; margin: 0; padding: 0; border: 0; display: flex; flex-direction: column; gap: 10px; }
.cbs-co #payment .wc_payment_method{ background: var(--cbs-bg-2, #161b22); border: 1px solid var(--cbs-line, rgba(255,255,255,.08)); border-radius: 9px; padding: 0; overflow: hidden; }
.cbs-co #payment .wc_payment_method > label{ display: flex; align-items: center; gap: 10px; padding: 14px; cursor: pointer; font-family: var(--cbs-font-mono, monospace); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #fff; margin: 0; }
.cbs-co #payment .wc_payment_method input[type="radio"]{ accent-color: #6cbde0; width: 16px; height: 16px; margin: 0; }
.cbs-co #payment .wc_payment_method img{ max-height: 22px; width: auto; margin: 0 0 0 auto; }
.cbs-co #payment li:has(input:checked){ border-color: #6cbde0; box-shadow: inset 0 0 0 1px #6cbde0; }
.cbs-co #payment .payment_box{ background: var(--cbs-bg-0, #06080b) !important; border-top: 1px solid var(--cbs-line, rgba(255,255,255,.08)); margin: 0; padding: 13px 14px !important; font-family: var(--cbs-font-body, 'Inter', sans-serif); font-size: 13px; color: var(--cbs-fg-3, rgba(255,255,255,.62)); }
.cbs-co #payment .payment_box::before{ display: none !important; }
.cbs-co #payment .payment_box p{ margin: 0; }
.cbs-co #payment .place-order{ padding: 0; margin: 16px 0 0; }
.cbs-co #place_order{
	width: 100%; background: #fff !important; color: #06080b !important; border: 1px solid #fff !important; border-radius: 9px !important;
	font-family: var(--cbs-font-mono, monospace) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: .14em !important; text-transform: uppercase !important;
	padding: 16px 20px !important; cursor: pointer; transition: transform .25s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)), background .2s, box-shadow .25s; min-height: 0 !important; line-height: 1.2 !important; float: none !important;
}
.cbs-co #place_order:hover{ background: #6cbde0 !important; border-color: #6cbde0 !important; transform: translateY(-2px); box-shadow: 0 16px 34px -16px rgba(108,189,224,.6); }
.cbs-co #payment .woocommerce-terms-and-conditions-wrapper{ margin: 0 0 12px; font-size: 12px; color: var(--cbs-fg-3, rgba(255,255,255,.62)); }
.cbs-co__trust{ display: flex; flex-wrap: wrap; gap: 8px 14px; justify-content: center; list-style: none; padding: 14px 0 0; margin: 14px 0 0; border-top: 1px dashed var(--cbs-line-strong, #3a4250); font-family: var(--cbs-font-mono, monospace); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--cbs-fg-4, rgba(255,255,255,.42)); }
.cbs-co__trust li + li::before{ content: "/"; margin-right: 14px; color: var(--cbs-line-strong, #3a4250); }

/* Thank you: Boarding confirmed */
.cbs-thanks{ max-width: 760px; margin: 0 auto; padding: 88px clamp(16px,4vw,34px) 130px; font-family: var(--cbs-font-body,'Inter',sans-serif); color: var(--cbs-fg-1,#fff); }
.cbs-thanks__ticket{ background: var(--cbs-bg-1, #0e1116); border: 1px solid var(--cbs-line-strong, #3a4250); border-radius: var(--cbs-r-3, 12px); overflow: hidden; position: relative; box-shadow: 0 40px 80px -50px rgba(0,0,0,.9); }
.cbs-thanks__ticket-head{ display: flex; align-items: center; justify-content: space-between; padding: 14px 22px; border-bottom: 1px dashed var(--cbs-line-strong, #3a4250); font-family: var(--cbs-font-mono, monospace); font-size: 10px; letter-spacing: .18em; text-transform: uppercase; }
.cbs-thanks__ref{ color: #6cbde0; }
.cbs-thanks__status{ color: var(--cbs-ok, #34c759); }
.cbs-thanks__status--failed{ color: var(--cbs-bad, #ff453a); }
.cbs-thanks__body{ padding: 40px 30px 34px; text-align: center; }
.cbs-thanks__glyph{ display: inline-flex; color: var(--cbs-ok, #34c759); width: 58px; height: 58px; margin-bottom: 16px; }
.cbs-thanks__ticket--failed .cbs-thanks__glyph{ color: var(--cbs-bad, #ff453a); }
.cbs-thanks__glyph svg{ width: 100%; height: 100%; }
.cbs-thanks__title{ font-family: var(--cbs-font-display,'Anton',sans-serif); font-weight: 400; font-size: clamp(32px,5.4vw,52px); line-height: .94; letter-spacing: .01em; text-transform: uppercase; color: #fff; margin: 0 0 12px; display: block; }
.cbs-thanks__title::before, .cbs-thanks__title::after{ display: none !important; content: none !important; }
.cbs-thanks__title span{ color: #6cbde0; }
.cbs-thanks__sub{ font-family: var(--cbs-font-body,'Inter',sans-serif); font-size: 14px; line-height: 1.6; color: var(--cbs-fg-3, rgba(255,255,255,.62)); margin: 0 auto 22px; max-width: 420px; }
.cbs-thanks__overview{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 0 0 18px; padding: 18px; background: var(--cbs-bg-0, #06080b); border: 1px solid var(--cbs-line, rgba(255,255,255,.08)); border-radius: 10px; text-align: left; }
.cbs-thanks__overview > div{ min-width: 0; }
.cbs-thanks__overview dt{ font-family: var(--cbs-font-mono, monospace); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; color: var(--cbs-fg-4, rgba(255,255,255,.42)); margin: 0 0 4px; }
.cbs-thanks__overview dd{ margin: 0; font-size: 13px; color: #fff; word-break: break-word; }
.cbs-thanks__cod{ display: flex; align-items: center; gap: 8px; justify-content: center; font-size: 13px; color: var(--cbs-warn, #ffb13c); background: rgba(255,177,60,.08); border: 1px solid rgba(255,177,60,.3); border-radius: 8px; padding: 11px 14px; margin: 0 0 20px; }
.cbs-thanks__cta{ display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.cbs-thanks__btn{ display: inline-flex; align-items: center; gap: 9px; padding: 14px 22px; border-radius: 9px; font-family: var(--cbs-font-mono, monospace); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; transition: transform .25s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)), background .2s, color .2s, border-color .2s; }
.cbs-thanks__btn--primary{ background: #fff; color: #06080b; border: 1px solid #fff; }
.cbs-thanks__btn--primary:hover{ background: #6cbde0; border-color: #6cbde0; transform: translateY(-2px); }
.cbs-thanks__btn--ghost{ background: transparent; color: var(--cbs-fg-2, rgba(255,255,255,.82)); border: 1px solid var(--cbs-line-strong, #3a4250); }
.cbs-thanks__btn--ghost:hover{ color: #fff; border-color: #fff; }
.cbs-thanks__perf{ border-top: 1px dashed var(--cbs-line-strong, #3a4250); position: relative; }
.cbs-thanks__perf::before, .cbs-thanks__perf::after{ content: ""; position: absolute; top: -9px; width: 18px; height: 18px; border-radius: 50%; background: var(--cbs-bg-0, #06080b); border: 1px solid var(--cbs-line-strong, #3a4250); }
.cbs-thanks__perf::before{ left: -10px; }
.cbs-thanks__perf::after{ right: -10px; }
.cbs-thanks__barcode{ padding: 16px 22px 18px; display: flex; flex-direction: column; gap: 8px; align-items: center; }
.cbs-thanks__barcode span{ display: block; width: 100%; height: 36px; opacity: .5; background-image: repeating-linear-gradient(90deg, var(--cbs-fg-2, rgba(255,255,255,.82)) 0 2px, transparent 2px 4px, var(--cbs-fg-2, rgba(255,255,255,.82)) 4px 5px, transparent 5px 9px, var(--cbs-fg-2, rgba(255,255,255,.82)) 9px 12px, transparent 12px 14px); }
.cbs-thanks__barcode em{ font-family: var(--cbs-font-mono, monospace); font-style: normal; font-size: 9px; letter-spacing: .2em; text-transform: uppercase; color: var(--cbs-fg-4, rgba(255,255,255,.42)); }
.cbs-thanks__details{ margin-top: 30px; }
.cbs-thanks__details .woocommerce-order-details__title, .cbs-thanks__details .woocommerce-column__title{ font-family: var(--cbs-font-mono, monospace); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #fff; margin: 0 0 14px; }
.cbs-thanks__details table.shop_table{ width: 100%; background: var(--cbs-bg-1, #0e1116); border: 1px solid var(--cbs-line, rgba(255,255,255,.08)); border-radius: 10px; border-collapse: collapse; overflow: hidden; color: var(--cbs-fg-2, rgba(255,255,255,.82)); font-size: 13px; }
.cbs-thanks__details table.shop_table th, .cbs-thanks__details table.shop_table td{ padding: 11px 14px; border-bottom: 1px solid var(--cbs-line, rgba(255,255,255,.08)); text-align: left; }
.cbs-thanks__details table.shop_table tfoot th, .cbs-thanks__details table.shop_table tfoot td{ font-family: var(--cbs-font-mono, monospace); }
.cbs-thanks__details a{ color: #6cbde0; }
.cbs-thanks__details .woocommerce-customer-details{ margin-top: 22px; }
.cbs-thanks__details address{ background: var(--cbs-bg-1, #0e1116); border: 1px solid var(--cbs-line, rgba(255,255,255,.08)); border-radius: 10px; padding: 14px; font-style: normal; color: var(--cbs-fg-2, rgba(255,255,255,.82)); font-size: 13px; line-height: 1.6; }

/* Checkout responsive */
@media (max-width: 980px){
	.cbs-co__grid{ grid-template-columns: 1fr; }
	.cbs-co__aside{ position: static; }
}
@media (max-width: 680px){
	.cbs-co{ padding: 80px 16px 130px; }
	.cbs-co .woocommerce-billing-fields__field-wrapper, .cbs-co .woocommerce-shipping-fields__field-wrapper{ grid-template-columns: 1fr; }
	.cbs-co .form-row-first, .cbs-co .form-row-last{ grid-column: 1 / -1; }
	.cbs-thanks{ padding: 80px 16px 130px; }
	.cbs-thanks__overview{ grid-template-columns: 1fr 1fr; }
}

/* End CBS-CART-CHECKOUT-V1 ===== */

/* ===== CBS-TOAST-V1 ===== */
.cbs-toasts{
	position: fixed; left: 50%; transform: translateX(-50%);
	bottom: calc(112px + env(safe-area-inset-bottom, 0px));
	z-index: 100000; display: flex; flex-direction: column; gap: 8px; align-items: center;
	width: max-content; max-width: min(92vw, 384px); pointer-events: none;
}
.cbs-toast{
	pointer-events: auto; display: flex; align-items: center; gap: 10px; width: 100%; max-width: 100%;
	background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.012)), rgba(14,17,22,.93);
	-webkit-backdrop-filter: blur(18px) saturate(160%); backdrop-filter: blur(18px) saturate(160%);
	border: 1px solid var(--cbs-line-strong, #3a4250); border-left: 3px solid #6cbde0; border-radius: 10px;
	padding: 10px 12px 10px 14px; color: var(--cbs-fg-1, #fff);
	font-family: var(--cbs-font-body, 'Inter', sans-serif); font-size: 13px; line-height: 1.35;
	box-shadow: 0 20px 44px -22px rgba(0,0,0,.85);
	opacity: 1; transform: translateY(0) scale(1);
	transition: opacity .3s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)), transform .3s var(--cbs-ease, cubic-bezier(.2,.7,.2,1));
}
.cbs-toast--success{ border-left-color: var(--cbs-ok, #34c759); }
.cbs-toast--error{ border-left-color: var(--cbs-bad, #ff453a); }
.cbs-toast--info{ border-left-color: #6cbde0; }
.cbs-toast__msg{ flex: 1 1 auto; min-width: 0; }
.cbs-toast__msg a,
.cbs-toast__msg .button{
	display: inline !important; background: none !important; border: 0 !important; box-shadow: none !important;
	padding: 0 !important; margin: 0 0 0 8px !important; min-height: 0 !important; height: auto !important; line-height: inherit !important;
	color: #6cbde0 !important; font-family: var(--cbs-font-mono, monospace) !important; font-size: 11px !important;
	letter-spacing: .06em !important; text-transform: uppercase !important; text-decoration: none !important; white-space: nowrap;
}
.cbs-toast__msg a:hover,
.cbs-toast__msg .button:hover{ text-decoration: none !important; }
.cbs-toast__x{
	flex: 0 0 auto; background: none; border: 0; color: var(--cbs-fg-4, rgba(255,255,255,.42));
	font-size: 18px; line-height: 1; cursor: pointer; padding: 0 2px; transition: color .2s;
}
.cbs-toast__x:hover{ color: #fff; }
@media (max-width: 680px){
	.cbs-toasts{ bottom: calc(98px + env(safe-area-inset-bottom, 0px)); max-width: 92vw; }
}
/* End CBS-TOAST-V1 ===== */

/* ============== CBS-AUTH ============== */
/* CBS custom login / sign-up page (/login/ -> [custom_auth_form]). Cross-border secure-access card.
   Scoped to body.page-template-login-page-template so it never touches other pages. */

body.page-template-login-page-template { background: #000 !important; }

/* CBS-AUTH-NOSCROLL (2026-07-15): the auth card lives in a fixed full-screen overlay
   (.form-bx / #primary, inset:0, with its own overflow-y:auto). Lock the underlying
   document so the empty background can't scroll behind it (kills the phantom scroll
   from the footer + the visibility:hidden desktop nav mega-sheet). Scoped to the
   logged-out auth views only, so the affiliate dashboard keeps its normal scroll. */
html:has(body.page-template-login-page-template),
html:has(body.page-id-601 .slicewp-field-input-password){ overflow: hidden !important; }
body.page-template-login-page-template,
body.page-id-601:has(.slicewp-field-input-password){ overflow: hidden !important; height: 100vh !important; max-height: 100vh !important; }

/* full-bleed wrappers + center the card, clearing the corner pill (top) and bottom nav pill */
body.page-template-login-page-template .container,
body.page-template-login-page-template .col-md-12,
body.page-template-login-page-template .form-bx {
  max-width: none !important; width: 100% !important;
  margin-left: 0 !important; margin-right: 0 !important;
  padding-left: 0 !important; padding-right: 0 !important;
  float: none !important;
}
body.page-template-login-page-template .form-bx {
  position: fixed !important; inset: 0 !important; z-index: 10 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  box-sizing: border-box !important; overflow-y: auto !important;
  padding: 104px 20px 132px !important; background: #000 !important;
}

/* ---- the auth card ---- */
body.page-template-login-page-template .custom-auth-container {
  width: 100% !important; max-width: 436px !important; margin: 0 auto !important;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012)), #0e1116 !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 18px !important;
  padding: 36px 34px 32px !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.06) inset, 0 30px 80px rgba(0,0,0,.55) !important;
  position: relative !important;
  font-family: var(--cbs-font-body) !important;
}
body.page-template-login-page-template .custom-auth-container::before {
  content: 'CBS / SECURE ACCESS' !important;
  display: block !important;
  font-family: var(--cbs-font-mono) !important;
  font-size: 10.5px !important; letter-spacing: .26em !important; text-transform: uppercase !important;
  color: #6cbde0 !important; margin: 0 0 16px !important;
}

/* ---- tab content: only the active panel shows (fixes both forms rendering at once) ---- */
body.page-template-login-page-template .custom-tab-content { display: none !important; }
body.page-template-login-page-template .custom-tab-content.active { display: block !important; }

/* ---- headings ---- */
body.page-template-login-page-template .custom-auth-container h2 {
  font-family: 'Anton', sans-serif !important; font-weight: 400 !important;
  font-size: 38px !important; line-height: 1.0 !important; letter-spacing: .01em !important;
  text-transform: uppercase !important; color: #fff !important;
  margin: 0 0 22px !important; padding: 0 !important;
}
body.page-template-login-page-template .custom-auth-container h2::after { content: '.' !important; color: #6cbde0 !important; }

/* ---- form groups / labels / inputs ---- */
body.page-template-login-page-template .custom-auth-form .form-group { margin: 0 0 16px !important; }
body.page-template-login-page-template .custom-auth-form .form-footer:empty { display: none !important; }
body.page-template-login-page-template .custom-auth-form label {
  display: block !important;
  font-family: var(--cbs-font-mono) !important;
  font-size: 10.5px !important; letter-spacing: .12em !important; text-transform: uppercase !important;
  color: #9aa7b2 !important; font-weight: 600 !important; margin: 0 0 7px !important;
}
body.page-template-login-page-template .custom-auth-form input[type="email"],
body.page-template-login-page-template .custom-auth-form input[type="password"],
body.page-template-login-page-template .custom-auth-form input[type="text"] {
  width: 100% !important; box-sizing: border-box !important;
  background: rgba(0,0,0,.42) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 10px !important;
  padding: 13px 15px !important;
  color: #fff !important; font-family: var(--cbs-font-body) !important; font-size: 15px !important;
  -webkit-appearance: none !important; appearance: none !important;
  transition: border-color .16s ease, box-shadow .16s ease !important;
}
body.page-template-login-page-template .custom-auth-form input::placeholder { color: #5d6b76 !important; }
body.page-template-login-page-template .custom-auth-form input:focus {
  outline: none !important; border-color: #6cbde0 !important;
  box-shadow: 0 0 0 3px rgba(108,189,224,.16) !important;
}
/* kill Chrome autofill's white box on the dark card */
body.page-template-login-page-template .custom-auth-form input:-webkit-autofill,
body.page-template-login-page-template .custom-auth-form input:-webkit-autofill:hover,
body.page-template-login-page-template .custom-auth-form input:-webkit-autofill:focus {
  -webkit-text-fill-color: #fff !important;
  -webkit-box-shadow: 0 0 0 1000px #0e1116 inset !important;
  caret-color: #fff !important;
}
body.page-template-login-page-template .custom-auth-form small {
  display: block !important; margin-top: 6px !important;
  font-size: 11.5px !important; color: #6b7984 !important; font-family: var(--cbs-font-body) !important;
}

/* password label row + forgot link */
body.page-template-login-page-template .divide-box {
  display: flex !important; align-items: baseline !important; justify-content: space-between !important;
  margin: 0 0 7px !important;
}
body.page-template-login-page-template .divide-box label { margin: 0 !important; }
body.page-template-login-page-template #forgot-password-link,
body.page-template-login-page-template #back-to-login {
  font-family: var(--cbs-font-body) !important; font-size: 12px !important;
  color: #6cbde0 !important; text-decoration: none !important; text-transform: none !important; letter-spacing: 0 !important;
}
body.page-template-login-page-template #forgot-password-link:hover,
body.page-template-login-page-template #back-to-login:hover { text-decoration: none !important; }

/* OTP input */
body.page-template-login-page-template #otp_code {
  text-align: center !important; letter-spacing: .4em !important;
  font-family: var(--cbs-font-mono) !important; font-size: 19px !important; font-weight: 700 !important;
}

/* ---- submit button ---- */
body.page-template-login-page-template .auth-submit-btn {
  width: 100% !important; box-sizing: border-box !important;
  background: #fff !important; color: #0a0d11 !important;
  border: 0 !important; border-radius: 10px !important; padding: 14px 18px !important;
  font-family: var(--cbs-font-mono) !important; font-size: 13px !important; font-weight: 700 !important;
  letter-spacing: .12em !important; text-transform: uppercase !important;
  cursor: pointer !important; margin-top: 4px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important;
  transition: transform .12s ease, box-shadow .16s ease, background .16s ease !important;
}
body.page-template-login-page-template .auth-submit-btn:hover { background: #6cbde0 !important; color: #06222e !important; box-shadow: 0 10px 32px rgba(108,189,224,.32) !important; }
body.page-template-login-page-template .auth-submit-btn:active { transform: translateY(1px) !important; }
body.page-template-login-page-template .loading-spinner {
  width: 15px !important; height: 15px !important; box-sizing: border-box !important;
  border: 2px solid rgba(10,13,17,.3) !important; border-top-color: #0a0d11 !important;
  border-radius: 50% !important; animation: cbsAuthSpin .7s linear infinite !important;
}
@keyframes cbsAuthSpin { to { transform: rotate(360deg); } }

/* ---- switch row (Don't have an account? Sign Up) ---- */
body.page-template-login-page-template .switch-box {
  margin-top: 20px !important; padding-top: 18px !important;
  border-top: 1px solid rgba(255,255,255,.08) !important; text-align: center !important;
}
body.page-template-login-page-template .switch-box p { margin: 0 !important; font-size: 13.5px !important; color: #8a97a3 !important; font-family: var(--cbs-font-body) !important; }
body.page-template-login-page-template .custom-tab-button {
  background: none !important; border: 0 !important; padding: 0 0 0 5px !important; cursor: pointer !important;
  color: #6cbde0 !important; font-family: var(--cbs-font-mono) !important;
  font-size: 12.5px !important; font-weight: 700 !important; letter-spacing: .06em !important; text-transform: uppercase !important;
}
body.page-template-login-page-template .custom-tab-button:hover { text-decoration: none !important; }

/* back-to-login footer (forgot section) */
body.page-template-login-page-template #forgot-password-section .form-footer { margin-top: 16px !important; text-align: center !important; }

/* ---- messages ---- */
body.page-template-login-page-template .custom-auth-messages:empty { display: none !important; }
body.page-template-login-page-template .custom-auth-messages > div,
body.page-template-login-page-template .custom-message,
body.page-template-login-page-template .custom-error {
  padding: 11px 14px !important; border-radius: 10px !important; margin: 0 0 16px !important;
  font-family: var(--cbs-font-body) !important; font-size: 13px !important; line-height: 1.4 !important;
}
body.page-template-login-page-template .custom-message,
body.page-template-login-page-template .custom-auth-messages .success {
  background: rgba(108,189,224,.1) !important; border: 1px solid rgba(108,189,224,.42) !important; color: #c3e6f5 !important;
}
body.page-template-login-page-template .custom-error,
body.page-template-login-page-template .custom-auth-messages .error {
  background: rgba(229,92,92,.1) !important; border: 1px solid rgba(229,92,92,.45) !important; color: #f1b6b6 !important;
}

/* already-logged-in state (overrides the inline light styles) */
body.page-template-login-page-template .custom-auth-message {
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012)), #0e1116 !important;
  border: 1px solid rgba(255,255,255,.13) !important; border-radius: 14px !important;
  color: #e8eef2 !important; padding: 22px 24px !important; max-width: 436px !important; margin: 0 auto !important;
  font-family: var(--cbs-font-body) !important;
}
body.page-template-login-page-template .custom-auth-message a { color: #6cbde0 !important; }

/* ---- responsive ---- */
@media (max-width: 480px) {
  body.page-template-login-page-template .form-bx { padding: 96px 14px 140px !important; }
  body.page-template-login-page-template .custom-auth-container { padding: 28px 22px 26px !important; border-radius: 16px !important; }
  body.page-template-login-page-template .custom-auth-container h2 { font-size: 32px !important; }
}
/* ===== Ambassador (SliceWP affiliate) login: /affiliate-account/ (page-id-601) ===== */
body.page-id-601 { background: #000 !important; }

/* center the login card -- only when the login form is present (so the affiliate dashboard, when logged in, keeps its normal layout) */
body.page-id-601:has(.slicewp-field-input-password) #primary {
  position: fixed !important; inset: 0 !important; z-index: 10 !important; box-sizing: border-box !important;
  display: flex !important; flex-direction: column !important;
  align-items: center !important; justify-content: center !important; overflow-y: auto !important;
  padding: 104px 20px 132px !important; background: #000 !important;
}
body.page-id-601:has(.slicewp-field-input-password) #post-601 { max-width: 436px !important; width: 100% !important; margin: 0 !important; }
body.page-id-601:has(.slicewp-field-input-password) #content,
body.page-id-601:has(.slicewp-field-input-password) .row,
body.page-id-601:has(.slicewp-field-input-password) .col-md-12 { max-width: none !important; width: auto !important; float: none !important; }

/* heading (reuses the page title) + mono eyebrow */
body.page-id-601:has(.slicewp-field-input-password) .entry-title {
  font-family: 'Anton', sans-serif !important; font-weight: 400 !important;
  font-size: 40px !important; line-height: 1.0 !important; letter-spacing: .01em !important;
  text-transform: uppercase !important; color: #fff !important; text-align: center !important; margin: 0 0 20px !important;
}
body.page-id-601:has(.slicewp-field-input-password) .entry-title::before {
  content: 'CBS / LEGION ACCESS' !important; display: block !important;
  font-family: var(--cbs-font-mono) !important; font-size: 10.5px !important; font-weight: 400 !important;
  letter-spacing: .26em !important; color: #6cbde0 !important; margin-bottom: 12px !important;
}
body.page-id-601:has(.slicewp-field-input-password) .entry-title::after { content: '.' !important; color: #6cbde0 !important; }

/* the card */
body.page-id-601 .slicewp-form {
  width: 100% !important; max-width: 436px !important; margin: 0 auto !important; box-sizing: border-box !important;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012)), #0e1116 !important;
  border: 1px solid rgba(255,255,255,.13) !important; border-radius: 18px !important;
  padding: 30px 30px 28px !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.06) inset, 0 30px 80px rgba(0,0,0,.55) !important;
  font-family: var(--cbs-font-body) !important;
}

/* field groups + labels */
body.page-id-601 .slicewp-form .slicewp-field-wrapper { margin: 0 0 16px !important; }
body.page-id-601 .slicewp-form .slicewp-field-label-wrapper label,
body.page-id-601 .slicewp-form label {
  display: block !important; font-family: var(--cbs-font-mono) !important;
  font-size: 10.5px !important; letter-spacing: .12em !important; text-transform: uppercase !important;
  color: #9aa7b2 !important; font-weight: 600 !important; margin: 0 0 7px !important;
}
/* inputs */
body.page-id-601 .slicewp-form input[type="text"],
body.page-id-601 .slicewp-form input[type="email"],
body.page-id-601 .slicewp-form input[type="password"] {
  width: 100% !important; box-sizing: border-box !important;
  background: rgba(0,0,0,.42) !important; border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 10px !important; padding: 13px 15px !important;
  color: #fff !important; font-family: var(--cbs-font-body) !important; font-size: 15px !important;
  -webkit-appearance: none !important; appearance: none !important;
  transition: border-color .16s ease, box-shadow .16s ease !important;
}
body.page-id-601 .slicewp-form input::placeholder { color: #5d6b76 !important; }
body.page-id-601 .slicewp-form input:focus { outline: none !important; border-color: #6cbde0 !important; box-shadow: 0 0 0 3px rgba(108,189,224,.16) !important; }
body.page-id-601 .slicewp-form input:-webkit-autofill,
body.page-id-601 .slicewp-form input:-webkit-autofill:focus { -webkit-text-fill-color: #fff !important; -webkit-box-shadow: 0 0 0 1000px #0e1116 inset !important; caret-color: #fff !important; }

/* password eye toggle */
body.page-id-601 .slicewp-form .slicewp-field-input-password { position: relative !important; }
body.page-id-601 .slicewp-form .slicewp-show-hide-password {
  position: absolute !important; right: 12px !important; top: 50% !important; transform: translateY(-50%) !important;
  color: #8a97a3 !important; background: none !important; border: 0 !important; cursor: pointer !important; z-index: 2 !important;
}

/* login button */
body.page-id-601 .slicewp-form .slicewp-button-primary,
body.page-id-601 .slicewp-form button[type="submit"],
body.page-id-601 .slicewp-form input[type="submit"] {
  width: 100% !important; box-sizing: border-box !important;
  background: #fff !important; color: #0a0d11 !important; border: 0 !important; border-radius: 10px !important;
  padding: 14px 18px !important; margin-top: 4px !important;
  font-family: var(--cbs-font-mono) !important; font-size: 13px !important; font-weight: 700 !important;
  letter-spacing: .12em !important; text-transform: uppercase !important; cursor: pointer !important;
  transition: background .16s ease, box-shadow .16s ease, transform .12s ease !important;
}
body.page-id-601 .slicewp-form .slicewp-button-primary:hover,
body.page-id-601 .slicewp-form button[type="submit"]:hover,
body.page-id-601 .slicewp-form input[type="submit"]:hover { background: #6cbde0 !important; color: #06222e !important; box-shadow: 0 10px 32px rgba(108,189,224,.32) !important; }
body.page-id-601 .slicewp-form .slicewp-button-primary:active { transform: translateY(1px) !important; }

/* lost-password + links */
body.page-id-601 .slicewp-form .slicewp-lost-password { margin-top: 16px !important; text-align: center !important; }
body.page-id-601 .slicewp-form a,
body.page-id-601 .slicewp-form .slicewp-lost-password a {
  font-family: var(--cbs-font-body) !important; font-size: 12.5px !important; color: #6cbde0 !important; text-decoration: none !important;
}
body.page-id-601 .slicewp-form a:hover { text-decoration: none !important; }

/* notices / errors */
body.page-id-601 .slicewp-notice,
body.page-id-601 .slicewp-message {
  max-width: 436px !important; margin: 0 auto 16px !important; box-sizing: border-box !important;
  padding: 11px 14px !important; border-radius: 10px !important;
  font-family: var(--cbs-font-body) !important; font-size: 13px !important; line-height: 1.4 !important;
}
body.page-id-601 .slicewp-notice-error,
body.page-id-601 .slicewp-error { background: rgba(229,92,92,.1) !important; border: 1px solid rgba(229,92,92,.45) !important; color: #f1b6b6 !important; }
body.page-id-601 .slicewp-notice-success,
body.page-id-601 .slicewp-success { background: rgba(108,189,224,.1) !important; border: 1px solid rgba(108,189,224,.42) !important; color: #c3e6f5 !important; }

@media (max-width: 480px) {
  body.page-id-601:has(.slicewp-field-input-password) #primary { padding: 96px 14px 140px !important; }
  body.page-id-601 .slicewp-form { padding: 24px 22px 24px !important; }
  body.page-id-601:has(.slicewp-field-input-password) .entry-title { font-size: 34px !important; }
}

/* End CBS-AUTH ============== */

/* ===== CBS-ATHLETES-V2 ===== */
.cbs-home__ath--roster .cbs-ath__rail{
	display: flex; gap: 16px; align-items: stretch;
	overflow-x: auto; overflow-y: hidden;
	padding: 8px 2px 24px; margin-top: 10px;
	scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; scrollbar-width: thin;
}
.cbs-home__ath--roster .cbs-ath__rail::-webkit-scrollbar{ height: 8px; }
.cbs-home__ath--roster .cbs-ath__rail::-webkit-scrollbar-track{ background: transparent; }
.cbs-home__ath--roster .cbs-ath__rail::-webkit-scrollbar-thumb{ background: var(--cbs-line-strong, #3a4250); border-radius: 99px; }

.cbs-ath{ display: flex; flex: 0 0 auto; align-items: stretch; scroll-snap-align: start; }

.cbs-ath__card{
	flex: 0 0 232px; width: 232px; position: relative; z-index: 2;
	background: var(--cbs-bg-1, #0e1116); border: 1px solid var(--cbs-line, rgba(255,255,255,.08));
	border-radius: 16px; overflow: hidden; display: flex; flex-direction: column;
	transition: border-color .25s var(--cbs-ease, cubic-bezier(.2,.7,.2,1));
}
.cbs-ath__card:hover{ border-color: var(--cbs-line-strong, #3a4250); }
.cbs-ath.is-open .cbs-ath__card{ border-color: #6cbde0; }

.cbs-ath__media{ position: relative; aspect-ratio: 1 / 1; background: var(--cbs-bg-0, #06080b); overflow: hidden; }
.cbs-ath__img{ width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; }
.cbs-ath__loc{
	position: absolute; left: 10px; bottom: 10px; display: inline-flex; align-items: center; gap: 5px;
	font-family: var(--cbs-font-mono, monospace); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; color: #fff;
	background: rgba(6,8,11,.66); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
	border: 1px solid rgba(255,255,255,.14); border-radius: 999px; padding: 4px 9px; line-height: 1;
}
.cbs-ath__loc i{ color: #6cbde0; font-size: 12px; }

.cbs-ath__head{ padding: 15px 15px 16px; display: flex; flex-direction: column; gap: 3px; flex: 1 1 auto; }
.cbs-ath__role{ font-family: var(--cbs-font-mono, monospace); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: #6cbde0; }
.cbs-ath__name{ font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400; font-size: 21px; line-height: 1.04; letter-spacing: .01em; text-transform: uppercase; color: #fff; margin: 2px 0 0; display: block; }
.cbs-ath__name::before, .cbs-ath__name::after{ display: none !important; content: none !important; }
.cbs-ath__more{
	margin-top: auto; align-self: flex-start; display: inline-flex; align-items: center; gap: 7px;
	background: transparent; border: 1px solid var(--cbs-line-strong, #3a4250); border-radius: 8px;
	color: #fff; font-family: var(--cbs-font-mono, monospace); font-size: 10px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase;
	padding: 8px 12px; cursor: pointer; transition: border-color .2s, color .2s, background .2s;
}
.cbs-ath__more i{ font-size: 12px; transition: transform .25s; }
.cbs-ath__more:hover{ border-color: #6cbde0; color: #6cbde0; background: rgba(108,189,224,.06); }
.cbs-ath.is-open .cbs-ath__more{ border-color: #6cbde0; color: #6cbde0; }
.cbs-ath.is-open .cbs-ath__more i{ transform: rotate(90deg); }

.cbs-ath__bio{
	flex: 0 0 0; width: 0; overflow: hidden; z-index: 1; align-self: stretch;
	transition: flex-basis .42s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)), width .42s var(--cbs-ease, cubic-bezier(.2,.7,.2,1));
}
.cbs-ath.is-open .cbs-ath__bio{ flex: 0 0 312px; width: 312px; }
.cbs-ath__bio-inner{
	width: 312px; height: 100%; box-sizing: border-box; margin-left: -14px; padding: 20px 20px 20px 32px;
	background: var(--cbs-bg-2, #161b22); border: 1px solid var(--cbs-line, rgba(255,255,255,.08)); border-left: 0;
	border-radius: 0 16px 16px 0; display: flex; flex-direction: column; gap: 6px;
}
.cbs-ath__bio-eyebrow{ font-family: var(--cbs-font-mono, monospace); font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: #6cbde0; }
.cbs-ath__bio-name{ font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400; font-size: 23px; line-height: 1.04; letter-spacing: .01em; text-transform: uppercase; color: #fff; margin: 2px 0 0; display: block; }
.cbs-ath__bio-name::before, .cbs-ath__bio-name::after{ display: none !important; content: none !important; }
.cbs-ath__bio-role{ font-family: var(--cbs-font-mono, monospace); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; color: var(--cbs-fg-4, rgba(255,255,255,.42)); }
.cbs-ath__bio-text{ font-family: var(--cbs-font-body, 'Inter', sans-serif); font-size: 13.5px; line-height: 1.62; color: var(--cbs-fg-2, rgba(255,255,255,.82)); margin: 8px 0 0; flex: 1 1 auto; min-height: 0; overflow-y: auto; }
.cbs-ath__less{
	align-self: flex-start; margin-top: 12px; display: inline-flex; align-items: center; gap: 6px;
	background: transparent; border: 0; color: var(--cbs-fg-4, rgba(255,255,255,.42));
	font-family: var(--cbs-font-mono, monospace); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; padding: 4px 0;
	transition: color .2s;
}
.cbs-ath__less:hover{ color: #fff; }

@media (max-width: 720px){
	.cbs-home__ath--roster .cbs-ath__rail{ flex-direction: column; overflow-x: visible; gap: 14px; padding-bottom: 8px; }
	.cbs-ath{ flex-direction: column; width: 100%; }
	.cbs-ath__card{ flex: 0 0 auto; width: 100%; flex-direction: row; border-radius: 14px; }
	.cbs-ath__media{ flex: 0 0 130px; width: 130px; aspect-ratio: auto; }
	.cbs-ath__head{ justify-content: center; }
	.cbs-ath__more{ margin-top: 12px; }
	.cbs-ath__bio{ width: 100% !important; flex: 0 0 auto !important; max-height: 0; transition: max-height .42s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)); }
	.cbs-ath.is-open .cbs-ath__bio{ width: 100% !important; flex: 0 0 auto !important; max-height: 520px; }
	.cbs-ath__bio-inner{ width: 100%; height: auto; margin-left: 0; padding: 18px; border: 1px solid var(--cbs-line, rgba(255,255,255,.08)); border-top: 0; border-radius: 0 0 14px 14px; }
}
/* End CBS-ATHLETES-V2 ===== */

/* ===== CBS-ATH-TAGS (athlete tag chips below name + Instagram box right of Read more) ===== */
html body .cbs-ath__tags { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; margin: 9px 0 0 !important; padding: 0 !important; }
html body .cbs-ath__tag {
  display: inline-flex !important; align-items: center !important;
  font-family: var(--cbs-font-mono) !important; font-size: 9.5px !important; font-weight: 600 !important;
  letter-spacing: .07em !important; text-transform: uppercase !important; line-height: 1.1 !important; white-space: nowrap !important;
  color: #bfe3f2 !important; background: rgba(108,189,224,.10) !important;
  border: 1px solid rgba(108,189,224,.32) !important; border-radius: 999px !important; padding: 4px 9px !important;
}
html body .cbs-ath__actions { display: flex !important; align-items: center !important; gap: 10px !important; margin-top: auto !important; padding-top: 14px !important; }
html body .cbs-ath__actions .cbs-ath__more { margin: 0 !important; }
html body .cbs-ath__insta {
  flex: 0 0 auto !important; width: 38px !important; height: 38px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  border-radius: 11px !important; border: 1px solid rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.05) !important; color: #cbd5dd !important;
  font-size: 18px !important; text-decoration: none !important; cursor: pointer !important;
  transition: background .16s ease, color .16s ease, border-color .16s ease, transform .12s ease !important;
}
html body .cbs-ath__insta:hover { background: #6cbde0 !important; border-color: #6cbde0 !important; color: #06222e !important; transform: translateY(-1px) !important; }
html body .cbs-ath__insta i { line-height: 1 !important; display: block !important; }
/* End CBS-ATH-TAGS ===== */

/* ===== CBS-ATH-SIZE (bigger athlete cards, desktop rail only) ===== */
@media (min-width: 768px) {
  html body .cbs-ath { width: 300px !important; flex: 0 0 300px !important; }
  html body .cbs-ath__card { width: 300px !important; flex-basis: 300px !important; max-width: none !important; }
  html body .cbs-ath.is-open { width: 612px !important; flex: 0 0 612px !important; }
  html body .cbs-ath__media, html body .cbs-ath__img { height: 300px !important; }
}
/* End CBS-ATH-SIZE ===== */

/* ===== CBS-ACCOUNT ===== */
.woocommerce-account{ --acc:#6cbde0; --acc-soft:rgba(108,189,224,.1); --acc-line:rgba(108,189,224,.38); --danger:#ff5a5a; }

/* --- page heading + containment --- */
.woocommerce-account .entry-title,
.woocommerce-account .woocommerce{
	max-width:1280px; margin-left:auto; margin-right:auto;
	padding-left:clamp(18px,4vw,34px); padding-right:clamp(18px,4vw,34px);
	box-sizing:border-box;
}
.woocommerce-account .entry-title{
	font-family:var(--cbs-font-display); font-weight:400; text-transform:uppercase;
	font-size:clamp(32px,6vw,58px); line-height:.96; letter-spacing:.01em; color:var(--cbs-fg-1);
	margin:0 auto 2px; padding-top:6px;
}
.woocommerce-account .entry-title::before{
	content:"CBS / Account"; display:block;
	font-family:var(--cbs-font-mono); font-size:11px; letter-spacing:.22em; text-transform:uppercase;
	color:var(--acc); margin-bottom:11px; font-weight:500;
}

/* --- shell: sidebar + content --- */
.woocommerce-account .woocommerce{
	display:grid; grid-template-columns:268px minmax(0,1fr); gap:20px; align-items:start; margin-top:22px;
}

/* --- sidebar navigation --- */
.woocommerce-MyAccount-navigation{
	position:sticky; top:88px;
	background:var(--cbs-bg-2); border:1px solid var(--cbs-line); border-radius:16px; padding:10px;
}
.woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
.woocommerce-MyAccount-navigation li{ margin:0; }
.woocommerce-MyAccount-navigation li a{
	display:flex; align-items:center; gap:10px; padding:12px 14px; border-radius:10px;
	font-family:var(--cbs-font-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase;
	color:var(--cbs-fg-2); text-decoration:none; line-height:1.1;
	border:1px solid transparent; transition:background .18s var(--cbs-ease), color .18s var(--cbs-ease), border-color .18s var(--cbs-ease);
}
.woocommerce-MyAccount-navigation li a:hover{ background:rgba(255,255,255,.045); color:#fff; }
.woocommerce-MyAccount-navigation li.is-active a{ background:var(--acc-soft); color:var(--acc); border-color:var(--acc-line); }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout{ margin-top:8px; padding-top:8px; border-top:1px solid var(--cbs-line); }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a{ color:var(--danger); }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover{ background:rgba(255,90,90,.1); color:#ff8585; }

/* --- content panel --- */
.woocommerce-MyAccount-content{
	background:var(--cbs-bg-1); border:1px solid var(--cbs-line); border-radius:16px;
	padding:clamp(18px,3vw,30px); min-height:440px; color:var(--cbs-fg-2);
}
.woocommerce-MyAccount-content a:not(.button):not(.cbs-acct-card){ color:var(--acc); }
.woocommerce-MyAccount-content > h2,
.woocommerce-MyAccount-content > h3{ font-family:var(--cbs-font-display); font-weight:400; text-transform:uppercase; letter-spacing:.01em; color:#fff; margin:0 0 14px; }
.woocommerce-MyAccount-content p{ font-family:var(--cbs-font-body); font-size:14px; line-height:1.66; color:var(--cbs-fg-2); }

/* hide the default dashboard prose (we render CBS cards instead) */
.woocommerce-dashboard .woocommerce-MyAccount-content > p{ display:none; }

/* --- dashboard: greeting + quick-action cards --- */
.cbs-acct-dash{ display:flex; flex-direction:column; gap:22px; }
.cbs-acct-hello__eyebrow{ font-family:var(--cbs-font-mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--acc); }
.cbs-acct-hello__name{ font-family:var(--cbs-font-display); font-weight:400; text-transform:uppercase; font-size:clamp(24px,4vw,34px); line-height:1.02; color:#fff; margin:9px 0 6px; }
.cbs-acct-hello__meta{ font-family:var(--cbs-font-mono); font-size:12px; letter-spacing:.04em; color:var(--cbs-fg-4); margin:0; text-transform:uppercase; }
.cbs-acct-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(208px,1fr)); gap:12px; }
.cbs-acct-card{
	display:flex; align-items:center; gap:13px; padding:16px;
	background:var(--cbs-bg-2); border:1px solid var(--cbs-line); border-radius:14px;
	text-decoration:none !important; color:#fff !important; transition:border-color .2s var(--cbs-ease), transform .2s var(--cbs-ease), background .2s var(--cbs-ease);
}
.cbs-acct-card:hover{ border-color:var(--acc-line); transform:translateY(-2px); background:#1a2028; }
.cbs-acct-card__ico{ flex:0 0 42px; height:42px; display:grid; place-items:center; border-radius:11px; background:var(--acc-soft); color:var(--acc); font-size:21px; }
.cbs-acct-card__body{ display:flex; flex-direction:column; gap:3px; min-width:0; flex:1 1 auto; }
.cbs-acct-card__title{ font-family:var(--cbs-font-body); font-weight:700; font-size:14.5px; color:#fff; letter-spacing:.01em; }
.cbs-acct-card__sub{ font-family:var(--cbs-font-mono); font-size:10.5px; letter-spacing:.03em; text-transform:uppercase; color:var(--cbs-fg-4); line-height:1.35; }
.cbs-acct-card__go{ color:var(--cbs-fg-4); font-size:15px; transition:transform .2s var(--cbs-ease), color .2s var(--cbs-ease); }
.cbs-acct-card:hover .cbs-acct-card__go{ color:var(--acc); transform:translateX(3px); }

/* --- tables (orders / downloads) --- */
.woocommerce-account table.shop_table,
.woocommerce-account table.woocommerce-orders-table{
	width:100%; border-collapse:collapse; border:1px solid var(--cbs-line); border-radius:12px; overflow:hidden;
	background:var(--cbs-bg-2); margin:0;
}
.woocommerce-account table.shop_table th{
	font-family:var(--cbs-font-mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--cbs-fg-4);
	text-align:left; padding:13px 14px; border-bottom:1px solid var(--cbs-line); background:rgba(255,255,255,.02);
}
.woocommerce-account table.shop_table td{
	padding:14px; border-bottom:1px solid var(--cbs-line); border-top:0;
	font-family:var(--cbs-font-body); font-size:13.5px; color:var(--cbs-fg-2); vertical-align:middle;
}
.woocommerce-account table.shop_table tbody tr:last-child td{ border-bottom:0; }
.woocommerce-account table.shop_table tbody tr:hover td{ background:rgba(255,255,255,.015); }
.woocommerce-account .woocommerce-orders-table__cell-order-number a{ font-family:var(--cbs-font-mono); color:#fff !important; letter-spacing:.04em; }
.woocommerce-account .woocommerce-orders-table__cell-order-status{ font-family:var(--cbs-font-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--acc); }

/* --- addresses --- */
.woocommerce-account .woocommerce-Addresses{ display:grid; grid-template-columns:repeat(auto-fit,minmax(258px,1fr)); gap:16px; margin:6px 0 0; }
.woocommerce-account .woocommerce-Address{ background:var(--cbs-bg-2); border:1px solid var(--cbs-line); border-radius:14px; padding:18px 20px; }
.woocommerce-account .woocommerce-Address-title{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3{ font-family:var(--cbs-font-display); font-weight:400; text-transform:uppercase; font-size:18px; color:#fff; margin:0; }
.woocommerce-account .woocommerce-Address-title a.edit{ font-family:var(--cbs-font-mono); font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--acc) !important; text-decoration:none; }
.woocommerce-account .woocommerce-Address address{ font-style:normal; font-family:var(--cbs-font-body); font-size:13.5px; line-height:1.72; color:var(--cbs-fg-2); }

/* --- forms (account details / edit address) --- */
.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account form.edit-account,
.woocommerce-account .woocommerce-address-fields{ max-width:660px; }
.woocommerce-account .form-row,
.woocommerce-account .woocommerce-form-row{ margin:0 0 16px; display:flex; flex-direction:column; }
.woocommerce-account .form-row label,
.woocommerce-account .woocommerce-form-row label{ font-family:var(--cbs-font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--cbs-fg-4); margin-bottom:7px; }
.woocommerce-account input[type=text],
.woocommerce-account input[type=email],
.woocommerce-account input[type=tel],
.woocommerce-account input[type=password],
.woocommerce-account input[type=number],
.woocommerce-account select,
.woocommerce-account textarea,
.woocommerce-account .select2-container .select2-selection{
	width:100%; background:var(--cbs-bg-0); border:1px solid var(--cbs-line-strong); border-radius:9px;
	padding:12px 14px; color:#fff; font-family:var(--cbs-font-body); font-size:14px; box-sizing:border-box;
	transition:border-color .18s var(--cbs-ease);
}
.woocommerce-account input:focus,
.woocommerce-account select:focus,
.woocommerce-account textarea:focus{ outline:none; border-color:var(--acc); }
.woocommerce-account fieldset{ border:1px solid var(--cbs-line); border-radius:12px; padding:18px 20px; margin-top:20px; }
.woocommerce-account fieldset legend{ font-family:var(--cbs-font-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--acc); padding:0 8px; }
.cbs-acct-pwtoggle{
	display:inline-flex; align-items:center; gap:9px; margin:2px 0 20px;
	background:transparent; border:1px solid var(--cbs-line-strong); border-radius:9px;
	color:var(--cbs-fg-2); font-family:var(--cbs-font-mono); font-size:11.5px; font-weight:500; letter-spacing:.06em; text-transform:uppercase;
	padding:11px 16px; cursor:pointer; transition:border-color .18s var(--cbs-ease), color .18s var(--cbs-ease);
}
.cbs-acct-pwtoggle:hover,
.cbs-acct-pwtoggle.is-open{ border-color:var(--acc); color:var(--acc); }
.cbs-acct-pwtoggle i{ font-size:13px; transition:transform .25s var(--cbs-ease); }
.cbs-acct-pwtoggle.is-open i{ transform:rotate(180deg); }
.woocommerce-account form.edit-account fieldset{ margin-top:0; }
.woocommerce-account .woocommerce-form-row .required{ color:var(--danger); border:0; }
.woocommerce-account em,
.woocommerce-account .woocommerce-password-hint{ font-family:var(--cbs-font-body); font-size:12px; color:var(--cbs-fg-4); font-style:normal; }

/* --- buttons --- */
.woocommerce-account .button,
.woocommerce-account .woocommerce-Button,
.woocommerce-account button[type=submit],
.woocommerce-account input[type=submit]{
	display:inline-flex; align-items:center; justify-content:center; gap:8px;
	background:var(--acc); color:#04222e !important; border:0; border-radius:9px;
	font-family:var(--cbs-font-mono); font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
	padding:12px 20px; cursor:pointer; text-decoration:none !important; line-height:1; width:auto;
	transition:filter .18s var(--cbs-ease), transform .18s var(--cbs-ease);
}
.woocommerce-account .button:hover,
.woocommerce-account .woocommerce-Button:hover,
.woocommerce-account button[type=submit]:hover,
.woocommerce-account input[type=submit]:hover{ filter:brightness(1.12); transform:translateY(-1px); }
.woocommerce-account .woocommerce-button.view{ background:transparent; color:var(--acc) !important; border:1px solid var(--acc-line); padding:9px 16px; }
.woocommerce-account .woocommerce-button.view:hover{ background:var(--acc-soft); filter:none; }

/* --- notices --- */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-notice{
	border-radius:11px; border:1px solid var(--cbs-line); background:var(--cbs-bg-2);
	font-family:var(--cbs-font-body); font-size:13.5px; color:var(--cbs-fg-2); padding:14px 16px; list-style:none; margin:0 0 18px;
	display:flex; align-items:center; gap:12px; flex-wrap:wrap;
}
.woocommerce-account .woocommerce-message{ border-left:3px solid var(--acc); }
.woocommerce-account .woocommerce-error{ border-left:3px solid var(--danger); }
.woocommerce-account .woocommerce-message .button,
.woocommerce-account .woocommerce-info .button{ margin-left:auto; }

/* --- pagination --- */
.woocommerce-account .woocommerce-pagination ul{ display:flex; gap:6px; list-style:none; padding:0; margin:18px 0 0; }
.woocommerce-account .woocommerce-pagination a,
.woocommerce-account .woocommerce-pagination span{ display:grid; place-items:center; min-width:38px; height:38px; padding:0 10px; border:1px solid var(--cbs-line); border-radius:9px; color:var(--cbs-fg-2); font-family:var(--cbs-font-mono); font-size:12px; text-decoration:none; }
.woocommerce-account .woocommerce-pagination .current{ background:var(--acc-soft); color:var(--acc); border-color:var(--acc-line); }

/* --- responsive --- */
@media (max-width:860px){
	.woocommerce-account .woocommerce{ grid-template-columns:1fr; gap:14px; }
	.woocommerce-MyAccount-navigation{ position:static; }
	.woocommerce-MyAccount-navigation ul{ flex-direction:row; flex-wrap:wrap; gap:6px; }
	.woocommerce-MyAccount-navigation li a{ font-size:11px; padding:10px 13px; }
	.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout{ margin-top:0; padding-top:0; border-top:0; margin-left:auto; }
	.cbs-acct-grid{ grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); }
}
/* --- layout + specificity hardening (override theme float/width + active styles) --- */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{ float:none !important; width:auto !important; margin:0 !important; min-width:0; }
.woocommerce-account .woocommerce-Addresses > *,
.woocommerce-account .woocommerce-Addresses .woocommerce-Address{ float:none !important; width:auto !important; max-width:none !important; min-width:0; }
@media (min-width:861px){
	.woocommerce-account .woocommerce-MyAccount-navigation{ grid-column:1 !important; grid-row:1 !important; }
	.woocommerce-account .woocommerce-MyAccount-content{ grid-column:2 !important; grid-row:1 !important; }
	.woocommerce-account .woocommerce-Addresses .u-column1{ grid-column:1 !important; grid-row:1 !important; }
	.woocommerce-account .woocommerce-Addresses .u-column2{ grid-column:2 !important; grid-row:1 !important; }
}
.woocommerce-account .woocommerce-MyAccount-navigation li a{ color:var(--cbs-fg-2) !important; background:transparent !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{ color:#fff !important; background:rgba(255,255,255,.045) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{ color:var(--acc) !important; background:var(--acc-soft) !important; border-color:var(--acc-line) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a{ color:var(--danger) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover{ color:#ff8585 !important; background:rgba(255,90,90,.1) !important; }
/* ===== End CBS-ACCOUNT ===== */

/* ===== CBS-WISHLIST-V2 ===== */
/* Full designed wishlist surface + logged-out popup. Page is page-id-24 (/wishlist/). */

/* --- Page chrome: hide the theme's default "Wishlist" entry-title, zero wrapper margins --- */
body.page-id-24 .entry-header,
body.page-id-24 .entry-title,
body.page-id-24 header.entry-header { display: none !important; }
body.page-id-24 .site-main { margin-top: 0 !important; }
body.page-id-24 .entry-content { margin-top: 0 !important; }
body.page-id-24 .entry-content > .cbs-wl { margin-top: 0; }

/* --- Container --- */
.cbs-wl {
  max-width: var(--cbs-container, 1280px);
  margin: 0 auto;
  padding: 88px clamp(16px, 4vw, 34px) 132px;
  box-sizing: border-box;
  font-family: var(--cbs-font-body, 'Inter', sans-serif);
  color: var(--cbs-fg-1, #fff);
}

/* --- Section header (two-tone Anton + live count + sub + hairline rule) --- */
.cbs-wl__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 22px 34px;
  flex-wrap: wrap;
}
.cbs-wl__h {
  font-family: var(--cbs-font-display, 'Anton', sans-serif);
  font-weight: 400;
  font-size: clamp(40px, 6.4vw, 76px);
  line-height: .92;
  letter-spacing: .012em;
  text-transform: uppercase;
  color: var(--cbs-fg-1, #fff);
  margin: 0;
}
.cbs-wl__h span { color: var(--cbs-edge, #6cbde0); }
.cbs-wl__h::before, .cbs-wl__h::after { content: none !important; display: none !important; }
.cbs-wl__meta {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-left: 18px;
  border-left: 1px solid var(--cbs-line-strong, #3a4250);
  min-height: 42px;
}
.cbs-wl__countwrap {
  display: flex;
  align-items: baseline;
  gap: 7px;
}
.cbs-wl__count {
  font-family: var(--cbs-font-display, 'Anton', sans-serif);
  font-size: 30px;
  line-height: 1;
  color: var(--cbs-edge, #6cbde0);
}
.cbs-wl__count-l {
  font-family: var(--cbs-font-mono, monospace);
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--cbs-fg-4, rgba(255,255,255,.42));
}
.cbs-wl__sub {
  font-size: 13px;
  line-height: 1.5;
  color: var(--cbs-fg-3, rgba(255,255,255,.55));
  max-width: 26ch;
  margin: 0;
}
.cbs-wl__rule {
  height: 1px;
  background: var(--cbs-line-strong, #3a4250);
  margin: 18px 0 0;
}

/* --- Header actions --- */
.cbs-wl__actions {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  flex-wrap: wrap;
  margin-top: 20px;
}
.cbs-wl__btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 13px 22px;
  border-radius: 9px;
  font-family: var(--cbs-font-mono, monospace);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
  border: 1px solid transparent;
  background: none;
  transition: transform .25s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)), background .2s, color .2s, border-color .2s, opacity .2s;
}
.cbs-wl__btn i { font-size: 15px; }
.cbs-wl__btn--add { background: #fff; color: #06080b; border-color: #fff; }
.cbs-wl__btn--add:hover { background: var(--cbs-edge, #6cbde0); border-color: var(--cbs-edge, #6cbde0); transform: translateY(-2px); }
.cbs-wl__btn--share { background: transparent; color: var(--cbs-fg-2, rgba(255,255,255,.82)); border-color: var(--cbs-line-strong, #3a4250); }
.cbs-wl__btn--share:hover { color: #fff; border-color: #fff; }
.cbs-wl__btn.is-busy { opacity: .55; pointer-events: none; }
.cbs-wl__btn.is-done { background: var(--cbs-ok, #34c759); color: #06080b; border-color: var(--cbs-ok, #34c759); }

/* --- Item grid --- */
.cbs-wl__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 30px;
}

/* --- Boarding-pass item card --- */
.cbs-wl__card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--cbs-bg-1, #0e1116);
  border: 1px solid var(--cbs-line-strong, #3a4250);
  border-radius: var(--cbs-r-3, 12px);
  overflow: hidden;
  transition: opacity .3s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)), transform .3s var(--cbs-ease, cubic-bezier(.2,.7,.2,1));
}
.cbs-wl__card.is-removing { opacity: 0; transform: scale(.95); }
.cbs-wl__cardtop {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 11px 14px;
  border-bottom: 1px dashed var(--cbs-line-strong, #3a4250);
  font-family: var(--cbs-font-mono, monospace);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.cbs-wl__code { color: var(--cbs-edge, #6cbde0); }
.cbs-wl__remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(255,255,255,.04);
  border: 1px solid var(--cbs-line, #262d37);
  color: var(--cbs-fg-3, rgba(255,255,255,.55));
  cursor: pointer;
  padding: 0;
  line-height: 0;
  transition: color .2s, border-color .2s, background .2s, transform .2s;
}
.cbs-wl__remove svg { width: 13px; height: 13px; pointer-events: none; }
.cbs-wl__remove:hover { color: var(--cbs-bad, #ff453a); border-color: var(--cbs-bad, #ff453a); background: rgba(255,69,58,.10); transform: scale(1.08); }
.cbs-wl__media {
  display: block;
  position: relative;
  aspect-ratio: 1 / 1;
  background: var(--cbs-bg-0, #06080b);
  overflow: hidden;
}
.cbs-wl__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  transition: transform .5s var(--cbs-ease, cubic-bezier(.2,.7,.2,1));
}
.cbs-wl__media:hover img { transform: scale(1.05); }
.cbs-wl__info {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 15px 15px 16px;
}
.cbs-wl__name {
  font-family: var(--cbs-font-body, 'Inter', sans-serif);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--cbs-fg-1, #fff);
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.6em;
}
.cbs-wl__name:hover { color: var(--cbs-edge, #6cbde0); }
.cbs-wl__row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
}
.cbs-wl__fare { display: flex; flex-direction: column; gap: 3px; }
.cbs-wl__fare-l {
  font-family: var(--cbs-font-mono, monospace);
  font-size: 9px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--cbs-fg-4, rgba(255,255,255,.42));
}
.cbs-wl__price {
  font-family: var(--cbs-font-display, 'Anton', sans-serif);
  font-size: 22px;
  line-height: 1;
  color: var(--cbs-fg-1, #fff);
}
.cbs-wl__price .woocommerce-Price-amount { font-family: inherit; }
.cbs-wl__price del { opacity: .45; font-size: .7em; margin-right: 4px; }
.cbs-wl__stock {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 9px;
  border-radius: 999px;
  font-family: var(--cbs-font-mono, monospace);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
}
.cbs-wl__stock::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.cbs-wl__stock.is-in { color: var(--cbs-ok, #34c759); background: rgba(52,199,89,.10); }
.cbs-wl__stock.is-out { color: var(--cbs-bad, #ff453a); background: rgba(255,69,58,.10); }
.cbs-wl__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 100%;
  padding: 12px 14px;
  border-radius: 8px;
  border: 1px solid #fff;
  background: #fff;
  color: #06080b;
  font-family: var(--cbs-font-mono, monospace);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
  transition: background .2s, color .2s, border-color .2s, transform .2s, opacity .2s;
}
.cbs-wl__cta i { font-size: 14px; }
.cbs-wl__cta:hover { background: var(--cbs-edge, #6cbde0); border-color: var(--cbs-edge, #6cbde0); transform: translateY(-2px); }
.cbs-wl__cta.is-busy { opacity: .55; pointer-events: none; }
.cbs-wl__cta.is-done { background: var(--cbs-ok, #34c759); border-color: var(--cbs-ok, #34c759); color: #06080b; }
.cbs-wl__cta--notify { background: transparent; color: var(--cbs-fg-2, rgba(255,255,255,.82)); border-color: var(--cbs-line-strong, #3a4250); }
.cbs-wl__cta--notify:hover { background: var(--cbs-bg-2, #161b22); color: #fff; border-color: var(--cbs-edge, #6cbde0); }

/* --- Empty / login-prompt: reuse global .cbs-empty ticket; just give it room --- */
.cbs-wl__empty { margin-top: 24px; }
.cbs-wl__empty[hidden] { display: none; }

/* ===================== LOGGED-OUT / CART POPUP ===================== */
.cbs-wishpop-backdrop {
  position: fixed;
  inset: 0;
  z-index: 9998;
  background: rgba(0, 0, 0, 0.80);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 1;
}
.cbs-wishpop-backdrop.is-open { display: flex; }
.cbs-wishpop {
  position: relative;
  width: min(460px, calc(100vw - 32px));
  max-height: calc(100vh - 60px);
  overflow-y: auto;
  background: var(--cbs-bg-1, #0e1116);
  border: 1px solid var(--cbs-line-strong, #3a4250);
  border-radius: var(--cbs-r-3, 12px);
  padding: 26px 24px 24px;
  color: #fff;
  font-family: var(--cbs-font-body, 'Inter', sans-serif);
  box-shadow: 0 40px 90px -50px rgba(0,0,0,.95);
}
.cbs-wishpop__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 32px;
  height: 32px;
  background: transparent;
  border: 0;
  color: var(--cbs-fg-3, rgba(255,255,255,.62));
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
  padding: 0;
}
.cbs-wishpop__close:hover { color: #fff; }
.cbs-wishpop__eyebrow {
  font-family: var(--cbs-font-mono, monospace);
  font-size: 11px;
  letter-spacing: .16em;
  color: var(--cbs-edge, #6cbde0);
  text-transform: uppercase;
  margin: 0 0 14px;
}
.cbs-wishpop__head {
  display: flex;
  gap: 14px;
  align-items: center;
  padding-bottom: 16px;
  border-bottom: 1px dashed var(--cbs-line-strong, #3a4250);
  margin-bottom: 16px;
}
.cbs-wishpop__thumb {
  flex: 0 0 auto;
  width: 70px;
  height: 70px;
  border-radius: 8px;
  background: var(--cbs-bg-0, #06080b);
  border: 1px solid var(--cbs-line, #262d37);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cbs-wishpop__thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }
.cbs-wishpop__headinfo { min-width: 0; flex: 1; }
.cbs-wishpop__name {
  font-family: var(--cbs-font-display, 'Anton', sans-serif);
  font-weight: 400;
  font-size: 20px;
  line-height: 1.08;
  letter-spacing: .01em;
  text-transform: uppercase;
  color: #fff;
  margin: 0 0 8px;
}
.cbs-wishpop__line { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.cbs-wishpop__price {
  font-family: var(--cbs-font-display, 'Anton', sans-serif);
  font-size: 20px;
  line-height: 1;
  color: var(--cbs-edge, #6cbde0);
}
.cbs-wishpop__price del { opacity: .45; font-size: .72em; margin-right: 4px; color: var(--cbs-fg-3, rgba(255,255,255,.55)); }
.cbs-wishpop__stock {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 9px;
  border-radius: 999px;
  font-family: var(--cbs-font-mono, monospace);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.cbs-wishpop__stock::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.cbs-wishpop__stock.is-in { color: var(--cbs-ok, #34c759); background: rgba(52,199,89,.10); }
.cbs-wishpop__stock.is-out { color: var(--cbs-bad, #ff453a); background: rgba(255,69,58,.10); }

/* Variation groups (chips, CBS-PROD-V6 cascade) */
.cbs-wishpop__vars { display: flex; flex-direction: column; gap: 14px; margin-bottom: 18px; }
.cbs-wishpop__vars:empty { display: none; }
.cbs-wishpop__group { display: flex; flex-direction: column; gap: 8px; }
.cbs-wishpop__grouplabel {
  font-family: var(--cbs-font-mono, monospace);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--cbs-fg-4, rgba(255,255,255,.5));
}
.cbs-wishpop__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.cbs-wishpop__chip {
  display: inline-flex;
  align-items: center;
  padding: 9px 14px;
  border-radius: 7px;
  background: var(--cbs-bg-0, #06080b);
  border: 1px solid var(--cbs-line-strong, #3a4250);
  color: var(--cbs-fg-2, rgba(255,255,255,.82));
  font-family: var(--cbs-font-body, 'Inter', sans-serif);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color .2s, color .2s, background .2s, transform .15s;
}
.cbs-wishpop__chip:hover { border-color: var(--cbs-edge, #6cbde0); color: #fff; }
.cbs-wishpop__chip.is-active {
  background: var(--cbs-edge-soft, rgba(108,189,224,.16));
  border-color: var(--cbs-edge, #6cbde0);
  color: #fff;
}
.cbs-wishpop__chip.is-oos {
  text-decoration: line-through;
  opacity: .4;
  cursor: not-allowed;
  border-style: dashed;
}
.cbs-wishpop__chip.is-oos:hover { border-color: var(--cbs-line-strong, #3a4250); color: var(--cbs-fg-2, rgba(255,255,255,.82)); }

/* Actions + message */
.cbs-wishpop__actions { display: flex; flex-direction: column; gap: 10px; }
.cbs-wishpop__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 100%;
  padding: 13px 16px;
  border-radius: 8px;
  border: 1px solid transparent;
  font-family: var(--cbs-font-mono, monospace);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
  transition: background .2s, color .2s, border-color .2s, transform .2s, opacity .2s;
}
.cbs-wishpop__btn i { font-size: 15px; }
.cbs-wishpop__btn--primary { background: #fff; color: #06080b; border-color: #fff; }
.cbs-wishpop__btn--primary:hover { background: var(--cbs-edge, #6cbde0); border-color: var(--cbs-edge, #6cbde0); transform: translateY(-2px); }
.cbs-wishpop__btn--ghost { background: transparent; color: var(--cbs-fg-2, rgba(255,255,255,.82)); border-color: var(--cbs-line-strong, #3a4250); }
.cbs-wishpop__btn--ghost:hover { color: #fff; border-color: var(--cbs-edge, #6cbde0); background: var(--cbs-bg-2, #161b22); }
.cbs-wishpop__btn.is-busy { opacity: .55; pointer-events: none; }
.cbs-wishpop__btn.is-done { background: var(--cbs-ok, #34c759); border-color: var(--cbs-ok, #34c759); color: #06080b; }
.cbs-wishpop__btn[disabled] { opacity: .4; pointer-events: none; }
.cbs-wishpop__or {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 2px 0;
  font-family: var(--cbs-font-mono, monospace);
  font-size: 9px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--cbs-fg-4, rgba(255,255,255,.38));
}
.cbs-wishpop__or::before, .cbs-wishpop__or::after { content: ""; flex: 1; height: 1px; background: var(--cbs-line, #262d37); }
.cbs-wishpop__msg {
  margin: 12px 0 0;
  font-size: 12px;
  font-family: var(--cbs-font-mono, monospace);
  letter-spacing: .04em;
  min-height: 16px;
}
.cbs-wishpop__msg.is-error { color: var(--cbs-bad, #ff453a); }
.cbs-wishpop__msg.is-ok { color: var(--cbs-ok, #34c759); }
.cbs-wishpop__loading {
  padding: 30px 0;
  text-align: center;
  font-family: var(--cbs-font-mono, monospace);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--cbs-fg-4, rgba(255,255,255,.42));
}

/* ===================== RESPONSIVE ===================== */
@media (max-width: 1100px) {
  .cbs-wl__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .cbs-wl { padding-top: 80px; }
  .cbs-wl__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .cbs-wl__meta { padding-left: 0; border-left: 0; }
  .cbs-wl__head { align-items: flex-start; }
  .cbs-wl__actions { justify-content: stretch; }
  .cbs-wl__btn { flex: 1; justify-content: center; }
}
@media (max-width: 480px) {
  .cbs-wl__grid { grid-template-columns: 1fr 1fr; gap: 11px; }
  .cbs-wl__h { font-size: clamp(34px, 11vw, 48px); }
  .cbs-wl__price { font-size: 19px; }
  .cbs-wl__name { font-size: 13px; }
  .cbs-wl__info { padding: 12px; gap: 10px; }
}
/* ===== End CBS-WISHLIST-V2 ===== */

/* ===== CBS-BLOG-V1 ===== */
/* Editorial blog redesign: shared card (home + archive), /blog/ archive, single article. */

/* ---------- Parent-theme cleanup + page spacing (blog index, category, single) ---------- */
body.blog .blog-post-main-box,
body.archive .blog-post-main-box,
body.single-post .blog-post-main-box { margin: 0 !important; }
body.blog .site-main,
body.archive .site-main,
body.single-post .site-main { margin: 0 !important; padding: 0 !important; }
body.blog .entry-title.screen-reader-text,
body.blog .page-title.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- Shared editorial card ---------- */
.cbs-blog-card {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 300px;
  max-width: 400px;
  background: var(--cbs-bg-1, #0e1116);
  border: 1px solid var(--cbs-line-strong, #3a4250);
  border-radius: var(--cbs-r-3, 12px);
  overflow: hidden;
  text-decoration: none;
  color: var(--cbs-fg-1, #fff);
  transition: transform .3s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)), border-color .3s var(--cbs-ease), box-shadow .3s var(--cbs-ease);
}
.cbs-blog-card:hover {
  transform: translateY(-4px);
  border-color: var(--cbs-edge, #6cbde0);
  box-shadow: 0 30px 60px -40px rgba(0,0,0,.9);
}
.cbs-blog-card__media {
  position: relative;
  aspect-ratio: 16 / 10;
  background: var(--cbs-bg-0, #06080b);
  overflow: hidden;
}
.cbs-blog-card__media img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .6s var(--cbs-ease, cubic-bezier(.2,.7,.2,1));
}
.cbs-blog-card:hover .cbs-blog-card__media img { transform: scale(1.05); }
.cbs-blog-card__media--empty {
  display: flex; align-items: center; justify-content: center;
  color: var(--cbs-line-strong, #3a4250);
}
.cbs-blog-card__media--empty i { font-size: 46px; }
.cbs-blog-card__cat {
  position: absolute; top: 12px; left: 12px;
  display: inline-flex; align-items: center;
  padding: 5px 10px; border-radius: 999px;
  background: rgba(6,8,11,.72); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  border: 1px solid var(--cbs-line-strong, #3a4250);
  font-family: var(--cbs-font-mono, monospace); font-size: 9.5px; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase; color: var(--cbs-edge, #6cbde0);
}
.cbs-blog-card__body { display: flex; flex-direction: column; gap: 11px; padding: 18px 18px 20px; flex: 1; }
.cbs-blog-card__title {
  font-family: var(--cbs-font-body, 'Inter', sans-serif);
  font-weight: 700; font-size: 18px; line-height: 1.32; letter-spacing: -.01em;
  color: var(--cbs-fg-1, #fff);
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
  transition: color .2s var(--cbs-ease, ease);
}
.cbs-blog-card:hover .cbs-blog-card__title { color: var(--cbs-edge, #6cbde0); }
.cbs-blog-card__excerpt {
  font-family: var(--cbs-font-body, 'Inter', sans-serif);
  font-size: 13.5px; line-height: 1.6; color: var(--cbs-fg-3, rgba(255,255,255,.55));
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  margin: 0;
}
.cbs-blog-card__foot {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  margin-top: auto; padding-top: 12px;
  border-top: 1px solid var(--cbs-line, #262d37);
}
.cbs-blog-card__meta {
  font-family: var(--cbs-font-mono, monospace); font-size: 10px; letter-spacing: .1em;
  text-transform: uppercase; color: var(--cbs-fg-4, rgba(255,255,255,.42));
  display: flex; align-items: center; gap: 8px;
}
.cbs-blog-card__meta span { color: var(--cbs-line-strong, #3a4250); }
.cbs-blog-card__arrow {
  display: inline-flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; border-radius: 50%;
  border: 1px solid var(--cbs-line-strong, #3a4250); color: var(--cbs-fg-2, rgba(255,255,255,.82));
  transition: transform .2s var(--cbs-ease), color .2s, border-color .2s, background .2s;
  flex: 0 0 auto;
}
.cbs-blog-card__arrow i { font-size: 14px; }
.cbs-blog-card:hover .cbs-blog-card__arrow { background: var(--cbs-edge, #6cbde0); border-color: var(--cbs-edge, #6cbde0); color: #06080b; transform: translateX(2px); }

/* ---------- Archive container ---------- */
.cbs-blog {
  max-width: var(--cbs-container, 1280px);
  margin: 0 auto;
  padding: 92px clamp(16px, 4vw, 34px) 132px;
  box-sizing: border-box;
  font-family: var(--cbs-font-body, 'Inter', sans-serif);
  color: var(--cbs-fg-1, #fff);
}
.cbs-blog__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px 34px; flex-wrap: wrap; }
.cbs-blog__eyebrow {
  font-family: var(--cbs-font-mono, monospace); font-size: 11px; letter-spacing: .22em;
  text-transform: uppercase; color: var(--cbs-edge, #6cbde0); margin: 0 0 14px;
}
.cbs-blog__h {
  font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400;
  font-size: clamp(40px, 6.4vw, 78px); line-height: .9; letter-spacing: .012em; text-transform: uppercase;
  color: var(--cbs-fg-1, #fff); margin: 0;
}
.cbs-blog__h span { color: var(--cbs-edge, #6cbde0); }
.cbs-blog__h::before, .cbs-blog__h::after { content: none !important; display: none !important; }
.cbs-blog__sub {
  font-size: 14px; line-height: 1.6; color: var(--cbs-fg-3, rgba(255,255,255,.55));
  max-width: 38ch; margin: 0; padding-left: 18px; border-left: 1px solid var(--cbs-line-strong, #3a4250);
}
.cbs-blog__rule { height: 1px; background: var(--cbs-line-strong, #3a4250); margin: 20px 0 0; }

/* Category filter chips */
.cbs-blog__filters { display: flex; flex-wrap: wrap; gap: 9px; margin: 26px 0 0; }
.cbs-blog__chip {
  display: inline-flex; align-items: center; padding: 8px 15px; border-radius: 999px;
  background: var(--cbs-bg-1, #0e1116); border: 1px solid var(--cbs-line-strong, #3a4250);
  font-family: var(--cbs-font-mono, monospace); font-size: 10.5px; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: var(--cbs-fg-3, rgba(255,255,255,.62)); text-decoration: none;
  transition: color .2s, border-color .2s, background .2s, transform .2s;
}
.cbs-blog__chip:hover { color: #fff; border-color: var(--cbs-edge, #6cbde0); transform: translateY(-1px); }
.cbs-blog__chip.is-active { background: var(--cbs-edge, #6cbde0); border-color: var(--cbs-edge, #6cbde0); color: #06080b; }

/* Featured (latest) post */
.cbs-blog__featured {
  display: grid; grid-template-columns: 1.25fr 1fr; gap: 0;
  margin: 30px 0 34px;
  background: var(--cbs-bg-1, #0e1116);
  border: 1px solid var(--cbs-line-strong, #3a4250);
  border-radius: var(--cbs-r-3, 12px);
  overflow: hidden; text-decoration: none; color: var(--cbs-fg-1, #fff);
  transition: border-color .3s var(--cbs-ease), box-shadow .3s var(--cbs-ease);
}
.cbs-blog__featured:hover { border-color: var(--cbs-edge, #6cbde0); box-shadow: 0 40px 80px -50px rgba(0,0,0,.9); }
.cbs-blog__featured-media { position: relative; min-height: 320px; background: var(--cbs-bg-0, #06080b); overflow: hidden; }
.cbs-blog__featured-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--cbs-ease); }
.cbs-blog__featured:hover .cbs-blog__featured-media img { transform: scale(1.04); }
.cbs-blog__featured-tag {
  position: absolute; top: 16px; left: 16px;
  display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 999px;
  background: rgba(6,8,11,.72); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  border: 1px solid var(--cbs-edge, #6cbde0);
  font-family: var(--cbs-font-mono, monospace); font-size: 10px; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--cbs-edge, #6cbde0);
}
.cbs-blog__featured-body { display: flex; flex-direction: column; justify-content: center; gap: 16px; padding: clamp(24px, 3vw, 42px); }
.cbs-blog__featured-cat { font-family: var(--cbs-font-mono, monospace); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--cbs-edge, #6cbde0); }
.cbs-blog__featured-title {
  font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400;
  font-size: clamp(26px, 3vw, 40px); line-height: 1.02; letter-spacing: .01em; text-transform: uppercase;
  color: var(--cbs-fg-1, #fff); margin: 0;
  transition: color .2s var(--cbs-ease);
}
.cbs-blog__featured:hover .cbs-blog__featured-title { color: var(--cbs-edge, #6cbde0); }
.cbs-blog__featured-excerpt { font-size: 15px; line-height: 1.65; color: var(--cbs-fg-3, rgba(255,255,255,.62)); margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.cbs-blog__featured-meta { display: flex; align-items: center; gap: 10px; font-family: var(--cbs-font-mono, monospace); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--cbs-fg-4, rgba(255,255,255,.42)); }
.cbs-blog__featured-meta span { color: var(--cbs-line-strong, #3a4250); }
.cbs-blog__featured-cta {
  display: inline-flex; align-items: center; gap: 9px; align-self: flex-start; margin-top: 4px;
  padding: 12px 20px; border-radius: 8px; background: #fff; color: #06080b;
  font-family: var(--cbs-font-mono, monospace); font-size: 11.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  transition: background .2s, transform .2s;
}
.cbs-blog__featured:hover .cbs-blog__featured-cta { background: var(--cbs-edge, #6cbde0); transform: translateX(2px); }

/* Grid — centered flex so any post count (1, 2, 3+) stays balanced */
.cbs-blog-grid { display: flex; flex-wrap: wrap; gap: 20px; justify-content: center; }

/* Pagination */
.cbs-blog__pager { margin: 44px 0 0; }
.cbs-blog__pager .nav-links,
.cbs-blog__pager .page-numbers { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; list-style: none; padding: 0; margin: 0; align-items: center; }
.cbs-blog__pager .page-numbers {
  display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 12px;
  border: 1px solid var(--cbs-line-strong, #3a4250); border-radius: 8px;
  font-family: var(--cbs-font-mono, monospace); font-size: 13px; font-weight: 700; color: var(--cbs-fg-2, rgba(255,255,255,.82));
  text-decoration: none; transition: color .2s, border-color .2s, background .2s;
}
.cbs-blog__pager a.page-numbers:hover { border-color: var(--cbs-edge, #6cbde0); color: #fff; }
.cbs-blog__pager .page-numbers.current { background: var(--cbs-edge, #6cbde0); border-color: var(--cbs-edge, #6cbde0); color: #06080b; }
.cbs-blog__pager .page-numbers.dots { border-color: transparent; }

/* Empty state */
.cbs-blog__empty { text-align: center; padding: 80px 20px; }
.cbs-blog__empty-title { font-family: var(--cbs-font-display, 'Anton', sans-serif); font-size: clamp(26px, 3vw, 38px); text-transform: uppercase; color: #fff; margin: 0 0 12px; }
.cbs-blog__empty-sub { color: var(--cbs-fg-3, rgba(255,255,255,.55)); }

/* ---------- Single article ---------- */
.cbs-article {
  max-width: var(--cbs-container, 1280px);
  margin: 0 auto;
  padding: 92px clamp(16px, 4vw, 34px) 130px;
  box-sizing: border-box;
  font-family: var(--cbs-font-body, 'Inter', sans-serif);
  color: var(--cbs-fg-1, #fff);
}
.cbs-article__back {
  display: inline-flex; align-items: center; gap: 8px; margin-bottom: 24px;
  font-family: var(--cbs-font-mono, monospace); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: var(--cbs-fg-3, rgba(255,255,255,.55)); text-decoration: none; transition: color .2s, gap .2s;
}
.cbs-article__back:hover { color: var(--cbs-edge, #6cbde0); gap: 12px; }
.cbs-article__head { max-width: 820px; margin: 0 auto; text-align: center; }
.cbs-article__cat {
  display: inline-flex; align-items: center; padding: 6px 13px; border-radius: 999px; margin-bottom: 18px;
  background: var(--cbs-edge-soft, rgba(108,189,224,.14)); border: 1px solid var(--cbs-edge, #6cbde0);
  font-family: var(--cbs-font-mono, monospace); font-size: 10.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--cbs-edge, #6cbde0); text-decoration: none;
}
.cbs-article__title {
  font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400;
  font-size: clamp(34px, 5vw, 62px); line-height: 1.0; letter-spacing: .01em; text-transform: uppercase;
  color: var(--cbs-fg-1, #fff); margin: 0 0 20px;
}
.cbs-article__meta {
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px 14px;
  font-family: var(--cbs-font-mono, monospace); font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase;
  color: var(--cbs-fg-3, rgba(255,255,255,.55));
}
.cbs-article__meta .dot { width: 4px; height: 4px; border-radius: 50%; background: var(--cbs-line-strong, #3a4250); }
.cbs-article__meta b { color: var(--cbs-fg-1, #fff); font-weight: 700; }
.cbs-article__hero-img {
  margin: 36px auto 0; max-width: 1080px; border-radius: var(--cbs-r-3, 12px); overflow: hidden;
  border: 1px solid var(--cbs-line-strong, #3a4250); background: var(--cbs-bg-1, #0e1116);
}
.cbs-article__hero-img img { width: 100%; height: auto; display: block; }

/* Prose body */
.cbs-article__body { max-width: 760px; margin: 44px auto 0; font-size: 17px; line-height: 1.85; color: var(--cbs-fg-2, rgba(255,255,255,.82)); }
.cbs-article__body > *:first-child { margin-top: 0; }
.cbs-article__body p { margin: 0 0 1.5em; }
.cbs-article__body h2 { font-family: var(--cbs-font-body, 'Inter', sans-serif); font-weight: 800; font-size: 27px; line-height: 1.25; letter-spacing: -.01em; color: #fff; margin: 1.9em 0 .7em; }
.cbs-article__body h3 { font-family: var(--cbs-font-body, 'Inter', sans-serif); font-weight: 700; font-size: 21px; line-height: 1.3; color: #fff; margin: 1.7em 0 .6em; }
.cbs-article__body h4 { font-weight: 700; font-size: 17px; color: #fff; margin: 1.5em 0 .5em; text-transform: uppercase; letter-spacing: .04em; font-family: var(--cbs-font-mono, monospace); }
.cbs-article__body a { color: var(--cbs-edge, #6cbde0); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.cbs-article__body a:hover { color: #fff; }
.cbs-article__body strong, .cbs-article__body b { color: #fff; font-weight: 700; }
.cbs-article__body ul, .cbs-article__body ol { margin: 0 0 1.5em; padding-left: 1.4em; }
.cbs-article__body li { margin: 0 0 .6em; padding-left: .2em; }
.cbs-article__body ul li::marker { color: var(--cbs-edge, #6cbde0); }
.cbs-article__body ol li::marker { color: var(--cbs-edge, #6cbde0); font-family: var(--cbs-font-mono, monospace); }
.cbs-article__body blockquote {
  margin: 1.8em 0; padding: 6px 0 6px 24px; border-left: 3px solid var(--cbs-edge, #6cbde0);
  font-size: 21px; line-height: 1.55; font-style: italic; color: #fff;
}
.cbs-article__body blockquote p:last-child { margin-bottom: 0; }
.cbs-article__body img, .cbs-article__body figure img { max-width: 100%; height: auto; border-radius: 8px; display: block; margin: 1.8em auto; }
.cbs-article__body figure { margin: 1.8em 0; }
.cbs-article__body figcaption { font-size: 12.5px; color: var(--cbs-fg-4, rgba(255,255,255,.42)); text-align: center; margin-top: 8px; font-family: var(--cbs-font-mono, monospace); }
.cbs-article__body hr { border: 0; border-top: 1px solid var(--cbs-line-strong, #3a4250); margin: 2.4em 0; }
.cbs-article__body code { font-family: var(--cbs-font-mono, monospace); font-size: .88em; background: var(--cbs-bg-2, #161b22); border: 1px solid var(--cbs-line, #262d37); border-radius: 4px; padding: .12em .4em; color: var(--cbs-edge, #6cbde0); }
.cbs-article__body pre { background: var(--cbs-bg-1, #0e1116); border: 1px solid var(--cbs-line-strong, #3a4250); border-radius: 8px; padding: 18px 20px; overflow-x: auto; margin: 1.6em 0; }
.cbs-article__body pre code { background: none; border: 0; padding: 0; color: var(--cbs-fg-2, rgba(255,255,255,.82)); }
.cbs-article__body table { width: 100%; border-collapse: collapse; margin: 1.6em 0; font-size: 14.5px; }
.cbs-article__body th, .cbs-article__body td { border: 1px solid var(--cbs-line-strong, #3a4250); padding: 10px 14px; text-align: left; }
.cbs-article__body th { background: var(--cbs-bg-1, #0e1116); color: #fff; font-family: var(--cbs-font-mono, monospace); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }

/* Share + footer rows */
.cbs-article__divider { max-width: 760px; margin: 40px auto 0; height: 1px; background: var(--cbs-line-strong, #3a4250); }
.cbs-article__share { max-width: 760px; margin: 24px auto 0; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.cbs-article__share-label { font-family: var(--cbs-font-mono, monospace); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--cbs-fg-4, rgba(255,255,255,.42)); }
.cbs-article__share-btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 9px 15px; border-radius: 8px; cursor: pointer;
  background: var(--cbs-bg-1, #0e1116); border: 1px solid var(--cbs-line-strong, #3a4250); color: var(--cbs-fg-2, rgba(255,255,255,.82));
  font-family: var(--cbs-font-mono, monospace); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  transition: color .2s, border-color .2s, background .2s; text-decoration: none;
}
.cbs-article__share-btn:hover { color: #fff; border-color: var(--cbs-edge, #6cbde0); }
.cbs-article__share-btn i { font-size: 15px; }
.cbs-article__share-btn.is-done { color: var(--cbs-ok, #34c759); border-color: var(--cbs-ok, #34c759); }

/* Prev / next */
.cbs-article__nav { max-width: 760px; margin: 36px auto 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.cbs-article__navlink {
  display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; border-radius: 10px;
  background: var(--cbs-bg-1, #0e1116); border: 1px solid var(--cbs-line-strong, #3a4250);
  text-decoration: none; transition: border-color .2s, transform .2s;
}
.cbs-article__navlink:hover { border-color: var(--cbs-edge, #6cbde0); transform: translateY(-2px); }
.cbs-article__navlink--next { text-align: right; }
.cbs-article__navlbl { font-family: var(--cbs-font-mono, monospace); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--cbs-edge, #6cbde0); }
.cbs-article__navttl { font-family: var(--cbs-font-body, 'Inter', sans-serif); font-weight: 600; font-size: 14px; line-height: 1.35; color: var(--cbs-fg-1, #fff); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Related */
.cbs-article__related { margin: 70px auto 0; max-width: var(--cbs-container, 1280px); }
.cbs-article__related-head { display: flex; align-items: baseline; gap: 14px; margin-bottom: 22px; padding-bottom: 16px; border-bottom: 1px solid var(--cbs-line-strong, #3a4250); }
.cbs-article__related-h { font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400; font-size: clamp(24px, 3vw, 34px); text-transform: uppercase; color: #fff; margin: 0; }
.cbs-article__related-h span { color: var(--cbs-edge, #6cbde0); }
.cbs-article__related .cbs-blog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Themed comments (kept minimal) */
.cbs-article__comments { max-width: 760px; margin: 50px auto 0; }
.cbs-article__comments .comment-respond,
.cbs-article__comments .comments-area { background: var(--cbs-bg-1, #0e1116); border: 1px solid var(--cbs-line-strong, #3a4250); border-radius: 12px; padding: 26px; }
.cbs-article__comments .comment-reply-title, .cbs-article__comments .comments-title { font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400; text-transform: uppercase; color: #fff; font-size: 22px; margin: 0 0 16px; }
.cbs-article__comments input[type=text], .cbs-article__comments input[type=email], .cbs-article__comments input[type=url], .cbs-article__comments textarea {
  width: 100%; background: var(--cbs-bg-0, #06080b); border: 1px solid var(--cbs-line-strong, #3a4250); border-radius: 6px; padding: 12px 14px; color: #fff; font-family: var(--cbs-font-body, 'Inter', sans-serif); font-size: 14px; box-sizing: border-box; margin-bottom: 12px;
}
.cbs-article__comments input:focus, .cbs-article__comments textarea:focus { outline: 0; border-color: var(--cbs-edge, #6cbde0); }
.cbs-article__comments .submit, .cbs-article__comments input[type=submit] { background: #fff; color: #06080b; border: 0; border-radius: 8px; padding: 12px 22px; font-family: var(--cbs-font-mono, monospace); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; font-size: 12px; }
.cbs-article__comments input[type=submit]:hover { background: var(--cbs-edge, #6cbde0); }
.cbs-article__comments .comment-list { list-style: none; padding: 0; margin: 22px 0 0; }
.cbs-article__comments .comment-body { padding: 14px 0; border-top: 1px solid var(--cbs-line, #262d37); }

/* ---------- Home "FROM THE FLOOR" section -> editorial cards ---------- */
body.page-template-home-page-template .cbs-home__blog .cbs-home__blog-grid {
  display: flex !important; flex-wrap: wrap; gap: 20px !important; justify-content: center;
}
body.page-template-home-page-template .cbs-home__blog .cbs-blog-card { background: var(--cbs-bg-1, #0e1116); }

/* ---------- Responsive ---------- */
@media (max-width: 1000px) {
  .cbs-blog-grid, .cbs-article__related .cbs-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cbs-blog__featured { grid-template-columns: 1fr; }
  .cbs-blog__featured-media { min-height: 220px; aspect-ratio: 16/9; }
  body.page-template-home-page-template .cbs-home__blog .cbs-home__blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 860px) {
  .cbs-blog__sub { padding-left: 0; border-left: 0; }
}
@media (max-width: 620px) {
  .cbs-blog, .cbs-article { padding-top: 80px; }
  .cbs-blog-grid, .cbs-article__related .cbs-blog-grid { grid-template-columns: 1fr; }
  body.page-template-home-page-template .cbs-home__blog .cbs-home__blog-grid { grid-template-columns: 1fr !important; }
  .cbs-article__nav { grid-template-columns: 1fr; }
  .cbs-article__body { font-size: 16px; }
}
/* ===== End CBS-BLOG-V1 ===== */

/* ===== CBS-BATCH-FIXES (2026-06-21) ===== */

/* #6 - unify the wishlist page title size with cart/checkout (was clamp 40/6.4vw/76; cart is 36/5.4vw/66) */
.cbs-wl__h{ font-size: clamp(36px, 5.4vw, 66px) !important; }

/* #11 - highlight the product/stack card price over the adjacent category/status metric */
.cbs-card.cbs-card--bp .cbs-bp__metric:first-child .cbs-bp__label{ color: var(--cbs-edge, #6cbde0) !important; }
.cbs-card.cbs-card--bp .cbs-bp__metric:first-child .cbs-bp__value{ font-size: 21px !important; letter-spacing: .005em !important; }

/* #12 - hide the qty stepper when quantity is fixed (WC outputs input[type=hidden] when min==max, e.g. sold-individually / single-stock stacks) which otherwise renders a broken empty "minus plus" box */
html body article.cbs-prod[data-pid] .quantity:has(> input[type="hidden"][name="quantity"]){ display: none !important; }

/* #11 mobile - one-column category/shop cards on phones so the highlighted price is never cramped */
@media (max-width: 480px){
  .cbs-cat__grid{ grid-template-columns: 1fr !important; }
}

/* A - checkout qty badge was clipped by the thumb overflow:hidden; show it fully */
.cbs-co__item-thumb{ overflow: visible !important; }
.cbs-co__item-thumb img{ border-radius: 7px; }

/* B - remove the CusRev "invite to review" opt-in from checkout */
.cr-customer-consent{ display: none !important; }

/* C - remove all eyebrows above headings site-wide */
.cbs-eyebrow, .eyebrow, .cbs-acct-hello__eyebrow, .cbs-ath__bio-eyebrow, .cbs-blog__eyebrow, .cbs-cart__eyebrow, .cbs-cat__active-eyebrow, .cbs-co__eyebrow, .cbs-filter__eyebrow, .cbs-home__hero-eyebrow, .cbs-notify-modal__eyebrow, .cbs-wishpop__eyebrow{ display: none !important; }

/* ===== End CBS-BATCH-FIXES ===== */

/* ===== CBS-PAGES-V1 (Contact / FAQ / Shipping / Returns) ===== */

/* hide the default page chrome on the policy pages (CBS header lives in the content) */
body.page-id-127 .entry-header, body.page-id-23 .entry-header, body.page-id-3 .entry-header, body.page-id-130 .entry-header,
body.page-id-127 .page-title, body.page-id-23 .page-title, body.page-id-3 .page-title, body.page-id-130 .page-title,
body.page-id-127 .entry-title, body.page-id-23 .entry-title, body.page-id-3 .entry-title, body.page-id-130 .entry-title { display: none !important; }
body.page-id-127 .site-main, body.page-id-23 .site-main, body.page-id-3 .site-main, body.page-id-130 .site-main,
body.page-id-127 .entry-content, body.page-id-23 .entry-content, body.page-id-3 .entry-content, body.page-id-130 .entry-content { margin: 0 !important; padding: 0 !important; max-width: none !important; }
.cbs-pg .cbs-doc__sub { font-family: var(--cbs-font-body, 'Inter', sans-serif); font-weight: 600 !important; font-size: 16px !important; line-height: 1.4; color: var(--cbs-fg-1, #fff); margin: 20px 0 8px; }

/* shell */
.cbs-pg { background: var(--cbs-bg-0, #06080b); color: var(--cbs-fg-1, #fff); padding: 96px 24px 150px; }
.cbs-pg__wrap { max-width: none; margin-left: 0; margin-right: 0; } /* R2-C: left-align doc content to the page gutter (pill edge) */
.cbs-pg__head { border-bottom: 1px solid var(--cbs-line-strong, #3a4250); padding-bottom: 26px; margin-bottom: 44px; }
.cbs-pg__title { font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400; font-size: clamp(40px, 7vw, 80px); line-height: .9; letter-spacing: .01em; text-transform: uppercase; color: var(--cbs-fg-1, #fff); margin: 0 0 16px; display: block; }
.cbs-pg__title span { color: var(--cbs-edge, #6cbde0); }
.cbs-pg__title::before, .cbs-pg__title::after { content: none !important; display: none !important; }
.cbs-pg__sub { font-family: var(--cbs-font-body, 'Inter', sans-serif); font-size: clamp(15px, 1.6vw, 18px); line-height: 1.6; color: var(--cbs-fg-3, rgba(255,255,255,.62)); max-width: 60ch; margin: 0; }
.cbs-pg__sub strong { color: var(--cbs-fg-1, #fff); font-weight: 600; }

/* contact methods grid */
.cbs-pg__contact { display: grid; grid-template-columns: 360px 1fr; gap: 40px; align-items: start; }
.cbs-pg__methods { display: flex; flex-direction: column; gap: 14px; }
.cbs-pg__method { display: flex; gap: 14px; align-items: flex-start; text-decoration: none; padding: 18px; background: var(--cbs-bg-1, #0e1116); border: 1px solid var(--cbs-line, rgba(255,255,255,.08)); border-radius: var(--cbs-r-3, 8px); transition: border-color .2s var(--cbs-ease), transform .2s var(--cbs-ease); }
.cbs-pg__method:hover { border-color: var(--cbs-edge, #6cbde0); transform: translateY(-2px); }
.cbs-pg__method i { font-size: 22px; color: var(--cbs-edge, #6cbde0); flex: 0 0 auto; line-height: 1.1; }
.cbs-pg__method-label { display: block; font-family: var(--cbs-font-mono, monospace); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--cbs-fg-4, rgba(255,255,255,.42)); margin: 0 0 5px; }
.cbs-pg__method-val { display: block; font-family: var(--cbs-font-body, 'Inter', sans-serif); font-size: 16px; font-weight: 600; color: var(--cbs-fg-1, #fff); line-height: 1.25; }
.cbs-pg__method-sub { display: block; font-size: 13px; color: var(--cbs-fg-3, rgba(255,255,255,.62)); margin-top: 3px; }
.cbs-pg__form { background: var(--cbs-bg-1, #0e1116); border: 1px solid var(--cbs-line-strong, #3a4250); border-radius: var(--cbs-r-3, 8px); padding: 30px; }
.cbs-pg__form-ttl { font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400; font-size: 26px; text-transform: uppercase; letter-spacing: .01em; color: var(--cbs-fg-1, #fff); margin: 0 0 22px; }

/* CF7 form -> CBS dark */
.cbs-pg__form .wpcf7 { color: var(--cbs-fg-2, rgba(255,255,255,.82)); }
.cbs-pg__form .wpcf7 p { margin: 0 0 16px; font-family: var(--cbs-font-body, 'Inter', sans-serif); }
.cbs-pg__form .wpcf7 label { display: block; font-family: var(--cbs-font-mono, monospace); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--cbs-fg-4, rgba(255,255,255,.42)); margin-bottom: 8px; }
.cbs-pg__form .wpcf7 input[type=text], .cbs-pg__form .wpcf7 input[type=email], .cbs-pg__form .wpcf7 input[type=tel], .cbs-pg__form .wpcf7 textarea, .cbs-pg__form .wpcf7 select {
  width: 100%; background: var(--cbs-bg-2, #161b22) !important; border: 1px solid var(--cbs-line-strong, #3a4250) !important; border-radius: var(--cbs-r-2, 4px) !important; color: var(--cbs-fg-1, #fff) !important; font-family: var(--cbs-font-body, 'Inter', sans-serif); font-size: 15px; padding: 13px 15px !important; box-shadow: none !important; }
.cbs-pg__form .wpcf7 input:focus, .cbs-pg__form .wpcf7 textarea:focus { outline: none !important; border-color: var(--cbs-edge, #6cbde0) !important; }
.cbs-pg__form .wpcf7 textarea { min-height: 130px; resize: vertical; }
.cbs-pg__form .wpcf7 ::placeholder { color: var(--cbs-fg-4, rgba(255,255,255,.42)); }
.cbs-pg__form .wpcf7-submit { width: 100%; background: var(--cbs-fg-1, #fff) !important; color: #06080b !important; font-family: var(--cbs-font-mono, monospace) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: .14em !important; text-transform: uppercase !important; border: 0 !important; border-radius: var(--cbs-r-2, 4px) !important; padding: 16px !important; cursor: pointer; transition: transform .18s var(--cbs-ease); }
.cbs-pg__form .wpcf7-submit:hover { transform: translateY(-2px); }
.cbs-pg__form .wpcf7-response-output { border-radius: var(--cbs-r-2, 4px); font-size: 14px; }

/* FAQ accordion (native <details>) */
.cbs-faq { display: flex; flex-direction: column; gap: 12px; max-width: 860px; }
.cbs-faq__item { background: var(--cbs-bg-1, #0e1116); border: 1px solid var(--cbs-line, rgba(255,255,255,.08)); border-radius: var(--cbs-r-3, 8px); overflow: hidden; transition: border-color .2s var(--cbs-ease); }
.cbs-faq__item[open] { border-color: var(--cbs-line-strong, #3a4250); }
.cbs-faq__q { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 24px; font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400; font-size: clamp(16px, 2vw, 20px); letter-spacing: .01em; text-transform: uppercase; color: var(--cbs-fg-1, #fff); }
.cbs-faq__q::-webkit-details-marker { display: none; }
.cbs-faq__q::after { content: '+'; font-family: var(--cbs-font-body, sans-serif); font-size: 26px; line-height: 1; color: var(--cbs-edge, #6cbde0); flex: 0 0 auto; transition: transform .25s var(--cbs-ease); }
.cbs-faq__item[open] .cbs-faq__q::after { transform: rotate(45deg); }
.cbs-faq__a { padding: 0 24px 24px; font-family: var(--cbs-font-body, 'Inter', sans-serif); font-size: 15px; line-height: 1.7; color: var(--cbs-fg-3, rgba(255,255,255,.62)); }
.cbs-faq__a p { margin: 0 0 12px; }
.cbs-faq__a ul { margin: 0; padding-left: 20px; }
.cbs-faq__a li { margin-bottom: 8px; }
.cbs-faq__a strong { color: var(--cbs-fg-1, #fff); }

/* policy / doc sections */
.cbs-doc { display: flex; flex-direction: column; gap: 14px; max-width: none; }
.cbs-doc__section { background: var(--cbs-bg-1, #0e1116); border: 1px solid var(--cbs-line, rgba(255,255,255,.08)); border-radius: var(--cbs-r-3, 8px); padding: 26px 28px; }
.cbs-doc__n { display: block; font-family: var(--cbs-font-mono, monospace); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--cbs-edge, #6cbde0); margin: 0 0 10px; }
.cbs-doc__h { font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400; font-size: clamp(20px, 2.6vw, 26px); text-transform: uppercase; letter-spacing: .01em; color: var(--cbs-fg-1, #fff); margin: 0 0 12px; }
.cbs-doc__section p { font-family: var(--cbs-font-body, 'Inter', sans-serif); font-size: 15px; line-height: 1.7; color: var(--cbs-fg-3, rgba(255,255,255,.62)); margin: 0 0 12px; }
.cbs-doc__section p:last-child { margin-bottom: 0; }
.cbs-doc__section ul { margin: 0; padding-left: 20px; }
.cbs-doc__section li { font-family: var(--cbs-font-body, 'Inter', sans-serif); font-size: 15px; line-height: 1.7; color: var(--cbs-fg-3, rgba(255,255,255,.62)); margin-bottom: 8px; }
.cbs-doc__section a { color: var(--cbs-edge, #6cbde0); text-decoration: none; }
.cbs-doc__section a:hover { text-decoration: underline; }
.cbs-doc__section strong { color: var(--cbs-fg-1, #fff); font-weight: 600; }
.cbs-doc__addr { font-family: var(--cbs-font-mono, monospace); font-size: 13px; line-height: 1.6; color: var(--cbs-fg-2, rgba(255,255,255,.82)); background: var(--cbs-bg-2, #161b22); border-left: 2px solid var(--cbs-edge, #6cbde0); padding: 14px 16px; border-radius: 0 4px 4px 0; white-space: pre-line; }

/* shared CTA strip */
.cbs-pg__cta { margin-top: 36px; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; background: var(--cbs-bg-1, #0e1116); border: 1px solid var(--cbs-line-strong, #3a4250); border-radius: var(--cbs-r-3, 8px); padding: 24px 28px; }
.cbs-pg__cta-txt { font-family: var(--cbs-font-body, 'Inter', sans-serif); font-size: 15px; color: var(--cbs-fg-2, rgba(255,255,255,.82)); margin: 0; }
.cbs-pg__cta-txt strong { color: var(--cbs-fg-1, #fff); }
.cbs-pg__btn { display: inline-flex; align-items: center; gap: 9px; background: var(--cbs-fg-1, #fff); color: #06080b; font-family: var(--cbs-font-mono, monospace); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; padding: 13px 22px; border-radius: var(--cbs-r-2, 4px); transition: transform .18s var(--cbs-ease); }
.cbs-pg__btn:hover { transform: translateY(-2px); color: #06080b; }

@media (max-width: 820px) {
  .cbs-pg { padding: 80px 18px 140px; }
  .cbs-pg__contact { grid-template-columns: 1fr; gap: 26px; }
  .cbs-pg__form { padding: 22px; }
  .cbs-pg__cta { flex-direction: column; align-items: flex-start; }
}

/* custom page templates break out of .site-content -> collapse its empty min-height so the CBS page starts at the top */
body.page-template-contact-page-template .site-content, body.page-template-faq-page-template .site-content { min-height: 0 !important; }

/* ===== End CBS-PAGES-V1 ===== */

/* ===== CBS-CARD-FILL-V1 -- boarding-pass content fills the card (TASK 1, all viewports) ===== */
/* Root cause: body.archive article{padding:22px} (a blog/archive rule) leaked onto the
   product-card <article> on shop/category/search, insetting .cbs-bp__inner 22px inside the
   SVG boarding-pass outline. Zeroing the padding makes the inner fill the full card box. */
.cbs-card.cbs-card--bp { padding: 0 !important; }
/* ===== /CBS-CARD-FILL-V1 ===== */

/* ===== CBS-MOBILE-V1 -- phone-only polish (~360-414px). Every rule gated behind a max-width media query; desktop/tablet >600px is untouched. ===== */

  /* NAV: restore the floating nav on tablet + phone. A legacy pre-NAV-V2 rule
     `@media(max-width:1023px){.cbs-nav{display:none}}` (style.css ~9196) was hard-hiding the
     ENTIRE nav on every screen <=1023px, even though CBS-NAV-V2 ships a full mobile nav
     (corner pill w/ logo+cart+hamburger, a full-width hamburger drawer, and the bottom search
     pill). This restores it; the nav's own <=1023 rules then lay it out for mobile. */
  @media (max-width: 1023px){
    .cbs-nav { display: flex !important; }
  }

@media (max-width: 600px){

  /* Safety net: never let a stray wide child (Bootstrap .row negative margins, a slightly
     oversized image) create a horizontal scrollbar on a phone. Use clip (not hidden) so the
     body does not become a scroll container and break position:sticky/fixed. */
  body.cbs-body { overflow-x: clip !important; }

  /* HOME HERO (mobile redesign): a centered vertical stack -- heading -> broken wall + product
     -> buttons (the brand button shows the brand's flag as its background) -> stats. The flag
     rail is removed (flags moved onto the button). The desktop hero is a JS animation: the
     product slides through a wall hole (#wallHole, desktop-only >=921px) via a "conveyor", so
     a JS hook in niceblog MOVES that real hole composition into the .art slot on phones; the
     rules below center + enlarge the hole and shrink the product to fit. Text fades are
     disabled so the headline/buttons/stats are always solid. */
  body.home .cbs-hero .wrap { display:flex !important; flex-direction:column !important; align-items:center !important; text-align:center !important; gap:10px !important; padding:96px 16px 44px !important; }
  body.home .cbs-hero .copy { display:contents !important; }
  body.home .cbs-hero h1 { order:1 !important; text-align:center !important; width:100%; }
  body.home .cbs-hero .lead { display:none !important; }
  body.home .cbs-hero .art { order:2 !important; grid-column:auto !important; grid-row:auto !important; position:relative !important; left:auto !important; top:auto !important; transform:none !important; margin:0 auto !important; width:100% !important; min-height:400px !important; display:flex !important; align-items:center !important; justify-content:center !important; overflow:visible !important; opacity:1 !important; }
  body.home .cbs-hero .cta { order:3 !important; display:flex !important; flex-direction:row !important; justify-content:center !important; gap:8px !important; width:100%; max-width:336px; margin-top:4px !important; }
  body.home .cbs-hero .cta .btn { flex:1 1 0 !important; min-width:0 !important; justify-content:center !important; padding:12px 8px !important; font-size:11.5px !important; margin:0 !important; overflow:hidden; border-radius:8px; }
  body.home .cbs-hero .stats { order:4 !important; display:flex !important; flex-wrap:wrap !important; justify-content:center !important; margin:6px auto 0 !important; max-width:340px; }
  body.home .cbs-hero__brand-rail-wrap { display:none !important; }
  /* Real broken-wall composition, scaled as ONE coherent unit. The niceblog JS hook moves the
     whole art -- brick wall (.hero-wall/+__bg), both crack layers, #wallHole (conveyor+product
     inside), and the debris (.pieces) -- into a .cbs-mob-art wrapper in the .art slot. Every
     layer is centered on the wrapper and sized in proportion to a ~250px hole, so the wall +
     cracks + debris + product all scale + sit together (instead of the wall/debris staying
     full-hero). The debris cloud (.piece positions cluster ~65%) is nudged left so it orbits
     the centered hole. The conveyor is pinned settled so the product stays visible while the
     brands auto-cycle (the cycle still swaps product + headline + buttons + stats). */
  body.home .cbs-hero .cbs-mob-art { position:relative !important; width:380px !important; height:400px !important; }
  body.home .cbs-hero .cbs-mob-art #wallHole,
  body.home .cbs-hero .cbs-mob-art .hero-wall__cracks,
  body.home .cbs-hero .cbs-mob-art .hero-wall__cracks-bg,
  body.home .cbs-hero .cbs-mob-art .hero-wall__glow,
  body.home .cbs-hero .cbs-mob-art .hero-wall,
  body.home .cbs-hero .cbs-mob-art .hero-wall__bg { left:50% !important; top:50% !important; right:auto !important; bottom:auto !important; transform:translate(-50%,-50%) !important; }
  body.home .cbs-hero .cbs-mob-art #wallHole { width:300px !important; max-width:300px !important; height:300px !important; }
  body.home .cbs-hero .cbs-mob-art .hero-wall__cracks { width:520px !important; max-width:520px !important; height:525px !important; }
  body.home .cbs-hero .cbs-mob-art .hero-wall__cracks-bg { width:390px !important; max-width:390px !important; height:393px !important; }
  body.home .cbs-hero .cbs-mob-art .hero-wall__glow { width:340px !important; max-width:340px !important; height:340px !important; }
  body.home .cbs-hero .cbs-mob-art .hero-wall { width:640px !important; height:640px !important; }
  body.home .cbs-hero .cbs-mob-art .hero-wall__bg { width:680px !important; height:auto !important; }
  /* debris at full opacity (was see-through), enlarged + nudged so it orbits the centered hole */
  body.home .cbs-hero .cbs-mob-art .pieces { opacity:1 !important; width:560px !important; height:560px !important; left:50% !important; top:50% !important; right:auto !important; bottom:auto !important; transform:translate(-58%,-50%) !important; }
  /* conveyor NOT pinned -- the desktop slide-through-the-hole animation (rAF-driven) drives it,
     so the product motion matches desktop; only its size is set to fit the mobile hole. */
  body.home .cbs-hero .cbs-mob-art .conveyor { width:260px !important; height:260px !important; }
  /* product keeps the desktop float/bob animation; sized to fill the hole (edges clipped by the ellipse) */
  body.home .cbs-hero .cbs-mob-art .conveyor .product { max-height:92% !important; max-width:92% !important; margin:auto !important; }
  /* nav arrows -- the niceblog hook moves .cbs-hero__brand-rail-wrap into .art; flank the hole */
  body.home .cbs-hero .art .cbs-hero__brand-rail-wrap { display:flex !important; position:absolute !important; left:0 !important; right:0 !important; top:50% !important; transform:translateY(-50%) !important; width:100% !important; height:auto !important; align-items:center !important; justify-content:space-between !important; z-index:30 !important; pointer-events:none !important; padding:0 2px !important; margin:0 !important; }
  body.home .cbs-hero .art .cbs-hero__brand-rail-wrap .cbs-hero__brand-rail,
  body.home .cbs-hero .art .cbs-hero__brand-rail-wrap #heroBrandTrack { display:none !important; }
  body.home .cbs-hero .art .cbs-hero__brand-rail-nav { display:flex !important; align-items:center; justify-content:center; pointer-events:auto !important; position:relative !important; opacity:1 !important; visibility:visible !important; width:42px !important; height:42px !important; border-radius:50% !important; background:rgba(13,16,20,.7) !important; border:1px solid rgba(255,255,255,.18) !important; color:#fff !important; -webkit-backdrop-filter:blur(8px) !important; backdrop-filter:blur(8px) !important; font-size:18px !important; z-index:31 !important; }
  body.home .cbs-hero #btnSecondary.cbs-has-flag { background-size:cover !important; background-position:center !important; color:#fff !important; border:0 !important; position:relative; }
  body.home .cbs-hero #btnSecondary.cbs-has-flag > span { position:relative; z-index:2; text-shadow:0 1px 5px rgba(0,0,0,.9); }
  body.home .cbs-hero #btnSecondary.cbs-has-flag::before { content:""; position:absolute; inset:0; background:rgba(0,0,0,.42); z-index:1; }
  body.home .cbs-hero .pieces { opacity:1 !important; }
  /* CBS-MOBILE-V3 2026-07-09: the old "force text solid" override (opacity:1!important on
     .h1line/.btn span/.stat .n/.l/.stats/.stat) was REMOVED here — it blocked the desktop rAF
     fade cascade (swaps SNAPPED on phones) AND suppressed the .rise load-in entrance. Mobile now
     fades + rises exactly like desktop; text is load-gated until body.is-ready (window load),
     same as desktop. A prefers-reduced-motion guard at the end of CBS-MOBILE-V3 restores the
     always-solid behavior for users who opted out of motion. */

  /* 404: h1.page-title inherits Anton at 120px -> one word per line, overflowing the screen.
     Scale it to a readable size and keep the default WP search form inside the viewport. */
  body.error404 .page-title { font-size: clamp(38px, 12.5vw, 56px) !important; line-height: 1.04 !important; }
  body.error404 .error-404 { padding-left: 6px !important; padding-right: 6px !important; }
  body.error404 .search-form { display: flex !important; flex-wrap: wrap; gap: 8px; max-width: 100% !important; }
  body.error404 .search-form .search-field,
  body.error404 .search-form label { flex: 1 1 140px; min-width: 0 !important; max-width: 100%; }
  body.error404 .search-form .search-submit { flex: 0 0 auto; }

  /* BLOG archive: the featured-post image ran ~18px past its card edge. */
  .cbs-blog__featured-media,
  .cbs-blog__featured-media img,
  .cbs-blog__featured img { max-width: 100% !important; }

  /* WISHLIST: in the 2-col grid the price/status row (.cbs-wl__row, flex nowrap, ~148px)
     clips the stock badge for longer prices. Let it wrap so price + badge stack instead. */
  .cbs-wl__row { flex-wrap: wrap !important; row-gap: 3px; }
}
/* ===== /CBS-MOBILE-V1 ===== */

/* ===== CBS-FIXES-2026-06-23 ===== */
/* #6 Footer: trim the excessive empty space below the last footer content. */
.cbs-footer .cbs-footer__inner{ padding-bottom:48px !important; }
/* #4 Blog archive: bigger grid cards; a lone non-featured post takes the full-width horizontal
   (media | body) layout like the featured hero instead of a tiny centered 400px card. */
.cbs-blog-grid{ align-items:stretch !important; }
.cbs-blog-grid .cbs-blog-card{ flex:1 1 360px !important; max-width:560px !important; }
.cbs-blog-grid .cbs-blog-card:only-child{ flex:1 1 100% !important; max-width:none !important; display:grid !important; grid-template-columns:1.05fr 1fr !important; align-items:stretch !important; }
.cbs-blog-grid .cbs-blog-card:only-child .cbs-blog-card__media{ height:100% !important; aspect-ratio:auto !important; }
.cbs-blog-grid .cbs-blog-card:only-child .cbs-blog-card__media img{ height:100% !important; width:100% !important; object-fit:cover !important; }
/* #1 OOS product: a SELECTED option that is also out of stock kept the white selected background
   (.is-sel) while .is-dead only faded the text -> faded-white on white = invisible "grey box".
   Out-specify so selected+dead/na options show their struck-through label. */
html body article.cbs-prod[data-pid] .cbs-pv-sw.is-sel.is-dead,
html body article.cbs-prod[data-pid] .cbs-pv-sw.is-sel.is-na{ background:#15191f !important; color:var(--pv-f4,rgba(255,255,255,0.45)) !important; border-color:rgba(255,255,255,0.28) !important; }
/* #1 OOS: the disabled Add-to-cart rendered as a bright grey box; make it read as disabled. */
html body article.cbs-prod[data-pid] .single_add_to_cart_button.disabled{ background:rgba(255,255,255,0.05) !important; color:rgba(255,255,255,0.45) !important; border:1px solid rgba(255,255,255,0.12) !important; cursor:not-allowed !important; }
/* #3 Athletes: 2-row grid (3 per row) instead of a horizontal scroll rail; an open card spans
   2 columns so its bio panel sits beside the photo. First card of each row opens by default (JS). */
@media (min-width:861px){
  .cbs-ath__rail{ display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:18px !important; overflow:visible !important; }
  .cbs-ath__rail .cbs-ath{ width:auto !important; max-width:none !important; flex:none !important; }
  .cbs-ath__rail .cbs-ath.is-open{ grid-column:span 2 !important; }
}
/* #3 Athletes: equalise the Read-more and Instagram action buttons. */
.cbs-ath__actions .cbs-ath__more, .cbs-ath__actions .cbs-ath__insta{ height:38px !important; box-sizing:border-box !important; }
.cbs-ath__actions .cbs-ath__insta{ width:38px !important; }
/* #5 Apparel filter: gender tabs + sub-legends in the filter drawer. */
.cbs-app__tabs{ display:flex; gap:6px; margin:0 0 6px; flex-wrap:wrap; }
.cbs-app__tab{ flex:1 1 auto; min-width:62px; padding:8px 10px; border-radius:8px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.03); color:var(--cbs-fg-2,rgba(255,255,255,.7)); font-family:var(--cbs-font-mono,"JetBrains Mono",monospace); font-size:11px; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; transition:background .14s ease,color .14s ease,border-color .14s ease; }
.cbs-app__tab:hover{ color:#fff; border-color:rgba(74,163,204,.45); }
.cbs-app__tab.is-active{ background:var(--cbs-brand,#4aa3cc); border-color:var(--cbs-brand,#4aa3cc); color:#06080b; font-weight:600; }
.cbs-app__sub{ margin-top:16px !important; }
/* #7 Stack/bundle products: style the custom .stack-section options (raw radios) to match the
   native .cbs-pv-sw variation swatches so stack product pages look consistent with CBS-PROD-V6. */
.stack-section{ margin:4px 0 10px; }
.stack-title{ font-family:var(--pv-mono,monospace); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--pv-f3,rgba(255,255,255,.55)); margin:0 0 16px; }
.stack-product-box{ margin:0 0 16px; }
.stack-product-box h4{ font-family:var(--pv-mono,monospace); font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--pv-f1,#fff); margin:0 0 9px; font-weight:600; }
.variations-grid{ display:flex; flex-wrap:wrap; gap:8px; }
.stack-radio{ position:absolute !important; opacity:0 !important; width:0 !important; height:0 !important; pointer-events:none !important; }
.stack-option{ display:inline-flex; align-items:center; justify-content:center; padding:10px 15px; font-family:var(--pv-mono,monospace); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--pv-f2,rgba(255,255,255,.82)); background:var(--pv-bg2,#161b22); border:1px solid var(--pv-line2,#3a4250); border-radius:var(--cbs-r-2,4px); cursor:pointer; line-height:1; transition:border-color .18s,background .18s,color .18s; }
.stack-option:hover{ border-color:var(--pv-cyan,#6cbde0); }
.stack-option:has(.stack-radio:checked){ background:var(--pv-f1,#fff); color:#06080b; border-color:var(--pv-f1,#fff); }
.stack-option[data-in-stock="false"]{ opacity:.38; text-decoration:line-through; cursor:not-allowed; }
/* #9 Qty counter: the qty-plugin forces height:50% on our .qty-btn stepper buttons, defeating
   align-self:stretch so the - / + rendered at 23px, top-aligned. Force full height + centered. */
html body article.cbs-prod[data-pid] .quantity .qty-btn{ height:48px !important; align-self:stretch !important; }
/* #9 Sale price: the parent theme gave <ins> (the sale amount) a grey background box; clear it. */
html body article.cbs-prod[data-pid] .cbs-pv-price ins{ background:transparent !important; text-decoration:none !important; }
/* #10 Cart stack items: per-item picks rendered as huge 999px-radius pill blobs -> compact list. */
.cbs-cart__row .variation{ display:grid !important; grid-template-columns:max-content 1fr !important; gap:4px 12px !important; align-items:baseline !important; margin:8px 0 0 !important; max-width:440px; }
.cbs-cart__row .variation dt{ grid-column:1 !important; float:none !important; margin:0 !important; font-family:var(--cbs-font-mono,'JetBrains Mono',monospace) !important; font-size:9px !important; letter-spacing:.1em !important; text-transform:uppercase !important; color:rgba(255,255,255,.42) !important; font-weight:500 !important; white-space:nowrap !important; }
.cbs-cart__row .variation dd{ grid-column:2 !important; background:transparent !important; border:0 !important; border-radius:0 !important; padding:0 !important; margin:0 !important; }
.cbs-cart__row .variation dd p{ margin:0 !important; font-size:12px !important; line-height:1.35 !important; color:rgba(255,255,255,.82) !important; }
/* #11 Stack product page: hide redundant "Selected Items:" summary + "X in stock" count + green IN STOCK badge (keep SOLD OUT). */
html body article.cbs-prod[data-pid] .stack-saved,
html body article.cbs-prod[data-pid] .stack-saved-items{ display:none !important; }
html body article.cbs-prod[data-pid] .cbs-pv-buy .stock.in-stock{ display:none !important; }
html body article.cbs-prod[data-pid] .cbs-pv-stock.is-in{ display:none !important; }
/* ===== /CBS-FIXES-2026-06-23 ===== */

/* ===== CBS-AFFILIATE ===== */
/* Ambassador dashboard (/affiliate-account/, SliceWP) rebuilt in the CBS language. Scoped body.page-id-601. CSS-only, no plugin-core edits. */

/* ---- frame + header (clear the fixed corner nav pill) ---- */
body.page-id-601 .entry-content{ max-width:1240px; margin:0 auto; padding:0 clamp(18px,4vw,34px) 160px; }
body.page-id-601 .entry-header{ max-width:1240px; margin:0 auto; padding:clamp(58px,7vh,90px) clamp(18px,4vw,34px) 16px; }
body.page-id-601 .entry-title{
  font-family:var(--cbs-font-display,"Anton",sans-serif); font-weight:400; letter-spacing:.012em; line-height:.92;
  font-size:clamp(34px,4.4vw,54px); text-transform:uppercase; color:var(--cbs-fg-1,#fff); margin:0 !important;
}
body.page-id-601 .entry-title::before{
  content:"CBS / LEGION PROGRAM"; display:block; margin:0 0 10px;
  font-family:var(--cbs-font-mono,"JetBrains Mono",monospace); font-weight:600; font-size:11px;
  letter-spacing:.32em; text-transform:uppercase; color:var(--cbs-brand-strong,#6cbde0);
}
body.page-id-601 .entry-title::after{ content:"."; color:var(--cbs-brand-strong,#6cbde0); }

/* ---- tab nav ---- */
body.page-id-601 #slicewp-affiliate-account-nav-tab{ margin:8px 0 34px; border-bottom:1px solid var(--cbs-line,rgba(255,255,255,.08)); overflow-x:auto; }
body.page-id-601 .slicewp-nav-tab-wrapper{ display:flex; flex-wrap:wrap; gap:0 4px; list-style:none; margin:0; padding:0; }
body.page-id-601 .slicewp-nav-tab-wrapper li{ margin:0; list-style:none; }
body.page-id-601 .slicewp-nav-tab{ display:flex; margin:0; border:0; border-bottom:2px solid transparent; background:none; transition:border-color .2s ease; }
body.page-id-601 .slicewp-nav-tab a{
  display:inline-flex; align-items:center; gap:9px; padding:13px 14px !important; text-decoration:none !important; white-space:nowrap;
  font-family:var(--cbs-font-body,"Inter",sans-serif) !important; font-weight:600 !important; font-size:12.5px !important; letter-spacing:.05em; text-transform:uppercase;
  color:var(--cbs-fg-3,rgba(255,255,255,.52)) !important; transition:color .2s var(--cbs-ease,ease);
}
body.page-id-601 .slicewp-nav-tab svg{ width:16px; height:16px; fill:none !important; stroke:currentColor !important; stroke-width:2; opacity:.85; flex-shrink:0; }
body.page-id-601 .slicewp-nav-tab svg *{ fill:none !important; stroke:currentColor !important; }
body.page-id-601 .slicewp-nav-tab a:hover{ color:var(--cbs-fg-1,#fff) !important; }
body.page-id-601 .slicewp-nav-tab.slicewp-active{ border-bottom-color:var(--cbs-brand-strong,#6cbde0); }
body.page-id-601 .slicewp-nav-tab.slicewp-active a{ color:var(--cbs-fg-1,#fff) !important; }

/* ---- section eyebrow headings (All time / Program details) ---- */
body.page-id-601 .slicewp-section-heading{
  display:flex; align-items:center; gap:16px; margin:38px 0 16px;
  font-family:var(--cbs-font-mono,"JetBrains Mono",monospace); font-size:12px; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase; color:var(--cbs-fg-4,rgba(255,255,255,.5));
}
body.page-id-601 .slicewp-section-heading::after{ content:""; flex:1; height:1px; background:var(--cbs-line,rgba(255,255,255,.08)); }

/* ---- filters toolbar (dashboard + list-table tabs) ---- */
body.page-id-601 .slicewp-affiliate-dashboard-filters,
body.page-id-601 .slicewp-list-table-filters{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:0 0 22px; }
body.page-id-601 .slicewp-list-table-before{ margin:0; }
body.page-id-601 .slicewp-list-table-filters input[type=text],
body.page-id-601 .slicewp-list-table-filters input[type=search]{ flex:0 1 240px; }
body.page-id-601 .slicewp-date-picker-input{
  display:inline-flex; align-items:center; white-space:nowrap; cursor:pointer; background:var(--cbs-bg-2,#161b22) !important; color:var(--cbs-fg-2,rgba(255,255,255,.82)) !important;
  border:1px solid var(--cbs-line-strong,#3a4250) !important; border-radius:10px; overflow:hidden; font-family:var(--cbs-font-mono,"JetBrains Mono",monospace); font-size:12px;
}
body.page-id-601 .slicewp-date-picker-input svg{ margin:0 8px; opacity:.6; flex-shrink:0; }
body.page-id-601 .slicewp-date-picker-input *{ color:var(--cbs-fg-2,rgba(255,255,255,.82)) !important; }
body.page-id-601 .slicewp-date-picker-input-date-range{ white-space:nowrap; background:rgba(108,189,224,.1); color:var(--cbs-brand-strong,#6cbde0) !important; padding:10px 13px; border-right:1px solid var(--cbs-line-strong,#3a4250); letter-spacing:.06em; }
body.page-id-601 .slicewp-date-picker-input-dates{ white-space:nowrap; padding:10px 14px; }

/* ---- date-range CALENDAR (litepicker) full redesign ---- */
body.page-id-601 .slicewp-date-picker-modal{ background:var(--cbs-bg-2,#161b22) !important; border:1px solid var(--cbs-line-strong,#3a4250) !important; border-radius:14px; box-shadow:0 24px 60px rgba(0,0,0,.6); overflow:hidden; }
body.page-id-601 .slicewp-litepicker,
body.page-id-601 .slicewp-litepicker .container__months{ background:transparent !important; border:0 !important; box-shadow:none !important; }
body.page-id-601 .slicewp-date-picker-predefined-date-ranges{ background:rgba(255,255,255,.02) !important; border:0 !important; border-right:1px solid var(--cbs-line,rgba(255,255,255,.08)) !important; border-radius:0 !important; padding:10px; min-width:160px; }
body.page-id-601 .slicewp-date-picker-predefined-date-range{ padding:9px 14px; border-radius:8px; font-family:var(--cbs-font-body,"Inter",sans-serif); font-size:13px; color:var(--cbs-fg-2,rgba(255,255,255,.75)) !important; cursor:pointer; transition:background .15s, color .15s; }
body.page-id-601 .slicewp-date-picker-predefined-date-range:hover{ background:rgba(108,189,224,.14) !important; color:var(--cbs-brand-strong,#6cbde0) !important; }
body.page-id-601 .slicewp-litepicker{ padding:12px 16px; }
body.page-id-601 .slicewp-litepicker .month-item-name{ font-family:var(--cbs-font-display,"Anton",sans-serif) !important; font-weight:400 !important; font-size:17px !important; color:var(--cbs-fg-1,#fff) !important; text-transform:uppercase; letter-spacing:.02em; }
body.page-id-601 .slicewp-litepicker .month-item-year{ color:var(--cbs-fg-3,rgba(255,255,255,.55)) !important; font-family:var(--cbs-font-mono,"JetBrains Mono",monospace); font-size:13px; }
body.page-id-601 .slicewp-litepicker .month-item-weekdays-row > div{ color:var(--cbs-fg-4,rgba(255,255,255,.4)) !important; font-family:var(--cbs-font-mono,"JetBrains Mono",monospace); font-size:10px; letter-spacing:.04em; text-transform:uppercase; }
body.page-id-601 .slicewp-litepicker .button-previous-month,
body.page-id-601 .slicewp-litepicker .button-next-month{ color:var(--cbs-fg-2,rgba(255,255,255,.8)) !important; border-radius:7px; transition:background .15s; }
body.page-id-601 .slicewp-litepicker .button-previous-month:hover,
body.page-id-601 .slicewp-litepicker .button-next-month:hover{ background:rgba(255,255,255,.08) !important; color:#fff !important; }
body.page-id-601 .slicewp-litepicker .button-previous-month svg,
body.page-id-601 .slicewp-litepicker .button-next-month svg{ fill:currentColor !important; }
body.page-id-601 .slicewp-litepicker .day-item{ color:var(--cbs-fg-2,rgba(255,255,255,.82)) !important; border-radius:7px; font-family:var(--cbs-font-body,"Inter",sans-serif); font-size:13px; transition:background .12s, color .12s; }
body.page-id-601 .slicewp-litepicker .day-item:hover{ box-shadow:none !important; background:rgba(108,189,224,.18) !important; color:#fff !important; }
body.page-id-601 .slicewp-litepicker .day-item.is-today{ color:var(--cbs-brand-strong,#6cbde0) !important; font-weight:700; }
body.page-id-601 .slicewp-litepicker .day-item.is-in-range{ background:rgba(108,189,224,.13) !important; color:#fff !important; border-radius:0; }
body.page-id-601 .slicewp-litepicker .day-item.is-start-date,
body.page-id-601 .slicewp-litepicker .day-item.is-end-date{ background:var(--cbs-brand-strong,#6cbde0) !important; color:#04121a !important; font-weight:700; }
body.page-id-601 .slicewp-litepicker .day-item.is-start-date{ border-radius:7px 0 0 7px; }
body.page-id-601 .slicewp-litepicker .day-item.is-end-date{ border-radius:0 7px 7px 0; }
body.page-id-601 .slicewp-litepicker .day-item.is-locked{ color:var(--cbs-fg-5,rgba(255,255,255,.2)) !important; }

/* ---- grids ---- */
body.page-id-601 .slicewp-grid{ display:grid; gap:16px; }
body.page-id-601 .slicewp-grid-affiliate-dashboard-last-30-days{ grid-template-columns:repeat(3,1fr); }
body.page-id-601 .slicewp-grid-affiliate-dashboard-all-time{ grid-template-columns:repeat(4,1fr); }
body.page-id-601 .slicewp-grid-affiliate-dashboard-program-details{ grid-template-columns:repeat(2,1fr); }

/* ---- KPI / stat cards (glass + accent + hover) ---- */
body.page-id-601 .slicewp-card{
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.012)), var(--cbs-bg-1,#0e1116) !important;
  border:1px solid var(--cbs-line,rgba(255,255,255,.08)) !important; border-radius:14px !important;
  position:relative; overflow:hidden; box-shadow:0 1px 0 rgba(255,255,255,.04) inset; transition:border-color .25s var(--cbs-ease,ease), transform .25s var(--cbs-ease,ease), box-shadow .25s var(--cbs-ease,ease);
}
body.page-id-601 .slicewp-card-affiliate-dashboard::before{
  content:""; position:absolute; inset:0 0 auto 0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(108,189,224,.55), transparent); opacity:0; transition:opacity .25s ease;
}
body.page-id-601 .slicewp-card-affiliate-dashboard:hover{ border-color:rgba(108,189,224,.42) !important; transform:translateY(-3px); box-shadow:0 16px 36px rgba(0,0,0,.45); }
body.page-id-601 .slicewp-card-affiliate-dashboard:hover::before{ opacity:1; }
body.page-id-601 .slicewp-card-inner{ padding:22px 24px 18px !important; background:none !important; }
body.page-id-601 .slicewp-card-title{
  font-family:var(--cbs-font-mono,"JetBrains Mono",monospace); font-size:11px; letter-spacing:.15em;
  text-transform:uppercase; color:var(--cbs-fg-4,rgba(255,255,255,.45)); margin:0 0 12px; font-weight:600;
}
body.page-id-601 .slicewp-kpi-value{
  display:flex; align-items:center; justify-content:flex-start; gap:12px; margin-top:6px;
  font-family:var(--cbs-font-display,"Anton",sans-serif) !important; font-weight:400 !important; letter-spacing:.01em; line-height:1 !important;
  font-size:clamp(40px,4vw,56px) !important; color:var(--cbs-fg-1,#fff);
}
body.page-id-601 .slicewp-grid-affiliate-dashboard-all-time .slicewp-kpi-value{ font-size:clamp(30px,3vw,42px) !important; }
body.page-id-601 .slicewp-kpi-direction{ display:none !important; }
body.page-id-601 .slicewp-card-footer{
  border-top:1px solid var(--cbs-line,rgba(255,255,255,.08)); margin-top:0; padding:14px 24px; background:rgba(255,255,255,.018);
}
body.page-id-601 .slicewp-card-footer a{
  display:inline-flex; align-items:center; gap:7px; color:var(--cbs-brand-strong,#6cbde0); text-decoration:none;
  font-family:var(--cbs-font-mono,"JetBrains Mono",monospace); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase;
}
body.page-id-601 .slicewp-card-footer a::after{ content:""; width:6px; height:6px; border-top:1.5px solid currentColor; border-right:1.5px solid currentColor; transform:rotate(45deg); transition:transform .2s ease; margin-left:3px; }
body.page-id-601 .slicewp-card-footer a:hover::after{ transform:rotate(45deg) translate(2px,-2px); }

/* ---- program-details cards (cyan hero stats) ---- */
body.page-id-601 .slicewp-grid-affiliate-dashboard-program-details .slicewp-card-inner{ display:flex; align-items:center; justify-content:space-between; gap:16px; }
body.page-id-601 .slicewp-commission-rate-tag-sale,
body.page-id-601 [class*=slicewp-commission-rate-tag]{
  display:inline-block; background:rgba(108,189,224,.12); color:var(--cbs-brand-strong,#6cbde0); border:1px solid rgba(108,189,224,.42);
  border-radius:999px; padding:6px 16px; font-family:var(--cbs-font-mono,"JetBrains Mono",monospace); font-size:14px; letter-spacing:.04em; font-weight:600;
}

/* ---- chart card (header + plot grid so an empty chart still reads as designed) ---- */
body.page-id-601 .slicewp-card:not(.slicewp-card-affiliate-dashboard) .slicewp-card-inner{ padding:20px 24px 24px !important; }
body.page-id-601 .slicewp-chart-before{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; padding-bottom:16px; margin-bottom:18px; border-bottom:1px solid var(--cbs-line,rgba(255,255,255,.08)); }
body.page-id-601 .slicewp-chart-legend{ display:flex; gap:20px; flex-wrap:wrap; font-family:var(--cbs-font-mono,"JetBrains Mono",monospace); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--cbs-fg-2,rgba(255,255,255,.78)); align-items:center; }
body.page-id-601 .slicewp-chart-legend > *{ display:inline-flex; align-items:center; gap:8px; }
body.page-id-601 .slicewp-color-box{ width:11px; height:11px; border-radius:3px; }
body.page-id-601 .slicewp-chart{ position:relative; z-index:1; min-height:280px; }
body.page-id-601 .slicewp-chart-before + *{
  background-image:repeating-linear-gradient(to top, transparent, transparent 55px, rgba(255,255,255,.04) 55px, rgba(255,255,255,.04) 56px);
  border-radius:8px;
}
body.page-id-601 .slicewp-chart-time-unit-selector,
body.page-id-601 .slicewp-chart-time-unit-selector select{
  background:var(--cbs-bg-2,#161b22) !important; color:var(--cbs-fg-2,rgba(255,255,255,.82)) !important;
  border:1px solid var(--cbs-line-strong,#3a4250) !important; border-radius:8px !important;
  font-family:var(--cbs-font-mono,"JetBrains Mono",monospace); font-size:11px; letter-spacing:.08em; text-transform:uppercase; padding:8px 12px;
}

/* ---- referral link / copy field ---- */
body.page-id-601 .slicewp-field-label-wrapper{ color:var(--cbs-fg-3,rgba(255,255,255,.62)); font-family:var(--cbs-font-mono,"JetBrains Mono",monospace); font-size:11px; letter-spacing:.12em; text-transform:uppercase; margin-bottom:8px; display:block; }
body.page-id-601 .slicewp-field-description{ color:var(--cbs-fg-3,rgba(255,255,255,.55)); font-family:var(--cbs-font-body,"Inter",sans-serif); font-size:13px; margin:4px 0 10px; }
body.page-id-601 .slicewp-input-copy{ display:flex; align-items:stretch; background:var(--cbs-bg-2,#161b22); border:1px solid var(--cbs-line-strong,#3a4250); border-radius:10px; overflow:hidden; }
body.page-id-601 .slicewp-input-copy input,
body.page-id-601 .slicewp-affiliate-custom-link-input input,
body.page-id-601 .slicewp-affiliate-custom-link-output input{
  background:transparent !important; border:0 !important; color:var(--cbs-fg-1,#fff) !important;
  font-family:var(--cbs-font-mono,"JetBrains Mono",monospace); font-size:13px; padding:13px 16px; flex:1; box-shadow:none !important;
}
body.page-id-601 .slicewp-input-copy-label{ background:var(--cbs-fg-1,#fff); color:#000; cursor:pointer; font-family:var(--cbs-font-mono,"JetBrains Mono",monospace); font-size:11px; letter-spacing:.12em; text-transform:uppercase; padding:0 20px; display:flex; align-items:center; gap:7px; border:0; transition:opacity .2s; }
body.page-id-601 .slicewp-input-copy-label:hover{ opacity:.86; }
body.page-id-601 .slicewp-input-copy-label-copied{ background:var(--cbs-ok,#34c759); color:#04121a; }
body.page-id-601 .slicewp-button-primary.slicewp-button-view-qr-code{
  background:var(--cbs-bg-2,#161b22) !important; border:1px solid var(--cbs-line-strong,#3a4250) !important; color:var(--cbs-fg-2,rgba(255,255,255,.82)) !important;
  border-radius:10px; padding:12px 14px; margin-top:10px; font-family:var(--cbs-font-mono,"JetBrains Mono",monospace); font-size:11px; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; display:inline-flex; align-items:center; gap:7px;
}
body.page-id-601 .slicewp-button-primary.slicewp-button-view-qr-code:hover{ border-color:var(--cbs-brand-strong,#6cbde0) !important; color:var(--cbs-fg-1,#fff) !important; }

/* ---- buttons ---- */
body.page-id-601 .slicewp-button-primary,
body.page-id-601 .slicewp-generate-affiliate-link{
  background:var(--cbs-fg-1,#fff) !important; color:#000 !important; border:0 !important; border-radius:10px;
  font-family:var(--cbs-font-mono,"JetBrains Mono",monospace); font-size:12px; letter-spacing:.12em; text-transform:uppercase;
  padding:13px 24px; cursor:pointer; transition:transform .15s var(--cbs-ease,ease), opacity .2s ease; box-shadow:none;
}
body.page-id-601 .slicewp-button-primary:hover,
body.page-id-601 .slicewp-generate-affiliate-link:hover{ opacity:.88; transform:translateY(-1px); }

/* ---- generic links (not nav/cta/social) ---- */
body.page-id-601 .slicewp-affiliate-area a:not(.slicewp-nav-tab):not(.slicewp-button-primary):not(.slicewp-asos-platform):not(.slicewp-card-footer a){ color:var(--cbs-brand-strong,#6cbde0); }

/* ---- tables (commissions / visits / payouts) ---- */
body.page-id-601 .slicewp-affiliate-area table{
  width:100%; border-collapse:separate; border-spacing:0; background:var(--cbs-bg-1,#0e1116);
  border:1px solid var(--cbs-line,rgba(255,255,255,.08)); border-radius:14px; overflow:hidden; font-family:var(--cbs-font-body,"Inter",sans-serif);
}
body.page-id-601 .slicewp-affiliate-area table th{
  background:var(--cbs-bg-2,#161b22); color:var(--cbs-fg-4,rgba(255,255,255,.45)); font-family:var(--cbs-font-mono,"JetBrains Mono",monospace);
  font-size:10.5px; letter-spacing:.13em; text-transform:uppercase; text-align:left; padding:14px 18px; border-bottom:1px solid var(--cbs-line-strong,#3a4250); font-weight:600;
}
body.page-id-601 .slicewp-affiliate-area table td{ padding:15px 18px; color:var(--cbs-fg-2,rgba(255,255,255,.82)); font-size:14px; border-bottom:1px solid var(--cbs-line,rgba(255,255,255,.08)); }
body.page-id-601 .slicewp-affiliate-area table tr:last-child td{ border-bottom:0; }
body.page-id-601 .slicewp-affiliate-area table tbody tr:hover td{ background:rgba(255,255,255,.02); }

/* ---- settings form fields ---- */
body.page-id-601 .slicewp-affiliate-area input[type=text],
body.page-id-601 .slicewp-affiliate-area input[type=email],
body.page-id-601 .slicewp-affiliate-area input[type=number],
body.page-id-601 .slicewp-affiliate-area input[type=tel],
body.page-id-601 .slicewp-affiliate-area input[type=url],
body.page-id-601 .slicewp-affiliate-area select,
body.page-id-601 .slicewp-affiliate-area textarea{
  background:var(--cbs-bg-2,#161b22) !important; color:var(--cbs-fg-1,#fff) !important; border:1px solid var(--cbs-line-strong,#3a4250) !important;
  border-radius:10px !important; padding:12px 14px !important; font-family:var(--cbs-font-body,"Inter",sans-serif); font-size:14px; width:100%; max-width:560px; box-shadow:none !important;
}
body.page-id-601 .slicewp-affiliate-area input:focus,
body.page-id-601 .slicewp-affiliate-area select:focus,
body.page-id-601 .slicewp-affiliate-area textarea:focus{ border-color:var(--cbs-brand-strong,#6cbde0) !important; outline:none !important; }
body.page-id-601 .slicewp-field-wrapper{ margin:0 0 20px; }

/* ---- social share + notices ---- */
body.page-id-601 .slicewp-asos-wrapper{ margin-top:16px; }
body.page-id-601 .slicewp-asos-platform{ border-radius:9px; }
body.page-id-601 .slicewp-user-notice,
body.page-id-601 .slicewp-notice{ background:var(--cbs-bg-2,#161b22); border:1px solid var(--cbs-line-strong,#3a4250); border-radius:10px; padding:13px 16px; color:var(--cbs-fg-2,rgba(255,255,255,.82)); font-family:var(--cbs-font-body,"Inter",sans-serif); }
body.page-id-601 .slicewp-warning{ border-color:rgba(255,177,60,.5); }
body.page-id-601 .slicewp-error{ border-color:rgba(255,69,58,.5); }

/* ---- list-table: status pills, numeric cells, empty state, pagination ---- */
body.page-id-601 .slicewp-status-pill{ display:inline-block; padding:4px 12px; border-radius:999px; border:1px solid transparent; font-family:var(--cbs-font-mono,"JetBrains Mono",monospace); font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
body.page-id-601 .slicewp-status-paid{ background:rgba(52,199,89,.14); color:#5fd27e; border-color:rgba(52,199,89,.42); }
body.page-id-601 .slicewp-status-unpaid{ background:rgba(108,189,224,.14); color:var(--cbs-brand-strong,#6cbde0); border-color:rgba(108,189,224,.42); }
body.page-id-601 .slicewp-status-pending{ background:rgba(255,177,60,.14); color:#ffc46b; border-color:rgba(255,177,60,.42); }
body.page-id-601 .slicewp-status-rejected{ background:rgba(255,69,58,.14); color:#ff7a70; border-color:rgba(255,69,58,.42); }
body.page-id-601 .slicewp-column-id, body.page-id-601 .slicewp-column-amount{ font-family:var(--cbs-font-mono,"JetBrains Mono",monospace); }
body.page-id-601 td.slicewp-column-amount{ color:var(--cbs-fg-1,#fff); font-weight:600; }
body.page-id-601 .slicewp-list-table tbody td[colspan]{ text-align:center !important; padding:48px 20px !important; color:var(--cbs-fg-3,rgba(255,255,255,.5)) !important; font-family:var(--cbs-font-body,"Inter",sans-serif); font-size:14px; }
body.page-id-601 .slicewp-tab > p{ text-align:center; padding:60px 20px; color:var(--cbs-fg-3,rgba(255,255,255,.5)); font-family:var(--cbs-font-body,"Inter",sans-serif); font-size:14px; }
body.page-id-601 .slicewp-list-table-pagination{ display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-top:18px; font-family:var(--cbs-font-mono,"JetBrains Mono",monospace); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--cbs-fg-4,rgba(255,255,255,.45)); }
body.page-id-601 .slicewp-list-table-pagination a, body.page-id-601 .slicewp-list-table-pagination span.page-numbers{ color:var(--cbs-fg-3,rgba(255,255,255,.6)) !important; text-decoration:none; padding:6px 11px; border:1px solid var(--cbs-line,rgba(255,255,255,.08)); border-radius:7px; }
body.page-id-601 .slicewp-list-table-pagination a:hover{ border-color:var(--cbs-brand-strong,#6cbde0) !important; color:#fff !important; }
body.page-id-601 .slicewp-list-table-pagination .current{ background:var(--cbs-brand-strong,#6cbde0) !important; color:#04121a !important; border-color:var(--cbs-brand-strong,#6cbde0) !important; }

/* ---- responsive ---- */
@media (max-width:1000px){
  body.page-id-601 .slicewp-grid-affiliate-dashboard-all-time{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px){
  body.page-id-601 .slicewp-grid-affiliate-dashboard-last-30-days,
  body.page-id-601 .slicewp-grid-affiliate-dashboard-all-time,
  body.page-id-601 .slicewp-grid-affiliate-dashboard-program-details{ grid-template-columns:1fr; }
  body.page-id-601 .slicewp-nav-tab{ padding:11px 12px; font-size:11px; }
  body.page-id-601 .entry-title{ font-size:38px; }
  body.page-id-601 .entry-content{ padding-top:44px; }
}
/* ===== End CBS-AFFILIATE ===== */

/* ===== CBS-ATH-V4 (flat flex-wrap grid; ALL cards CLOSED by default; an open card
   expands 300->612 with the bio beside it and the wrap row REFLOWS, pushing a card to
   the next line) — supersedes the V3 fixed-row grid. ===== */
.cbs-home__ath--roster .cbs-ath__rail{
  display:flex !important; flex-direction:row !important; flex-wrap:wrap !important;
  justify-content:center !important; align-items:flex-start !important;
  gap:18px !important; overflow:visible !important;
  padding:8px 2px 24px; margin-top:10px;
}
.cbs-home__ath--roster .cbs-ath__bio-inner{ margin-left:0 !important; width:312px; padding:20px; }
@media (min-width:861px){
  .cbs-home__ath--roster .cbs-ath{
    display:flex !important; align-items:stretch !important; overflow:hidden;
    width:300px !important; flex:0 0 300px !important; max-width:612px !important;
    transition:flex-basis .45s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)),
               width .45s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)) !important;
  }
  .cbs-home__ath--roster .cbs-ath.is-open{ width:612px !important; flex:0 0 612px !important; }
  .cbs-home__ath--roster .cbs-ath__card{ flex:0 0 300px !important; width:300px !important; min-height:490px !important; } /* R2-A: uniform card height */
  .cbs-home__ath--roster .cbs-ath.is-open .cbs-ath__card{ border-radius:16px 0 0 16px; }
  .cbs-home__ath--roster .cbs-ath__media, .cbs-home__ath--roster .cbs-ath__img{ height:300px !important; }
  .cbs-home__ath--roster .cbs-ath__bio{
    flex:0 0 0 !important; width:0 !important; overflow:hidden; opacity:0;
    transition:flex-basis .45s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)),
               width .45s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)),
               opacity .3s ease .12s !important;
  }
  .cbs-home__ath--roster .cbs-ath.is-open .cbs-ath__bio{ flex:0 0 312px !important; width:312px !important; opacity:1 !important; }
  .cbs-home__ath--roster .cbs-ath__bio-inner{ height:100% !important; box-sizing:border-box; border-radius:0 16px 16px 0; }
}
@media (max-width:860px){
  .cbs-home__ath--roster .cbs-ath__rail{ flex-direction:column !important; flex-wrap:nowrap !important; align-items:stretch !important; }
  .cbs-home__ath--roster .cbs-ath{ flex-direction:column; width:100% !important; flex:none !important; }
  .cbs-home__ath--roster .cbs-ath.is-open{ width:100% !important; flex:none !important; }
  .cbs-home__ath--roster .cbs-ath__card{ flex:0 0 auto !important; width:100% !important; flex-direction:row; border-radius:14px; }
  .cbs-home__ath--roster .cbs-ath__media, .cbs-home__ath--roster .cbs-ath__img{ flex:0 0 130px; width:130px; height:auto !important; aspect-ratio:auto; }
  .cbs-home__ath--roster .cbs-ath__bio{ flex:0 0 auto !important; width:100% !important; max-height:0; opacity:1 !important; transition:max-height .42s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)) !important; }
  .cbs-home__ath--roster .cbs-ath.is-open .cbs-ath__bio{ max-height:600px; }
  .cbs-home__ath--roster .cbs-ath__bio-inner{ width:100% !important; height:auto; margin-left:0 !important; border:1px solid var(--cbs-line, rgba(255,255,255,.08)); border-top:0; border-radius:0 0 14px 14px; }
}
/* End CBS-ATH-V4 ===== */

/* ===== CBS-HERO-FULLBLEED V2 — keep the hero (and its product/hole, which are positioned
   off 50vw) at 1320 centered so the product stays aligned with the active brand flag; bleed
   ONLY the brick wall to full viewport width. (V1 made the whole hero full-width, which shifted
   the product group left — R2-B fix.) ===== */
body.page-template-home-page-template .cbs-hero{ overflow:visible !important; contain:layout !important; }
body.page-template-home-page-template .cbs-hero .hero-wall{
  left:50% !important; right:auto !important; width:100vw !important; transform:translateX(-50%) !important;
}
/* Edge shadow: ONE gentle symmetric gradient — strong (≈95%) at each screen edge, fading to a
   light (≈10%) wash across the centre so the brick stays clearly visible. Replaces the heavier
   stacked shades that were hiding the wall (R2 follow-up). */
body.page-template-home-page-template .cbs-hero .hero-wall::after{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:5;
  /* Asymmetric: strong frame on the LEFT (text side); the RIGHT is kept light so the broken-wall
     cracks/debris radiating past the product stay visible (were being swallowed by a heavy edge). */
  background:linear-gradient(90deg,
    rgba(0,0,0,.95) 0%,
    rgba(0,0,0,.10) 36%,
    rgba(0,0,0,.05) 82%,
    rgba(0,0,0,.22) 100%);
}
/* The legacy left/right SHADES used directional gradients tuned for a 1320 element; stretching
   them over-darkened the wall, so disable them (the gradient above handles edge darkening). The
   grid/grain/base-wash were sized to the 1320 content box (edges sat ON the margins = a seam vs
   the full-bleed brick) — full-bleed those so the hero background is seamless edge-to-edge. */
body.page-template-home-page-template .cbs-hero .hero-leftshade,
body.page-template-home-page-template .cbs-hero .hero-rightshade{ display:none !important; }
body.page-template-home-page-template .cbs-hero::before,
body.page-template-home-page-template .cbs-hero .hero__grid,
body.page-template-home-page-template .cbs-hero .grain{
  left:50% !important; right:auto !important; width:100vw !important; transform:translateX(-50%) !important;
}
/* End CBS-HERO-FULLBLEED V2 ===== */

/* ===== CBS-TYPO-FIX-0626 (article + product-details heading typography -> CBS Anton display) ===== */
body.single-post .cbs-article__body h2,
body.single-post .cbs-article__body h3,
body.single-post .cbs-article__body h4 {
  font-family: var(--cbs-font-display, 'Anton', sans-serif) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important; letter-spacing: .015em !important; line-height: 1.08 !important;
}
body.single-post .cbs-article__body h2 {
  font-size: clamp(27px, 3.6vw, 36px) !important; color: #fff !important;
  margin: 1.9em 0 .5em !important; padding-left: 18px !important;
  border-left: 4px solid var(--cbs-edge, #6cbde0) !important;
}
body.single-post .cbs-article__body h3 {
  font-size: clamp(21px, 2.7vw, 26px) !important; color: var(--cbs-edge, #6cbde0) !important;
  margin: 1.55em 0 .4em !important;
}
body.single-post .cbs-article__body h4 {
  font-size: clamp(18px, 2.2vw, 21px) !important; color: #fff !important; margin: 1.4em 0 .35em !important;
}
body.single-post .cbs-article__body p { font-size: 17px !important; line-height: 1.85 !important; }
article.cbs-prod .cbs-pv-prose h2,
article.cbs-prod .cbs-pv-prose h3,
article.cbs-prod .cbs-pv-prose h4,
article.cbs-prod .cbs-pv-prose p > strong:only-child {
  display: block !important;
  font-family: var(--cbs-font-display, 'Anton', sans-serif) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important; letter-spacing: .015em !important; line-height: 1.1 !important;
  color: #fff !important; margin: 1.4em 0 .5em !important;
}
article.cbs-prod .cbs-pv-prose h2,
article.cbs-prod .cbs-pv-prose p > strong:only-child {
  font-size: clamp(22px, 2.6vw, 27px) !important;
  padding-left: 15px !important; border-left: 4px solid var(--cbs-edge, #6cbde0) !important;
}
article.cbs-prod .cbs-pv-prose h3 { font-size: clamp(19px, 2.2vw, 22px) !important; color: var(--cbs-edge, #6cbde0) !important; }
/* End CBS-TYPO-FIX-0626 ===== */

/* ===== CBS-PROD-PHICONS-0626 (Phosphor icons in CBS-PROD-V6, replacing inline SVGs) ===== */
article.cbs-prod i.cbs-pv-ico { font-style: normal !important; line-height: 1; width: auto !important; height: auto !important; display: inline-flex; align-items: center; justify-content: center; }
article.cbs-prod .cbs-pv-tool i.cbs-pv-ico { font-size: 19px; }
article.cbs-prod li i.cbs-pv-ico { font-size: 16px; }
article.cbs-prod .cbs-pv-rating i.cbs-pv-ico, article.cbs-prod i.cbs-pv-star { font-size: 14px; }
article.cbs-prod .cbs-pv-wish .cbs-wish-ico--fill { display: none; color: var(--cbs-edge, #6cbde0); }
article.cbs-prod .cbs-pv-wish.is-added .cbs-wish-ico--line,
article.cbs-prod .cbs-pv-wish[aria-pressed="true"] .cbs-wish-ico--line { display: none; }
article.cbs-prod .cbs-pv-wish.is-added .cbs-wish-ico--fill,
article.cbs-prod .cbs-pv-wish[aria-pressed="true"] .cbs-wish-ico--fill { display: inline-flex; }
/* End CBS-PROD-PHICONS-0626 ===== */

/* ===== CBS-AMBASSADOR-REG (affiliate-registration redesign + GSAP story) ===== */

/* hide default page chrome on the registration page, go full-bleed */
body.page-id-602 .entry-header, body.page-id-602 .page-title, body.page-id-602 .entry-title,
body.page-id-602 .breadcrumb, body.page-id-602 .woocommerce-breadcrumb { display: none !important; }
body.page-id-602 .site-main, body.page-id-602 .entry-content,
body.page-id-602 article, body.page-id-602 .page, body.page-id-602 #primary,
body.page-id-602 #content, body.page-id-602 #page .container { margin: 0 !important; padding: 0 !important; max-width: none !important; width: auto !important; }
body.page-id-602 { background: #06080b; overflow-x: clip; }

.cbs-amb { --amb-bg:#06080b; --amb-bg1:#0e1116; --amb-bg2:#161b22; --amb-line:rgba(255,255,255,.09); --amb-line2:#3a4250; --amb-cyan:#6cbde0; --amb-cyan-soft:rgba(108,189,224,.12); --amb-fg:#fff; --amb-fg2:rgba(255,255,255,.82); --amb-fg3:rgba(255,255,255,.56); --amb-fg4:rgba(255,255,255,.36); --amb-ease:cubic-bezier(.2,.7,.2,1); --amb-disp:var(--cbs-font-display,'Anton',sans-serif); --amb-body:var(--cbs-font-body,'Inter',sans-serif); --amb-mono:var(--cbs-font-mono,'JetBrains Mono',monospace);
  position: relative; background: var(--amb-bg); color: var(--amb-fg); font-family: var(--amb-body); overflow: hidden; }
.cbs-amb *, .cbs-amb *::before, .cbs-amb *::after { box-sizing: border-box; }
.cbs-amb__wrap { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 clamp(20px,5vw,48px); }

/* scroll progress */
.cbs-amb__progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 60; background: rgba(255,255,255,.05); }
.cbs-amb__progress-bar { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--amb-cyan), #bfe3f2); box-shadow: 0 0 12px rgba(108,189,224,.6); transform-origin: left; }

/* shared section heads */
.cbs-amb__kicker { display: inline-block; font-family: var(--amb-mono); font-size: 11px; letter-spacing: .26em; text-transform: uppercase; color: var(--amb-cyan); margin: 0 0 18px; }
.cbs-amb__sechead { margin-bottom: clamp(38px,5vw,64px); }
.cbs-amb__sech { font-family: var(--amb-disp); font-weight: 400; font-size: clamp(38px,6.4vw,76px); line-height: .94; letter-spacing: .005em; text-transform: uppercase; color: var(--amb-fg); margin: 0; }
.cbs-amb__sech span { color: var(--amb-cyan); }

/* grain + glow primitives */
.cbs-amb__grain { position: absolute; inset: 0; pointer-events: none; opacity: .5; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E"); }

/* =================== HERO =================== */
.cbs-amb__hero { position: relative; min-height: 100svh; display: flex; align-items: center; overflow: hidden;
  background: radial-gradient(120% 90% at 80% 0%, #11161d 0%, #0a0d12 45%, #06080b 100%); }
.cbs-amb__hero-glow { position: absolute; width: 70vw; height: 70vw; max-width: 900px; max-height: 900px; right: -12vw; top: -18vw; border-radius: 50%;
  background: radial-gradient(circle, rgba(108,189,224,.22) 0%, rgba(108,189,224,.06) 40%, transparent 70%); filter: blur(20px); pointer-events: none; }
.cbs-amb__hero::after { content:""; position:absolute; inset:0; pointer-events:none; background:
  repeating-linear-gradient(90deg, transparent 0 calc(100%/12 - 1px), rgba(255,255,255,.02) calc(100%/12 - 1px) calc(100%/12)); }
.cbs-amb__hero-inner { position: relative; z-index: 2; padding-top: 96px; padding-bottom: 140px; }
.cbs-amb__eyebrow { display: inline-flex; align-items: center; gap: 10px; font-family: var(--amb-mono); font-size: 12px; letter-spacing: .28em; text-transform: uppercase; color: var(--amb-cyan); margin: 0 0 26px; padding: 7px 14px; border: 1px solid rgba(108,189,224,.3); border-radius: 999px; background: var(--amb-cyan-soft); }
.cbs-amb__hero-h { font-family: var(--amb-disp); font-weight: 400; font-size: clamp(58px,12.5vw,176px); line-height: .86; letter-spacing: .004em; text-transform: uppercase; margin: 0 0 28px; color: var(--amb-fg); }
.cbs-amb__line { display: block; overflow: hidden; }
.cbs-amb__word { display: inline-block; }
.cbs-amb__word--cyan { color: var(--amb-cyan); }
.cbs-amb__hero-sub { font-size: clamp(16px,2vw,21px); line-height: 1.6; color: var(--amb-fg2); max-width: 56ch; margin: 0 0 36px; }
.cbs-amb__hero-sub strong, .cbs-amb__hero-sub b { color: var(--amb-fg); }
.cbs-amb__hero-cta { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.cbs-amb__btn { display: inline-flex; align-items: center; gap: 12px; font-family: var(--amb-mono); font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; padding: 16px 26px; border-radius: 8px; cursor: pointer; transition: transform .2s var(--amb-ease), box-shadow .2s var(--amb-ease); }
.cbs-amb__btn--primary { background: var(--amb-fg); color: #06080b; box-shadow: 0 10px 30px rgba(0,0,0,.4); }
.cbs-amb__btn--primary:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(108,189,224,.3); color: #06080b; }
.cbs-amb__btn-arr { display: inline-flex; }
.cbs-amb__btn-arr i { font-size: 16px; }
.cbs-amb__cta-hint { font-family: var(--amb-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--amb-fg4); }
.cbs-amb__scrollcue { position: absolute; left: 50%; bottom: 30px; transform: translateX(-50%); z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 7px; font-family: var(--amb-mono); font-size: 10px; letter-spacing: .24em; text-transform: uppercase; color: var(--amb-fg4); }
.cbs-amb__scrollcue i { font-size: 15px; color: var(--amb-cyan); }

/* =================== PITCH =================== */
.cbs-amb__pitch { position: relative; padding: clamp(110px,16vw,200px) 0; border-top: 1px solid var(--amb-line); }
.cbs-amb__pitch-h { font-family: var(--amb-disp); font-weight: 400; font-size: clamp(34px,5.4vw,68px); line-height: 1.02; letter-spacing: .006em; text-transform: uppercase; color: var(--amb-fg); margin: 0 0 28px; max-width: 18ch; }
.cbs-amb__pitch-h span { color: var(--amb-cyan); }
.cbs-amb__pitch-p { font-size: clamp(16px,1.8vw,20px); line-height: 1.7; color: var(--amb-fg3); max-width: 60ch; margin: 0; }

/* =================== PERKS =================== */
.cbs-amb__perks { position: relative; padding: clamp(80px,11vw,140px) 0; background: linear-gradient(180deg, #06080b, #0a0d12); border-top: 1px solid var(--amb-line); }
.cbs-amb__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.cbs-amb__perk { position: relative; background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012)), var(--amb-bg1); border: 1px solid var(--amb-line); border-radius: 16px; padding: 30px 28px 32px; overflow: hidden; transition: transform .3s var(--amb-ease), border-color .3s var(--amb-ease); }
.cbs-amb__perk::before { content:""; position:absolute; left:0; right:0; top:0; height:2px; background: linear-gradient(90deg, var(--amb-cyan), transparent); opacity:0; transition: opacity .3s var(--amb-ease); }
.cbs-amb__perk:hover { transform: translateY(-5px); border-color: rgba(108,189,224,.4); }
.cbs-amb__perk:hover::before { opacity: 1; }
.cbs-amb__perk-ico { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 13px; background: var(--amb-cyan-soft); border: 1px solid rgba(108,189,224,.28); color: var(--amb-cyan); margin-bottom: 22px; }
.cbs-amb__perk-ico i { font-size: 24px; }
.cbs-amb__perk h3 { font-family: var(--amb-disp); font-weight: 400; font-size: 22px; line-height: 1.08; letter-spacing: .01em; text-transform: uppercase; color: var(--amb-fg); margin: 0 0 10px; }
.cbs-amb__perk p { font-size: 14.5px; line-height: 1.62; color: var(--amb-fg3); margin: 0; }

/* =================== STEPS =================== */
.cbs-amb__steps { position: relative; padding: clamp(80px,11vw,140px) 0; border-top: 1px solid var(--amb-line); }
.cbs-amb__steplist { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.cbs-amb__step { position: relative; padding: 0 28px; }
.cbs-amb__step + .cbs-amb__step { border-left: 1px solid var(--amb-line); }
.cbs-amb__step-n { display: block; font-family: var(--amb-disp); font-weight: 400; font-size: clamp(44px,5vw,68px); line-height: 1; color: transparent; -webkit-text-stroke: 1px var(--amb-line2); margin-bottom: 22px; transition: -webkit-text-stroke-color .3s var(--amb-ease); }
.cbs-amb__step:hover .cbs-amb__step-n { -webkit-text-stroke-color: var(--amb-cyan); }
.cbs-amb__step-body h3 { font-family: var(--amb-disp); font-weight: 400; font-size: 21px; text-transform: uppercase; letter-spacing: .01em; color: var(--amb-fg); margin: 0 0 9px; }
.cbs-amb__step-body p { font-size: 14px; line-height: 1.6; color: var(--amb-fg3); margin: 0; }

/* =================== JOIN / FORM =================== */
.cbs-amb__join { position: relative; padding: clamp(90px,12vw,150px) 0 clamp(120px,14vw,170px); border-top: 1px solid var(--amb-line); background: radial-gradient(110% 80% at 50% 0%, #0d1218 0%, #06080b 60%); overflow: hidden; }
.cbs-amb__join-glow { position: absolute; left: 50%; top: -10%; transform: translateX(-50%); width: 90vw; max-width: 1100px; height: 600px; pointer-events: none;
  background: radial-gradient(closest-side, rgba(108,189,224,.14), transparent 75%); filter: blur(10px); }
.cbs-amb__join-inner { position: relative; z-index: 2; max-width: 720px; }
.cbs-amb__joinhead { text-align: center; margin-bottom: 40px; }
.cbs-amb__joinhead .cbs-amb__kicker { margin-bottom: 16px; }
.cbs-amb__joinh { font-family: var(--amb-disp); font-weight: 400; font-size: clamp(42px,7vw,90px); line-height: .9; letter-spacing: .005em; text-transform: uppercase; color: var(--amb-fg); margin: 0 0 14px; }
.cbs-amb__joinh span { color: var(--amb-cyan); }
.cbs-amb__joinsub { font-size: clamp(15px,1.7vw,18px); line-height: 1.6; color: var(--amb-fg3); margin: 0; }
.cbs-amb__formcard { background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.014)), var(--amb-bg1); border: 1px solid var(--amb-line2); border-radius: 20px; padding: clamp(26px,4vw,44px); box-shadow: 0 30px 80px rgba(0,0,0,.5); }

/* --- SliceWP registration form -> CBS dark --- */
.cbs-amb__formcard .slicewp-form { margin: 0; }
.cbs-amb__formcard .slicewp-notices, .cbs-amb__formcard .slicewp-notice { font-family: var(--amb-body); }
.cbs-amb__formcard .slicewp-field-wrapper { margin: 0 0 20px; }
.cbs-amb__formcard .slicewp-field-label-wrapper { margin: 0 0 9px; }
.cbs-amb__formcard .slicewp-field-label-wrapper label, .cbs-amb__formcard .slicewp-field-label { font-family: var(--amb-mono); font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--amb-fg3); }
.cbs-amb__formcard .slicewp-field-required-marker { color: var(--amb-cyan); margin-left: 3px; }
.cbs-amb__formcard .slicewp-field-inner input[type=text], .cbs-amb__formcard .slicewp-field-inner input[type=email],
.cbs-amb__formcard .slicewp-field-inner input[type=password], .cbs-amb__formcard .slicewp-field-inner input[type=tel],
.cbs-amb__formcard .slicewp-field-inner input[type=number], .cbs-amb__formcard .slicewp-field-inner select,
.cbs-amb__formcard .slicewp-field-inner textarea {
  width: 100% !important; background: var(--amb-bg2) !important; border: 1px solid var(--amb-line2) !important; border-radius: 9px !important; color: var(--amb-fg) !important; font-family: var(--amb-body) !important; font-size: 15px !important; padding: 14px 16px !important; box-shadow: none !important; outline: none !important; transition: border-color .18s var(--amb-ease), box-shadow .18s var(--amb-ease); -webkit-appearance: none; appearance: none; }
.cbs-amb__formcard .slicewp-field-inner input:focus, .cbs-amb__formcard .slicewp-field-inner select:focus, .cbs-amb__formcard .slicewp-field-inner textarea:focus {
  border-color: var(--amb-cyan) !important; box-shadow: 0 0 0 3px rgba(108,189,224,.16) !important; }
.cbs-amb__formcard .slicewp-field-inner ::placeholder { color: var(--amb-fg4); }
.cbs-amb__formcard .slicewp-field-inner textarea { min-height: 110px; resize: vertical; }
.cbs-amb__formcard .slicewp-field-inner select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%236cbde0' stroke-width='2'%3E%3Cpath d='M3 5l4 4 4-4'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 16px center !important; padding-right: 40px !important; }
/* radio groups */
.cbs-amb__formcard .slicewp-field-radio-wrapper { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.cbs-amb__formcard .slicewp-field-radio-wrapper li { margin: 0; }
.cbs-amb__formcard .slicewp-field-radio-wrapper input[type=radio] { position: absolute; opacity: 0; pointer-events: none; }
.cbs-amb__formcard .slicewp-field-radio-wrapper label { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-family: var(--amb-mono) !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: .04em !important; text-transform: uppercase !important; color: var(--amb-fg2) !important; background: var(--amb-bg2); border: 1px solid var(--amb-line2); border-radius: 9px; padding: 11px 16px; transition: all .16s var(--amb-ease); }
.cbs-amb__formcard .slicewp-field-radio-wrapper label:hover { border-color: rgba(108,189,224,.5); color: var(--amb-fg); }
.cbs-amb__formcard .slicewp-field-radio-wrapper input[type=radio]:checked + label { background: var(--amb-fg) !important; border-color: var(--amb-fg) !important; color: #06080b !important; }
/* terms checkbox */
.cbs-amb__formcard .slicewp-field-wrapper[data-type=checkbox] .slicewp-field-inner { display: flex; align-items: flex-start; gap: 11px; }
.cbs-amb__formcard input[type=checkbox] { width: 20px; height: 20px; min-width: 20px; accent-color: var(--amb-cyan); margin-top: 1px; }
.cbs-amb__formcard .slicewp-field-wrapper[data-type=checkbox] label { font-family: var(--amb-body) !important; font-size: 13.5px !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--amb-fg3) !important; line-height: 1.5; }
.cbs-amb__formcard .slicewp-field-wrapper[data-type=checkbox] a { color: var(--amb-cyan); }
/* submit */
.cbs-amb__formcard .slicewp-button, .cbs-amb__formcard button[type=submit], .cbs-amb__formcard input[type=submit] {
  width: 100% !important; background: var(--amb-fg) !important; color: #06080b !important; font-family: var(--amb-mono) !important; font-size: 14px !important; font-weight: 700 !important; letter-spacing: .14em !important; text-transform: uppercase !important; border: 0 !important; border-radius: 10px !important; padding: 18px !important; margin-top: 8px !important; cursor: pointer; transition: transform .18s var(--amb-ease), box-shadow .18s var(--amb-ease); }
.cbs-amb__formcard .slicewp-button:hover, .cbs-amb__formcard button[type=submit]:hover { transform: translateY(-2px); box-shadow: 0 14px 36px rgba(108,189,224,.32); }
/* already-registered note (logged-in affiliates) */
.cbs-amb__formcard .slicewp-notice, .cbs-amb__formcard > p { font-family: var(--amb-body); font-size: 16px; line-height: 1.6; color: var(--amb-fg2); text-align: center; }
.cbs-amb__formcard a { color: var(--amb-cyan); }

/* =================== GSAP initial states (flash-free; only when JS active) =================== */
html.cbs-amb-js .cbs-amb [data-amb], html.cbs-amb-js .cbs-amb [data-amb-reveal], html.cbs-amb-js .cbs-amb [data-amb-stagger] { opacity: 0; }
html.cbs-amb-js .cbs-amb__word { opacity: 0; }

/* =================== RESPONSIVE =================== */
@media (max-width: 980px) {
  .cbs-amb__grid { grid-template-columns: repeat(2, 1fr); }
  .cbs-amb__steplist { grid-template-columns: repeat(2, 1fr); gap: 36px 0; }
  .cbs-amb__step { padding: 0 22px; }
  .cbs-amb__step:nth-child(odd) { border-left: 0; }
}
@media (max-width: 600px) {
  .cbs-amb__wrap { padding: 0 22px; }
  .cbs-amb__hero-inner { padding-top: 120px; padding-bottom: 120px; }
  .cbs-amb__grid { grid-template-columns: 1fr; }
  .cbs-amb__steplist { grid-template-columns: 1fr; gap: 26px; }
  .cbs-amb__step { padding: 0 0 0 0; border-left: 0 !important; display: flex; gap: 16px; align-items: baseline; }
  .cbs-amb__step-n { margin-bottom: 0; font-size: 40px; }
  .cbs-amb__hero-cta { gap: 16px; }
  .cbs-amb__formcard { padding: 22px; }
  .cbs-amb__formcard .slicewp-field-radio-wrapper { gap: 8px; }
}
/* End CBS-AMBASSADOR-REG ===== */

/* ============================================================
   CBS-GUTTER-STD V1 — standardize every page's side margins to the
   HOME container/gutter system: content capped at 1320, full-bleed
   container with a responsive side gutter = max(20px, (100%-1320)/2).
   Each listed container is a direct child of full-width .site-content,
   so there is no double-margin (no nested padded wrapper compounding).
   ============================================================ */
.cbs-cat,
.cbs-prod,
.cbs-cart,
.cbs-co,
.cbs-wl,
.cbs-blog,
.cbs-article,
.cbs-pg,
body.woocommerce-account .woocommerce {
  max-width: none !important;
  width: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: max(20px, calc((100% - 1320px) / 2)) !important;
  padding-right: max(20px, calc((100% - 1320px) / 2)) !important;
  box-sizing: border-box !important;
}
@media (max-width: 768px){
  .cbs-cat,
  .cbs-prod,
  .cbs-cart,
  .cbs-co,
  .cbs-wl,
  .cbs-blog,
  .cbs-article,
  .cbs-pg,
  body.woocommerce-account .woocommerce {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}
/* End CBS-GUTTER-STD V1 ============================================ */

/* ===== CBS-NO-HOVER-UNDERLINE — never underline a link on hover, site-wide ===== */
a:hover,
a:focus,
html body a:hover {
  text-decoration: none !important;
}
/* End CBS-NO-HOVER-UNDERLINE ===== */

/* CBS-GUTTER-STD V1-PROD — the CBS-PROD-V6 container is set by the high-specificity
   selector html body article.cbs-prod[data-pid] !important; use an ID-level selector
   (#primary / #content are stable WooCommerce wrappers) to win decisively. */
html body #primary article.cbs-prod[data-pid],
html body #content article.cbs-prod[data-pid]{
  max-width: none !important;
  width: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: max(20px, calc((100% - 1320px) / 2)) !important;
  padding-right: max(20px, calc((100% - 1320px) / 2)) !important;
}
@media (max-width: 768px){
  html body #primary article.cbs-prod[data-pid],
  html body #content article.cbs-prod[data-pid]{
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}
/* End CBS-GUTTER-STD V1-PROD */

/* ===== CBS-CARD-ADDCART-V1 — card ADD TO CART button matches the link CTA ===== */
button.cbs-card__cta{
  width:100% !important;
  -webkit-appearance:none !important; appearance:none !important;
  font-family:var(--cbs-font-mono) !important;
  box-sizing:border-box !important;
  text-align:left !important;
}
.cbs-card__cta.is-busy{ opacity:.72 !important; pointer-events:none !important; }
.cbs-card__cta.is-done{ background:var(--cbs-edge) !important; border-color:var(--cbs-edge) !important; color:var(--cbs-bg-0) !important; }
.cbs-card__cta.is-done .cbs-card__cta-arr{ background:var(--cbs-bg-0) !important; color:var(--cbs-edge) !important; border-left-color:var(--cbs-edge) !important; }
/* End CBS-CARD-ADDCART-V1 ===== */

/* ===== CBS-ARTICLE-V2 (R2-D) — single post redesign: clean left-aligned editorial.
   All content starts at the page gutter (pill edge) with consistent margins; the previous
   layout centered head/hero/body at THREE different widths, so nothing lined up. ===== */
body.single-post .cbs-article__head{ max-width: 980px !important; margin-left: 0 !important; margin-right: 0 !important; text-align: left !important; }
body.single-post .cbs-article__cat{ margin-bottom: 20px !important; }
body.single-post .cbs-article__title{ font-size: clamp(34px, 4.6vw, 58px) !important; margin: 0 0 22px !important; }
body.single-post .cbs-article__meta{ justify-content: flex-start !important; }
body.single-post .cbs-article__hero-img{
  max-width: 1120px !important; margin: 36px 0 0 !important;
  aspect-ratio: 16 / 9; border-radius: 16px !important;
}
body.single-post .cbs-article__hero-img img{ width: 100% !important; height: 100% !important; object-fit: cover !important; }
body.single-post .cbs-article__body{ max-width: 768px !important; margin: 46px 0 0 !important; font-size: 17.5px !important; }
body.single-post .cbs-article__divider{ max-width: 1120px !important; margin: 52px 0 0 !important; }
body.single-post .cbs-article__share{ max-width: 768px !important; margin: 26px 0 0 !important; }
body.single-post .cbs-article__nav{ max-width: 1120px !important; margin: 40px 0 0 !important; }
body.single-post .cbs-article__comments{ max-width: 768px !important; margin-left: 0 !important; margin-right: 0 !important; }
@media (max-width: 768px){
  body.single-post .cbs-article__hero-img{ aspect-ratio: 4 / 3; border-radius: 12px !important; }
}
/* End CBS-ARTICLE-V2 ===== */

/* ===== CBS-FIXES-2026-06-30 ===== */

/* #1 FAQ page: trim the excessive bottom padding (still clears the floating nav) */
body.page-id-351 .cbs-pg { padding-bottom: 60px !important; }

/* #16 Legion (affiliate) registration: the "kickbacks" boxes are <article> elements, so the
   page-602 chrome-hide rule article{padding:0!important} zeroes them and text touches the borders.
   Restore + increase the inner padding (higher specificity beats body.page-id-602 article). */
body.page-id-602 .cbs-amb__perk { padding: 34px 32px 38px !important; }

/* #19 + #27 Blog cards: labelled "Read article" CTA + consistent title/excerpt/date alignment */
.cbs-blog-card__title { -webkit-line-clamp: 2; min-height: 2.64em; }
.cbs-blog-card__excerpt { -webkit-line-clamp: 2; min-height: 3.2em; }
.cbs-blog-card__foot { align-items: center; }
.cbs-blog-card__cta {
  display: inline-flex; align-items: center; gap: 7px; white-space: nowrap;
  font-family: var(--cbs-font-mono, monospace); font-size: 10.5px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; color: var(--cbs-edge, #6cbde0);
  transition: color .2s var(--cbs-ease, ease);
}
.cbs-blog-card__cta i { font-size: 13px; transition: transform .2s var(--cbs-ease, ease); }
.cbs-blog-card:hover .cbs-blog-card__cta { color: #fff; }
.cbs-blog-card:hover .cbs-blog-card__cta i { transform: translateX(3px); }
/* only-child featured-style card: kill the tall void, center the content so the date sits with it */
.cbs-blog-grid .cbs-blog-card:only-child .cbs-blog-card__body { justify-content: center; }
.cbs-blog-grid .cbs-blog-card:only-child .cbs-blog-card__foot { margin-top: 20px; }

/* #20 Blog hero image: less tall + centered (single-article hero) */
body.single-post .cbs-article__hero-img { aspect-ratio: 21 / 9 !important; }
body.single-post .cbs-article__hero-img img { object-position: center !important; }
.cbs-blog__featured-media img { object-position: center; }
@media (max-width: 768px){
  body.single-post .cbs-article__hero-img { aspect-ratio: 16 / 9 !important; }
}

/* #29 Single article KEEP READING: align to the article left edge (pill), not centered at 1280 */
body.single-post .cbs-article__related { max-width: 1120px !important; margin-left: max(20px, calc((100% - 1320px) / 2)) !important; margin-right: 0 !important; margin-top: 64px !important; }

/* #30 My Account dashboard cards: top-align icon + text */
body.woocommerce-account .cbs-acct-card { align-items: flex-start !important; }

/* ===== End CBS-FIXES-2026-06-30 ===== */

/* ===== CBS-BLOG-V2 (Dispatch archive redesign 2026-06-30) ===== */
.cbs-disp {
  --disp-line: var(--cbs-line-strong, #2a323d);
  --disp-cyan: var(--cbs-edge, #6cbde0);
  --disp-bg0: var(--cbs-bg-0, #06080b);
  --disp-bg1: var(--cbs-bg-1, #0e1116);
  max-width: none;
  padding: 104px max(20px, calc((100% - 1320px) / 2)) 128px;
  box-sizing: border-box;
  color: var(--cbs-fg-1, #fff);
  font-family: var(--cbs-font-body, 'Inter', sans-serif);
}

/* ---------- Masthead ---------- */
.cbs-disp__mast {
  display: grid; grid-template-columns: 1.25fr .75fr; gap: 26px 56px; align-items: end;
  padding-bottom: 30px; border-bottom: 1px solid var(--disp-line);
}
.cbs-disp__eyebrow {
  display: inline-flex; align-items: center; gap: 10px; margin: 0 0 16px;
  font-family: var(--cbs-font-mono, monospace); font-size: 11px; font-weight: 700;
  letter-spacing: .3em; text-transform: uppercase; color: var(--disp-cyan);
}
.cbs-disp__eyebrow span { color: var(--cbs-fg-4, rgba(255,255,255,.4)); }
.cbs-disp__h {
  font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400;
  font-size: clamp(40px, 7vw, 88px); line-height: .95; letter-spacing: 0;
  text-transform: uppercase; margin: 0; color: var(--cbs-fg-1, #fff);
}
.cbs-disp__h span { color: var(--disp-cyan); display: block; }
.cbs-disp__h::before, .cbs-disp__h::after { content: none !important; display: none !important; }
.cbs-disp__mast-meta { padding-bottom: 10px; }
.cbs-disp__sub {
  font-size: 16px; line-height: 1.65; color: var(--cbs-fg-3, rgba(255,255,255,.6));
  margin: 0 0 18px; max-width: 44ch; padding-left: 16px; border-left: 1px solid var(--disp-line);
}
.cbs-disp__count {
  font-family: var(--cbs-font-mono, monospace); font-size: 11px; letter-spacing: .18em;
  text-transform: uppercase; color: var(--cbs-fg-4, rgba(255,255,255,.42)); margin: 0;
}
.cbs-disp__count span { color: var(--cbs-fg-1, #fff); font-size: 14px; }

/* ---------- Filters ---------- */
.cbs-disp__filters { display: flex; flex-wrap: wrap; gap: 9px; margin: 24px 0 0; }
.cbs-disp__chip {
  display: inline-flex; align-items: center; padding: 8px 15px; border-radius: 999px;
  background: var(--disp-bg1); border: 1px solid var(--disp-line);
  font-family: var(--cbs-font-mono, monospace); font-size: 10.5px; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: var(--cbs-fg-3, rgba(255,255,255,.62)); text-decoration: none;
  transition: color .2s, border-color .2s, background .2s, transform .2s;
}
.cbs-disp__chip:hover { color: #fff; border-color: var(--disp-cyan); transform: translateY(-1px); }
.cbs-disp__chip.is-active { background: var(--disp-cyan); border-color: var(--disp-cyan); color: var(--disp-bg0); }

/* ---------- Featured lead (cinematic overlay) ---------- */
.cbs-disp__lead {
  position: relative; display: block; margin: 36px 0 0; border-radius: 18px; overflow: hidden;
  text-decoration: none; color: #fff; border: 1px solid var(--disp-line);
  aspect-ratio: 21 / 9; min-height: 400px;
  transition: border-color .35s var(--cbs-ease, ease), box-shadow .35s var(--cbs-ease, ease);
}
.cbs-disp__lead:hover { border-color: rgba(108,189,224,.55); box-shadow: 0 50px 90px -55px rgba(0,0,0,.95); }
.cbs-disp__lead-media { position: absolute; inset: 0; background: var(--disp-bg1); }
.cbs-disp__lead-media img {
  width: 100%; height: 100%; object-fit: cover; object-position: center; display: block;
  filter: saturate(.9) contrast(1.02); transition: transform .9s var(--cbs-ease, ease);
}
.cbs-disp__lead:hover .cbs-disp__lead-media img { transform: scale(1.045); }
.cbs-disp__lead-veil {
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(6,8,11,.96) 0%, rgba(6,8,11,.88) 30%, rgba(6,8,11,.5) 62%, rgba(6,8,11,.22) 100%),
    linear-gradient(0deg, rgba(6,8,11,.9) 0%, rgba(6,8,11,0) 52%);
}
.cbs-disp__lead-body { position: absolute; left: 0; bottom: 0; max-width: 640px; padding: clamp(28px, 4vw, 56px); }
.cbs-disp__lead-tags { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.cbs-disp__tag {
  display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 999px;
  background: var(--disp-cyan); color: var(--disp-bg0);
  font-family: var(--cbs-font-mono, monospace); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
}
.cbs-disp__lead-cat {
  font-family: var(--cbs-font-mono, monospace); font-size: 10.5px; font-weight: 700; letter-spacing: .18em;
  text-transform: uppercase; color: var(--disp-cyan);
}
.cbs-disp__lead-title {
  font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400;
  font-size: clamp(30px, 4vw, 54px); line-height: 1.0; letter-spacing: .012em; text-transform: uppercase;
  margin: 0 0 16px; color: #fff;
}
.cbs-disp__lead-exc { font-size: 15px; line-height: 1.62; color: rgba(255,255,255,.8); margin: 0 0 24px; max-width: 50ch; }
.cbs-disp__lead-foot { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.cbs-disp__lead-cta {
  display: inline-flex; align-items: center; gap: 9px; padding: 12px 22px; border-radius: 999px;
  background: #fff; color: var(--disp-bg0);
  font-family: var(--cbs-font-mono, monospace); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  transition: gap .2s, background .25s;
}
.cbs-disp__lead:hover .cbs-disp__lead-cta { background: var(--disp-cyan); gap: 13px; }
.cbs-disp__meta {
  font-family: var(--cbs-font-mono, monospace); font-size: 11px; letter-spacing: .1em; text-transform: uppercase;
  color: rgba(255,255,255,.52); display: inline-flex; align-items: center; gap: 8px;
}
.cbs-disp__meta span { color: rgba(255,255,255,.3); }
.cbs-disp__lead.is-empty .cbs-disp__lead-media { background: linear-gradient(135deg, var(--disp-bg1), var(--disp-bg0)); }

/* ---------- Section head ---------- */
.cbs-disp__sechead { display: flex; align-items: center; gap: 20px; margin: 58px 0 4px; }
.cbs-disp__seclabel {
  font-family: var(--cbs-font-mono, monospace); font-size: 11px; font-weight: 700; letter-spacing: .24em;
  text-transform: uppercase; color: var(--cbs-fg-3, rgba(255,255,255,.6)); white-space: nowrap;
}
.cbs-disp__secline { flex: 1; height: 1px; background: var(--disp-line); }

/* ---------- Editorial index rows ---------- */
.cbs-disp__list { display: flex; flex-direction: column; }
.cbs-disp__row {
  display: grid; grid-template-columns: 54px 208px 1fr 46px; gap: 30px; align-items: center;
  padding: 26px 14px 26px 6px; border-bottom: 1px solid var(--disp-line);
  text-decoration: none; color: var(--cbs-fg-1, #fff);
  transition: background .25s var(--cbs-ease, ease);
}
.cbs-disp__row:hover { background: linear-gradient(90deg, rgba(108,189,224,.06), rgba(108,189,224,0) 80%); }
.cbs-disp__num {
  font-family: var(--cbs-font-display, 'Anton', sans-serif); font-size: 34px; line-height: 1;
  color: transparent; -webkit-text-stroke: 1px var(--disp-line); transition: -webkit-text-stroke-color .25s;
}
.cbs-disp__row:hover .cbs-disp__num { -webkit-text-stroke-color: var(--disp-cyan); }
.cbs-disp__row-media {
  aspect-ratio: 16 / 10; border-radius: 11px; overflow: hidden;
  background: var(--disp-bg1); border: 1px solid var(--disp-line);
}
.cbs-disp__row-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .55s var(--cbs-ease, ease); }
.cbs-disp__row:hover .cbs-disp__row-media img { transform: scale(1.06); }
.cbs-disp__row-media.is-empty { display: flex; align-items: center; justify-content: center; color: var(--disp-line); }
.cbs-disp__row-media.is-empty i { font-size: 34px; }
.cbs-disp__rcat {
  display: block; margin-bottom: 9px; font-family: var(--cbs-font-mono, monospace);
  font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--disp-cyan);
}
.cbs-disp__row-title {
  font-family: var(--cbs-font-body, 'Inter', sans-serif); font-weight: 700; font-size: 22px;
  line-height: 1.24; letter-spacing: -.01em; margin: 0 0 10px; color: #fff; transition: color .2s;
}
.cbs-disp__row:hover .cbs-disp__row-title { color: var(--disp-cyan); }
.cbs-disp__row-exc {
  font-size: 14px; line-height: 1.55; color: var(--cbs-fg-3, rgba(255,255,255,.56)); margin: 0 0 12px;
  max-width: 64ch; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.cbs-disp__row-arrow {
  width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--disp-line);
  display: grid; place-items: center; color: var(--cbs-fg-2, rgba(255,255,255,.8)); font-size: 17px;
  transition: background .25s, border-color .25s, color .25s, transform .25s;
}
.cbs-disp__row:hover .cbs-disp__row-arrow { background: var(--disp-cyan); border-color: var(--disp-cyan); color: var(--disp-bg0); transform: translate(2px, -2px); }

/* ---------- Pager ---------- */
.cbs-disp__pager { margin-top: 42px; }
.cbs-disp__pager .nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.cbs-disp__pager .page-numbers {
  display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 12px;
  border-radius: 10px; border: 1px solid var(--disp-line); background: var(--disp-bg1);
  font-family: var(--cbs-font-mono, monospace); font-size: 12px; color: var(--cbs-fg-3, rgba(255,255,255,.6)); text-decoration: none;
  transition: border-color .2s, color .2s, background .2s;
}
.cbs-disp__pager .page-numbers:hover { color: #fff; border-color: var(--disp-cyan); }
.cbs-disp__pager .page-numbers.current { background: var(--disp-cyan); border-color: var(--disp-cyan); color: var(--disp-bg0); }

/* ---------- Closing CTA ---------- */
.cbs-disp__cta {
  margin-top: 66px; display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap;
  padding: clamp(34px, 4vw, 54px); border-radius: 18px; border: 1px solid var(--disp-line);
  background: linear-gradient(135deg, var(--disp-bg1), var(--disp-bg0)); position: relative; overflow: hidden;
}
.cbs-disp__cta::before {
  content: ""; position: absolute; top: -40%; right: -10%; width: 420px; height: 420px; border-radius: 50%;
  background: radial-gradient(circle, rgba(108,189,224,.16), rgba(108,189,224,0) 70%); pointer-events: none;
}
.cbs-disp__cta-copy { position: relative; }
.cbs-disp__cta-eyebrow {
  font-family: var(--cbs-font-mono, monospace); font-size: 10.5px; font-weight: 700; letter-spacing: .22em;
  text-transform: uppercase; color: var(--disp-cyan); margin: 0 0 12px;
}
.cbs-disp__cta-h {
  font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400; font-size: clamp(30px, 4vw, 46px);
  line-height: .96; letter-spacing: .012em; text-transform: uppercase; margin: 0 0 12px; color: #fff;
}
.cbs-disp__cta-h span { color: var(--disp-cyan); }
.cbs-disp__cta-h::before, .cbs-disp__cta-h::after { content: none !important; display: none !important; }
.cbs-disp__cta-sub { font-size: 14.5px; line-height: 1.55; color: var(--cbs-fg-3, rgba(255,255,255,.6)); margin: 0; max-width: 46ch; }
.cbs-disp__cta-btn {
  position: relative; display: inline-flex; align-items: center; gap: 10px; padding: 15px 26px; border-radius: 999px;
  background: #fff; color: var(--disp-bg0); white-space: nowrap;
  font-family: var(--cbs-font-mono, monospace); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  text-decoration: none; transition: gap .2s, background .25s;
}
.cbs-disp__cta-btn:hover { background: var(--disp-cyan); gap: 13px; }

/* ---------- Empty ---------- */
.cbs-disp__empty { text-align: center; padding: 90px 20px; border: 1px dashed var(--disp-line); border-radius: 18px; margin-top: 36px; }
.cbs-disp__empty i { font-size: 42px; color: var(--disp-line); }
.cbs-disp__empty h2 { font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400; font-size: 30px; text-transform: uppercase; margin: 16px 0 8px; color: #fff; }
.cbs-disp__empty p { font-size: 14px; color: var(--cbs-fg-3, rgba(255,255,255,.6)); margin: 0; }

/* ---------- Responsive ---------- */
@media (max-width: 1000px) {
  .cbs-disp { padding-top: 88px; }
  .cbs-disp__mast { grid-template-columns: 1fr; align-items: start; gap: 22px; }
  .cbs-disp__mast-meta { padding-bottom: 0; }
  .cbs-disp__sub { max-width: none; }
}
@media (max-width: 820px) {
  /* featured: stack image over body */
  .cbs-disp__lead { aspect-ratio: auto; min-height: 0; }
  .cbs-disp__lead-media { position: relative; aspect-ratio: 16 / 9; }
  .cbs-disp__lead-veil { background: linear-gradient(0deg, rgba(6,8,11,.55), rgba(6,8,11,.1)); }
  .cbs-disp__lead-body { position: relative; left: auto; bottom: auto; max-width: none; background: var(--disp-bg1); padding: 26px 22px 30px; }
  .cbs-disp__lead-title { font-size: clamp(26px, 7vw, 38px); }
  /* rows: stack */
  .cbs-disp__row { grid-template-columns: 1fr; gap: 14px; padding: 22px 4px; }
  .cbs-disp__num { display: none; }
  .cbs-disp__row-media { aspect-ratio: 16 / 9; max-height: 220px; }
  .cbs-disp__row-arrow { display: none; }
  .cbs-disp__cta { flex-direction: column; align-items: flex-start; }
}
/* ===== End CBS-BLOG-V2 ===== */

/* ===== CBS-STACK-ITEMS (2026-07-01) — "In this stack" component chips above the flavour selector ===== */
.cbs-pv-stack { margin: 0 0 20px; }
.cbs-pv-stack__label { display: block; margin: 0 0 10px; font-family: var(--cbs-font-mono, monospace); font-size: 10.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--cbs-fg-4, rgba(255,255,255,.45)); }
.cbs-pv-stack__items { display: flex; flex-wrap: wrap; gap: 8px; }
.cbs-pv-stack__item { display: inline-flex; align-items: center; gap: 7px; padding: 8px 13px; border-radius: 999px; background: var(--cbs-bg-1, #0e1116); border: 1px solid var(--cbs-line-strong, #3a4250); font-family: var(--cbs-font-body, 'Inter', sans-serif); font-size: 13px; font-weight: 600; color: var(--cbs-fg-1, #fff); }
.cbs-pv-stack__item i { font-size: 13px; color: var(--cbs-edge, #6cbde0); }
/* ===== End CBS-STACK-ITEMS ===== */

/* ===== CBS-NAV-HIDE (2026-07-01) — hide only the BOTTOM nav pill on scroll down, show on scroll up (top-left corner pill stays visible) ===== */
.cbs-nav__bar { transition: transform .4s cubic-bezier(.22,.61,.36,1), opacity .32s ease; }
.cbs-nav.is-hidden .cbs-nav__bar { transform: translateY(calc(100% + 64px)); opacity: 0; pointer-events: none; }
/* ===== End CBS-NAV-HIDE ===== */

/* ===== CBS-AMB-CONTENT (2026-07-01) — program overview / what-you-get / what-we-expect + form 2-col ===== */
.cbs-amb__about, .cbs-amb__expect { position: relative; padding: clamp(80px,11vw,140px) 0; border-top: 1px solid var(--amb-line); }
.cbs-amb__lead { font-size: clamp(16px,1.9vw,21px); line-height: 1.7; color: var(--amb-fg2); max-width: 64ch; margin: 0 0 20px; }
.cbs-amb__lead:last-of-type { margin-bottom: 0; }
.cbs-amb__why { margin: 44px 0 0; }
.cbs-amb__why-label { display: block; font-family: var(--amb-mono); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--amb-cyan); margin: 0 0 16px; }
.cbs-amb__why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.cbs-amb__why-item { display: flex; align-items: center; gap: 13px; padding: 20px 22px; border-radius: 14px; background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01)), var(--amb-bg1); border: 1px solid var(--amb-line); font-family: var(--amb-body); font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--amb-fg); }
.cbs-amb__why-item i { font-size: 24px; color: var(--amb-cyan); flex: 0 0 auto; }
.cbs-amb__note { margin: 26px 0 0; font-family: var(--amb-body); font-size: 14px; color: var(--amb-fg3); }
.cbs-amb__note a { color: var(--amb-cyan); text-decoration: underline; text-underline-offset: 3px; }
.cbs-amb__grid--2 { grid-template-columns: repeat(2, 1fr); }
/* form: 2-column (short inputs pair; wide fields span full) */
.cbs-amb__formcard .slicewp-form { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; align-items: start; }
.cbs-amb__formcard .slicewp-field-wrapper { grid-column: 1 / -1; }
.cbs-amb__formcard .slicewp-field-wrapper[data-type="text"],
.cbs-amb__formcard .slicewp-field-wrapper[data-type="email"],
.cbs-amb__formcard .slicewp-field-wrapper[data-type="password"],
.cbs-amb__formcard .slicewp-field-wrapper[data-type="tel"],
.cbs-amb__formcard .slicewp-field-wrapper[data-type="number"] { grid-column: span 1; }
.cbs-amb__formcard .slicewp-notices,
.cbs-amb__formcard .slicewp-form-registration-submit,
.cbs-amb__formcard .slicewp-button,
.cbs-amb__formcard button[type=submit] { grid-column: 1 / -1 !important; }
@media (max-width: 640px) {
  .cbs-amb__why-grid { grid-template-columns: 1fr; }
  .cbs-amb__grid--2 { grid-template-columns: 1fr; }
  .cbs-amb__formcard .slicewp-form { grid-template-columns: 1fr; }
  .cbs-amb__formcard .slicewp-field-wrapper { grid-column: 1 / -1 !important; }
}
/* lone Mobile field (a text field right before a radio group) spans full width */
.cbs-amb__formcard .slicewp-field-wrapper[data-type="text"]:has(+ .slicewp-field-wrapper[data-type="radio"]) { grid-column: 1 / -1; }
/* FAQ accordion (native details/summary, no JS) */
.cbs-amb__faq { position: relative; padding: clamp(80px,11vw,140px) 0; border-top: 1px solid var(--amb-line); }
.cbs-amb__faqlist { max-width: 840px; display: flex; flex-direction: column; gap: 12px; }
.cbs-amb__faqitem { background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01)), var(--amb-bg1); border: 1px solid var(--amb-line); border-radius: 14px; overflow: hidden; transition: border-color .2s var(--amb-ease), background .2s var(--amb-ease); }
.cbs-amb__faqitem[open] { border-color: rgba(108,189,224,.4); }
.cbs-amb__faqitem summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 24px; font-family: var(--amb-body); font-size: clamp(15px,1.7vw,18px); font-weight: 600; color: var(--amb-fg); }
.cbs-amb__faqitem summary::-webkit-details-marker { display: none; }
.cbs-amb__faqitem summary:hover { color: var(--amb-cyan); }
.cbs-amb__faqitem summary i { flex: 0 0 auto; font-size: 18px; color: var(--amb-cyan); transition: transform .25s var(--amb-ease); }
.cbs-amb__faqitem[open] summary i { transform: rotate(45deg); }
.cbs-amb__faqa { padding: 0 24px 24px; }
.cbs-amb__faqa p { margin: 0; font-family: var(--amb-body); font-size: 15px; line-height: 1.7; color: var(--amb-fg3); }
.cbs-amb__faqa a { color: var(--amb-cyan); }
/* ===== End CBS-AMB-CONTENT ===== */

/* ===== CBS-MOBILE-V2 (2026-07-06) — MOBILE-ONLY. (1) NAV: one clean top pill — logo LEFT; cart -> search -> hamburger on the RIGHT; the header search icon opens search as a top overlay, and the separate bottom floating search pill is removed on phones. (2) HERO: kill the desktop shadow/vignette so the broken wall reads full-bleed, and shrink the whole stack so it fits one viewport (stats above the fold). Every rule gated <=1023 or <=600; desktop untouched. Appended LAST so it wins source-order ties over CBS-NAV-V2 / CBS-MOBILE-V1. ===== */

/* search-toggle + mobile-search chrome: hidden on desktop. Button reset so it never inherits the theme's default (orange) button background. */
.cbs-nav__search-toggle { display: none; background: none; border: none; padding: 0; cursor: pointer; -webkit-appearance: none; appearance: none; }
.cbs-nav__msearch-close { display: none; }
.cbs-nav__msearch-scrim { display: none; }

@media (max-width: 1023px) {
  /* ONE top pill: logo hard-left, util icons hard-right, spans the full width */
  .cbs-nav__corner { left: 12px; right: 12px; justify-content: space-between; gap: 8px; }
  .cbs-nav__corner .cbs-nav__divider { display: none; }
  .cbs-nav__corner .cbs-nav__util { gap: 0; }
  /* right side, in order: cart -> search -> hamburger (account/wishlist stay hidden) */
  .cbs-nav__search-toggle { display: inline-flex; }

  /* REMOVE the separate bottom floating search pill on mobile */
  .cbs-nav__bar { display: none; }

  /* reclaim the space the bottom pill used to reserve */
  body.cbs-body,
  body.cbs-body.home,
  body.cbs-body.admin-bar { padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)); }

  /* The header search icon opens search as a dropdown DIRECTLY BELOW the pill (the pill stays
     visible). --cbs-corner-top mirrors the corner pill's own top offset so the dropdown always
     sits just under it, aligned to the same 12px side gutters. */
  .cbs-nav { --cbs-corner-top: 56px; }
  body:not(.home) .cbs-nav { --cbs-corner-top: 16px; }
  .cbs-nav.is-searching .cbs-nav__bar {
    display: flex; top: calc(var(--cbs-corner-top) + 48px + 8px); bottom: auto; left: 12px; right: 12px;
    padding: 0; z-index: 122; pointer-events: auto; justify-content: center;
  }
  .cbs-nav.is-searching .cbs-nav__shell { width: 100%; max-width: none; height: 50px; gap: 6px; padding: 0 6px 0 16px; }
  .cbs-nav.is-searching .cbs-nav__search { flex: 1 1 auto; width: auto; max-width: none; }
  .cbs-nav.is-searching .cbs-nav__msearch-close {
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; flex-shrink: 0; border-radius: 9999px;
    background: none; border: none; color: var(--cbs-fg-2, rgba(255,255,255,0.82)); cursor: pointer;
  }
  .cbs-nav.is-searching .cbs-nav__msearch-close i { font-size: 20px; }

  /* dim scrim that starts BELOW the header (the pill stays bright above it) */
  .cbs-nav.is-searching .cbs-nav__msearch-scrim {
    display: block; position: fixed; left: 0; right: 0; bottom: 0;
    top: calc(var(--cbs-corner-top) + 48px + 4px);
    z-index: 116; background: rgba(0,0,0,0.55); border: none; padding: 0; cursor: pointer;
  }

  /* suggestions sheet drops just below the search field, aligned to the same gutters */
  .cbs-nav.is-searching .cbs-nav__sheet--search {
    top: calc(var(--cbs-corner-top) + 48px + 8px + 50px + 6px); bottom: auto;
    left: 12px; right: 12px; width: auto; z-index: 122;
    transform: none;
  }
}

/* --cbs-corner-top must track the pill's top across the admin-bar + phone breakpoints */
@media (max-width: 782px) {
  body.admin-bar.home .cbs-nav { --cbs-corner-top: 102px; }
  body.admin-bar:not(.home) .cbs-nav { --cbs-corner-top: 62px; }
}
@media (max-width: 767px) {
  .cbs-nav { --cbs-corner-top: 50px; }
  body:not(.home) .cbs-nav { --cbs-corner-top: 12px; }
}

/* =================== HERO (mobile only, <=600px) =================== */
@media (max-width: 600px) {
  /* A) full-bleed, edge-to-edge — drop the 24px desktop gutter on phones */
  body.cbs-body.home .cbs-hero { width: 100%; max-width: none; margin: 0; min-height: 100svh; min-height: 100dvh; }

  /* A) kill the heavy vignette that crushed the wall to black. The wall is FULL-BLEED now
     (.hero-wall stays inset:0, not moved into the art box), so target it directly. */
  body.home .cbs-hero::before { background: #0b0f16 !important; }
  body.home .cbs-hero .hero-leftshade,
  body.home .cbs-hero .hero-rightshade { display: none !important; }
  body.home .cbs-hero .hero-wall { background: #0b0f16 !important; }
  body.home .cbs-hero .hero-wall__bg { filter: brightness(1.18) contrast(1.02) !important; }
  /* a soft top+bottom scrim over the full-bleed wall keeps the headline/stats legible without crushing it */
  body.home .cbs-hero::after { content:""; position:absolute; inset:0; z-index:-3; pointer-events:none;
    background: linear-gradient(180deg, rgba(6,8,13,.72) 0%, rgba(6,8,13,.12) 26%, rgba(6,8,13,.12) 62%, rgba(6,8,13,.82) 100%); }
  /* keep the headline legible over the wall */
  body.home .cbs-hero h1 { text-shadow: 0 2px 14px rgba(0,0,0,0.6); }

  /* B) FIT THE WHOLE HERO IN ONE VIEWPORT — tighten the stack so the stats row stays above the fold */
  body.home .cbs-hero .wrap { padding: 104px 14px 22px !important; gap: 6px !important; }
  body.home .cbs-hero h1 { font-size: clamp(28px, 8.4vw, 38px) !important; line-height: 1.02 !important; }
  body.home .cbs-hero .art { min-height: 300px !important; }
  /* scale the whole broken-wall composition down ~0.78x so wall + hole + debris + product fit together */
  body.home .cbs-hero .cbs-mob-art { width: 300px !important; height: 320px !important; }
  body.home .cbs-hero .cbs-mob-art #wallHole { width: 230px !important; max-width: 230px !important; height: 230px !important; }
  body.home .cbs-hero .cbs-mob-art .hero-wall__cracks { width: 400px !important; max-width: 400px !important; height: 404px !important; }
  body.home .cbs-hero .cbs-mob-art .hero-wall__cracks-bg { width: 300px !important; max-width: 300px !important; height: 302px !important; }
  body.home .cbs-hero .cbs-mob-art .hero-wall__glow { width: 260px !important; max-width: 260px !important; height: 260px !important; }
  body.home .cbs-hero .cbs-mob-art .pieces { width: 430px !important; height: 430px !important; }
  /* conveyor a touch bigger than the 230px hole so the product fills it, edges clipped by the ellipse (desktop look) */
  body.home .cbs-hero .cbs-mob-art .conveyor { width: 260px !important; height: 260px !important; }
  /* buttons + stats compact */
  body.home .cbs-hero .cta { margin-top: 2px !important; }
  body.home .cbs-hero .cta .btn { padding: 11px 8px !important; font-size: 11px !important; }
  body.home .cbs-hero .stats { margin-top: 4px !important; }
  body.home .cbs-hero .stat { padding: 8px 6px !important; }
  body.home .cbs-hero .stat .n { font-size: 1.25rem !important; }
}

/* SHORT phones (<=780px tall, e.g. iPhone SE / mini): compact the art + spacing further so the whole stack still fits one screen. Separate top-level query, after the block above, so it wins for short viewports only. */
@media (max-width: 600px) and (max-height: 780px) {
  body.home .cbs-hero .wrap { padding: 88px 14px 18px !important; }
  body.home .cbs-hero h1 { font-size: clamp(24px, 7.4vw, 32px) !important; }
  body.home .cbs-hero .art { min-height: 232px !important; }
  body.home .cbs-hero .cbs-mob-art { width: 244px !important; height: 252px !important; }
  body.home .cbs-hero .cbs-mob-art #wallHole { width: 186px !important; max-width: 186px !important; height: 186px !important; }
  body.home .cbs-hero .cbs-mob-art .hero-wall__cracks { width: 322px !important; max-width: 322px !important; height: 325px !important; }
  body.home .cbs-hero .cbs-mob-art .hero-wall__cracks-bg { width: 242px !important; max-width: 242px !important; height: 244px !important; }
  body.home .cbs-hero .cbs-mob-art .hero-wall__glow { width: 210px !important; max-width: 210px !important; height: 210px !important; }
  body.home .cbs-hero .cbs-mob-art .hero-wall { width: 404px !important; height: 404px !important; }
  body.home .cbs-hero .cbs-mob-art .hero-wall__bg { width: 436px !important; height: auto !important; }
  body.home .cbs-hero .cbs-mob-art .pieces { width: 348px !important; height: 348px !important; }
  body.home .cbs-hero .cbs-mob-art .conveyor { width: 170px !important; height: 170px !important; }
  body.home .cbs-hero .stat { padding: 6px 6px !important; }
  body.home .cbs-hero .stat .n { font-size: 1.12rem !important; }
}
/* ===== End CBS-MOBILE-V2 ===== */

/* ===== CBS-MOBILE-V3 — HERO POLISH (2026-07-09). Mobile-only refinement pass (design-panel synthesis): the art row absorbs all viewport slack (no more dead space), stepped spacing rhythm, headline tuned, CTA pills + frosted flag button, 3-stat glass stats bar (4th cell hidden), glass arrows w/ press states, eased scrim + centre spotlight, glow bloom, compositor hints for buttery brand-swaps. Desktop text-fade cascade RESTORED on mobile (the old force-solid override was removed from CBS-MOBILE-V1). CSS ONLY — the rAF conveyor/crack animation code is untouched. Appended LAST: wins every same-specificity tie. ===== */
@media (max-width: 600px) {

  /* ---- RHYTHM: one-knob top offset (hero pad zeroed), art soaks up all slack, bottom cluster sits on a deliberate baseline.
     Height pinned to 100svh (SMALL viewport unit): with .art now flexible, a dvh hero would visibly re-flow the whole
     stack every time the iOS toolbar collapses mid-scroll — svh computes once and never moves. ---- */
  body.home .cbs-hero { padding-top: 0 !important; min-height: 100svh !important; -webkit-font-smoothing: antialiased; }
  body.home .cbs-hero .wrap { box-sizing: border-box !important; gap: 0 !important; padding: 114px 18px max(26px, calc(env(safe-area-inset-bottom) + 16px)) !important; }
  body.admin-bar.home .cbs-hero .wrap { padding-top: 166px !important; }
  body.home .cbs-hero h1 { margin: 0 0 2px !important; font-size: clamp(30px, 9.2vw, 40px) !important; line-height: 1.04 !important; letter-spacing: .012em !important; text-shadow: 0 1px 2px rgba(0,0,0,.55), 0 10px 32px rgba(0,0,0,.5) !important; }
  body.home .cbs-hero .art { flex: 1 1 auto !important; min-height: 300px !important; }

  /* ---- CTA: two equal pills on the same 340px column as the stats bar ---- */
  body.home .cbs-hero .cta { width: 100% !important; max-width: 340px !important; gap: 10px !important; margin: 16px auto 0 !important; }
  /* fluid font + tight tracking so the longest label (SHOP BEAST PHARM) never clips inside the nowrap pill, down to 320px screens */
  body.home .cbs-hero .cta .btn { flex: 1 1 0 !important; min-width: 0 !important; height: 46px !important; padding: 0 10px !important; border-radius: 999px !important; font-size: clamp(9.5px, 2.9vw, 11px) !important; font-weight: 700 !important; letter-spacing: .05em !important; line-height: 1 !important; white-space: nowrap !important; gap: 6px !important; justify-content: center !important; margin: 0 !important; overflow: hidden !important; }
  body.home .cbs-hero .cta .btn svg { width: 12px !important; height: 12px !important; flex: 0 0 auto !important; }
  body.home .cbs-hero .cta .btn--p { box-shadow: 0 12px 26px -14px rgba(0,0,0,.7) !important; }
  body.home .cbs-hero .cta .btn:active { transform: scale(.97); }
  /* flag button: gradient scrim + hairline glass edge over the flag photo. NO backdrop-filter here —
     a blur(2px) under a .45-.70 scrim is imperceptible but would add a per-frame blur surface. */
  body.home .cbs-hero #btnSecondary.cbs-has-flag { border: 0 !important; isolation: isolate; overflow: hidden !important; }
  body.home .cbs-hero #btnSecondary.cbs-has-flag::before { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; background: linear-gradient(180deg, rgba(5,8,13,.45) 0%, rgba(5,8,13,.70) 100%) !important; box-shadow: inset 0 0 0 1px rgba(255,255,255,.22), inset 0 1px 0 rgba(255,255,255,.14); }
  body.home .cbs-hero #btnSecondary.cbs-has-flag > span { position: relative; z-index: 2; text-shadow: 0 1px 5px rgba(0,0,0,.9) !important; }

  /* ---- STATS: exactly THREE cells, one row, nav-pill glass material ---- */
  body.home .cbs-hero .stats { display: flex !important; flex-wrap: nowrap !important; width: 100% !important; max-width: 340px !important; height: auto !important; margin: 10px auto 0 !important; border: 1px solid rgba(255,255,255,.10) !important; border-radius: 14px !important; overflow: hidden !important; background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015)), rgba(10,13,18,.6) !important; -webkit-backdrop-filter: blur(16px) saturate(160%) !important; backdrop-filter: blur(16px) saturate(160%) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 38px -18px rgba(0,0,0,.6) !important; }
  body.home .cbs-hero .stats .stat:nth-child(n+4) { display: none !important; }
  body.home .cbs-hero .stat { flex: 1 1 0 !important; min-width: 0 !important; padding: 11px 6px 10px !important; border-bottom: 0 !important; border-right: 1px solid rgba(255,255,255,.10) !important; border-image: linear-gradient(180deg, rgba(255,255,255,0) 12%, rgba(255,255,255,.16) 50%, rgba(255,255,255,0) 88%) 1 !important; }
  body.home .cbs-hero .stat:nth-child(3) { border-right: 0 !important; border-image: none !important; }
  body.home .cbs-hero .stat .n { font-size: 21px !important; line-height: 1 !important; }
  /* 8.5px/.04em: the longest live label (AUTHORISED BRANDS, 17 mono chars ≈ 92px) fits the ~97px cell — ellipsis is a net, not the norm */
  body.home .cbs-hero .stat .l { font-size: 8.5px !important; letter-spacing: .04em !important; margin-top: 4px !important; color: rgba(255,255,255,.55) !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; max-width: 100% !important; padding: 0 2px !important; }

  /* ---- ARROWS: same glass family, floated off the bezel, tactile press ---- */
  body.home .cbs-hero .art .cbs-hero__brand-rail-wrap { padding: 0 6px !important; }
  /* NO backdrop-filter on the arrows — they sit directly over the rAF conveyor + debris keyframes, so a blur here
     would re-sample its backdrop every animation frame. A more opaque fill reads identically at 40px. */
  body.home .cbs-hero .art .cbs-hero__brand-rail-nav { width: 40px !important; height: 40px !important; background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.02)), rgba(12,15,20,.88) !important; border: 1px solid rgba(255,255,255,.16) !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 10px 22px -10px rgba(0,0,0,.7) !important; color: rgba(255,255,255,.92) !important; font-size: 16px !important; line-height: 1 !important; transition: transform .16s ease, background-color .2s ease !important; }
  body.home .cbs-hero .art .cbs-hero__brand-rail-nav:active { transform: scale(.9) !important; background: rgba(32,38,46,.9) !important; }

  /* ---- ATMOSPHERE: eased top/bottom scrim + centre-spotlight vignette (mid-haze removed), wall grade retuned, brand-glow bloom, debris depth (opacity only — no filters on animated pieces) ---- */
  body.home .cbs-hero::after { background: linear-gradient(180deg, rgba(6,8,13,.88) 0%, rgba(6,8,13,.60) 9%, rgba(6,8,13,.28) 17%, rgba(6,8,13,.08) 25%, rgba(6,8,13,0) 33%), linear-gradient(0deg, rgba(6,8,13,.90) 0%, rgba(6,8,13,.64) 9%, rgba(6,8,13,.32) 18%, rgba(6,8,13,.10) 27%, rgba(6,8,13,0) 36%), radial-gradient(120% 85% at 50% 46%, rgba(6,8,13,0) 44%, rgba(6,8,13,.06) 62%, rgba(6,8,13,.32) 100%) !important; }
  body.home .cbs-hero .hero-wall__bg { filter: brightness(1.12) contrast(1.06) saturate(1.08) !important; }
  body.home .cbs-hero .cbs-mob-art .hero-wall__glow { width: 310px !important; max-width: 310px !important; height: 310px !important; }
  body.home .cbs-hero .cbs-mob-art .pieces .piece:nth-child(odd) { opacity: .55 !important; }

  /* ---- SMOOTHNESS: promote ONLY the conveyor (rAF writes its transform every frame). Text spans are deliberately
     NOT will-change'd — permanently layerized text goes soft on iOS (raster once, resample forever), and the browser
     promotes them on demand for the once-per-6s fades anyway. ---- */
  body.home .cbs-hero .cbs-mob-art .conveyor { will-change: transform; }
}

/* SHORT phones (<=780px tall): identical design, compacted so the stats baseline stays above the fold down to ~568px-tall screens */
@media (max-width: 600px) and (max-height: 780px) {
  body.home .cbs-hero .wrap { padding: 106px 16px max(18px, calc(env(safe-area-inset-bottom) + 12px)) !important; }
  /* higher-specificity admin-bar rule from the tall block would otherwise pin 166px on logged-in short phones */
  body.admin-bar.home .cbs-hero .wrap { padding-top: 152px !important; }
  body.home .cbs-hero h1 { font-size: clamp(26px, 8vw, 32px) !important; }
  body.home .cbs-hero .art { min-height: 250px !important; }
  body.home .cbs-hero .cta { margin-top: 12px !important; }
  body.home .cbs-hero .cta .btn { height: 42px !important; font-size: clamp(9.5px, 2.8vw, 10.5px) !important; }
  body.home .cbs-hero .stats { margin-top: 8px !important; }
  body.home .cbs-hero .stat { padding: 8px 5px 7px !important; }
  body.home .cbs-hero .stat .n { font-size: 19px !important; }
  body.home .cbs-hero .cbs-mob-art .hero-wall__glow { width: 250px !important; max-width: 250px !important; height: 250px !important; }
  body.home .cbs-hero .art .cbs-hero__brand-rail-nav { width: 36px !important; height: 36px !important; font-size: 14px !important; }
}

/* Reduced-motion users get the old always-solid text (no rise gate, no crossfades) — also gives the rAF-paused
   verification harness a deterministic solid state (emulate prefers-reduced-motion when screenshotting). */
@media (max-width: 600px) and (prefers-reduced-motion: reduce) {
  body.home .cbs-hero h1 .h1line,
  body.home .cbs-hero .cta,
  body.home .cbs-hero .cta .btn span,
  body.home .cbs-hero .stat .n,
  body.home .cbs-hero .stat .l,
  body.home .cbs-hero .stats,
  body.home .cbs-hero .stat { opacity: 1 !important; transform: none !important; }
}
/* ===== End CBS-MOBILE-V3 ===== */

/* ===== CBS-MOBILE-V4 (2026-07-09b) — user refinements (mobile only). (1) Remove the white announcement
   ticker on phones + float the corner pill to the top (it no longer needs to clear the strip). (2) Bigger
   broken-wall group (hole/cracks/glow/conveyor). (3) Debris: smaller bricks, FULL opacity (revert the
   see-through odd pieces from V3). (4) BG brick wall clearly visible — brighter texture + lighter scrim.
   (5) Premium top-to-bottom spacing rhythm. Appended LAST: wins every same-specificity tie. CSS ONLY. ===== */

/* (1) ticker gone + pill to the top (phones). Scoped to home (only home has the ticker; inner pages already
   sit the pill at ~12px). --cbs-corner-top keeps the search dropdown docked under the repositioned pill. */
@media (max-width: 767px) {
  body.home .cbs-home__ticker { display: none !important; }
  body.home .cbs-nav__corner { top: 14px !important; }
  body.home.admin-bar .cbs-nav__corner { top: 60px !important; }
  body.home .cbs-nav { --cbs-corner-top: 14px !important; }
  body.home.admin-bar .cbs-nav { --cbs-corner-top: 60px !important; }
}

@media (max-width: 600px) {
  /* (5) spacing rhythm: headline near the top with air (ticker no longer eats it), the broken-wall art is the
     centrepiece, buttons + stats form a tight cluster on a deliberate bottom baseline */
  body.home .cbs-hero .wrap { padding: 78px 18px max(28px, calc(env(safe-area-inset-bottom) + 18px)) !important; }
  body.home.admin-bar .cbs-hero .wrap { padding-top: 124px !important; }
  body.home .cbs-hero h1 { margin: 0 0 4px !important; }
  body.home .cbs-hero .cta { margin-top: 20px !important; }
  body.home .cbs-hero .stats { margin-top: 12px !important; }

  /* (4) BG brick wall clearly visible: brighter texture + a much lighter legibility scrim (only enough to
     keep the headline + stats readable; the wall reads through everywhere else) */
  body.home .cbs-hero .hero-wall__bg { filter: brightness(1.6) contrast(1.03) saturate(1.06) !important; }
  body.home .cbs-hero::after { background:
    linear-gradient(180deg, rgba(6,8,13,.70) 0%, rgba(6,8,13,.34) 9%, rgba(6,8,13,.10) 18%, rgba(6,8,13,0) 26%),
    linear-gradient(0deg,   rgba(6,8,13,.80) 0%, rgba(6,8,13,.44) 9%, rgba(6,8,13,.14) 19%, rgba(6,8,13,0) 30%),
    radial-gradient(120% 92% at 50% 46%, rgba(6,8,13,0) 52%, rgba(6,8,13,.03) 72%, rgba(6,8,13,.18) 100%) !important; }

  /* (2) broken-wall group BIGGER (~1.22x): hole + both crack layers + glow + conveyor */
  body.home .cbs-hero .cbs-mob-art { width: 360px !important; height: 384px !important; }
  body.home .cbs-hero .cbs-mob-art #wallHole { width: 280px !important; max-width: 280px !important; height: 280px !important; }
  body.home .cbs-hero .cbs-mob-art .hero-wall__cracks { width: 490px !important; max-width: 490px !important; height: 495px !important; }
  body.home .cbs-hero .cbs-mob-art .hero-wall__cracks-bg { width: 366px !important; max-width: 366px !important; height: 368px !important; }
  body.home .cbs-hero .cbs-mob-art .hero-wall__glow { width: 372px !important; max-width: 372px !important; height: 372px !important; }
  body.home .cbs-hero .cbs-mob-art .conveyor { width: 315px !important; height: 315px !important; }

  /* (3) debris: shrink each brick (scale the .piece, NOT the drift-animated img inside it) + FULL opacity */
  body.home .cbs-hero .cbs-mob-art .pieces { width: 430px !important; height: 430px !important; }
  body.home .cbs-hero .cbs-mob-art .pieces .piece { transform: scale(.66) !important; }
  body.home .cbs-hero .cbs-mob-art .pieces .piece:nth-child(odd) { opacity: 1 !important; }
}

/* SHORT phones (<=780px tall): same refinements, sized down so the stack still fits one screen */
@media (max-width: 600px) and (max-height: 780px) {
  body.home .cbs-hero .wrap { padding-top: 72px !important; }
  body.home.admin-bar .cbs-hero .wrap { padding-top: 118px !important; }
  body.home .cbs-hero .cbs-mob-art { width: 296px !important; height: 308px !important; }
  body.home .cbs-hero .cbs-mob-art #wallHole { width: 226px !important; max-width: 226px !important; height: 226px !important; }
  body.home .cbs-hero .cbs-mob-art .hero-wall__cracks { width: 392px !important; max-width: 392px !important; height: 396px !important; }
  body.home .cbs-hero .cbs-mob-art .hero-wall__cracks-bg { width: 294px !important; max-width: 294px !important; height: 296px !important; }
  body.home .cbs-hero .cbs-mob-art .hero-wall__glow { width: 300px !important; max-width: 300px !important; height: 300px !important; }
  body.home .cbs-hero .cbs-mob-art .conveyor { width: 254px !important; height: 254px !important; }
  body.home .cbs-hero .cbs-mob-art .pieces { width: 360px !important; height: 360px !important; }
}
/* ===== End CBS-MOBILE-V4 ===== */

/* ===== CBS-MOBILE-V5 (2026-07-09c) — user refinements (mobile only). (1) Kill the residual left
   wall "shadow": fade the back crack-rubble layer's side edges into the clean wall + drop the ::after
   corner vignette (keep only the top/bottom text scrims). (2) Move the debris OFF the product: scale
   the .pieces LAYER up so the %-positioned bricks spread out from centre, shrink each brick to stay
   small + FULL opacity, nudge the cloud up + fade its bottom so none land on the buttons. (3) More air
   between the header pill and the headline. (4) Hide the header pill on scroll. Appended LAST. ===== */

@media (max-width: 767px) {
  /* (4) hide the corner pill on scroll-down. The shared header scroll JS already toggles .is-hidden on
     [data-cbs-nav] (past 150px, guarded against open shop/search/drawer) and removes it on scroll-up /
     stop / near-top — so this is the only piece missing on mobile. */
  .cbs-nav__corner { transition: transform .35s ease, opacity .3s ease; }
  .cbs-nav.is-hidden .cbs-nav__corner { transform: translateY(-160%) !important; opacity: 0 !important; pointer-events: none !important; }
}

@media (max-width: 600px) {
  /* (3) more breathing room between the header pill and the headline (premium) */
  body.home .cbs-hero .wrap { padding-top: 106px !important; }
  body.home.admin-bar .cbs-hero .wrap { padding-top: 152px !important; }
  body.home .cbs-hero h1 { margin: 0 0 6px !important; }

  /* (1) LEFT SHADOW: fade the unmasked BACK crack layer's horizontal edges into the clean wall (its
     dark rubble was spilling a shadow onto the left), and remove the ::after corner-vignette radial so
     neither side edge is darkened — keep only the top/bottom legibility scrims. (Front #cracks keeps its
     radial reveal mask untouched, so the burn animation is unaffected.) */
  body.home .cbs-hero .cbs-mob-art .hero-wall__cracks-bg {
    -webkit-mask: linear-gradient(90deg, transparent 0%, #000 27%, #000 73%, transparent 100%) !important;
            mask: linear-gradient(90deg, transparent 0%, #000 27%, #000 73%, transparent 100%) !important; }
  body.home .cbs-hero::after { background:
    linear-gradient(180deg, rgba(6,8,13,.70) 0%, rgba(6,8,13,.34) 9%, rgba(6,8,13,.10) 18%, rgba(6,8,13,0) 26%),
    linear-gradient(0deg,   rgba(6,8,13,.80) 0%, rgba(6,8,13,.44) 9%, rgba(6,8,13,.14) 19%, rgba(6,8,13,0) 30%) !important; }

  /* (2) DEBRIS off the product: layer scaled up spreads the bricks outward from centre; each brick
     shrunk (scale the .piece, NOT the drift-animated img) so they stay small at full opacity; the cloud
     is nudged up + bottom-faded so no brick lands on the CTA buttons. */
  body.home .cbs-hero .cbs-mob-art .pieces {
    transform: translate(-58%, -53%) scale(1.85) !important;
    -webkit-mask: linear-gradient(180deg, #000 82%, transparent 99%) !important;
            mask: linear-gradient(180deg, #000 82%, transparent 99%) !important; }
  body.home .cbs-hero .cbs-mob-art .pieces .piece { transform: scale(.30) !important; }
}

/* SHORT phones (<=780px tall): same, with a smaller pill→headline gap so it still fits */
@media (max-width: 600px) and (max-height: 780px) {
  body.home .cbs-hero .wrap { padding-top: 92px !important; }
  body.home.admin-bar .cbs-hero .wrap { padding-top: 138px !important; }
  body.home .cbs-hero .cbs-mob-art .pieces {
    transform: translate(-58%, -56%) scale(1.62) !important;
    -webkit-mask: linear-gradient(180deg, #000 78%, transparent 98%) !important;
            mask: linear-gradient(180deg, #000 78%, transparent 98%) !important; }
}
/* ===== End CBS-MOBILE-V5 ===== */

/* ===== CBS-MOBILE-V6 (2026-07-09d) — ROOT CAUSE of the "hard left shadow": it was the DEBRIS. V5 spread
   the .pieces cloud outward to clear the product, which pushed the dark bricks onto the far-LEFT screen
   edge where they piled into a shadow band (proven by elimination in the 390 harness: hiding ONLY .pieces
   removed the band; hiding the whole .cbs-mob-art left the wall perfectly uniform). FIX: fade the debris
   at ALL FOUR edges (was bottom-only) so they frame the hole but dissolve before the screen edges — no
   edge shadow, product stays clear, none on the buttons. Two mask layers (H + V) composited with
   intersect / -webkit source-in. Mobile only, appended LAST. ===== */
@media (max-width: 600px) {
  body.home .cbs-hero .cbs-mob-art .pieces {
    -webkit-mask: linear-gradient(90deg, transparent 0%, #000 17%, #000 83%, transparent 100%), linear-gradient(180deg, transparent 1%, #000 13%, #000 80%, transparent 99%) !important;
    -webkit-mask-composite: source-in !important;
            mask: linear-gradient(90deg, transparent 0%, #000 17%, #000 83%, transparent 100%), linear-gradient(180deg, transparent 1%, #000 13%, #000 80%, transparent 99%) !important;
            mask-composite: intersect !important;
  }
}
/* SHORT phones: slightly tighter vertical fade so nothing reaches the (closer) buttons */
@media (max-width: 600px) and (max-height: 780px) {
  body.home .cbs-hero .cbs-mob-art .pieces {
    -webkit-mask: linear-gradient(90deg, transparent 0%, #000 18%, #000 82%, transparent 100%), linear-gradient(180deg, transparent 1%, #000 14%, #000 78%, transparent 99%) !important;
    -webkit-mask-composite: source-in !important;
            mask: linear-gradient(90deg, transparent 0%, #000 18%, #000 82%, transparent 100%), linear-gradient(180deg, transparent 1%, #000 14%, #000 78%, transparent 99%) !important;
            mask-composite: intersect !important;
  }
}
/* ===== End CBS-MOBILE-V6 ===== */

/* ===== CBS-MOBILE-V7 (2026-07-09e) — ACTUAL root cause of the "hard left shadow": the
   .hero-wall::after pseudo (CBS-HERO-FULLBLEED V2 above) paints a 90deg gradient that is 95%
   BLACK at the LEFT edge, fading out by 36% — a DESKTOP text-side frame (copy sits left on
   desktop). On mobile the copy is CENTERED, so it was pure unwanted shadow on the left margin.
   Pseudo-element gated on page-template-home-page-template -> invisible to DOM scans /
   elementsFromPoint AND untouched by every body.home mobile kill-rule, which is why the
   V1..V6 debris/cracks/leftshade/scrim passes all missed it. Neutralise on phones only;
   desktop keeps its intended left frame. Proven by headless 390px render + PIL luminance:
   far-left 5 -> 18, left/right asymmetry -15 -> ~0. Mobile only (<=600), appended LAST. ===== */
@media (max-width: 600px) {
  body.page-template-home-page-template .cbs-hero .hero-wall::after { background: none !important; }
}
/* ===== End CBS-MOBILE-V7 ===== */

/* ===== CBS-NAV-V3 (2026-07-09f) — MOBILE NAV pass. (1) Bring the WISHLIST icon into the corner
   pill (it was hidden ≤1023 alongside account). (2) FIX the drawer "dead taps": the
   .cbs-nav__mobile-scrim (position:absolute, z-index:auto) followed the panel in the DOM, so it
   PAINTED OVER the panel and swallowed every tap on a menu item (only the close button, z-index:2,
   escaped) — the drawer just closed. Fix = explicit stacking (panel above scrim); the V3 markup
   also moves the scrim before the panel as belt-and-braces. (3) Polish the bottom sheet: grip
   handle + header row, Phosphor-iconed rows with trailing carets, refined accordions. Every rule
   scoped to the drawer (only ever shown ≤1023) or gated ≤1023; desktop untouched. Appended LAST. ===== */

/* (1) wishlist back in the pill (account stays hidden) */
@media (max-width: 1023px){
  .cbs-nav__util-item--wishlist{ display: inline-flex !important; }
}

/* (2) + (3) — drawer (hamburger only exists ≤1023, so scope the whole thing there) */
@media (max-width: 1023px){
  /* stacking: panel above scrim, close above panel content */
  .cbs-nav__mobile-scrim{ z-index: 1; }
  .cbs-nav__mobile-panel{ z-index: 2; }

  /* sheet shell: a touch more radius + room for the grip/header */
  .cbs-nav__mobile-panel{
    padding: 8px 14px calc(88px + env(safe-area-inset-bottom, 0px)) !important;
    border-radius: 24px 24px 0 0 !important;
    max-height: 88vh !important;
  }

  /* grip handle */
  .cbs-nav__mobile-grip{
    display: block; width: 40px; height: 4px; border-radius: 999px;
    background: rgba(255,255,255,.20); margin: 4px auto 8px;
  }

  /* header row (Menu + close), close moved out of the absolute corner into the row */
  .cbs-nav__mobile-head{
    display: flex; align-items: center; justify-content: space-between;
    padding: 0 4px 12px; margin-bottom: 6px;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  .cbs-nav__mobile-eyebrow{
    font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace);
    font-size: 11px; letter-spacing: .26em; text-transform: uppercase;
    color: var(--cbs-brand, #4aa3cc);
  }
  .cbs-nav__mobile-close{
    position: static !important; top: auto !important; right: auto !important;
    width: 34px !important; height: 34px !important;
  }

  /* primary rows: icon + label + trailing caret */
  .cbs-nav__mobile-list{ gap: 2px !important; margin: 6px 0 8px !important; }
  .cbs-nav__mobile-list a{
    display: flex !important; align-items: center; gap: 13px;
    padding: 12px 12px !important; border-radius: 13px !important;
    font-size: 15px !important; letter-spacing: .05em !important;
    transition: background .15s ease, color .15s ease, transform .06s ease;
  }
  .cbs-nav__mobile-list a > span{ flex: 1 1 auto; min-width: 0; }
  .cbs-nav__mobile-list a > i:first-child{
    flex: 0 0 auto; width: 24px; text-align: center; font-size: 18px;
    color: var(--cbs-brand-strong, #6cbde0);
  }
  .cbs-nav__mobile-go{
    flex: 0 0 auto; font-size: 13px !important;
    color: var(--cbs-fg-4, rgba(255,255,255,.32)) !important;
    transition: transform .16s ease, color .16s ease;
  }
  .cbs-nav__mobile-list a:active{ transform: scale(.985); }
  .cbs-nav__mobile-list a:hover, .cbs-nav__mobile-list a:active{
    background: var(--cbs-brand-soft, rgba(74,163,204,.14));
  }
  .cbs-nav__mobile-list a:hover .cbs-nav__mobile-go{
    transform: translateX(2px); color: var(--cbs-brand-strong, #6cbde0);
  }
  /* clearance accent */
  .cbs-nav__mobile-list a.cbs-nav__mobile-sale > i:first-child{ color: #ff5a7a; }
  .cbs-nav__mobile-list a.cbs-nav__mobile-sale > span{ color: #ff7d95; }

  /* accordion groups */
  .cbs-nav__mobile-groups{
    margin-top: 2px; padding-top: 6px;
    border-top: 1px solid rgba(255,255,255,.08);
  }
  .cbs-nav__mobile-group{ border-top: none !important; padding-top: 0 !important; margin-top: 0 !important; }
  .cbs-nav__mobile-group summary{ padding: 13px 12px !important; border-radius: 11px; }
  .cbs-nav__mobile-group summary::after{ display: none !important; }
  .cbs-nav__mobile-group summary i{
    font-size: 14px; color: var(--cbs-fg-3, rgba(255,255,255,.5));
    transition: transform .22s ease, color .2s ease;
  }
  .cbs-nav__mobile-group[open] summary{ background: rgba(255,255,255,.03); }
  .cbs-nav__mobile-group[open] summary i{ transform: rotate(180deg); color: var(--cbs-brand-strong, #6cbde0); }
  .cbs-nav__mobile-group ul{ padding: 2px 0 10px !important; }
  .cbs-nav__mobile-group ul a{ padding: 9px 12px 9px 20px !important; border-radius: 9px !important; }
  .cbs-nav__mobile-sub{ padding-left: 34px !important; opacity: .82; }
  .cbs-nav__mobile-acc{ font-weight: 600; }
}
/* ===== End CBS-NAV-V3 ===== */


/* ===== CBS-HOME-FIX (2026-07-09) — ONLY two fixes (everything else reverted). (1) Athlete card
   images fill their box. (2) Stacks body copy stops breaking one-word-per-line. Gated <=767 so it
   applies across phones and the 601-767 preview range. ===== */
@media (max-width: 767px){
  /* (2) STACKS body copy: the section intro is display:grid and drops the <p> into a ~52px track,
     so every word wraps. Make the intro a normal block -> the paragraph fills the width and wraps. */
  body.page-template-home-page-template .cbs-home__stack .cbs-trust__intro{ display: block !important; }

  /* (1) ATHLETE images fill the card box: the media had a fixed height shorter than the card, leaving
     a black gap. Let the media stretch to the card height and the image fill it. */
  body.page-template-home-page-template .cbs-home__ath--roster .cbs-ath__card{ align-items: stretch !important; }
  body.page-template-home-page-template .cbs-home__ath--roster .cbs-ath__media{
    height: auto !important; aspect-ratio: auto !important; align-self: stretch !important;
  }
  body.page-template-home-page-template .cbs-home__ath--roster .cbs-ath__img{
    width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important;
  }
}
/* ===== End CBS-HOME-FIX ===== */


/* ===== CBS-INTEGRITY-BOX (2026-07-10) — mobile: put the "#1 ..." rank box on the SAME ROW as
   "Integrity" (was stacked above), then "Without Compromise." below. Shrink the title + compact the
   box so they fit one row from ~360px up. Gated <=767. ===== */
@media (max-width: 767px){
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__title-row1{
    display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important;
    align-items: flex-end !important; gap: 10px !important; width: 100% !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__title-row1 .cbs-trust__title-em{
    flex: 0 1 auto !important; font-size: clamp(28px, 8vw, 46px) !important; line-height: .86 !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__rank-wrap{
    flex: 0 0 auto !important; margin: 0 !important; max-width: 152px !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__rank{ gap: 9px !important; padding: 9px 11px !important; }
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__rank-num{ font-size: 30px !important; }
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__rank-label{
    font-size: 8px !important; letter-spacing: .12em !important; line-height: 1.32 !important;
  }
}
/* ===== End CBS-INTEGRITY-BOX ===== */


/* ===== CBS-TRUST-SCROLLFLIP (2026-07-11) — mobile Integrity: REVERT the carousel/deck back to a
   scroll-driven flip. The header + card PIN (sticky) and the 4 trust cards flip as you scroll through
   a runway, then release. VERTICAL flip (rotateX, top-over-bottom). No arrows / no swipe — the dots are
   just a passive progress indicator. Face APPEARANCE is owned by CBS-TRUST-CARD-V2 (later in file);
   this block only does the pin + flip mechanics. <=767; desktop keeps the normal list. ===== */
@media (max-width: 767px){
  body.page-template-home-page-template .cbs-home__trust[data-tflip="1"] .cbs-trust__list{ display: none !important; }

  /* pin the header + card while scrolling through the runway */
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__pin{
    position: -webkit-sticky; position: sticky; top: 58px;
    min-height: 100svh; min-height: 100vh;
    display: flex; flex-direction: column; justify-content: center;
    padding: 8px 0 24px; box-sizing: border-box;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__pin > .cbs-container{
    padding-left: 0 !important; padding-right: 0 !important;
  }

  /* flip stage */
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip{
    position: relative; width: 100%; max-width: 440px; margin: 22px auto 0; height: 216px;
    perspective: 1200px; -webkit-perspective: 1200px;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__card{
    position: absolute; inset: 0; transform-style: preserve-3d; -webkit-transform-style: preserve-3d;
    transition: transform .46s cubic-bezier(.45,.05,.2,1); will-change: transform;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face{
    position: absolute; inset: 0; -webkit-backface-visibility: hidden; backface-visibility: hidden;
  }
  /* VERTICAL flip: pre-rotate the back face on the X axis so its content reads upright when shown */
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face--back{ transform: rotateX(180deg); }

  /* passive progress dots (NOT a carousel — no pointer interaction) */
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__dots{
    display: flex; gap: 8px; justify-content: center; margin-top: 22px; pointer-events: none;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__dot{
    width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,.2); transition: all .35s ease;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__dot.is-on{
    background: var(--cbs-edge, #6cbde0); width: 22px; border-radius: 4px;
  }

  /* safety: kill any legacy carousel controls if present */
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__ctrl,
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__arrow{ display: none !important; }
}
/* ===== End CBS-TRUST-SCROLLFLIP ===== */


/* ===== CBS-STACK-DECK (2026-07-10) - MOBILE PRE-BUILT STACKS: the 4 stack tiles pin (CSS sticky) and
   pile into a growing deck as you scroll. Each card lands a "peek" lower than the last so its number +
   title stay readable at the top edge; the CBS-STACK-DECK JS scales every underneath card down a notch
   per layer (deepest = smallest) for depth. Gated <=767 only (desktop keeps the 2-col grid). Sticky is
   enabled by clipping (not hiding) overflow-x on main.cbs-home - hidden made it a scroll-container which
   breaks position:sticky vs the viewport. See [[cbs-home-mobile-breakpoint]] / [[wp-theme-editor-recipes]]. ===== */
@media (max-width: 767px){

  /* --- (a) STICKY ENABLER: main.cbs-home has overflow-x:hidden -> overflow-y computes to auto -> it
     becomes a scroll-container and swallows the cards' stickiness. clip stops the horizontal bleed the
     same way but does NOT create a scroll-container, so the cards stick to the viewport. body.cbs-body
     is already overflow-x:clip globally; #page/.site-content are defensive. --- */
  body.page-template-home-page-template main.cbs-home{
    overflow-x: clip !important;
    overflow-y: visible !important;
  }
  body.page-template-home-page-template #page,
  body.page-template-home-page-template .site-content{
    overflow-x: clip !important;
  }

  /* --- (b) the section / container / grid must not clip the pinned pile --- */
  body.page-template-home-page-template .cbs-home__stack{ overflow: visible !important; }
  body.page-template-home-page-template .cbs-home__stack .cbs-container{ overflow: visible !important; }

  body.page-template-home-page-template .cbs-home__stack-grid{
    display: block !important;          /* was grid -> plain block flow so the cards stack + overlap */
    overflow: visible !important;
    gap: 0 !important;
    padding-bottom: 26vh !important;     /* hold the completed deck a beat, then release to normal scroll */
    /* tunables (JS refines --cbs-deck-top + --cbs-deck-peek from live measurements) */
    --cbs-deck-top: 108px;               /* pin offset - sits just below the fixed corner pill */
    --cbs-deck-peek: 64px;               /* header peek height (number + title) */
  }

  /* --- (c) the cards: each pins at top = deck-top + index*peek, so they pile with headers peeking --- */
  body.page-template-home-page-template .cbs-home__stack-grid > .cbs-stack-tile{
    position: -webkit-sticky !important;
    position: sticky !important;
    margin: 0 0 18px !important;         /* small pre-pin flow gap between cards */
    transform: scale(var(--deck-scale, 1)) !important;   /* JS drives per-layer shrink via --deck-scale */
    transform-origin: 50% 0 !important;  /* scale about the TOP edge so the peeking header stays put */
    -webkit-transform-origin: 50% 0 !important;
    will-change: transform;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    -webkit-mask: none !important;       /* drop the notch mask - it glitches under transform:scale */
    mask: none !important;
  }
  body.page-template-home-page-template .cbs-home__stack-grid > .cbs-stack-tile:nth-child(1){ top: var(--cbs-deck-top) !important; z-index: 1 !important; }
  body.page-template-home-page-template .cbs-home__stack-grid > .cbs-stack-tile:nth-child(2){ top: calc(var(--cbs-deck-top) + var(--cbs-deck-peek)) !important; z-index: 2 !important; }
  body.page-template-home-page-template .cbs-home__stack-grid > .cbs-stack-tile:nth-child(3){ top: calc(var(--cbs-deck-top) + var(--cbs-deck-peek) * 2) !important; z-index: 3 !important; }
  body.page-template-home-page-template .cbs-home__stack-grid > .cbs-stack-tile:nth-child(4){ top: calc(var(--cbs-deck-top) + var(--cbs-deck-peek) * 3) !important; z-index: 4 !important; }

  /* kill the dashed perforation line (belongs to the boarding-pass notch look we drop here) */
  body.page-template-home-page-template .cbs-home__stack .cbs-stack-tile__barcode::before{ display: none !important; content: none !important; }

  /* --- (d) compact single-row PEEK header: "01  HARDCORE LIFTERS" on one baseline; meta drops below
     it (covered when stacked, shown when the card is on top/active) --- */
  body.page-template-home-page-template .cbs-home__stack .cbs-stack-tile__hd{
    display: block !important;
    grid-template-columns: none !important;
    padding: 4px 4px 0 !important;
    margin-bottom: 16px !important;
  }
  body.page-template-home-page-template .cbs-home__stack .cbs-stack-tile__title{
    flex-direction: row !important;
    align-items: baseline !important;
    gap: 12px !important;
  }
  body.page-template-home-page-template .cbs-home__stack .cbs-stack-tile__numwrap{ gap: 0 !important; align-items: baseline !important; }
  body.page-template-home-page-template .cbs-home__stack .cbs-stack-tile__num{
    font-size: 42px !important; line-height: .9 !important;
  }
  body.page-template-home-page-template .cbs-home__stack .cbs-stack-tile__numlabel{ display: none !important; }
  body.page-template-home-page-template .cbs-home__stack .cbs-stack-tile__stackname{
    font-size: 22px !important; line-height: 1.02 !important;
  }
  body.page-template-home-page-template .cbs-home__stack .cbs-stack-tile__meta{
    flex-direction: row !important; flex-wrap: wrap !important;
    gap: 10px 22px !important; min-width: 0 !important; margin-top: 24px !important;
  }

  /* honour reduced-motion: no per-layer scale (sticky pile still forms, just no shrink) */
  @media (prefers-reduced-motion: reduce){
    body.page-template-home-page-template .cbs-home__stack-grid > .cbs-stack-tile{ transform: none !important; }
  }
}
/* ===== End CBS-STACK-DECK ===== */


/* ===== CBS-BRANDS-MOB-2UP (2026-07-10) - MOBILE Shop-by-Brand: 2 stamps per row for the first 10, the
   11th spans full width (scales to the margins end to end). Flag reveal is scroll-driven with a smooth
   distance falloff so it eases in/out with NO flicker: the CBS-BRANDS-FLAG JS sets --cbs-flag-op (0..1)
   on each stamp from how close its centre is to the viewport centre, driving the ::before country flag.
   Hover is removed on touch. <=767 only; desktop keeps its hover reveal. ===== */
@media (max-width: 767px){
  body.page-template-home-page-template .cbs-home__brand-rail{
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
    grid-auto-rows: 1fr !important;              /* equal-height rows so paired stamps match */
  }
  /* 11th stamp = solo, full bleed across both columns */
  body.page-template-home-page-template .cbs-home__brand-rail > .cbs-brand-chip:nth-child(11){
    grid-column: 1 / -1 !important;
  }

  /* scroll-driven flag: JS sets --cbs-flag-op per frame (smoothstep falloff) -> eased, no flicker */
  body.page-template-home-page-template .cbs-brand-chip::before{
    opacity: var(--cbs-flag-op, 0) !important;
    transition: none !important;
  }

  /* REMOVE hover on touch: a tap otherwise sticks :hover (stuck flag + lift/tilt) */
  body.page-template-home-page-template .cbs-brand-chip:hover,
  body.page-template-home-page-template .cbs-brand-chip:nth-child(even):hover{
    transform: none !important;
  }
  body.page-template-home-page-template .cbs-brand-chip:hover::before{
    opacity: var(--cbs-flag-op, 0) !important;
  }
  body.page-template-home-page-template .cbs-brand-chip:hover .cbs-brand-chip__name{
    color: inherit !important;
  }
}
/* ===== End CBS-BRANDS-MOB-2UP ===== */




/* ===== CBS-CAROUSEL-MOB-CENTER (2026-07-10) - MOBILE: the Dress-the-Part + Top-Movers carousels become
   a single-card, centre-snap carousel with working Prev/Next arrows. No auto-scroll (the CBS-CAROUSEL-V14
   drift is set to 0 on mobile in the JS). <=767 only; desktop keeps the multi-up scroller. ===== */
@media (max-width: 767px){
  body.page-template-home-page-template .cbs-prod-carousel{ --cw: min(82vw, 520px); }

  body.page-template-home-page-template .cbs-prod-carousel .cbs-prod-grid{
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    scroll-padding: 0 !important;
    gap: 14px !important;
    padding: 4px 0 14px !important;
  }
  /* spacers so the first & last card can sit dead-centre */
  body.page-template-home-page-template .cbs-prod-carousel .cbs-prod-grid::before,
  body.page-template-home-page-template .cbs-prod-carousel .cbs-prod-grid::after{
    content: "" !important;
    flex: 0 0 calc((100% - var(--cw)) / 2) !important;
    min-width: 0 !important;
    scroll-snap-align: none !important;
  }
  body.page-template-home-page-template .cbs-prod-carousel .cbs-prod-item{
    flex: 0 0 var(--cw) !important;
    width: var(--cw) !important;
    max-width: none !important;
    scroll-snap-align: center !important;
  }

  /* SHOW the arrows (were display:none <=760) - glass pills at the sides */
  body.page-template-home-page-template .cbs-prod-carousel .cbs-prod-arrow{
    display: inline-flex !important;
    position: absolute !important;
    top: 48% !important; bottom: auto !important;
    width: 40px !important; height: 40px !important;
    z-index: 30 !important;
    background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.02)), rgba(12,15,20,.92) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
    box-shadow: 0 8px 20px rgba(0,0,0,.55) !important;
  }
  body.page-template-home-page-template .cbs-prod-carousel .cbs-prod-arrow--prev{ left: 6px !important; right: auto !important; transform: translateY(-50%) !important; }
  body.page-template-home-page-template .cbs-prod-carousel .cbs-prod-arrow--next{ right: 6px !important; left: auto !important; transform: translateY(-50%) !important; }
  body.page-template-home-page-template .cbs-prod-carousel .cbs-prod-arrow:disabled{ opacity: .28 !important; }
}
/* ===== End CBS-CAROUSEL-MOB-CENTER ===== */


/* ===== CBS-TAB-NOWRAP (2026-07-10) - filter tab labels (Dress-the-Part + Top-Movers, and any .cbs-tabs)
   stay on ONE line. They were wrapping at the hyphen (PRE-WORKOUT, T-SHIRTS) because the mobile tab row
   is flex-wrap:nowrap + overflow-x:auto and the tabs flex-shrink below their text width. Keep them full
   width (no shrink) + no wrap so each label is a single line and the row scrolls instead. ===== */
.cbs-tabs .cbs-tab{
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
/* ===== End CBS-TAB-NOWRAP ===== */


/* ===== CBS-HERO-BTN-NAV (2026-07-10) - (1) hero CTA buttons take the same corner radius as the stats
   box (var(--r-card)); (2) the mobile header nav (corner pill) hides on scroll-down and only comes back
   on a swipe-UP (or at the top) - not on scroll-stop. The .cbs-nav-corner-away class is toggled by the
   CBS-NAV-CORNER-UP JS; it holds the pill hidden even after the theme's inline nav script removes
   .is-hidden on scroll-stop. <=767 only. ===== */
@media (max-width: 767px){
  /* (1) buttons match the stats-box radius */
  body.page-template-home-page-template .cbs-hero .cta .btn{
    border-radius: var(--r-card) !important;
  }

  /* (2) corner pill hide state (JS-controlled: show only on swipe-up / at top) */
  .cbs-nav__corner{ transition: transform .34s cubic-bezier(.22,.61,.36,1), opacity .3s ease; }
  .cbs-nav__corner.cbs-nav-corner-away{
    transform: translateY(-160%) !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}
/* ===== End CBS-HERO-BTN-NAV ===== */


/* ===== CBS-SECTION-LINES-MOB (2026-07-10) - MOBILE: remove the rule lines drawn around each section's
   body copy (the ::intro border-bottom under it, and the border-top + border-left on the sub/manifesto)
   and tighten the heading->body gap. Integrity's intro is a display:grid whose 56px row-gap made the
   space; the other sections' body copy had a 20px padding-top. <=767 only; desktop unchanged. ===== */
@media (max-width: 767px){
  /* (a) remove the below-body line + shrink the trailing gap on every section intro (per-section for specificity) */
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__intro,
  body.page-template-home-page-template .cbs-home__stack .cbs-trust__intro,
  body.page-template-home-page-template .cbs-home__brands .cbs-trust__intro,
  body.page-template-home-page-template .cbs-home__apparel .cbs-trust__intro,
  body.page-template-home-page-template .cbs-home__best .cbs-trust__intro,
  body.page-template-home-page-template .cbs-home__ath .cbs-trust__intro,
  body.page-template-home-page-template .cbs-home__blog .cbs-trust__intro{
    border-bottom: 0 !important;
    margin-bottom: 22px !important;
  }

  /* (b) Integrity intro is a grid -> shrink the 56px row-gap that split heading + body */
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__intro{
    row-gap: 14px !important;
    gap: 14px !important;
  }

  /* (c) body copy: drop the top + left rule lines, small heading->body padding */
  body.page-template-home-page-template .cbs-home__stack .cbs-home__sub,
  body.page-template-home-page-template .cbs-home__brands .cbs-home__sub,
  body.page-template-home-page-template .cbs-home__apparel .cbs-home__sub,
  body.page-template-home-page-template .cbs-home__best .cbs-home__sub,
  body.page-template-home-page-template .cbs-home__ath .cbs-home__sub,
  body.page-template-home-page-template .cbs-home__blog .cbs-home__sub{
    border-top: 0 !important;
    border-left: 0 !important;
    padding-top: 12px !important;
    padding-left: 0 !important;
    margin-top: 0 !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__intro > .cbs-trust__manifesto,
  body.page-template-home-page-template .cbs-trust__manifesto{
    border-top: 0 !important;
    border-left: 0 !important;
    padding-top: 2px !important;
    padding-left: 0 !important;
    margin-top: 0 !important;
  }
}
/* ===== End CBS-SECTION-LINES-MOB ===== */


/* ===== CBS-SECTION-GAP-MATCH (2026-07-10) - MOBILE: make the heading->body gap identical to the STACKS
   section (12px) on every home section. Stacks' intro is display:block so its gap is just the 12px body
   padding-top; the other intros are display:grid whose row-gap (28px on brands/apparel/best, 14px on
   Integrity) added extra space. Zero those row-gaps and give the body copy the same 12px padding-top. ===== */
@media (max-width: 767px){
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__intro,
  body.page-template-home-page-template .cbs-home__brands .cbs-trust__intro,
  body.page-template-home-page-template .cbs-home__apparel .cbs-trust__intro,
  body.page-template-home-page-template .cbs-home__best .cbs-trust__intro,
  body.page-template-home-page-template .cbs-home__ath .cbs-trust__intro,
  body.page-template-home-page-template .cbs-home__blog .cbs-trust__intro{
    row-gap: 0 !important;
    gap: 0 !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__intro > .cbs-trust__manifesto,
  body.page-template-home-page-template .cbs-trust__manifesto{
    padding-top: 12px !important;
  }
}
/* ===== End CBS-SECTION-GAP-MATCH ===== */



/* ===== CBS-TRUST-CARD-V2 (2026-07-10) - MOBILE: redesign the Integrity flip-deck cards so they read as
   intentional editorial index-cards, not a templated icon-box + floating number. The generic bordered
   icon square becomes a soft cyan chip; the number becomes a large OUTLINED ghost numeral that fills the
   dead space; the content clusters at the bottom with a cyan hairline; a corner-lit cyan glow adds depth.
   <=767 only (the deck is mobile). ===== */
@media (max-width: 767px){
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip{ height: 216px !important; }

  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face{
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    gap: 0 !important;
    padding: 22px 22px 22px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background:
      radial-gradient(135% 105% at 110% -10%, rgba(108,189,224,.16), transparent 46%),
      linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.006)),
      var(--cbs-bg-1, #0e1116) !important;
    box-shadow: 0 26px 60px -28px rgba(0,0,0,.85), inset 0 1px 0 rgba(255,255,255,.05) !important;
    overflow: hidden !important;
  }

  /* big outlined ghost numeral filling the top-right void */
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__n{
    position: absolute !important;
    top: -32px !important; right: -6px !important; left: auto !important; bottom: auto !important;
    margin: 0 !important; padding: 0 !important;
    font-family: var(--cbs-font-display, "Anton", sans-serif) !important;
    font-weight: 400 !important;
    font-size: 150px !important; line-height: 1 !important; letter-spacing: -.04em !important;
    color: transparent !important;
    -webkit-text-stroke: 1.6px rgba(108,189,224,.22) !important;
    z-index: 0 !important; pointer-events: none !important;
  }

  /* icon -> soft cyan chip (no generic white-border box) */
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__icon{
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    align-self: flex-start !important;
    width: auto !important; height: auto !important;
    padding: 9px !important; margin: 0 0 auto !important;
    border: 0 !important; border-radius: 12px !important;
    background: rgba(108,189,224,.12) !important;
    box-shadow: inset 0 0 0 1px rgba(108,189,224,.16) !important;
    font-size: 24px !important; line-height: 1 !important;
    color: var(--cbs-edge, #6cbde0) !important;
    position: relative !important; z-index: 2 !important;
  }

  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__copy{
    position: relative !important; z-index: 2 !important; margin-top: 14px !important;
  }
  /* claim + a short cyan hairline above it */
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__claim{
    position: relative !important;
    font-size: clamp(22px, 6.4vw, 29px) !important;
    line-height: 1.02 !important; letter-spacing: .004em !important;
    color: #fff !important;
    margin: 0 0 8px !important; padding-top: 15px !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__claim::before{
    content: "" !important;
    position: absolute !important; top: 0 !important; left: 0 !important;
    width: 30px !important; height: 3px !important; border-radius: 2px !important;
    background: var(--cbs-edge, #6cbde0) !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__sub{
    font-size: 13.5px !important; line-height: 1.55 !important;
    color: rgba(255,255,255,.66) !important;
    margin: 0 !important; max-width: 32ch !important;
  }
}
/* ===== End CBS-TRUST-CARD-V2 ===== */


/* ===== CBS-VIEWALL-CENTER (2026-07-11) — mobile: centre the "VIEW ALL APPAREL/PRODUCTS" CTA under the
   Dress-the-Part + Top-Movers carousels (was inline-flex, left-aligned in a text-align:left .cbs-container)
   and tighten the card->button gap from 36px (carousel mb 28 + btn mt 8) down to 12px. <=767; desktop
   untouched. Centre via display:flex + width:fit-content + auto side margins (NOT text-align on the shared
   container, which would also centre the heading + filter tabs). ===== */
@media (max-width: 767px){
  body.page-template-home-page-template .cbs-home__apparel .cbs-prod-carousel,
  body.page-template-home-page-template .cbs-home__best .cbs-prod-carousel{
    margin-bottom: 0 !important;
  }
  body.page-template-home-page-template .cbs-home__apparel .cbs-prod-viewall,
  body.page-template-home-page-template .cbs-home__best .cbs-prod-viewall{
    display: flex !important;
    width: -webkit-fit-content !important; width: fit-content !important;
    max-width: 100% !important;
    margin: 12px auto 0 !important;
  }
}
/* ===== End CBS-VIEWALL-CENTER ===== */


/* ===== CBS-TRUST-MOB-V3 (2026-07-11) — mobile Integrity redesign: top-anchored pin composition
   (kills the centered ~170px voids), boarding-pass card face (icon chip + mono "N° 01 / 04" stub
   row, dashed perforation, claim+sub centered in the body zone), taller adaptive card, tightened
   rhythm. Overrides CBS-TRUST-SCROLLFLIP composition + CBS-TRUST-CARD-V2 face by cascade (both
   blocks remain above). Flip mechanics/JS untouched. <=767 only; desktop untouched. ===== */
@media (max-width: 767px){
  /* --- pin composition: top-anchored like every other CBS section --- */
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__pin{
    justify-content: flex-start !important;
    padding-top: clamp(56px, 10vh, 88px) !important;
    padding-top: clamp(56px, 10svh, 88px) !important;
    padding-bottom: 24px !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip{
    margin-top: 18px !important;
    height: clamp(248px, 40vh, 312px) !important;
    height: clamp(248px, 40svh, 312px) !important;
    max-width: 440px !important;
  }

  /* --- card face: CBS boarding-pass index card --- */
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face{
    display: flex !important; flex-direction: column !important;
    justify-content: flex-start !important; align-items: stretch !important;
    gap: 0 !important;
    padding: 18px 20px 20px !important;
    border-radius: var(--r-card, 14px) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    background:
      radial-gradient(120% 90% at 108% -8%, rgba(108,189,224,.14), transparent 44%),
      linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.005)),
      var(--cbs-bg-1, #0e1116) !important;
    box-shadow: 0 24px 56px -30px rgba(0,0,0,.85), inset 0 1px 0 rgba(255,255,255,.05) !important;
    overflow: hidden !important;
  }

  /* stub row: icon chip left, mono N° right */
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__icon{
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    align-self: flex-start !important;
    width: 40px !important; height: 40px !important; padding: 0 !important; margin: 0 !important;
    border: 0 !important; border-radius: 11px !important;
    background: rgba(108,189,224,.12) !important;
    box-shadow: inset 0 0 0 1px rgba(108,189,224,.18) !important;
    font-size: 21px !important; line-height: 1 !important;
    color: var(--cbs-edge, #6cbde0) !important;
    position: relative !important; z-index: 2 !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__n{
    position: absolute !important; top: 32px !important; right: 20px !important;
    left: auto !important; bottom: auto !important;
    margin: 0 !important; padding: 0 !important;
    font-family: var(--cbs-font-mono, "JetBrains Mono", monospace) !important;
    font-weight: 600 !important;
    font-size: 11px !important; line-height: 1 !important; letter-spacing: .16em !important;
    color: var(--cbs-edge, #6cbde0) !important;
    -webkit-text-stroke: 0 !important;
    z-index: 2 !important; pointer-events: none !important;
    opacity: .92 !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__n::before{
    content: "N\00B0  " !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__n::after{
    content: " / 04" !important;
    color: rgba(255,255,255,.34) !important;
  }

  /* body under a dashed boarding-pass perforation; centered in the remaining card space */
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__copy{
    position: relative !important; z-index: 2 !important;
    margin-top: 16px !important;
    padding-top: 16px !important;
    border-top: 1px dashed rgba(255,255,255,.16) !important;
    display: flex !important; flex-direction: column !important;
    flex: 1 1 auto !important;
    justify-content: center !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__claim{
    position: relative !important;
    font-size: clamp(23px, 6.2vw, 28px) !important;
    line-height: 1.04 !important; letter-spacing: .004em !important;
    color: #fff !important;
    margin: 0 0 10px !important; padding-top: 0 !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__claim::before{
    content: none !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__sub{
    font-size: 14px !important; line-height: 1.6 !important;
    color: rgba(255,255,255,.68) !important;
    margin: 0 !important; max-width: 36ch !important;
  }

  /* progress dots: tucked closer to the card */
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__dots{
    margin-top: 18px !important;
  }
}
/* ===== End CBS-TRUST-MOB-V3 ===== */


/* ===== CBS-CART-COMPACT-V1 (2026-07-11) — mobile: (A) fix the broken WooCommerce notice icon (its
   default absolutely-positioned ::before checkmark overlapped the text once the theme stripped the left
   padding); (B) slim the line-item cards — drop the "01" index + "In stock" pill, collapse price/qty/line
   into ONE tight row (no dashed divider), smaller thumb, trash to the top-right. Cart mobile bp = 680. ===== */

/* (A) notice icon */
.cbs-cart__notices .woocommerce-message::before,
.cbs-cart__notices .woocommerce-info::before,
.cbs-cart__notices .woocommerce-error::before{ content: none !important; display: none !important; }
.cbs-cart__notices .woocommerce-message,
.cbs-cart__notices .woocommerce-info,
.cbs-cart__notices .woocommerce-error{ padding: 12px 15px !important; display: flex !important; align-items: center !important; gap: 12px !important; }
.cbs-cart__notices .button{ margin-left: auto !important; }

@media (max-width: 680px){
  /* (B) compact line-item card */
  .cbs-cart__row{
    grid-template-columns: 1fr auto 1fr !important;
    grid-template-areas:
      "cargo cargo cargo"
      "price qty   line" !important;
    gap: 12px 10px !important; padding: 12px 14px !important;
  }
  .cbs-cart__num{ display: none !important; }
  .cbs-cart__tags{ display: none !important; }
  .cbs-cart__cargo{ padding-right: 32px !important; gap: 12px !important; align-items: center !important; }
  .cbs-cart__thumb{ width: 58px !important; height: 58px !important; }
  .cbs-cart__name{ font-size: 15px !important; line-height: 1.28 !important; }
  .cbs-cart__cell{ gap: 2px !important; }
  .cbs-cart__cell--price{ grid-area: price !important; align-items: flex-start !important; text-align: left !important; }
  .cbs-cart__cell--qty{ grid-area: qty !important; align-items: center !important; }
  .cbs-cart__cell--line{ grid-area: line !important; flex-direction: column !important; align-items: flex-end !important; justify-content: center !important; text-align: right !important; gap: 2px !important; border-top: 0 !important; padding-top: 0 !important; }
  .cbs-cart__cell--line .cbs-cart__clabel{ font-size: 10px !important; }
  .cbs-cart__cell--line .cbs-cart__cval{ font-size: 15px !important; }
  .cbs-cart__remove{ position: absolute !important; top: 11px !important; right: 12px !important; align-self: auto !important; justify-self: auto !important; margin: 0 !important; }
}
/* ===== End CBS-CART-COMPACT-V1 ===== */


/* ===== CBS-CART-STICKYBAR-V1 (2026-07-11) — mobile: the Order Summary becomes a fixed bottom sheet.
   COLLAPSED = grip + "View details" toggle (with Total) + Proceed CTA. EXPANDED (.is-fare-open on
   .cbs-cart) slides the coupon field, subtotal, shipping + trust up as a sheet. Toggle is injected +
   re-bound after AJAX swaps by the CBS-CART-STICKYBAR JS. <=680 (cart mobile bp). ===== */
.cbs-fare-toggle{ display: none; }
@media (max-width: 680px){
  .cbs-cart{ padding-bottom: 152px !important; }
  .cbs-cart__summary{
    position: fixed !important; left: 0 !important; right: 0 !important; bottom: 0 !important; top: auto !important;
    height: auto !important; z-index: 60 !important; margin: 0 !important; max-width: none !important; width: 100% !important;
  }
  .cbs-cart__fare{
    margin: 0 !important; border-radius: 18px 18px 0 0 !important;
    border-left: 0 !important; border-right: 0 !important; border-bottom: 0 !important;
    border-top: 1px solid var(--cbs-line-strong, #3a4250) !important;
    padding: 12px 16px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
    box-shadow: 0 -22px 46px -22px rgba(0,0,0,.9) !important;
    max-height: 84vh; overflow-y: auto; background: var(--cbs-bg-1, #0e1116) !important;
  }
  .cbs-cart__fare::before{
    content: ""; display: block; width: 40px; height: 4px; border-radius: 2px;
    background: rgba(255,255,255,.18); margin: 0 auto 10px;
  }
  /* injected toggle */
  .cbs-fare-toggle{
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    width: 100%; background: transparent; border: 0; cursor: pointer; padding: 2px 0 12px; text-align: left;
  }
  .cbs-fare-toggle__lbl{
    display: inline-flex; align-items: center; gap: 7px;
    font-family: var(--cbs-font-mono, monospace); font-size: 11px; letter-spacing: .08em; text-transform: uppercase;
    color: var(--cbs-fg-3, rgba(255,255,255,.62));
  }
  .cbs-fare-toggle__chev{ display: inline-flex; font-size: 14px; color: #6cbde0; transition: transform .3s ease; }
  .cbs-cart.is-fare-open .cbs-fare-toggle__chev{ transform: rotate(180deg); }
  .cbs-fare-toggle__tot{ display: inline-flex; align-items: baseline; gap: 8px; }
  .cbs-fare-toggle__tot span{ font-family: var(--cbs-font-mono, monospace); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--cbs-fg-4, rgba(255,255,255,.42)); }
  .cbs-fare-toggle__tot b{ font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400; font-size: 21px; color: #fff; }
  .cbs-fare-toggle__tot .amount{ font-family: var(--cbs-font-display, 'Anton', sans-serif) !important; }

  /* COLLAPSED (default): only toggle + CTA */
  .cbs-cart__fare .cbs-cart__fare-head,
  .cbs-cart__fare .cbs-cart__line-row--total,
  .cbs-cart__fare .cbs-cart__coupon,
  .cbs-cart__fare .cbs-cart__rows,
  .cbs-cart__fare .cbs-cart__trust{ display: none !important; }
  .cbs-cart__checkout{ margin: 0 !important; }

  /* EXPANDED: reveal the details (total still lives in the toggle) */
  .cbs-cart.is-fare-open .cbs-cart__fare .cbs-cart__coupon{ display: flex !important; margin-bottom: 14px !important; }
  .cbs-cart.is-fare-open .cbs-cart__fare .cbs-cart__rows{ display: block !important; margin-bottom: 14px !important; }
  .cbs-cart.is-fare-open .cbs-cart__fare .cbs-cart__line-row:not(.cbs-cart__line-row--total){ display: flex !important; }
  .cbs-cart.is-fare-open .cbs-cart__fare .cbs-cart__trust{ display: flex !important; margin-top: 14px !important; }
}
/* ===== End CBS-CART-STICKYBAR-V1 ===== */


/* ===== CBS-TRUST-MOB-V3B (2026-07-11) — user refinements: (1) remove the "N° 01 / 04" counter from
   the mobile Integrity card face; (2) add the desktop stack-card tear NOTCHES (--notch-r 11px bites)
   to BOTH the trust flip cards (at the dashed perforation) and the mobile stack tiles (111px above
   the bottom, the tear line above the barcode — same geometry as the desktop mask). Real masks
   glitch under the deck's transform:scale (see CBS-STACK-DECK), so these are the theme's PROD-V6
   "bitten circle" fakes: black filled circles centered on the card edge — the trust face's
   overflow:hidden clips them to semicircles, the stack tiles' outer halves vanish on the black
   gutters (scaled deck layers are narrower, so no overlap artifacts). <=767 only. ===== */
@media (max-width: 767px){
  /* (1) counter off */
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__n{
    display: none !important;
  }

  /* (2a) trust card bites — centered on the perforation line (74px = 18 pad + 40 icon + 16 gap) */
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face::before,
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face::after{
    content: "" !important;
    position: absolute !important;
    top: 63px !important;
    width: 22px !important; height: 22px !important;
    border-radius: 50% !important;
    background: #000 !important;
    z-index: 3 !important;
    pointer-events: none !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face::before{ left: -11px !important; }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face::after{ right: -11px !important; }

  /* (2b) stack tile bites — desktop notch geometry (r=11, center 111px above tile bottom).
     Pseudos live on __inner (unused) but anchor to the TILE box (the sticky tile is the
     positioned ancestor), so bottom/left/right are measured from the tile edges. */
  body.page-template-home-page-template .cbs-home__stack-grid > .cbs-stack-tile .cbs-stack-tile__inner::before,
  body.page-template-home-page-template .cbs-home__stack-grid > .cbs-stack-tile .cbs-stack-tile__inner::after{
    content: "" !important;
    position: absolute !important;
    bottom: 100px !important;
    width: 22px !important; height: 22px !important;
    border-radius: 50% !important;
    background: #000 !important;
    z-index: 5 !important;
    pointer-events: none !important;
  }
  body.page-template-home-page-template .cbs-home__stack-grid > .cbs-stack-tile .cbs-stack-tile__inner::before{ left: -11px !important; }
  body.page-template-home-page-template .cbs-home__stack-grid > .cbs-stack-tile .cbs-stack-tile__inner::after{ right: -11px !important; }
}
/* ===== End CBS-TRUST-MOB-V3B ===== */


/* ===== CBS-CART-MOB-FIX-V1 (2026-07-11) — mobile cart follow-ups from real-Safari feedback:
   (1) fill the gap below the fixed order-summary sheet so page content can't peek through Safari's
   bottom UI band; (2) kill the full box around the qty number (a global input border/radius/16px leaked
   through the theme's border:0); (3) sheet numbers -> the same mono as the cards + tidy spacing;
   (4) drop "Lab-tested" + "COD available" from the trust strip. Cart bp = 680. ===== */

/* (4) trust: keep only the first item ("100% authentic") */
.cbs-cart__trust li:nth-child(n+2){ display: none !important; }
.cbs-co__trust li:nth-child(n+2){ display: none !important; }

@media (max-width: 680px){
  /* (1) Safari bottom-UI gap: paint the sheet colour below the sheet's bottom edge */
  .cbs-cart__summary{ background: var(--cbs-bg-1, #0e1116) !important; }
  .cbs-cart__summary::after{
    content: ""; position: absolute; top: 100%; left: 0; right: 0; height: 280px;
    background: var(--cbs-bg-1, #0e1116); pointer-events: none;
  }
  .cbs-cart{ padding-bottom: calc(150px + env(safe-area-inset-bottom, 0px)) !important; }

  /* (2) qty stepper: remove the inner box around the number */
  html body .cbs-cart .cbs-qty input.qty,
  html body .cbs-cart .cbs-qty input.input-text.qty{
    border: 0 !important; border-radius: 0 !important; background: transparent !important;
    box-shadow: none !important; outline: none !important;
    height: 38px !important; width: 46px !important; font-size: 16px !important; padding: 0 !important;
    font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace) !important; color: #fff !important;
  }
  html body .cbs-cart .cbs-qty{ height: 40px !important; }
  html body .cbs-cart .cbs-qty__btn{ height: 40px !important; width: 34px !important; }

  /* (3) sheet: mono total (match the card prices) + cleaner spacing */
  .cbs-cart__fare{ padding-top: 10px !important; }
  .cbs-cart__fare::before{ margin-bottom: 12px !important; }
  .cbs-fare-toggle{ padding: 2px 0 14px !important; }
  .cbs-fare-toggle__lbl{ font-size: 10.5px !important; letter-spacing: .1em !important; }
  .cbs-fare-toggle__tot b,
  .cbs-fare-toggle__tot .amount{
    font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace) !important;
    font-weight: 600 !important; font-size: 18px !important; letter-spacing: 0 !important;
  }
  .cbs-fare-toggle__tot span{ font-size: 9px !important; }
  .cbs-cart.is-fare-open .cbs-cart__fare .cbs-cart__line-row dt{ font-size: 13px !important; }
  .cbs-cart.is-fare-open .cbs-cart__fare .cbs-cart__line-row dd{ font-size: 13px !important; }
}
/* ===== End CBS-CART-MOB-FIX-V1 ===== */


/* ===== CBS-TRUST-MOB-V3C (2026-07-11) — user refinements #2: (1) the claim TITLE moves up NEXT TO
   the icon chip (face becomes a 2-col grid; .cbs-trust__copy dissolves via display:contents so
   claim/sub place directly); (2) the dashed perforation now lives on .cbs-trust__sub, runs FULL-BLEED
   edge-to-edge, and the notch bites are anchored TO THE LINE (sub::before/::after) instead of a
   hardcoded face offset — the line terminates INTO the notches at any header height (fixes "stroke
   line bypassing the notch"). V3B's face-level bites are disabled; its stack-tile bites stay. CSS
   only, flip JS untouched. <=767. ===== */
@media (max-width: 767px){
  /* face -> grid: [icon | title] header row, full-width body row */
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face{
    display: grid !important;
    grid-template-columns: 40px 1fr !important;
    grid-template-rows: auto 1fr !important;
    align-items: center !important;
    column-gap: 14px !important;
    row-gap: 0 !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__icon{
    grid-column: 1 !important; grid-row: 1 !important;
    align-self: center !important; margin: 0 !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__copy{
    display: contents !important;
    border: 0 !important; margin: 0 !important; padding: 0 !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__claim{
    grid-column: 2 !important; grid-row: 1 !important;
    align-self: center !important;
    font-size: clamp(21px, 5.8vw, 26px) !important;
    line-height: 1.06 !important;
    margin: 0 !important; padding: 0 !important;
  }

  /* body: sub under a FULL-BLEED perforation that runs into the notches */
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__sub{
    grid-column: 1 / -1 !important; grid-row: 2 !important;
    align-self: stretch !important;
    position: relative !important;
    display: flex !important; flex-direction: column !important; justify-content: center !important;
    margin: 16px -20px 0 !important;
    padding: 16px 20px 0 !important;
    border-top: 1px dashed rgba(255,255,255,.16) !important;
    max-width: none !important;
    font-size: 14px !important; line-height: 1.6 !important;
    color: rgba(255,255,255,.68) !important;
  }

  /* bites ride ON the line now — kill V3B's fixed-offset face bites */
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face::before,
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face::after{
    content: none !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__sub::before,
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__sub::after{
    content: "" !important;
    position: absolute !important;
    top: -11px !important;
    width: 22px !important; height: 22px !important;
    border-radius: 50% !important;
    background: #000 !important;
    pointer-events: none !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__sub::before{ left: -11px !important; }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__sub::after{ right: -11px !important; }
}
/* ===== End CBS-TRUST-MOB-V3C ===== */


/* ===== CBS-TRUST-DECK2 (2026-07-11) — mobile Integrity: stacks-style sticky pile replaces the
   scroll-flip. The raw .cbs-trust__row items are the cards (V3C boarding-pass design carried over:
   icon chip + title header row, full-bleed perforation, notches). User fixes in this pass:
   (a) notches get a STROKE RIM matching the card border so the card stroke reads as cut around the
   bite (was: straight stroke passing behind the bite); (b) cards smaller (title lives in the header
   row now); (c) every card's heading block reserves TWO title lines -> uniform peek heights, each
   card's heading visible behind the cards above, exactly like the stack tiles. Old flip-era CSS
   (SCROLLFLIP/V3/V3B-face/V3C) is inert: it targets .cbs-tflip / [data-tflip] which no longer exist.
   JS driver = the CBS-TRUST-DECK2 block in niceblog-custom-js.js. <=767 only. ===== */
@media (max-width: 767px){
  html body.page-template-home-page-template .cbs-home__trust{ overflow: visible !important; }
  html body.page-template-home-page-template .cbs-home__trust .cbs-container{ overflow: visible !important; }

  html body.page-template-home-page-template .cbs-home__trust[data-tdeck="1"][data-tdeck] .cbs-trust__list{
    display: block !important;
    position: relative !important;
    overflow: visible !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
  }

  /* card = boarding-pass panel, sticky pile layer */
  html body.page-template-home-page-template .cbs-home__trust[data-tdeck="1"][data-tdeck] .cbs-trust__row{
    position: -webkit-sticky !important; position: sticky !important;
    display: grid !important;
    grid-template-columns: 40px 1fr !important;
    grid-template-rows: auto 1fr !important;
    align-items: center !important;
    column-gap: 14px !important; row-gap: 0 !important;
    height: clamp(196px, 27vh, 224px) !important;
    height: clamp(196px, 27svh, 224px) !important;
    margin: 0 0 18px !important;
    padding: 18px 20px 20px !important;
    border-radius: var(--r-card, 14px) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    background:
      radial-gradient(120% 90% at 108% -8%, rgba(108,189,224,.14), transparent 44%),
      linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.005)),
      var(--cbs-bg-1, #0e1116) !important;
    box-shadow: 0 24px 56px -30px rgba(0,0,0,.85), inset 0 1px 0 rgba(255,255,255,.05) !important;
    overflow: hidden !important;
    transform: scale(var(--deck-scale, 1)) !important;
    transform-origin: 50% 0 !important; -webkit-transform-origin: 50% 0 !important;
    will-change: transform;
    backface-visibility: hidden; -webkit-backface-visibility: hidden;
    transition: none !important;
    animation: none !important;
    opacity: 1 !important; visibility: visible !important;
    list-style: none !important;
  }
  html body.page-template-home-page-template .cbs-home__trust[data-tdeck="1"][data-tdeck] .cbs-trust__row::before,
  html body.page-template-home-page-template .cbs-home__trust[data-tdeck="1"][data-tdeck] .cbs-trust__row::after{
    content: none !important;
  }
  html body.page-template-home-page-template .cbs-home__trust[data-tdeck="1"][data-tdeck] .cbs-trust__row:nth-child(1){ top: var(--cbs-tdeck-top, 108px) !important; z-index: 1 !important; }
  html body.page-template-home-page-template .cbs-home__trust[data-tdeck="1"][data-tdeck] .cbs-trust__row:nth-child(2){ top: calc(var(--cbs-tdeck-top, 108px) + var(--cbs-tdeck-peek, 72px)) !important; z-index: 2 !important; }
  html body.page-template-home-page-template .cbs-home__trust[data-tdeck="1"][data-tdeck] .cbs-trust__row:nth-child(3){ top: calc(var(--cbs-tdeck-top, 108px) + 2*var(--cbs-tdeck-peek, 72px)) !important; z-index: 3 !important; }
  html body.page-template-home-page-template .cbs-home__trust[data-tdeck="1"][data-tdeck] .cbs-trust__row:nth-child(4){ top: calc(var(--cbs-tdeck-top, 108px) + 3*var(--cbs-tdeck-peek, 72px)) !important; z-index: 4 !important; }

  /* header row: icon chip + title (2-line reserved slot -> uniform peeks) */
  html body.page-template-home-page-template .cbs-home__trust[data-tdeck="1"][data-tdeck] .cbs-trust__row .cbs-trust__icon{
    grid-column: 1 !important; grid-row: 1 !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    align-self: center !important;
    width: 40px !important; height: 40px !important; padding: 0 !important; margin: 0 !important;
    border: 0 !important; border-radius: 11px !important;
    background: rgba(108,189,224,.12) !important;
    box-shadow: inset 0 0 0 1px rgba(108,189,224,.18) !important;
    font-size: 21px !important; line-height: 1 !important;
    color: var(--cbs-edge, #6cbde0) !important;
    position: relative !important; z-index: 2 !important;
    opacity: 1 !important;
  }
  html body.page-template-home-page-template .cbs-home__trust[data-tdeck="1"][data-tdeck] .cbs-trust__row .cbs-trust__n{
    display: none !important;
  }
  html body.page-template-home-page-template .cbs-home__trust[data-tdeck="1"][data-tdeck] .cbs-trust__row .cbs-trust__copy{
    display: contents !important;
    border: 0 !important; margin: 0 !important; padding: 0 !important;
  }
  html body.page-template-home-page-template .cbs-home__trust[data-tdeck="1"][data-tdeck] .cbs-trust__row .cbs-trust__claim{
    grid-column: 2 !important; grid-row: 1 !important;
    align-self: center !important;
    display: flex !important; align-items: center !important;
    min-height: 2.24em !important;
    font-family: var(--cbs-font-display, "Anton", sans-serif) !important; font-weight: 400 !important;
    font-size: clamp(21px, 5.8vw, 26px) !important;
    line-height: 1.06 !important; letter-spacing: .004em !important;
    text-transform: uppercase !important;
    color: #fff !important;
    margin: 0 !important; padding: 0 !important;
    opacity: 1 !important;
  }
  html body.page-template-home-page-template .cbs-home__trust[data-tdeck="1"][data-tdeck] .cbs-trust__row .cbs-trust__claim::before,
  html body.page-template-home-page-template .cbs-home__trust[data-tdeck="1"][data-tdeck] .cbs-trust__row .cbs-trust__claim::after{
    content: none !important;
  }

  /* body: sub under the full-bleed perforation */
  html body.page-template-home-page-template .cbs-home__trust[data-tdeck="1"][data-tdeck] .cbs-trust__row .cbs-trust__sub{
    grid-column: 1 / -1 !important; grid-row: 2 !important;
    align-self: stretch !important;
    position: relative !important;
    display: flex !important; flex-direction: column !important; justify-content: center !important;
    margin: 16px -20px 0 !important;
    padding: 16px 20px 0 !important;
    border-top: 1px dashed rgba(255,255,255,.16) !important;
    max-width: none !important;
    font-size: 14px !important; line-height: 1.6 !important;
    color: rgba(255,255,255,.68) !important;
    opacity: 1 !important;
  }

  /* notches: black bite + STROKE RIM (same 1px as the card border) so the card stroke reads as cut
     around the bite instead of passing straight behind it */
  html body.page-template-home-page-template .cbs-home__trust[data-tdeck="1"][data-tdeck] .cbs-trust__row .cbs-trust__sub::before,
  html body.page-template-home-page-template .cbs-home__trust[data-tdeck="1"][data-tdeck] .cbs-trust__row .cbs-trust__sub::after{
    content: "" !important;
    position: absolute !important;
    top: -11px !important;
    width: 22px !important; height: 22px !important;
    border-radius: 50% !important;
    background: #000 !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    box-sizing: border-box !important;
    pointer-events: none !important;
  }
  html body.page-template-home-page-template .cbs-home__trust[data-tdeck="1"][data-tdeck] .cbs-trust__row .cbs-trust__sub::before{ left: -11px !important; }
  html body.page-template-home-page-template .cbs-home__trust[data-tdeck="1"][data-tdeck] .cbs-trust__row .cbs-trust__sub::after{ right: -11px !important; }

  /* runway spacer (JS sizes it) */
  .cbs-tdeck-spacer{ display: block; height: 240px; }
}
@media (min-width: 768px){
  .cbs-tdeck-spacer{ display: none !important; }
}
/* ===== End CBS-TRUST-DECK2 CSS ===== */

/* ===== CBS-TRUST-MOB-V3D (2026-07-11) — flip restored per user. (a) notch bites get a 1px STROKE RIM
   (card outline reads as CUT AROUND the bite, not a straight line past a black blob); (b) card reduced
   to the deck sizing; (c) mobile-only 2-line claim via <br class=cbs-tclaim-br> in the template ->
   suppressed on desktop here. CSS only; the flip JS is the restored v6 block. ===== */
@media (max-width: 767px){
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip{
    height: clamp(200px, 28vh, 232px) !important;
    height: clamp(200px, 28svh, 232px) !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__sub::before,
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__sub::after{
    border: 1px solid rgba(255,255,255,.12) !important;
    box-sizing: border-box !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__claim br.cbs-tclaim-br{
    display: block !important;
  }
}
@media (min-width: 768px){
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__claim br.cbs-tclaim-br{ display: none !important; }
}
/* ===== End CBS-TRUST-MOB-V3D ===== */


/* ===== CBS-TRUST-V16 (2026-07-13) — mobile Integrity cards reworked into CERTIFICATE-OF-AUTHENTICITY
   / customs-seal panels (user: prev cards "bleh / AI generated / no feeling"). Engraved security
   texture + grain + hero round AUTHENTICATION STAMP (per-card Phosphor glyph inside a curved
   "CROSS BORDER SUPPS * AUTHENTIC * SEALED" ring) + cyan crack-light edge + boarding-pass perforation
   & rimmed notches. Overrides the V3C/V3D flip face by cascade. Flip JS untouched. <=767 only. ===== */
@media (max-width: 767px){
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip{
    height: clamp(244px, 34vh, 276px) !important;
    height: clamp(244px, 34svh, 276px) !important;
    max-width: 440px !important;
  }

  /* ---- the certificate panel ---- */
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face{
    display: grid !important;
    grid-template-columns: 76px 1fr !important;
    grid-template-rows: auto 1fr !important;
    align-items: center !important;
    column-gap: 16px !important; row-gap: 0 !important;
    padding: 20px 22px 22px !important;
    border-radius: var(--r-card, 14px) !important;
    border: 1px solid rgba(108,189,224,.14) !important;
    overflow: hidden !important;
    position: absolute !important; inset: 0 !important;
    box-shadow: 0 26px 60px -30px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.05) !important;
    background:
      linear-gradient(90deg, transparent, rgba(108,189,224,.55) 22%, rgba(108,189,224,.72) 50%, rgba(108,189,224,.55) 78%, transparent) top/100% 1.6px no-repeat,
      radial-gradient(92% 58% at 50% -14%, rgba(108,189,224,.13), transparent 62%),
      repeating-radial-gradient(circle at 84% 32%, rgba(108,189,224,.05) 0 1px, transparent 1px 8.5px),
      repeating-linear-gradient(-52deg, rgba(255,255,255,.016) 0 1px, transparent 1px 7px),
      radial-gradient(130% 130% at 50% 122%, rgba(0,0,0,.55), transparent 55%),
      linear-gradient(180deg, #0c1219, #080b10) !important;
  }
  /* grain overlay */
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face::before{
    content: "" !important;
    position: absolute !important; inset: 0 !important;
    background: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20140%20140'%3E%3Cfilter%20id='n'%3E%3CfeTurbulence%20type='fractalNoise'%20baseFrequency='0.85'%20numOctaves='2'%20stitchTiles='stitch'/%3E%3CfeColorMatrix%20type='saturate'%20values='0'/%3E%3C/filter%3E%3Crect%20width='140'%20height='140'%20filter='url(%23n)'%20opacity='0.55'/%3E%3C/svg%3E") center/220px 220px !important;
    opacity: .34 !important; mix-blend-mode: soft-light !important;
    pointer-events: none !important; z-index: 1 !important; border-radius: inherit !important;
  }

  /* ---- hero: icon -> round authentication STAMP ---- */
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__icon{
    grid-column: 1 !important; grid-row: 1 !important; align-self: center !important;
    width: 76px !important; height: 76px !important; margin: 0 !important; padding: 0 !important;
    border: 0 !important; border-radius: 50% !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    background:
      radial-gradient(circle at 50% 50%, rgba(108,189,224,.12), transparent 56%),
      url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20100'%3E%3Cdefs%3E%3Cpath%20id='p'%20d='M50,50%20m0,-41.5%20a41.5,41.5%200%201,1%20-0.1,0'/%3E%3C/defs%3E%3Ccircle%20cx='50'%20cy='50'%20r='48.5'%20fill='none'%20stroke='%236cbde0'%20stroke-width='0.8'%20opacity='0.5'/%3E%3Ccircle%20cx='50'%20cy='50'%20r='38.5'%20fill='none'%20stroke='%236cbde0'%20stroke-width='0.6'%20opacity='0.28'/%3E%3Ccircle%20cx='50'%20cy='50'%20r='30'%20fill='none'%20stroke='%236cbde0'%20stroke-width='0.7'%20stroke-dasharray='1.6%202.4'%20opacity='0.38'/%3E%3Ctext%20font-family='ui-monospace,Menlo,monospace'%20font-size='7.2'%20font-weight='600'%20letter-spacing='1.7'%20fill='%236cbde0'%20opacity='0.9'%3E%3CtextPath%20href='%23p'%20startOffset='1%'%3ECROSS%20BORDER%20SUPPS%20*%20AUTHENTIC%20*%20SEALED%20*%20%3C/textPath%3E%3C/text%3E%3C/svg%3E") center/cover no-repeat !important;
    box-shadow: 0 0 26px -6px rgba(108,189,224,.45) !important;
    color: var(--cbs-edge, #6cbde0) !important;
    font-size: 25px !important; line-height: 1 !important;
    position: relative !important; z-index: 2 !important;
    transform: rotate(-3deg) !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__icon::before{ transform: rotate(3deg) !important; display: inline-block !important; }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__n{ display: none !important; }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__copy{ display: contents !important; border: 0 !important; margin: 0 !important; padding: 0 !important; }

  /* ---- claim ---- */
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__claim{
    grid-column: 2 !important; grid-row: 1 !important; align-self: center !important;
    position: relative !important; z-index: 2 !important;
    font-family: var(--cbs-font-display, "Anton", sans-serif) !important; font-weight: 400 !important;
    font-size: clamp(21px, 5.8vw, 27px) !important; line-height: 1.04 !important;
    letter-spacing: .012em !important; text-transform: uppercase !important;
    color: #fff !important; margin: 0 !important; padding: 0 !important;
    text-shadow: 0 1px 0 rgba(0,0,0,.4) !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__claim::before,
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__claim::after{ content: none !important; }

  /* ---- sub under the full-bleed perforation ---- */
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__sub{
    grid-column: 1 / -1 !important; grid-row: 2 !important; align-self: stretch !important;
    position: relative !important; z-index: 2 !important;
    display: flex !important; flex-direction: column !important; justify-content: center !important;
    margin: 16px -22px 0 !important; padding: 16px 22px 0 !important;
    border-top: 1px dashed rgba(108,189,224,.22) !important;
    max-width: none !important;
    font-size: 13.5px !important; line-height: 1.58 !important;
    color: rgba(255,255,255,.7) !important;
  }
  /* rimmed notches on the perforation line */
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__sub::before,
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__sub::after{
    content: "" !important; position: absolute !important; top: -11px !important;
    width: 22px !important; height: 22px !important; border-radius: 50% !important;
    background: #05070a !important; border: 1px solid rgba(108,189,224,.22) !important;
    box-sizing: border-box !important; pointer-events: none !important; z-index: 3 !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__sub::before{ left: -11px !important; }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__sub::after{ right: -11px !important; }
}
/* ===== End CBS-TRUST-V16 ===== */

/* ===== CBS-TRUST-SCROLL2 (2026-07-15) — mobile Integrity: SCROLL-driven flip that steps ONE card
   per scroll segment and never skips (driver in niceblog-custom-js.js). Restore the sticky pin +
   runway so the header + card hold while you scroll through; normal touch-action so the PAGE scroll
   drives the flip; dots are a passive progress indicator. <=767 only; desktop untouched. */
@media (max-width: 767px){
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__pin{
    position: -webkit-sticky !important; position: sticky !important; top: 0 !important;
    min-height: 100svh !important; min-height: 100vh !important;
    display: flex !important; flex-direction: column !important; justify-content: center !important;
    padding: 12px 0 !important; box-sizing: border-box !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip{
    touch-action: auto !important; cursor: default !important;
    -webkit-user-select: none !important; user-select: none !important;
  }
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__dots{ pointer-events: none !important; }
}
/* ===== End CBS-TRUST-SCROLL2 ===== */

/* ===== CBS-TRUST-V16-FIX (2026-07-15) — mobile Integrity polish:
   (1a) prevent widow/orphan wrapping in the card sub: the trailing "." no longer drops to its
   own line and "Not a bot" stays intact (text-wrap:pretty + .cbs-trust-nb nowrap spans in the
   markup); (1b) the boarding-pass perforation now TERMINATES cleanly inside the notches instead
   of running straight through them (dashed line inset + drawn as a background, not a full-bleed
   border). <=767 only. */
.cbs-trust-nb{ white-space: nowrap; }
@media (max-width: 767px){
  body.page-template-home-page-template .cbs-home__trust .cbs-tflip__face .cbs-trust__sub{
    border-top: 0 !important;
    background-image: repeating-linear-gradient(to right, rgba(108,189,224,.32) 0 4px, transparent 4px 9px) !important;
    background-repeat: no-repeat !important;
    background-position: top center !important;
    background-size: calc(100% - 34px) 1px !important;
    text-wrap: pretty !important;
  }
}
/* ===== End CBS-TRUST-V16-FIX ===== */

/* ===== CBS-REVEAL (2026-07-15) — cohesive scroll-in entrance for the home sections (mobile).
   Each section fades + rises as it enters the viewport, with ONE shared timing/easing so the whole
   page reads as one system. The sticky Stacks section gets the fade-only variant (no transform, so
   an ancestor transform can't break its position:sticky pile). The .cbs-reveal class is ADDED BY JS
   (see the CBS-REVEAL block in niceblog-custom-js.js), so with JS off every section renders normally
   (no hidden content). Honours reduced-motion. <=767 only; desktop is untouched. */
@media (max-width: 767px){
  @media (prefers-reduced-motion: no-preference){
    body.page-template-home-page-template .cbs-reveal{
      opacity: 0; transform: translateY(26px);
    }
    body.page-template-home-page-template .cbs-reveal--fade{ transform: none !important; }
    body.page-template-home-page-template .cbs-reveal.is-in{
      opacity: 1; transform: none;
      transition: opacity .72s cubic-bezier(.22,.61,.36,1), transform .72s cubic-bezier(.22,.61,.36,1);
    }
  }
}
/* ===== End CBS-REVEAL ===== */

/* ===== CBS-PROMO-BANNER (2026-07-15) — image-only promo between the hero and the Integrity
   section (new drops / sales). Contained within the site gutter, rounded, responsive; desktop &
   mobile images swap via <picture>. Renders only when an image is set (see functions.php). ===== */
.cbs-home__promo{ padding: clamp(20px, 3.4vw, 46px) 0 0; }
.cbs-home__promo .cbs-promo__link{
  display: block; position: relative; overflow: hidden; text-decoration: none;
  border-radius: 18px; border: 1px solid rgba(108,189,224,.16);
  box-shadow: 0 26px 64px -34px rgba(0,0,0,.85), inset 0 1px 0 rgba(255,255,255,.05);
  transition: transform .32s var(--cbs-ease, cubic-bezier(.2,.7,.2,1)), box-shadow .32s ease, border-color .32s ease;
  -webkit-tap-highlight-color: transparent;
}
/* CBS-PROMO-NOHOVER (2026-07-26): banner lift-on-hover removed on request. The rule is
   gone rather than overridden so nothing has to fight it later. */
.cbs-home__promo .cbs-promo__pic{ display: block; }
.cbs-home__promo .cbs-promo__img{ display: block; width: 100%; height: auto; }
@media (max-width: 767px){
  .cbs-home__promo{ padding-top: 16px; }
  .cbs-home__promo .cbs-promo__link{ border-radius: 14px; }
}
.cbs-home__promo--empty .cbs-promo__empty{ display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:6px; min-height:120px; padding:34px 24px; border-radius:16px; text-decoration:none; border:1.5px dashed rgba(108,189,224,.4); background: rgba(108,189,224,.05); transition: border-color .2s ease, background .2s ease; }
.cbs-home__promo--empty .cbs-promo__empty:hover{ border-color: rgba(108,189,224,.72); background: rgba(108,189,224,.09); }
.cbs-home__promo--empty .cbs-promo__empty i{ font-size:28px; color: var(--cbs-edge,#6cbde0); margin-bottom:4px; }
.cbs-home__promo--empty .cbs-promo__empty-t{ font-family: var(--cbs-font-mono,monospace); font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color: var(--cbs-edge,#6cbde0); }
.cbs-home__promo--empty .cbs-promo__empty-s{ font-family: var(--cbs-font-body,'Inter',sans-serif); font-size:13px; line-height:1.5; max-width:52ch; color: var(--cbs-fg-3, rgba(255,255,255,.6)); }
/* ===== End CBS-PROMO-BANNER ===== */
/* ===== CBS-PROMO-CAROUSEL (2026-07-17) — full-bleed promo banner / crossfade carousel, flush between hero & Integrity ===== */
.cbs-home__promo{ padding:0; margin:0; width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); font-size:0; line-height:0; }
.cbs-home__promo .cbs-promo__link{ display:block; border-radius:0; border:0; box-shadow:none; text-decoration:none; }
/* Single-image (non-carousel) banner */
.cbs-home__promo > .cbs-promo__link .cbs-promo__pic,
.cbs-home__promo > .cbs-promo__link .cbs-promo__img{ display:block; width:100%; height:auto; }
/* Carousel */
.cbs-promo-carousel{ position:relative; width:100%; }
.cbs-promo-carousel__viewport{ position:relative; width:100%; aspect-ratio:2560 / 800; overflow:hidden; background:#0a0a0a; }
.cbs-promo-carousel__slide{ position:absolute; inset:0; opacity:0; transition:opacity .8s ease; pointer-events:none; }
.cbs-promo-carousel__slide.is-active{ opacity:1; pointer-events:auto; }
.cbs-promo-carousel__slide .cbs-promo__link,
.cbs-promo-carousel__slide .cbs-promo__pic{ display:block; width:100%; height:100%; }
.cbs-promo-carousel__slide .cbs-promo__img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.cbs-promo-carousel__arrow{ position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:46px; height:46px; border-radius:50%; border:1px solid rgba(255,255,255,.14); cursor:pointer; display:flex; align-items:center; justify-content:center; background:rgba(8,10,12,.42); color:#fff; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); transition:background .2s ease, border-color .2s ease; padding:0; line-height:0; }
.cbs-promo-carousel__arrow:hover{ background:rgba(8,10,12,.82); border-color:rgba(108,189,224,.5); }
.cbs-promo-carousel__arrow i{ font-size:20px; line-height:1; }
.cbs-promo-carousel__arrow--prev{ left:18px; }
.cbs-promo-carousel__arrow--next{ right:18px; }
.cbs-promo-carousel__dots{ position:absolute; left:0; right:0; bottom:18px; z-index:3; display:flex; gap:8px; justify-content:center; align-items:center; line-height:0; }
.cbs-promo-carousel__dot{ width:9px; height:9px; border-radius:50%; border:0; padding:0; cursor:pointer; background:rgba(255,255,255,.5); box-shadow:0 1px 4px rgba(0,0,0,.4); transition:background .25s ease, width .25s ease, border-radius .25s ease; }
.cbs-promo-carousel__dot.is-active{ background:#6cbde0; width:24px; border-radius:5px; }
@media (hover:hover){ .cbs-promo-carousel__dot:hover{ background:rgba(255,255,255,.85); } }
@media (max-width:767px){
  .cbs-promo-carousel__viewport{ aspect-ratio:1 / 1; }
  .cbs-promo-carousel__arrow{ width:38px; height:38px; }
  .cbs-promo-carousel__arrow i{ font-size:17px; }
  .cbs-promo-carousel__arrow--prev{ left:10px; }
  .cbs-promo-carousel__arrow--next{ right:10px; }
  .cbs-promo-carousel__dots{ bottom:12px; }
}
@media (prefers-reduced-motion: reduce){ .cbs-promo-carousel__slide{ transition:none; } }
/* ===== End CBS-PROMO-CAROUSEL ===== */

/* ===== CBS-TRUST-TOPGAP (2026-07-17) — balance the Integrity flip section's empty space on mobile. The pin is 100vh but its content is only ~565px, so ~247px is unavoidable dead space; CENTER it (splits the void top/bottom instead of dumping it all before Stacks) and trim the paddings between Integrity and Stacks. ===== */
@media (max-width:767px){
  body.page-template-home-page-template .cbs-home__trust{ padding-top:14px !important; padding-bottom:8px !important; }
  body.page-template-home-page-template .cbs-home__trust .cbs-trust__pin{ justify-content:center !important; padding-top:16px !important; padding-bottom:16px !important; }
  body.page-template-home-page-template .cbs-home__stack{ padding-top:18px !important; }
}
/* ===== End CBS-TRUST-TOPGAP ===== */

/* ===== CBS-CO-SHIPCOLLAPSE (2026-07-17) — collapse "ship to a different address" until the box is ticked (kills pre-JS flash) ===== */
.cbs-co .shipping_address{ display:none; }
/* ===== End CBS-CO-SHIPCOLLAPSE ===== */

/* ===== CBS-ABOUT-V2 (2026-07-15) — About page redesigned in the current CBS language: dark
   editorial, Anton display, cyan accent, mono kickers, certificate-style cards. Desktop + mobile.
   Scoped to .cbs-pg--about (new .cbs-abt markup; the old .cbs-about rules are now unused). ===== */
.cbs-pg--about{ padding-top: clamp(88px, 12vw, 140px) !important; padding-bottom: clamp(80px, 12vw, 160px) !important; }
.cbs-pg--about .cbs-pg__wrap{ max-width: 1140px !important; margin-left: auto !important; margin-right: auto !important; }

.cbs-abt__intro{ border-bottom: 1px solid rgba(255,255,255,.08); padding-bottom: clamp(28px, 5vw, 50px); margin-bottom: clamp(44px, 7vw, 78px); }
.cbs-abt__eyebrow{ display:block; font-family: var(--cbs-font-mono, monospace); font-size: 11px; letter-spacing: .28em; text-transform: uppercase; color: var(--cbs-edge, #6cbde0); margin: 0 0 18px; }
.cbs-abt__title{ font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400; font-size: clamp(54px, 11vw, 132px); line-height: .88; letter-spacing: .01em; text-transform: uppercase; color: #fff; margin: 0 0 24px; }
.cbs-abt__title span{ color: var(--cbs-edge, #6cbde0); }
.cbs-abt__lead{ font-family: var(--cbs-font-body, 'Inter', sans-serif); font-size: clamp(16px, 2vw, 21px); line-height: 1.55; color: var(--cbs-fg-3, rgba(255,255,255,.62)); max-width: 62ch; margin: 0; }
.cbs-abt__lead strong{ color: #fff; font-weight: 600; }

.cbs-abt__kicker{ display: inline-flex; align-items: center; gap: 10px; font-family: var(--cbs-font-mono, monospace); font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: var(--cbs-fg-3, rgba(255,255,255,.55)); margin: 0 0 14px; }
.cbs-abt__kicker span{ color: var(--cbs-edge, #6cbde0); }
.cbs-abt__h{ font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400; font-size: clamp(30px, 5vw, 52px); line-height: 1; letter-spacing: .01em; text-transform: uppercase; color: #fff; margin: 0 0 22px; }

.cbs-abt__origin{ display: grid; grid-template-columns: 1.5fr .9fr; gap: clamp(28px, 5vw, 64px); align-items: start; margin-bottom: clamp(58px, 9vw, 104px); }
.cbs-abt__origin-copy p{ font-family: var(--cbs-font-body, 'Inter', sans-serif); font-size: clamp(15px, 1.7vw, 17px); line-height: 1.72; color: var(--cbs-fg-3, rgba(255,255,255,.6)); margin: 0 0 18px; }
.cbs-abt__origin-copy p:last-child{ margin-bottom: 0; }
.cbs-abt__origin-copy strong{ color: #fff; font-weight: 600; }
.cbs-abt__stats{ display: flex; flex-direction: column; gap: 12px; position: sticky; top: 96px; }
.cbs-abt__stat{ background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012)), #0c1219; border: 1px solid rgba(108,189,224,.16); border-radius: 14px; padding: 20px 22px; }
.cbs-abt__stat-num{ display: block; font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400; font-size: clamp(30px, 4vw, 42px); line-height: 1; color: var(--cbs-edge, #6cbde0); }
.cbs-abt__stat-lbl{ display: block; font-family: var(--cbs-font-mono, monospace); font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--cbs-fg-3, rgba(255,255,255,.5)); margin-top: 8px; }

.cbs-abt__standards-head{ margin-bottom: clamp(26px, 4vw, 42px); }
.cbs-abt__grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.cbs-abt__card{ position: relative; background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01)), #0b1017; border: 1px solid rgba(255,255,255,.08); border-radius: 16px; padding: clamp(24px, 3vw, 34px); transition: border-color .25s ease, transform .25s ease; }
.cbs-abt__card:hover{ border-color: rgba(108,189,224,.34); transform: translateY(-3px); }
.cbs-abt__card--feature{ grid-column: 1 / -1; background: linear-gradient(90deg, rgba(108,189,224,.11), rgba(108,189,224,.03) 60%), #0b1017; border-color: rgba(108,189,224,.3); }
.cbs-abt__card-ico{ display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; border-radius: 50%; background: radial-gradient(circle at 50% 40%, rgba(108,189,224,.18), transparent 62%); border: 1px solid rgba(108,189,224,.32); margin-bottom: 18px; }
.cbs-abt__card-ico i{ font-size: 24px; color: var(--cbs-edge, #6cbde0); }
.cbs-abt__card-h{ font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400; font-size: clamp(19px, 2.4vw, 25px); line-height: 1.05; letter-spacing: .01em; text-transform: uppercase; color: #fff; margin: 0 0 12px; }
.cbs-abt__card p{ font-family: var(--cbs-font-body, 'Inter', sans-serif); font-size: 14.5px; line-height: 1.65; color: var(--cbs-fg-3, rgba(255,255,255,.6)); margin: 0; }

.cbs-abt__cta{ margin-top: clamp(58px, 9vw, 104px); text-align: center; background: radial-gradient(120% 150% at 50% 0%, rgba(108,189,224,.12), transparent 60%), #0a0e14; border: 1px solid rgba(108,189,224,.18); border-radius: 20px; padding: clamp(40px, 6vw, 70px) clamp(24px, 4vw, 48px); }
.cbs-abt__cta-h{ font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400; font-size: clamp(26px, 4vw, 46px); line-height: 1.02; letter-spacing: .01em; text-transform: uppercase; color: #fff; margin: 0 auto 28px; max-width: 20ch; }
.cbs-abt__cta-btns{ display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }
.cbs-abt__btn{ display: inline-flex; align-items: center; gap: 10px; padding: 16px 30px; border-radius: 100px; background: #fff; color: #06222e; font-family: var(--cbs-font-mono, monospace); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; border: 1px solid #fff; transition: transform .2s ease, background .2s ease; }
.cbs-abt__btn:hover{ transform: translateY(-2px); background: #e7f3fa; }
.cbs-abt__btn i{ font-size: 15px; }
.cbs-abt__btn--ghost{ background: transparent; color: #fff !important; border-color: rgba(255,255,255,.24); }
.cbs-abt__btn--ghost:hover{ background: rgba(255,255,255,.06); }

@media (max-width: 860px){
  .cbs-abt__origin{ grid-template-columns: 1fr; }
  .cbs-abt__stats{ position: static; flex-direction: row; flex-wrap: wrap; }
  .cbs-abt__stat{ flex: 1 1 150px; }
}
@media (max-width: 600px){
  .cbs-abt__grid{ grid-template-columns: 1fr; }
  .cbs-abt__stats{ flex-direction: column; }
  .cbs-abt__cta-btns{ flex-direction: column; }
  .cbs-abt__btn{ justify-content: center; }
}
/* ===== End CBS-ABOUT-V2 ===== */

/* ===== CBS-PROD-TABS-MOB V1 (2026-07-13) =====
   Mobile rework of the CBS-PROD-V6 dossier tabs. Before: at phone widths only
   the first tab was visible (overflow scroll, no affordance), the active pill
   stretched oddly and panels kept a cavernous 220px min-height. Now (max 820):
   the rail is a full-width segmented control - every tab visible at once
   (equal columns, icon over label, cyan underline for active), panels get
   phone-scaled padding and type. Desktop (min 821) untouched. */
@media (max-width: 820px){
  html body article.cbs-prod[data-pid] .cbs-pv-tabnav{ padding: 8px 8px 0 !important; }
  html body article.cbs-prod[data-pid] .cbs-pv-tablist{
    display: grid !important; grid-auto-flow: column !important; grid-auto-columns: 1fr !important;
    gap: 2px !important; overflow: visible !important; width: 100% !important;
  }
  html body article.cbs-prod[data-pid] .cbs-pv-tab{
    display: flex !important; flex-direction: column !important; align-items: center !important;
    justify-content: center !important; gap: 6px !important; width: auto !important; min-width: 0 !important;
    padding: 12px 4px 14px !important; font-size: 10px !important; letter-spacing: .08em !important;
    text-align: center !important; border-radius: 8px 8px 0 0 !important; position: relative !important;
  }
  html body article.cbs-prod[data-pid] .cbs-pv-tab span{ white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; max-width: 100% !important; }
  html body article.cbs-prod[data-pid] .cbs-pv-tab .cbs-pv-ico{ font-size: 17px !important; }
  html body article.cbs-prod[data-pid] .cbs-pv-tab.is-active{ background: linear-gradient(180deg, rgba(108,189,224,.10), rgba(108,189,224,0)) !important; color: var(--pv-f1, #fff) !important; }
  html body article.cbs-prod[data-pid] .cbs-pv-tab.is-active::before{
    content: '' !important; display: block !important; position: absolute !important;
    left: 18% !important; right: 18% !important; bottom: 0 !important; top: auto !important;
    height: 2px !important; width: auto !important; border-radius: 2px 2px 0 0 !important;
    background: var(--pv-cyan, #6cbde0) !important;
  }
  html body article.cbs-prod[data-pid] .cbs-pv-panels{ padding: 20px 16px 24px !important; min-height: 0 !important; }
  html body article.cbs-prod[data-pid] .cbs-pv-prose p,
  html body article.cbs-prod[data-pid] .cbs-pv-prose li{ font-size: 14px !important; line-height: 1.7 !important; }
  html body article.cbs-prod[data-pid] .cbs-pv-empty{ font-size: 13px !important; padding: 4px 0 !important; }
  html body article.cbs-prod[data-pid] .cbs-pv-reviews ol.commentlist li .comment_container{ padding: 13px !important; }
  html body article.cbs-prod[data-pid] .cbs-pv-reviews .woocommerce-Reviews-title,
  html body article.cbs-prod[data-pid] .cbs-pv-reviews #reply-title{ font-size: 17px !important; }
  html body article.cbs-prod[data-pid] .cbs-pv-reviews input[type="text"],
  html body article.cbs-prod[data-pid] .cbs-pv-reviews input[type="email"],
  html body article.cbs-prod[data-pid] .cbs-pv-reviews textarea{ width: 100% !important; box-sizing: border-box !important; }
  html body article.cbs-prod[data-pid] .cbs-pv-reviews .comment-form p{ margin: 0 0 12px !important; }
  html body article.cbs-prod[data-pid] .cbs-pv-pills{ gap: 6px !important; }
  html body article.cbs-prod[data-pid] .cbs-pv-pill{ font-size: 11.5px !important; line-height: 1.45 !important; padding: 7px 12px !important; border-radius: 12px !important; }
}
@media (max-width: 620px){
  html body article.cbs-prod[data-pid] .cbs-pv-tab{ font-size: 9px !important; letter-spacing: .06em !important; padding: 11px 3px 13px !important; }
  html body article.cbs-prod[data-pid] .cbs-pv-tab .cbs-pv-ico{ font-size: 16px !important; }
}
/* ===== End CBS-PROD-TABS-MOB V1 ===== */

/* ===== CBS-SIZE-CHART-TABLE V1 (2026-07-13) =====
   Real HTML size-chart table on the product Size Chart tab (replaces the
   per-product image). Data = _cbs_size_chart_table JSON (cols/rows/note),
   editable per product (Products -> edit -> "Size Chart Table" box).
   Dark, mono/cyan - matches the dossier panel language. */
html body article.cbs-prod[data-pid] .cbs-sct{ max-width: 640px !important; }
html body article.cbs-prod[data-pid] .cbs-sct__scroll{ overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; border: 1px solid var(--pv-line2, #3a4250) !important; border-radius: 12px !important; background: var(--pv-bg2, #10141a) !important; }
html body article.cbs-prod[data-pid] table.cbs-sct__table{ width: 100% !important; border-collapse: collapse !important; margin: 0 !important; font-family: var(--pv-mono, "JetBrains Mono", monospace) !important; }
html body article.cbs-prod[data-pid] .cbs-sct__table th{ font-size: 10.5px !important; font-weight: 600 !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: var(--pv-cyan, #6cbde0) !important; text-align: left !important; padding: 12px 16px !important; border-bottom: 1px solid var(--pv-line2, #3a4250) !important; background: rgba(108,189,224,.05) !important; white-space: nowrap !important; }
html body article.cbs-prod[data-pid] .cbs-sct__table td{ font-size: 13px !important; color: var(--pv-f2, rgba(255,255,255,.82)) !important; padding: 10px 16px !important; border-bottom: 1px solid var(--pv-line, #262d37) !important; white-space: nowrap !important; }
html body article.cbs-prod[data-pid] .cbs-sct__table tbody tr:last-child td{ border-bottom: 0 !important; }
html body article.cbs-prod[data-pid] .cbs-sct__table tbody tr:nth-child(even) td{ background: rgba(255,255,255,.015) !important; }
html body article.cbs-prod[data-pid] .cbs-sct__table tbody tr:hover td{ background: rgba(108,189,224,.05) !important; }
html body article.cbs-prod[data-pid] .cbs-sct__table td:first-child{ color: var(--pv-f1, #fff) !important; font-weight: 600 !important; }
html body article.cbs-prod[data-pid] .cbs-sct__note{ display: flex !important; align-items: center !important; gap: 7px !important; margin-top: 12px !important; font-family: var(--pv-mono, "JetBrains Mono", monospace) !important; font-size: 11px !important; letter-spacing: .05em !important; color: var(--pv-f4, rgba(255,255,255,.45)) !important; }
html body article.cbs-prod[data-pid] .cbs-sct__note .cbs-pv-ico{ color: var(--pv-cyan, #6cbde0) !important; font-size: 14px !important; }
@media (max-width: 820px){
  html body article.cbs-prod[data-pid] .cbs-sct{ max-width: none !important; }
  html body article.cbs-prod[data-pid] .cbs-sct__table th{ padding: 10px 12px !important; font-size: 9.5px !important; }
  html body article.cbs-prod[data-pid] .cbs-sct__table td{ padding: 9px 12px !important; font-size: 12px !important; }
}
/* ===== End CBS-SIZE-CHART-TABLE V1 ===== */

/* ===== CBS-ACCT-MOB V1 (2026-07-14) =====
   Mobile pass for /my-account/ (item: not mobile-optimised). Fixes at phone
   widths: the account nav was display:none'd by a theme sheet (unreachable
   Orders/Addresses/Details/Logout) -> restored as one scrollable chip row;
   the H1 hid under the fixed top pill; orders lost their order number and
   ran together -> each order is a card with an ORDER row; the name fields
   floated side-by-side at ~130px; buttons/inputs go full width. Desktop and
   the 768-860 tablet band keep the existing CBS-ACCOUNT behaviour. */
@media (max-width:860px){
  body.woocommerce-account .woocommerce-MyAccount-navigation{ display:block !important; }
}
@media (max-width:767px){
  body.woocommerce-account .entry-title{ margin-top:32px !important; padding-left:16px !important; padding-right:16px !important; font-size:30px !important; }
  body.woocommerce-account .woocommerce{ padding-top:14px !important; }
  /* nav chips: a single scrollable row */
  body.woocommerce-account .woocommerce-MyAccount-navigation ul{ display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important; overflow-x:auto !important; -webkit-overflow-scrolling:touch !important; padding:10px !important; gap:6px !important; scrollbar-width:none !important; }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar{ display:none !important; }
  body.woocommerce-account .woocommerce-MyAccount-navigation li{ flex:0 0 auto !important; margin:0 !important; }
  body.woocommerce-account .woocommerce-MyAccount-navigation li a{ white-space:nowrap !important; padding:10px 13px !important; font-size:11px !important; }
  body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout{ margin-left:0 !important; margin-top:0 !important; padding-top:0 !important; border-top:0 !important; }
  /* content panel */
  body.woocommerce-account .woocommerce-MyAccount-content{ padding:18px 14px !important; }
  /* orders: one card per order, order number restored */
  body.woocommerce-account table.shop_table.woocommerce-orders-table{ border:0 !important; background:transparent !important; display:block !important; }
  body.woocommerce-account .woocommerce-orders-table thead{ display:none !important; }
  body.woocommerce-account .woocommerce-orders-table tbody{ display:block !important; }
  body.woocommerce-account .woocommerce-orders-table tbody tr{ display:block !important; border:1px solid var(--cbs-line, rgba(255,255,255,.09)) !important; border-radius:12px !important; background:var(--cbs-bg-1, #0e1116) !important; margin:0 0 12px !important; padding:4px 14px !important; }
  body.woocommerce-account .woocommerce-orders-table td,
  body.woocommerce-account .woocommerce-orders-table tbody th{ display:flex !important; justify-content:space-between !important; align-items:center !important; gap:12px !important; border:0 !important; border-bottom:1px dashed rgba(255,255,255,.08) !important; padding:11px 0 !important; background:transparent !important; text-align:right !important; font-size:13.5px !important; }
  body.woocommerce-account .woocommerce-orders-table td:last-child{ border-bottom:0 !important; }
  body.woocommerce-account .woocommerce-orders-table th.woocommerce-orders-table__cell-order-number{ display:flex !important; background:transparent !important; }
  body.woocommerce-account .woocommerce-orders-table th.woocommerce-orders-table__cell-order-number a{ color:var(--acc, #6cbde0) !important; font-family:var(--cbs-font-mono, "JetBrains Mono", monospace) !important; font-weight:700 !important; text-decoration:none !important; }
  body.woocommerce-account .woocommerce-orders-table td::before,
  body.woocommerce-account .woocommerce-orders-table tbody th::before{ content:attr(data-title) !important; float:none !important; font-family:var(--cbs-font-mono, "JetBrains Mono", monospace) !important; font-size:10px !important; font-weight:700 !important; letter-spacing:.16em !important; text-transform:uppercase !important; color:var(--cbs-fg-3, rgba(255,255,255,.55)) !important; margin:0 !important; }
  body.woocommerce-account .woocommerce-orders-table td .woocommerce-button{ margin:0 !important; }
  /* forms: stack the split rows, full-width fields and buttons */
  body.woocommerce-account .form-row-first,
  body.woocommerce-account .form-row-last{ float:none !important; width:100% !important; }
  body.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
  body.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
  body.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
  body.woocommerce-account .woocommerce-MyAccount-content input[type="tel"],
  body.woocommerce-account .woocommerce-MyAccount-content select,
  body.woocommerce-account .woocommerce-MyAccount-content textarea{ width:100% !important; box-sizing:border-box !important; }
  body.woocommerce-account .woocommerce-MyAccount-content button[type="submit"],
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button{ width:100% !important; }
  /* notices wrap cleanly */
  body.woocommerce-account .woocommerce-message,
  body.woocommerce-account .woocommerce-info,
  body.woocommerce-account .woocommerce-error{ flex-wrap:wrap !important; gap:8px !important; }
}
/* ===== End CBS-ACCT-MOB V1 ===== */

/* ===== CBS-AFF-MOB V1 (2026-07-14) =====
   Mobile pass for the SliceWP Legion dashboard (/affiliate-account/, page 601).
   At phone widths the tab labels were hidden (8 cryptic icon squares, logout
   orphaned on its own row) -> labelled pills in one scrollable row; the
   title-to-tabs dead gap is tightened; date filters, referral-link tools,
   generator inputs and settings fields go full width; data tables scroll
   sideways inside their wrapper instead of crushing. Desktop untouched. */
@media (max-width:767px){
  body.page-id-601 .entry-content{ padding-top:18px !important; }
  body.page-id-601 .entry-title{ font-size:34px !important; }
  /* tabs: labelled, one scrollable row */
  body.page-id-601 .slicewp-nav-tab-wrapper{ flex-wrap:nowrap !important; overflow-x:auto !important; -webkit-overflow-scrolling:touch !important; gap:0 2px !important; scrollbar-width:none !important; }
  body.page-id-601 .slicewp-nav-tab-wrapper::-webkit-scrollbar{ display:none !important; }
  body.page-id-601 .slicewp-nav-tab{ flex:0 0 auto !important; }
  body.page-id-601 .slicewp-nav-tab a{ white-space:nowrap !important; }
  body.page-id-601 .slicewp-nav-tab a span{ display:inline !important; }
  /* dashboard filters */
  body.page-id-601 .slicewp-affiliate-dashboard-filters,
  body.page-id-601 .slicewp-list-table-filters{ display:flex !important; flex-wrap:wrap !important; gap:8px !important; }
  body.page-id-601 .slicewp-date-picker-wrapper{ width:100% !important; display:flex !important; flex-wrap:wrap !important; gap:8px !important; }
  body.page-id-601 .slicewp-date-picker-input{ width:100% !important; box-sizing:border-box !important; }
  /* referral link + generator + share */
  body.page-id-601 .slicewp-input-copy{ width:100% !important; box-sizing:border-box !important; }
  body.page-id-601 .slicewp-affiliate-custom-link-input{ width:100% !important; box-sizing:border-box !important; }
  body.page-id-601 .slicewp-button-primary,
  body.page-id-601 .slicewp-generate-affiliate-link{ width:100% !important; text-align:center !important; justify-content:center !important; box-sizing:border-box !important; }
  body.page-id-601 .slicewp-asos-wrapper{ display:flex !important; flex-wrap:wrap !important; gap:8px !important; }
  /* data tables: slide, don't squish */
  body.page-id-601 .slicewp-list-table-wrapper{ overflow-x:auto !important; -webkit-overflow-scrolling:touch !important; }
  body.page-id-601 table.slicewp-list-table{ min-width:560px !important; }
  /* settings form */
  body.page-id-601 .slicewp-form input[type="text"],
  body.page-id-601 .slicewp-form input[type="email"],
  body.page-id-601 .slicewp-form input[type="url"],
  body.page-id-601 .slicewp-form input[type="password"],
  body.page-id-601 .slicewp-form select,
  body.page-id-601 .slicewp-form textarea{ width:100% !important; box-sizing:border-box !important; }
  body.page-id-601 .slicewp-field-wrapper{ min-width:0 !important; }
}
/* ===== End CBS-AFF-MOB V1 ===== */

/* ===== CBS-PROD-TABS-MOB V1.1 (2026-07-14) =====
   Fixes from user review: (a) opening the Size Chart tab stretched the dossier
   grid (the wide table's min-content propagated through the grid items), so
   every tab changed width on click - grid items now clamp (min-width:0);
   (b) the chart needed sideways scrolling on phones - at <=480 the table uses
   a fixed layout with centered cells and two-line wrapped headers so ALL
   columns fit the screen with no horizontal scroll. */
html body article.cbs-prod[data-pid] .cbs-pv-tabs{ max-width:100% !important; min-width:0 !important; }
html body article.cbs-prod[data-pid] .cbs-pv-tabnav,
html body article.cbs-prod[data-pid] .cbs-pv-panels,
html body article.cbs-prod[data-pid] .cbs-pv-panel{ min-width:0 !important; max-width:100% !important; }
html body article.cbs-prod[data-pid] .cbs-pv-panels{ overflow:hidden !important; }
@media (max-width: 480px){
  html body article.cbs-prod[data-pid] table.cbs-sct__table{ table-layout:fixed !important; width:100% !important; }
  html body article.cbs-prod[data-pid] .cbs-sct__table th{ white-space:normal !important; text-align:center !important; padding:9px 3px !important; font-size:8.5px !important; letter-spacing:.06em !important; line-height:1.45 !important; }
  html body article.cbs-prod[data-pid] .cbs-sct__table td{ white-space:normal !important; text-align:center !important; padding:10px 3px !important; font-size:12.5px !important; }
  html body article.cbs-prod[data-pid] .cbs-sct__table th:first-child,
  html body article.cbs-prod[data-pid] .cbs-sct__table td:first-child{ text-align:left !important; padding-left:12px !important; width:17% !important; }
  html body article.cbs-prod[data-pid] .cbs-sct__note{ font-size:10.5px !important; line-height:1.5 !important; align-items:flex-start !important; }
  html body article.cbs-prod[data-pid] .cbs-sct__note .cbs-pv-ico{ margin-top:1px !important; }
}
/* ===== End CBS-PROD-TABS-MOB V1.1 ===== */

/* ===== CBS-PV-CAROUSELS V1 (2026-07-14) =====
   The PDP "You might also like." + "Top movers." sections now use the SAME
   .cbs-prod-carousel markup as the home page (see content-single-product.php).
   Desktop inherits the base carousel (multi-up scroll + V14 drift + arrows);
   this block ports the home CBS-CAROUSEL-MOB-CENTER treatment (single-card
   centre-snap, glass side arrows) to the product page at <=767, and keeps the
   desktop arrows inside the page gutter. */
html body article.cbs-prod[data-pid] .cbs-pv-more .cbs-prod-carousel{ margin-top: 4px !important; }
@media (min-width: 768px){
  html body article.cbs-prod[data-pid] .cbs-pv-more .cbs-prod-arrow--prev{ left:-14px !important; }
  html body article.cbs-prod[data-pid] .cbs-pv-more .cbs-prod-arrow--next{ right:-14px !important; }
}
@media (max-width: 767px){
  article.cbs-prod .cbs-pv-more .cbs-prod-carousel{ --cw: min(82vw, 520px); }
  article.cbs-prod .cbs-pv-more .cbs-prod-carousel .cbs-prod-grid{
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    scroll-padding: 0 !important;
    gap: 14px !important;
    padding: 4px 0 14px !important;
  }
  article.cbs-prod .cbs-pv-more .cbs-prod-carousel .cbs-prod-grid::before,
  article.cbs-prod .cbs-pv-more .cbs-prod-carousel .cbs-prod-grid::after{
    content: "" !important;
    flex: 0 0 calc((100% - var(--cw)) / 2) !important;
    min-width: 0 !important;
    scroll-snap-align: none !important;
  }
  article.cbs-prod .cbs-pv-more .cbs-prod-carousel .cbs-prod-item{
    flex: 0 0 var(--cw) !important;
    width: var(--cw) !important;
    max-width: none !important;
    scroll-snap-align: center !important;
  }
  article.cbs-prod .cbs-pv-more .cbs-prod-arrow{
    display: inline-flex !important;
    position: absolute !important;
    top: 48% !important; bottom: auto !important;
    width: 40px !important; height: 40px !important;
    z-index: 30 !important;
    background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.02)), rgba(12,15,20,.92) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
    box-shadow: 0 8px 20px rgba(0,0,0,.55) !important;
  }
  article.cbs-prod .cbs-pv-more .cbs-prod-arrow--prev{ left: 6px !important; right: auto !important; transform: translateY(-50%) !important; }
  article.cbs-prod .cbs-pv-more .cbs-prod-arrow--next{ right: 6px !important; left: auto !important; transform: translateY(-50%) !important; }
  article.cbs-prod .cbs-pv-more .cbs-prod-arrow:disabled{ opacity: .28 !important; }
  article.cbs-prod .cbs-pv-morehead .cbs-home__sub{ max-width: none !important; }
}
/* ===== End CBS-PV-CAROUSELS V1 ===== */

/* ===== CBS-ACCT-MOB V2 (2026-07-14) =====
   Design-polish pass on /my-account/ at phone widths (user: V1 looked
   unpolished). Flattens the double panel boxes, restyles the nav chips
   (white active pill), turns the dashboard quick actions into one-per-row
   list rows, refines order cards (status colours, white VIEW pill),
   addresses (single-row card headers, EDIT pill), all form fields (mono
   labels, 46px dark inputs, cyan focus ring, select2), and the order-detail
   tables. Everything <=767 only - desktop and tablet keep CBS-ACCOUNT. */
@media (max-width:767px){
  /* --- shell --- */
  body.woocommerce-account .entry-title{ font-size:29px !important; margin-top:34px !important; }
  body.woocommerce-account .woocommerce{ padding-top:10px !important; }
  body.woocommerce-account .woocommerce-MyAccount-content{ background:transparent !important; border:0 !important; box-shadow:none !important; padding:6px 0 0 !important; }
  body.woocommerce-account .woocommerce-MyAccount-content > p{ font-size:13.5px !important; line-height:1.7 !important; color:rgba(255,255,255,.6) !important; }
  body.woocommerce-account .woocommerce-MyAccount-content mark{ background:transparent !important; color:#fff !important; font-weight:700 !important; }
  body.woocommerce-account .woocommerce-MyAccount-content h2{ font-size:19px !important; letter-spacing:.02em !important; margin:26px 0 12px !important; }

  /* --- nav chips: naked scroll row, white active pill --- */
  body.woocommerce-account .woocommerce-MyAccount-navigation ul{ background:transparent !important; border:0 !important; border-radius:0 !important; padding:2px 2px 12px !important; gap:8px !important; }
  body.woocommerce-account .woocommerce-MyAccount-navigation li a{
    background:#0e1116 !important; border:1px solid rgba(255,255,255,.12) !important; border-radius:999px !important;
    padding:10px 15px !important; font-size:10.5px !important; letter-spacing:.13em !important; color:rgba(255,255,255,.72) !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
  body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--is-active a{
    background:#fff !important; color:#06080b !important; border-color:#fff !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a{
    color:#ff8585 !important; background:rgba(255,90,90,.07) !important; border-color:rgba(255,90,90,.25) !important;
  }

  /* --- dashboard: hello + one-per-row action list --- */
  body.woocommerce-account .cbs-acct-hello__eyebrow{ font-size:10px !important; letter-spacing:.2em !important; }
  body.woocommerce-account .cbs-acct-hello__name{ font-size:24px !important; line-height:1.08 !important; margin:8px 0 6px !important; }
  body.woocommerce-account .cbs-acct-hello__meta{ font-size:12px !important; color:rgba(255,255,255,.55) !important; word-break:break-word !important; }
  body.woocommerce-account .cbs-acct-grid{ grid-template-columns:1fr !important; gap:10px !important; margin-top:18px !important; }
  body.woocommerce-account .cbs-acct-card{
    display:flex !important; flex-direction:row !important; align-items:center !important; gap:14px !important;
    background:#0e1116 !important; border:1px solid rgba(255,255,255,.09) !important; border-radius:14px !important;
    padding:14px 16px !important; min-height:0 !important; height:auto !important;
  }
  body.woocommerce-account .cbs-acct-card__ico{
    width:40px !important; height:40px !important; flex:0 0 40px !important; border-radius:11px !important;
    display:grid !important; place-items:center !important;
    background:rgba(108,189,224,.1) !important; box-shadow:inset 0 0 0 1px rgba(108,189,224,.14) !important; border:0 !important;
  }
  body.woocommerce-account .cbs-acct-card__ico i{ font-size:19px !important; color:#6cbde0 !important; }
  body.woocommerce-account .cbs-acct-card__body{ display:flex !important; flex-direction:column !important; gap:3px !important; min-width:0 !important; }
  body.woocommerce-account .cbs-acct-card__title{ font-size:14.5px !important; font-weight:700 !important; color:#fff !important; line-height:1.2 !important; }
  body.woocommerce-account .cbs-acct-card__sub{ font-size:9.5px !important; letter-spacing:.12em !important; text-transform:uppercase !important; color:rgba(255,255,255,.42) !important; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important; }
  body.woocommerce-account .cbs-acct-card__go{ margin-left:auto !important; color:rgba(255,255,255,.38) !important; font-size:15px !important; flex:0 0 auto !important; }

  /* --- orders list refinement --- */
  body.woocommerce-account .woocommerce-orders-table tbody tr{ padding:6px 16px !important; border-radius:14px !important; }
  body.woocommerce-account .woocommerce-orders-table td .woocommerce-button,
  body.woocommerce-account .woocommerce-orders-table td .button{
    background:#fff !important; color:#06080b !important; border:0 !important; border-radius:999px !important;
    font-family:var(--cbs-font-mono, "JetBrains Mono", monospace) !important; font-size:11px !important; font-weight:700 !important;
    letter-spacing:.12em !important; text-transform:uppercase !important; padding:10px 18px !important; line-height:1 !important;
  }
  body.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-status{
    font-family:var(--cbs-font-mono, "JetBrains Mono", monospace) !important; font-size:11px !important;
    letter-spacing:.1em !important; text-transform:uppercase !important; font-weight:700 !important;
  }
  body.woocommerce-account tr.woocommerce-orders-table__row--status-processing td.woocommerce-orders-table__cell-order-status{ color:#6cbde0 !important; }
  body.woocommerce-account tr.woocommerce-orders-table__row--status-completed td.woocommerce-orders-table__cell-order-status{ color:#4fd07e !important; }
  body.woocommerce-account tr.woocommerce-orders-table__row--status-on-hold td.woocommerce-orders-table__cell-order-status,
  body.woocommerce-account tr.woocommerce-orders-table__row--status-pending td.woocommerce-orders-table__cell-order-status{ color:#e0b45e !important; }
  body.woocommerce-account tr.woocommerce-orders-table__row--status-cancelled td.woocommerce-orders-table__cell-order-status,
  body.woocommerce-account tr.woocommerce-orders-table__row--status-failed td.woocommerce-orders-table__cell-order-status,
  body.woocommerce-account tr.woocommerce-orders-table__row--status-refunded td.woocommerce-orders-table__cell-order-status{ color:#ff8585 !important; }
  body.woocommerce-account .woocommerce-pagination{ display:flex !important; gap:10px !important; margin-top:4px !important; }
  body.woocommerce-account .woocommerce-pagination .button{ flex:1 1 0 !important; width:auto !important; text-align:center !important; }

  /* --- addresses: one-row card header + EDIT pill --- */
  body.woocommerce-account .woocommerce-Address{ padding:16px !important; border-radius:14px !important; }
  body.woocommerce-account .woocommerce-Address header.title{
    display:flex !important; align-items:center !important; justify-content:space-between !important;
    gap:10px !important; margin:0 0 10px !important; padding:0 0 10px !important;
    border-bottom:1px dashed rgba(255,255,255,.09) !important;
  }
  body.woocommerce-account .woocommerce-Address header.title h2,
  body.woocommerce-account .woocommerce-Address header.title h3{
    font-family:var(--cbs-font-mono, "JetBrains Mono", monospace) !important; font-size:11px !important;
    letter-spacing:.18em !important; text-transform:uppercase !important; color:#6cbde0 !important;
    margin:0 !important; line-height:1.3 !important;
  }
  body.woocommerce-account .woocommerce-Address header.title .edit{
    background:#0e1116 !important; border:1px solid rgba(255,255,255,.14) !important; border-radius:999px !important;
    padding:7px 14px !important; font-family:var(--cbs-font-mono, "JetBrains Mono", monospace) !important;
    font-size:9.5px !important; font-weight:700 !important; letter-spacing:.14em !important; text-transform:uppercase !important;
    color:#fff !important; white-space:nowrap !important; text-decoration:none !important; flex:0 0 auto !important;
  }
  body.woocommerce-account .woocommerce-Address address{ font-size:14px !important; line-height:1.7 !important; color:rgba(255,255,255,.78) !important; font-style:normal !important; }

  /* --- forms: mono labels, 46px fields, cyan focus --- */
  body.woocommerce-account .woocommerce-MyAccount-content form .form-row{ margin:0 0 15px !important; padding:0 !important; }
  body.woocommerce-account .woocommerce-MyAccount-content form label{
    display:block !important; font-family:var(--cbs-font-mono, "JetBrains Mono", monospace) !important;
    font-size:10px !important; font-weight:700 !important; letter-spacing:.16em !important; text-transform:uppercase !important;
    color:rgba(255,255,255,.5) !important; margin:0 0 7px !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content form label .required{ color:#6cbde0 !important; text-decoration:none !important; }
  body.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
  body.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
  body.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
  body.woocommerce-account .woocommerce-MyAccount-content input[type="tel"]{
    height:46px !important; padding:0 14px !important; font-size:14.5px !important;
    background:#0e1116 !important; border:1px solid rgba(255,255,255,.12) !important; border-radius:11px !important;
    color:#fff !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content textarea{
    padding:12px 14px !important; font-size:14.5px !important; background:#0e1116 !important;
    border:1px solid rgba(255,255,255,.12) !important; border-radius:11px !important; color:#fff !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content input:focus,
  body.woocommerce-account .woocommerce-MyAccount-content textarea:focus{
    border-color:#6cbde0 !important; box-shadow:0 0 0 3px rgba(108,189,224,.14) !important; outline:0 !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content form span em,
  body.woocommerce-account .woocommerce-MyAccount-content form .form-row em{ font-size:11px !important; line-height:1.55 !important; color:rgba(255,255,255,.42) !important; display:block !important; margin-top:6px !important; font-style:normal !important; }
  body.woocommerce-account .woocommerce-MyAccount-content fieldset{
    border:1px dashed rgba(255,255,255,.14) !important; border-radius:12px !important; padding:14px !important; margin:6px 0 15px !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content fieldset legend{
    font-family:var(--cbs-font-mono, "JetBrains Mono", monospace) !important; font-size:10px !important; font-weight:700 !important;
    letter-spacing:.16em !important; text-transform:uppercase !important; color:#6cbde0 !important; padding:0 8px !important;
  }
  body.woocommerce-account .cbs-acct-pwtoggle{
    width:100% !important; justify-content:space-between !important; border-radius:11px !important;
    background:#0e1116 !important; border:1px solid rgba(255,255,255,.12) !important; padding:13px 15px !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content button[type="submit"],
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button{
    height:50px !important; border-radius:12px !important;
    font-family:var(--cbs-font-mono, "JetBrains Mono", monospace) !important; font-size:12px !important; font-weight:700 !important;
    letter-spacing:.14em !important; text-transform:uppercase !important; margin-top:4px !important;
  }
  /* select2 (country/state pickers) matches the fields */
  body.woocommerce-account .select2-container .select2-selection--single{
    height:46px !important; background:#0e1116 !important; border:1px solid rgba(255,255,255,.12) !important; border-radius:11px !important;
  }
  body.woocommerce-account .select2-container .select2-selection--single .select2-selection__rendered{ line-height:44px !important; color:#fff !important; padding-left:14px !important; }
  body.woocommerce-account .select2-container .select2-selection--single .select2-selection__arrow{ height:44px !important; }
  body.woocommerce-account .select2-dropdown{ background:#0e1116 !important; border:1px solid rgba(255,255,255,.14) !important; color:#fff !important; }
  body.woocommerce-account .select2-container .select2-search--dropdown .select2-search__field{ background:#161b22 !important; border:1px solid rgba(255,255,255,.12) !important; color:#fff !important; }
  body.woocommerce-account .select2-results__option--highlighted{ background:rgba(108,189,224,.18) !important; }

  /* --- order detail (view-order) --- */
  body.woocommerce-account table.order_details,
  body.woocommerce-account .woocommerce-table--order-details{
    border:1px solid rgba(255,255,255,.09) !important; border-radius:14px !important; border-collapse:separate !important; border-spacing:0 !important;
    background:#0e1116 !important; overflow:hidden !important; width:100% !important;
  }
  body.woocommerce-account table.order_details th,
  body.woocommerce-account table.order_details td{ padding:12px 14px !important; border:0 !important; border-bottom:1px dashed rgba(255,255,255,.08) !important; background:transparent !important; font-size:13.5px !important; }
  body.woocommerce-account table.order_details thead th{
    font-family:var(--cbs-font-mono, "JetBrains Mono", monospace) !important; font-size:9.5px !important; font-weight:700 !important;
    letter-spacing:.16em !important; text-transform:uppercase !important; color:rgba(255,255,255,.45) !important; background:rgba(255,255,255,.02) !important;
  }
  body.woocommerce-account table.order_details tfoot th{
    font-family:var(--cbs-font-mono, "JetBrains Mono", monospace) !important; font-size:9.5px !important; font-weight:700 !important;
    letter-spacing:.14em !important; text-transform:uppercase !important; color:rgba(255,255,255,.45) !important; text-align:left !important;
  }
  body.woocommerce-account table.order_details tfoot td{ text-align:right !important; color:#fff !important; }
  body.woocommerce-account table.order_details tbody tr:last-child td,
  body.woocommerce-account table.order_details tfoot tr:last-child th,
  body.woocommerce-account table.order_details tfoot tr:last-child td{ border-bottom:0 !important; }
  body.woocommerce-account table.order_details .woocommerce-table__product-name a{ color:#6cbde0 !important; font-size:14px !important; text-decoration:none !important; }
  body.woocommerce-account .woocommerce-customer-details .woocommerce-column{ float:none !important; width:100% !important; max-width:none !important; margin:0 0 12px !important; }
  body.woocommerce-account .woocommerce-customer-details address{
    background:#0e1116 !important; border:1px solid rgba(255,255,255,.09) !important; border-radius:14px !important;
    padding:16px !important; font-size:14px !important; line-height:1.7 !important; color:rgba(255,255,255,.78) !important; font-style:normal !important;
  }
}
/* ===== End CBS-ACCT-MOB V2 ===== */

/* ===== CBS-AFF-MOB V2 (2026-07-14) =====
   Design-polish pass on the Legion / SliceWP dashboard (/affiliate-account/,
   page 601) at phone widths - same language as CBS-ACCT-MOB V2. Tabs become
   pill chips (white active, red logout) instead of underlined icon squares;
   KPI cards, date filters and every form field get the 46px dark treatment;
   the Commissions / Visits / Payouts tables become one-card-per-row lists
   with injected mono labels (SliceWP prints no data-title attrs, but each td
   carries a slicewp-column-* class) and colour-coded status pills; settings
   radios become selectable pills; empty tabs get a dashed empty-state card.
   Everything <=767 - desktop keeps the CBS-AFFILIATE skin. */
@media (max-width:767px){
  /* --- header --- */
  body.page-id-601 .entry-title{ font-size:30px !important; }
  body.page-id-601 .entry-content{ padding-top:14px !important; }

  /* --- tabs: pill chips, white active, red logout --- */
  body.page-id-601 .slicewp-menu-top{ border-bottom:0 !important; }
  body.page-id-601 .slicewp-nav-tab-wrapper{ gap:8px !important; padding:2px 2px 14px !important; border-bottom:0 !important; }
  body.page-id-601 .slicewp-nav-tab{ border:0 !important; border-bottom:0 !important; margin:0 !important; }
  body.page-id-601 .slicewp-nav-tab a{
    display:flex !important; align-items:center !important; gap:8px !important;
    background:#0e1116 !important; border:1px solid rgba(255,255,255,.12) !important; border-radius:999px !important;
    padding:10px 15px !important; font-family:var(--cbs-font-mono, "JetBrains Mono", monospace) !important;
    font-size:10.5px !important; font-weight:700 !important; letter-spacing:.13em !important; text-transform:uppercase !important;
    color:rgba(255,255,255,.72) !important; white-space:nowrap !important; text-decoration:none !important;
  }
  body.page-id-601 .slicewp-nav-tab svg{ width:14px !important; height:14px !important; }
  body.page-id-601 .slicewp-nav-tab.slicewp-active{ border-bottom-color:transparent !important; }
  body.page-id-601 .slicewp-nav-tab.slicewp-active a{ background:#fff !important; color:#06080b !important; border-color:#fff !important; }
  body.page-id-601 .slicewp-nav-tab:last-child a{ color:#ff8585 !important; background:rgba(255,90,90,.07) !important; border-color:rgba(255,90,90,.25) !important; }
  body.page-id-601 .slicewp-nav-tab:last-child.slicewp-active a{ background:#ff8585 !important; color:#06080b !important; }

  /* --- dashboard date filters --- */
  body.page-id-601 .slicewp-date-picker-wrapper select,
  body.page-id-601 .slicewp-affiliate-dashboard-filters select,
  body.page-id-601 .slicewp-date-picker-input{
    height:46px !important; padding:0 14px !important; font-size:13px !important;
    background:#0e1116 !important; border:1px solid rgba(255,255,255,.12) !important; border-radius:11px !important;
    color:#fff !important; width:100% !important; box-sizing:border-box !important;
  }

  /* --- KPI cards --- */
  body.page-id-601 .slicewp-card{ background:#0e1116 !important; border:1px solid rgba(255,255,255,.09) !important; border-radius:14px !important; overflow:hidden !important; }
  body.page-id-601 .slicewp-card-inner{ padding:16px !important; }
  body.page-id-601 .slicewp-card-title{ font-family:var(--cbs-font-mono, "JetBrains Mono", monospace) !important; font-size:10px !important; font-weight:700 !important; letter-spacing:.16em !important; text-transform:uppercase !important; color:rgba(255,255,255,.5) !important; }
  body.page-id-601 .slicewp-card-footer{ border-top:1px dashed rgba(255,255,255,.09) !important; padding:12px 16px !important; background:rgba(255,255,255,.015) !important; }
  body.page-id-601 .slicewp-card-footer a{ font-family:var(--cbs-font-mono, "JetBrains Mono", monospace) !important; font-size:10.5px !important; font-weight:700 !important; letter-spacing:.13em !important; text-transform:uppercase !important; }

  /* --- data tables -> one card per row with injected labels --- */
  body.page-id-601 .slicewp-list-table-wrapper{ overflow:visible !important; }
  body.page-id-601 table.slicewp-list-table{ min-width:0 !important; width:100% !important; border:0 !important; background:transparent !important; display:block !important; border-collapse:separate !important; }
  body.page-id-601 .slicewp-list-table thead{ display:none !important; }
  body.page-id-601 .slicewp-list-table tbody{ display:block !important; }
  body.page-id-601 .slicewp-list-table tbody tr{
    display:block !important; background:#0e1116 !important; border:1px solid rgba(255,255,255,.09) !important;
    border-radius:14px !important; padding:4px 14px !important; margin:0 0 12px !important;
  }
  body.page-id-601 .slicewp-list-table tbody td{
    display:flex !important; justify-content:space-between !important; align-items:center !important; gap:12px !important;
    width:auto !important; border:0 !important; border-bottom:1px dashed rgba(255,255,255,.08) !important;
    padding:11px 0 !important; background:transparent !important; text-align:right !important; font-size:13.5px !important;
    color:rgba(255,255,255,.85) !important;
  }
  body.page-id-601 .slicewp-list-table tbody td:last-child{ border-bottom:0 !important; }
  body.page-id-601 .slicewp-list-table tbody td::before{
    font-family:var(--cbs-font-mono, "JetBrains Mono", monospace) !important; font-size:10px !important; font-weight:700 !important;
    letter-spacing:.16em !important; text-transform:uppercase !important; color:rgba(255,255,255,.45) !important; text-align:left !important;
  }
  body.page-id-601 .slicewp-list-table td.slicewp-column-id::before{ content:"ID"; }
  body.page-id-601 .slicewp-list-table td.slicewp-column-amount::before{ content:"AMOUNT"; }
  body.page-id-601 .slicewp-list-table td.slicewp-column-reference::before{ content:"ORDER"; }
  body.page-id-601 .slicewp-list-table td.slicewp-column-type::before{ content:"TYPE"; }
  body.page-id-601 .slicewp-list-table td.slicewp-column-date::before{ content:"DATE"; }
  body.page-id-601 .slicewp-list-table td.slicewp-column-status::before{ content:"STATUS"; }
  body.page-id-601 .slicewp-list-table td.slicewp-column-landing-url::before{ content:"LANDING PAGE"; }
  body.page-id-601 .slicewp-list-table td.slicewp-column-referrer-url::before{ content:"REFERRER"; }
  body.page-id-601 .slicewp-list-table td.slicewp-column-payment-email::before{ content:"EMAIL"; }
  body.page-id-601 .slicewp-list-table td.slicewp-column-method::before{ content:"METHOD"; }
  body.page-id-601 .slicewp-list-table td.slicewp-column-commissions::before{ content:"COMMISSIONS"; }
  body.page-id-601 .slicewp-list-table td.slicewp-column-amount{ color:#fff !important; font-weight:700 !important; }
  body.page-id-601 .slicewp-list-table td.slicewp-column-date{ font-size:12.5px !important; }
  body.page-id-601 .slicewp-list-table td.slicewp-column-landing-url,
  body.page-id-601 .slicewp-list-table td.slicewp-column-referrer-url{ word-break:break-all !important; }
  body.page-id-601 .slicewp-list-table td.slicewp-column-actions{ justify-content:flex-end !important; }
  body.page-id-601 .slicewp-list-table tbody td:only-child{ justify-content:center !important; text-align:center !important; color:rgba(255,255,255,.5) !important; }
  body.page-id-601 .slicewp-list-table-pagination{ display:flex !important; gap:8px !important; justify-content:center !important; flex-wrap:wrap !important; }

  /* --- status pills (commissions + payouts) --- */
  body.page-id-601 .slicewp-status-pill{
    display:inline-flex !important; align-items:center !important; padding:5px 11px !important; border-radius:999px !important;
    font-family:var(--cbs-font-mono, "JetBrains Mono", monospace) !important; font-size:10px !important; font-weight:700 !important;
    letter-spacing:.1em !important; text-transform:uppercase !important; background:rgba(255,255,255,.06) !important; color:rgba(255,255,255,.75) !important;
  }
  body.page-id-601 .slicewp-status-pill.slicewp-status-paid{ color:#4fd07e !important; background:rgba(79,208,126,.1) !important; }
  body.page-id-601 .slicewp-status-pill.slicewp-status-pending,
  body.page-id-601 .slicewp-status-pill.slicewp-status-unpaid{ color:#e0b45e !important; background:rgba(224,180,94,.1) !important; }
  body.page-id-601 .slicewp-status-pill.slicewp-status-rejected,
  body.page-id-601 .slicewp-status-pill.slicewp-status-failed{ color:#ff8585 !important; background:rgba(255,90,90,.1) !important; }

  /* --- affiliate links tab --- */
  body.page-id-601 .slicewp-input-copy{ height:46px !important; padding:0 14px !important; font-size:13px !important; background:#0e1116 !important; border:1px solid rgba(255,255,255,.12) !important; border-radius:11px !important; color:#fff !important; }
  body.page-id-601 .slicewp-button-primary,
  body.page-id-601 .slicewp-button-view-qr-code,
  body.page-id-601 .slicewp-generate-affiliate-link{ min-height:48px !important; border-radius:12px !important; font-family:var(--cbs-font-mono, "JetBrains Mono", monospace) !important; font-size:12px !important; font-weight:700 !important; letter-spacing:.14em !important; text-transform:uppercase !important; }
  body.page-id-601 .slicewp-asos-wrapper{ gap:10px !important; justify-content:flex-start !important; }

  /* --- settings form --- */
  body.page-id-601 .slicewp-form .slicewp-field-label-wrapper label{
    font-family:var(--cbs-font-mono, "JetBrains Mono", monospace) !important; font-size:10px !important; font-weight:700 !important;
    letter-spacing:.16em !important; text-transform:uppercase !important; color:rgba(255,255,255,.5) !important;
  }
  body.page-id-601 .slicewp-form .slicewp-field-required-marker{ color:#6cbde0 !important; }
  body.page-id-601 .slicewp-form input[type="text"],
  body.page-id-601 .slicewp-form input[type="email"],
  body.page-id-601 .slicewp-form input[type="url"],
  body.page-id-601 .slicewp-form input[type="password"],
  body.page-id-601 .slicewp-form select{
    height:46px !important; padding:0 14px !important; font-size:14px !important;
    background:#0e1116 !important; border:1px solid rgba(255,255,255,.12) !important; border-radius:11px !important; color:#fff !important;
  }
  body.page-id-601 .slicewp-form textarea{ padding:12px 14px !important; font-size:14px !important; background:#0e1116 !important; border:1px solid rgba(255,255,255,.12) !important; border-radius:11px !important; color:#fff !important; }
  body.page-id-601 .slicewp-form input:focus,
  body.page-id-601 .slicewp-form select:focus,
  body.page-id-601 .slicewp-form textarea:focus{ border-color:#6cbde0 !important; box-shadow:0 0 0 3px rgba(108,189,224,.14) !important; outline:0 !important; }
  body.page-id-601 .slicewp-form input[readonly],
  body.page-id-601 .slicewp-form input[disabled]{ opacity:.6 !important; }
  body.page-id-601 .slicewp-field-description{ font-size:11px !important; line-height:1.55 !important; color:rgba(255,255,255,.42) !important; }
  /* radios -> selectable pills (input precedes its label) */
  body.page-id-601 .slicewp-field-radio-wrapper{ display:flex !important; flex-wrap:wrap !important; gap:8px !important; list-style:none !important; padding:0 !important; margin:6px 0 0 !important; }
  body.page-id-601 .slicewp-field-radio-wrapper li{ margin:0 !important; list-style:none !important; }
  body.page-id-601 .slicewp-field-radio-wrapper input[type="radio"]{ position:absolute !important; opacity:0 !important; pointer-events:none !important; width:1px !important; height:1px !important; }
  body.page-id-601 .slicewp-field-radio-wrapper li label{
    display:inline-flex !important; align-items:center !important; padding:10px 16px !important;
    background:#0e1116 !important; border:1px solid rgba(255,255,255,.14) !important; border-radius:999px !important;
    font-family:var(--cbs-font-mono, "JetBrains Mono", monospace) !important; font-size:11px !important; font-weight:700 !important;
    letter-spacing:.1em !important; text-transform:uppercase !important; color:rgba(255,255,255,.75) !important; cursor:pointer !important;
    line-height:1.3 !important;
  }
  body.page-id-601 .slicewp-field-radio-wrapper input[type="radio"]:checked + label{ background:#fff !important; color:#06080b !important; border-color:#fff !important; }
  body.page-id-601 .slicewp-field-radio-wrapper input[type="radio"]:focus-visible + label{ box-shadow:0 0 0 3px rgba(108,189,224,.3) !important; }

  /* --- empty tabs (creatives / no data) --- */
  body.page-id-601 .slicewp-tab > p:first-child:last-child{
    border:1px dashed rgba(255,255,255,.16) !important; border-radius:14px !important;
    padding:30px 18px !important; text-align:center !important;
    font-family:var(--cbs-font-mono, "JetBrains Mono", monospace) !important; font-size:12px !important;
    letter-spacing:.06em !important; color:rgba(255,255,255,.5) !important;
  }
}
/* ===== End CBS-AFF-MOB V2 ===== */

/* ===== CBS-AFF-MOB V2.1 (2026-07-14) =====
   Dashboard date filter fit: the picker is a DIV (svg + "Past 30 days" preset
   span + dates span) inside a wrapper that can exceed the phone viewport by a
   few px - contain it and let the date-range text ellipsize instead of poking
   off-screen. <=767, page 601 only. */
@media (max-width:767px){
  body.page-id-601 .slicewp-affiliate-dashboard-filters,
  body.page-id-601 .slicewp-list-table-filters{ max-width:100% !important; box-sizing:border-box !important; }
  body.page-id-601 .slicewp-affiliate-dashboard-filters form,
  body.page-id-601 .slicewp-list-table-filters form{ width:100% !important; max-width:100% !important; min-width:0 !important; box-sizing:border-box !important; display:flex !important; flex-wrap:wrap !important; gap:8px !important; margin:0 !important; }
  body.page-id-601 .slicewp-date-picker-wrapper{ width:auto !important; max-width:100% !important; min-width:0 !important; }
  body.page-id-601 div.slicewp-date-picker-input{
    display:flex !important; align-items:center !important; gap:8px !important;
    width:auto !important; max-width:100% !important; min-width:0 !important;
    height:auto !important; min-height:46px !important; padding:8px 12px !important; box-sizing:border-box !important;
  }
  body.page-id-601 .slicewp-date-picker-input svg{ flex:0 0 auto !important; }
  body.page-id-601 .slicewp-date-picker-input .slicewp-date-picker-input-date-range{ flex:0 0 auto !important; font-size:12px !important; }
  body.page-id-601 .slicewp-date-picker-input .slicewp-date-picker-input-dates{
    flex:1 1 auto !important; min-width:0 !important; overflow:hidden !important;
    text-overflow:ellipsis !important; white-space:nowrap !important; text-align:right !important; font-size:12px !important;
  }
}
/* ===== End CBS-AFF-MOB V2.1 ===== */

/* ===== CBS-ACCT-MOB V3 (2026-07-14) =====
   Content-polish pass (user: "make the pages professional"). Account +
   Legion at <=767: the account chip nav loses its redundant bordered box
   (chips float free like the Legion row); every primary submit goes WHITE
   to match the site button language (VIEW / APPLY / COPY / ADD TO CART);
   orders pagination becomes quiet dark ghost pills instead of two heavy
   white slabs; address-card headers hold one line (title nowrap + compact
   EDIT pill); consistent block rhythm around the nav rows. */
@media (max-width:767px){
  /* account nav: no container box, just the chip row */
  body.woocommerce-account .woocommerce-MyAccount-navigation{
    background:transparent !important; border:0 !important; box-shadow:none !important;
    border-radius:0 !important; padding:0 !important; margin:0 0 6px !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul{ padding:2px 2px 10px !important; }

  /* white primary submits (edit account / addresses / etc.) */
  body.woocommerce-account .woocommerce-MyAccount-content button[type="submit"],
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button{
    background:#fff !important; color:#06080b !important; border:0 !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]:hover,
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button:hover{
    background:#e7f3fa !important; color:#06080b !important;
  }
  /* ...except orders pagination: quiet dark ghost pills, side by side */
  body.woocommerce-account .woocommerce-pagination .button,
  body.woocommerce-account .woocommerce-pagination .woocommerce-Button{
    background:#0e1116 !important; color:rgba(255,255,255,.85) !important;
    border:1px solid rgba(255,255,255,.14) !important; border-radius:999px !important;
    height:44px !important; font-size:11px !important; margin-top:0 !important;
  }

  /* address cards: single-line header, compact EDIT pill */
  body.woocommerce-account .woocommerce-Address header.title h2,
  body.woocommerce-account .woocommerce-Address header.title h3{ white-space:nowrap !important; font-size:10.5px !important; }
  body.woocommerce-account .woocommerce-Address header.title .edit{ padding:6px 12px !important; font-size:9px !important; letter-spacing:.12em !important; }

  /* legion: same rhythm under the pill row */
  body.page-id-601 .slicewp-nav-tab-wrapper{ margin-bottom:2px !important; }
  body.page-id-601 .slicewp-tab{ padding-top:4px !important; }

  /* dashboard hello block: a touch more presence + separation */
  body.woocommerce-account .cbs-acct-hello{ padding:2px 2px 16px !important; margin-bottom:2px !important; border-bottom:1px dashed rgba(255,255,255,.08) !important; }
  body.woocommerce-account .cbs-acct-hello__eyebrow{ color:#6cbde0 !important; }
}
/* ===== End CBS-ACCT-MOB V3 ===== */

/* ===== CBS-FOOT-FIX-01 (2026-07-14) =====
   (a) The Customer Reviews PhotoSwipe skeleton (.cr-pswp) prints in wp_footer
   on EVERY page, but its stylesheet is product-page-only since CBS-PERF-04 -
   elsewhere the bare skeleton rendered as a row of orange theme-styled
   buttons at the page bottom. Keep it hidden unless PhotoSwipe actually
   opens (it adds .pswp--open); on product pages its own CSS still runs the
   show. (b) Centre the wrapped footer legal links (the row block was already
   centred, but the links inside the span wrapped left-aligned). */
.cr-pswp.pswp:not(.pswp--open){ display:none !important; }
.cbs-footer__legal{ justify-content:center !important; text-align:center !important; }
/* ===== End CBS-FOOT-FIX-01 ===== */

/* ===== CBS-NAV-V4 (2026-07-14) — MOBILE drawer: Shop dropdown =====
   The old flat "Shop all" row is replaced by a "Shop" dropdown that holds
   By Category / By Goal / Apparel & More (the taxonomy accordions that used
   to sit loose below the list) plus a prominent "Shop All Products" link.
   The dropdown is a sibling of the two list segments (Home above; New /
   Clearance / Wishlist / Legion / account below) so the primary-row
   .cbs-nav__mobile-list a rules don't cascade into the taxonomy links.
   <=1023 only (drawer is mobile-only). */
@media (max-width: 1023px){
  /* keep the two split list segments visually continuous with the dropdown */
  .cbs-nav__mobile-list--head{ margin: 6px 0 2px !important; }
  .cbs-nav__mobile-shopwrap{ margin: 2px 0 !important; border: 0 !important; padding: 0 !important; }
  .cbs-nav__mobile-list--rest{ margin: 2px 0 8px !important; }

  /* --- Shop parent summary: reads like a primary nav row, toggles the panel --- */
  .cbs-nav__mobile-group--shop > summary{
    list-style: none; cursor: pointer;
    display: flex !important; align-items: center; gap: 13px;
    padding: 12px 12px !important; border-radius: 13px !important;
    font-family: var(--cbs-font-display, 'Anton', sans-serif) !important;
    font-size: 15px !important; font-weight: 400 !important;
    letter-spacing: .05em !important; text-transform: uppercase !important;
    color: var(--cbs-fg-2, rgba(255,255,255,.82)) !important;
    transition: background .15s ease, color .15s ease, transform .06s ease;
  }
  .cbs-nav__mobile-group--shop > summary::-webkit-details-marker{ display: none !important; }
  .cbs-nav__mobile-group--shop > summary::after{ display: none !important; }
  .cbs-nav__mobile-group--shop > summary > i:first-child{
    flex: 0 0 auto; width: 24px; text-align: center; font-size: 18px !important;
    color: var(--cbs-brand-strong, #6cbde0) !important; transform: none !important;
  }
  .cbs-nav__mobile-group--shop > summary > span{ flex: 1 1 auto; min-width: 0; }
  .cbs-nav__mobile-group--shop > summary .cbs-nav__mobile-go{
    flex: 0 0 auto; font-size: 13px !important;
    color: var(--cbs-fg-4, rgba(255,255,255,.32)) !important;
    transition: transform .2s ease, color .2s ease;
  }
  .cbs-nav__mobile-group--shop > summary:active{ transform: scale(.985); }
  .cbs-nav__mobile-group--shop[open] > summary{
    background: var(--cbs-brand-soft, rgba(74,163,204,.14));
    color: #fff !important;
  }
  .cbs-nav__mobile-group--shop[open] > summary .cbs-nav__mobile-go{
    transform: rotate(180deg) !important; color: var(--cbs-brand-strong, #6cbde0) !important;
  }
  .cbs-nav__mobile-group--shop:not([open]) > summary .cbs-nav__mobile-go{ transform: rotate(0deg) !important; }

  /* --- panel body: indented rail --- */
  .cbs-nav__mobile-shopbody{
    margin: 4px 0 6px 13px; padding-left: 13px;
    border-left: 1px solid rgba(255,255,255,.09);
  }

  /* --- prominent "Shop All Products" escape-hatch link --- */
  .cbs-nav__mobile-shopall{
    display: flex !important; align-items: center; gap: 12px;
    padding: 12px 13px !important; margin: 2px 0 8px !important; border-radius: 11px !important;
    background: rgba(108,189,224,.10) !important;
    border: 1px solid rgba(108,189,224,.20) !important;
    font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace) !important;
    font-size: 12px !important; font-weight: 700 !important;
    letter-spacing: .1em !important; text-transform: uppercase !important;
    color: #cfeaf7 !important; transition: background .15s ease;
  }
  .cbs-nav__mobile-shopall:hover, .cbs-nav__mobile-shopall:active{ background: rgba(108,189,224,.18) !important; }
  .cbs-nav__mobile-shopall > i:first-child{ flex: 0 0 auto; width: 20px; text-align: center; font-size: 16px !important; color: var(--cbs-brand-strong, #6cbde0) !important; }
  .cbs-nav__mobile-shopall > span{ flex: 1 1 auto; min-width: 0; }
  .cbs-nav__mobile-shopall > i:last-child{ flex: 0 0 auto; font-size: 13px !important; color: rgba(255,255,255,.4) !important; }

  /* --- nested taxonomy accordions inside the Shop panel --- */
  .cbs-nav__mobile-group--nested{ border: 0 !important; padding: 0 !important; margin: 0 !important; }
  .cbs-nav__mobile-group--nested > summary{ padding: 11px 12px !important; border-radius: 10px !important; }
  /* nested summaries have a single caret <i>, so targeting > summary i is safe */
  .cbs-nav__mobile-group--nested:not([open]) > summary i{ transform: rotate(0deg) !important; color: var(--cbs-fg-3, rgba(255,255,255,.5)) !important; }
  .cbs-nav__mobile-group--nested[open] > summary i{ transform: rotate(180deg) !important; color: var(--cbs-brand-strong, #6cbde0) !important; }
  .cbs-nav__mobile-group--nested[open] > summary{ background: rgba(255,255,255,.03); }
}
/* ===== End CBS-NAV-V4 ===== */

/* ===== CBS-NAV-V4.1 (2026-07-14) — polish pass on the mobile Shop dropdown =====
   V4 shipped functional but looked unpolished: a weak left-border rail, three
   different left edges (SHOP / SHOP ALL / group labels), flat tinted group
   bars, and a thin "Shop All" box. This rebuilds the open panel as ONE
   cohesive tinted block: a real filled primary "Shop All Products" button,
   then the three browse rows given the drawer's own icon + label + chevron
   language, every row sharing a single left edge, hairline-divided. The three
   rows now carry leading icons (barbell / target / t-shirt) added in
   header.php with class .cbs-nav__mobile-gico; the trailing caret is
   .cbs-nav__mobile-gcaret so only it rotates (the leading icon never does).
   <=1023 only. */
@media (max-width: 1023px){
  /* open Shop = one cohesive block, rail removed */
  .cbs-nav__mobile-group--shop{ border-radius: 14px !important; transition: background .2s ease; }
  .cbs-nav__mobile-group--shop[open]{ background: rgba(108,189,224,.05) !important; padding-bottom: 6px !important; }
  .cbs-nav__mobile-group--shop[open] > summary{ background: rgba(108,189,224,.13) !important; border-radius: 13px 13px 9px 9px !important; }

  .cbs-nav__mobile-shopbody{
    margin: 0 !important; padding: 6px 8px 0 !important;
    border: 0 !important; border-left: 0 !important;
  }

  /* SHOP ALL — real filled primary button */
  .cbs-nav__mobile-shopall{
    display: flex !important; align-items: center; gap: 12px;
    padding: 14px 14px !important; margin: 2px 0 8px !important; border-radius: 12px !important;
    background: linear-gradient(180deg, rgba(108,189,224,.26), rgba(108,189,224,.14)) !important;
    border: 1px solid rgba(108,189,224,.34) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 6px 16px rgba(0,0,0,.24) !important;
    font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace) !important;
    font-size: 12px !important; font-weight: 700 !important;
    letter-spacing: .13em !important; text-transform: uppercase !important; color: #eef8fc !important;
  }
  .cbs-nav__mobile-shopall:hover, .cbs-nav__mobile-shopall:active{
    background: linear-gradient(180deg, rgba(108,189,224,.34), rgba(108,189,224,.2)) !important;
  }
  .cbs-nav__mobile-shopall > i:first-child{ flex: 0 0 auto; width: 24px; text-align: center; font-size: 18px !important; color: #9bd7f0 !important; }
  .cbs-nav__mobile-shopall > span{ flex: 1 1 auto; min-width: 0; }
  .cbs-nav__mobile-shopall > i:last-child{ flex: 0 0 auto; font-size: 14px !important; color: rgba(255,255,255,.55) !important; }

  /* browse rows — icon + label + chevron, aligned, hairline-divided */
  .cbs-nav__mobile-shopbody .cbs-nav__mobile-group--nested{
    border: 0 !important; border-top: 1px solid rgba(255,255,255,.06) !important; margin: 0 !important; padding: 0 !important;
  }
  .cbs-nav__mobile-shopbody .cbs-nav__mobile-group--nested:first-of-type{ border-top: 0 !important; }
  .cbs-nav__mobile-shopbody .cbs-nav__mobile-group--nested > summary{
    display: flex !important; align-items: center; gap: 12px; justify-content: flex-start !important;
    padding: 13px 12px 13px 14px !important; border-radius: 9px !important;
    font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace) !important;
    font-size: 11px !important; font-weight: 600 !important;
    letter-spacing: .17em !important; text-transform: uppercase !important;
    color: var(--cbs-brand, #6cbde0) !important;
  }
  .cbs-nav__mobile-shopbody .cbs-nav__mobile-group--nested > summary > .cbs-nav__mobile-gico{
    flex: 0 0 auto; width: 24px; text-align: center; font-size: 17px !important;
    color: #6cbde0 !important; transform: none !important;
  }
  .cbs-nav__mobile-shopbody .cbs-nav__mobile-group--nested > summary > span{ flex: 1 1 auto; min-width: 0; text-align: left; }
  .cbs-nav__mobile-shopbody .cbs-nav__mobile-group--nested > summary > .cbs-nav__mobile-gcaret{
    flex: 0 0 auto; margin-left: auto; font-size: 13px !important; color: rgba(255,255,255,.4) !important;
    transition: transform .2s ease, color .2s ease;
  }
  .cbs-nav__mobile-shopbody .cbs-nav__mobile-group--nested:not([open]) > summary > .cbs-nav__mobile-gcaret{ transform: rotate(0deg) !important; }
  .cbs-nav__mobile-shopbody .cbs-nav__mobile-group--nested[open] > summary > .cbs-nav__mobile-gcaret{ transform: rotate(180deg) !important; color: var(--cbs-brand-strong, #6cbde0) !important; }
  .cbs-nav__mobile-shopbody .cbs-nav__mobile-group--nested[open] > summary,
  .cbs-nav__mobile-shopbody .cbs-nav__mobile-group--nested > summary:active{ background: rgba(255,255,255,.035) !important; }

  /* category links inside a group: sit under the row label */
  .cbs-nav__mobile-shopbody .cbs-nav__mobile-group--nested ul{ padding: 2px 0 8px !important; }
  .cbs-nav__mobile-shopbody .cbs-nav__mobile-group--nested ul a{ padding: 9px 12px 9px 50px !important; opacity: .92; }
  .cbs-nav__mobile-shopbody .cbs-nav__mobile-sub{ padding-left: 62px !important; }

  /* CBS-NAV-V6 (2026-07-15): breathing room between Shop dropdown rows */
  .cbs-nav__mobile-shopbody .cbs-nav__mobile-group--nested{ margin-top: 10px !important; border-top: 0 !important; }
  .cbs-nav__mobile-shopbody .cbs-nav__mobile-group--nested:first-of-type{ margin-top: 4px !important; border-top: 0 !important; }
}
/* ===== End CBS-NAV-V4.1 ===== */

/* ===== CBS-SITEWIDE-POLISH-V1 (2026-07-14) — full-site audit fixes =====
   (B) consistent heading clearance below the fixed mobile nav pill; (C) remove
   the eyebrow kickers the June CBS-BATCH-FIXES rule missed (empty-state ref,
   ambassador scene kickers, blog CTA eyebrow, checkout sub-kicker, and the two
   ::before pseudo-eyebrows on the login + affiliate-login headers); (E) keep the
   selected payment method's description boxed inside its card. */

/* ---- (B) heading top spacing: give every content page a uniform gap under the
   floating top pill on mobile. Full-bleed hero pages (home, coming-soon) and the
   pages that already carry a large custom header (cart/checkout/account/login/
   affiliate) are excluded so they don't over-pad. ---- */
@media (max-width: 1023px){
  body:not(.home):not(.page-template-comming-soon-page-template):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.page-template-login-page-template):not(.page-id-601):not(.page-id-602) .cbs-main{
    padding-top: 40px !important;
  }
  /* the excluded custom-header pages get a smaller, consistent nudge so their big
     titles still clear the pill comfortably */
  body.woocommerce-cart .cbs-main,
  body.woocommerce-checkout .cbs-main,
  body.woocommerce-account .cbs-main,
  body.page-template-login-page-template .cbs-main,
  body.page-id-601 .cbs-main{ padding-top: 18px !important; }
}

/* ---- (C) remaining eyebrows sitewide ---- */
.cbs-empty__ref,
.cbs-amb__eyebrow,
.cbs-amb__kicker,
.cbs-disp__eyebrow,
.cbs-disp__cta-eyebrow,
.cbs-co__sub,
.cbs-cart__sub,
.cbs-co__eyebrow,
.cbs-cart__eyebrow{ display: none !important; }
body.page-template-login-page-template .custom-auth-container::before{ content: none !important; display: none !important; }
body.page-id-601 .entry-title::before{ content: none !important; display: none !important; }

/* ---- (E) checkout: contain the selected payment method description ---- */
.cbs-co #payment .wc_payment_method,
.cbs-co #payment li.wc_payment_method{ overflow: hidden !important; border-radius: 9px !important; }
.cbs-co #payment .payment_box{ margin: 0 !important; border-radius: 0 0 9px 9px !important; }
/* ===== End CBS-SITEWIDE-POLISH-V1 ===== */

/* ===== CBS-SITEWIDE-POLISH-V2 (2026-07-14) =====
   (F) About page rebuilt on the .cbs-pg shell (was unstyled Bootstrap markup) +
   styled body/pillars; (G) affiliate reset-password form styled to match the
   login card; (C-fix) affiliate-account "CBS / LEGION ACCESS" ::before eyebrow
   removed at matching specificity (the V1 override was out-specified by the
   original :has() selector). */

/* ---- (C-fix) affiliate-account login eyebrow ---- */
body.page-id-601:has(.slicewp-field-input-password) .entry-title::before{ content: none !important; display: none !important; }

/* ---- (F) About page ---- */
.cbs-pg--about .cbs-about{ margin-top: clamp(30px, 6vw, 54px); }
.cbs-about__block{ margin: 0 0 clamp(34px, 7vw, 58px); }
.cbs-about__h{
  font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400;
  font-size: clamp(24px, 6vw, 34px); line-height: 1.02; letter-spacing: .01em;
  text-transform: uppercase; color: #fff; margin: 0 0 18px;
  padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,.10);
}
.cbs-about__body p{
  font-family: var(--cbs-font-body, 'Inter', sans-serif);
  font-size: 15px; line-height: 1.75; color: rgba(255,255,255,.72); margin: 0 0 16px;
}
.cbs-about__body strong{ color: #fff; font-weight: 700; }
.cbs-about__pillars{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.cbs-about__pillar{
  background: var(--cbs-bg-1, #0e1116); border: 1px solid rgba(255,255,255,.09);
  border-radius: 16px; padding: 22px 20px; display: flex; flex-direction: column; gap: 10px;
}
.cbs-about__pillar--wide{ grid-column: 1 / -1; }
.cbs-about__pillar-ico{
  width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center;
  background: rgba(108,189,224,.10); box-shadow: inset 0 0 0 1px rgba(108,189,224,.16); margin-bottom: 4px;
}
.cbs-about__pillar-ico i{ font-size: 22px; color: #6cbde0; }
.cbs-about__pillar h3{
  font-family: var(--cbs-font-mono, 'JetBrains Mono', monospace); font-size: 13px; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase; color: #fff; margin: 0;
}
.cbs-about__pillar p{ font-family: var(--cbs-font-body,'Inter',sans-serif); font-size: 13.5px; line-height: 1.62; color: rgba(255,255,255,.6); margin: 0; }
.cbs-about__cta{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: clamp(30px,6vw,50px); }
.cbs-about__cta-btn{
  display: inline-flex; align-items: center; gap: 10px; padding: 15px 26px; border-radius: 12px;
  background: #fff; color: #06080b !important; border: 1px solid #fff; text-decoration: none;
  font-family: var(--cbs-font-mono, monospace); font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase;
  transition: transform .2s ease, background .2s ease;
}
.cbs-about__cta-btn:hover{ transform: translateY(-2px); background: #e7f3fa; }
.cbs-about__cta-btn--ghost{ background: transparent; color: #fff !important; border-color: rgba(255,255,255,.22); }
.cbs-about__cta-btn--ghost:hover{ background: rgba(255,255,255,.06); }
@media (max-width: 600px){ .cbs-about__pillars{ grid-template-columns: 1fr; } }

/* ---- (G) affiliate reset-password (page 603, SliceWP) ---- */
body.page-id-603 .cbs-main{ display: flex; justify-content: center; }
body.page-id-603 .entry-content, body.page-id-603 .row{
  max-width: 460px; margin: clamp(20px,6vw,60px) auto; width: 100%;
  background: var(--cbs-bg-1, #0e1116); border: 1px solid rgba(255,255,255,.12); border-radius: 18px;
  padding: clamp(24px,6vw,36px) clamp(20px,5vw,32px) !important; box-sizing: border-box;
}
body.page-id-603 .entry-title{
  font-family: 'Anton', sans-serif !important; font-weight: 400 !important;
  font-size: clamp(28px,7vw,38px) !important; line-height: 1.0 !important; text-transform: uppercase !important;
  color: #fff !important; margin: 0 0 14px !important; text-align: left !important;
}
body.page-id-603 .entry-content p, body.page-id-603 .row p{ font-family: var(--cbs-font-body); font-size: 14px; line-height: 1.6; color: rgba(255,255,255,.62); }
body.page-id-603 label{ display:block; font-family: var(--cbs-font-mono, monospace); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.5); margin: 14px 0 7px; }
body.page-id-603 input[type="text"], body.page-id-603 input[type="email"]{
  width: 100%; box-sizing: border-box; height: 48px; padding: 0 15px; font-size: 15px;
  background: #06080b; border: 1px solid rgba(255,255,255,.14); border-radius: 11px; color: #fff;
}
body.page-id-603 input:focus{ border-color: #6cbde0; box-shadow: 0 0 0 3px rgba(108,189,224,.14); outline: 0; }
body.page-id-603 .slicewp-button-primary, body.page-id-603 button[type="submit"], body.page-id-603 input[type="submit"]{
  width: 100%; margin-top: 20px; height: 52px; border-radius: 12px; cursor: pointer;
  background: #fff !important; color: #06080b !important; border: 0 !important;
  font-family: var(--cbs-font-mono, monospace) !important; font-size: 12px !important; font-weight: 700 !important;
  letter-spacing: .14em !important; text-transform: uppercase !important; transition: background .2s ease;
}
body.page-id-603 .slicewp-button-primary:hover, body.page-id-603 button[type="submit"]:hover{ background: #e7f3fa !important; }
/* ===== End CBS-SITEWIDE-POLISH-V2 ===== */

/* ===== CBS-SITEWIDE-POLISH-V3 (2026-07-14) =====
   Custom page templates (about/contact/faq/legal) close #content.cbs-main early
   and render their content in a sibling .cbs-pg. That leaves .cbs-main empty but
   still carrying min-height:50vh (+ the V1 nav-clearance padding), which showed
   as a ~450px void above the heading (visible on About). Zero the empty wrapper
   — real content lives in .cbs-pg, which supplies its own top clearance. */
.cbs-main:empty{ min-height: 0 !important; padding: 0 !important; }
/* reset-password card: a touch more air under the pill */
body.page-id-603 .entry-content, body.page-id-603 .row{ margin-top: clamp(34px, 8vw, 64px) !important; }
/* ===== End CBS-SITEWIDE-POLISH-V3 ===== */

/* ===== CBS-SITEWIDE-POLISH-V4 (2026-07-14) =====
   About template zeroed like contact/faq: the About template closes #content
   .cbs-main/.site-content early (content lives in the sibling .cbs-pg), so the
   base min-height:50vh on the emptied wrapper produced a ~450px void above the
   heading. The V3 `.cbs-main:empty` rule missed because a whitespace text node
   defeats :empty; target the template instead, matching the existing
   contact/faq rule at line ~17862. */
body.page-template-about-page-template .site-content{ min-height: 0 !important; padding-top: 0 !important; }
/* ===== End CBS-SITEWIDE-POLISH-V4 ===== */

/* ===== CBS-CARD-NOHOVER-MOB (2026-07-14) — kill sticky hover on touch =====
   On touch devices a tap triggers :hover and it "sticks" until you tap
   elsewhere. Neutralise the mobile product-card (.cbs-card--bp) hover effects
   back to their base values for no-hover pointers (phones/tablets). Desktop
   (hover-capable) is unaffected. Active states — .is-added (wishlisted) and
   .is-pill-open (info pill open) — are preserved via :not() guards. Base
   values read from the live .cbs-card--bp block. */
@media (hover: none){
  /* image zoom */
  .cbs-card.cbs-card--bp:hover .cbs-bp__media img{ transform: none !important; }
  /* frame outline stroke */
  .cbs-card.cbs-card--bp:hover .cbs-bp__shape-path{ stroke: #262d37 !important; }
  /* info "i" trigger (bp bg/color/border + generic glow leak) */
  .cbs-card.cbs-card--bp:not(.is-pill-open) .cbs-bp__frame .cbs-card__info:hover{
    background: rgba(8,10,14,0.78) !important; color: #6cbde0 !important;
    border-color: rgba(108,189,224,0.45) !important; box-shadow: none !important;
  }
  /* ADD TO CART button (bg/color/glow + the arrow chip leak from the generic rule) */
  .cbs-card.cbs-card--bp .cbs-card__cta:not(.is-notify):hover{ background: #fff !important; color: #000 !important; box-shadow: none !important; }
  .cbs-card.cbs-card--bp .cbs-card__cta:not(.is-notify):hover .cbs-card__cta-arr{ background: #000 !important; color: #fff !important; border-left-color: transparent !important; }
  .cbs-card.cbs-card--bp .cbs-card__cta:not(.is-notify):hover .cbs-card__cta-arr i,
  .cbs-card.cbs-card--bp .cbs-card__cta:not(.is-notify):hover i{ transform: none !important; }
  /* wishlist heart */
  .cbs-card.cbs-card--bp .cbs-wish:not(.is-added):hover{ color: rgba(255,255,255,0.62) !important; border-color: #3a4250 !important; }
}
/* ===== End CBS-CARD-NOHOVER-MOB ===== */


/* === CBS-QA-FIX m3-card-sale + m4-variation-price === */
.cbs-bp__value .cbs-bp__price--sale{ display:inline-flex; align-items:baseline; gap:6px; white-space:nowrap; }
.cbs-bp__value .cbs-bp__price--sale .cbs-bp__price-was{ text-decoration:line-through; opacity:.45; }
.cbs-bp__value .cbs-bp__price--sale .cbs-bp__price-was .woocommerce-Price-amount{ font-family:'Anton',sans-serif; font-size:11px; }
.cbs-bp__value .cbs-bp__price--sale .cbs-bp__price-now{ text-decoration:none; background:transparent; padding:0; }
.cbs-bp__value .cbs-bp__price--sale .cbs-bp__price-now .woocommerce-Price-amount{ font-family:'Anton',sans-serif; font-size:17px; }
html body article.cbs-prod[data-pid] .woocommerce-variation-price .price del{ color:var(--pv-f4) !important; font-size:.6em !important; margin-right:.4em !important; }
html body article.cbs-prod[data-pid] .woocommerce-variation-price .price ins{ text-decoration:none !important; color:var(--pv-f1) !important; }
/* === /CBS-QA-FIX m3-card-sale + m4-variation-price === */


/* === CBS-QA-FIX m5-hero-midband === */
/* 601-768px fell through to the squeezed desktop hero (mobile hero gated <=600): the fixed-width
   .stats bar clipped its 4th chip and the brand-stamp rail overflowed the viewport. Hide the 4th
   stat (mirrors the mobile 3-stat bar) and the colliding brand rail so this band reads cleanly. */
@media (min-width:601px) and (max-width:768px){
  body.home .cbs-hero .stats .stat:nth-child(n+4){ display:none !important; }
  body.home .cbs-hero .cbs-hero__brand-rail-wrap{ display:none !important; }
}
/* === /CBS-QA-FIX m5-hero-midband === */


/* === CBS-QA-FIX m10-pdp-notify === */
.cbs-pv-notify{ margin:0 0 16px; }
.cbs-pv-notify__btn{ display:flex; align-items:center; justify-content:center; gap:10px; width:100%; padding:15px 18px; border:0; border-radius:var(--cbs-r-2,4px); background:var(--cbs-brand,#4aa3cc); color:#06080b; font-family:var(--cbs-font-mono,'JetBrains Mono',monospace); font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; line-height:1; transition:filter .16s ease, transform .12s ease; }
.cbs-pv-notify__btn:hover{ filter:brightness(1.08); }
.cbs-pv-notify__btn:active{ transform:translateY(1px); }
.cbs-pv-notify__btn i{ font-size:18px; }
/* Out-of-stock buy box: the qty stepper, Buy Now and Add to cart are greyed + non-interactive so they no longer look actionable (the Notify Me button is the live CTA). */
.cbs-pv-buy--oos .quantity,
.cbs-pv-buy--oos .single_add_to_cart_button,
.cbs-pv-buy--oos .single_buy_now_button{ opacity:.3 !important; filter:grayscale(1) !important; pointer-events:none !important; cursor:not-allowed !important; }
/* === /CBS-QA-FIX m10-pdp-notify === */


/* === CBS-QA-FIX pdp-origin-flags === */
.cbs-pv-stub-route .cbs-pv-flag{ font-size:1.15em; line-height:1; vertical-align:-1px; margin-right:1px; }
/* === /CBS-QA-FIX pdp-origin-flags === */


/* === CBS-QA-FIX minor-polish === */
/* Footer: hide the "·" separator on mobile where the legal links wrap to the next line (was orphaned after the copyright). */
@media (max-width:767px){ .cbs-footer__base-sep{ display:none !important; } }
/* Checkout: Razorpay logo was a dark mark on a dark card — put it on a white chip so it is visible. */
.cbs-co #payment .wc_payment_method img{ background:#fff !important; padding:3px 7px !important; border-radius:5px !important; box-sizing:content-box !important; }
/* Reviews: the reviews plugin requests reviewer CITY names as country-flag SVGs (…/img/flags/mumbai.svg) which 404 → broken-image icons. Hide them. */
img[src*="customer-reviews-woocommerce/img/flags/"]{ display:none !important; }
/* 404 page: the headline ran to ~280px at 1440 (filled the viewport, clipped lines). Cap it. */
body.error404 h1{ font-size:clamp(72px, 13vw, 148px) !important; }
/* === /CBS-QA-FIX minor-polish === */


/* === CBS-QA-FIX pay-slider === */
/* Checkout payment cards: the radio is a sibling BEFORE the label, so it floated at the card corner.
   Lay out the <li> as a flex-wrap row: radio + label centered on one line, description wraps below. */
.cbs-co #payment .wc_payment_method{ display:grid !important; grid-template-columns:auto 1fr !important; align-items:center !important; }
.cbs-co #payment .wc_payment_method > input[type="radio"]{ grid-column:1 !important; grid-row:1 !important; margin:0 0 0 14px !important; align-self:center !important; }
.cbs-co #payment .wc_payment_method > label{ grid-column:2 !important; grid-row:1 !important; padding:14px 14px 14px 10px !important; }
.cbs-co #payment .wc_payment_method > .payment_box{ grid-column:1 / -1 !important; grid-row:2 !important; }
/* Filter price slider: kill the inherited 1px input border (the stray box) and center the thumb on the
   track (margin-top:-8px sat it ~8px above the line). */
.cbs-range input[type="range"]{ border:0 !important; background:transparent !important; }
.cbs-range input[type="range"]::-webkit-slider-runnable-track{ height:30px !important; background:transparent !important; border:0 !important; }
.cbs-range input[type="range"]::-webkit-slider-thumb{ margin-top:6px !important; }
.cbs-range input[type="range"]::-moz-range-track{ height:30px !important; background:transparent !important; border:0 !important; }
/* === /CBS-QA-FIX pay-slider === */


/* === CBS-QA-FIX a11y-blog === */
/* Keyboard focus ring (many components set outline:none for mouse users; restore a visible ring for keyboard nav). */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible, [role="tab"]:focus-visible, [role="button"]:focus-visible{ outline:2px solid var(--cbs-edge,#6cbde0) !important; outline-offset:2px !important; border-radius:2px; }
/* Blog related posts: 3-col grid crushed the card meta on phones — stack to 1 column so date / read-time fit on one line. */
@media (max-width:767px){ .cbs-article__related .cbs-blog-grid{ grid-template-columns:1fr !important; } .cbs-blog-card__meta{ flex-wrap:nowrap; white-space:nowrap; } }
/* === /CBS-QA-FIX a11y-blog === */


/* === CBS-QA-FIX legion-banner: separate desktop (wide) + mobile (square) crew images === */
@media (max-width:767px){ .cbs-crew__bg{ background-image: url("/wp-content/uploads/2026/07/cbs-legion-mobile-v2.webp") !important; background-position:center !important; } }
/* === /CBS-QA-FIX legion-banner === */

/* ============ CBS-PROMO-MSWIPE (2026-07-25, pan layer added same day) - MOBILE promo.
   TWO LAYERS.
   BASE (every browser): a horizontal swipe carousel on native CSS scroll-snap. Full-bleed
     banners, headline + full-width Shop button outside the scroller so they never move.
   ENHANCED (@supports animation-timeline -> Safari 26+ / Chrome 115+): the cinematic pass
     is back. .cbs-mswipe__runway supplies the scroll distance AND carries a view-timeline;
     .cbs-mswipe__stage is position:sticky (the pinned frame); .cbs-mswipe__scroller is
     panned sideways by that timeline. This is the ONLY way scroll-linked motion is smooth
     in WebKit: the animation is driven by the COMPOSITOR, not scrubbed from JS. The
     previous GSAP ScrollTrigger build read window.scrollY every frame, and iOS delivers
     scroll to the main thread batched/late during momentum, so it always drew from a stale
     position - smooth in Chrome, laggy in Safari. Nothing here is scrubbed by JS.
   Deliberately NO will-change: a compositor-driven animation is promoted by the UA, and a
   permanent will-change on a multi-viewport-wide image track is what strains iOS memory.
   Desktop carousel untouched. ============ */
.cbs-home__promo--m{ display:none; }
@media (max-width:767px){
  .cbs-home__promo--d{ display:none !important; }
  .cbs-home__promo--m{ display:block; }

  /* the parent .cbs-home__promo is full-bleed with font-size:0/line-height:0/padding:0
     (CBS-PROMO-FULLBLEED) - this is the same element, so undo that here (0,2,0 beats it) */
  .cbs-home__promo.cbs-mswipe{
    --cbs-mswipe-gut:16px;   /* = the home .cbs-container mobile gutter (button only) */
    background:#080808;
    padding:24px 0 28px;
    font-size:16px;
    line-height:normal;
  }
  .cbs-mswipe__runway{ position:relative; }
  .cbs-mswipe__stage{ position:relative; }

  /* ---- headline: two masked lines, no eyebrow ---- */
  .cbs-mswipe__title{
    margin:0 0 16px;
    padding:0 var(--cbs-mswipe-gut);
    font-family:var(--cbs-font-display,'Anton',sans-serif);
    font-weight:400;
    text-transform:uppercase;
    font-size:clamp(26px,7.4vw,34px);
    line-height:1.03;
    letter-spacing:.01em;
    color:#fff;
  }
  /* each line is its own clipping mask so the text can slide instead of blink */
  .cbs-mswipe__mask{ display:block; overflow:hidden; padding-bottom:.06em; margin-bottom:-.06em; }
  .cbs-mswipe__mask[hidden]{ display:none; }
  .cbs-mswipe__l1, .cbs-mswipe__l2{ display:block; }

  /* ---- banners: full-bleed, edge to edge ---- */
  .cbs-mswipe__scroller{
    display:flex;
    align-items:flex-start;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  .cbs-mswipe__scroller::-webkit-scrollbar{ width:0; height:0; display:none; }
  .cbs-mswipe__slide{
    flex:0 0 100%;
    width:100%;
    margin:0;
    scroll-snap-align:center;   /* full-width slides => every snap point is reachable */
    scroll-snap-stop:always;
  }
  .cbs-mswipe__card{
    display:block;
    width:100%;
    aspect-ratio:1/1;
    overflow:hidden;
    border:0;
    border-radius:0;
    background:#000;
    text-decoration:none;
    -webkit-tap-highlight-color:transparent;
  }
  .cbs-mswipe__card img{ width:100%; height:100%; object-fit:cover; display:block; }

  /* ---- Shop button: centred, full-width, flush to the page gutters ---- */
  .cbs-mswipe__btn{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    margin:18px var(--cbs-mswipe-gut) 0;
    padding:15px 22px;
    background:#fff;
    color:#0a0a0a;
    font-family:var(--cbs-font-body,'Inter',sans-serif);
    font-weight:700;
    font-size:13px;
    letter-spacing:.02em;
    text-transform:uppercase;
    border-radius:999px;
    text-decoration:none;
    -webkit-tap-highlight-color:transparent;
  }
  .cbs-mswipe__btn i{ font-size:15px; line-height:1; }
  /* the label swaps per banner, so mask it and let it slide like the headline */
  .cbs-mswipe__btn{ overflow:hidden; }
  .cbs-mswipe__btnlabel{ display:inline-block; }
}

/* ---- ENHANCED: vertical scroll drives the horizontal pass, on the compositor ---- */
@supports (animation-timeline: view()) {
  @media (max-width:767px) and (prefers-reduced-motion:no-preference){

    /* scroll distance + the timeline the pan is bound to. One viewport of scroll per banner. */
    .cbs-mswipe.is-pan .cbs-mswipe__runway{
      height:calc(var(--cbs-mswipe-n,3) * 100svh);
      view-timeline-name:--cbs-promo-pan;
      view-timeline-axis:block;
    }
    /* the pinned frame. GSAP-style pinning is not needed: sticky is safe here because no
       ancestor has overflow:hidden/auto or a transform (main.cbs-home is overflow-x:clip,
       which does NOT create a scroll container, and CBS-REVEAL skips this section). */
    .cbs-mswipe.is-pan .cbs-mswipe__stage{
      position:sticky;
      top:0;
      height:100svh;
      overflow:hidden;
      display:flex;
      flex-direction:column;
      justify-content:center;
      gap:22px;
    }
    /* the track. No native scrolling any more - the compositor pans it. */
    .cbs-mswipe.is-pan .cbs-mswipe__scroller{
      overflow:visible;
      scroll-snap-type:none;
      width:max-content;         /* so translateX(-100%) means the WHOLE track */
      animation:cbs-mswipe-pan linear both;
      animation-timeline:--cbs-promo-pan;
      animation-range:contain 0% contain 100%;
    }
    .cbs-mswipe.is-pan .cbs-mswipe__slide{
      flex:0 0 100vw;
      width:100vw;
      scroll-snap-align:none;
    }
    .cbs-mswipe.is-pan .cbs-mswipe__title{ margin:0; }
    .cbs-mswipe.is-pan .cbs-mswipe__btn{ margin:0 var(--cbs-mswipe-gut); }
  }
}
@keyframes cbs-mswipe-pan{
  to{ transform:translate3d(calc(-100% + 100vw),0,0); }
}

/* ---- headline line-swap: a real TIMED animation (never scroll-scrubbed, so it always
        plays at the same speed however fast you scroll). Old lines slide up out of their
        masks, new lines rise in behind them, line 2 staggered. transform+opacity only. ---- */
@keyframes cbs-mswipe-line-out{
  from{ transform:translate3d(0,0,0);      opacity:1; }
  to  { transform:translate3d(0,-112%,0);  opacity:0; }
}
@keyframes cbs-mswipe-line-in{
  from{ transform:translate3d(0,112%,0);   opacity:0; }
  to  { transform:translate3d(0,0,0);      opacity:1; }
}
@media (max-width:767px) and (prefers-reduced-motion:no-preference){
  .cbs-mswipe.is-out .cbs-mswipe__l1{ animation:cbs-mswipe-line-out .30s cubic-bezier(.55,.06,.68,.19) both; }
  .cbs-mswipe.is-out .cbs-mswipe__l2{ animation:cbs-mswipe-line-out .30s cubic-bezier(.55,.06,.68,.19) both; animation-delay:.06s; }
  .cbs-mswipe.is-in  .cbs-mswipe__l1{ animation:cbs-mswipe-line-in  .52s cubic-bezier(.16,.84,.34,1) both; }
  .cbs-mswipe.is-in  .cbs-mswipe__l2{ animation:cbs-mswipe-line-in  .52s cubic-bezier(.16,.84,.34,1) both; animation-delay:.08s; }
  .cbs-mswipe.is-out .cbs-mswipe__btnlabel{ animation:cbs-mswipe-btn-out .26s cubic-bezier(.55,.06,.68,.19) both; }
  .cbs-mswipe.is-in  .cbs-mswipe__btnlabel{ animation:cbs-mswipe-btn-in  .44s cubic-bezier(.16,.84,.34,1) both; animation-delay:.05s; }
}
@keyframes cbs-mswipe-btn-out{ from{ transform:translate3d(0,0,0); opacity:1 } to{ transform:translate3d(0,-140%,0); opacity:0 } }
@keyframes cbs-mswipe-btn-in { from{ transform:translate3d(0,140%,0); opacity:0 } to{ transform:translate3d(0,0,0); opacity:1 } }
@media (max-width:767px) and (prefers-reduced-motion:reduce){
  .cbs-mswipe__scroller{ scroll-behavior:auto; }
  .cbs-mswipe__l1, .cbs-mswipe__l2, .cbs-mswipe__btnlabel{ animation:none !important; }
}
/* ============ /CBS-PROMO-MSWIPE ============ */



/* ============ CBS-NAV-DIM (2026-07-25) - MOBILE ONLY: the header pill never hides.
   It used to slide away in two independent ways: the theme's inline nav script toggles
   .is-hidden on [data-cbs-nav] (transient), and CBS-NAV-CORNER-UP toggles
   .cbs-nav-corner-away on the pill (sticky until a swipe-up). Both mapped to
   translateY(-160%) + opacity:0 + pointer-events:none. Now BOTH simply dim the pill to
   52% and leave it exactly where it is, still fully tappable. It returns to 100% when
   you touch it (JS adds .is-awake) and automatically whenever you are back near the top
   or a menu/search is open, because both scripts already drop their class in those
   states. Prefixed with `body` (0,2,1 / 0,3,1) to beat the earlier !important rules.
   Desktop (>767) behaviour is untouched. ============ */
@media (max-width:767px){
  body .cbs-nav__corner{
    transition:opacity .28s ease !important;
    transform:none !important;
  }
  body .cbs-nav.is-hidden .cbs-nav__corner,
  body .cbs-nav__corner.cbs-nav-corner-away{
    transform:none !important;
    opacity:.52 !important;
    pointer-events:auto !important;
    visibility:visible !important;
  }
  body .cbs-nav .cbs-nav__corner.is-awake,
  body .cbs-nav .cbs-nav__corner:focus-within,
  body .cbs-nav .cbs-nav__corner:active{
    opacity:1 !important;
  }
}
/* ============ /CBS-NAV-DIM ============ */


/* ============ CBS-ICONFONT-FOUC (2026-07-26) ============
   The Phosphor icon webfont is pulled in through a CHAINED @import from unpkg inside this
   very file, so it cannot even start downloading until style.css has been fetched and
   parsed - it lands around 2.1s on a cold load. Until then every `ph-*` glyph is blank,
   which left the nav pill showing bare cart/wishlist COUNT BADGES floating with no icon
   behind them. That is the single thing that made a fresh load look broken.
   Fix: keep those badges invisible until the icon font has actually resolved. The
   `cbs-fonts-ready` class is set from document.fonts.ready (see CBS-FONTS-READY in
   functions.php); if that never fires the badges simply fade in on the 2.5s CSS failsafe,
   so nothing can be permanently hidden. The vault loader covers this window too, but this
   still matters for the short (returning-visitor) tier and for Reduce Motion, where the
   curtain is essentially instant. ============ */
.cbs-nav__corner [class*="count"]{
  opacity:0;
  transition:opacity .18s ease;
  animation:cbs-count-failsafe 0s linear 2.5s forwards;   /* never stay hidden */
}
html.cbs-fonts-ready .cbs-nav__corner [class*="count"]{ opacity:1; animation:none; }
@keyframes cbs-count-failsafe{ to{ opacity:1 } }

/* the loader's lock glyph: Phosphor's line-height is huge before the font resolves, which
   pushed the whole brand block ~100px above true centre. Pin its box. */
.cbs-vault__lock{ line-height:1; height:1em; display:block; }
/* ============ /CBS-ICONFONT-FOUC ============ */


/* ============ CBS-NAV-DRAWER-IOS v2 (2026-07-26) ============
   The mobile nav drawer still left a strip of page showing under the sheet on a real iPhone.
   v1 got two things wrong:
   1. It used `height:100dvh`. WebKit has a known regression where a FIXED `100dvh` overlay
      does not reach the bottom on recent iOS - which is this exact symptom (v1 moved the
      sheet lower but never closed the gap). Use the LARGE viewport instead: lvh always spans
      the full screen including the area behind Safari's toolbar, so `bottom:0` can never land
      short. The sheet already reserves `88px + safe-area-inset-bottom` of padding, so its last
      row stays clear of the toolbar.
   2. The bleed was an `::after` at `top:100%` INSIDE `.cbs-nav__mobile-panel`, which is
      `overflow-y:auto` - so it sat in the panel's scroll box and was clipped away, never
      painting. A box-shadow is painted OUTSIDE the border box and is not clipped by the
      element's own overflow, so a solid, blur-less, offset shadow gives us the same downward
      bleed and actually survives. ============ */
@media (max-width: 1023px){
  .cbs-nav__mobile{
    top: 0;
    bottom: auto;
    height: 100vh;    /* fallback everywhere */
    height: 100lvh;   /* iOS: the LARGE viewport - always spans behind the toolbar */
  }
  @supports (-webkit-touch-callout: none){
    .cbs-nav__mobile{ min-height: -webkit-fill-available; }
  }
  /* downward bleed that overflow:auto cannot clip */
  .cbs-nav__mobile-panel{
    box-shadow: 0 -18px 50px rgba(0,0,0,0.55), 0 260px 0 0 rgba(10,13,18,0.95) !important;
  }
  .cbs-nav__mobile-panel::after{ content: none !important; }
}
/* ============ /CBS-NAV-DRAWER-IOS ============ */


/* ============ CBS-CART-SHIPPING (2026-07-26) ============
   Cart summary now shows the real shipping amount plus a "spend X more for free shipping"
   nudge under it. The nudge spans the full width of the <dl> (it is a plain div, not a
   dt/dd pair) so it reads as a note rather than another line item. ============ */
.cbs-cart__freeship{
  grid-column: 1 / -1;
  margin: -2px 0 2px;
  font-family: var(--cbs-font-body,'Inter',system-ui,sans-serif);
  font-size: 12px;
  line-height: 1.45;
  color: var(--cbs-fg-3, rgba(255,255,255,.62));
}
.cbs-cart__freeship strong{ color: var(--cbs-brand-strong,#6cbde0); font-weight: 700; }
.cbs-cart__freeship strong .amount{ color: inherit; }
.cbs-cart__freeship .is-unlocked{
  color: #6cbde0; font-weight: 700; letter-spacing: .02em;
}
.cbs-cart__ship-free-tag{ color: #6cbde0; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
/* ============ /CBS-CART-SHIPPING ============ */


/* ============ CBS-PROMO-DESKBTN (2026-07-26) ============
   Shop button placed INSIDE the desktop promo banner. It is a <span> inside the banner's
   anchor (never a nested <a>), so the whole banner stays one click target. Centred on the
   horizontal axis via left:50% + translateX(-50%); vertical offset unchanged.
   NO hover interaction anywhere on the desktop banner (removed 2026-07-26 on request) - the
   banner does not lift, the button does not lift, the arrow does not nudge.
   Hidden <=767: mobile has its own full-width button under the card. ============ */
.cbs-home__promo--d .cbs-promo__link{ position: relative; display: block; }
.cbs-promo__btn{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);   /* centred on the horizontal axis */
  bottom: clamp(18px, 4vw, 46px);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: clamp(12px, 1.1vw, 17px) clamp(20px, 2vw, 30px);
  background: #fff;
  color: #0a0a0a;
  font-family: var(--cbs-font-body,'Inter',system-ui,sans-serif);
  font-weight: 700;
  font-size: clamp(12px, 1vw, 14px);
  letter-spacing: .03em;
  text-transform: uppercase;
  line-height: 1;
  border-radius: 999px;
  box-shadow: 0 10px 30px rgba(0,0,0,.4);
}
.cbs-promo__btn i{ font-size: 1.15em; line-height: 1; }
/* no :hover state at all - the banner is deliberately inert on hover */
@media (max-width: 767px){
  .cbs-promo__btn{ display: none; }
}
/* ============ /CBS-PROMO-DESKBTN ============ */


/* ============ CBS-HERO-BTN2-BLUE (2026-07-26) ============
   The hero SECONDARY (ghost) CTA hovered to WHITE via `.cbs-hero .btn:hover{background:var(--head)}`,
   which read as a duplicate of the primary. Hover it to the brand blue instead. Scoped with
   :not(.btn--p) so the primary keeps its own hover, and >=768 so the mobile pill rules
   (CBS-HERO-BTN-NAV et al) are untouched. ============ */
@media (min-width: 768px){
  .cbs-hero .btn:not(.btn--p):hover,
  .cbs-hero .btn:not(.btn--p):focus-visible{
    background: var(--blue);
    border-color: var(--blue);
    color: #000;
  }
}
/* ============ /CBS-HERO-BTN2-BLUE ============ */


/* ============ CBS-REPLY-AVATAR-CSS (2026-07-26) ============
   The theme deliberately dims review avatars so the generic gravatar placeholders recede
   (`.comment_container img.avatar` -> opacity .45 + grayscale 50%, and nested replies get
   dimmed a second time to .35). That is right for a stranger's blank gravatar and wrong for
   our own brand mark, which should read clearly on every store reply. Exempt just that image
   by its filename - customer avatars keep the original treatment. ============ */
#reviews .comment_container img.avatar[src*="cbs-reply-avatar"],
.comment_container img.avatar[src*="cbs-reply-avatar"],
.commentlist ul.children .comment_container img.avatar[src*="cbs-reply-avatar"]{
  opacity: 1 !important;
  filter: none !important;
  /* the theme paints a light chip behind avatars (bg #e9e6ed + 3px padding + pale border),
     which framed our dark mark in a white ring. Needs !important - those rules outrank a
     plain attribute selector. */
  background: #0d1117 !important;
  border: 1px solid rgba(108,189,224,.35) !important;
  padding: 0 !important;
}
/* ============ /CBS-REPLY-AVATAR-CSS ============ */

/* ============ CBS-AUDIT-FIX-01 (2026-07-27) - zero-count nav badges ============
   .is-zero is meant to hide a 0 badge (style.css ~15338, specificity 0,3,0) but two
   later CBS-ICONFONT-FOUC rules defeat it: the html.cbs-fonts-ready reveal is (0,3,1)
   and out-specifies it, and the cbs-count-failsafe animation fills opacity:1
   (animations outrank normal declarations). Result on every page load: an empty
   wishlist showed an 8x8 half-scaled "0" pill and an empty cart showed a full-size
   "0" on top of the bag glyph. Re-assert the zero state past both overrides.
   Non-zero badges are untouched. Paired with CBS-AUDIT-FIX-01 in niceblog-custom-js.js,
   which is what actually puts .is-zero on the cart badge at first paint. */
html .cbs-nav__corner .cbs-nav__util-count.is-zero,
html.cbs-fonts-ready .cbs-nav__corner .cbs-nav__util-count.is-zero {
  opacity: 0 !important;
  animation: none !important;
  pointer-events: none !important;
}
/* the FOUC reveal above sets animation:none on ALL count badges, which also killed the
   is-pulsing add-to-cart feedback. Give it back to non-zero badges only. */
html.cbs-fonts-ready .cbs-nav__corner .cbs-nav__util-count.is-pulsing:not(.is-zero) {
  animation: cbsNavBadgePulse 0.42s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}
/* ============ /CBS-AUDIT-FIX-01 ============ */


/* ============ CBS-AUDIT-FIX-02 (2026-07-27) - SF system font stack ============
   The site declared Inter / JetBrains Mono / Space Grotesk, but all four @import
   rules in this file sit ~5400 rules deep and are therefore invalid (@import must
   precede all rules), so none of those three ever downloaded. Two DIFFERENT
   fallbacks were in play as a result: declarations using var(--cbs-font-body)
   fell through to system-ui (= SF on Apple), while ~16 hardcoded
   `font-family:'Inter',sans-serif` rules fell through to plain sans-serif
   (= Helvetica on Apple). Client decision: standardise on the SYSTEM font (SF on
   Apple) rather than shipping a webfont. Those hardcoded rules were rewritten to
   use the variables, and the variables now name the system stack explicitly.
   Note: Apple's licence does not permit self-hosting SF for the web, so non-Apple
   platforms resolve to their own system UI font (Segoe UI / Roboto) by design. */
:root {
  --cbs-font-body: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', system-ui, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --pv-mono: ui-monospace, 'SF Mono', SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --cbs-font-mono: ui-monospace, 'SF Mono', SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
/* the base body rule led with 'Space Grotesk', which never loads - drop it so the
   system stack is what actually applies, and so body matches every child rule. */
body { font-family: var(--cbs-font-body); }
/* ============ /CBS-AUDIT-FIX-02 ============ */


/* ============ CBS-AUDIT-FIX-03 (2026-07-27) - reduced-motion holdouts ============
   prefers-reduced-motion is respected almost everywhere on the site (scroll reveals
   are disabled, the vault loader clears instantly), but two INFINITE animations kept
   running under `reduce`: cbs-hero-float on the hero product (5s) and cbsTickerScroll
   on the marquee (80s). Continuous unstoppable motion is exactly what WCAG 2.3.3 and
   the reduce preference are meant to switch off. Stop those two; everything else that
   already honours the preference is untouched. */
@media (prefers-reduced-motion: reduce) {
  .cbs-hero .product,
  .cbs-hero img.product,
  [class*="cbs-hero"] img.product {
    animation: none !important;
  }
  .cbs-home__ticker-track,
  [class*="ticker"] [class*="track"] {
    animation: none !important;
    transform: none !important;
  }
}
/* ============ /CBS-AUDIT-FIX-03 ============ */


/* ============ CBS-FIX-04 (2026-07-29) - mobile search + blog card ============

   (1) MOBILE SEARCH ZOOMED ON FOCUS.
   .cbs-nav__search-input is font-size:13.5px (style.css ~15307). iOS Safari force-zooms
   the viewport whenever a focused form field is under 16px - that is the entire cause,
   there is nothing wrong with the viewport meta. 16px is the documented threshold, so the
   input goes to exactly 16px on mobile only; desktop keeps 13.5px and is untouched.
   (Deliberately NOT fixed with maximum-scale=1 on the viewport meta - that stops the zoom
   but also disables pinch-zoom for everyone, which is an accessibility regression.)

   (2) BLOG "KEEP READING" CARD WAS A 28px SLIVER.
   The rule at ~18022 makes a lone card in .cbs-blog-grid go full-width horizontal
   (display:grid; grid-template-columns:1.05fr 1fr). Its own comment says it is for the
   blog ARCHIVE - a desktop treatment - but it was never gated to a breakpoint. Inside an
   article the Keep Reading grid holds exactly one card, so at 390px the rule fired and the
   body column's min-content width (fr floors at min-content) crushed the media column to
   27.8px, leaving a 28x207 sliver of image beside the text. Restore the normal vertical
   card below 768px; the desktop archive layout is unchanged. */
@media (max-width: 767px) {
  .cbs-nav__search-input { font-size: 16px !important; }

  .cbs-blog-grid .cbs-blog-card:only-child {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    max-width: none !important;
  }
  .cbs-blog-grid .cbs-blog-card:only-child .cbs-blog-card__media {
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
  }
  .cbs-blog-grid .cbs-blog-card:only-child .cbs-blog-card__media img {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
  }
}
/* ============ /CBS-FIX-04 ============ */


/* ============ CBS-FIX-05 (2026-07-29) - search drops DOWN, related gutter ============

   (1) SEARCH OPENED BY SLIDING IN FROM THE LEFT.
   Measured frame-by-frame: the suggestions sheet went x -132 -> +12 while opening. Cause is a
   mismatch between its closed and open states. The base rule (~15355) centres the sheet with
   `left:50%; transform:translateX(-50%) translateY(14px)`, but the mobile open-state override
   (~19089) repositions it to `left:12px; right:12px` and sets `transform:none`. So the browser
   tweened translateX(-50%) -> none, i.e. a horizontal slide. The field bar had the opposite
   problem: it is display:none until searching, so it simply popped in with no motion at all.
   Fix: give BOTH the same horizontal geometry when closed as when open, so the only thing left
   to animate is Y - they now drop down from under the nav pill and slide back up on close.
   The bar is kept rendered (visibility:hidden + pointer-events:none rather than display:none)
   because display:none cannot animate, and an exit animation needs the element to still exist.
   It is position:fixed, so rendering it costs no layout, and visibility:hidden keeps it out of
   the tab order and the accessibility tree while closed.

   (2) "KEEP READING" TOUCHED THE RIGHT EDGE.
   `body.single-post .cbs-article__related` (~18746) sets `margin-right:0 !important` with a
   `max(20px, ...)` left margin - a deliberate left-aligned block for the wide desktop layout.
   On mobile that left 20px on the left and 0 on the right, while the article body either side
   of it uses a symmetric 16px gutter, so the card visibly ran into the right edge. Match the
   body gutter below 768px. */
@media (max-width: 1023px) {
  .cbs-nav__bar {
    display: flex !important;
    position: fixed !important;
    top: calc(var(--cbs-corner-top) + 48px + 8px) !important;
    bottom: auto !important;
    left: 12px !important;
    right: 12px !important;
    padding: 0 !important;
    z-index: 122;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-12px);
    transition: opacity .2s ease,
                transform .34s cubic-bezier(.34, 1.56, .64, 1),
                visibility 0s linear .34s;
  }
  .cbs-nav.is-searching .cbs-nav__bar {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition: opacity .2s ease,
                transform .34s cubic-bezier(.34, 1.56, .64, 1),
                visibility 0s linear 0s;
  }

  .cbs-nav__sheet--search {
    top: calc(var(--cbs-corner-top) + 48px + 8px + 50px + 6px) !important;
    bottom: auto !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    transform: translateY(-12px) !important;
  }
  .cbs-nav.is-searching .cbs-nav__sheet--search {
    transform: translateY(0) !important;
  }
}

@media (max-width: 767px) {
  body.single-post .cbs-article__related {
    margin-left: 16px !important;
    margin-right: 16px !important;
  }
}
/* ============ /CBS-FIX-05 ============ */


/* ============ CBS-STABLE-HERO (2026-07-29) - no stale "0" badge on cold load ============
   Both nav count bubbles are server-rendered as a literal 0 and only corrected by JS.
   CBS-ICONFONT-FOUC un-hides them the moment document.fonts.ready fires (~0.3s), but the
   is-zero sync only ran at DOMContentLoaded (~1.1s) - so a bright blue "0" sat on the cart
   glyph for the ~800ms in between. Invisible while the vault curtain covered that window;
   plainly visible once the curtain stopped replaying. Hold the badges until the sync has
   actually run (JS half adds .cbs-counts-synced, with a 1.5s failsafe so nothing can be
   stranded). Non-zero badges are unaffected - they simply appear a few hundred ms earlier
   than the old fonts-ready gate allowed. */
html:not(.cbs-counts-synced) .cbs-nav__corner .cbs-nav__util-count {
  opacity: 0 !important;
  animation: none !important;
}
/* ============ /CBS-STABLE-HERO ============ */


/* ============ CBS-CARD-TYPE (2026-07-29) - one card-title scale + stat card height ============

   (1) CARD TITLES WERE SMALLER THAN THEIR OWN BODY COPY.
   Measured at 390px: .cbs-amb__perk h3 = 14px against 14.5px body, and .cbs-amb__step-body h3
   = 14px against 14px body - so the heading read as less important than the paragraph under it.
   Their own rules declare 22px and 21px; what actually won was a legacy global rule -
   .page-template-default .entry-content h3 set to 14px inside a max-width 599px media query -
   whose 0,2,1 specificity out-ranks .cbs-amb__perk h3 at 0,1,1. The affiliate-registration page
   uses the default template, so every card title on it got flattened.
   Standardised on the size the client picked as the reference: the About page STANDARDS cards,
   .cbs-abt__card-h = clamp 19px to 25px. Scanned every content page - only these two groups were
   affected (perks x9, steps x4). About-us was already correct and the legal pages use their own
   working 24px over 15px hierarchy, so neither is touched.

   (2) ABOUT-US STAT CARDS WERE 150px TALL FOR 46px OF CONTENT.
   At max-width 860px .cbs-abt__stat gets flex 1 1 150px, which is correct while the container is
   flex-direction row - there the basis is a WIDTH. But at max-width 600px the container flips to
   flex-direction column, and in a column flex container flex-basis becomes the HEIGHT, so each
   card was pinned to 150px with about 64px of dead space under the label. Release the basis below
   600px and let the cards size to their content. */
body .cbs-amb__perk h3,
body .cbs-amb__step-body h3 {
  font-size: clamp(19px, 2.4vw, 25px) !important;
  line-height: 1.06;
}

@media (max-width: 600px) {
  .cbs-abt__stats .cbs-abt__stat { flex: 0 0 auto; }
}
/* ============ /CBS-CARD-TYPE ============ */


/* ============ CBS-WL-BP (2026-07-29) - wishlist uses the real blueprint card ============
   The wishlist card now emits the same markup as the shop/category card, so it inherits the
   whole .cbs-bp__ treatment and the CBS-BP-SHAPE-V1 generator draws its notch automatically.
   All that is left is SIZE: this grid is 2-up at ~174px, not a full-width 358px card.

   The two defects the client reported are fixed structurally, not by nudging numbers:
     - CARDS WERE UNEQUAL (446/446/431/431). The body is now a flex column inside a
       full-height inner, so every card in a row matches whatever the tallest needs.
     - THE BUTTON MOVED AND CHANGED SIZE with the text (61px for ADD TO CART vs 43px for
       NOTIFY ME, and its top edge shifted between 312 and 339). It is now a fixed 38px,
       nowrap, pinned to the bottom with margin-top:auto - so it lands in exactly the same
       place on every card no matter how long the product name or label is.

   Do NOT change .cbs-bp__top height or the 1:1 frame here: the generator puts the notch at
   36px + card width, so the seam only lines up while those two hold. */
@media (max-width: 767px) {
  .cbs-wl__grid { align-items: stretch; }

  .cbs-wl__grid .cbs-card--bp { height: 100%; }
  .cbs-wl__grid .cbs-bp__inner { display: flex; flex-direction: column; height: 100%; }
  .cbs-wl__grid .cbs-bp__body { flex: 1 1 auto; display: flex; flex-direction: column; padding: 12px 12px 12px; gap: 8px; }

  .cbs-wl__grid .cbs-bp__title {
    font-size: 12.5px;
    line-height: 1.3;
    min-height: 2.6em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0;
  }

  .cbs-wl__grid .cbs-bp__metrics { gap: 8px; margin: 0; }
  .cbs-wl__grid .cbs-bp__label { font-size: 8.5px; letter-spacing: .12em; }
  .cbs-wl__grid .cbs-bp__value { font-size: 12px; }
  .cbs-wl__grid .cbs-bp__value--cat { font-size: 9px; letter-spacing: .08em; }

  .cbs-wl__grid .cbs-card__cta {
    margin-top: auto;
    height: 38px;
    min-height: 38px;
    padding: 0 10px;
    white-space: nowrap;
    font-size: 10px;
    letter-spacing: .09em;
  }
  .cbs-wl__grid .cbs-card__cta-l { white-space: nowrap; }
  .cbs-wl__grid .cbs-card__cta-arr i { font-size: 13px; }

  .cbs-wl__grid .cbs-bp__code { font-size: 9px; letter-spacing: .1em; }
  .cbs-wl__grid .cbs-bp__code--muted { color: var(--cbs-fg-4, rgba(255,255,255,.42)); }
}
/* ============ /CBS-WL-BP ============ */


/* ============ CBS-WL-BP2 (2026-07-29) - STATUS value was clipped ============
   The base rule .cbs-bp__value--cat is font-size:14px !important, so the CBS-WL-BP override
   above (plain 0,2,0) never applied and STATUS stayed at 14px. In a 174px card the metrics row
   gives that column ~59px, but "IN STOCK" needs 95px at 14px - and .cbs-bp__value carries
   overflow:hidden + white-space:nowrap, so it was silently cut to "IN ST". Match the !important
   and size it to fit the column. */
@media (max-width: 767px) {
  .cbs-wl__grid .cbs-bp__value--cat {
    font-size: 8.5px !important;
    letter-spacing: .04em !important;
    line-height: 1.5;
  }
  .cbs-wl__grid .cbs-bp__metric:first-child .cbs-bp__value { font-size: 13px !important; }
  .cbs-wl__grid .cbs-bp__metric .cbs-bp__value .woocommerce-Price-amount { font-size: 13px; }
  .cbs-wl__grid .cbs-bp__metrics { align-items: flex-end; }
}
/* ============ /CBS-WL-BP2 ============ */


/* ============ CBS-WL-BP3 (2026-07-29) - let STATUS take the width it needs ============
   Shrinking the type alone was not enough: the metrics row split the 146px body into two equal
   columns, so STATUS had 59px while "IN STOCK" needs 69px even at 8.5px, and .cbs-bp__value's
   overflow:hidden cut it to "IN ST". Size the STATUS column to its content and let PRICE take
   the remainder (PRICE needs ~55px at 13px, so both fit). This is width allocation, not another
   font reduction - the label stays legible. */
@media (max-width: 767px) {
  .cbs-wl__grid .cbs-bp__metrics { display: flex; gap: 8px; align-items: flex-end; }
  .cbs-wl__grid .cbs-bp__metric:first-child { flex: 1 1 auto; min-width: 0; }
  .cbs-wl__grid .cbs-bp__metric:last-child { flex: 0 0 auto; text-align: right; }
  .cbs-wl__grid .cbs-bp__metric:last-child .cbs-bp__value--cat { overflow: visible; }
}
/* ============ /CBS-WL-BP3 ============ */


/* ============ CBS-WL-BTN (2026-07-29) - wishlist buttons ============

   (1) THE CART CHIP HUNG OUT OF THE CARD BUTTON.
   Measured: the CTA is 150px wide with 24px of horizontal padding, so 126px of content space -
   but ADD TO CART needs label 110 + gap 9 + chip 26 = 145px. The button is display:grid with
   justify-content:space-between and overflow:hidden, so the chip was pushed 11px past the right
   edge and clipped by the card. NOTIFY ME (94px label) just squeaked in, which is why only one
   of the two looked wrong. Give the grid an explicit 1fr/auto track so the label owns the
   remaining space instead of forcing the chip out, and tighten the type to fit.

   (2) ADD ALL TO CART WRAPPED TO TWO LINES.
   .cbs-wl__actions is a flex row and each .cbs-wl__btn is flex:1, so at 390px each button gets
   about 173px. At 12px mono with .14em tracking that label needs roughly 210px including its
   icon and 44px of padding, so it broke onto a second line and the two buttons stopped matching.
   Tighten padding, size and tracking so it fits on one line, and nowrap so it can never break
   mid-label again. */
@media (max-width: 767px) {
  .cbs-wl__grid .cbs-card__cta {
    grid-template-columns: 1fr auto;
    gap: 6px;
    padding: 0 8px 0 10px;
    font-size: 9px;
    letter-spacing: .04em;
  }
  .cbs-wl__grid .cbs-card__cta-l { min-width: 0; }
  .cbs-wl__grid .cbs-card__cta-arr { width: 24px; height: 24px; flex: 0 0 auto; }
  .cbs-wl__grid .cbs-card__cta-arr i { font-size: 12px; }

  .cbs-wl__actions { gap: 10px; }
  .cbs-wl__btn {
    padding: 12px 12px;
    font-size: 10px;
    letter-spacing: .08em;
    gap: 7px;
    white-space: nowrap;
    min-width: 0;
  }
  .cbs-wl__btn i { font-size: 13px; }
}
/* ============ /CBS-WL-BTN ============ */


/* ============ CBS-WL-BTN2 (2026-07-29) - actually beat the CTA rules ============
   CBS-WL-BTN did not apply. Two things out-ranked it, both found by dumping the real cascade:
     - .cbs-card.cbs-card--bp .cbs-card__cta (0,3,0) sets font-size:14px, .08em and
       padding:9px 10px 9px 14px. The wishlist card now carries cbs-card--bp, so it inherited it
       and my (0,2,0) rule lost.
     - .cbs-card__cta-l carries its OWN padding:9px 10px !important, font-size:10px !important
       and letter-spacing:.2em !important, so the label ignored the button's size entirely -
       that .2em tracking on an 11-character label is what actually blew the width.
   Match both. The label then needs about 65px in the ~102px track, so it stops truncating and
   the chip still sits inside the button. */
@media (max-width: 767px) {
  .cbs-wl__grid .cbs-card--bp .cbs-card__cta {
    grid-template-columns: 1fr auto;
    gap: 6px;
    padding: 0 8px 0 10px;
    font-size: 9px;
    letter-spacing: .04em;
  }
  .cbs-wl__grid .cbs-card__cta-l {
    padding: 0 !important;
    font-size: 9px !important;
    letter-spacing: .04em !important;
    min-width: 0;
  }
  .cbs-wl__grid .cbs-card--bp .cbs-card__cta-arr { width: 24px; height: 24px; }
  .cbs-wl__grid .cbs-card__cta-arr i { font-size: 12px !important; }
}
/* ============ /CBS-WL-BTN2 ============ */


/* ============================================================
   CBS-DOC-EYEBROW (2026-07-29)
   The numbered section eyebrow on the legal/doc pages used to be a <span>.
   It is now a real Paragraph block so the client can edit it in Gutenberg.
   As a <p> it started matching .cbs-doc__section p and
   .page-template-default .entry-content p, both of which outrank the plain
   .cbs-doc__n rule, so the eyebrow lost its mono face, its 10px size and its
   edge-cyan colour. Restated here at a higher specificity so it renders
   exactly as it did before the conversion, on every doc page.
   ============================================================ */
.page-template-default .entry-content p.cbs-doc__n,
.cbs-doc__section p.cbs-doc__n,
.cbs-pg--doc p.cbs-doc__n {
  font-family: var(--cbs-font-mono, monospace);
  font-size: 10px;
  /* the eyebrow used to be a block-level <span>, which inherited line-height 1.5
     from the section; as a <p> it picked up the 26px body line-height and grew
     every doc card by ~10px. Pin it back to the span's box height. */
  line-height: 1.5;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--cbs-edge, #6cbde0);
  /* 12px, not the 10px of the old .cbs-doc__n rule: wpautop used to wrap the
     bare span in its own paragraph, whose collapsed bottom margin measured 12px.
     Matching it keeps every doc card exactly the height it was pre-conversion. */
  margin: 0 0 12px;
}


/* ============================================================
   CBS-DOC-INNER (2026-07-29)
   On a classic theme WordPress runs wp_restore_group_inner_container() over
   every core/group and injects a spare wp-block-group__inner-container div
   inside it. On the doc pages that wrapper became the only flex child of
   .cbs-doc and .cbs-pg__cta, which swallowed the 14px section gap and pushed
   the CTA button onto its own line. display:contents drops the injected
   wrapper out of the box tree so the real children lay out exactly as they
   did before these pages were converted to blocks.
   ============================================================ */
.cbs-pg .wp-block-group__inner-container { display: contents; }


/* ============================================================
   CBS-TPL-BLOCKS (2026-07-29)
   About / Contact / FAQ moved their copy out of the PHP page templates and
   into each page's own content as native blocks. Two shims keep the rendered
   markup byte-for-byte equivalent to what the templates used to print:

   1. p.cbs-raw is a Paragraph that exists only to carry a styled span or
      anchor that Gutenberg has no block for. display:contents drops the
      paragraph out of the box tree, so the original element is still the
      direct child of its parent - the contact method cards stay grid items,
      .cbs-abt__stat-num stays a block span, and so on.
   2. core/details owns its own summary element, so .cbs-faq__q can no longer
      be placed on it. The same declarations are aliased onto
      .cbs-faq__item > summary here.
   ============================================================ */
.cbs-pg p.cbs-raw {
  /* display:contents takes the paragraph out of the box tree, but the element
     is still in the inheritance chain - without these the paragraph's own
     font-size and line-height leak down into the span or anchor it wraps and
     make every card taller than it was before the conversion. */
  display: contents;
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
  text-transform: inherit;
}

.cbs-faq__item > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 24px; font-family: var(--cbs-font-display, 'Anton', sans-serif); font-weight: 400; font-size: clamp(16px, 2vw, 20px); letter-spacing: .01em; text-transform: uppercase; color: var(--cbs-fg-1, #fff); }
.cbs-faq__item > summary::-webkit-details-marker { display: none; }
.cbs-faq__item > summary::after { content: '+'; font-family: var(--cbs-font-body, sans-serif); font-size: 26px; line-height: 1; color: var(--cbs-edge, #6cbde0); flex: 0 0 auto; transition: transform .25s var(--cbs-ease); }
.cbs-faq__item[open] > summary::after { transform: rotate(45deg); }


/* ============================================================================================
   CBS-BATCH-0730 (2026-07-30) — appended last, so same-specificity ties resolve here.
   item 1  ticker back on mobile (+ the CBS 5% code line, markup side)
   item 5  product-page price size on mobile
   item 6  sale-price strikethrough drawn THROUGH the digits, not behind them
   item 8a homepage carousel arrows move off the photo into the View-all row (mobile)
   item 9  product-card spec chips can never wrap into each other
   ============================================================================================ */

/* ------------------------------------------------------------------ item 1: TICKER ON MOBILE
   CBS-MOBILE-V4 (2026-07-09) deliberately hid the white announcement strip on phones and
   floated the corner pill to the very top because nothing was above it any more. The client
   wants the strip on mobile too, so this restores the pre-V4 arrangement the layout was
   originally built for: fixed strip at y=0, pill docked below it at 50px (the value that is
   still the base rule at line ~15590), and --cbs-corner-top tracking the pill so the search
   sheet keeps docking underneath it. */
@media (max-width: 767px) {
  html body.home .cbs-home__ticker { display: block !important; }
  html body.home .cbs-nav__corner { top: 50px !important; }
  html body.home.admin-bar .cbs-nav__corner { top: 102px !important; }
  html body.home .cbs-nav { --cbs-corner-top: 50px !important; }
  html body.home.admin-bar .cbs-nav { --cbs-corner-top: 102px !important; }
}
/* The promo code is the point of the strip, so it must not be the faintest thing on it.
   `b` already had a cyan rule from the old dark ticker, and cyan on the white bar is weak;
   keep it the same near-black as the rest of the strip and let weight carry the emphasis. */
.cbs-home__ticker-track b {
  color: #0a0a0a !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
}
@media (max-width: 600px) {
  /* the strip + pill occupy the top ~98px again, so give the hero headline its air back
     (CBS-MOBILE-V4 had tightened this to 78px precisely because the ticker was gone) */
  body.home .cbs-hero .wrap { padding-top: 110px !important; }
  body.home.admin-bar .cbs-hero .wrap { padding-top: 156px !important; }
}

/* -------------------------------------------------------- items 5 + 6: PRODUCT-PAGE PRICING
   item 5 — the price digits do not live in .cbs-pv-price, they live in a nested
   span.woocommerce-Price-amount.amount, and a legacy niceblog rule inside
   @media(max-width:599px) pins THAT span to a flat 14px. So the 24-32px type scale never
   reached the glyphs on a phone (desktop was fine, which is why this only ever read as a
   mobile bug). Let the span inherit the scale it is nested in, then lift the mobile size. */
html body article.cbs-prod[data-pid] .cbs-pv-price .woocommerce-Price-amount,
html body article.cbs-prod[data-pid] .cbs-pv-price .woocommerce-Price-currencySymbol,
html body article.cbs-prod[data-pid] .woocommerce-variation-price .price .woocommerce-Price-amount,
html body article.cbs-prod[data-pid] .woocommerce-variation-price .price .woocommerce-Price-currencySymbol {
  font-size: inherit !important;
  font-weight: inherit !important;
}
@media (max-width: 767px) {
  html body article.cbs-prod[data-pid] .cbs-pv-price { font-size: 27px !important; }
}

/* item 6 — the strike line was being painted BEHIND the digits. Cause is painting order, not
   z-index: `line-through` was inherited from the <del>, but the glyphs sit in a nested
   .woocommerce-Price-amount whose colour a generic rule forces to opaque white, and a
   descendant inline box paints on top of an ancestor's propagated text decoration. Result: a
   faint line visible only in the gaps between the numbers.
   Fix is structural, no z-index: let the elements that OWN the glyphs draw the line
   themselves, and stop overriding their colour so line and digits match. */
html body article.cbs-prod[data-pid] .cbs-pv-price del,
html body article.cbs-prod[data-pid] .cbs-pv-price del .woocommerce-Price-amount,
html body article.cbs-prod[data-pid] .cbs-pv-price del .woocommerce-Price-currencySymbol,
html body article.cbs-prod[data-pid] .woocommerce-variation-price .price del,
html body article.cbs-prod[data-pid] .woocommerce-variation-price .price del .woocommerce-Price-amount,
html body article.cbs-prod[data-pid] .woocommerce-variation-price .price del .woocommerce-Price-currencySymbol {
  color: var(--pv-f4) !important;
  text-decoration: line-through !important;
  text-decoration-color: currentColor !important;
  text-decoration-thickness: 1px !important;
  text-decoration-skip-ink: none !important;
}
/* ...but only ONE of those nested boxes should actually paint the line, or three translucent
   passes stack up and the strike ends up brighter than the digits it crosses. The amount span
   is the one that owns the number, so it draws it; the <del> stands down, and the currency
   symbol needs no line of its own because it now shares the amount's colour exactly, so the
   glyph landing over the line is invisible. Guarded with :has() so a browser without it simply
   keeps the (correct, just slightly bright) three-layer version rather than losing the strike. */
html body article.cbs-prod[data-pid] .cbs-pv-price del:has(.woocommerce-Price-amount),
html body article.cbs-prod[data-pid] .cbs-pv-price del:has(.woocommerce-Price-amount) .woocommerce-Price-currencySymbol,
html body article.cbs-prod[data-pid] .woocommerce-variation-price .price del:has(.woocommerce-Price-amount),
html body article.cbs-prod[data-pid] .woocommerce-variation-price .price del:has(.woocommerce-Price-amount) .woocommerce-Price-currencySymbol {
  text-decoration: none !important;
}
/* same nesting exists on the cards, in the cart, the wishlist and the wishlist popup. There
   the colours already match so nothing looks wrong today, but the line is still drawn under
   the glyphs - one rule so a future colour tweak cannot resurrect this. */
del .woocommerce-Price-amount,
del .woocommerce-Price-currencySymbol,
.cbs-bp__price-was .woocommerce-Price-amount,
.cbs-bp__price-was .woocommerce-Price-currencySymbol {
  color: inherit !important;
  text-decoration: line-through !important;
  text-decoration-color: currentColor !important;
  text-decoration-skip-ink: none !important;
}

/* ------------------------------------------------- item 8a: CAROUSEL ARROWS OUT OF THE PHOTO
   Top Movers + Dress the Part: the prev/next pills floated on top of the product photo. They
   now sit in a row underneath, flanking the View-all CTA: [<-]  VIEW ALL ...  [->].
   Done purely by moving the arrows' absolute box down past the carousel into the CTA's band -
   no markup and no JS change, so both carousel scripts still resolve them with
   carousel.querySelector('.cbs-prod-arrow--prev') and CBS-CAROUSEL-MOB-CENTER's capture
   listener (bound to the carousel as their ancestor) still intercepts the clicks.
   The CTA row is 12px below the carousel and 43px tall; a 44px arrow at top:calc(100% + 12px)
   shares that band, centred against it. Arrows are out of flow, so nothing shifts. */
@media (max-width: 767px) {
  body.page-template-home-page-template .cbs-home__apparel .cbs-prod-carousel .cbs-prod-arrow,
  body.page-template-home-page-template .cbs-home__best .cbs-prod-carousel .cbs-prod-arrow {
    top: calc(100% + 12px) !important;
    bottom: auto !important;
    transform: none !important;
    width: 44px !important;
    height: 44px !important;
    z-index: 4 !important;
  }
  body.page-template-home-page-template .cbs-home__apparel .cbs-prod-carousel .cbs-prod-arrow--prev,
  body.page-template-home-page-template .cbs-home__best .cbs-prod-carousel .cbs-prod-arrow--prev {
    left: 2px !important; right: auto !important;
  }
  body.page-template-home-page-template .cbs-home__apparel .cbs-prod-carousel .cbs-prod-arrow--next,
  body.page-template-home-page-template .cbs-home__best .cbs-prod-carousel .cbs-prod-arrow--next {
    right: 2px !important; left: auto !important;
  }
  /* the lift-on-hover transform would jump them out of the row on a touch device, where
     :hover sticks after a tap */
  body.page-template-home-page-template .cbs-home__apparel .cbs-prod-carousel .cbs-prod-arrow:hover:not(:disabled),
  body.page-template-home-page-template .cbs-home__best .cbs-prod-carousel .cbs-prod-arrow:hover:not(:disabled) {
    transform: none !important;
  }
  /* keep the CTA clear of the arrows at the narrowest widths (2 x 44 + 2 x 8 gutter) */
  body.page-template-home-page-template .cbs-home__apparel .cbs-prod-viewall,
  body.page-template-home-page-template .cbs-home__best .cbs-prod-viewall {
    max-width: calc(100% - 112px) !important;
  }
}

/* ---------------------------------------------------- item 9: SPEC CHIPS CANNOT OVERLAP
   Reported on CBS-0163 (Anarchy Labs Ronin): "800MG ALPHA GPC" wrapped to two lines and the
   chips below it rendered partly hidden behind it. Two things made that possible.
   (a) The chip's height was free to grow: `white-space:nowrap` alone is the only thing that
       kept it to one line, and a chip that does wrap gets taller and eats into the row under
       it. The design here is explicitly one line with an ellipsis (nowrap + text-overflow are
       already declared), so the box is now pinned to one line-height as well - a second line
       can no longer change the chip's height.
   (b) `max-height:65%` turned the strip into a definite-height box, which is what gives
       `align-content:flex-end` under `flex-wrap:wrap-reverse` negative free space to
       distribute - the one way flex lines can end up stacked on top of each other. The strip
       is bottom-anchored, so with no cap it simply grows upward over the photo instead. */
.cbs-card.cbs-card--bp .cbs-bp__frame .cbs-card__pills {
  max-height: none !important;
}
.cbs-card.cbs-card--bp .cbs-bp__frame .cbs-card__pills .cbs-card__pill {
  height: 22px !important;
  min-height: 22px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  min-width: 0 !important;
  flex: 0 1 auto !important;
  align-items: center !important;
}
/* ============ /CBS-BATCH-0730 ============ */

/* ============================================================================================
   CBS-BATCH-0730-R2 (2026-07-30) — two things only the client's real iPhone could show.
   ============================================================================================ */

/* --- (a) belt and braces for the iOS phone-number detector -----------------------------------
   CBS-IOS-NODETECT (functions.php) stops iOS injecting the <a> in the first place. If any
   detector ever slips one in anyway - a different iOS version, a different pattern - it must not
   be able to change how a chip looks or wraps. So anything anchor-shaped inside a chip inherits
   the chip completely and cannot re-wrap it. */
.cbs-card.cbs-card--bp .cbs-bp__frame .cbs-card__pills .cbs-card__pill a,
.cbs-card.cbs-card--bp .cbs-bp__frame .cbs-card__pills .cbs-card__pill a:hover,
.cbs-card.cbs-card--bp .cbs-bp__frame .cbs-card__pills .cbs-card__pill a:visited {
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  pointer-events: none !important;
  background: none !important;
  border: 0 !important;
}
/* the two WhatsApp numbers in the Integrity cards are real tel: links now, so they stay tappable
   with telephone detection off - but they must keep reading as body copy, not as blue links */
.cbs-trust__sub a[href^="tel:"] {
  color: inherit;
  text-decoration: none;
}

/* --- (b) iOS tab-kill on pinch-zoom ----------------------------------------------------------
   "A problem repeatedly occurred" is iOS Safari killing the tab for memory. Measured on the
   mobile home page: 579 elements carry a backdrop-filter, and 409 of them are these spec chips.
   Every one forces its own compositing layer plus a blur pass over whatever is behind it, and a
   pinch re-rasterises every layer at the new scale - so zoom multiplies an already huge raster
   budget (the Top Movers scroller alone is 27,090px wide). This is not new: the PRE-batch
   stylesheet has the identical backdrop-filter count.
   The chips are opacity:0 and invisible until their card is opened, so blurring 409 of them
   buys nothing. Blur only the handful that are actually on screen: 409 -> at most ~5, with no
   visual difference at any moment the user can see. */
.cbs-card.cbs-card--bp .cbs-bp__frame .cbs-card__pills .cbs-card__pill {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
.cbs-card.cbs-card--bp.is-pill-open .cbs-bp__frame .cbs-card__pills .cbs-card__pill {
  -webkit-backdrop-filter: blur(4px) !important;
  backdrop-filter: blur(4px) !important;
}
/* ============ /CBS-BATCH-0730-R2 ============ */

/* ============================================================================================
   CBS-ZOOM-MEM (2026-07-30) — iOS Safari was killing the home tab on pinch-zoom.
   Not one cause, four. Measured on the mobile home page BEFORE this block:
     - 144 MB of decoded image bitmaps (a decode costs w x h x 4 bytes whatever the file size)
     - 170 elements still forcing their own compositing layer via backdrop-filter
     - a 16,088px document and a 27,090px-wide horizontal scroller
   A pinch makes WebKit re-decode images and re-rasterise every layer at the new scale, so it
   needs headroom this page did not have. Image sizing is fixed in PHP (CBS-IMG-RIGHTSIZE);
   the two levers that belong in CSS are here. Mobile-only - desktop has never had the problem
   and gets no risk from this.
   ============================================================================================ */

@media (max-width: 767px) {
  /* (1) Stop paying for sections that are nowhere near the screen.
     content-visibility:auto lets the browser skip layout, paint AND raster for a subtree while
     it is off-screen, and release the decoded images inside it - which is exactly the budget a
     zoom needs back. Applied to the four heaviest sections only: brands 33.6MB, best 27.8MB,
     ath 17.7MB, apparel 13.0MB of decoded images, and the two carousels are also where the
     27,090px and 12,736px scrollers live.
     DELIBERATELY NOT APPLIED to .cbs-hero (always on screen), .cbs-home__trust and
     .cbs-home__stack (both sticky-pinned - containment would break the pin) or
     .cbs-home__promo (scroll-driven view-timeline). contain-intrinsic-size carries each
     section's real measured height so the scrollbar and in-page anchors do not jump. */
  body.page-template-home-page-template .cbs-home__brands {
    content-visibility: auto;
    contain-intrinsic-size: auto 1272px;
  }
  body.page-template-home-page-template .cbs-home__apparel {
    content-visibility: auto;
    contain-intrinsic-size: auto 963px;
  }
  body.page-template-home-page-template .cbs-home__best {
    content-visibility: auto;
    contain-intrinsic-size: auto 1074px;
  }
  body.page-template-home-page-template .cbs-home__ath {
    content-visibility: auto;
    contain-intrinsic-size: auto 1582px;
  }

  /* (2) The last of the always-on backdrop blurs. Each one is its own compositing layer plus a
     blur pass over its backdrop, and there are 156 of them on this page: an info button on all
     119 cards and a rating pill on 37. Both sit on a near-black card, so a flat translucent
     panel is visually all but identical while costing no layer at all. The chips were already
     gated to .is-pill-open in CBS-BATCH-0730-R2; this finishes the job: 170 -> ~14. */
  .cbs-card.cbs-card--bp .cbs-bp__frame .cbs-card__info,
  .cbs-card.cbs-card--bp .cbs-bp__frame .cbs-bp__rating {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
  .cbs-card.cbs-card--bp .cbs-bp__frame .cbs-bp__rating {
    background: rgba(8, 10, 14, 0.90) !important;
  }
}
/* ============ /CBS-ZOOM-MEM ============ */

/* ============================================================================================
   CBS-TICKER-UNSTICK (2026-07-30) — the white strip scrolls away on mobile instead of holding
   the top of the screen.
   `body.home .cbs-home__ticker` is `position:fixed` (CBS-NAV-V2 TICKER-TO-TOP, never
   media-scoped), which is why it stayed pinned once it was un-hidden on phones. Switching it to
   `absolute` rather than `static` is deliberate: the strip's DOM position is AFTER the hero and
   the promo sections, so going back into normal flow would drop it into the middle of the page
   instead of the top. `main.cbs-home` is already `position:relative`, so `absolute; top:0` keeps
   it exactly where it renders today - the first thing above the hero - while making it scroll
   with the document. Being out of flow also means the hero's `--cbs-hero-chrome` measurement
   (hero offset + ticker height) stays correct, so hero height does not change.
   Desktop is untouched: it keeps the fixed strip.
   ============================================================================================ */
@media (max-width: 767px) {
  html body.home .cbs-home__ticker {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  /* the admin-bar tiers only existed to clear WP's own fixed bar; an absolute strip inside main
     is already below it */
  html body.admin-bar.home .cbs-home__ticker { top: 0 !important; }
}
/* ============ /CBS-TICKER-UNSTICK ============ */

/* ============================================================================================
   CBS-SWIPE-ASSIST + CBS-PILL-FOLLOW (2026-08-02)
   ============================================================================================ */

/* The Integrity dots were briefly made into real controls here. They are gone entirely now
   (CBS-TFLIP-NODOTS in niceblog-custom-js.js) - a row of dots reads as a carousel, which is the
   wrong promise for a section driven by scroll and swipe, and that misread is what testers
   tripped over in the first place. The dots' own base styling is left in place, unused, so
   reverting the JS restores the old look with no CSS change needed. */

/* --- CBS-PILL-DOCK: the corner pill sits 50px down to clear the white ticker, but the ticker
   scrolls away on mobile now (CBS-TICKER-UNSTICK), so the pill has to give that clearance back.
   It travels 1:1 with the page - exactly as if it were in normal flow - for the 36px it owes,
   then sticks at 14px (the offset CBS-MOBILE-V4 tuned for a ticker-less page).
   THIRD attempt at this, and the first two failed the same way for different reasons: a class
   toggled at a threshold moved it in one jump, and a rAF scroll listener writing a length moved
   it in visible steps. **A JS scroll listener cannot drive scroll-linked motion in WebKit** -
   iOS batches scroll updates to the main thread during momentum, so the value is always computed
   from a stale scrollY. Same architectural reason CBS-PROMO-MSCROLL was torn out.
   It is a CSS scroll-driven animation now: the compositor samples it against the real scroll
   offset every frame, with no JS in the loop at all. */
@supports (animation-timeline: scroll()) {
  @media (max-width: 767px) {
    /* Two SEPARATE animations on purpose. The pill's `transform` is compositable, so its
       animation stays on the compositor and is sampled against the real scroll offset every
       frame - that is what makes the motion continuous rather than stepped. `--cbs-corner-top`
       is a main-thread property; animating it in the SAME animation would drag the transform
       off the compositor with it, so it gets its own. It only anchors the search sheet's
       resting position, which nobody watches move. */
    /* The `translate` PROPERTY, not `transform` - and that is not a style preference.
       CBS-NAV-DIM (above, ~22038) pins `body .cbs-nav__corner { transform: none !important }` on
       mobile on purpose, to defeat the two separate mechanisms that used to slide this pill away
       (`.is-hidden` and `.cbs-nav-corner-away`, both translateY(-160%)). An !important
       declaration outranks an animation, so a transform keyframe here is silently dead on
       arrival - the animation runs with correct progress and paints nothing, which is exactly
       what happened on the first attempt. `translate` is an independent property, is composited
       the same way, is used nowhere else in this stylesheet, and leaves CBS-NAV-DIM's guarantee
       completely intact. */
    @keyframes cbs-pill-dock { to { translate: 0 -36px; } }
    @keyframes cbs-pill-dock-ab { to { translate: 0 -42px; } }

    html body.home .cbs-nav__corner {
      animation: cbs-pill-dock linear both;
      animation-timeline: scroll(root block);
      animation-range: 0px 36px;
    }
    /* the admin bar shifts both ends (102px -> 60px), so the travel is 42px there */
    html body.admin-bar.home .cbs-nav__corner {
      animation-name: cbs-pill-dock-ab;
      animation-range: 0px 42px;
    }

    /* The search field and its results sheet hang off the pill via
       `top: calc(var(--cbs-corner-top) + ...)`, so once the pill docks they would be left 36px
       adrift. Animating --cbs-corner-top itself is not an option: TWO separate !important
       declarations set it (CBS-MOBILE-V4 ~19258 and CBS-TICKER-UNSTICK ~22698) and !important
       outranks an animation. Give them the same dock instead - `translate` composes with the
       `transform` their own open/close animation already uses, so the two do not fight.
       The msearch scrim is deliberately NOT moved: it is a 390x742 near-fullscreen backdrop, so
       shifting it up would just open an unscrimmed strip along the bottom. */
    html body.home .cbs-nav__bar,
    html body.home .cbs-nav__sheet--search {
      animation: cbs-pill-dock linear both;
      animation-timeline: scroll(root block);
      animation-range: 0px 36px;
    }
    html body.admin-bar.home .cbs-nav__bar,
    html body.admin-bar.home .cbs-nav__sheet--search {
      animation-name: cbs-pill-dock-ab;
      animation-range: 0px 42px;
    }
  }
}
/* No JS fallback on purpose: without scroll-timeline support the pill simply stays at its 50px
   resting offset, which is what it did before any of this. A stepped approximation is worse than
   no movement at all - that was the whole complaint. */
/* ============ /CBS-SWIPE-ASSIST + CBS-PILL-DOCK ============ */

/* ============ CBS-AUDIT-0804 (2026-08-04) — sitewide visual-consistency pass ============
   1. PDP gallery outline is now a real notched path (the old fake black circles could not
      reach the card's own border, so the straight stroke ran PAST the bite instead of
      curving around it). Pairs with CBS-PV-SHAPE-V1 in niceblog-custom-js.js.
   2. Heading system: one page-title scale + four "same class, two values" fixes.
   3. Cart / checkout order summary: one type system, perforations, free-shipping progress.
   ======================================================================================= */

/* ---------- 1. PDP GALLERY OUTLINE ----------
   The gallery's 1px border is painted by .cbs-pv-gallery itself and its overflow:hidden
   clips children at the PADDING box, so a child pseudo-element could never cover the
   border strip. Result: an unbroken straight line beside a black half-disc. Fixed the way
   .cbs-card--bp already does it (CBS-BP-SHAPE-V1) — one SVG path carrying the notches,
   with the same path as the element's clip-path so the outer half of the stroke is cut
   away and 1px remains. Base state below is the no-JS fallback (today's look, no notches);
   JS adds .is-pv-shaped once the path is drawn. */
html body article.cbs-prod[data-pid] .cbs-pv-gallery.is-pv-shaped{
	position: relative !important;
	border: 0 !important;
	border-radius: 0 !important;   /* the clip-path draws the rounded corners now */
	/* overflow:hidden is deliberately LEFT IN PLACE. It still clips to the border box (which
	   now equals the padding box, border:0), so it cannot fight the clip-path — and keeping
	   it preserves the gallery's block-formatting context. Dropping it would let the
	   children's vertical margins collapse through the container and move the seam. */
}
/* the fake circle notches are superseded by the real path */
html body article.cbs-prod[data-pid] .cbs-pv-gallery.is-pv-shaped .cbs-pv-stub::before,
html body article.cbs-prod[data-pid] .cbs-pv-gallery.is-pv-shaped .cbs-pv-stub::after{
	content: none !important;
}
html body article.cbs-prod[data-pid] .cbs-pv-shape{
	position: absolute !important; inset: 0 !important;
	width: 100% !important; height: 100% !important;
	overflow: visible !important;
	z-index: 6 !important;
	pointer-events: none !important;
}
/* stroke-width:2 renders as 1px — the clip-path removes the outer half. Same trick and the
   same resulting weight as .cbs-bp__shape-path on the shop cards. */
html body article.cbs-prod[data-pid] .cbs-pv-shape-path{
	fill: none !important;
	stroke: var(--pv-line2) !important;
	stroke-width: 2px !important;
}

/* ---------- 2a. ONE PAGE-TITLE SCALE ----------
   Same role (the page banner) was rendering at four sizes @1440: about 132 / shop-category-
   brand 100 / blog 88 / contact-faq 80. Unified on the shop scale (highest-traffic
   templates). Deliberately NOT in this group: the PDP product title (.cbs-pv-title) and the
   empty-state card titles — those are a different hierarchy level and correctly smaller. */
body .cbs-cat__title,
body .cbs-disp__h,
body .cbs-abt__title,
body .cbs-pg__title{
	font-family: var(--cbs-font-display, 'Anton', sans-serif) !important;
	font-weight: 400 !important;
	font-size: clamp(46px, 8.4vw, 100px) !important;
	line-height: .92 !important;
	letter-spacing: .01em !important;
	text-transform: uppercase !important;
}

/* ---------- 2b. .cbs-empty__title: 46px on /cart/, 24px on /wishlist/ ----------
   Both are page-template-default. The cart's title is an <h1> so it escaped; the wishlist's
   is an <h2> and was captured by the legacy global
   `.page-template-default .entry-content h2{font-size:1.5rem}` (~2304, spec 0,2,1) which
   outranks the component's own (0,1,0). Same legacy-global family as CBS-CARD-TYPE. */
body .cbs-empty__title{
	font-size: clamp(30px, 5vw, 46px) !important;
	line-height: .96 !important;
	letter-spacing: .01em !important;
}

/* ---------- 2c. footer statement tracked differently on the home page ----------
   `body.page-template-home-page-template h2` (~7792) sets letter-spacing:.22em !important
   and the footer's own block (~6649) never declared letter-spacing, so the SAME footer read
   .22em on home and .16em on every other page. */
body .cbs-footer__statement,
body.page-template-home-page-template .cbs-footer__statement,
body.page-template-home-page-template footer .cbs-footer__statement{
	letter-spacing: .16em !important;
}

/* ---------- 2d. .cbs-home__h tracking differed on the PDP ---------- */
body .cbs-home__h,
html body article.cbs-prod[data-pid] .cbs-pv-morehead .cbs-home__h{
	letter-spacing: .002em !important;
}

/* ---------- 2e. /contact/ "Contact us" was the only non-Anton heading sitewide ----------
   It lives inside the Contact Form 7 markup (form.wpcf7-form > .custom-dark-form > h2), so
   no theme heading rule ever reached it — it rendered grey system sans-serif 24px. */
body .custom-dark-form h2,
body .wpcf7-form h2:not([class]){
	font-family: var(--cbs-font-display, 'Anton', sans-serif) !important;
	font-weight: 400 !important;
	font-size: clamp(24px, 2.6vw, 32px) !important;
	line-height: 1 !important;
	letter-spacing: .01em !important;
	text-transform: uppercase !important;
	color: var(--cbs-fg-1, #fff) !important;
}

/* ---------- 3. CART / CHECKOUT ORDER SUMMARY ----------
   The panel mixed two type systems: the toggle, the values and the trust line were mono
   uppercase, while the row LABELS were body-sans sentence case. Labels moved onto the mono
   scale already used by .cbs-cart__line-row--total dt. */
/* NB specificity: the mobile sheet block already pins these to 13px with
   `.cbs-cart.is-fare-open .cbs-cart__fare .cbs-cart__line-row dt` (~20263, spec 0,4,0), so a
   plain (0,2,1) selector silently loses even with !important. (0,4,2) below beats it and
   lands the labels on the same 11px the toggle and the trust line already use. */
html body .cbs-cart .cbs-cart__fare .cbs-cart__line-row dt,
html body .cbs-cart.is-fare-open .cbs-cart__fare .cbs-cart__line-row dt{
	font-family: var(--cbs-font-mono, monospace) !important;
	font-size: 11px !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
}
/* the values sit on the same step so a row reads as one line, not two sizes */
html body .cbs-cart .cbs-cart__fare .cbs-cart__line-row:not(.cbs-cart__line-row--total) dd,
html body .cbs-cart.is-fare-open .cbs-cart__fare .cbs-cart__line-row:not(.cbs-cart__line-row--total) dd{
	font-size: 13px !important;
}
/* rhythm: the rows were 9px+9px apart with no divider, which read as a gap rather than a
   list. Perforation + tighter padding gives the same density as the cart line items. */
html body .cbs-cart .cbs-cart__fare .cbs-cart__rows > .cbs-cart__line-row:not(.cbs-cart__line-row--total){
	padding: 8px 0 !important;
}
/* boarding-pass perforation between rows — the seam language used on the PDP stub and the
   .cbs-card--bp cards. --total already owns a solid rule above it, so it is excluded. */
.cbs-cart__fare .cbs-cart__rows > .cbs-cart__line-row + .cbs-cart__line-row:not(.cbs-cart__line-row--total){
	border-top: 1px dashed var(--cbs-line, rgba(255,255,255,.10));
}

/* free-shipping distance-to-goal, with a real progress bar (populated by
   CBS-SHIP-PROGRESS-V1 in niceblog — the % is derived from the subtotal and the gap that
   are already rendered, so it cannot drift from the server's numbers). */
.cbs-cart__freeship{
	font-family: var(--cbs-font-mono, monospace) !important;
	font-size: 10.5px !important;
	letter-spacing: .07em !important;
	text-transform: uppercase !important;
	line-height: 1.5 !important;
}
.cbs-ship-prog{
	display: block; height: 3px; margin: 2px 0 8px;
	border-radius: 2px; overflow: hidden;
	background: rgba(255,255,255,.10);
}
.cbs-ship-prog__fill{
	display: block; height: 100%;
	width: var(--cbs-ship-p, 0%);
	border-radius: 2px;
	background: linear-gradient(90deg, rgba(108,189,224,.45), var(--cbs-brand-strong, #6cbde0));
	transition: width .45s cubic-bezier(.4, 0, .2, 1);
}
.cbs-cart__freeship.is-done .cbs-ship-prog__fill{ width: 100%; }
@media (prefers-reduced-motion: reduce){
	.cbs-ship-prog__fill{ transition: none; }
}
/* End CBS-AUDIT-0804 ============ */
