/*
Theme Name: Custom Store Theme
Theme URI: 
Author: Me
Author URI: 
Description: A dark, modern, lightweight WooCommerce theme with neon cyan and purple accents.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: custom-store-theme
Tags: e-commerce, dark, custom-menu, featured-images, translation-ready
*/

/* ==========================================================================
   Design tokens
   ========================================================================== */
:root {
	--bg-900: #0d0e12;
	--bg-800: #15171e;
	--text: #ffffff;
	--text-muted: #e2e8f0;
	--cyan: #00f3ff;
	--purple: #9d4edd;
	--glass-bg: rgba(255, 255, 255, 0.04);
	--glass-border: rgba(255, 255, 255, 0.1);
	--radius: 8px;
	--transition: 0.25s ease;
	--shadow-cyan: 0 0 24px rgba(0, 243, 255, 0.25);
	--shadow-purple: 0 0 24px rgba(157, 78, 221, 0.35);
	--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* ==========================================================================
   Base
   ========================================================================== */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: var(--font);
	line-height: 1.6;
	color: var(--text-muted);
	background: var(--bg-900);
	-webkit-font-smoothing: antialiased;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--cyan);
	text-decoration: none;
	transition: color var(--transition);
}

a:hover,
a:focus-visible {
	color: var(--purple);
}

h1, h2, h3, h4 {
	color: var(--text);
	line-height: 1.2;
	margin: 0 0 0.5em;
	letter-spacing: -0.02em;
}

:focus-visible {
	outline: 2px solid var(--cyan);
	outline-offset: 2px;
}

.container {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1.25rem;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

.screen-reader-text:focus {
	clip: auto;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0.75rem 1rem;
	background: var(--bg-800);
	z-index: 1000;
}

.section {
	padding: 4rem 0;
}

.section__title {
	font-size: clamp(1.5rem, 3vw, 2.2rem);
	text-align: center;
	margin-bottom: 2rem;
}

.text-center {
	text-align: center;
}

/* ==========================================================================
   Buttons
   ========================================================================== */
.btn,
.button,
.woocommerce a.button,
.add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.75rem 1.5rem;
	border: 1px solid transparent;
	border-radius: 6px;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
	color: var(--bg-900);
	background: var(--cyan);
	transition: transform var(--transition), box-shadow var(--transition), background var(--transition), color var(--transition);
}

.btn:hover,
.button:hover,
.add_to_cart_button:hover {
	background: var(--purple);
	color: var(--text);
	transform: translateY(-2px);
	box-shadow: var(--shadow-purple);
}

.btn--lg {
	padding: 1rem 2.25rem;
	font-size: 1.1rem;
	box-shadow: var(--shadow-cyan);
}

.add_to_cart_button.loading {
	opacity: 0.7;
	pointer-events: none;
}

.add_to_cart_button.added {
	background: var(--purple);
	color: var(--text);
}

a.added_to_cart {
	display: inline-block;
	margin-top: 0.5rem;
	font-size: 0.9rem;
}

/* ==========================================================================
   Header
   ========================================================================== */
.site-header {
position: sticky;
top: 0;
z-index: 100;
background: rgba(13, 14, 18, 0.8);
backdrop-filter: blur(14px);
-webkit-backdrop-filter: blur(14px);
border-bottom: 1px solid var(--glass-border);
}

.site-header__inner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1.5rem;
min-height: 72px;
}

.site-title {
margin: 0;
font-size: 1.5rem;
font-weight: 600;
}

.site-title a {
background: linear-gradient(90deg, var(--cyan), var(--purple));
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
}

.custom-logo {
max-height: 44px;
width: auto;
}

.menu {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 1.75rem;
}

.main-navigation a {
color: var(--text-muted);
font-weight: 600;
position: relative;
padding: 0.25rem 0;
}

.main-navigation a::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 0;
height: 2px;
background: linear-gradient(90deg, var(--cyan), var(--purple));
transition: width var(--transition);
}

.main-navigation a:hover,
.main-navigation a:focus-visible {
color: var(--text);
}

.main-navigation a:hover::after,
.main-navigation a:focus-visible::after {
width: 100%;
}

.header-utils {
display: flex;
align-items: center;
gap: 0.75rem;
}

.header-icon {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.5rem 0.75rem;
color: var(--text);
border: 1px solid var(--glass-border);
border-radius: 6px;
background: var(--glass-bg);
transition: border-color var(--transition), box-shadow var(--transition);
}

.header-icon:hover,
.header-icon:focus-visible {
color: var(--text);
border-color: var(--cyan);
box-shadow: var(--shadow-cyan);
}

.header-icon svg {
width: 20px;
height: 20px;
flex-shrink: 0;
}

.header-cart__count {
min-width: 1.4rem;
height: 1.4rem;
padding: 0 0.35rem;
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 6px;
font-size: 0.75rem;
font-weight: 600;
color: var(--bg-900);
background: var(--cyan);
}

.header-cart__total {
font-size: 0.9rem;
font-weight: 600;
}

.menu-toggle {
display: none;
padding: 0.5rem 0.75rem;
font: inherit;
color: var(--text);
background: var(--glass-bg);
border: 1px solid var(--glass-border);
border-radius: 6px;
cursor: pointer;
}

.mobile-navigation {
display: none;
border-top: 1px solid var(--glass-border);
}

.mobile-navigation.is-open {
display: block;
}

.mobile-navigation .menu {
flex-direction: column;
gap: 0;
padding: 0.5rem 0 1rem;
}

.mobile-navigation a {
display: block;
padding: 0.75rem 0;
color: var(--text);
font-weight: 600;
border-bottom: 1px solid var(--glass-border);
}

@media (max-width: 860px) {
.main-navigation { display: none; }
.menu-toggle { display: inline-block; }
.header-cart__total { display: none; }
}

/* ==========================================================================
   Hero
   ========================================================================== */
.hero {
position: relative;
overflow: hidden;
padding: clamp(4rem, 12vw, 9rem) 0;
text-align: center;
background:
radial-gradient(ellipse at 20% 20%, rgba(0, 243, 255, 0.18), transparent 55%),
radial-gradient(ellipse at 80% 80%, rgba(157, 78, 221, 0.28), transparent 55%),
var(--bg-900);
}

.hero__title {
font-size: clamp(2.2rem, 6vw, 4.5rem);
font-weight: 600;
margin-bottom: 1rem;
}

.hero__title span {
background: linear-gradient(90deg, var(--cyan), var(--purple));
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
}

.hero__tagline {
max-width: 600px;
margin: 0 auto 2rem;
font-size: clamp(1rem, 2vw, 1.25rem);
}

/* ==========================================================================
   Glass cards + category grid
   ========================================================================== */
.glass-card {
background: var(--glass-bg);
border: 1px solid var(--glass-border);
border-radius: var(--radius);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition);
}

.glass-card:hover,
.glass-card:focus-within {
transform: translateY(-6px);
border-color: var(--cyan);
box-shadow: var(--shadow-cyan), var(--shadow-purple);
}

.category-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 1.25rem;
}

.category-card {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.5rem;
padding: 2rem 1rem;
text-align: center;
color: var(--text);
}

.category-card:hover {
color: var(--text);
border-color: var(--purple);
}

.category-card__icon {
font-size: 2.5rem;
line-height: 1;
}

.category-card__name {
font-size: 1.15rem;
font-weight: 600;
}

.category-card__cta {
font-size: 0.85rem;
color: var(--cyan);
}

@media (max-width: 860px) {
.category-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ==========================================================================
   Product grid (featured + WooCommerce loops)
   ========================================================================== */
.product-grid,
.woocommerce ul.products {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 1.25rem;
}

.product-card {
position: relative;
display: flex;
flex-direction: column;
overflow: hidden;
height: 100%;
}

.product-card__image {
display: block;
aspect-ratio: 1 / 1;
background: var(--bg-800);
overflow: hidden;
}

.product-card__image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.4s ease;
}

.product-card:hover .product-card__image img {
transform: scale(1.06);
}

.product-card__body {
display: flex;
flex-direction: column;
flex: 1;
gap: 0.5rem;
padding: 1rem;
}

.product-card__title {
font-size: 1rem;
margin: 0;
}

.product-card__title a {
color: var(--text);
}

.product-card__title a:hover {
color: var(--purple);
}

.product-card__price {
font-weight: 600;
color: var(--cyan);
}

.product-card__price del {
opacity: 0.5;
font-weight: 400;
}

.product-card__price ins {
text-decoration: none;
}

.product-card__actions {
margin-top: auto;
padding-top: 0.5rem;
}

.product-card__actions .button {
width: 100%;
}

.badge {
position: absolute;
top: 0.75rem;
left: 0.75rem;
padding: 0.2rem 0.65rem;
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
color: var(--bg-900);
background: var(--cyan);
border-radius: 6px;
z-index: 2;
}

@media (max-width: 1000px) {
.product-grid, .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 700px) {
.product-grid, .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
}

@media (max-width: 420px) {
.product-grid, .woocommerce ul.products { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Trust badges
   ========================================================================== */
.trust-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1.25rem;
}

.trust-item {
padding: 1.75rem;
text-align: center;
}

.trust-item__icon {
font-size: 2rem;
margin-bottom: 0.5rem;
}

.trust-item h3 {
font-size: 1.1rem;
}

.trust-item p {
margin: 0;
font-size: 0.95rem;
}

@media (max-width: 700px) {
.trust-grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Generic content, footer, notices
   ========================================================================== */
.site-main {
padding: 2.5rem 0;
}

.site-main--home {
padding: 0;
}

.entry-title a {
color: var(--text);
}

.site-footer {
margin-top: 2rem;
padding: 2.5rem 0;
font-size: 0.9rem;
background: var(--bg-800);
border-top: 1px solid var(--glass-border);
}

.footer-navigation .menu {
flex-wrap: wrap;
gap: 1.25rem;
margin-bottom: 1rem;
}

.site-info {
margin: 0;
opacity: 0.7;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
list-style: none;
padding: 1rem 1.25rem;
margin: 0 0 1.5rem;
background: var(--bg-800);
border: 1px solid var(--glass-border);
border-left: 4px solid var(--cyan);
border-radius: 8px;
color: var(--text);
}

@media (prefers-reduced-motion: reduce) {
* {
transition: none !important;
scroll-behavior: auto !important;
}
}

/* ==========================================================================
   Shop & category archives (full width, dark)
   ========================================================================== */
.shop-archive {
background: var(--bg-900);
min-height: 60vh;
}

.container--full {
max-width: 1400px;
}

.archive-header {
margin-bottom: 2rem;
text-align: center;
}

.archive-header__title {
font-size: clamp(2rem, 5vw, 3.25rem);
background: linear-gradient(90deg, var(--cyan), var(--purple));
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
}

.archive-toolbar {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 1rem;
margin-bottom: 1.5rem;
}

.archive-toolbar .woocommerce-result-count {
margin: 0;
}

.archive-toolbar select {
padding: 0.5rem 1rem;
color: var(--text);
background: var(--bg-800);
border: 1px solid var(--glass-border);
border-radius: 6px;
font: inherit;
}

.shop-archive .product-card__title a {
color: var(--cyan);
}

.shop-archive .product-card__title a:hover {
color: var(--purple);
}

.shop-archive .product-card__price {
color: var(--purple);
font-size: 1.1rem;
}

.shop-archive .product-card .button,
.shop-archive .product-card .add_to_cart_button {
color: var(--text);
background: var(--purple);
}

.shop-archive .product-card .button:hover,
.shop-archive .product-card .add_to_cart_button:hover {
color: var(--bg-900);
background: var(--cyan);
box-shadow: var(--shadow-cyan);
}

.woocommerce-pagination {
margin-top: 2.5rem;
}

.woocommerce-pagination ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 0.5rem;
}

.woocommerce-pagination .page-numbers {
display: inline-block;
padding: 0.5rem 1rem;
color: var(--text);
border: 1px solid var(--glass-border);
border-radius: 6px;
background: var(--glass-bg);
}

.woocommerce-pagination .page-numbers.current,
.woocommerce-pagination a.page-numbers:hover {
color: var(--bg-900);
background: var(--cyan);
border-color: var(--cyan);
}

/* WooCommerce catch-all wrapper (woocommerce.php) */
.dark-theme-archive {
background: var(--bg-900);
min-height: 60vh;
width: 100%;
max-width: 1400px;
margin: 0 auto;
padding: 2.5rem 1.25rem;
}

.dark-theme-archive .woocommerce-products-header__title,
.dark-theme-archive .page-title {
text-align: center;
font-size: clamp(2rem, 5vw, 3.25rem);
}

/* ==========================================================================
   Archive grid fix: override WooCommerce default float/column layout
   ========================================================================== */
.woocommerce ul.products,
ul.products {
display: grid !important;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
gap: 24px !important;
margin: 0 !important;
padding: 0 !important;
list-style: none !important;
}

/* WooCommerce clearfix pseudo-elements would otherwise become empty grid cells. */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
ul.products::before,
ul.products::after {
display: none !important;
content: none !important;
}

.woocommerce ul.products li.product,
ul.products li.product {
width: 100% !important;
margin: 0 !important;
float: none !important;
display: flex !important;
flex-direction: column;
padding: 20px !important;
background: #15171e !important;
border: 1px solid rgba(255, 255, 255, 0.08) !important;
border-radius: 8px !important;
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.woocommerce ul.products li.product:hover,
ul.products li.product:hover {
transform: translateY(-4px);
border-color: rgba(0, 243, 255, 0.4) !important;
box-shadow: 0 0 20px rgba(0, 243, 255, 0.2);
}

/* Thumbnail */
.woocommerce ul.products li.product .product-card__image {
aspect-ratio: auto;
border-radius: 8px;
margin-bottom: 12px;
}

.woocommerce ul.products li.product img,
.woocommerce ul.products li.product .product-card__image img {
width: 100% !important;
height: 220px !important;
object-fit: cover;
border-radius: 8px;
margin: 0 0 12px !important;
}

.woocommerce ul.products li.product .product-card__image img {
margin-bottom: 0 !important;
}

/* Card body: padding now lives on the card itself */
.woocommerce ul.products li.product .product-card__body {
padding: 0;
gap: 10px;
}

/* Title */
.woocommerce ul.products li.product .product-card__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
font-size: 1.1rem;
font-weight: 600;
line-height: 1.4;
padding: 0;
}

.woocommerce ul.products li.product .product-card__title a,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
color: #00f3ff;
}

/* Price */
.woocommerce ul.products li.product .product-card__price,
.woocommerce ul.products li.product .price {
color: #9d4edd;
font-size: 1.25rem;
font-weight: 600;
}

.woocommerce ul.products li.product .price del {
opacity: 0.5;
}

.woocommerce ul.products li.product .price ins {
text-decoration: none;
background: transparent;
}

/* Buttons: Add to Cart / Select Options */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button {
display: flex !important;
align-items: center;
justify-content: center;
width: 100% !important;
margin: 0 !important;
padding: 0.75rem 1.5rem !important;
border-radius: 6px !important;
background: #9d4edd !important;
color: #ffffff !important;
font-weight: 600;
transition: background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover {
background: #00f3ff !important;
color: #0d0e12 !important;
box-shadow: 0 0 20px rgba(0, 243, 255, 0.35);
}

.woocommerce ul.products li.product .added_to_cart {
text-align: center;
}

/* WooCommerce Full Width Clean Grid Reset */
.woocommerce-page .site-main-container,
.woocommerce .site-main-container {
max-width: 1300px !important;
margin: 0 auto !important;
padding: 40px 20px !important;
width: 100% !important;
box-sizing: border-box !important;
}

.woocommerce ul.products,
ul.products {
display: grid !important;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
gap: 24px !important;
margin: 0 !important;
padding: 0 !important;
list-style: none !important;
width: 100% !important;
float: none !important;
clear: both !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
display: none !important;
}

.woocommerce ul.products li.product,
ul.products li.product {
width: 100% !important;
max-width: 100% !important;
min-width: 0 !important;
margin: 0 !important;
float: none !important;
display: flex !important;
flex-direction: column !important;
justify-content: space-between !important;
background: #15171e !important;
border: 1px solid rgba(255, 255, 255, 0.08) !important;
border-radius: 8px !important;
padding: 20px !important;
box-sizing: border-box !important;
transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.woocommerce ul.products li.product:hover {
transform: translateY(-4px) !important;
box-shadow: 0 0 25px rgba(0, 243, 255, 0.25) !important;
border-color: rgba(0, 243, 255, 0.4) !important;
}

.woocommerce ul.products li.product img {
width: 100% !important;
height: 220px !important;
object-fit: cover !important;
border-radius: 10px !important;
margin-bottom: 14px !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
color: #00f3ff !important;
font-size: 1.15rem !important;
font-weight: 600 !important;
line-height: 1.3 !important;
margin: 10px 0 !important;
padding: 0 !important;
word-wrap: break-word !important;
}

.woocommerce ul.products li.product .price {
color: #9d4edd !important;
font-size: 1.25rem !important;
font-weight: 600 !important;
margin-bottom: 16px !important;
}

.woocommerce ul.products li.product .button {
width: 100% !important;
text-align: center !important;
background: #9d4edd !important;
color: #ffffff !important;
border-radius: 6px !important;
padding: 12px 20px !important;
font-weight: 600 !important;
border: none !important;
box-sizing: border-box !important;
}

.woocommerce ul.products li.product .button:hover {
background: #00f3ff !important;
color: #0d0e12 !important;
}

/* ==========================================================================
   Single product: split layout
   ========================================================================== */
.single-product-page {
background: var(--bg-900);
}

.glass-panel {
background: #15171e;
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 8px;
padding: 1.5rem;
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
}

.single-product__top {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
gap: 2rem;
align-items: start;
}

.single-product__gallery {
position: sticky;
top: 96px;
}

.single-product__details,
.single-product__related {
margin-top: 2rem;
}

@media (max-width: 860px) {
.single-product__top {
grid-template-columns: 1fr;
}

.single-product__gallery {
position: static;
}
}

/* Sale flash */
.single-product__gallery .onsale {
position: absolute;
top: 1.75rem;
left: 1.75rem;
z-index: 5;
padding: 0.25rem 0.75rem;
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
color: var(--bg-900);
background: var(--cyan);
border-radius: 6px;
}

/* Gallery */
.single-product__gallery .woocommerce-product-gallery {
position: relative;
margin: 0;
}

.single-product__gallery .woocommerce-product-gallery__wrapper {
margin: 0;
padding: 0;
}

.single-product__gallery .woocommerce-product-gallery__image img,
.single-product__gallery .woocommerce-product-gallery__wrapper > div img {
width: 100%;
height: auto;
border-radius: 8px;
border: 1px solid rgba(255, 255, 255, 0.08);
}

.single-product__gallery .woocommerce-product-gallery__trigger {
position: absolute;
top: 0.75rem;
right: 0.75rem;
z-index: 5;
width: 2.25rem;
height: 2.25rem;
display: flex;
align-items: center;
justify-content: center;
font-size: 0;
border-radius: 50%;
background: rgba(13, 14, 18, 0.8);
border: 1px solid var(--glass-border);
}

.single-product__gallery .woocommerce-product-gallery__trigger::before {
content: "\2922";
font-size: 1rem;
color: var(--cyan);
}

/* Thumbnail row */
.single-product__gallery .flex-control-thumbs {
list-style: none;
margin: 0.75rem 0 0;
padding: 0;
display: grid;
grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
gap: 0.5rem;
}

.single-product__gallery .flex-control-thumbs li {
margin: 0;
padding: 0;
width: auto;
float: none;
}

.single-product__gallery .flex-control-thumbs img {
width: 100%;
aspect-ratio: 1 / 1;
object-fit: cover;
border-radius: 8px;
border: 2px solid transparent;
opacity: 0.6;
cursor: pointer;
transition: opacity var(--transition), border-color var(--transition);
}

.single-product__gallery .flex-control-thumbs img:hover,
.single-product__gallery .flex-control-thumbs img.flex-active {
opacity: 1;
border-color: var(--cyan);
}

/* Summary typography */
.single-product__summary .product_title {
margin: 0 0 0.5rem;
font-size: clamp(1.6rem, 3vw, 2.4rem);
color: var(--cyan);
}

.single-product__summary .price {
display: block;
margin: 0 0 1rem;
font-size: 1.75rem;
font-weight: 600;
color: var(--purple);
}

.single-product__summary .price del {
opacity: 0.5;
font-size: 1.1rem;
}

.single-product__summary .price ins {
text-decoration: none;
}

.single-product__summary .woocommerce-product-details__short-description {
margin-bottom: 1.5rem;
color: var(--text);
}

.single-product__summary .woocommerce-product-details__short-description p:last-child {
margin-bottom: 0;
}

/* Stock status */
.single-product__summary .stock {
display: inline-block;
margin: 0 0 1rem;
padding: 0.25rem 0.75rem;
font-size: 0.85rem;
font-weight: 600;
border-radius: 6px;
color: var(--cyan);
background: rgba(0, 243, 255, 0.1);
border: 1px solid rgba(0, 243, 255, 0.3);
}

.single-product__summary .stock.out-of-stock {
color: #ff6b81;
background: rgba(255, 107, 129, 0.1);
border-color: rgba(255, 107, 129, 0.3);
}

/* Variation swatches */
.single-product__summary table.variations {
width: 100%;
margin: 0 0 1rem;
border-collapse: collapse;
}

.single-product__summary table.variations th,
.single-product__summary table.variations td {
display: block;
padding: 0;
text-align: left;
}

.single-product__summary table.variations th.label {
margin: 0.75rem 0 0.5rem;
font-weight: 600;
color: var(--text);
}

.single-product__summary table.variations select {
width: 100%;
padding: 0.6rem 1rem;
color: var(--text);
background: var(--bg-900);
border: 1px solid var(--glass-border);
border-radius: 6px;
font: inherit;
}

/* Hide the select once swatches are built (it stays in the DOM for WooCommerce). */
.single-product__summary .cst-swatch-select {
position: absolute;
width: 1px;
height: 1px;
opacity: 0;
pointer-events: none;
}

.cst-swatches {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
}

.cst-swatch {
padding: 0.55rem 1.2rem;
font: inherit;
font-weight: 600;
color: var(--text);
background: var(--bg-900);
border: 1px solid var(--glass-border);
border-radius: 6px;
cursor: pointer;
transition: border-color var(--transition), background var(--transition), color var(--transition), box-shadow var(--transition);
}

.cst-swatch:hover:not(:disabled) {
border-color: var(--cyan);
}

.cst-swatch.is-selected {
color: var(--bg-900);
background: var(--cyan);
border-color: var(--cyan);
box-shadow: var(--shadow-cyan);
}

.cst-swatch:disabled {
opacity: 0.35;
cursor: not-allowed;
text-decoration: line-through;
}

.single-product__summary .reset_variations {
display: inline-block;
margin-top: 0.5rem;
font-size: 0.85rem;
color: var(--purple);
}

.single-product__summary .woocommerce-variation-price .price {
margin: 1rem 0 0.5rem;
}

/* Quantity + stacked action buttons */
.single-product__summary form.cart,
.single-product__summary .woocommerce-variation-add-to-cart {
display: flex;
flex-direction: column;
gap: 0.75rem;
}

.single-product__summary .quantity {
display: flex;
align-items: center;
}

.single-product__summary .quantity .qty {
width: 100px;
padding: 0.7rem 1rem;
text-align: center;
font: inherit;
font-weight: 600;
color: var(--text);
background: var(--bg-900);
border: 1px solid var(--glass-border);
border-radius: 6px;
}

.single-product__summary .single_add_to_cart_button,
.single-product__summary .buy-now-button {
width: 100%;
padding: 1rem 1.5rem;
font-size: 1.05rem;
border-radius: 6px;
}

.single-product__summary .single_add_to_cart_button {
color: var(--text);
background: var(--purple);
}

.single-product__summary .single_add_to_cart_button:hover {
color: var(--text);
background: #b169ee;
box-shadow: var(--shadow-purple);
}

.single-product__summary .buy-now-button {
color: var(--bg-900);
background: var(--cyan);
box-shadow: var(--shadow-cyan);
}

.single-product__summary .buy-now-button:hover {
color: var(--bg-900);
background: #5ffaff;
}

.single-product__summary .woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button,
.single-product__summary .woocommerce-variation-add-to-cart-disabled .buy-now-button,
.single-product__summary .single_add_to_cart_button.disabled {
opacity: 0.5;
cursor: not-allowed;
transform: none;
box-shadow: none;
}

.single-product__summary .product_meta {
margin-top: 1.5rem;
padding-top: 1rem;
font-size: 0.9rem;
border-top: 1px solid var(--glass-border);
}

.single-product__summary .product_meta > span {
display: block;
}

/* Description tabs section */
.single-product__details .woocommerce-tabs ul.tabs {
list-style: none;
margin: 0 0 1.5rem;
padding: 0 0 0.75rem;
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
border-bottom: 1px solid var(--glass-border);
}

.single-product__details .woocommerce-tabs ul.tabs li {
margin: 0;
}

.single-product__details .woocommerce-tabs ul.tabs li a {
display: block;
padding: 0.5rem 1.25rem;
font-weight: 600;
color: var(--text-muted);
border: 1px solid var(--glass-border);
border-radius: 6px;
}

.single-product__details .woocommerce-tabs ul.tabs li.active a,
.single-product__details .woocommerce-tabs ul.tabs li a:hover {
color: var(--bg-900);
background: var(--cyan);
border-color: var(--cyan);
}

.single-product__details .woocommerce-Tabs-panel h2 {
font-size: 1.4rem;
color: var(--cyan);
}

.single-product__details .woocommerce-Tabs-panel {
color: var(--text);
line-height: 1.8;
}

.single-product__details table.shop_attributes {
width: 100%;
border-collapse: collapse;
}

.single-product__details table.shop_attributes th,
.single-product__details table.shop_attributes td {
padding: 0.75rem 1rem;
text-align: left;
border-bottom: 1px solid var(--glass-border);
}

.single-product__details table.shop_attributes th {
color: var(--cyan);
width: 30%;
}

/* Related / upsell products */
.single-product__related section.related > h2,
.single-product__related section.upsells > h2 {
margin: 0 0 1.25rem;
font-size: 1.5rem;
color: var(--cyan);
}

/* ==========================================================================
   Single product: strict two-column desktop split
   div.product is the grid; gallery = column 1, summary = column 2.
   ========================================================================== */
.woocommerce div.product,
.single-product div.product {
display: grid !important;
grid-template-columns: 1fr 1fr !important;
gap: 40px !important;
align-items: start !important;
max-width: 1300px !important;
margin: 40px auto !important;
padding: 0 20px !important;
box-sizing: border-box !important;
}

.woocommerce div.product div.images,
.single-product div.product div.images {
grid-column: 1 !important;
grid-row: 1 !important;
width: 100% !important;
max-width: 100% !important;
float: none !important;
margin: 0 !important;
position: sticky;
top: 96px;
min-width: 0;
box-sizing: border-box;
}

.woocommerce div.product div.summary,
.single-product div.product div.summary {
grid-column: 2 !important;
grid-row: 1 !important;
width: 100% !important;
max-width: 100% !important;
float: none !important;
margin: 0 !important;
min-width: 0;
box-sizing: border-box;
}

.woocommerce div.product .single-product__details,
.woocommerce div.product .single-product__related,
.single-product div.product .single-product__details,
.single-product div.product .single-product__related {
grid-column: 1 / -1 !important;
width: 100% !important;
margin: 0 !important;
min-width: 0;
}

/* Gallery: rounded, dark-bordered images */
.woocommerce div.product div.images .woocommerce-product-gallery {
width: 100% !important;
float: none !important;
margin: 0 !important;
opacity: 1 !important;
}

.woocommerce div.product div.images img {
display: block;
width: 100%;
height: auto;
border-radius: 8px;
border: 1px solid rgba(255, 255, 255, 0.08);
}

.woocommerce div.product div.images .flex-control-thumbs img {
border-radius: 8px;
}

/* Swatches as dark-mode pill blocks */
.woocommerce div.product .cst-swatches {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-bottom: 0.5rem;
}

.woocommerce div.product .cst-swatch {
min-width: 64px;
text-align: center;
padding: 0.6rem 1.25rem;
color: #ffffff;
background: #0d0e12;
border: 1px solid rgba(255, 255, 255, 0.15);
border-radius: 6px;
}

.woocommerce div.product .cst-swatch:hover:not(:disabled) {
border-color: #00f3ff;
color: #00f3ff;
}

.woocommerce div.product .cst-swatch.is-selected {
color: #0d0e12;
background: #00f3ff;
border-color: #00f3ff;
}

/* Buttons: stacked, full-width pills */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart .buy-now-button {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
border: none;
border-radius: 6px;
font-weight: 600;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
background: #9d4edd;
color: #ffffff;
}

.woocommerce div.product form.cart .buy-now-button {
background: #00f3ff;
color: #0d0e12;
}

/* Mobile: collapse to one column */
@media (max-width: 860px) {
.woocommerce div.product,
.single-product div.product {
grid-template-columns: 1fr !important;
gap: 24px !important;
}

.woocommerce div.product div.images,
.single-product div.product div.images,
.woocommerce div.product div.summary,
.single-product div.product div.summary {
grid-column: 1 !important;
grid-row: auto !important;
position: static;
}
}

/* ==========================================================================
   Single product: full-width container, 45/50 split, full-width purchase box
   ========================================================================== */
.woocommerce-page .site-main-container,
.single-product .site-main-container {
max-width: 1400px !important;
width: 100% !important;
margin: 0 auto !important;
padding: 40px 30px !important;
}

.single-product div.product {
display: grid !important;
grid-template-columns: 45% 50% !important; /* Image 45%, details 50% */
justify-content: space-between !important;
gap: 5% !important;
width: 100% !important;
max-width: 100% !important;
margin: 0 !important;
padding: 0 !important;
}

.single-product div.product div.images {
width: 100% !important;
max-width: 100% !important;
float: none !important;
margin: 0 !important;
}

.single-product div.product div.summary {
width: 100% !important;
max-width: 100% !important;
float: none !important;
margin: 0 !important;
}

/* Purchase box: everything spans the full width of the right column */
.single-product div.product div.summary form.cart,
.single-product div.product div.summary .variations_form,
.single-product div.product div.summary table.variations,
.single-product div.product div.summary table.variations tbody,
.single-product div.product div.summary table.variations tr,
.single-product div.product div.summary table.variations td.value,
.single-product div.product div.summary .single_variation_wrap,
.single-product div.product div.summary .woocommerce-variation-add-to-cart {
width: 100% !important;
max-width: 100% !important;
box-sizing: border-box;
}

.single-product div.product div.summary .cst-swatches {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
gap: 10px;
width: 100%;
}

.single-product div.product div.summary .cst-swatch {
width: 100%;
min-width: 0;
}

.single-product div.product div.summary .quantity {
width: 100% !important;
}

.single-product div.product div.summary .quantity .qty {
width: 100% !important;
max-width: 100% !important;
}

.single-product div.product div.summary .single_add_to_cart_button,
.single-product div.product div.summary .buy-now-button {
width: 100% !important;
max-width: 100% !important;
margin: 0 !important;
box-sizing: border-box;
}

.single-product div.product div.summary .product_title {
display: block;
margin: 0 0 0.5rem;
}

/* Mobile: back to a single column (must follow the desktop grid above) */
@media (max-width: 860px) {
.woocommerce-page .site-main-container,
.single-product .site-main-container {
padding: 24px 16px !important;
}

.single-product div.product {
grid-template-columns: 1fr !important;
gap: 24px !important;
}
}

/* ==========================================================================
   Ticker marquee (top-most bar)
   ========================================================================== */
.ticker {
overflow: hidden;
white-space: nowrap;
background: #9d4edd;
color: #ffffff;
border-bottom: 1px solid rgba(0, 243, 255, 0.5);
font-size: 0.8rem;
font-weight: 600;
letter-spacing: 0.08em;
}

.ticker__track {
display: flex;
width: max-content;
animation: marquee 30s linear infinite;
}

.ticker:hover .ticker__track {
animation-play-state: paused;
}

.ticker__group {
display: flex;
flex-shrink: 0;
}

.ticker__item {
padding: 0.5rem 0;
}

.ticker__item::after {
content: "|";
margin: 0 1.5rem;
opacity: 0.6;
}

@keyframes marquee {
from { transform: translateX(0); }
to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
.ticker__track {
animation: none !important;
}
}

/* ==========================================================================
   Brand signature
   ========================================================================== */
.brand {
display: inline-flex;
align-items: baseline;
gap: 0.35em;
font-family: "Montserrat", "Poppins", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
font-size: 1.5rem;
line-height: 1;
letter-spacing: -0.02em;
text-transform: lowercase;
text-decoration: none;
}

.brand__bite {
font-weight: 600;
color: #00f3ff;
}

.brand__delivery {
font-weight: 600;
color: #ffffff;
text-shadow: 0 0 14px rgba(157, 78, 221, 0.8);
}

.brand:hover .brand__delivery {
color: #9d4edd;
}

.site-header__inner {
justify-content: space-between;
}

/* ==========================================================================
   Sharp, cyber-industrial treatment (overrides earlier rounded styles)
   ========================================================================== */
.btn,
.button,
.add_to_cart_button,
.header-icon,
.menu-toggle,
.header-cart__count,
.badge {
border-radius: 6px;
}

.btn {
text-transform: uppercase;
letter-spacing: 0.06em;
border: 1px solid var(--cyan);
}

.btn--lg {
padding: 1rem 2.5rem;
font-size: 1rem;
box-shadow: 0 0 0 1px rgba(0, 243, 255, 0.4), 0 0 28px rgba(0, 243, 255, 0.35);
}

.btn:hover {
border-color: var(--purple);
}

.hero {
border-bottom: 1px solid rgba(0, 243, 255, 0.25);
background:
linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px) 0 0 / 48px 48px,
linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px) 0 0 / 48px 48px,
radial-gradient(ellipse at 20% 20%, rgba(0, 243, 255, 0.2), transparent 55%),
radial-gradient(ellipse at 80% 80%, rgba(157, 78, 221, 0.3), transparent 55%),
var(--bg-900);
}

.hero__title {
font-weight: 600;
letter-spacing: -0.03em;
text-transform: uppercase;
}

.hero__tagline {
color: var(--text-muted);
}

.glass-card,
.category-card,
.trust-item,
.product-card {
border-radius: 8px;
border: 1px solid rgba(255, 255, 255, 0.1);
}

.category-card {
border-top: 2px solid var(--purple);
text-transform: uppercase;
letter-spacing: 0.04em;
}

.category-card:hover {
border-top-color: var(--cyan);
}

/* Even, aligned homepage product grid */
.product-grid {
align-items: stretch;
}

.product-grid .product-card__image {
border-radius: 0;
}

.product-grid .product-card__body {
flex: 1;
}

.product-grid .product-card__title {
min-height: 2.8em;
line-height: 1.4;
}

.header-icon {
border-radius: 6px;
}

@media (max-width: 860px) {
.brand {
font-size: 1.25rem;
}
}

/* ==========================================================================
   Single product: normalized gallery images + thumbnails
   ========================================================================== */

/* Gallery card frame */
.single-product div.product div.images {
box-sizing: border-box !important;
padding: 16px !important;
background: #15171e !important;
border: 1px solid rgba(255, 255, 255, 0.08) !important;
border-radius: 8px !important;
align-self: start;
}

/* Main image containers: fixed max height, square frame */
.single-product div.product div.images .woocommerce-product-gallery__wrapper {
margin: 0 !important;
padding: 0 !important;
max-width: 100%;
}

.single-product div.product div.images .woocommerce-product-gallery__image {
aspect-ratio: 1 / 1;
max-height: 460px;
overflow: hidden;
background: #111319;
border-radius: 8px;
}

.single-product div.product div.images .woocommerce-product-gallery__image a {
display: block;
height: 100%;
}

/* Main images scale cleanly inside the fixed container (zoom overlay excluded) */
.single-product div.product div.images .woocommerce-product-gallery__image img:not(.zoomImg),
.single-product div.product div.images img:not(.zoomImg) {
width: 100% !important;
max-height: 460px !important;
height: 460px !important;
object-fit: contain !important;
background: #111319 !important;
border-radius: 8px !important;
display: block !important;
margin: 0 auto !important;
}

/* Thumbnail row */
.single-product div.product div.images .flex-control-thumbs,
.single-product div.product div.images .thumbnails {
display: grid !important;
grid-template-columns: repeat(auto-fill, 80px) !important;
gap: 10px !important;
margin: 12px 0 0 !important;
padding: 0 !important;
list-style: none !important;
}

.single-product div.product div.images .flex-control-thumbs li {
width: 80px !important;
margin: 0 !important;
padding: 0 !important;
float: none !important;
}

.single-product div.product div.images .flex-control-thumbs li img,
.single-product div.product div.images .thumbnails img {
width: 80px !important;
height: 80px !important;
max-height: 80px !important;
object-fit: cover !important;
border-radius: 6px !important;
border: 1px solid rgba(255, 255, 255, 0.1) !important;
background: #111319 !important;
margin: 0 !important;
cursor: pointer;
}

.single-product div.product div.images .flex-control-thumbs li img.flex-active,
.single-product div.product div.images .flex-control-thumbs li img:hover {
border-color: #00f3ff !important;
}

/* Mobile: slightly shorter main image */
@media (max-width: 600px) {
.single-product div.product div.images .woocommerce-product-gallery__image img:not(.zoomImg),
.single-product div.product div.images img:not(.zoomImg) {
height: 340px !important;
max-height: 340px !important;
}

.single-product div.product div.images .woocommerce-product-gallery__image {
max-height: 340px;
}
}

/* ==========================================================================
   Site logo (BITE SIZE DELIVERY)
   ========================================================================== */
.site-logo {
font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
font-weight: 600 !important;
font-size: 1.6rem !important;
letter-spacing: 2px !important;
text-transform: uppercase !important;
text-decoration: none !important;
display: inline-flex !important;
align-items: center !important;
gap: 8px !important;
}

.site-logo .brand-cyan {
color: #00f3ff !important;
text-shadow: 0 0 12px rgba(0, 243, 255, 0.4) !important;
}

.site-logo .brand-white {
color: #ffffff !important;
font-weight: 600 !important;
}

.site-logo:hover .brand-white {
color: #9d4edd !important;
}

@media (max-width: 600px) {
.site-logo {
font-size: 1.1rem !important;
letter-spacing: 1px !important;
gap: 5px !important;
}
}

/* ==========================================================================
   Single product: no sticky/floating columns (natural scroll, no overlap)
   Must stay at the end of the file to win over earlier sticky rules.
   ========================================================================== */
.single-product div.product,
.woocommerce div.product {
position: static !important;
}

.single-product div.product {
display: grid !important;
grid-template-columns: 45% 50% !important;
gap: 5% !important;
align-items: start !important;
position: static !important;
}

.single-product div.product div.images,
.single-product div.product div.summary,
.woocommerce div.product div.images,
.woocommerce div.product div.summary,
.single-product div.product .single-product__gallery,
.single-product div.product .single-product__summary {
position: static !important;
top: auto !important;
transform: none !important;
float: none !important;
}

/* Keep the mobile single column rule winning over the grid above. */
@media (max-width: 860px) {
.single-product div.product {
grid-template-columns: 1fr !important;
gap: 24px !important;
}
}

/* ==========================================================================
   Homepage feature callout banners
   ========================================================================== */
.callout {
position: relative;
padding: clamp(4rem, 10vw, 7rem) 0;
text-align: center;
background-color: var(--bg-800);
background-size: cover;
background-position: center;
border-top: 1px solid rgba(0, 243, 255, 0.25);
border-bottom: 1px solid rgba(157, 78, 221, 0.35);
overflow: hidden;
}

/* Dark overlay + neon glow (also acts as the banner look when no image is supplied) */
.callout::before {
content: "";
position: absolute;
inset: 0;
background:
linear-gradient(rgba(13, 14, 18, 0.78), rgba(13, 14, 18, 0.88)),
radial-gradient(ellipse at 15% 20%, rgba(0, 243, 255, 0.2), transparent 55%);
}

.callout--rewards::before {
background:
linear-gradient(rgba(13, 14, 18, 0.78), rgba(13, 14, 18, 0.88)),
radial-gradient(ellipse at 85% 20%, rgba(157, 78, 221, 0.3), transparent 55%);
}

.callout__inner {
position: relative;
z-index: 1;
max-width: 800px;
}

.callout__title {
margin: 0 0 1rem;
font-size: clamp(1.75rem, 5vw, 3rem);
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
color: #ffffff;
}

.callout__text {
max-width: 560px;
margin: 0 auto 2rem;
font-size: clamp(1rem, 2vw, 1.15rem);
color: var(--text-muted);
}

.callout__btn {
display: inline-block;
padding: 0.9rem 2.5rem;
font-weight: 600;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--cyan);
background: transparent;
border: 2px solid var(--cyan);
border-radius: 0;
transition: background var(--transition), color var(--transition), box-shadow var(--transition), border-color var(--transition);
}

.callout__btn:hover,
.callout__btn:focus-visible {
color: var(--bg-900);
background: var(--cyan);
box-shadow: 0 0 24px rgba(0, 243, 255, 0.5);
}

.callout--rewards .callout__btn {
color: #ffffff;
border-color: var(--purple);
}

.callout--rewards .callout__btn:hover,
.callout--rewards .callout__btn:focus-visible {
color: #ffffff;
background: var(--purple);
box-shadow: 0 0 24px rgba(157, 78, 221, 0.6);
}

/* Landing pages (page.php) */
.page-landing__hero {
padding: clamp(3rem, 8vw, 5rem) 0;
text-align: center;
border-bottom: 1px solid rgba(0, 243, 255, 0.25);
background:
radial-gradient(ellipse at 20% 20%, rgba(0, 243, 255, 0.15), transparent 55%),
radial-gradient(ellipse at 80% 80%, rgba(157, 78, 221, 0.22), transparent 55%),
var(--bg-900);
}

.page-landing__title {
margin: 0;
font-size: clamp(2rem, 6vw, 3.5rem);
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.03em;
}

.page-landing__content {
max-width: 860px;
margin: 2.5rem auto;
padding: 2rem;
color: var(--text);
}

.page-landing__content h2,
.page-landing__content h3 {
color: var(--cyan);
}

.page-landing__content:hover {
transform: none;
}

/* ==========================================================================
   FAQ accordion (core/details blocks)
   ========================================================================== */
.page-landing__content h2.faq-category {
margin: 2.5rem 0 1rem;
padding-bottom: 0.5rem;
font-size: 1.4rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--cyan);
border-bottom: 1px solid rgba(0, 243, 255, 0.3);
}

.page-landing__content h2.faq-category:first-child {
margin-top: 0;
}

.wp-block-details.faq-item {
margin: 0 0 0.75rem;
background: #15171e;
border: 1px solid rgba(255, 255, 255, 0.1);
border-left: 3px solid var(--purple);
border-radius: 6px;
transition: border-color var(--transition), box-shadow var(--transition);
}

.wp-block-details.faq-item[open],
.wp-block-details.faq-item:hover {
border-color: rgba(0, 243, 255, 0.4);
border-left-color: var(--cyan);
}

.wp-block-details.faq-item[open] {
box-shadow: 0 0 20px rgba(0, 243, 255, 0.12);
}

.wp-block-details.faq-item summary {
position: relative;
display: block;
padding: 1rem 3rem 1rem 1.25rem;
font-weight: 600;
color: var(--text);
cursor: pointer;
list-style: none;
}

.wp-block-details.faq-item summary::-webkit-details-marker {
display: none;
}

.wp-block-details.faq-item summary::after {
content: "+";
position: absolute;
top: 50%;
right: 1.25rem;
transform: translateY(-50%);
font-size: 1.5rem;
font-weight: 400;
color: var(--cyan);
}

.wp-block-details.faq-item[open] summary::after {
content: "\2212";
}

.wp-block-details.faq-item[open] summary {
color: var(--cyan);
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.wp-block-details.faq-item > :not(summary) {
margin-left: 1.25rem;
margin-right: 1.25rem;
color: var(--text-muted);
}

.wp-block-details.faq-item > summary + * {
margin-top: 1rem;
}

.wp-block-details.faq-item > :last-child {
margin-bottom: 1.25rem;
}

.wp-block-details.faq-item ul,
.wp-block-details.faq-item ol {
padding-left: 1.25rem;
}

.wp-block-details.faq-item li {
margin-bottom: 0.5rem;
}

.wp-block-details.faq-item strong {
color: var(--text);
}

.wp-block-details.faq-item a {
text-decoration: underline;
}

/* ==========================================================================
   Header text link (FAQ) beside the account and cart icons
   ========================================================================== */
.header-link {
display: inline-flex;
align-items: center;
padding: 0.5rem 0.25rem;
font-weight: 600;
font-size: 0.9rem;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--text-muted);
border-bottom: 2px solid transparent;
transition: color var(--transition), border-color var(--transition);
}

.header-link:hover,
.header-link:focus-visible,
.header-link.is-current {
color: var(--cyan);
border-bottom-color: var(--purple);
}

@media (max-width: 480px) {
.header-utils {
gap: 0.5rem;
}

.header-link {
font-size: 0.8rem;
letter-spacing: 0.04em;
}
}

/* ==========================================================================
   WooCommerce My Account: layout, nav tabs, forms, tables (dark cyber)
   ========================================================================== */
.woocommerce-account .page-landing__content {
max-width: 1200px;
padding: 2rem;
}

.woocommerce-account .woocommerce {
display: grid;
grid-template-columns: 260px minmax(0, 1fr);
gap: 2rem;
align-items: start;
}

/* Logged-out: login + register side by side, full width */
.woocommerce-account:not(.logged-in) .woocommerce {
display: block;
}

.woocommerce-account .woocommerce-notices-wrapper {
grid-column: 1 / -1;
}

/* Dashboard navigation */
.woocommerce-MyAccount-navigation ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 0.5rem;
}

.woocommerce-MyAccount-navigation a {
display: block;
padding: 0.8rem 1rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.06em;
font-size: 0.85rem;
color: var(--text-muted);
background: var(--bg-900);
border: 1px solid rgba(255, 255, 255, 0.1);
border-left: 3px solid var(--purple);
border-radius: 6px;
transition: color var(--transition), border-color var(--transition), background var(--transition);
}

.woocommerce-MyAccount-navigation a:hover,
.woocommerce-MyAccount-navigation a:focus-visible {
color: var(--cyan);
border-color: rgba(0, 243, 255, 0.4);
border-left-color: var(--cyan);
}

.woocommerce-MyAccount-navigation .is-active a {
color: var(--bg-900);
background: var(--cyan);
border-color: var(--cyan);
}

.woocommerce-MyAccount-content {
min-width: 0;
color: var(--text);
}

.woocommerce-MyAccount-content a:not(.button) {
text-decoration: underline;
}

/* Login / register columns */
.woocommerce-account .u-columns,
.woocommerce-account #customer_login {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2rem;
}

.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
width: 100%;
float: none;
}

.woocommerce-account h2,
.woocommerce-account h3 {
color: var(--cyan);
text-transform: uppercase;
letter-spacing: 0.05em;
}

.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-EditAccountForm,
.woocommerce-address-fields,
.woocommerce-ResetPassword,
.lost_reset_password {
padding: 1.5rem;
margin: 0;
background: #15171e;
border: 1px solid rgba(255, 255, 255, 0.1);
border-top: 2px solid var(--purple);
border-radius: 6px;
}

/* Form fields (account, login, register, checkout-style forms) */
.woocommerce form .form-row {
margin: 0 0 1rem;
padding: 0;
}

.woocommerce form .form-row label {
display: block;
margin-bottom: 0.4rem;
font-size: 0.85rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--text);
}

.woocommerce form .form-row .required {
color: var(--cyan);
text-decoration: none;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account input[type="tel"] {
width: 100%;
padding: 0.8rem 1rem;
font: inherit;
color: var(--text);
background: var(--bg-900);
border: 1px solid rgba(255, 255, 255, 0.18);
border-radius: 6px;
box-sizing: border-box;
transition: border-color var(--transition), box-shadow var(--transition);
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce-account input:focus {
border-color: var(--cyan);
box-shadow: 0 0 0 2px rgba(0, 243, 255, 0.2);
outline: none;
}

.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
width: 100%;
float: none;
}

.woocommerce-form__label-for-checkbox {
display: flex !important;
align-items: center;
gap: 0.5rem;
text-transform: none !important;
letter-spacing: 0 !important;
}

.woocommerce-account input[type="checkbox"] {
accent-color: var(--cyan);
}

.woocommerce-LostPassword,
.woocommerce-privacy-policy-text {
font-size: 0.9rem;
}

/* Buttons on account pages */
.woocommerce-account .woocommerce-Button,
.woocommerce-account button.button,
.woocommerce-account a.button {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0.8rem 1.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--bg-900);
background: var(--cyan);
border: 1px solid var(--cyan);
border-radius: 6px;
cursor: pointer;
}

.woocommerce-account .woocommerce-Button:hover,
.woocommerce-account button.button:hover,
.woocommerce-account a.button:hover {
color: #ffffff;
background: var(--purple);
border-color: var(--purple);
box-shadow: var(--shadow-purple);
}

/* Orders / downloads tables */
.woocommerce-account table.shop_table,
.woocommerce-account table.woocommerce-orders-table,
.woocommerce-account table.account-orders-table {
width: 100%;
border-collapse: collapse;
background: #15171e;
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 6px;
overflow: hidden;
}

.woocommerce-account table.shop_table th {
padding: 0.8rem 1rem;
text-align: left;
font-size: 0.8rem;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--cyan);
border-bottom: 1px solid rgba(0, 243, 255, 0.3);
}

.woocommerce-account table.shop_table td {
padding: 0.8rem 1rem;
color: var(--text);
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.woocommerce-account .woocommerce-Addresses {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 1.5rem;
}

.woocommerce-account .woocommerce-Address {
padding: 1.5rem;
background: #15171e;
border: 1px solid rgba(255, 255, 255, 0.1);
border-left: 3px solid var(--purple);
border-radius: 6px;
}

.woocommerce-account .woocommerce-Address-title {
display: flex;
justify-content: space-between;
align-items: baseline;
gap: 1rem;
}

.woocommerce-account address {
font-style: normal;
line-height: 1.7;
}

.woocommerce-account fieldset {
margin: 1.5rem 0;
padding: 1rem 1.25rem;
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 6px;
}

.woocommerce-account legend {
padding: 0 0.5rem;
color: var(--cyan);
font-weight: 600;
}

/* Notices: error + info variants (message is styled earlier) */
.woocommerce-error {
border-left-color: #ff6b81;
}

.woocommerce-info {
border-left-color: var(--purple);
}

.woocommerce-message a.button,
.woocommerce-info a.button {
margin-left: 1rem;
}

/* Mobile: stack nav above content; nav becomes a horizontal scroller */
@media (max-width: 860px) {
.woocommerce-account .woocommerce {
grid-template-columns: 1fr;
gap: 1.5rem;
}

.woocommerce-account .u-columns,
.woocommerce-account #customer_login,
.woocommerce-account .woocommerce-Addresses {
grid-template-columns: 1fr;
}

.woocommerce-MyAccount-navigation ul {
flex-direction: row;
overflow-x: auto;
padding-bottom: 0.5rem;
-webkit-overflow-scrolling: touch;
}

.woocommerce-MyAccount-navigation li {
flex: 0 0 auto;
}

.woocommerce-MyAccount-navigation a {
white-space: nowrap;
}

.woocommerce-account .page-landing__content {
padding: 1.25rem;
}

.woocommerce-account table.shop_table {
display: block;
overflow-x: auto;
}
}

/* ==========================================================================
   Mobile layout (max-width: 768px). Desktop is unaffected.
   Hamburger + drawer are hidden by default so desktop never shows them.
   ========================================================================== */
.nav-toggle,
.mobile-drawer,
.drawer-overlay {
display: none;
}

@media (max-width: 768px) {

/* ---- Announcement ticker ---- */
.ticker {
font-size: 0.68rem;
letter-spacing: 0.04em;
}

.ticker__item {
padding: 0.4rem 0;
}

.ticker__item::after {
margin: 0 1rem;
}

.ticker__track {
animation-duration: 22s;
}

/* ---- Compact header: hamburger | logo | account + cart ---- */
.site-header__inner {
display: grid;
grid-template-columns: 1fr auto 1fr;
align-items: center;
gap: 0.5rem;
min-height: 56px;
padding-left: 0.75rem;
padding-right: 0.75rem;
}

.nav-toggle {
display: inline-flex;
flex-direction: column;
justify-content: center;
gap: 5px;
width: 40px;
height: 40px;
padding: 0 9px;
justify-self: start;
background: var(--glass-bg);
border: 1px solid var(--glass-border);
border-radius: 6px;
cursor: pointer;
}

.nav-toggle__bar {
display: block;
height: 2px;
background: var(--cyan);
border-radius: 1px;
}

.nav-toggle:hover,
.nav-toggle:focus-visible {
border-color: var(--cyan);
box-shadow: var(--shadow-cyan);
}

.site-branding {
justify-self: center;
}

.site-logo {
white-space: nowrap !important;
font-size: 0.95rem !important;
letter-spacing: 1px !important;
gap: 4px !important;
}

.header-utils {
justify-self: end;
gap: 0.4rem;
}

/* Text links move into the drawer */
.header-link,
.header-cart__total {
display: none;
}

.header-icon {
gap: 0.3rem;
padding: 0.4rem 0.5rem;
}

.header-icon svg {
width: 18px;
height: 18px;
}

/* ---- Slide-out drawer ---- */
.drawer-overlay {
position: fixed;
inset: 0;
z-index: 200;
background: rgba(0, 0, 0, 0.65);
}

.drawer-overlay:not([hidden]) {
display: block;
}

.mobile-drawer {
display: block;
position: fixed;
top: 0;
bottom: 0;
left: 0;
z-index: 210;
width: min(82vw, 320px);
overflow-y: auto;
padding: 1rem 1.25rem 2rem;
background: var(--bg-800);
border-right: 1px solid rgba(0, 243, 255, 0.3);
box-shadow: 8px 0 32px rgba(0, 0, 0, 0.6);
transform: translateX(-105%);
transition: transform 0.28s ease;
visibility: hidden;
}

.mobile-drawer.is-open {
transform: translateX(0);
visibility: visible;
}

.drawer-open {
overflow: hidden;
}

.mobile-drawer__head {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 1rem;
padding-bottom: 0.75rem;
border-bottom: 1px solid var(--glass-border);
}

.mobile-drawer__title {
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.1em;
color: var(--cyan);
}

.mobile-drawer__close {
width: 36px;
height: 36px;
font-size: 1.6rem;
line-height: 1;
color: var(--text);
background: transparent;
border: 1px solid var(--glass-border);
border-radius: 6px;
cursor: pointer;
}

.mobile-drawer__list {
list-style: none;
margin: 0;
padding: 0;
}

.mobile-drawer__list a {
display: block;
padding: 0.9rem 0.25rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--text);
border-bottom: 1px solid var(--glass-border);
}

.mobile-drawer__list a:hover,
.mobile-drawer__list a:focus-visible {
color: var(--cyan);
}

/* ---- Headings ---- */
.archive-header {
margin-bottom: 1.25rem;
}

.archive-header__title {
font-size: 1.6rem;
}

.hero__title {
font-size: 2rem;
}

.section {
padding: 2.5rem 0;
}

.section__title {
font-size: 1.35rem;
margin-bottom: 1.25rem;
}

.woocommerce-account .page-landing__content,
.single-product .site-main-container {
padding-left: 1rem;
padding-right: 1rem;
}

/* ---- Shop / category product cards: two even columns ---- */
.archive-toolbar {
flex-direction: column;
align-items: stretch;
gap: 0.5rem;
}

.woocommerce ul.products,
ul.products {
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
gap: 12px !important;
}

.woocommerce ul.products li.product,
ul.products li.product {
padding: 12px !important;
border-radius: 10px !important;
border: 1px solid rgba(0, 243, 255, 0.22) !important;
box-shadow: 0 0 14px rgba(0, 243, 255, 0.08);
}

.woocommerce ul.products li.product img,
.woocommerce ul.products li.product .product-card__image img {
height: 150px !important;
border-radius: 8px !important;
margin-bottom: 8px !important;
}

.woocommerce ul.products li.product .product-card__body {
gap: 6px;
}

.woocommerce ul.products li.product .product-card__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
font-size: 0.92rem !important;
line-height: 1.3 !important;
margin: 0 !important;
overflow-wrap: anywhere;
}

.woocommerce ul.products li.product .product-card__price,
.woocommerce ul.products li.product .price {
font-size: 1rem !important;
margin-bottom: 8px !important;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button {
padding: 0.6rem 0.5rem !important;
font-size: 0.78rem !important;
letter-spacing: 0.04em;
}

.badge {
top: 0.5rem;
left: 0.5rem;
}

/* Homepage featured grid matches */
.product-grid {
gap: 12px;
}

.product-grid .product-card__title {
min-height: 0;
font-size: 0.92rem;
}
}

/* Very small phones: logo and ticker shrink a little further */
@media (max-width: 360px) {
.site-logo {
font-size: 0.82rem !important;
letter-spacing: 0.5px !important;
}

.ticker {
font-size: 0.62rem;
}
}

/* ==========================================================================
   Mobile off-canvas drawer (final styling; overrides earlier drawer rules)
   Lists are reset globally so bullets can never show on any browser.
   ========================================================================== */
.mobile-drawer ul,
.mobile-drawer li,
.mobile-drawer__list,
.mobile-drawer__sub {
list-style: none;
list-style-type: none;
margin: 0;
padding: 0;
}

.mobile-drawer li::marker,
.mobile-drawer summary::marker {
content: "";
}

@media (max-width: 768px) {
.mobile-drawer {
background: #0a0a0c;
border-right: 1px solid rgba(0, 243, 255, 0.35);
padding: 0 0 2rem;
}

.mobile-drawer__head {
position: sticky;
top: 0;
z-index: 1;
margin: 0;
padding: 1rem 1.25rem;
background: #0a0a0c;
border-bottom: 1px solid #222;
}

.mobile-drawer__title {
font-size: 0.9rem;
}

.mobile-drawer__close {
display: inline-flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
padding: 0;
font-size: 1.9rem;
color: #ffffff;
background: transparent;
border: 1px solid #333;
border-radius: 6px;
}

.mobile-drawer__close:hover,
.mobile-drawer__close:focus-visible {
color: var(--cyan);
border-color: var(--cyan);
box-shadow: var(--shadow-cyan);
}

.mobile-drawer__list > li {
border-bottom: 1px solid #222;
}

.mobile-drawer__list a,
.mobile-drawer__group summary {
display: block;
padding: 1rem 1.25rem;
font-size: 1rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #ffffff;
border-bottom: 0;
background: transparent;
transition: color var(--transition), background var(--transition);
}

.mobile-drawer__list a:hover,
.mobile-drawer__list a:focus-visible,
.mobile-drawer__list a:active,
.mobile-drawer__group summary:hover,
.mobile-drawer__group[open] > details > summary {
color: var(--cyan);
background: rgba(0, 243, 255, 0.06);
}

.mobile-drawer__group summary {
position: relative;
cursor: pointer;
list-style: none;
}

.mobile-drawer__group summary::-webkit-details-marker {
display: none;
}

.mobile-drawer__group summary::after {
content: "+";
position: absolute;
top: 50%;
right: 1.25rem;
transform: translateY(-50%);
font-weight: 400;
font-size: 1.4rem;
color: var(--cyan);
}

.mobile-drawer__group details[open] > summary::after {
content: "\2212";
}

.mobile-drawer__sub {
background: #0f1014;
border-top: 1px solid #222;
}

.mobile-drawer__sub li {
border-bottom: 1px solid #1a1a1f;
}

.mobile-drawer__sub li:last-child {
border-bottom: 0;
}

.mobile-drawer__sub a {
padding: 0.85rem 1.25rem 0.85rem 2.25rem;
font-size: 0.9rem;
font-weight: 600;
letter-spacing: 0.05em;
color: var(--text-muted);
border-left: 3px solid var(--purple);
}

.mobile-drawer__sub a:hover,
.mobile-drawer__sub a:focus-visible {
border-left-color: var(--cyan);
}
}

/* Desktop: the drawer, overlay and toggle never render */
@media (min-width: 769px) {
.nav-toggle,
.mobile-drawer,
.drawer-overlay {
display: none !important;
}
}

/* ==========================================================================
   Mobile drawer: WordPress menu output (wp_nav_menu) sub-menus
   ========================================================================== */
.mobile-drawer .sub-menu {
list-style: none;
list-style-type: none;
margin: 0;
padding: 0;
}

.mobile-drawer li {
list-style: none;
list-style-type: none;
margin: 0;
padding: 0;
}

@media (max-width: 768px) {
.mobile-drawer__list > li {
border-bottom: 1px solid #222;
}

.mobile-drawer__list > li > a {
display: block;
padding: 1rem 1.25rem;
font-size: 1rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #ffffff;
}

.mobile-drawer__list > li > a:hover,
.mobile-drawer__list > li > a:focus-visible,
.mobile-drawer__list .current-menu-item > a,
.mobile-drawer__list .current-menu-ancestor > a {
color: var(--cyan);
background: rgba(0, 243, 255, 0.06);
}

.mobile-drawer .sub-menu {
background: #0f1014;
border-top: 1px solid #222;
}

.mobile-drawer .sub-menu li {
border-bottom: 1px solid #1a1a1f;
}

.mobile-drawer .sub-menu li:last-child {
border-bottom: 0;
}

.mobile-drawer .sub-menu a {
display: block;
padding: 0.85rem 1.25rem 0.85rem 2.25rem;
font-size: 0.9rem;
font-weight: 600;
letter-spacing: 0.05em;
text-transform: uppercase;
color: var(--text-muted);
border-left: 3px solid var(--purple);
}

.mobile-drawer .sub-menu a:hover,
.mobile-drawer .sub-menu a:focus-visible,
.mobile-drawer .sub-menu .current-menu-item > a {
color: var(--cyan);
border-left-color: var(--cyan);
}
}

/* ==========================================================================
   Browse Only mode: "Login or Register to Order" prompt for guests
   ========================================================================== */
.cst-login-cta,
.woocommerce ul.products li.product a.button.cst-login-cta,
.product-card__actions a.button.cst-login-cta,
.single-product__summary a.button.cst-login-cta {
display: flex !important;
align-items: center;
justify-content: center;
text-align: center;
width: 100% !important;
margin: 0 !important;
padding: 0.8rem 1rem !important;
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
line-height: 1.3;
color: #0d0e12 !important;
background: var(--cyan) !important;
border: 1px solid var(--cyan) !important;
border-radius: 6px !important;
box-sizing: border-box;
text-decoration: none;
box-shadow: 0 0 16px rgba(0, 243, 255, 0.25);
transition: background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.cst-login-cta:hover,
.cst-login-cta:focus-visible,
.woocommerce ul.products li.product a.button.cst-login-cta:hover,
.product-card__actions a.button.cst-login-cta:hover,
.single-product__summary a.button.cst-login-cta:hover {
color: #ffffff !important;
background: var(--purple) !important;
border-color: var(--purple) !important;
box-shadow: 0 0 22px rgba(157, 78, 221, 0.55);
transform: none;
}

.cst-login-cta--large {
padding: 1.1rem 1.5rem !important;
font-size: 1.05rem;
}

.cst-guest-cta {
margin-top: 1rem;
}

.cst-login-notice {
margin-bottom: 1.5rem;
}

@media (max-width: 768px) {
.woocommerce ul.products li.product a.button.cst-login-cta,
.product-card__actions a.button.cst-login-cta {
padding: 0.6rem 0.4rem !important;
font-size: 0.7rem !important;
letter-spacing: 0.02em;
}
}

/* ==========================================================================
   WooCommerce Cart: dark cyber styling + mobile card layout
   ========================================================================== */
.woocommerce-cart .page-landing__content {
max-width: 1100px;
}

.woocommerce-cart table.shop_table {
width: 100%;
border-collapse: collapse;
background: #0f172a;
border: 1px solid #1a2332;
border-radius: 8px;
overflow: hidden;
}

.woocommerce-cart table.shop_table th {
padding: 0.8rem 1rem;
text-align: left;
font-size: 0.8rem;
text-transform: uppercase;
letter-spacing: 0.06em;
color: #00f0ff;
border-bottom: 1px solid rgba(0, 240, 255, 0.3);
}

.woocommerce-cart table.shop_table td {
padding: 1rem;
color: #ffffff;
border-bottom: 1px solid #1a2332;
vertical-align: middle;
}

.woocommerce-cart td.product-name a {
color: #00f0ff;
font-weight: 600;
line-height: 1.5;
}

.woocommerce-cart td.product-thumbnail img {
width: 72px;
height: 72px;
object-fit: cover;
border-radius: 6px;
}

.woocommerce-cart a.remove {
display: inline-flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
font-size: 1.3rem;
line-height: 1;
color: #ff4d6d;
border: 1px solid #ff4d6d;
border-radius: 50%;
text-decoration: none;
}

.woocommerce-cart a.remove:hover {
color: #0d0e12;
background: #ff4d6d;
}

.woocommerce-cart .quantity .qty {
height: 40px;
width: 80px;
padding: 0 0.5rem;
text-align: center;
font: inherit;
color: #ffffff;
background: #0d0e12;
border: 1px solid #334155;
border-radius: 6px;
}

.woocommerce-cart .quantity .qty:focus {
border-color: #00f0ff;
outline: none;
box-shadow: 0 0 0 2px rgba(0, 240, 255, 0.2);
}

.woocommerce-cart td.actions .coupon {
display: flex;
gap: 0.5rem;
float: left;
}

.woocommerce-cart #coupon_code {
height: 44px;
padding: 0 1rem;
font: inherit;
color: #ffffff;
background: #0d0e12;
border: 1px solid #334155;
border-radius: 8px;
}

.woocommerce-cart td.actions .coupon .button,
.woocommerce-cart td.actions > .button {
height: 44px;
padding: 0 1.25rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
color: #00f0ff;
background: transparent;
border: 1px solid #00f0ff;
border-radius: 8px;
cursor: pointer;
}

.woocommerce-cart td.actions .button:hover:not(:disabled) {
color: #0d0e12;
background: #00f0ff;
box-shadow: 0 0 18px rgba(0, 240, 255, 0.4);
}

.woocommerce-cart td.actions > .button {
float: right;
}

.woocommerce-cart td.actions > .button:disabled {
opacity: 0.4;
cursor: not-allowed;
}

/* Cart totals panel */
.woocommerce-cart .cart-collaterals {
margin-top: 2rem;
}

.woocommerce-cart .cart_totals {
max-width: 480px;
margin-left: auto;
padding: 1.25rem;
background: #0f172a;
border: 1px solid #00f0ff;
border-radius: 4px;
}

.woocommerce-cart .cart_totals h2 {
margin: 0 0 1rem;
font-size: 1.1rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #00f0ff;
}

.woocommerce-cart .cart_totals table.shop_table {
border: 0;
background: transparent;
}

.woocommerce-cart .wc-proceed-to-checkout {
margin-top: 1rem;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
padding: 1rem 1.5rem;
font-size: 1rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #0d0e12;
background: #00f0ff;
border-radius: 8px;
box-shadow: 0 0 24px rgba(0, 240, 255, 0.45);
text-decoration: none;
transition: background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
color: #ffffff;
background: #9d4edd;
box-shadow: 0 0 28px rgba(157, 78, 221, 0.6);
}

.woocommerce-cart .cart-empty {
text-align: center;
}

/* ---- Cart: mobile card layout (< 768px) ---- */
@media (max-width: 767px) {
.woocommerce-cart .page-landing__content {
padding: 1rem;
}

.woocommerce-cart table.shop_table,
.woocommerce-cart table.shop_table thead,
.woocommerce-cart table.shop_table tbody,
.woocommerce-cart table.shop_table tfoot,
.woocommerce-cart table.shop_table tr,
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td {
display: block;
width: 100%;
box-sizing: border-box;
}

.woocommerce-cart table.shop_table {
background: transparent;
border: 0;
overflow: visible;
}

.woocommerce-cart table.shop_table thead {
display: none;
}

/* Each product row becomes a card */
.woocommerce-cart table.cart tr.cart_item {
position: relative;
margin-bottom: 16px;
padding: 16px;
background: #0f172a;
border: 1px solid #1a2332;
border-radius: 8px;
}

.woocommerce-cart table.cart tr.cart_item td {
padding: 0.4rem 0;
border: 0;
text-align: right;
}

/* Remove (x) in the top corner */
.woocommerce-cart table.cart td.product-remove {
position: absolute;
top: 10px;
right: 10px;
width: auto;
padding: 0;
z-index: 2;
}

.woocommerce-cart table.cart td.product-thumbnail {
text-align: left;
}

.woocommerce-cart table.cart td.product-thumbnail img {
width: 96px;
height: 96px;
}

/* Title spans the full width, readable line-height */
.woocommerce-cart table.cart td.product-name {
text-align: left;
padding-right: 2.5rem;
line-height: 1.5;
overflow-wrap: anywhere;
}

.woocommerce-cart table.cart td.product-name a {
color: #00f0ff;
font-size: 1.05rem;
}

/* Price / Quantity / Subtotal rows with labels */
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-quantity,
.woocommerce-cart table.cart td.product-subtotal {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
border-top: 1px solid #1a2332;
padding: 0.6rem 0;
}

.woocommerce-cart table.cart td[data-title]::before {
content: attr(data-title) ":";
flex-shrink: 0;
font-weight: 600;
text-transform: uppercase;
font-size: 0.75rem;
letter-spacing: 0.06em;
color: #94a3b8;
}

.woocommerce-cart table.cart td.product-subtotal {
font-weight: 600;
}

.woocommerce-cart table.cart td.product-quantity .quantity {
margin: 0;
}

.woocommerce-cart table.cart td.product-quantity .qty {
height: 40px;
width: 90px;
border: 1px solid #334155;
}

/* Actions row: coupon + buttons stacked full width */
.woocommerce-cart table.cart tr:last-child {
padding: 0;
background: transparent;
border: 0;
}

.woocommerce-cart table.cart td.actions {
padding: 0;
border: 0;
text-align: left;
}

.woocommerce-cart td.actions .coupon {
display: flex;
flex-direction: column;
gap: 12px;
float: none;
width: 100%;
margin-bottom: 12px;
}

.woocommerce-cart #coupon_code {
width: 100%;
box-sizing: border-box;
}

.woocommerce-cart td.actions .coupon .button,
.woocommerce-cart td.actions > .button {
width: 100%;
float: none;
margin: 0 0 12px;
border-radius: 999px;
}

/* Cart totals: full-width panel, label/price rows */
.woocommerce-cart .cart_totals {
max-width: 100%;
padding: 1rem;
}

.woocommerce-cart .cart_totals table.shop_table tr {
display: flex;
justify-content: space-between;
align-items: baseline;
gap: 1rem;
padding: 0.7rem 0;
border-bottom: 1px solid #1a2332;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
display: block;
width: auto;
padding: 0;
border: 0;
text-align: right;
}

.woocommerce-cart .cart_totals table.shop_table th {
text-align: left;
}

.woocommerce-cart .cart_totals table.shop_table td::before {
content: none;
}

.woocommerce-cart .cart_totals .order-total td,
.woocommerce-cart .cart_totals .order-total th {
font-size: 1.1rem;
font-weight: 600;
color: #ffffff;
}
}

/* ==========================================================================
   My Account: mobile overflow fixes (< 768px). Placed last to win the cascade.
   ========================================================================== */
@media (max-width: 767px) {
.woocommerce-account .page-landing__content {
padding: 12px;
margin: 1.25rem auto;
box-sizing: border-box;
overflow: hidden;
}

.woocommerce-account .woocommerce {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: 16px;
width: 100%;
max-width: 100%;
}

.woocommerce-account .woocommerce > * {
min-width: 0;
max-width: 100%;
}

/* Tabs: vertical stack of full-width buttons (nothing can overflow) */
.woocommerce-account .woocommerce-MyAccount-navigation {
width: 100%;
float: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
display: flex;
flex-direction: column;
gap: 8px;
overflow: visible;
margin: 0;
padding: 0;
list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
flex: none;
width: 100%;
margin: 0;
list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
display: block;
width: 100%;
box-sizing: border-box;
padding: 0.85rem 1rem;
white-space: normal;
text-align: left;
background: #0f172a;
border: 1px solid #1a2332;
border-left: 3px solid var(--purple);
border-radius: 8px;
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible {
color: #0d0e12;
background: var(--cyan);
border-color: var(--cyan);
box-shadow: 0 0 14px rgba(0, 243, 255, 0.3);
}

/* Content area */
.woocommerce-account .woocommerce-MyAccount-content {
width: 100%;
float: none;
box-sizing: border-box;
padding: 16px;
overflow-wrap: anywhere;
background: #0f172a;
border: 1px solid #1a2332;
border-radius: 8px;
}

/* Forms: full-width, thumb-friendly */
.woocommerce-account .woocommerce-MyAccount-content form .form-row,
.woocommerce-account .woocommerce-MyAccount-content .form-row-first,
.woocommerce-account .woocommerce-MyAccount-content .form-row-last,
.woocommerce-account .woocommerce-MyAccount-content .form-row-wide {
width: 100%;
float: none;
padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-content input.input-text,
.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
.woocommerce-account .woocommerce-MyAccount-content input[type="tel"],
.woocommerce-account .woocommerce-MyAccount-content select,
.woocommerce-account .woocommerce-MyAccount-content textarea {
width: 100%;
min-height: 46px;
font-size: 16px; /* prevents iOS zoom on focus */
box-sizing: border-box;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button,
.woocommerce-account .woocommerce-MyAccount-content button.button,
.woocommerce-account .woocommerce-MyAccount-content a.button {
width: 100%;
min-height: 46px;
box-sizing: border-box;
}

.woocommerce-account .woocommerce-MyAccount-content fieldset {
min-width: 0;
padding: 12px;
}

/* Addresses: one column, address cards fit */
.woocommerce-account .woocommerce-Addresses,
.woocommerce-account .u-columns {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: 16px;
}

.woocommerce-account .woocommerce-Address {
padding: 14px;
}

.woocommerce-account .woocommerce-Address-title {
flex-wrap: wrap;
}

/* Orders / downloads tables: scroll inside their own box, never the page */
.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
display: block;
width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table th,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td {
padding: 0.7rem 0.75rem;
white-space: nowrap;
}

/* Login / register forms (logged-out) */
.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-EditAccountForm,
.woocommerce-address-fields {
padding: 16px;
box-sizing: border-box;
}
}

/* ==========================================================================
   Guest CTA on catalog / loop cards (compact). Single product keeps its own style.
   ========================================================================== */
.products .product,
ul.products li.product {
display: flex !important;
flex-direction: column;
justify-content: space-between;
}

.products .product .product-card__body {
flex: 1;
display: flex;
flex-direction: column;
}

.products .product .product-card__actions {
margin-top: auto;
}

.woocommerce ul.products li.product a.button.cst-login-cta--loop,
.product-card__actions a.button.cst-login-cta--loop {
display: flex !important;
align-items: center;
justify-content: center;
gap: 6px;
width: 100% !important;
margin: auto 0 0 !important;
padding: 8px 10px !important;
font-size: 13px !important;
font-weight: 600;
line-height: 1.2 !important;
letter-spacing: 0.03em;
text-align: center;
text-transform: uppercase;
box-sizing: border-box;
}

.cst-login-cta--loop .cst-login-cta__icon {
flex: 0 0 12px;
width: 12px;
height: 12px;
}

.cst-login-cta--loop span {
min-width: 0;
}

@media (max-width: 768px) {
.woocommerce ul.products li.product a.button.cst-login-cta--loop,
.product-card__actions a.button.cst-login-cta--loop {
font-size: 12px !important;
padding: 8px 6px !important;
letter-spacing: 0.01em;
}
}

/* ==========================================================================
   Age gate modal
   ========================================================================== */
.age-gate {
display: none;
}

/* Shown only while the head script has flagged the page as unverified */
.age-gate-active .age-gate {
display: flex;
}

.age-gate {
position: fixed;
inset: 0;
z-index: 99999;
align-items: center;
justify-content: center;
padding: 16px;
overflow-y: auto;
background: rgba(5, 6, 10, 0.96);
opacity: 1;
transition: opacity 0.4s ease, visibility 0.4s ease;
}

.age-gate[hidden] {
display: none !important;
}

.age-gate.is-hidden {
opacity: 0;
visibility: hidden;
pointer-events: none;
}

.age-gate-active {
overflow: hidden;
}

.age-gate__card {
box-sizing: border-box;
width: 100%;
max-width: 480px;
margin: auto;
padding: 32px 24px;
text-align: center;
background: #0b0f19;
border: 1px solid #00f0ff;
border-radius: 12px;
box-shadow: 0 0 25px rgba(0, 240, 255, 0.15);
}

.age-gate__brand {
justify-content: center;
flex-wrap: wrap;
margin-bottom: 1.5rem;
font-size: 1.4rem !important;
}

.age-gate__title {
margin: 0 0 0.5rem;
font-size: clamp(1.25rem, 5vw, 1.6rem);
line-height: 1.3;
color: #ffffff;
}

.age-gate__text {
margin: 0 0 1.5rem;
color: #94a3b8;
}

.age-gate__actions {
display: flex;
flex-direction: column;
gap: 12px;
}

.age-gate__btn {
width: 100%;
min-height: 48px;
padding: 0.85rem 1rem;
font: inherit;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
cursor: pointer;
border-radius: 4px;
transition: background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.age-gate__btn--yes {
color: #0b0f19;
background: #00f0ff;
border: 1px solid #00f0ff;
box-shadow: 0 0 20px rgba(0, 240, 255, 0.45);
}

.age-gate__btn--yes:hover,
.age-gate__btn--yes:focus-visible {
background: #5ffaff;
box-shadow: 0 0 28px rgba(0, 240, 255, 0.65);
}

.age-gate__btn--no {
color: #cbd5e1;
background: transparent;
border: 1px solid #9d4edd;
}

.age-gate__btn--no:hover,
.age-gate__btn--no:focus-visible {
color: #ffffff;
background: rgba(157, 78, 221, 0.2);
}

@media (min-width: 520px) {
.age-gate__card {
padding: 40px 36px;
}
}

@media (prefers-reduced-motion: reduce) {
.age-gate {
transition: none;
}
}

/* ==========================================================================
   Gallery fix: frame the FlexSlider viewport, not the individual slides,
   so thumbnail clicks swap the main image cleanly.
   ========================================================================== */
.single-product div.product div.images .flex-viewport {
width: 100%;
aspect-ratio: 1 / 1;
max-height: 460px;
overflow: hidden;
background: #111319;
border-radius: 8px;
}

.single-product div.product div.images .flex-viewport .woocommerce-product-gallery__image {
aspect-ratio: auto;
max-height: none;
overflow: visible;
height: 100%;
background: transparent;
border-radius: 0;
}

.single-product div.product div.images .flex-viewport .woocommerce-product-gallery__image a {
display: block;
height: 100%;
}

/* Thumbnails must stay clickable above the viewport */
.single-product div.product div.images .flex-control-thumbs {
position: relative;
z-index: 3;
}

.single-product div.product div.images .flex-control-thumbs li,
.single-product div.product div.images .flex-control-thumbs li img {
cursor: pointer;
pointer-events: auto;
}

/* ==========================================================================
   Gallery layout fix: thumbnails sit in normal flow BELOW the main image.
   Placed last so it overrides earlier gallery/thumbnail rules.
   ========================================================================== */
.single-product div.product div.images .woocommerce-product-gallery,
.woocommerce-product-gallery {
position: relative;
display: flex;
flex-direction: column;
width: 100%;
}

.single-product div.product div.images .woocommerce-product-gallery .flex-viewport,
.single-product div.product div.images .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
order: 1;
position: relative;
}

/* Thumbnail row: static, wrapped flex row under the image */
.single-product div.product div.images .woocommerce-product-gallery .flex-control-thumbs,
.single-product div.product div.images .woocommerce-product-gallery .flex-control-nav,
.single-product div.product div.images .woocommerce-product-gallery__thumbs,
.woocommerce-product-gallery .flex-control-thumbs {
order: 2;
position: static !important;
top: auto !important;
left: auto !important;
right: auto !important;
bottom: auto !important;
transform: none !important;
display: flex !important;
flex-wrap: wrap;
gap: 10px;
margin-top: 12px !important;
margin-bottom: 0 !important;
padding: 0 !important;
list-style: none !important;
z-index: auto;
}

.single-product div.product div.images .woocommerce-product-gallery .flex-control-thumbs li,
.woocommerce-product-gallery .flex-control-thumbs li,
.woocommerce-product-gallery__thumbs a {
position: static !important;
display: block;
flex: 0 0 70px;
width: 70px !important;
height: 70px;
margin: 0 !important;
padding: 0 !important;
float: none !important;
border-radius: 6px;
border: 1px solid #1a2332;
overflow: hidden;
cursor: pointer;
box-sizing: border-box;
}

.single-product div.product div.images .woocommerce-product-gallery .flex-control-thumbs li img,
.woocommerce-product-gallery .flex-control-thumbs li img {
display: block;
width: 100% !important;
height: 100% !important;
max-height: none !important;
object-fit: cover !important;
border: 2px solid transparent !important;
border-radius: 6px !important;
box-sizing: border-box;
opacity: 0.65;
margin: 0 !important;
transition: opacity 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.single-product div.product div.images .woocommerce-product-gallery .flex-control-thumbs li img:hover,
.woocommerce-product-gallery .flex-control-thumbs li img:hover {
opacity: 1;
}

.single-product div.product div.images .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
.woocommerce-product-gallery__thumbs a.active {
opacity: 1;
border: 2px solid #00f0ff !important;
box-shadow: 0 0 10px rgba(0, 240, 255, 0.3);
}

/* Zoom/fullscreen trigger stays over the main image corner only */
.single-product div.product div.images .woocommerce-product-gallery__trigger {
top: 12px;
right: 12px;
}

/* ==========================================================================
   New member promo banner (homepage)
   ========================================================================== */
.promo-banner-wrap {
padding-top: 1.25rem;
}

.promo-banner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 14px 20px;
background: linear-gradient(90deg, #0b0f19 0%, #151d30 100%);
border: 1px solid #00f0ff;
border-radius: 8px;
box-shadow: 0 0 15px rgba(0, 240, 255, 0.2);
box-sizing: border-box;
}

.promo-banner__text {
margin: 0;
font-weight: 600;
line-height: 1.6;
color: #ffffff;
}

.promo-banner__code {
display: inline-block;
margin-left: 4px;
padding: 2px 8px;
font-family: monospace;
font-weight: 600;
letter-spacing: 0.05em;
color: #00f0ff;
background: rgba(0, 240, 255, 0.1);
border: 1px dashed #00f0ff;
border-radius: 4px;
text-shadow: 0 0 8px rgba(0, 240, 255, 0.6);
}

.promo-banner__btn {
flex-shrink: 0;
padding: 0.6rem 1.4rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.06em;
color: #0b0f19;
background: #00f0ff;
border: 1px solid #00f0ff;
border-radius: 6px;
text-decoration: none;
box-shadow: 0 0 14px rgba(0, 240, 255, 0.4);
transition: background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.promo-banner__btn:hover,
.promo-banner__btn:focus-visible {
color: #ffffff;
background: #9d4edd;
border-color: #9d4edd;
box-shadow: 0 0 18px rgba(157, 78, 221, 0.55);
}

@media (max-width: 767px) {
.promo-banner {
flex-direction: column;
align-items: center;
text-align: center;
gap: 10px;
padding: 14px 16px;
}

.promo-banner__btn {
width: 100%;
box-sizing: border-box;
text-align: center;
}
}

/* ==========================================================================
   Radar address autocomplete dropdown (checkout): dark theme
   ========================================================================== */
.radar-autocomplete-wrapper,
.radar-autocomplete-container {
width: 100%;
}

.radar-autocomplete-results-list {
background: #0b0f19 !important;
border: 1px solid #00f0ff !important;
border-radius: 6px !important;
box-shadow: 0 0 18px rgba(0, 240, 255, 0.2) !important;
z-index: 9999 !important;
}

.radar-autocomplete-results-item {
color: #e2e8f0 !important;
background: transparent !important;
}

.radar-autocomplete-results-item:hover,
.radar-autocomplete-results-item.selected {
color: #ffffff !important;
background: rgba(0, 240, 255, 0.1) !important;
}

/* ==========================================================================
   Radar autocomplete: high-contrast dark dropdown (final; overrides earlier Radar rules)
   Class names confirmed from the Radar v4 SDK: radar-autocomplete-results-list,
   radar-autocomplete-results-item(-selected), radar-autocomplete-results-marker, ...
   ========================================================================== */

/* Dropdown container */
.radar-autocomplete-results,
.radar-autocomplete-results-list,
div[class*="radar-autocomplete"] {
background-color: #0b0f19 !important;
border: 1px solid #00f0ff !important;
border-radius: 8px !important;
box-shadow: 0 4px 20px rgba(0, 240, 255, 0.25) !important;
z-index: 999999 !important;
}

/* The wrapper around the input must not get the dropdown frame */
.radar-autocomplete-wrapper {
background: transparent !important;
border: 0 !important;
box-shadow: none !important;
z-index: auto !important;
}

/* All address text: white */
.radar-autocomplete-results li,
.radar-autocomplete-results div,
.radar-autocomplete-results span,
.radar-autocomplete-results-list *,
.radar-autocomplete-results-item,
.radar-autocomplete-results-item * {
color: #ffffff !important;
}

/* Street number + main line in electric cyan */
.radar-autocomplete-results .main-text,
.radar-autocomplete-results-item strong,
.radar-autocomplete-results-item b,
.radar-autocomplete-results-item > div > span:first-child,
.radar-autocomplete-results-item > span:first-child {
color: #00f0ff !important;
font-weight: 600 !important;
}

/* Hover / keyboard selection */
.radar-autocomplete-results li:hover,
.radar-autocomplete-results li.active,
.radar-autocomplete-results-item:hover,
.radar-autocomplete-results-item-selected {
background-color: #151d30 !important;
color: #ffffff !important;
cursor: pointer;
}

/* Typing field keeps the checkout input look */
.radar-autocomplete-input {
color: #ffffff !important;
background-color: #0d0e12 !important;
}

/* ==========================================================================
   Checkout: condensed, 2-column desktop layout with sticky order summary
   ========================================================================== */
.woocommerce-checkout .page-landing__content {
max-width: 1240px;
padding: 1.5rem;
}

/* ---- Field condensing (all screen sizes) ---- */
.woocommerce-checkout form.checkout .form-row {
margin: 0 0 12px !important;
padding: 0 !important;
}

.woocommerce-checkout form.checkout .form-row label {
margin-bottom: 4px;
font-size: 12px;
}

.woocommerce-checkout form.checkout .form-row input.input-text,
.woocommerce-checkout form.checkout .form-row textarea,
.woocommerce-checkout form.checkout .form-row select {
padding: 10px 12px !important;
font-size: 14px !important;
line-height: 1.3;
min-height: 0;
}

.woocommerce-checkout form.checkout textarea {
height: 80px;
min-height: 80px;
}

.woocommerce-checkout form.checkout h3 {
margin: 0 0 12px;
font-size: 1.05rem;
text-transform: uppercase;
letter-spacing: 0.06em;
color: #00f0ff;
}

/* Billing / shipping fields: two-up grid, wide rows span both columns */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
column-gap: 12px;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row {
width: 100% !important;
float: none !important;
grid-column: span 1;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-wide,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .notes,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_country_field,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_address_1_field,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_address_2_field {
grid-column: 1 / -1;
}

/* Order notes textarea row spans the full width */
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper .form-row {
width: 100% !important;
float: none !important;
}

/* Dark select2 dropdowns (country / state) to match the inputs */
.woocommerce-checkout .select2-container--default .select2-selection--single {
height: auto;
padding: 6px 8px;
background: #0d0e12;
border: 1px solid rgba(255, 255, 255, 0.18);
border-radius: 6px;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
color: #ffffff;
font-size: 14px;
line-height: 1.4;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
top: 6px;
}

.select2-dropdown {
background: #0b0f19;
border: 1px solid #00f0ff;
color: #ffffff;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
background: #151d30;
color: #ffffff;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
color: #ffffff;
background: #0d0e12;
border: 1px solid #334155;
}

/* ---- Order summary panel ---- */
.woocommerce-checkout #order_review {
background: #0d131f;
border: 1px solid #1a2332;
border-radius: 10px;
padding: 20px;
box-shadow: 0 0 15px rgba(0, 240, 255, 0.1);
box-sizing: border-box;
}

.woocommerce-checkout #order_review table.shop_table {
width: 100%;
margin: 0 0 16px;
background: transparent;
border: 0;
}

.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
padding: 8px 0;
font-size: 14px;
border-bottom: 1px solid #1a2332;
}

.woocommerce-checkout #order_review .order-total th,
.woocommerce-checkout #order_review .order-total td {
font-size: 1.05rem;
font-weight: 600;
color: #ffffff;
}

.woocommerce-checkout #payment {
background: transparent;
}

.woocommerce-checkout #payment ul.payment_methods {
list-style: none;
margin: 0 0 12px;
padding: 0;
}

.woocommerce-checkout #payment .payment_box {
margin: 8px 0;
padding: 10px 12px;
font-size: 13px;
background: #0b0f19;
border: 1px solid #1a2332;
border-radius: 6px;
}

.woocommerce-checkout #place_order {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
padding: 0.95rem 1.25rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #0d0e12;
background: #00f0ff;
border: 1px solid #00f0ff;
border-radius: 8px;
box-shadow: 0 0 20px rgba(0, 240, 255, 0.4);
cursor: pointer;
}

.woocommerce-checkout #place_order:hover {
color: #ffffff;
background: #9d4edd;
border-color: #9d4edd;
box-shadow: 0 0 22px rgba(157, 78, 221, 0.55);
}

/* ---- Desktop: 2-column grid, sticky summary ---- */
@media (min-width: 993px) {
form.checkout {
display: grid !important;
grid-template-columns: 1.1fr 0.9fr !important;
grid-template-rows: auto 1fr;
gap: 0 30px !important;
align-items: start !important;
}

/* Left column spans both rows so the summary has room to stay sticky */
#customer_details {
grid-column: 1 !important;
grid-row: 1 / -1;
width: 100% !important;
margin: 0 !important;
display: flex;
flex-direction: column;
}

/* Let billing / shipping / notes be ordered as one stack: billing, notes, shipping */
#customer_details .col-1,
#customer_details .col-2 {
display: contents;
width: 100% !important;
float: none !important;
}

#customer_details .woocommerce-billing-fields {
order: 1;
}

#customer_details .woocommerce-additional-fields {
order: 2;
margin-top: 4px;
}

#customer_details .woocommerce-shipping-fields {
order: 3;
}

#order_review_heading {
grid-column: 2 !important;
grid-row: 1;
width: 100% !important;
margin: 0 0 12px !important;
}

#order_review {
grid-column: 2 !important;
grid-row: 2;
width: 100% !important;
position: sticky !important;
top: 20px !important;
align-self: start;
background: #0d131f !important;
border: 1px solid #1a2332 !important;
border-radius: 10px !important;
padding: 20px !important;
box-shadow: 0 0 15px rgba(0, 240, 255, 0.1) !important;
}
}

/* ---- Mobile / tablet (< 993px): single column, tight cards ---- */
@media (max-width: 992px) {
.woocommerce-checkout .page-landing__content {
padding: 12px;
}

.woocommerce-checkout form.checkout {
display: block;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
width: 100%;
float: none;
}

.woocommerce-checkout #order_review_heading {
margin: 20px 0 12px;
}

.woocommerce-checkout #order_review {
position: static;
padding: 14px;
}

/* Fields go full width on small screens */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
grid-template-columns: minmax(0, 1fr);
}

.woocommerce-checkout form.checkout .form-row input.input-text,
.woocommerce-checkout form.checkout .form-row textarea,
.woocommerce-checkout form.checkout .form-row select {
width: 100%;
font-size: 16px !important; /* stops iOS zoom on focus */
box-sizing: border-box;
}
}

/* ==========================================================================
   Checkout: "Your order" review table polish (final; wins the cascade)
   ========================================================================== */
.woocommerce-checkout-review-order-table {
width: 100% !important;
border-collapse: collapse !important;
margin-bottom: 20px !important;
table-layout: auto;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
padding: 12px 10px !important;
border-bottom: 1px solid rgba(0, 240, 255, 0.1) !important;
font-size: 14px !important;
line-height: 1.45;
vertical-align: top;
background: transparent !important;
}

/* Header row */
.woocommerce-checkout-review-order-table thead th {
color: #00f0ff !important;
text-transform: uppercase;
letter-spacing: 0.5px;
font-size: 12px !important;
border-bottom: 1px solid rgba(0, 240, 255, 0.35) !important;
}

.woocommerce-checkout-review-order-table thead th.product-total {
text-align: right !important;
}

/* Item rows: bright white names, quantities, and right-aligned line totals */
.woocommerce-checkout-review-order-table td.product-name {
color: #ffffff !important;
width: 65%;
overflow-wrap: anywhere;
word-break: normal;
hyphens: auto;
}

.woocommerce-checkout-review-order-table td.product-name .product-quantity {
display: inline-block;
margin-left: 4px;
padding: 0 6px;
font-weight: 600;
color: #00f0ff !important;
background: rgba(0, 240, 255, 0.08);
border-radius: 4px;
white-space: nowrap;
}

.woocommerce-checkout-review-order-table td.product-name dl.variation,
.woocommerce-checkout-review-order-table td.product-name .wc-item-meta {
margin: 4px 0 0;
padding: 0;
font-size: 12px;
color: #cbd5e1 !important;
list-style: none;
}

.woocommerce-checkout-review-order-table td.product-total,
.woocommerce-checkout-review-order-table td.product-subtotal {
text-align: right !important;
white-space: nowrap;
color: #ffffff !important;
font-weight: 600;
}

.woocommerce-checkout-review-order-table .woocommerce-Price-amount,
.woocommerce-checkout-review-order-table td a {
color: #ffffff;
}

/* Footer rows: subtotal, coupon, shipping, tax */
.woocommerce-checkout-review-order-table tfoot th {
text-align: left;
font-weight: 600;
text-transform: none;
letter-spacing: 0;
color: #cbd5e1 !important;
width: 40%;
}

.woocommerce-checkout-review-order-table tfoot td {
text-align: right !important;
color: #ffffff !important;
font-weight: 600;
}

/* Discount / coupon row (for example bitesize20) */
.woocommerce-checkout-review-order-table tr.cart-discount th,
.woocommerce-checkout-review-order-table tr.cart-discount td {
color: #00f0ff !important;
background: rgba(0, 240, 255, 0.05) !important;
}

.woocommerce-checkout-review-order-table tr.cart-discount a.woocommerce-remove-coupon {
margin-left: 6px;
font-size: 12px;
font-weight: 600;
text-decoration: underline;
color: #ff4d6d !important;
}

/* Shipping rates */
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td {
text-align: right !important;
}

.woocommerce-checkout-review-order-table ul#shipping_method {
list-style: none;
margin: 0;
padding: 0;
}

.woocommerce-checkout-review-order-table ul#shipping_method li {
margin: 0 0 6px;
padding: 0;
line-height: 1.4;
}

.woocommerce-checkout-review-order-table ul#shipping_method li:last-child {
margin-bottom: 0;
}

.woocommerce-checkout-review-order-table ul#shipping_method input {
margin-right: 6px;
accent-color: #00f0ff;
}

.woocommerce-checkout-review-order-table ul#shipping_method label {
display: inline;
font-size: 14px;
font-weight: 600;
text-transform: none;
letter-spacing: 0;
color: #ffffff;
}

/* Order total: the bold, glowing line */
.woocommerce-checkout-review-order-table tr.order-total th,
.woocommerce-checkout-review-order-table tr.order-total td {
padding-top: 16px !important;
font-size: 17px !important;
font-weight: 600;
color: #ffffff !important;
border-top: 1px solid rgba(0, 240, 255, 0.4) !important;
border-bottom: 0 !important;
}

.woocommerce-checkout-review-order-table tr.order-total th {
color: #00f0ff !important;
text-transform: uppercase;
letter-spacing: 0.5px;
}

.woocommerce-checkout-review-order-table tr.order-total td .woocommerce-Price-amount {
text-shadow: 0 0 10px rgba(0, 240, 255, 0.35);
}

/* Phones: tighter cells so names and prices never collide */
@media (max-width: 600px) {
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
padding: 10px 6px !important;
font-size: 13px !important;
}

.woocommerce-checkout-review-order-table td.product-name {
width: 60%;
}
}

/* ==========================================================================
   Header mini-cart: hover dropdown (desktop)
   ========================================================================== */
.site-header-cart {
position: relative;
display: inline-flex;
}

/* Wrapper keeps a 10px invisible bridge so the pointer can travel into the box */
.site-header-cart__dropdown {
position: absolute;
top: 100%;
right: 0;
z-index: 99999;
padding-top: 10px;
visibility: hidden;
opacity: 0;
transform: translateY(8px);
transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
pointer-events: none;
}

.site-header-cart:hover .site-header-cart__dropdown,
.site-header-cart:focus-within .site-header-cart__dropdown {
visibility: visible;
opacity: 1;
transform: translateY(0);
pointer-events: auto;
}

.widget_shopping_cart,
.site-header-cart .widget_shopping_cart {
box-sizing: border-box;
width: 320px !important;
max-width: calc(100vw - 24px);
padding: 20px !important;
background-color: #0b0f19 !important;
border: 1px solid #00f0ff !important;
border-radius: 10px !important;
box-shadow: 0 5px 25px rgba(0, 240, 255, 0.2) !important;
color: #ffffff;
}

.site-header-cart .widget_shopping_cart {
position: relative !important;
}

/* Item list */
.cst-mini-cart ul.woocommerce-mini-cart {
list-style: none;
margin: 0 0 12px;
padding: 0;
max-height: 280px;
overflow-y: auto;
}

.cst-mini-cart li.woocommerce-mini-cart-item {
position: relative;
display: block;
min-height: 64px;
margin: 0;
padding: 10px 24px 10px 0;
border-bottom: 1px solid rgba(0, 240, 255, 0.12);
font-size: 13px;
line-height: 1.4;
color: #ffffff;
}

.cst-mini-cart li.woocommerce-mini-cart-item a:not(.remove) {
display: block;
font-weight: 600;
color: #ffffff;
overflow-wrap: anywhere;
}

.cst-mini-cart li.woocommerce-mini-cart-item a:not(.remove):hover {
color: #00f0ff;
}

.cst-mini-cart li.woocommerce-mini-cart-item img {
float: left;
width: 48px;
height: 48px;
margin: 0 10px 0 0;
object-fit: cover;
border-radius: 6px;
border: 1px solid rgba(255, 255, 255, 0.1);
}

.cst-mini-cart li.woocommerce-mini-cart-item .quantity {
display: block;
margin-top: 2px;
font-size: 12px;
color: #cbd5e1;
}

.cst-mini-cart li.woocommerce-mini-cart-item .quantity .woocommerce-Price-amount {
font-weight: 600;
color: #00f0ff;
}

/* Remove (x) */
.cst-mini-cart li.woocommerce-mini-cart-item a.remove {
position: absolute;
top: 10px;
right: 0;
display: inline-flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
font-size: 16px;
line-height: 1;
color: #ff4d6d !important;
border: 1px solid #ff4d6d;
border-radius: 50%;
text-decoration: none;
}

.cst-mini-cart li.woocommerce-mini-cart-item a.remove:hover {
color: #0b0f19 !important;
background: #ff4d6d;
}

/* Subtotal row */
.cst-mini-cart p.woocommerce-mini-cart__total {
display: flex;
justify-content: space-between;
align-items: baseline;
margin: 0 0 14px;
padding-top: 4px;
font-size: 14px;
color: #ffffff;
}

.cst-mini-cart p.woocommerce-mini-cart__total strong {
text-transform: uppercase;
letter-spacing: 0.05em;
font-size: 12px;
color: #cbd5e1;
}

.cst-mini-cart p.woocommerce-mini-cart__total .woocommerce-Price-amount {
font-size: 16px;
font-weight: 600;
color: #ffffff;
}

/* Buttons: View Cart (outline) + Checkout (solid) */
.cst-mini-cart p.woocommerce-mini-cart__buttons {
display: flex;
flex-direction: column;
gap: 8px;
margin: 0;
}

.cst-mini-cart p.woocommerce-mini-cart__buttons a.button,
.cst-mini-cart__guest-btn {
display: flex !important;
align-items: center;
justify-content: center;
width: 100%;
box-sizing: border-box;
margin: 0 !important;
padding: 10px 14px !important;
font-size: 13px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.06em;
text-align: center;
border-radius: 6px !important;
text-decoration: none;
transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.cst-mini-cart p.woocommerce-mini-cart__buttons a.button:not(.checkout) {
color: #00f0ff !important;
background: transparent !important;
border: 1px solid #00f0ff !important;
}

.cst-mini-cart p.woocommerce-mini-cart__buttons a.button:not(.checkout):hover {
color: #0b0f19 !important;
background: #00f0ff !important;
}

.cst-mini-cart p.woocommerce-mini-cart__buttons a.button.checkout,
.cst-mini-cart__guest-btn {
color: #0b0f19 !important;
background: #00f0ff !important;
border: 1px solid #00f0ff !important;
box-shadow: 0 0 14px rgba(0, 240, 255, 0.35);
}

.cst-mini-cart p.woocommerce-mini-cart__buttons a.button.checkout:hover,
.cst-mini-cart__guest-btn:hover {
color: #ffffff !important;
background: #9d4edd !important;
border-color: #9d4edd !important;
box-shadow: 0 0 16px rgba(157, 78, 221, 0.5);
}

/* Empty cart + guest prompt */
.cst-mini-cart p.woocommerce-mini-cart__empty-message,
.cst-mini-cart__guest-title {
margin: 0 0 6px;
font-weight: 600;
color: #ffffff;
}

.cst-mini-cart__guest-text {
margin: 0 0 14px;
font-size: 13px;
color: #cbd5e1;
}

/* Touch devices and phones: the icon just opens the cart (no hover dropdown) */
@media (hover: none), (max-width: 768px) {
.site-header-cart__dropdown {
display: none;
}
}

/* ==========================================================================
   GLOBAL NEOBRUTALIST CYBERPUNK (all pages). Placed last; wins the cascade.
   White #FFFFFF canvas, black #000 structure, 3px black borders, bold uppercase.
   Violet #B000FF (CTA), neo-mint #00FFD1 (active/secondary), acid lemon #EEFF00.
   ========================================================================== */
body {
	background: #ffffff;
	color: #000000;
	font-family: "Arial Black", "Helvetica Neue", Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6,
.section__title, .callout__title, .page-landing__title, .archive-header__title,
.woocommerce-products-header__title, .product_title, .product-card__title {
	color: #000000;
	font-family: "Arial Black", Impact, "Helvetica Neue", Arial, sans-serif;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	background: none;
	-webkit-text-fill-color: currentColor;
}

button, .button, label, th, legend, summary, .woocommerce-message, .woocommerce-info, .woocommerce-error,
.site-footer, .site-footer a, .header-link, .mobile-drawer__list a {
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

a { color: #000000; }
a:hover, a:focus-visible { color: #B000FF; }
:focus-visible { outline: 3px solid #B000FF; outline-offset: 2px; }

/* ---- Marquee ticker (every page) ---- */
.ticker {
	overflow: hidden;
	white-space: nowrap;
	background: #000000;
	color: #EEFF00;
	border-bottom: 3px solid #000000;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.ticker__track { display: flex; width: max-content; animation: marquee 40s linear infinite; }
.ticker__group { display: flex; flex-shrink: 0; }
.ticker__item { padding: 10px 0; color: #EEFF00; }
.ticker__item::after { content: "\2022"; margin: 0 2rem; color: #B000FF; opacity: 1; }
.ticker:hover .ticker__track { animation-play-state: paused; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .ticker__track { animation: none !important; } }
@media (max-width: 768px) { .ticker { font-size: 11px; } .ticker__track { animation-duration: 30s; } }

/* ---- Header + logo: BITE SIZE only ---- */
.site-header { background: #ffffff; border-bottom: 3px solid #000000; backdrop-filter: none; -webkit-backdrop-filter: none; }
.site-logo { font-family: "Arial Black", Impact, sans-serif !important; font-size: 1.4rem !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; }
.site-logo .brand-cyan { color: #000000 !important; text-shadow: none !important; background: #EEFF00; padding: 2px 10px; border: 3px solid #000000; box-shadow: 4px 4px 0 #B000FF; }
.site-logo .brand-white { display: none !important; }
.site-logo:hover .brand-cyan { background: #00FFD1; color: #000000 !important; }
.header-link { color: #000000; font-size: 13px; font-weight: 600; border-bottom: 3px solid transparent; }
.header-link:hover, .header-link.is-current { color: #000000; border-bottom-color: #B000FF; }
.header-icon { color: #000000; background: #ffffff; border: 2px solid #000000; border-radius: 0; box-shadow: none; }
.header-icon:hover { color: #000000; background: #EEFF00; border-color: #000000; box-shadow: 3px 3px 0 #000000; }
.header-cart__count { color: #000000; background: #00FFD1; border: 2px solid #000000; border-radius: 0; }
.nav-toggle { background: #ffffff; border: 2px solid #000000; border-radius: 0; }
.nav-toggle__bar { background: #000000; }

/* ---- Footer ---- */
.site-footer { background: #000000; color: #ffffff; border-top: 3px solid #000000; }
.site-footer a, .site-info { color: #ffffff; opacity: 1; }
.site-footer a:hover { color: #EEFF00; }

/* ---- Buttons: violet CTA, neo-mint secondary, thick border, solid shadow on hover ---- */
.btn, .button, button.button, a.button, input[type="submit"], input.button,
.single_add_to_cart_button, .add_to_cart_button, .checkout-button, #place_order,
.woocommerce a.button, .woocommerce button.button, .woocommerce-Button, .cst-login-cta,
.promo-banner__btn, .callout__btn, .wc-proceed-to-checkout a.checkout-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 20px;
	font: inherit;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #ffffff !important;
	background: #B000FF !important;
	border: 3px solid #000000 !important;
	border-radius: 0 !important;
	box-shadow: none;
	cursor: pointer;
	transition: box-shadow 0.12s ease, transform 0.12s ease;
}
.btn:hover, .button:hover, button.button:hover, a.button:hover, input[type="submit"]:hover,
.single_add_to_cart_button:hover, .add_to_cart_button:hover, .checkout-button:hover, #place_order:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce-Button:hover, .cst-login-cta:hover,
.promo-banner__btn:hover, .callout__btn:hover {
	color: #ffffff !important;
	background: #B000FF !important;
	border-color: #000000 !important;
	box-shadow: 4px 4px 0 #000000 !important;
	transform: translate(-2px, -2px);
}
/* Secondary / "Buy now" style buttons use neo-mint */
.buy-now-button, .cst-mini-cart p.woocommerce-mini-cart__buttons a.button:not(.checkout) {
	color: #000000 !important;
	background: #00FFD1 !important;
}
.buy-now-button:hover, .cst-mini-cart p.woocommerce-mini-cart__buttons a.button:not(.checkout):hover {
	color: #000000 !important;
	background: #00FFD1 !important;
}
.add_to_cart_button.added { background: #00FFD1 !important; color: #000000 !important; }
button:disabled, .button.disabled, .single_add_to_cart_button.disabled { opacity: 0.45; cursor: not-allowed; box-shadow: none !important; transform: none !important; }

/* ---- Inputs, selects, quantity: thick black borders ---- */
input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="search"],
input[type="number"], input[type="url"], textarea, select, .input-text, .qty,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
#coupon_code, .woocommerce-cart .quantity .qty {
	color: #000000;
	background: #ffffff;
	border: 3px solid #000000 !important;
	border-radius: 0 !important;
	font-family: inherit;
	font-weight: 600;
	box-shadow: none;
}
input:focus, textarea:focus, select:focus, .input-text:focus, .qty:focus {
	outline: none;
	background: #EEFF00;
	box-shadow: 4px 4px 0 #000000 !important;
	border-color: #000000 !important;
}
::placeholder { color: #666666; font-weight: 600; text-transform: uppercase; }
input[type="checkbox"], input[type="radio"] { accent-color: #B000FF; }
.woocommerce form .form-row label { color: #000000; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; }
.woocommerce form .form-row .required { color: #B000FF; }
.woocommerce-checkout .select2-container--default .select2-selection--single { background: #ffffff; border: 3px solid #000000; border-radius: 0; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { color: #000000; font-weight: 600; text-transform: uppercase; }
.select2-dropdown { background: #ffffff; border: 3px solid #000000; border-radius: 0; color: #000000; }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] { background: #00FFD1; color: #000000; }
.select2-container--default .select2-search--dropdown .select2-search__field { background: #ffffff; color: #000000; border: 2px solid #000000; }

/* ---- Cards and panels ---- */
.glass-card, .product-card, .glass-panel, .page-landing__content, .promo-banner, .trust-item, .category-card,
.woocommerce-checkout #order_review, .woocommerce-cart .cart_totals, .woocommerce-MyAccount-content,
.woocommerce-form-login, .woocommerce-form-register, .woocommerce-EditAccountForm, .woocommerce-address-fields,
.woocommerce-Address, .wp-block-details.faq-item, .woocommerce-account .page-landing__content,
.widget_shopping_cart, .woocommerce-cart table.cart tr.cart_item {
	background: #ffffff;
	color: #000000;
	border: 3px solid #000000;
	border-radius: 0;
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}
.glass-card:hover, .glass-card:focus-within, .product-card:hover { border-color: #000000; box-shadow: 6px 6px 0 #000000; transform: translate(-3px, -3px); }
.woocommerce-checkout #order_review, .woocommerce-cart .cart_totals { box-shadow: 6px 6px 0 #B000FF; }
.widget_shopping_cart { box-shadow: 6px 6px 0 #B000FF !important; border-color: #000000 !important; background-color: #ffffff !important; }
.single-product__gallery, .single-product div.product div.images { background: #ffffff !important; border: 3px solid #000000 !important; border-radius: 0 !important; }
.single-product__summary .price, .price, .product-card__price { color: #000000; font-weight: 600; }
.badge, .onsale { color: #000000; background: #EEFF00; border: 2px solid #000000; border-radius: 0; font-weight: 600; text-transform: uppercase; }

/* ---- Tables (cart, checkout review, orders, attributes) ---- */
table.shop_table, .woocommerce-cart table.shop_table, .woocommerce-checkout-review-order-table,
.woocommerce-account table.shop_table, table.shop_attributes {
	width: 100%;
	background: #ffffff;
	border: 3px solid #000000 !important;
	border-radius: 0 !important;
	border-collapse: collapse !important;
}
table.shop_table th, table.shop_table td, .woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td, table.shop_attributes th, table.shop_attributes td {
	color: #000000 !important;
	background: #ffffff !important;
	border-bottom: 2px solid #000000 !important;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
table.shop_table thead th, .woocommerce-checkout-review-order-table thead th {
	color: #ffffff !important;
	background: #000000 !important;
	font-weight: 600;
}
.woocommerce-checkout-review-order-table tr.order-total th,
.woocommerce-checkout-review-order-table tr.order-total td { background: #EEFF00 !important; border-top: 3px solid #000000 !important; font-weight: 600; }
.woocommerce-checkout-review-order-table tr.cart-discount th,
.woocommerce-checkout-review-order-table tr.cart-discount td { background: #00FFD1 !important; color: #000000 !important; }
.woocommerce-checkout-review-order-table td.product-name .product-quantity { color: #000000 !important; background: #00FFD1; border: 2px solid #000000; border-radius: 0; }
.woocommerce-cart td.product-name a { color: #000000; font-weight: 600; }
.woocommerce-cart td.product-name a:hover { color: #B000FF; }
.woocommerce-cart a.remove { color: #000000; background: #ffffff; border: 2px solid #000000; border-radius: 0; }
.woocommerce-cart a.remove:hover { color: #ffffff; background: #B000FF; }
@media (max-width: 767px) {
	.woocommerce-cart table.shop_table, .woocommerce-cart table.shop_table td { border-left: 0 !important; border-right: 0 !important; }
	.woocommerce-cart table.cart tr.cart_item { border: 3px solid #000000; box-shadow: 4px 4px 0 #000000; background: #ffffff; }
	.woocommerce-cart table.cart td[data-title]::before { color: #000000; font-weight: 600; }
	.woocommerce-cart table.cart td.product-name a { color: #000000; }
}

/* ---- Notices ---- */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	color: #000000;
	background: #ffffff;
	border: 3px solid #000000;
	border-left-width: 10px;
	border-radius: 0;
	box-shadow: 4px 4px 0 #000000;
}
.woocommerce-message { border-left-color: #00FFD1; }
.woocommerce-info { border-left-color: #B000FF; }
.woocommerce-error { border-left-color: #EEFF00; }

/* ---- Shop / category / product pages ---- */
.archive-header__title, .woocommerce-products-header__title { background: none; -webkit-text-fill-color: currentColor; color: #000000; }
.archive-toolbar select { color: #000000; background: #ffffff; border: 3px solid #000000; border-radius: 0; font-weight: 600; text-transform: uppercase; }
.woocommerce ul.products li.product, ul.products li.product { background: #ffffff !important; border: 3px solid #000000 !important; border-radius: 0 !important; }
.woocommerce ul.products li.product:hover { box-shadow: 6px 6px 0 #000000 !important; border-color: #000000 !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .product-card__title a { color: #000000 !important; font-weight: 600 !important; text-transform: uppercase; }
.woocommerce ul.products li.product .price, .woocommerce ul.products li.product .product-card__price { color: #000000 !important; font-weight: 600 !important; }
.product-card__image { background: #EEFF00; border-bottom: 3px solid #000000; border-radius: 0; }
.single-product__summary .product_title { color: #000000; }
.single-product__summary .stock { color: #000000; background: #00FFD1; border: 2px solid #000000; border-radius: 0; font-weight: 600; }
.single-product__summary .stock.out-of-stock { color: #ffffff; background: #000000; }
.cst-swatch { color: #000000; background: #ffffff; border: 3px solid #000000; border-radius: 0; font-weight: 600; }
.cst-swatch:hover:not(:disabled) { background: #EEFF00; color: #000000; border-color: #000000; }
.cst-swatch.is-selected { color: #000000; background: #00FFD1; border-color: #000000; box-shadow: 3px 3px 0 #000000; }
.single-product__details .woocommerce-tabs ul.tabs li a { color: #000000; background: #ffffff; border: 3px solid #000000; border-radius: 0; font-weight: 600; text-transform: uppercase; }
.single-product__details .woocommerce-tabs ul.tabs li.active a, .single-product__details .woocommerce-tabs ul.tabs li a:hover { color: #000000; background: #00FFD1; border-color: #000000; }
.single-product__details .woocommerce-Tabs-panel h2, .single-product__details table.shop_attributes th { color: #000000; }
.woocommerce-pagination .page-numbers { color: #000000; background: #ffffff; border: 3px solid #000000; border-radius: 0; font-weight: 600; }
.woocommerce-pagination .page-numbers.current, .woocommerce-pagination a.page-numbers:hover { color: #000000; background: #00FFD1; border-color: #000000; }
.single-product div.product div.images .woocommerce-product-gallery .flex-control-thumbs li { border: 3px solid #000000; border-radius: 0; }
.single-product div.product div.images .woocommerce-product-gallery .flex-control-thumbs li img { border-radius: 0 !important; }
.single-product div.product div.images .woocommerce-product-gallery .flex-control-thumbs li img.flex-active { border: 3px solid #B000FF !important; box-shadow: none; }

/* ---- My account, FAQ, landing pages ---- */
.page-landing__hero { background: #000000; border-bottom: 3px solid #000000; }
.page-landing__title { color: #ffffff; background: none; -webkit-text-fill-color: #ffffff; }
.page-landing__content h2, .page-landing__content h3, .woocommerce-account h2, .woocommerce-account h3 { color: #000000; }
.woocommerce-MyAccount-navigation a { color: #000000; background: #ffffff; border: 3px solid #000000; border-left-width: 10px; border-left-color: #B000FF; border-radius: 0; }
.woocommerce-MyAccount-navigation .is-active a, .woocommerce-MyAccount-navigation a:hover { color: #000000; background: #00FFD1; border-color: #000000; box-shadow: 4px 4px 0 #000000; }
h2.faq-category { color: #000000; border-bottom: 3px solid #000000; }
.wp-block-details.faq-item { border-left: 10px solid #B000FF; box-shadow: 4px 4px 0 #000000; }
.wp-block-details.faq-item[open], .wp-block-details.faq-item:hover { border-color: #000000; border-left-color: #00FFD1; }
.wp-block-details.faq-item summary { color: #000000; font-weight: 600; }
.wp-block-details.faq-item[open] summary { color: #000000; background: #EEFF00; border-bottom: 3px solid #000000; }
.wp-block-details.faq-item summary::after { color: #000000; font-weight: 600; }
.wp-block-details.faq-item > :not(summary), .wp-block-details.faq-item strong { color: #000000; }

/* ---- Homepage callouts / promo, age gate, drawer, mini-cart ---- */
.callout { background: #EEFF00; border-top: 3px solid #000000; border-bottom: 3px solid #000000; }
.callout--rewards { background: #00FFD1; }
.callout::before, .callout--rewards::before { background: none; }
.callout__title, .callout__text { color: #000000; }
.promo-banner { background: #EEFF00; box-shadow: 6px 6px 0 #000000; }
.promo-banner__text { color: #000000; }
.promo-banner__code { color: #000000; background: #ffffff; border: 2px solid #000000; border-radius: 0; text-shadow: none; }
.age-gate { background: rgba(0, 0, 0, 0.92); }
.age-gate__card { background: #ffffff; border: 3px solid #000000; border-radius: 0; box-shadow: 8px 8px 0 #B000FF; }
.age-gate__title, .age-gate__text { color: #000000; }
.age-gate__btn { border-radius: 0; border: 3px solid #000000; }
.age-gate__btn--yes { color: #ffffff; background: #B000FF; box-shadow: none; }
.age-gate__btn--yes:hover, .age-gate__btn--yes:focus-visible { background: #B000FF; box-shadow: 4px 4px 0 #000000; }
.age-gate__btn--no { color: #000000; background: #ffffff; }
.age-gate__btn--no:hover { background: #EEFF00; box-shadow: 4px 4px 0 #000000; }
.mobile-drawer { background: #ffffff; border-right: 3px solid #000000; box-shadow: 8px 0 0 #B000FF; }
.mobile-drawer__head { background: #EEFF00; border-bottom: 3px solid #000000; }
.mobile-drawer__title, .mobile-drawer__list a { color: #000000; }
.mobile-drawer__close { color: #000000; background: #ffffff; border: 2px solid #000000; border-radius: 0; }
.mobile-drawer__list > li { border-bottom: 2px solid #000000; }
.mobile-drawer__list a:hover, .mobile-drawer__list a:focus-visible { color: #000000; background: #00FFD1; }
.mobile-drawer .sub-menu { background: #ffffff; border-top: 2px solid #000000; }
.mobile-drawer .sub-menu a { color: #000000; border-left: 4px solid #B000FF; }
.cst-mini-cart li.woocommerce-mini-cart-item, .cst-mini-cart p.woocommerce-mini-cart__total { color: #000000; border-color: #000000; }
.cst-mini-cart li.woocommerce-mini-cart-item a:not(.remove) { color: #000000; }
.cst-mini-cart li.woocommerce-mini-cart-item .quantity, .cst-mini-cart li.woocommerce-mini-cart-item .quantity .woocommerce-Price-amount,
.cst-mini-cart p.woocommerce-mini-cart__total .woocommerce-Price-amount, .cst-mini-cart__guest-title, .cst-mini-cart__guest-text { color: #000000; }
.cst-mini-cart li.woocommerce-mini-cart-item img { border: 2px solid #000000; border-radius: 0; }
.radar-autocomplete-results-list { background-color: #ffffff !important; border: 3px solid #000000 !important; border-radius: 0 !important; box-shadow: 4px 4px 0 #000000 !important; }
.radar-autocomplete-results-list *, .radar-autocomplete-results-item, .radar-autocomplete-results-item * { color: #000000 !important; }
.radar-autocomplete-results-item:hover, .radar-autocomplete-results-item-selected { background-color: #00FFD1 !important; }


/* ==========================================================================
   NEON ALCHEMY — LIGHTWAVE (global, all pages). Placed last; wins the cascade.
   70% #F8F5F0 canvas / 20% #FFFFFF + #EAE5DD structure / 10% neon accents.
   Ultraviolet #792BEE, Cosmic #B044F5, Laser Pink #F02DB8, Cyan #00DDF5, Ink #11121B.
   ========================================================================== */
:root {
	--nl-canvas: #F8F5F0;
	--nl-card: #FFFFFF;
	--nl-line: #EAE5DD;
	--nl-ink: #11121B;
	--nl-uv: #792BEE;
	--nl-cosmic: #B044F5;
	--nl-pink: #F02DB8;
	--nl-cyan: #00DDF5;
	--nl-grad: linear-gradient(100deg, #792BEE 0%, #B044F5 45%, #F02DB8 100%);
	--nl-shadow: 0 8px 30px rgba(0, 0, 0, 0.04);
	--nl-glow: 0 10px 30px rgba(121, 43, 238, 0.28);
}
body { background: var(--nl-canvas); color: var(--nl-ink); }
h1, h2, h3, h4, h5, h6, .section__title, .callout__title, .page-landing__title, .archive-header__title,
.woocommerce-products-header__title, .product_title, .product-card__title {
	color: var(--nl-ink);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
button, .button, label, th, legend, summary, .woocommerce-message, .woocommerce-info, .woocommerce-error,
.header-link, .mobile-drawer__list a, .badge, .onsale, .stock {
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}
a:hover, a:focus-visible { color: var(--nl-uv); }
:focus-visible { outline: 3px solid rgba(176, 68, 245, 0.55); outline-offset: 2px; }
::selection { background: var(--nl-cosmic); color: #fff; }

/* ---- Marquee (every page; markup in header.php) ---- */
.ticker { position: relative; background: var(--nl-ink); color: #fff; border-bottom: 2px solid transparent; border-image: var(--nl-grad) 1; font-size: 12px; letter-spacing: 0.16em; }
.ticker__item { color: var(--nl-cyan); text-shadow: 0 0 12px rgba(0, 221, 245, 0.55); }
.ticker__item::after { content: "//"; color: var(--nl-pink); text-shadow: 0 0 10px rgba(240, 45, 184, 0.7); }

/* ---- Header ---- */
.site-header { background: rgba(248, 245, 240, 0.94); border-bottom: 1px solid var(--nl-line); box-shadow: none; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.site-logo { letter-spacing: 0.1em !important; }
.site-logo .brand-cyan { color: var(--nl-ink) !important; text-shadow: none !important; background: none !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
.site-logo:hover .brand-cyan { background: var(--nl-grad) !important; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.header-link { color: var(--nl-ink); border-bottom-color: transparent; }
.header-link:hover, .header-link.is-current { color: var(--nl-uv); border-bottom-color: var(--nl-uv); }
.header-icon { color: var(--nl-ink); background: var(--nl-card); border: 1px solid var(--nl-line); border-radius: 999px; box-shadow: var(--nl-shadow); }
.header-icon:hover { color: var(--nl-uv); background: var(--nl-card); border-color: var(--nl-cosmic); box-shadow: 0 0 0 3px rgba(121, 43, 238, 0.14), var(--nl-shadow); }
.header-cart__count { color: #fff; background: var(--nl-grad); border: 0; border-radius: 999px; }
.nav-toggle { background: var(--nl-card); border: 1px solid var(--nl-line); border-radius: 12px; }
.nl-nav { display: flex; align-items: center; gap: clamp(14px, 2.4vw, 34px); margin: 0 auto 0 clamp(16px, 3vw, 44px); }
.nl-nav a { position: relative; padding: 6px 0; font-size: 13px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--nl-ink); }
.nl-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 3px; background: var(--nl-grad); transition: right 0.2s ease; }
.nl-nav a:hover { color: var(--nl-ink); }
.nl-nav a:hover::after, .nl-nav a.is-current::after { right: 0; }
@media (min-width: 901px) { .header-utils > .header-link { display: none; } }
@media (max-width: 900px) { .nl-nav { display: none; } }

/* ---- Footer ---- */
.site-footer { background: var(--nl-card); color: var(--nl-ink); border-top: 1px solid var(--nl-line); }
.site-footer a, .site-info { color: var(--nl-ink); opacity: 1; }
.site-footer a:hover { color: var(--nl-uv); }

/* ---- Buttons: gradient CTA, pill, soft neon glow ---- */
.btn, .button, button.button, a.button, input[type="submit"], input.button,
.single_add_to_cart_button, .add_to_cart_button, .checkout-button, #place_order,
.woocommerce a.button, .woocommerce button.button, .woocommerce-Button, .cst-login-cta,
.promo-banner__btn, .callout__btn, .wc-proceed-to-checkout a.checkout-button {
	color: #fff !important;
	background: var(--nl-grad) !important;
	border: 0 !important;
	border-radius: 999px !important;
	box-shadow: 0 6px 20px rgba(121, 43, 238, 0.22);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.btn:hover, .button:hover, button.button:hover, a.button:hover, input[type="submit"]:hover,
.single_add_to_cart_button:hover, .add_to_cart_button:hover, .checkout-button:hover, #place_order:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce-Button:hover, .cst-login-cta:hover,
.promo-banner__btn:hover, .callout__btn:hover {
	color: #fff !important;
	background: var(--nl-grad) !important;
	border: 0 !important;
	box-shadow: 0 12px 32px rgba(240, 45, 184, 0.32) !important;
	transform: translateY(-2px);
}
.buy-now-button, .cst-mini-cart p.woocommerce-mini-cart__buttons a.button:not(.checkout) {
	color: var(--nl-uv) !important;
	background: var(--nl-card) !important;
	border: 2px solid var(--nl-uv) !important;
	box-shadow: none;
}
.buy-now-button:hover, .cst-mini-cart p.woocommerce-mini-cart__buttons a.button:not(.checkout):hover {
	color: #fff !important;
	background: var(--nl-uv) !important;
	border: 2px solid var(--nl-uv) !important;
}
.add_to_cart_button.added { background: var(--nl-cyan) !important; color: var(--nl-ink) !important; }
.add_to_cart_button.loading { opacity: 0.7; }

/* ---- Inputs, selects, quantity ---- */
input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="search"],
input[type="number"], input[type="url"], textarea, select, .input-text, .qty,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
#coupon_code, .woocommerce-cart .quantity .qty {
	color: var(--nl-ink);
	background: var(--nl-card);
	border: 1px solid var(--nl-line) !important;
	border-radius: 14px !important;
	font-weight: 600;
	box-shadow: var(--nl-shadow);
}
input:focus, textarea:focus, select:focus, .input-text:focus, .qty:focus {
	outline: none;
	background: var(--nl-card);
	border-color: var(--nl-cosmic) !important;
	box-shadow: 0 0 0 4px rgba(176, 68, 245, 0.16) !important;
}
::placeholder { color: rgba(17, 18, 27, 0.4); font-weight: 600; text-transform: uppercase; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--nl-uv); }
.woocommerce form .form-row label { color: var(--nl-ink); font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; }
.woocommerce form .form-row .required { color: var(--nl-pink); }
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: var(--nl-pink) !important; }
.woocommerce-checkout .select2-container--default .select2-selection--single { background: var(--nl-card); border: 1px solid var(--nl-line); border-radius: 14px; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--nl-ink); font-weight: 600; text-transform: uppercase; }
.select2-dropdown { background: var(--nl-card); border: 1px solid var(--nl-line); border-radius: 14px; box-shadow: var(--nl-shadow); color: var(--nl-ink); }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--nl-uv); color: #fff; }
.select2-container--default .select2-search--dropdown .select2-search__field { background: var(--nl-card); color: var(--nl-ink); border: 1px solid var(--nl-line); border-radius: 10px; }
.quantity .qty { text-align: center; }

/* ---- Cards and panels ---- */
.glass-card, .product-card, .glass-panel, .page-landing__content, .promo-banner, .trust-item, .category-card,
.woocommerce-checkout #order_review, .woocommerce-cart .cart_totals, .woocommerce-MyAccount-content,
.woocommerce-form-login, .woocommerce-form-register, .woocommerce-EditAccountForm, .woocommerce-address-fields,
.woocommerce-Address, .wp-block-details.faq-item, .woocommerce-account .page-landing__content,
.widget_shopping_cart, .woocommerce-cart table.cart tr.cart_item {
	background: var(--nl-card);
	color: var(--nl-ink);
	border: 1px solid var(--nl-line);
	border-radius: 24px;
	box-shadow: var(--nl-shadow);
}
.glass-card:hover, .glass-card:focus-within, .product-card:hover { border-color: rgba(176, 68, 245, 0.5); box-shadow: 0 16px 40px rgba(121, 43, 238, 0.12); transform: translateY(-4px); }
.woocommerce-checkout #order_review, .woocommerce-cart .cart_totals { box-shadow: var(--nl-shadow); }
.widget_shopping_cart { box-shadow: 0 16px 40px rgba(17, 18, 27, 0.12) !important; border: 1px solid var(--nl-line) !important; background-color: var(--nl-card) !important; }
.single-product__gallery, .single-product div.product div.images { background: var(--nl-card) !important; border: 1px solid var(--nl-line) !important; border-radius: 24px !important; box-shadow: var(--nl-shadow) !important; }
.single-product__summary .price, .price, .product-card__price { color: var(--nl-ink); font-weight: 600; }
.price ins, .product-card__price ins { color: var(--nl-pink); text-decoration: none; }
.badge, .onsale { color: #fff; background: var(--nl-pink); border: 0; border-radius: 999px; }

/* ---- Tables (cart, checkout review, orders, attributes) ---- */
table.shop_table, .woocommerce-cart table.shop_table, .woocommerce-checkout-review-order-table,
.woocommerce-account table.shop_table, table.shop_attributes {
	background: var(--nl-card);
	border: 1px solid var(--nl-line) !important;
	border-radius: 20px !important;
	border-collapse: separate !important;
	border-spacing: 0;
	overflow: hidden;
	box-shadow: var(--nl-shadow);
}
table.shop_table th, table.shop_table td, .woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td, table.shop_attributes th, table.shop_attributes td {
	color: var(--nl-ink) !important;
	background: var(--nl-card) !important;
	border-bottom: 1px solid var(--nl-line) !important;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
table.shop_table thead th, .woocommerce-checkout-review-order-table thead th {
	color: var(--nl-ink) !important;
	background: var(--nl-canvas) !important;
	font-weight: 600;
}
.woocommerce-checkout-review-order-table tr.order-total th,
.woocommerce-checkout-review-order-table tr.order-total td { background: rgba(121, 43, 238, 0.06) !important; border-top: 2px solid var(--nl-cosmic) !important; color: var(--nl-uv) !important; font-weight: 600; }
.woocommerce-checkout-review-order-table tr.cart-discount th,
.woocommerce-checkout-review-order-table tr.cart-discount td { background: rgba(0, 221, 245, 0.1) !important; color: var(--nl-ink) !important; }
.woocommerce-checkout-review-order-table td.product-name .product-quantity { color: var(--nl-uv) !important; background: rgba(121, 43, 238, 0.08); border: 0; border-radius: 999px; padding: 2px 8px; }
.woocommerce-cart td.product-name a { color: var(--nl-ink); font-weight: 600; }
.woocommerce-cart td.product-name a:hover { color: var(--nl-uv); }
.woocommerce-cart a.remove { color: var(--nl-pink) !important; background: var(--nl-card); border: 1px solid var(--nl-line); border-radius: 999px; }
.woocommerce-cart a.remove:hover { color: #fff !important; background: var(--nl-pink); }
@media (max-width: 767px) {
	.woocommerce-cart table.shop_table, .woocommerce-cart table.shop_table td { border-left: 0 !important; border-right: 0 !important; }
	.woocommerce-cart table.cart tr.cart_item { border: 1px solid var(--nl-line); box-shadow: var(--nl-shadow); background: var(--nl-card); border-radius: 20px; }
	.woocommerce-cart table.cart td[data-title]::before { color: var(--nl-ink); font-weight: 600; }
}

/* ---- Notices ---- */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	color: var(--nl-ink);
	background: var(--nl-card);
	border: 1px solid var(--nl-line);
	border-left: 6px solid var(--nl-uv);
	border-radius: 16px;
	box-shadow: var(--nl-shadow);
}
.woocommerce-message { border-left-color: var(--nl-cyan); }
.woocommerce-info { border-left-color: var(--nl-uv); }
.woocommerce-error { border-left-color: var(--nl-pink); }

/* ---- Shop / category archives ---- */
.archive-header__title, .woocommerce-products-header__title { color: var(--nl-ink); background: none; -webkit-text-fill-color: currentColor; }
.archive-header__desc { color: var(--nl-ink); opacity: 0.7; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; }
.archive-toolbar { padding: 12px 18px; background: var(--nl-card); border: 1px solid var(--nl-line); border-radius: 999px; box-shadow: var(--nl-shadow); }
.woocommerce-result-count { color: var(--nl-ink); font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; }
.archive-toolbar select, .woocommerce-ordering select { color: var(--nl-ink); background: var(--nl-card); border: 1px solid var(--nl-line) !important; border-radius: 999px !important; padding: 10px 18px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; box-shadow: none; }
.woocommerce ul.products li.product, ul.products li.product { background: var(--nl-card) !important; border: 1px solid var(--nl-line) !important; border-radius: 24px !important; box-shadow: var(--nl-shadow) !important; overflow: hidden; }
.woocommerce ul.products li.product:hover { border-color: rgba(176, 68, 245, 0.5) !important; box-shadow: 0 16px 40px rgba(121, 43, 238, 0.12) !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .product-card__title a, .product-card__title a { color: var(--nl-ink) !important; font-weight: 600 !important; text-transform: uppercase; letter-spacing: 0.05em; }
.product-card__title a:hover { color: var(--nl-uv) !important; }
.woocommerce ul.products li.product .price, .woocommerce ul.products li.product .product-card__price { color: var(--nl-ink) !important; font-weight: 600 !important; }
.product-card__image { background: var(--nl-canvas); border-bottom: 1px solid var(--nl-line); border-radius: 0; }
.product-card { overflow: hidden; }
.product-card .badge { top: 14px; left: 14px; padding: 5px 12px; font-size: 10px; }
.product-card .button, .product-card a.button { width: 100%; box-sizing: border-box; text-align: center; }
.woocommerce-pagination .page-numbers { color: var(--nl-ink); background: var(--nl-card); border: 1px solid var(--nl-line); border-radius: 999px; font-weight: 600; box-shadow: none; }
.woocommerce-pagination .page-numbers.current, .woocommerce-pagination a.page-numbers:hover { color: #fff; background: var(--nl-grad); border-color: transparent; }

/* ---- Single product ---- */
.single-product__summary .product_title { color: var(--nl-ink); letter-spacing: 0.05em; }
.single-product__summary .stock { display: inline-block; padding: 6px 14px; color: var(--nl-ink); background: rgba(0, 221, 245, 0.16); border: 1px solid var(--nl-cyan); border-radius: 999px; font-weight: 600; }
.single-product__summary .stock.out-of-stock { color: var(--nl-pink); background: rgba(240, 45, 184, 0.08); border-color: var(--nl-pink); }
.single-product__summary .woocommerce-product-details__short-description, .single-product__summary p { color: var(--nl-ink); }
.single-product__summary .quantity .qty { width: 80px; padding: 12px; text-align: center; font-weight: 600; }
.single-product__summary table.variations th, .single-product__summary table.variations td { background: transparent !important; border: 0 !important; box-shadow: none; }
.cst-swatch { color: var(--nl-ink); background: var(--nl-card); border: 1px solid var(--nl-line); border-radius: 999px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; }
.cst-swatch:hover:not(:disabled) { color: var(--nl-uv); background: var(--nl-card); border-color: var(--nl-cosmic); }
.cst-swatch.is-selected { color: #fff; background: var(--nl-grad); border-color: transparent; box-shadow: 0 8px 22px rgba(121, 43, 238, 0.28); }
.single-product__details .woocommerce-tabs ul.tabs { border: 0; }
.single-product__details .woocommerce-tabs ul.tabs li { background: none; border: 0; }
.single-product__details .woocommerce-tabs ul.tabs li a { color: var(--nl-ink); background: var(--nl-card); border: 1px solid var(--nl-line); border-radius: 999px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; box-shadow: none; }
.single-product__details .woocommerce-tabs ul.tabs li.active a, .single-product__details .woocommerce-tabs ul.tabs li a:hover { color: #fff; background: var(--nl-grad); border-color: transparent; }
.single-product__details .woocommerce-Tabs-panel h2, .single-product__details table.shop_attributes th { color: var(--nl-ink); }
.single-product div.product div.images .woocommerce-product-gallery .flex-control-thumbs li { border: 1px solid var(--nl-line); border-radius: 14px; overflow: hidden; }
.single-product div.product div.images .woocommerce-product-gallery .flex-control-thumbs li img { border-radius: 12px !important; }
.single-product div.product div.images .woocommerce-product-gallery .flex-control-thumbs li img.flex-active { border: 2px solid var(--nl-uv) !important; box-shadow: 0 0 0 3px rgba(121, 43, 238, 0.18); }
.single-product__related h2, .related.products > h2, .upsells > h2 { color: var(--nl-ink); }

/* ---- Cart + checkout ---- */
.woocommerce-cart .cart_totals h2, .woocommerce-checkout h3, #order_review_heading { color: var(--nl-ink); }
.woocommerce-cart .cart_totals table th, .woocommerce-cart .cart_totals table td { background: transparent !important; }
.woocommerce-cart .coupon { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
#payment, .woocommerce-checkout #payment { background: var(--nl-card); border: 1px solid var(--nl-line); border-radius: 20px; box-shadow: var(--nl-shadow); }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--nl-line); }
.woocommerce-checkout #payment ul.payment_methods li label { color: var(--nl-ink); font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; }
.woocommerce-checkout #payment .payment_box { color: var(--nl-ink); background: var(--nl-canvas); border: 1px solid var(--nl-line); border-radius: 14px; }
.woocommerce-checkout #payment .payment_box::before { border-bottom-color: var(--nl-canvas); }
.woocommerce-checkout #payment .payment_box p { color: var(--nl-ink); }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { border-left-color: var(--nl-cosmic); }
.woocommerce-privacy-policy-text, .woocommerce-terms-and-conditions-wrapper { color: var(--nl-ink); }
.woocommerce-checkout #place_order { width: 100%; padding: 18px 24px; font-size: 14px; }
/* Radar address autocomplete */
.radar-autocomplete-results-list { background-color: var(--nl-card) !important; border: 1px solid var(--nl-line) !important; border-radius: 16px !important; box-shadow: 0 16px 40px rgba(17, 18, 27, 0.12) !important; overflow: hidden; }
.radar-autocomplete-results-list *, .radar-autocomplete-results-item, .radar-autocomplete-results-item * { color: var(--nl-ink) !important; }
.radar-autocomplete-results-item:hover, .radar-autocomplete-results-item-selected { background-color: rgba(121, 43, 238, 0.1) !important; }

/* ---- My account ---- */
.woocommerce-account h2, .woocommerce-account h3, .page-landing__content h2, .page-landing__content h3 { color: var(--nl-ink); }
.woocommerce-MyAccount-navigation a { color: var(--nl-ink); background: var(--nl-card); border: 1px solid var(--nl-line); border-left-width: 1px; border-left-color: var(--nl-line); border-radius: 999px; box-shadow: var(--nl-shadow); font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; }
.woocommerce-MyAccount-navigation .is-active a, .woocommerce-MyAccount-navigation a:hover { color: #fff; background: var(--nl-grad); border-color: transparent; box-shadow: 0 8px 22px rgba(121, 43, 238, 0.28); }
.woocommerce-MyAccount-content { padding: 24px; }
.woocommerce-MyAccount-content a:not(.button) { color: var(--nl-uv); font-weight: 600; }
.woocommerce-form-login, .woocommerce-form-register { padding: 24px; }
.woocommerce-LostPassword a, .lost_password a { color: var(--nl-uv); font-weight: 600; }
.woocommerce-account table.shop_table .button { padding: 8px 16px; font-size: 11px; }

/* ---- FAQ + landing pages ---- */
.page-landing__hero { background: var(--nl-canvas); border-bottom: 1px solid var(--nl-line); }
.page-landing__title { color: var(--nl-ink); background: none; -webkit-text-fill-color: currentColor; }
h2.faq-category { color: var(--nl-ink); border-bottom: 2px solid transparent; border-image: var(--nl-grad) 1; padding-bottom: 8px; }
.wp-block-details.faq-item { border-left: 1px solid var(--nl-line); box-shadow: var(--nl-shadow); overflow: hidden; }
.wp-block-details.faq-item[open], .wp-block-details.faq-item:hover { border-color: rgba(176, 68, 245, 0.5); border-left-color: rgba(176, 68, 245, 0.5); }
.wp-block-details.faq-item summary { color: var(--nl-ink); font-weight: 600; cursor: pointer; }
.wp-block-details.faq-item[open] summary { color: var(--nl-uv); background: rgba(121, 43, 238, 0.05); border-bottom: 1px solid var(--nl-line); }
.wp-block-details.faq-item summary::after { color: var(--nl-uv); font-weight: 600; }
.wp-block-details.faq-item > :not(summary), .wp-block-details.faq-item strong { color: var(--nl-ink); }

/* ---- Callouts, promo, age gate, drawer, mini-cart ---- */
.callout { background: var(--nl-card); border-top: 1px solid var(--nl-line); border-bottom: 1px solid var(--nl-line); }
.callout--rewards { background: var(--nl-canvas); }
.callout__title, .callout__text { color: var(--nl-ink); }
.promo-banner { background: var(--nl-card); }
.promo-banner__text { color: var(--nl-ink); }
.promo-banner__code { color: var(--nl-uv); background: rgba(121, 43, 238, 0.08); border: 1px dashed var(--nl-uv); border-radius: 10px; text-shadow: none; }
.age-gate { background: rgba(17, 18, 27, 0.9); }
.age-gate__card { background: var(--nl-card); border: 1px solid var(--nl-line); border-radius: 24px; box-shadow: 0 20px 60px rgba(121, 43, 238, 0.25); }
.age-gate__title, .age-gate__text { color: var(--nl-ink); }
.age-gate__brand .brand-cyan { color: var(--nl-ink) !important; background: none !important; border: 0 !important; box-shadow: none !important; text-shadow: none !important; }
.age-gate__btn { border-radius: 999px; border: 0; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; }
.age-gate__btn--yes { color: #fff; background: var(--nl-grad); box-shadow: var(--nl-glow); }
.age-gate__btn--yes:hover, .age-gate__btn--yes:focus-visible { background: var(--nl-grad); box-shadow: 0 12px 32px rgba(240, 45, 184, 0.32); }
.age-gate__btn--no { color: var(--nl-ink); background: var(--nl-card); border: 1px solid var(--nl-line); }
.age-gate__btn--no:hover { background: var(--nl-canvas); box-shadow: none; }
.mobile-drawer { background: var(--nl-canvas); border-right: 1px solid var(--nl-line); box-shadow: 0 0 60px rgba(17, 18, 27, 0.2); }
.mobile-drawer__head { background: var(--nl-card); border-bottom: 1px solid var(--nl-line); }
.mobile-drawer__title, .mobile-drawer__list a { color: var(--nl-ink); }
.mobile-drawer__close { color: var(--nl-ink); background: var(--nl-card); border: 1px solid var(--nl-line); border-radius: 999px; }
.mobile-drawer__list > li { border-bottom: 1px solid var(--nl-line); }
.mobile-drawer__list a:hover, .mobile-drawer__list a:focus-visible { color: var(--nl-uv); background: transparent; }
.mobile-drawer .sub-menu { background: transparent; border-top: 1px solid var(--nl-line); }
.mobile-drawer .sub-menu a { color: var(--nl-ink); border-left: 3px solid var(--nl-cosmic); }
.cst-mini-cart li.woocommerce-mini-cart-item, .cst-mini-cart p.woocommerce-mini-cart__total { color: var(--nl-ink); border-color: var(--nl-line); }
.cst-mini-cart li.woocommerce-mini-cart-item a:not(.remove), .cst-mini-cart li.woocommerce-mini-cart-item .quantity,
.cst-mini-cart li.woocommerce-mini-cart-item .quantity .woocommerce-Price-amount,
.cst-mini-cart p.woocommerce-mini-cart__total .woocommerce-Price-amount, .cst-mini-cart__guest-title, .cst-mini-cart__guest-text { color: var(--nl-ink); }
.cst-mini-cart li.woocommerce-mini-cart-item img { border: 1px solid var(--nl-line); border-radius: 12px; }

@media (prefers-reduced-motion: reduce) { .ticker__track { animation: none !important; } .glass-card:hover, .product-card:hover { transform: none; } }


/* ==========================================================================
   LIGHTWAVE REFINEMENT: porcelain everywhere, black action buttons, compact cards
   ========================================================================== */
:root {
	/* Re-point the legacy dark tokens so every rule that still uses them turns light. */
	--bg-900: #F8F5F0;
	--bg-800: #FFFFFF;
	--text: #11121B;
	--text-muted: rgba(17, 18, 27, 0.72);
	--glass-bg: #FFFFFF;
	--glass-border: #EAE5DD;
	--shadow-cyan: 0 8px 30px rgba(0, 0, 0, 0.04);
	--shadow-purple: 0 8px 30px rgba(0, 0, 0, 0.04);
}
html, body, #page, #content, .site-main, .shop-archive, .single-product .site-main, .woocommerce-page .site-main { background: #F8F5F0; color: #11121B; }
.container--full { background: transparent; }

/* Hard-coded dark surfaces on shop + single product */
.single-product div.product div.images .woocommerce-product-gallery__image,
.single-product div.product div.images img:not(.zoomImg),
.single-product div.product div.images .thumbnails img,
.single-product div.product div.images .flex-viewport,
.single-product__gallery .woocommerce-product-gallery__trigger { background: #FFFFFF !important; }
.woocommerce div.product .cst-swatch, .woocommerce div.product .cst-swatch:hover { background: #FFFFFF; color: #11121B; }
.woocommerce div.product .cst-swatch.is-selected { background: #11121B; color: #FFFFFF; border-color: #11121B; }
.single-product__summary table.variations select, .single-product__summary .quantity .qty { background: #FFFFFF; color: #11121B; }
.single-product__details .woocommerce-Tabs-panel, .single-product__summary .woocommerce-product-details__short-description { background: transparent; color: #11121B; }
.woocommerce-cart table.shop_table, .woocommerce-cart .cart_totals, .woocommerce-cart table.cart tr.cart_item,
.woocommerce-checkout #order_review, .woocommerce-checkout #payment .payment_box, #order_review { background: #FFFFFF; }
.woocommerce-cart table.shop_table td, .woocommerce-checkout-review-order-table td.product-name,
.woocommerce-checkout-review-order-table td.product-subtotal { color: #11121B !important; }
.site-header-cart .widget_shopping_cart { background: #FFFFFF; color: #11121B; }
.woocommerce-account .woocommerce-MyAccount-content, .woocommerce-account .woocommerce-MyAccount-navigation a { background: #FFFFFF; color: #11121B; }
.shop-archive .product-card, .woocommerce ul.products li.product { background: #FFFFFF !important; color: #11121B; }
/* Product images sit on porcelain, not black */
.product-card__image, .woocommerce ul.products li.product a img { background: #F8F5F0; }
.woocommerce-page .site-main::before, .shop-archive::before, .single-product .site-main::before { display: none !important; }

/* ---- Buttons: solid midnight ink, white text, compact ---- */
.btn, .button, button.button, a.button, input[type="submit"], input.button,
.single_add_to_cart_button, .add_to_cart_button, .checkout-button, #place_order,
.woocommerce a.button, .woocommerce button.button, .woocommerce-Button, .cst-login-cta,
.promo-banner__btn, .callout__btn, .wc-proceed-to-checkout a.checkout-button,
.woocommerce div.product form.cart .single_add_to_cart_button, .single-product__summary .single_add_to_cart_button,
.shop-archive .product-card .add_to_cart_button, .woocommerce ul.products li.product .button {
	padding: 9px 16px;
	font-size: 11px;
	line-height: 1.2;
	letter-spacing: 0.1em;
	color: #FFFFFF !important;
	background: #11121B !important;
	background-image: none !important;
	border: 1px solid #11121B !important;
	border-radius: 999px !important;
	box-shadow: none;
}
.btn:hover, .button:hover, button.button:hover, a.button:hover, input[type="submit"]:hover,
.single_add_to_cart_button:hover, .add_to_cart_button:hover, .checkout-button:hover, #place_order:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce-Button:hover, .cst-login-cta:hover,
.promo-banner__btn:hover, .callout__btn:hover, .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce div.product form.cart .single_add_to_cart_button:hover, .single-product__summary .single_add_to_cart_button:hover,
.shop-archive .product-card .add_to_cart_button:hover, .woocommerce ul.products li.product .button:hover {
	color: #FFFFFF !important;
	background: #2A2C3D !important;
	background-image: none !important;
	border-color: #2A2C3D !important;
	box-shadow: 0 6px 16px rgba(17, 18, 27, 0.22) !important;
	transform: translateY(-1px);
}
.buy-now-button, .cst-mini-cart p.woocommerce-mini-cart__buttons a.button:not(.checkout) { color: #11121B !important; background: #FFFFFF !important; border: 1px solid #11121B !important; }
.buy-now-button:hover, .cst-mini-cart p.woocommerce-mini-cart__buttons a.button:not(.checkout):hover { color: #FFFFFF !important; background: #11121B !important; border-color: #11121B !important; }
.add_to_cart_button.added { background: #11121B !important; color: #FFFFFF !important; }
.woocommerce-checkout #place_order { padding: 13px 20px; font-size: 12px; }
.age-gate__btn--yes, .promo-banner__btn, .woocommerce-MyAccount-navigation .is-active a, .woocommerce-MyAccount-navigation a:hover,
.woocommerce-pagination .page-numbers.current, .woocommerce-pagination a.page-numbers:hover,
.single-product__details .woocommerce-tabs ul.tabs li.active a, .single-product__details .woocommerce-tabs ul.tabs li a:hover,
.cst-swatch.is-selected, .nl-pill.is-active { color: #FFFFFF; background: #11121B; background-image: none; border-color: #11121B; box-shadow: none; }
.nl-btn { padding: 11px 22px; font-size: 12px; color: #FFFFFF; background: #11121B; box-shadow: none; }
.nl-btn:hover { color: #FFFFFF; background: #2A2C3D; box-shadow: 0 8px 20px rgba(17, 18, 27, 0.25); transform: translateY(-1px); }
.header-cart__count { background: #11121B; color: #FFFFFF; }
::selection { background: #11121B; color: #FFFFFF; }

/* ---- Product cards: smaller, cleaner type ---- */
.product-card__body { gap: 6px; padding: 14px; }
.product-card__title, .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 12px; line-height: 1.35; letter-spacing: 0.06em; }
.product-card__title a, .woocommerce ul.products li.product .product-card__title a { font-size: 12px !important; font-weight: 600 !important; letter-spacing: 0.06em; }
.product-card__price, .woocommerce ul.products li.product .price, .woocommerce ul.products li.product .product-card__price { font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0.04em; }
.product-card__tag { font-size: 9px; padding: 3px 8px; letter-spacing: 0.1em; }
.product-card .badge { font-size: 9px; padding: 4px 10px; }
.product-card .button, .product-card a.button, .product-card .cst-login-cta { width: auto; align-self: flex-start; padding: 8px 14px; font-size: 10px; }
.product-card .product-card__actions { margin-top: 4px; }
body.home .product-card__title { font-size: 12px; }
body.home .product-card__title a { font-size: 12px; font-weight: 600; letter-spacing: 0.06em; }
body.home .product-card__price { font-size: 13px; font-weight: 600; }
body.home .product-card__tag { font-size: 9px; }
body.home .product-card .button, body.home .product-card a.button { width: auto; align-self: flex-start; padding: 8px 14px; font-size: 10px; background: #11121B; color: #FFFFFF; }
body.home .product-card .button:hover, body.home .product-card a.button:hover { background: #2A2C3D; box-shadow: 0 6px 16px rgba(17, 18, 27, 0.22); }
body.home 
/* ---- Out of stock state (replaces WooCommerce "Read more") ---- */
.cst-oos-btn { display: inline-flex; align-items: center; justify-content: center; align-self: flex-start; padding: 8px 14px; font-size: 10px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(17, 18, 27, 0.55); background: #F8F5F0; border: 1px solid #EAE5DD; border-radius: 999px; cursor: not-allowed; user-select: none; }
.product-card.outofstock .product-card__image img { opacity: 0.55; filter: grayscale(0.4); }


/* ==========================================================================
   SINGLE PRODUCT: contained, refined scale (max-w-6xl, 12-col grid)
   ========================================================================== */
.cst-sp-container { width: 100%; max-width: 72rem; margin: 0 auto; padding: 2rem 1rem; box-sizing: border-box; }
@media (min-width: 640px) { .cst-sp-container { padding: 3rem 1.5rem; } }

.single-product div.product.cst-product {
	display: grid !important;
	grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
	gap: 2rem !important;
	align-items: start !important;
}
@media (min-width: 1024px) { .single-product div.product.cst-product { gap: 3rem !important; } }
.single-product div.product.cst-product > div.images { grid-column: span 6 !important; width: 100% !important; min-width: 0; }
.single-product div.product.cst-product > div.summary { grid-column: span 6 !important; width: 100% !important; min-width: 0; }
.single-product div.product.cst-product > .single-product__details,
.single-product div.product.cst-product > .single-product__related { grid-column: 1 / -1 !important; }
@media (max-width: 1023px) {
	.single-product div.product.cst-product > div.images,
	.single-product div.product.cst-product > div.summary { grid-column: 1 / -1 !important; }
}

/* Gallery: rounded, bordered, standard ratios */
.single-product__gallery.glass-panel, .single-product div.product div.images { padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
.single-product div.product div.images .woocommerce-product-gallery { margin: 0; }
.single-product div.product div.images .flex-viewport,
.single-product div.product div.images .woocommerce-product-gallery__image:only-child {
	border-radius: 16px; overflow: hidden; border: 1px solid #EAE5DD; background: #FFFFFF !important;
}
.single-product div.product div.images .woocommerce-product-gallery__image img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 0 !important; }
.single-product div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 12px 0 0; padding: 0; list-style: none; }
.single-product div.product div.images .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; border: 1px solid #EAE5DD; border-radius: 12px; overflow: hidden; background: #FFFFFF; }
.single-product div.product div.images .flex-control-thumbs li img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; opacity: 0.7; cursor: pointer; border-radius: 0 !important; }
.single-product div.product div.images .flex-control-thumbs li img.flex-active, .single-product div.product div.images .flex-control-thumbs li img:hover { opacity: 1; }

/* Summary: compact vertical stack */
.single-product__summary.glass-panel, .single-product div.product div.summary { padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; display: flex !important; flex-direction: column; gap: 14px; }
.single-product__summary .product_title, .single-product__summary h1.product_title {
	margin: 0; font-size: 1.5rem; line-height: 1.15; font-weight: 600; text-transform: uppercase; letter-spacing: -0.01em; color: #11121B;
}
@media (min-width: 640px) { .single-product__summary .product_title, .single-product__summary h1.product_title { font-size: 1.875rem; } }
.single-product__summary .price, .single-product__summary .woocommerce-variation-price .price { display: block; margin: 0 !important; font-size: 1.125rem; font-weight: 600; letter-spacing: 0.02em; color: #11121B; grid-column: auto !important; grid-row: auto !important; }
.single-product__summary .woocommerce-product-details__short-description { font-size: 0.875rem; line-height: 1.65; color: #374151; }
.single-product__summary .woocommerce-product-details__short-description p { margin: 0 0 0.6em; }
.single-product__summary .stock { align-self: flex-start; margin: 0; padding: 4px 12px; font-size: 10px; }
.single-product__summary form.cart, .single-product__summary .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0; }
.single-product__summary table.variations { width: 100%; margin: 0 0 4px; border: 0 !important; box-shadow: none; }
.single-product__summary table.variations th.label, .single-product__summary table.variations label { font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: #11121B; }
.single-product__summary .cst-swatch { padding: 7px 14px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; }
.single-product__summary .quantity .qty { width: 64px; height: 40px; padding: 0 8px; font-size: 13px; text-align: center; border-radius: 999px !important; }
.single-product__summary .single_add_to_cart_button, .single-product__summary .buy-now-button { padding: 11px 22px; font-size: 11px; }
.single-product__summary .product_meta { font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: #6b7280; }

/* Description / tabs: constrained, readable */
.single-product__details.glass-panel { padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
.single-product__details .woocommerce-tabs { max-width: 56rem; margin: 0 auto; }
.single-product__details .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; }
.single-product__details .woocommerce-tabs ul.tabs li a { padding: 8px 16px; font-size: 11px; }
.single-product__details .woocommerce-Tabs-panel { font-size: 0.875rem; line-height: 1.65; color: #374151; }
.single-product__details .woocommerce-Tabs-panel h2 { margin: 0 0 10px; font-size: 1rem; letter-spacing: 0.06em; }
.single-product__details .woocommerce-Tabs-panel h3, .single-product__details .woocommerce-Tabs-panel h4 { margin: 18px 0 6px; font-size: 0.8125rem; letter-spacing: 0.08em; }
.single-product__details .woocommerce-Tabs-panel p { margin: 0 0 0.8em; }
.single-product__details .woocommerce-Tabs-panel ul, .single-product__details .woocommerce-Tabs-panel ol { margin: 0 0 0.9em; padding-left: 1.25rem; }
.single-product__details .woocommerce-Tabs-panel li { margin: 0 0 0.3em; }
.single-product__related { margin-top: 1rem; }
.single-product__related section.related > h2, .single-product__related section.upsells > h2 { font-size: 1.125rem; letter-spacing: 0.06em; margin-bottom: 1rem; }

/* ==========================================================================
   BRAND LOGO placements (header, age gate, footer; checkout uses the same header)
   ========================================================================== */
.site-logo { display: inline-flex; align-items: center; gap: 10px; }
.site-logo__img { display: block; width: auto; height: 2.25rem; max-width: none; object-fit: contain; flex: none; }
@media (min-width: 640px) { .site-logo__img { height: 2.5rem; } }
.site-header .site-logo .brand-cyan { font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: #11121B; white-space: nowrap; }
@media (max-width: 480px) { .site-header .site-logo .brand-cyan { font-size: 0.6875rem; letter-spacing: 0.12em; } .site-logo__img { height: 2rem; } }
.age-gate__card { text-align: center; }
.age-gate__logo { display: block; width: 96px; height: 96px; margin: 0 auto 10px; object-fit: contain; }
.age-gate__brand { display: block; margin: 0 auto 18px; text-align: center; }
.age-gate__brand .brand-cyan { font-size: 0.875rem; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: #11121B; }
.site-footer__brand { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 14px; font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: #11121B; }
.site-footer__logo { display: block; width: auto; height: 2.25rem; object-fit: contain; }


/* ==========================================================================
   PAGINATION (centered pills) + CENTERED STANDALONE HEADER LOGO
   ========================================================================== */
.cst-pagination, .woocommerce-pagination { display: flex; justify-content: center; align-items: center; width: 100%; grid-column: 1 / -1; margin: 3rem 0; text-align: center; }
.woocommerce-pagination { margin: 0; }
.woocommerce-pagination ul.page-numbers {
	display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px;
	margin: 0 auto; padding: 0; list-style: none; float: none;
	background: none; border: 0 !important; box-shadow: none !important; border-radius: 0;
}
.woocommerce-pagination ul.page-numbers li { float: none; margin: 0; padding: 0; border: 0; list-style: none; background: none; }
.woocommerce-pagination ul.page-numbers li .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 40px; height: 40px; padding: 0 14px; box-sizing: border-box;
	font-size: 12px; font-weight: 600; letter-spacing: 0.06em; line-height: 1; text-decoration: none;
	color: #11121B; background: #FFFFFF; border: 1px solid #EAE5DD; border-radius: 999px; box-shadow: none;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.woocommerce-pagination ul.page-numbers li a.page-numbers:hover,
.woocommerce-pagination ul.page-numbers li a.page-numbers:focus-visible { color: #11121B; background: #F8F5F0; border-color: #11121B; transform: translateY(-1px); }
.woocommerce-pagination ul.page-numbers li span.page-numbers.current { color: #FFFFFF; background: #11121B; border-color: #11121B; }
.woocommerce-pagination ul.page-numbers li .page-numbers.dots { background: transparent; border-color: transparent; min-width: 24px; padding: 0; }
.woocommerce-pagination ul.page-numbers li .next, .woocommerce-pagination ul.page-numbers li .prev { font-size: 15px; }

/* Header: [menu links] [LOGO] [icons], logo centered and larger */
.site-header__inner { display: grid !important; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; }
.site-header__inner .nav-toggle { grid-column: 1; grid-row: 1; justify-self: start; }
.site-header__inner .nl-nav { grid-column: 1; grid-row: 1; justify-self: start; margin: 0; }
.site-header__inner .site-branding { grid-column: 2; grid-row: 1; justify-self: center; display: flex; align-items: center; }
.site-header__inner .header-utils { grid-column: 3; grid-row: 1; justify-self: end; }
.site-header .site-logo { display: inline-flex; align-items: center; justify-content: center; line-height: 0; gap: 0; }
.site-header .site-logo__img { display: block; height: 3rem; width: auto; max-width: none; object-fit: contain; }
@media (min-width: 640px) { .site-header .site-logo__img { height: 3.5rem; } }
/* Text fallback (only rendered when brand-logo.png is missing) */
.site-header .site-logo .brand-cyan { line-height: 1.2; }


/* ==========================================================================
   FINAL OVERRIDES: clean product images, solid-black buttons everywhere,
   larger header logo, no category filter pills on shop/category pages
   ========================================================================== */

/* ---- 1. Product images: no dark fills, no letterbox side panels ---- */
body .product-card__image,
body .woocommerce ul.products li.product .product-card__image,
body .product-grid .product-card__image { background: #F8F5F0 !important; }
body .product-card__image img,
body .woocommerce ul.products li.product .product-card__image img,
body .woocommerce ul.products li.product img { background: transparent !important; object-fit: cover !important; }

body.single-product div.product div.images,
body.single-product div.product div.images .woocommerce-product-gallery,
body.single-product div.product div.images .woocommerce-product-gallery__wrapper,
body.single-product div.product div.images .flex-viewport,
body.single-product div.product div.images .woocommerce-product-gallery__image,
body.single-product div.product div.images .woocommerce-product-gallery__image a,
body.single-product div.product div.images .thumbnails img { background: #FFFFFF !important; }
body.single-product div.product div.images .woocommerce-product-gallery__image {
	aspect-ratio: auto !important; max-height: none !important; height: auto !important; overflow: hidden; border-radius: 0 !important;
}
body.single-product div.product div.images .woocommerce-product-gallery__image img:not(.zoomImg),
body.single-product div.product div.images img:not(.zoomImg) {
	width: 100% !important; height: auto !important; max-height: none !important;
	aspect-ratio: 1 / 1; object-fit: cover !important;
	background: transparent !important; border-radius: 0 !important; margin: 0 !important;
}
body.single-product div.product div.images .flex-control-thumbs li img { background: #FFFFFF !important; object-fit: cover !important; height: auto !important; max-height: none !important; aspect-ratio: 1 / 1; }
@media (max-width: 600px) {
	body.single-product div.product div.images .woocommerce-product-gallery__image img:not(.zoomImg),
	body.single-product div.product div.images img:not(.zoomImg) { height: auto !important; max-height: none !important; }
	body.single-product div.product div.images .woocommerce-product-gallery__image { max-height: none !important; }
}

/* ---- 2. Header logo: larger, centered, image only ---- */
body .site-header .site-logo__img { height: 3.5rem !important; width: auto !important; max-width: none !important; max-height: none !important; }
@media (min-width: 640px) { body .site-header .site-logo__img { height: 4rem !important; } }
body .site-header .site-logo { gap: 0 !important; font-size: 0 !important; line-height: 0 !important; }
body .site-header .site-branding { min-height: 3.5rem; }

/* ---- 3. Buttons: solid #11121B / hover #000, white text, bold uppercase ---- */
body .woocommerce ul.products li.product .button,
body .woocommerce ul.products li.product a.button,
body .woocommerce ul.products li.product .add_to_cart_button,
body ul.products li.product .button,
body .product-card .button,
body .product-card a.button,
body .product-card__actions a.button,
body .product-card__actions a.button.cst-login-cta--loop,
body .shop-archive .product-card .add_to_cart_button,
body .shop-archive .product-card a.button,
body .single-product__summary a.button.cst-login-cta,
body a.button.cst-login-cta, body .cst-login-cta, body .cst-login-cta--loop, body .cst-login-cta--large,
body .single_add_to_cart_button, body .add_to_cart_button, body .checkout-button, body #place_order,
body .woocommerce a.button, body .woocommerce button.button, body .woocommerce a.button.alt, body .woocommerce button.button.alt,
body .age-gate__btn--yes {
	color: #FFFFFF !important;
	background: #11121B !important;
	background-image: none !important;
	border: 1px solid #11121B !important;
	box-shadow: none !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	text-decoration: none;
}
body .woocommerce ul.products li.product .button:hover,
body .woocommerce ul.products li.product a.button:hover,
body .woocommerce ul.products li.product .add_to_cart_button:hover,
body ul.products li.product .button:hover,
body .product-card .button:hover,
body .product-card a.button:hover,
body .product-card__actions a.button:hover,
body .product-card__actions a.button.cst-login-cta--loop:hover,
body .shop-archive .product-card .add_to_cart_button:hover,
body .shop-archive .product-card a.button:hover,
body .single-product__summary a.button.cst-login-cta:hover,
body a.button.cst-login-cta:hover, body .cst-login-cta:hover, body .cst-login-cta--loop:hover, body .cst-login-cta--large:hover,
body .single_add_to_cart_button:hover, body .add_to_cart_button:hover, body .checkout-button:hover, body #place_order:hover,
body .woocommerce a.button:hover, body .woocommerce button.button:hover, body .woocommerce a.button.alt:hover, body .woocommerce button.button.alt:hover,
body .age-gate__btn--yes:hover, body .age-gate__btn--yes:focus-visible {
	color: #FFFFFF !important;
	background: #000000 !important;
	background-image: none !important;
	border-color: #000000 !important;
	box-shadow: 0 6px 16px rgba(17, 18, 27, 0.25) !important;
}
body .add_to_cart_button.added { background: #11121B !important; color: #FFFFFF !important; }
/* Remaining purple/gradient fills outside the homepage -> ink */
body .header-cart__count { background: #11121B !important; color: #FFFFFF !important; }
body .woocommerce-MyAccount-navigation .is-active a, body .woocommerce-MyAccount-navigation a:hover { background: #11121B !important; background-image: none !important; color: #FFFFFF !important; border-color: #11121B !important; box-shadow: none !important; }
body .woocommerce-pagination ul.page-numbers li span.page-numbers.current { background: #11121B !important; background-image: none !important; }
body .cst-swatch.is-selected, body .single-product__details .woocommerce-tabs ul.tabs li.active a,
body .single-product__details .woocommerce-tabs ul.tabs li a:hover { background: #11121B !important; background-image: none !important; color: #FFFFFF !important; border-color: #11121B !important; box-shadow: none !important; }

/* ---- 4. No category filter pills above the catalog on shop/category pages ---- */
body.woocommerce-shop .nl-pills, body.tax-product_cat .nl-pills, body.post-type-archive-product .nl-pills,
body.woocommerce-shop .cst-category-filters, body.tax-product_cat .cst-category-filters,
body.woocommerce-shop .nl-search, body.tax-product_cat .nl-search { display: none !important; }


/* ==========================================================================
   MOBILE DRAWER + HEADER MINI-CART + CART PAGE (light Neon Alchemy; wins old dark rules)
   ========================================================================== */

/* ---- 1. Mobile drawer: porcelain base, white rows, ink text, #EAE5DD borders ---- */
body .mobile-drawer { background: #F8F5F0 !important; border-right: 1px solid #EAE5DD !important; box-shadow: 0 0 60px rgba(17, 18, 27, 0.18) !important; color: #11121B; }
body .mobile-drawer__head { background: #FFFFFF !important; border-bottom: 1px solid #EAE5DD !important; }
body .mobile-drawer__title { color: #11121B !important; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }
body .mobile-drawer__close { color: #11121B !important; background: #FFFFFF !important; border: 1px solid #EAE5DD !important; border-radius: 999px !important; box-shadow: none !important; }
body .mobile-drawer__close:hover, body .mobile-drawer__close:focus-visible { background: #11121B !important; color: #FFFFFF !important; border-color: #11121B !important; }
body .mobile-drawer__list { padding: 12px 14px; }
body .mobile-drawer__list > li { margin: 0 0 8px; background: #FFFFFF !important; border: 1px solid #EAE5DD !important; border-radius: 14px; overflow: hidden; }
body .mobile-drawer__list > li > a, body .mobile-drawer__list a, body .mobile-drawer__group summary {
	color: #11121B !important; background: transparent !important; font-weight: 600 !important; text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.8125rem;
}
body .mobile-drawer__list > li > a { display: block; padding: 14px 16px; }
body .mobile-drawer__list > li > a:hover, body .mobile-drawer__list > li > a:focus-visible, body .mobile-drawer__list a:hover, body .mobile-drawer__list a:focus-visible,
body .mobile-drawer__list .current-menu-item > a, body .mobile-drawer__list .current-menu-ancestor > a, body .mobile-drawer__group summary:hover, body .mobile-drawer__group[open] > details > summary {
	color: #11121B !important; background: #F8F5F0 !important;
}
body .mobile-drawer .sub-menu, body .mobile-drawer__sub { background: #F8F5F0 !important; border-top: 1px solid #EAE5DD !important; }
body .mobile-drawer .sub-menu li, body .mobile-drawer__sub li { background: transparent !important; border-bottom: 1px solid #EAE5DD !important; }
body .mobile-drawer .sub-menu li:last-child, body .mobile-drawer__sub li:last-child { border-bottom: 0 !important; }
body .mobile-drawer .sub-menu a, body .mobile-drawer__sub a { color: #11121B !important; font-weight: 600 !important; padding: 12px 16px 12px 24px; border-left: 0 !important; }
body .mobile-drawer__group summary::after { color: #11121B !important; }
body .drawer-overlay { background: rgba(17, 18, 27, 0.45) !important; }

/* ---- 2. Header mini-cart dropdown: porcelain panel, ink text, solid black buttons ---- */
body .site-header-cart .widget_shopping_cart,
body .site-header-cart__dropdown .widget_shopping_cart,
body .site-header-cart .cst-mini-cart {
	background: #F8F5F0 !important; background-color: #F8F5F0 !important; color: #11121B !important;
	border: 1px solid #EAE5DD !important; border-radius: 20px !important;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12) !important;
}
body .cst-mini-cart li.woocommerce-mini-cart-item { background: #FFFFFF !important; border: 1px solid #EAE5DD !important; border-radius: 12px; padding: 10px 12px 10px 38px; margin-bottom: 8px; }
body .cst-mini-cart li.woocommerce-mini-cart-item a:not(.remove), body .cst-mini-cart li.woocommerce-mini-cart-item .quantity,
body .cst-mini-cart li.woocommerce-mini-cart-item .quantity .woocommerce-Price-amount,
body .cst-mini-cart p.woocommerce-mini-cart__total, body .cst-mini-cart p.woocommerce-mini-cart__total strong,
body .cst-mini-cart p.woocommerce-mini-cart__total .woocommerce-Price-amount,
body .cst-mini-cart p.woocommerce-mini-cart__empty-message, body .cst-mini-cart__guest-title, body .cst-mini-cart__guest-text { color: #11121B !important; }
body .cst-mini-cart li.woocommerce-mini-cart-item a:not(.remove) { font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; font-size: 12px; }
body .cst-mini-cart li.woocommerce-mini-cart-item a.remove { color: #11121B !important; background: #F8F5F0 !important; border: 1px solid #EAE5DD !important; border-radius: 999px !important; }
body .cst-mini-cart li.woocommerce-mini-cart-item a.remove:hover { color: #FFFFFF !important; background: #11121B !important; border-color: #11121B !important; }
body .cst-mini-cart p.woocommerce-mini-cart__total { border-top: 1px solid #EAE5DD !important; border-bottom: 0 !important; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; }
body .cst-mini-cart p.woocommerce-mini-cart__buttons a.button,
body .cst-mini-cart p.woocommerce-mini-cart__buttons a.button:not(.checkout),
body .cst-mini-cart p.woocommerce-mini-cart__buttons a.button.checkout,
body .cst-mini-cart__guest-btn, body .site-header-cart a.button {
	color: #FFFFFF !important; background: #11121B !important; background-image: none !important;
	border: 1px solid #11121B !important; border-radius: 999px !important; box-shadow: none !important;
	font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; font-size: 11px !important; padding: 11px 14px !important;
}
body .cst-mini-cart p.woocommerce-mini-cart__buttons a.button:hover,
body .cst-mini-cart p.woocommerce-mini-cart__buttons a.button:not(.checkout):hover,
body .cst-mini-cart p.woocommerce-mini-cart__buttons a.button.checkout:hover,
body .cst-mini-cart__guest-btn:hover, body .site-header-cart a.button:hover {
	color: #FFFFFF !important; background: #000000 !important; border-color: #000000 !important; box-shadow: 0 6px 16px rgba(17, 18, 27, 0.25) !important;
}

/* ---- 3. Cart page: contained width, white coupon input, clean spacing ---- */
body.woocommerce-cart .page-landing__hero .container,
body.woocommerce-cart .page-landing > .container,
body.woocommerce-cart main .container { width: 100%; max-width: 72rem !important; margin-left: auto !important; margin-right: auto !important; padding-left: 1rem; padding-right: 1rem; box-sizing: border-box; }
@media (min-width: 640px) {
	body.woocommerce-cart .page-landing__hero .container, body.woocommerce-cart .page-landing > .container, body.woocommerce-cart main .container { padding-left: 1.5rem; padding-right: 1.5rem; }
}
body.woocommerce-cart .page-landing__content { max-width: 72rem !important; margin: 0 auto !important; padding: 1.5rem !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
body.woocommerce-cart .page-landing { padding-top: 0.5rem; padding-bottom: 2rem; }
body.woocommerce-cart .page-landing__hero { padding: 1.5rem 0 0.5rem !important; }
body.woocommerce-cart .page-landing__title { font-size: clamp(1.5rem, 3vw, 2rem) !important; letter-spacing: 0.04em; margin: 0; }
body.woocommerce-cart table.shop_table { margin: 0 0 1.25rem; }
body.woocommerce-cart table.shop_table th, body.woocommerce-cart table.shop_table td { padding: 14px 16px !important; font-size: 12px; vertical-align: middle; }
body.woocommerce-cart table.cart td.product-name a { font-size: 12px; letter-spacing: 0.05em; }
body.woocommerce-cart table.cart td.product-thumbnail img { width: 64px; height: 64px; object-fit: cover; border-radius: 12px; background: #F8F5F0; }
body.woocommerce-cart .cart_totals { padding: 1.25rem !important; }
body.woocommerce-cart .cart_totals h2 { font-size: 1rem; letter-spacing: 0.1em; margin: 0 0 12px; }
body.woocommerce-cart td.actions { padding: 16px !important; background: #FFFFFF !important; }

/* Coupon input: white box, #EAE5DD border, ink text (the old #coupon_code rule used an ID selector) */
body.woocommerce-cart #coupon_code,
body.woocommerce-cart .coupon #coupon_code,
body.woocommerce-cart td.actions .coupon input.input-text {
	height: 44px; padding: 0 18px; box-sizing: border-box;
	color: #11121B !important; -webkit-text-fill-color: #11121B;
	background: #FFFFFF !important; background-color: #FFFFFF !important;
	border: 1px solid #EAE5DD !important; border-radius: 999px !important;
	font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; box-shadow: none;
}
body.woocommerce-cart #coupon_code::placeholder { color: rgba(17, 18, 27, 0.55) !important; opacity: 1; -webkit-text-fill-color: rgba(17, 18, 27, 0.55); }
body.woocommerce-cart #coupon_code:focus { outline: none; border-color: #11121B !important; box-shadow: 0 0 0 3px rgba(17, 18, 27, 0.08) !important; }
body.woocommerce-cart td.actions .coupon { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; float: left; }
body.woocommerce-cart td.actions .coupon .button, body.woocommerce-cart td.actions > .button,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	height: 44px; padding: 0 22px !important; display: inline-flex; align-items: center; justify-content: center;
	color: #FFFFFF !important; background: #11121B !important; background-image: none !important;
	border: 1px solid #11121B !important; border-radius: 999px !important; box-shadow: none !important;
	font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
}
body.woocommerce-cart td.actions .coupon .button:hover, body.woocommerce-cart td.actions > .button:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background: #000000 !important; border-color: #000000 !important; color: #FFFFFF !important; }
body.woocommerce-cart td.actions > .button[disabled], body.woocommerce-cart td.actions > .button:disabled { opacity: 0.45; }
@media (max-width: 767px) {
	body.woocommerce-cart td.actions .coupon { float: none; width: 100%; flex-direction: column; align-items: stretch; }
	body.woocommerce-cart #coupon_code { width: 100%; }
	body.woocommerce-cart td.actions .coupon .button, body.woocommerce-cart td.actions > .button { width: 100%; }
}


/* ==========================================================================
   CATALOG: category button bar + inline variation pills on product cards
   ========================================================================== */
.cst-catbar { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 22px; }
.cst-catbar__pill {
	display: inline-flex; align-items: center; justify-content: center;
	padding: 10px 20px; font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; line-height: 1; text-decoration: none;
	color: #11121B; background: #FFFFFF; border: 1px solid #EAE5DD; border-radius: 999px;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.cst-catbar__pill:hover, .cst-catbar__pill:focus-visible { color: #11121B; background: #F8F5F0; border-color: #11121B; transform: translateY(-1px); }
.cst-catbar__pill.is-active, .cst-catbar__pill.is-active:hover { color: #FFFFFF; background: #11121B; border-color: #11121B; transform: none; }
/* Sorting dropdown is replaced by the bar */
.woocommerce-ordering, .archive-toolbar select, form.woocommerce-ordering { display: none !important; }
.archive-toolbar { justify-content: center; background: transparent; border: 0; box-shadow: none; padding: 0 0 10px; }

.cst-card-pills { display: flex; flex-wrap: wrap; gap: 6px; margin: 2px 0 8px; }
.cst-card-pill {
	padding: 6px 11px; font-family: inherit; font-size: 10px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; line-height: 1; cursor: pointer;
	color: #11121B; background: #F8F5F0; border: 1px solid #EAE5DD; border-radius: 999px;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.cst-card-pill:hover:not(:disabled) { background: #FFFFFF; border-color: #11121B; }
.cst-card-pill.is-selected, .cst-card-pill.is-selected:hover { color: #FFFFFF; background: #11121B; border-color: #11121B; }
.cst-card-pill:disabled { opacity: 0.4; cursor: not-allowed; text-decoration: line-through; }
.cst-card-pill:focus-visible { outline: 2px solid #11121B; outline-offset: 2px; }
.product-card .cst-card-add { align-self: flex-start; }
.product-card .product-card__actions { display: flex; flex-direction: column; align-items: flex-start; }

/* ==========================================================================
   HEADER UPSCALE + ACCOUNT/CART PILL BUTTONS + MUTED LUXURY TONES (final)
   ========================================================================== */
body .site-header { padding-top: 1rem; padding-bottom: 1rem; }
@media (min-width: 640px) { body .site-header { padding-top: 1.5rem; padding-bottom: 1.5rem; } }
body .site-header .site-header__inner { min-height: 0; }
body .site-header .site-logo__img { height: 3.5rem; width: auto; max-width: none; }
@media (min-width: 640px) { body .site-header .site-logo__img { height: 4rem; } }

body .site-header .header-icon,
body.home .site-header .header-icon {
position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
width: auto; height: auto; min-width: 2.75rem; min-height: 2.75rem; padding: 0.625rem;
color: #11121B; background: rgba(255, 255, 255, 0.8); border: 1px solid #EAE5DD; border-radius: 999px;
box-shadow: 0 1px 2px rgba(17, 18, 27, 0.06); line-height: 1; text-decoration: none;
transition: all 0.2s ease;
}
@media (min-width: 640px) { body .site-header .header-icon, body.home .site-header .header-icon { padding: 0.5rem 1rem; min-height: 2.75rem; } }
body .site-header .header-icon:hover, body .site-header .header-icon:focus-visible,
body.home .site-header .header-icon:hover {
color: #FFFFFF; background: #11121B; border-color: #11121B; box-shadow: 0 4px 12px rgba(17, 18, 27, 0.18);
}
body .site-header .header-icon svg { width: 20px; height: 20px; flex: none; }
body .site-header .header-icon__label { display: none; font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
@media (min-width: 640px) { body .site-header .header-icon__label { display: inline; } }

/* Cart badge: crisp dark dot/pill, inverts on hover */
body .site-header .header-cart__count,
body.home .site-header .header-cart__count {
display: inline-flex; align-items: center; justify-content: center;
min-width: 1.25rem; height: 1.25rem; padding: 0 0.3rem; margin: 0;
font-size: 10px; font-weight: 600; line-height: 1; letter-spacing: 0;
color: #FFFFFF; background: #11121B; border: 0; border-radius: 999px;
transition: all 0.2s ease;
}
body .site-header .header-icon:hover .header-cart__count { color: #11121B; background: #FFFFFF; }
@media (max-width: 639px) {
body .site-header .header-cart { padding-right: 0.625rem; }
body .site-header .header-cart__count { position: absolute; top: -4px; right: -4px; border: 2px solid #F8F5F0; box-sizing: content-box; min-width: 1rem; height: 1rem; }
}
body .site-header .header-cart__total { display: none; }
body .site-header .header-utils { gap: 0.625rem; }

/* Muted luxury tones instead of bright neon/cyan */
:root { --nl-cyan: #9DB8B4; }
.ticker__item { color: #CDBFA8; text-shadow: none; }
.ticker__item::after { color: #B8A58A; text-shadow: none; }
.add_to_cart_button.added { background: #E4DED3 !important; color: #11121B !important; }
.woocommerce-message { border-left-color: #B8A58A; }
.single-product__summary .stock { background: rgba(184, 165, 138, 0.16); border-color: #B8A58A; color: #11121B; }
.woocommerce-checkout-review-order-table tr.cart-discount th,
.woocommerce-checkout-review-order-table tr.cart-discount td { background: rgba(184, 165, 138, 0.12) !important; color: #11121B !important; }
.radar-autocomplete-results-item:hover, .radar-autocomplete-results-item-selected { background-color: #EAE5DD !important; }

/* Cart totals + checkout total: neat alignment, dark readable text */
body.woocommerce-cart .cart_totals table.shop_table { width: 100%; table-layout: auto; }
body.woocommerce-cart .cart_totals table th { text-align: left; width: 40%; color: #11121B; font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; vertical-align: middle; }
body.woocommerce-cart .cart_totals table td { text-align: right; color: #11121B; vertical-align: middle; }
body.woocommerce-cart .cart_totals tr.order-total th,
body.woocommerce-cart .cart_totals tr.order-total td,
body.woocommerce-cart .cart_totals tr.order-total .amount { color: #11121B !important; font-weight: 600; }
.woocommerce-checkout-review-order-table th { text-align: left; }
.woocommerce-checkout-review-order-table td { text-align: right; }
.woocommerce-checkout-review-order-table td.product-name { text-align: left; }
.woocommerce-checkout-review-order-table tr.order-total th,
.woocommerce-checkout-review-order-table tr.order-total td,
.woocommerce-checkout-review-order-table tr.order-total .amount,
.woocommerce-checkout-review-order-table tr.order-total strong { color: #11121B !important; background: #F8F5F0 !important; border-top: 2px solid #11121B !important; font-weight: 600; }
.woocommerce-checkout-review-order-table td.product-name .product-quantity { color: #11121B !important; background: #EAE5DD; }

/* ==========================================================================
   LOGO v2 (cube + wordmark lockup, 1000x350 / 2.86:1) - responsive placement
   Header: centered in the 3-column grid. Mobile ~44px tall, desktop up to 80px (h-20).
   ========================================================================== */
body .site-header { padding-top: 0.625rem; padding-bottom: 0.625rem; }
body .site-header .site-header__inner { align-items: center; gap: 0.5rem; }
body .site-header .site-branding { min-width: 0; }
body .site-header .site-logo { display: inline-flex; align-items: center; justify-content: center; line-height: 0; gap: 0; }
body .site-header .site-logo__img { display: block; height: 2.75rem !important; width: auto !important; max-width: 100% !important; max-height: none !important; object-fit: contain; }
@media (min-width: 480px) { body .site-header .site-logo__img { height: 3.25rem !important; } }
@media (min-width: 640px) {
body .site-header { padding-top: 1rem; padding-bottom: 1rem; }
body .site-header .site-logo__img { height: 4rem !important; }
}
@media (min-width: 1100px) {
body .site-header { padding-top: 1.25rem; padding-bottom: 1.25rem; }
body .site-header .site-logo__img { height: 5rem !important; }
}
/* Hover: subtle lift instead of the old text-gradient effect */
body .site-header .site-logo { transition: transform 0.2s ease, opacity 0.2s ease; }
body .site-header .site-logo:hover { transform: translateY(-1px); opacity: 0.92; }

/* Age gate + footer (both sit on light surfaces, so the dark wordmark is legible) */
.age-gate__logo { width: min(260px, 72%) !important; height: auto !important; margin: 0 auto 16px !important; }
.site-footer__logo { height: 3.25rem !important; width: auto !important; max-width: 100%; }
@media (min-width: 640px) { .site-footer__logo { height: 4rem !important; } }

/* ==========================================================================
   HEADER v3: balanced logo, scroll-compress effect, streamlined mobile bar
   Porcelain #F8F5F0 + ink #11121B. Logo: h-10 sm:h-12; scrolled: h-8 sm:h-10.
   ========================================================================== */
body .site-header {
position: sticky; top: 0; z-index: 100;
padding-top: 0.75rem; padding-bottom: 0.75rem;
background: rgba(248, 245, 240, 0.94); border-bottom: 1px solid #EAE5DD;
transition: padding 0.3s ease, box-shadow 0.3s ease;
}
body .site-header .site-logo__img {
height: 2.5rem !important; width: auto !important; max-width: 100% !important;
transition: height 0.3s ease;
}
@media (min-width: 640px) {
body .site-header { padding-top: 1rem; padding-bottom: 1rem; }
body .site-header .site-logo__img { height: 3rem !important; }
}
@media (min-width: 1100px) {
body .site-header { padding-top: 1rem; padding-bottom: 1rem; }
body .site-header .site-logo__img { height: 3rem !important; }
}
/* Scrolled state: tighter bar, logo ~20% smaller */
body .site-header.is-scrolled { padding-top: 0.375rem; padding-bottom: 0.375rem; box-shadow: 0 4px 18px rgba(17, 18, 27, 0.08); }
body .site-header.is-scrolled .site-logo__img { height: 2rem !important; }
@media (min-width: 640px) {
body .site-header.is-scrolled { padding-top: 0.5rem; padding-bottom: 0.5rem; }
body .site-header.is-scrolled .site-logo__img { height: 2.5rem !important; }
}
@media (prefers-reduced-motion: reduce) {
body .site-header, body .site-header .site-logo__img { transition: none; }
}

/* Drawer tools (search + account) only exist for the mobile drawer */
.mobile-drawer__tools { display: flex; flex-direction: column; gap: 10px; padding: 14px 1.25rem 10px; border-bottom: 1px solid #EAE5DD; }
.mobile-drawer__search { position: relative; display: flex; align-items: center; }
.mobile-drawer__search svg { position: absolute; left: 14px; width: 18px; height: 18px; color: #11121B; pointer-events: none; }
.mobile-drawer__search input[type="search"] {
width: 100%; height: 46px; padding: 0 16px 0 42px; font-size: 14px; color: #11121B; background: #FFFFFF;
border: 1px solid #EAE5DD; border-radius: 999px; box-shadow: none; -webkit-appearance: none; appearance: none;
}
.mobile-drawer__search input[type="search"]:focus { outline: none; border-color: #11121B; box-shadow: 0 0 0 3px rgba(17, 18, 27, 0.08); }
.mobile-drawer__account {
display: flex; align-items: center; gap: 10px; height: 46px; padding: 0 16px; color: #11121B !important; background: #FFFFFF;
border: 1px solid #EAE5DD; border-radius: 999px; font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none;
}
.mobile-drawer__account svg { width: 18px; height: 18px; flex: none; }
.mobile-drawer__account:hover, .mobile-drawer__account:focus-visible { color: #FFFFFF !important; background: #11121B; border-color: #11121B; }

/* Mobile drawer: porcelain surface, ink text */
@media (max-width: 768px) {
.mobile-drawer { background: #F8F5F0 !important; border-right: 1px solid #EAE5DD !important; box-shadow: 8px 0 32px rgba(17, 18, 27, 0.18) !important; }
.mobile-drawer__head { background: #F8F5F0 !important; border-bottom: 1px solid #EAE5DD !important; }
.mobile-drawer__title, .mobile-drawer__close { color: #11121B !important; }
.mobile-drawer__list a, .mobile-drawer__group summary { color: #11121B !important; border-bottom-color: #EAE5DD !important; }
.mobile-drawer__list a:hover, .mobile-drawer__list a:focus-visible, .mobile-drawer__group summary:hover { color: #FFFFFF !important; background: #11121B !important; }

/* Top bar: hamburger | logo | cart only */
body .site-header .header-account,
body .site-header .nl-search-btn,
body .site-header .header-utils > .header-link,
body.home .site-header .header-account,
body.home .site-header .nl-search-btn { display: none !important; }
body .site-header .site-header__inner { grid-template-columns: 44px 1fr 44px; }
body .site-header .header-utils { justify-self: end; gap: 0; }
body .site-header .header-cart { min-width: 2.5rem; min-height: 2.5rem; padding: 0.5rem; }
body .site-header .nav-toggle { width: 42px; height: 42px; }
}

/* ==========================================================================
   MOBILE v4: 2-column equal product grids, header cleanup, drawer hierarchy
   ========================================================================== */

/* ---- 1. Product grids: equal-height cards (all breakpoints), 2 columns on phones ---- */
body .product-grid, body.woocommerce ul.products, body .woocommerce ul.products, body ul.products { align-items: stretch; }
body .product-grid > .product-card, body ul.products > li.product, body .woocommerce ul.products li.product {
display: flex; flex-direction: column; height: 100%; min-width: 0; box-sizing: border-box;
}
body .product-card__image { flex: none; }
body .product-card__body { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
body .product-card__title { min-height: 2.5em; overflow-wrap: anywhere; }
body .product-card__price { margin-top: auto; }
body .product-card__actions { margin-top: 8px; display: flex; flex-direction: column; justify-content: flex-end; gap: 8px; }
body .product-card__actions .button, body .product-card__actions .add_to_cart_button, body .product-card__actions .cst-oos-btn { width: 100%; box-sizing: border-box; text-align: center; justify-content: center; }
body .cst-card-pills { min-height: 2rem; align-content: flex-start; }

@media (max-width: 700px) {
body .product-grid, body.woocommerce ul.products, body .woocommerce ul.products, body ul.products, body.home .product-grid {
display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; margin-left: 0; margin-right: 0;
}
body ul.products li.product, body .woocommerce ul.products li.product, body .product-card { width: auto !important; margin: 0 !important; float: none !important; }
body .product-card__body { padding: 10px !important; gap: 6px !important; }
body .product-card__title { font-size: 0.75rem !important; letter-spacing: 0.03em !important; line-height: 1.25; }
body .product-card__price { font-size: 0.9rem !important; }
body .cst-card-pills { gap: 4px; margin: 0 0 4px; }
body .cst-card-pill { padding: 5px 9px; font-size: 10px; }
body .product-card .button, body .product-card a.button, body .product-card .cst-oos-btn { padding: 10px 8px !important; font-size: 10px !important; letter-spacing: 0.06em !important; }
body.home }

/* ---- 3. Mobile header: hamburger | logo | cart only (account lives in the drawer) ---- */
@media (max-width: 900px) {
body .site-header .header-utils .header-account,
body .site-header .header-utils > a.header-icon:not(.header-cart),
body .site-header .header-utils > .header-link,
body .site-header .header-utils > .nl-search-btn { display: none !important; }
}

/* ---- 4. Mobile drawer hierarchy ---- */
.mobile-drawer__list, .mobile-drawer__list ul { list-style: none; margin: 0; padding: 0; }
.mobile-drawer__list > li { border-bottom: 1px solid #EAE5DD; }
.mobile-drawer__list > li > a {
display: block; padding: 16px 1.25rem 10px; font-size: 15px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
color: #11121B !important; background: transparent; border-bottom: 0 !important;
}
.mobile-drawer__list > li:not(.menu-item-has-children) > a { padding-bottom: 16px; }
.mobile-drawer__list > li.menu-item-has-children > a { position: relative; }
.mobile-drawer__list > li.menu-item-has-children > a::after { content: none; }
.mobile-drawer__list .sub-menu {
margin: 0 0 12px; padding: 4px 0 4px; background: rgba(17, 18, 27, 0.035) !important; border-top: 0 !important;
border-left: 3px solid #11121B; margin-left: 1.25rem; margin-right: 1.25rem; border-radius: 0 12px 12px 0;
}
.mobile-drawer__list .sub-menu li { border-bottom: 1px solid #EAE5DD !important; background: transparent !important; }
.mobile-drawer__list .sub-menu li:last-child { border-bottom: 0 !important; }
.mobile-drawer__list .sub-menu a {
display: block; padding: 11px 16px 11px 18px !important; font-size: 13px; font-weight: 500 !important; letter-spacing: 0.02em; text-transform: none;
color: #3A3C4A !important; background: transparent;
}
.mobile-drawer__list .sub-menu a:hover, .mobile-drawer__list .sub-menu a:focus-visible { color: #FFFFFF !important; background: #11121B !important; }
.mobile-drawer__list > li > a:hover, .mobile-drawer__list > li > a:focus-visible { color: #FFFFFF !important; background: #11121B !important; }

/* Drawer hierarchy: specificity bump so these win over earlier drawer rules */
body .mobile-drawer .mobile-drawer__list > li > a { font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0.14em !important; text-transform: uppercase !important; color: #11121B !important; }
body .mobile-drawer .mobile-drawer__list .sub-menu { background: rgba(17, 18, 27, 0.035) !important; border-left: 3px solid #11121B !important; }
body .mobile-drawer .mobile-drawer__list .sub-menu a { font-size: 13px !important; font-weight: 500 !important; letter-spacing: 0.02em !important; text-transform: none !important; color: #3A3C4A !important; padding: 11px 16px 11px 18px !important; }
body .mobile-drawer .mobile-drawer__list > li > a:hover, body .mobile-drawer .mobile-drawer__list > li > a:focus-visible,
body .mobile-drawer .mobile-drawer__list .sub-menu a:hover, body .mobile-drawer .mobile-drawer__list .sub-menu a:focus-visible { color: #FFFFFF !important; background: #11121B !important; }

/* ==========================================================================
   JOURNAL (blog hub, archives, single). Porcelain #F8F5F0 + ink #11121B.
   ========================================================================== */
body.cst-journal { background: #F8F5F0; color: #11121B; }
.jn-wrap { background: #F8F5F0; color: #11121B; padding-bottom: clamp(40px, 7vw, 88px); }
.jn-eyebrow, .jn-eyebrow a { display: inline-block; font-size: 11px; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: #11121B; text-decoration: none; }
.jn-hero { padding: clamp(40px, 8vw, 96px) 0 clamp(28px, 5vw, 56px); text-align: center; border-bottom: 1px solid #EAE5DD; margin-bottom: clamp(28px, 5vw, 56px); }
.jn-hero__title { margin: 12px 0 0; font-size: clamp(2.25rem, 7vw, 4.5rem); font-weight: 600; line-height: 1; letter-spacing: -0.01em; text-transform: uppercase; color: #11121B; }
.jn-hero__lead { max-width: 52ch; margin: 16px auto 0; font-size: 15px; line-height: 1.7; color: #3A3C4A; text-transform: none; letter-spacing: 0; }

.jn-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 32px); align-items: stretch; }
@media (max-width: 1000px) { .jn-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .jn-grid { grid-template-columns: 1fr; } }

.jn-card { display: flex; flex-direction: column; height: 100%; overflow: hidden; background: #FFFFFF; border: 1px solid #EAE5DD; border-radius: 24px; box-shadow: 0 8px 30px rgba(17, 18, 27, 0.04); transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease; }
.jn-card:hover { transform: translateY(-4px); border-color: #11121B; box-shadow: 0 16px 40px rgba(17, 18, 27, 0.1); }
.jn-card__media { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: #EAE5DD; }
.jn-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.jn-card:hover .jn-card__media img { transform: scale(1.04); }
.jn-card__placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, #EAE5DD, #F8F5F0); }
.jn-card__body { display: flex; flex-direction: column; flex: 1; gap: 10px; padding: 20px 22px 24px; }
.jn-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: #6b6d78; }
.jn-meta--center { justify-content: center; margin: 18px 0 14px; }
.jn-meta__cat { color: #11121B; text-decoration: none; border-bottom: 1px solid #11121B; }
.jn-card__title { margin: 0; font-size: 1.15rem; line-height: 1.25; letter-spacing: 0; text-transform: none; font-weight: 600; }
.jn-card__title a { color: #11121B; text-decoration: none; }
.jn-card__excerpt { margin: 0; font-size: 14px; line-height: 1.65; color: #3A3C4A; text-transform: none; letter-spacing: 0; }
.jn-card__link { margin-top: auto; padding-top: 6px; font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: #11121B; text-decoration: none; }
.jn-card__link:hover { text-decoration: underline; text-underline-offset: 4px; }

.jn-pagination { margin-top: clamp(28px, 5vw, 52px); text-align: center; }
.jn-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.jn-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 16px; font-size: 12px; font-weight: 600; letter-spacing: 0.08em; color: #11121B; background: #FFFFFF; border: 1px solid #EAE5DD; border-radius: 999px; text-decoration: none; }
.jn-pagination .page-numbers.current, .jn-pagination a.page-numbers:hover { color: #FFFFFF; background: #11121B; border-color: #11121B; }
.jn-pagination .screen-reader-text { display: none; }
.jn-empty { padding: 60px 0; text-align: center; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }

/* Shop strip */
.jn-shop { margin: clamp(36px, 6vw, 72px) 0 0; padding: clamp(28px, 4vw, 48px) clamp(20px, 4vw, 48px); text-align: center; background: #FFFFFF; border: 1px solid #EAE5DD; border-radius: 28px; }
.jn-shop__title { margin: 10px 0 20px; font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 600; text-transform: uppercase; color: #11121B; }
.jn-shop__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.jn-shop__pill { display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #11121B; background: #F8F5F0; border: 1px solid #11121B; border-radius: 999px; text-decoration: none; transition: all 0.2s ease; }
.jn-shop__pill:hover { color: #FFFFFF; background: #11121B; }

/* Single post */
.jn-single { padding-top: clamp(24px, 4vw, 48px); }
.jn-article { max-width: 760px; margin: 0 auto; padding: 0 1.25rem; }
.jn-article__head { text-align: center; }
.jn-back { display: inline-block; font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: #11121B; text-decoration: none; }
.jn-back:hover { text-decoration: underline; text-underline-offset: 4px; }
.jn-article__title { margin: 0; font-size: clamp(2rem, 5.5vw, 3.4rem); line-height: 1.08; font-weight: 600; letter-spacing: -0.01em; text-transform: none; color: #11121B; }
.jn-article__media { margin: clamp(22px, 4vw, 40px) calc(-1 * clamp(0px, 6vw, 80px)); border-radius: 24px; overflow: hidden; border: 1px solid #EAE5DD; }
.jn-article__media img { display: block; width: 100%; height: auto; }
.jn-article__content { font-size: 17px; line-height: 1.8; color: #1d1f2b; text-transform: none; letter-spacing: 0; }
.jn-article__content > * + * { margin-top: 1.2em; }
.jn-article__content h2, .jn-article__content h3, .jn-article__content h4 { margin-top: 1.9em; line-height: 1.2; font-weight: 600; text-transform: none; letter-spacing: 0; color: #11121B; }
.jn-article__content h2 { font-size: 1.7rem; } .jn-article__content h3 { font-size: 1.3rem; }
.jn-article__content a { color: #11121B; font-weight: 600; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; text-decoration-color: #B8A58A; }
.jn-article__content a:hover { background: #11121B; color: #FFFFFF; text-decoration-color: #11121B; }
.jn-article__content img { max-width: 100%; height: auto; border-radius: 16px; }
.jn-article__content blockquote { margin-left: 0; padding: 4px 0 4px 20px; border-left: 3px solid #11121B; font-size: 1.15em; font-style: italic; }
.jn-article__content ul, .jn-article__content ol { padding-left: 1.4em; }
.jn-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 32px; }
.jn-tags a { padding: 6px 14px; font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #11121B; background: #FFFFFF; border: 1px solid #EAE5DD; border-radius: 999px; text-decoration: none; }
.jn-tags a:hover { color: #FFFFFF; background: #11121B; }
.jn-related { margin-top: clamp(40px, 6vw, 72px); }
.jn-related__title { margin: 0 0 22px; font-size: clamp(1.3rem, 3vw, 1.8rem); font-weight: 600; text-align: center; text-transform: uppercase; color: #11121B; }

/* ---- Journal: in-article product CTA box ---- */
.jn-article__content .jn-cta { margin: 2.2em 0; padding: clamp(22px, 4vw, 36px); text-align: center; background: #FFFFFF; border: 1px solid #11121B; border-radius: 24px; box-shadow: 6px 6px 0 #11121B; }
.jn-article__content .jn-cta__eyebrow { display: block; font-size: 11px; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: #6b6d78; }
.jn-article__content .jn-cta__title { margin: 8px 0 8px; font-size: 1.5rem; font-weight: 600; line-height: 1.15; color: #11121B; }
.jn-article__content .jn-cta p { margin: 0 auto 16px; max-width: 46ch; font-size: 15px; line-height: 1.6; color: #3A3C4A; }
.jn-article__content .jn-cta__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.jn-article__content .jn-cta__links a { display: inline-flex; align-items: center; padding: 12px 22px; font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #FFFFFF; background: #11121B; border: 1px solid #11121B; border-radius: 999px; text-decoration: none; }
.jn-article__content .jn-cta__links a:hover { color: #11121B; background: #F8F5F0; }

/* ==========================================================================
   UNIFIED PRODUCT BUTTONS + QUANTITY STEPPER (final layer)
   Solid ink #11121B pill, white uppercase text, same on home, shop, categories,
   related products and single product. Porcelain #F8F5F0 / #EAE5DD for the stepper.
   ========================================================================== */

/* ---- A. Catalog / loop buttons: add to cart, quick-add, login prompt, out of stock ---- */
body .product-card .button,
body .product-card a.button,
body .product-card a.add_to_cart_button,
body .product-card a.cst-card-add,
body .product-card .cst-login-cta,
body ul.products li.product .button,
body ul.products li.product a.button,
body ul.products li.product a.add_to_cart_button,
body ul.products li.product a.button.cst-login-cta {
display: flex !important; align-items: center; justify-content: center; gap: 6px;
width: 100% !important; max-width: 100%; margin: 0 !important; box-sizing: border-box;
padding: 12px 14px !important; min-height: 42px;
color: #FFFFFF !important; background: #11121B !important; background-image: none !important;
border: 1px solid #11121B !important; border-radius: 999px !important; box-shadow: none !important;
font-size: 11px !important; font-weight: 600 !important; letter-spacing: 0.1em !important; line-height: 1.2 !important;
text-transform: uppercase !important; text-align: center; text-decoration: none; white-space: normal;
align-self: stretch; float: none !important;
transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
}
body .product-card .button:hover, body .product-card a.button:hover, body .product-card a.add_to_cart_button:hover,
body .product-card a.cst-card-add:hover, body .product-card .cst-login-cta:hover,
body ul.products li.product .button:hover, body ul.products li.product a.button:hover,
body ul.products li.product a.button.cst-login-cta:hover,
body .product-card .button:focus-visible, body .product-card .cst-login-cta:focus-visible {
color: #FFFFFF !important; background: #2A2C3D !important; border-color: #2A2C3D !important;
box-shadow: 0 6px 16px rgba(17, 18, 27, 0.22) !important; transform: translateY(-1px);
}
body .product-card .cst-login-cta__icon { width: 12px; height: 12px; flex: none; }
body .product-card .cst-oos-btn {
display: flex; align-items: center; justify-content: center; width: 100%; box-sizing: border-box; min-height: 42px; padding: 12px 14px;
color: #6b6d78; background: #EAE5DD; border: 1px solid #EAE5DD; border-radius: 999px;
font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; text-align: center; cursor: not-allowed;
}

/* Loading / added states: no stray WooCommerce icon overlapping the text */
body .product-card a.add_to_cart_button.loading::after, body .product-card a.add_to_cart_button.added::after { content: none !important; display: none !important; }
body .product-card a.add_to_cart_button.loading { opacity: 0.7; }
body .product-card a.add_to_cart_button.added { background: #2A2C3D !important; }

/* "View cart" link WooCommerce injects after adding: below the button, never beside/over it */
body .product-card a.added_to_cart, body ul.products li.product a.added_to_cart {
display: block !important; position: static !important; width: 100%; margin: 8px 0 0 !important; padding: 0 !important;
font-size: 10px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; text-align: center; color: #11121B !important;
text-decoration: underline; text-underline-offset: 3px; background: none !important; border: 0 !important; box-shadow: none !important;
}
body .product-card__actions { display: flex; flex-direction: column; gap: 8px; align-items: stretch; }

@media (max-width: 700px) {
body .product-card .button, body .product-card a.button, body .product-card a.add_to_cart_button, body .product-card a.cst-card-add,
body .product-card .cst-login-cta, body ul.products li.product a.button.cst-login-cta { padding: 10px 8px !important; font-size: 10px !important; letter-spacing: 0.06em !important; min-height: 40px; }
body }

/* ---- B. Single product: quantity pill with - / + ---- */
body .single-product__summary form.cart { max-width: 520px; margin: 18px 0 0; }
body .single-product__summary form.cart .woocommerce-variation-add-to-cart,
body .single-product__summary form.cart:not(.variations_form) {
display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px;
}
body .single-product__summary .quantity {
display: inline-flex !important; align-items: center; flex: 0 0 100%; justify-content: flex-start;
margin: 0 !important; float: none !important; width: auto;
}
body .single-product__summary .quantity .qty,
body .single-product__summary .quantity input.qty {
width: 56px !important; height: 48px !important; padding: 0 !important; margin: 0 !important;
font-size: 16px !important; font-weight: 600; line-height: 48px; text-align: center; color: #11121B !important; -webkit-text-fill-color: #11121B;
background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
-moz-appearance: textfield; appearance: textfield;
}
body .single-product__summary .quantity input.qty::-webkit-outer-spin-button,
body .single-product__summary .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body .single-product__summary .quantity:has(.cst-qty-btn) {
background: #FFFFFF; border: 1px solid #EAE5DD; border-radius: 999px; padding: 2px; box-shadow: 0 1px 2px rgba(17, 18, 27, 0.05);
flex: 0 0 auto; align-self: flex-start;
}
body .single-product__summary .quantity:has(.cst-qty-btn):focus-within { border-color: #11121B; box-shadow: 0 0 0 3px rgba(17, 18, 27, 0.08); }
body .single-product__summary .quantity input.qty:focus { outline: none; background: transparent !important; box-shadow: none !important; border: 0 !important; }
body .cst-qty-btn {
display: inline-flex; align-items: center; justify-content: center; flex: none;
width: 44px; height: 44px; padding: 0; margin: 0;
font-family: inherit; font-size: 22px; font-weight: 600; line-height: 1; color: #11121B;
background: #F8F5F0; border: 0; border-radius: 50%; cursor: pointer; touch-action: manipulation; -webkit-tap-highlight-color: transparent;
transition: background 0.15s ease, color 0.15s ease, transform 0.1s ease;
}
body .cst-qty-btn:hover, body .cst-qty-btn:focus-visible { color: #FFFFFF; background: #11121B; outline: none; }
body .cst-qty-btn:active, body .cst-qty-btn[aria-pressed="true"] { transform: scale(0.92); }

/* ---- C. Single product: Add to Cart + Buy Now row ---- */
body .single-product__summary .single_add_to_cart_button,
body .single-product__summary .buy-now-button {
flex: 1 1 calc(50% - 6px); min-width: 150px; max-width: 100%; width: auto; margin: 0 !important; box-sizing: border-box;
display: inline-flex !important; align-items: center; justify-content: center; text-align: center;
padding: 14px 22px !important; min-height: 50px; float: none !important;
font-size: 12px !important; font-weight: 600 !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; line-height: 1.2;
border-radius: 999px !important; box-shadow: none !important; transition: background 0.2s ease, color 0.2s ease, transform 0.15s ease;
}
body .single-product__summary .single_add_to_cart_button {
color: #FFFFFF !important; background: #11121B !important; background-image: none !important; border: 1px solid #11121B !important;
}
body .single-product__summary .single_add_to_cart_button:hover { background: #2A2C3D !important; border-color: #2A2C3D !important; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(17, 18, 27, 0.22) !important; }
body .single-product__summary .buy-now-button {
color: #11121B !important; background: #FFFFFF !important; background-image: none !important; border: 1px solid #11121B !important;
}
body .single-product__summary .buy-now-button:hover { color: #FFFFFF !important; background: #11121B !important; transform: translateY(-1px); }
body .single-product__summary .single_add_to_cart_button.disabled, body .single-product__summary .single_add_to_cart_button:disabled,
body .single-product__summary .buy-now-button.disabled, body .single-product__summary .buy-now-button:disabled { opacity: 0.45; cursor: not-allowed; transform: none; }
@media (max-width: 480px) {
body .single-product__summary .single_add_to_cart_button, body .single-product__summary .buy-now-button { flex: 1 1 100%; }
}
/* Guest login prompt on the single page matches too */
body .single-product__summary a.button.cst-login-cta {
max-width: 520px; padding: 14px 22px !important; min-height: 50px; font-size: 12px !important; letter-spacing: 0.1em !important;
color: #FFFFFF !important; background: #11121B !important; background-image: none !important; border: 1px solid #11121B !important; border-radius: 999px !important; box-shadow: none !important;
}
body .single-product__summary a.button.cst-login-cta:hover { background: #2A2C3D !important; border-color: #2A2C3D !important; }

/* ==========================================================================
   VARIATIONS: custom pills only. The native <select> stays in the DOM for WooCommerce
   (value/change logic) but is never visible, focusable or tappable, so no browser dropdown can open.
   ========================================================================== */
body .single-product__summary table.variations select,
body .single-product__summary .variations_form select.cst-swatch-select {
position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; border: 0 !important;
opacity: 0 !important; overflow: hidden; clip: rect(0 0 0 0); pointer-events: none !important; -webkit-appearance: none; appearance: none;
}
body .single-product__summary table.variations th.label label, body .single-product__summary .cst-swatch-label { pointer-events: none; cursor: default; }
body .single-product__summary table.variations td.value { position: relative; }

/* Pills: ink + porcelain, matching the catalog cards (replaces the old cyan/purple look) */
body .single-product__summary .cst-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
body .single-product__summary .cst-swatch {
padding: 10px 18px; min-height: 42px; font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
color: #11121B; background: #FFFFFF; border: 1px solid #EAE5DD; border-radius: 999px; box-shadow: none; touch-action: manipulation;
}
body .single-product__summary .cst-swatch:hover:not(:disabled) { background: #F8F5F0; border-color: #11121B; }
body .single-product__summary .cst-swatch.is-selected, body .single-product__summary .cst-swatch.is-selected:hover {
color: #FFFFFF; background: #11121B; border-color: #11121B; box-shadow: none;
}
body .single-product__summary .reset_variations { color: #11121B; font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: underline; text-underline-offset: 3px; }

/* ==========================================================================
   CHECKOUT REFINEMENT (final): constrained 7/5 grid, ink headings, Soft Porcelain fields.
   Layout only; WooCommerce hooks, fragments, Radar and submit scripts are untouched.
   ========================================================================== */
body.woocommerce-checkout .page-landing__content { max-width: 1088px; margin-left: auto; margin-right: auto; padding: 1.5rem 1rem; }
.cst-checkout { width: 100%; max-width: 64rem; margin-left: auto; margin-right: auto; padding-left: 1rem; padding-right: 1rem; box-sizing: border-box; }

@media (min-width: 1024px) {
body.woocommerce-checkout form.checkout.cst-checkout__form {
display: grid !important; grid-template-columns: repeat(12, minmax(0, 1fr)) !important; grid-template-rows: auto 1fr; column-gap: 2rem !important; row-gap: 0 !important; align-items: start !important;
}
body.woocommerce-checkout form.checkout #customer_details { grid-column: 1 / span 7 !important; grid-row: 1 / span 2; width: 100% !important; margin: 0 !important; }
body.woocommerce-checkout form.checkout #order_review_heading { grid-column: 8 / span 5 !important; grid-row: 1; }
body.woocommerce-checkout form.checkout #order_review { grid-column: 8 / span 5 !important; grid-row: 2; position: sticky !important; top: 20px !important; }
}
@media (max-width: 1023px) {
body.woocommerce-checkout form.checkout.cst-checkout__form { display: block !important; }
body.woocommerce-checkout form.checkout #order_review { position: static !important; }
}

/* Headings: Billing details, Additional information, Your order */
body.woocommerce-checkout form.checkout h3,
body.woocommerce-checkout form.checkout #order_review_heading,
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3 {
color: #11121B !important; font-size: 0.95rem !important; font-weight: 600 !important; letter-spacing: 0.14em !important;
text-transform: uppercase; text-shadow: none !important; margin: 0 0 14px !important; padding-bottom: 10px; border-bottom: 1px solid #EAE5DD;
}
body.woocommerce-checkout form.checkout h3 label, body.woocommerce-checkout form.checkout h3 span { color: inherit !important; }

/* Inputs: porcelain, compact, ink focus */
body.woocommerce-checkout form.checkout .form-row { margin: 0 0 10px !important; padding: 0 !important; }
body.woocommerce-checkout form.checkout .form-row label { color: #11121B !important; font-size: 12px; font-weight: 600; letter-spacing: 0.02em; margin-bottom: 4px; line-height: 1.3; }
body.woocommerce-checkout form.checkout .form-row .required { color: #8A5A44; text-decoration: none; }
body.woocommerce-checkout form.checkout .form-row input.input-text,
body.woocommerce-checkout form.checkout .form-row textarea,
body.woocommerce-checkout form.checkout .form-row select,
body.woocommerce-checkout .select2-container--default .select2-selection--single {
color: #11121B !important; background: #F8F5F0 !important; border: 1px solid #EAE5DD !important; border-radius: 8px !important;
padding: 9px 12px !important; font-size: 14px !important; font-weight: 400 !important; line-height: 1.3 !important; text-transform: none !important;
min-height: 0 !important; height: auto; box-shadow: none !important; outline: none !important; transition: border-color .15s ease, background-color .15s ease;
}
body.woocommerce-checkout form.checkout textarea { height: 76px; min-height: 76px !important; }
body.woocommerce-checkout .select2-container--default .select2-selection--single { padding: 5px 8px !important; }
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { color: #11121B !important; font-size: 14px; font-weight: 400; text-transform: none; line-height: 1.5; padding-left: 4px; }
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { top: 4px; }
body.woocommerce-checkout form.checkout .form-row input.input-text:focus,
body.woocommerce-checkout form.checkout .form-row textarea:focus,
body.woocommerce-checkout form.checkout .form-row select:focus,
body.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single,
body.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single {
background: #FFFFFF !important; border-color: #11121B !important; box-shadow: none !important; outline: none !important;
}
body.woocommerce-checkout form.checkout ::placeholder { color: #8C8A86 !important; font-size: 13px; opacity: 1; }
body.woocommerce-checkout .select2-dropdown { background: #FFFFFF; color: #11121B; border: 1px solid #11121B; border-radius: 8px; }
body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[aria-selected],
body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[data-selected] { background: #F8F5F0; color: #11121B; }
body.woocommerce-checkout .select2-container--default .select2-search--dropdown .select2-search__field { color: #11121B; background: #F8F5F0; border: 1px solid #EAE5DD; }

/* Order summary panel */
body.woocommerce-checkout #order_review { background: #F8F5F0 !important; border: 1px solid #EAE5DD !important; border-radius: 12px !important; box-shadow: none !important; padding: 18px !important; color: #11121B; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td a,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-Price-amount,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td { color: #11121B !important; border-color: #EAE5DD !important; background: transparent !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th { color: #11121B !important; letter-spacing: 0.1em; border-bottom: 1px solid #11121B !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name .product-quantity { color: #11121B !important; background: #EAE5DD; border: 0; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total td { color: #11121B !important; background: transparent !important; border-top: 1px solid #11121B !important; text-shadow: none !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.cart-discount th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.cart-discount td { color: #11121B !important; background: transparent !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table ul#shipping_method input { accent-color: #11121B; }
body.woocommerce-checkout #payment, body.woocommerce-checkout #payment ul.payment_methods { background: transparent !important; border-color: #EAE5DD !important; box-shadow: none !important; }
body.woocommerce-checkout #payment ul.payment_methods li label { color: #11121B !important; font-size: 13px; letter-spacing: 0.04em; }
body.woocommerce-checkout #payment .payment_box { background: #FFFFFF !important; color: #11121B !important; border: 1px solid #EAE5DD !important; border-radius: 8px; box-shadow: none; }
body.woocommerce-checkout #payment .payment_box::before { display: none; }
body.woocommerce-checkout #place_order { color: #FFFFFF !important; background: #11121B !important; border: 1px solid #11121B !important; border-radius: 999px; box-shadow: none !important; letter-spacing: 0.1em; }
body.woocommerce-checkout #place_order:hover { background: #2A2C3D !important; border-color: #2A2C3D !important; }

/* ==========================================================================
   RELATED PRODUCTS: compact 2 / 3 / 4-column grid (final layer)
   ========================================================================== */
body .single-product__related section.related.cst-related { margin: 28px 0 0; }
body .cst-related .cst-related__grid { display: block; }
body .cst-related ul.products {
display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important;
margin: 0 !important; padding: 0 !important; list-style: none; width: 100%;
}
body .cst-related ul.products::before, body .cst-related ul.products::after { display: none !important; }
@media (min-width: 768px) { body .cst-related ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 14px !important; } }
@media (min-width: 1024px) { body .cst-related ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 16px !important; } }

body .cst-related ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; border-radius: 12px; }
body .cst-related .product-card__image { aspect-ratio: 1 / 1; max-height: 190px; overflow: hidden; border-radius: 12px 12px 0 0; }
body .cst-related .product-card__image img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
body .cst-related .product-card__body { padding: 8px 10px 10px !important; gap: 4px !important; }
body .cst-related .product-card__title { min-height: 2.4em; margin: 0; font-size: 11px !important; line-height: 1.3; letter-spacing: 0.04em !important; }
body .cst-related .product-card__title a { font-size: 11px !important; letter-spacing: 0.04em; }
body .cst-related .product-card__price { font-size: 12px !important; }
body .cst-related .product-card__actions { margin-top: 6px; gap: 6px; }
body .cst-related .product-card .button, body .cst-related .product-card a.button, body .cst-related .product-card a.add_to_cart_button,
body .cst-related .product-card .cst-login-cta, body .cst-related .product-card .cst-oos-btn {
padding: 7px 8px !important; min-height: 32px !important; font-size: 9px !important; letter-spacing: 0.06em !important;
}
body .cst-related .cst-card-pills { min-height: 0; gap: 4px; margin: 0 0 2px; }
body .cst-related .cst-card-pill { padding: 3px 7px; font-size: 9px; }
body .cst-related .badge { font-size: 9px; padding: 2px 7px; }

/* ==========================================================================
   GLOBAL HEADING COLOR RESET: no cyan/blue section headings, solid ink #11121B
   ========================================================================== */
body .related > h2, body .upsells > h2, body .cross-sells > h2, body .up-sells > h2,
body .cst-related__title,
body .single-product__related h2,
body .single-product__details h2, body .single-product__details h3,
body .woocommerce-Tabs-panel h2, body .woocommerce-Tabs-panel h3,
body .woocommerce-checkout h3, body .woocommerce-checkout h2, body #order_review_heading,
body .woocommerce-billing-fields h3, body .woocommerce-shipping-fields h3, body .woocommerce-additional-fields h3,
body .woocommerce-cart h2, body .woocommerce-cart h3, body .cart_totals h2, body .cross-sells h2,
body .woocommerce-account h2, body .woocommerce-account h3, body .woocommerce-account legend,
body .widget-title, body .widgettitle, body .widget h2, body .widget h3, body .widgets h2,
body .section-title, body .section__title, body .category-title, body .woocommerce-products-header__title,
body .page-title, body .dark-theme-archive .page-title, body .archive-title,
body .page-landing__content h2, body .page-landing__content h3,
body .site-footer h2, body .site-footer h3, body .site-footer h4, body .footer-widget-title,
body .category-card__title, body .category-card__cta {
color: #11121B !important; -webkit-text-fill-color: #11121B; background-image: none; text-shadow: none !important;
font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
}
body .related > h2, body .upsells > h2, body .cst-related__title { font-size: 1rem !important; margin: 0 0 14px !important; }
body .woocommerce-Tabs-panel h2, body .woocommerce-Tabs-panel h3 { text-transform: uppercase; }
body .single-product__details table.shop_attributes th { color: #11121B; }

/* ==========================================================================
   REFER-A-FRIEND: front-page card + dedicated page (Soft Porcelain / ink)
   ========================================================================== */
.cst-raf-card { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 28px; align-items: center; padding: 22px; background: #F8F5F0; color: #11121B; border: 1px solid #EAE5DD; border-radius: 20px; }
.cst-raf-card__visual img { display: block; width: 100%; max-width: 360px; height: auto; margin: 0 auto; border-radius: 14px; }
.cst-raf-card__title { margin: 0 0 18px; font-size: clamp(1.25rem, 3vw, 1.9rem); font-weight: 600; line-height: 1.15; letter-spacing: 0.04em; text-transform: uppercase; color: #11121B !important; }
.cst-raf-card__btn { display: inline-flex; align-items: center; justify-content: center; padding: 13px 30px; font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; color: #FFFFFF !important; background: #11121B; border: 1px solid #11121B; border-radius: 999px; transition: background .15s ease; }
.cst-raf-card__btn:hover, .cst-raf-card__btn:focus-visible { background: #2A2C3D; border-color: #2A2C3D; }
@media (max-width: 700px) { .cst-raf-card { grid-template-columns: 1fr; text-align: center; padding: 16px; } .cst-raf-card__visual img { max-width: 280px; } }

.cst-raf-page { background: #F8F5F0; color: #11121B; padding: clamp(24px, 5vw, 56px) 16px clamp(40px, 7vw, 88px); }
.cst-raf-page__wrap { max-width: 760px; margin: 0 auto; }
.cst-raf-page__hero img { display: block; width: 100%; height: auto; border-radius: 20px; border: 1px solid #EAE5DD; }
.cst-raf-page__head { margin: clamp(24px, 4vw, 40px) 0; text-align: center; }
.cst-raf-page__head h1 { margin: 0 0 12px; font-size: clamp(1.7rem, 4.5vw, 2.6rem); font-weight: 600; line-height: 1.12; letter-spacing: 0.04em; text-transform: uppercase; color: #11121B !important; }
.cst-raf-page__sub { margin: 0; font-size: 1.05rem; line-height: 1.6; color: rgba(17, 18, 27, 0.78); }
.cst-raf-page__how { margin: 0 0 18px; font-size: 0.8rem; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; text-align: center; color: rgba(17, 18, 27, 0.6) !important; }
.cst-raf-step { margin: 0 0 16px; padding: clamp(18px, 3vw, 28px); background: #FFFFFF; border: 1px solid #EAE5DD; border-radius: 16px; }
.cst-raf-step h2 { margin: 0 0 8px; font-size: 1.1rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #11121B !important; }
.cst-raf-step p { margin: 0; font-size: 1rem; line-height: 1.7; color: #3A3C4A; }
.cst-raf-step a { color: #11121B; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.cst-raf-page__cta { margin-top: 28px; text-align: center; }


/* ==========================================================================
   CHECKOUT NOTICES + COLUMN POLISH (final layer)
   Notices become contained porcelain banners spanning the full checkout grid.
   ========================================================================== */
body.woocommerce-checkout .cst-checkout .woocommerce-notices-wrapper,
body.woocommerce-checkout .cst-checkout .woocommerce-NoticeGroup,
body.woocommerce-checkout .cst-checkout .woocommerce-NoticeGroup-checkout,
body.woocommerce-checkout .cst-checkout .woocommerce-NoticeGroup-updateOrderReview {
grid-column: 1 / -1 !important; width: 100%; max-width: 100%; margin: 0 0 16px; padding: 0; box-sizing: border-box; float: none;
}
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout ul.woocommerce-error {
position: relative; display: block; width: 100%; max-width: 100%; box-sizing: border-box; float: none; clear: both;
margin: 0 0 14px !important; padding: 14px 18px 14px 20px !important; list-style: none !important;
background: #F8F5F0 !important; color: #11121B !important; border: 1px solid #EAE5DD !important; border-left: 4px solid #11121B !important;
border-radius: 10px !important; box-shadow: none !important; font-size: 14px; line-height: 1.55; text-align: left; text-transform: none; letter-spacing: 0;
}
body.woocommerce-checkout .woocommerce-error { border-left-color: #A4372B !important; }
body.woocommerce-checkout .woocommerce-error::before, body.woocommerce-checkout .woocommerce-message::before, body.woocommerce-checkout .woocommerce-info::before { display: none !important; content: none !important; }
body.woocommerce-checkout .woocommerce-error li { margin: 0 !important; padding: 2px 0 !important; list-style: none !important; color: #11121B !important; font-weight: 500; }
body.woocommerce-checkout .woocommerce-error li + li { border-top: 1px solid #EAE5DD; margin-top: 6px !important; padding-top: 8px !important; }
body.woocommerce-checkout .woocommerce-error a, body.woocommerce-checkout .woocommerce-message a:not(.button), body.woocommerce-checkout .woocommerce-info a:not(.button) { color: #11121B !important; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
body.woocommerce-checkout .woocommerce-message a.button, body.woocommerce-checkout .woocommerce-info a.button { float: none; margin-left: 12px; }
body.woocommerce-checkout .woocommerce-form-coupon-toggle, body.woocommerce-checkout .woocommerce-form-login-toggle { grid-column: 1 / -1; }

/* ---- Billing / shipping columns ---- */
@media (min-width: 1024px) {
body.woocommerce-checkout form.checkout #customer_details { display: block !important; }
body.woocommerce-checkout form.checkout #customer_details .col-1,
body.woocommerce-checkout form.checkout #customer_details .col-2 { display: block !important; width: 100% !important; max-width: 100%; float: none !important; padding: 0; margin: 0; }
body.woocommerce-checkout form.checkout #order_review_heading { align-self: end; margin-bottom: 12px !important; }
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 12px; row-gap: 0; }
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row { width: 100% !important; float: none !important; margin: 0 0 10px !important; grid-column: span 1; min-width: 0; }
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-wide,
body.woocommerce-checkout #billing_country_field, body.woocommerce-checkout #shipping_country_field,
body.woocommerce-checkout #billing_address_1_field, body.woocommerce-checkout #shipping_address_1_field,
body.woocommerce-checkout #billing_address_2_field, body.woocommerce-checkout #shipping_address_2_field,
body.woocommerce-checkout #billing_email_field, body.woocommerce-checkout #billing_phone_field { grid-column: 1 / -1; }
body.woocommerce-checkout form.checkout .form-row input.input-text,
body.woocommerce-checkout form.checkout .form-row select,
body.woocommerce-checkout form.checkout .form-row textarea,
body.woocommerce-checkout form.checkout .form-row .select2-container { width: 100% !important; max-width: 100%; box-sizing: border-box; }
body.woocommerce-checkout .woocommerce-shipping-fields, body.woocommerce-checkout .woocommerce-additional-fields { margin-top: 18px; }
body.woocommerce-checkout #ship-to-different-address { margin: 0 0 12px; }
body.woocommerce-checkout #ship-to-different-address label { display: flex; align-items: center; gap: 8px; cursor: pointer; }
body.woocommerce-checkout #ship-to-different-address input[type="checkbox"], body.woocommerce-checkout .woocommerce-form__input-checkbox { accent-color: #11121B; }
body.woocommerce-checkout #order_review .shop_table { margin-bottom: 14px; }
@media (max-width: 560px) {
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper, body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns: minmax(0, 1fr); }
body.woocommerce-checkout .cst-checkout { padding-left: 12px; padding-right: 12px; }
}

/* ==========================================================================
   MYCRYPTOCHECKOUT: Soft Porcelain / ink skin (checkout picker + payment page)
   Styling only; plugin markup, scripts and QR/copy behaviour are untouched.
   ========================================================================== */
body.woocommerce-checkout #payment ul.payment_methods li.payment_method_mycryptocheckout .payment_box { background: #FFFFFF !important; }
body .mcc_currency_id_field label, body #mcc_currency_id_field label { color: #11121B; font-size: 12px; font-weight: 600; }
body.woocommerce-checkout select#mcc_currency_id { width: 100%; }
body .mcc_currency_icons { filter: none; }

/* Payment instructions card (thank-you / pay page) */
body .mycryptocheckout.online_payment_instructions { background: #F8F5F0; color: #11121B; border: 1px solid #11121B; border-radius: 14px; box-shadow: none; font-family: inherit; }
body .mycryptocheckout.online_payment_instructions h2, body .mycryptocheckout .mcc-modern-title { background: transparent; color: #11121B !important; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; }
body .mycryptocheckout.online_payment_instructions p, body .mycryptocheckout .mcc-modern-label { color: #11121B; }
body .mycryptocheckout .mcc-modern-label { color: rgba(17, 18, 27, 0.65); letter-spacing: 0.1em; text-transform: uppercase; font-size: 11px; }
body .mycryptocheckout .mcc-modern-qr-card, body .mycryptocheckout .mcc-modern-value-card, body .mycryptocheckout .mcc-modern-currency-card,
body .mycryptocheckout .mcc-modern-summary, body .mycryptocheckout .mcc-modern-buttons-card, body .mycryptocheckout .mcc_online_pay_box { background: #FFFFFF; border: 1px solid #EAE5DD; border-radius: 12px; box-shadow: none; color: #11121B; }
body .mycryptocheckout .mcc-modern-value, body .mycryptocheckout .mcc-modern-value-row { color: #11121B; background: #F8F5F0; border-color: #EAE5DD; word-break: break-all; }
body .mycryptocheckout .mcc-modern-divider { border-color: #EAE5DD; background: #EAE5DD; }
body .mycryptocheckout .mcc_qr_code { background: #FFFFFF; padding: 8px; border: 1px solid #EAE5DD; border-radius: 12px; }

/* Copy buttons + wallet buttons: ink pills */
body .mycryptocheckout .mcc-modern-copy, body .mycryptocheckout .mcc_woocommerce_clipboard {
background: #11121B !important; color: #FFFFFF !important; border: 1px solid #11121B !important; border-radius: 999px !important;
letter-spacing: 0.08em; text-transform: uppercase; font-size: 11px; font-weight: 600; box-shadow: none !important; cursor: pointer;
}
body .mycryptocheckout .mcc-modern-copy:hover, body .mycryptocheckout .mcc_woocommerce_clipboard:hover { background: #2A2C3D !important; border-color: #2A2C3D !important; }
body .mycryptocheckout .mcc-modern-copy-copied { color: #11121B; }
body .mycryptocheckout .payment_buttons .mcc-modern-wallet-button {
background: #11121B !important; background-image: none !important; color: #FFFFFF !important; border: 1px solid #11121B !important; border-radius: 999px !important;
box-shadow: none !important; letter-spacing: 0.06em;
}
body .mycryptocheckout .payment_buttons .mcc-modern-wallet-button:hover { background: #2A2C3D !important; }
body .mycryptocheckout .payment_buttons .mcc-modern-wallet-label, body .mycryptocheckout .payment_buttons .mcc-modern-wallet-arrow { color: #FFFFFF !important; }

/* Timer + paid states */
body .mycryptocheckout .mcc_payment_timer .timer, body .mycryptocheckout .mcc_payment_timer .paid:not(.mcc_hidden) { background: #FFFFFF; border: 1px solid #EAE5DD; color: #11121B; }
body .mycryptocheckout .mcc_payment_timer .timer p, body .mycryptocheckout .mcc_payment_timer .paid p, body .mycryptocheckout .mcc_payment_timer .timer p::before { color: #11121B; }
body .mycryptocheckout .mcc_payment_timer .hours_minutes { color: #11121B; background: transparent; }
body .mycryptocheckout .mcc_payment_timer .timer_check_text { color: rgba(17, 18, 27, 0.65); }
body .mycryptocheckout .mcc-modern-notice { background: #FFFFFF; border: 1px solid #EAE5DD; color: #11121B; border-radius: 10px; }
body .mycryptocheckout .mcc-modern-notice-warning { border-left: 4px solid #11121B; }

/* ==========================================================================
   CHECKOUT NOTICES: dark-slate bordered porcelain banner, full width above the form
   ========================================================================== */
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout ul.woocommerce-error {
border: 1px solid #11121B !important; border-left-width: 4px !important; text-align: left; margin-left: auto !important; margin-right: auto !important;
white-space: normal; word-break: normal; overflow-wrap: anywhere; writing-mode: horizontal-tb;
}
body.woocommerce-checkout .woocommerce-error li, body.woocommerce-checkout .woocommerce-message, body.woocommerce-checkout .woocommerce-info { display: block; width: auto; max-width: 100%; white-space: normal; }
body.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup, body.woocommerce-checkout .woocommerce-NoticeGroup-checkout { grid-column: 1 / -1 !important; width: 100% !important; }

/* ==========================================================================
   CHECKOUT HEADINGS + LABELS: dark slate, aligned
   ========================================================================== */
body.woocommerce-checkout form.checkout h3, body.woocommerce-checkout form.checkout #order_review_heading,
body.woocommerce-checkout .woocommerce-billing-fields > h3, body.woocommerce-checkout .woocommerce-additional-fields > h3, body.woocommerce-checkout .woocommerce-shipping-fields > h3 { color: #11121B !important; text-align: left; margin-top: 0 !important; }
body.woocommerce-checkout form.checkout .form-row label, body.woocommerce-checkout form.checkout label { color: #11121B !important; display: block; text-align: left; }
body.woocommerce-checkout form.checkout #customer_details > div + div { margin-top: 0; }

/* ==========================================================================
   ORDER RECEIVED / THANK YOU: compact, contained, card-based (max-w-4xl)
   Layout + styling only; order metadata, MyCryptoCheckout polling and hooks untouched.
   ========================================================================== */
body.woocommerce-order-received .page-landing__content { max-width: 1000px; margin-left: auto; margin-right: auto; padding: 1.25rem 1rem; background: transparent; border: 0; box-shadow: none; }
body.woocommerce-order-received .cst-thankyou { width: 100%; max-width: 56rem; margin: 0 auto; padding: 0 1rem; box-sizing: border-box; color: #11121B; }

/* Grid: status + overview + payment span full width; details and addresses sit in two columns */
@media (min-width: 900px) {
body.woocommerce-order-received .cst-thankyou { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: 20px; align-items: start; }
body.woocommerce-order-received .cst-thankyou > * { grid-column: 1 / -1; min-width: 0; }
body.woocommerce-order-received .cst-thankyou > .woocommerce-order-details { grid-column: 1; grid-row: auto; }
body.woocommerce-order-received .cst-thankyou > .woocommerce-customer-details { grid-column: 2; }
}

/* Status banner */
body.woocommerce-order-received .woocommerce-thankyou-order-received, body.woocommerce-order-received .woocommerce-notice--success {
margin: 0 0 12px; padding: 12px 16px; background: #F8F5F0; color: #11121B; border: 1px solid #11121B; border-left-width: 4px; border-radius: 10px; font-size: 14px; font-weight: 600; line-height: 1.5; text-align: left;
}
body.woocommerce-order-received .woocommerce-thankyou-order-failed { margin: 0 0 12px; padding: 12px 16px; background: #F8F5F0; color: #11121B; border: 1px solid #11121B; border-left: 4px solid #A4372B; border-radius: 10px; }

/* Overview strip: compact chips */
body.woocommerce-order-received ul.woocommerce-order-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; margin: 0 0 14px !important; padding: 0 !important; list-style: none !important; }
body.woocommerce-order-received ul.woocommerce-order-overview li { margin: 0 !important; padding: 9px 12px !important; border: 1px solid #EAE5DD !important; border-radius: 10px; background: #F8F5F0; color: rgba(17, 18, 27, 0.65); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; line-height: 1.3; float: none !important; }
body.woocommerce-order-received ul.woocommerce-order-overview li strong { display: block; margin-top: 2px; color: #11121B; font-size: 13px; letter-spacing: 0.02em; text-transform: none; word-break: break-word; }

/* Section headings */
body.woocommerce-order-received .cst-thankyou h2, body.woocommerce-order-received .cst-thankyou h3,
body.woocommerce-order-received .woocommerce-order-details__title, body.woocommerce-order-received .woocommerce-column__title {
color: #11121B !important; font-size: 0.85rem !important; font-weight: 600 !important; letter-spacing: 0.14em !important; text-transform: uppercase; text-align: left; margin: 0 0 10px !important; padding: 0 0 8px !important; border-bottom: 1px solid #EAE5DD; background: transparent !important; text-shadow: none !important;
}

/* Cards: order details, addresses */
body.woocommerce-order-received .woocommerce-order-details, body.woocommerce-order-received .woocommerce-customer-details { margin: 0 0 14px; padding: 14px 16px; background: #F8F5F0; border: 1px solid #EAE5DD; border-radius: 12px; box-sizing: border-box; }
body.woocommerce-order-received table.woocommerce-table--order-details { width: 100%; margin: 0; background: transparent !important; border: 0 !important; border-collapse: collapse; font-size: 13px; }
body.woocommerce-order-received table.woocommerce-table--order-details th, body.woocommerce-order-received table.woocommerce-table--order-details td { padding: 8px 6px !important; color: #11121B !important; background: transparent !important; border: 0 !important; border-bottom: 1px solid #EAE5DD !important; font-size: 13px !important; line-height: 1.4; vertical-align: top; }
body.woocommerce-order-received table.woocommerce-table--order-details thead th { font-size: 11px !important; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(17, 18, 27, 0.65) !important; }
body.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child th, body.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child td { border-bottom: 0 !important; font-weight: 600; }
body.woocommerce-order-received table.woocommerce-table--order-details a { color: #11121B; font-weight: 600; }
body.woocommerce-order-received .woocommerce-columns--addresses { display: block; width: 100%; margin: 0; }
body.woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column { width: 100% !important; float: none !important; margin: 0 0 12px; padding: 0; }
body.woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column:last-child { margin-bottom: 0; }
body.woocommerce-order-received address { margin: 0; padding: 10px 12px; background: #FFFFFF; border: 1px solid #EAE5DD !important; border-radius: 10px; color: #11121B; font-style: normal; font-size: 13px; line-height: 1.55; }
body.woocommerce-order-received .woocommerce-customer-details--phone, body.woocommerce-order-received .woocommerce-customer-details--email { margin: 4px 0 0; font-size: 12px; color: rgba(17, 18, 27, 0.75); }

/* ---- MyCryptoCheckout payment widget: compact ---- */
body.woocommerce-order-received .mycryptocheckout.online_payment_instructions { max-width: 100%; margin: 0 0 14px; padding: 16px !important; border-radius: 12px; }
body.woocommerce-order-received .mycryptocheckout .mcc-modern-shell { gap: 14px !important; grid-template-columns: minmax(0, 1fr) 250px !important; }
body.woocommerce-order-received .mycryptocheckout .mcc-modern-title { font-size: 16px !important; margin: 0 0 8px !important; letter-spacing: 0.1em; }
body.woocommerce-order-received .mycryptocheckout .mcc-modern-summary { font-size: 13px !important; margin: 0 0 10px !important; }
body.woocommerce-order-received .mycryptocheckout .mcc-modern-value-card { margin: 10px 0 !important; }
body.woocommerce-order-received .mycryptocheckout .mcc-modern-label { font-size: 11px !important; margin-bottom: 4px !important; }
body.woocommerce-order-received .mycryptocheckout .mcc-modern-value { min-height: 38px !important; padding: 8px 12px !important; font-size: 12.5px !important; border-radius: 10px !important; }
body.woocommerce-order-received .mycryptocheckout .mcc-modern-value-row { gap: 6px; }
body.woocommerce-order-received .mycryptocheckout .mcc-modern-copy { padding: 0 14px !important; min-height: 38px; }
body.woocommerce-order-received .mycryptocheckout .mcc-modern-qr-card, body.woocommerce-order-received .mycryptocheckout .mcc-modern-buttons-card, body.woocommerce-order-received .mycryptocheckout .mcc-modern-currency-card { margin-bottom: 10px !important; padding: 12px !important; border-radius: 12px !important; box-shadow: none !important; }
body.woocommerce-order-received .mycryptocheckout .mcc-modern-qr-card h3, body.woocommerce-order-received .mycryptocheckout .mcc-modern-buttons-card h3 { font-size: 11px !important; letter-spacing: 0.1em; text-transform: uppercase; margin: 0 0 8px !important; color: #11121B !important; }
body.woocommerce-order-received .mycryptocheckout .mcc_qr_code { padding: 8px !important; }
body.woocommerce-order-received .mycryptocheckout .mcc_qr_code img, body.woocommerce-order-received .mycryptocheckout .mcc_qr_code canvas { max-width: 150px !important; }
body.woocommerce-order-received .mycryptocheckout .mcc-modern-wallet-button { min-height: 40px !important; font-size: 12px !important; padding: 6px 14px !important; }
body.woocommerce-order-received .mycryptocheckout .mcc_payment_timer { margin-top: 10px !important; }
body.woocommerce-order-received .mycryptocheckout .mcc_payment_timer .timer, body.woocommerce-order-received .mycryptocheckout .mcc_payment_timer .paid:not(.mcc_hidden) { padding: 10px 14px !important; border-radius: 10px !important; }
body.woocommerce-order-received .mycryptocheckout .mcc_payment_timer .hours_minutes { font-size: 20px !important; }
body.woocommerce-order-received .mycryptocheckout .mcc-modern-notice { padding: 8px 12px; margin-top: 8px; font-size: 12px; }
@media (max-width: 860px) {
body.woocommerce-order-received .mycryptocheckout .mcc-modern-shell { grid-template-columns: 1fr !important; }
body.woocommerce-order-received .cst-thankyou { padding: 0 12px; }
}

/* ==========================================================================
   TYPOGRAPHY REFINEMENT (final layer): lighter, sleeker weights site-wide
   Headings 600 (semibold) with refined tracking; labels / small text 400-500;
   buttons 600. Weight, tracking and smoothing only, no layout or markup changes.
   ========================================================================== */
html, body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
strong, b, th { font-weight: 600; }

/* Headings and section titles */
body h1, body h2, body h3, body h4, body h5, body h6,
body .page-landing__title, body .hero__title, body .nl-hero__title, body .nl-brand__title, body .nl-section__title,
body .section-title, body .widget-title, body .cst-related__title, body .related > h2, body .upsells > h2,
body .woocommerce-billing-fields > h3, body .woocommerce-additional-fields > h3, body .woocommerce-shipping-fields > h3,
body #order_review_heading, body .woocommerce-order-details__title, body .woocommerce-column__title,
body .cst-raf-card__title, body .cst-raf-page__head h1, body .cst-raf-step h2, body .jn-related__title,
body .single-product__summary .product_title, body .product_title, body .cart_totals h2 {
font-weight: 600 !important; letter-spacing: 0.06em; -webkit-font-smoothing: antialiased;
}
body h1, body .page-landing__title, body .hero__title, body .nl-hero__title, body .cst-raf-page__head h1 { letter-spacing: 0.03em; }
body .woocommerce-checkout h3, body #order_review_heading, body .woocommerce-billing-fields > h3, body .woocommerce-additional-fields > h3,
body .woocommerce-order-details__title, body .woocommerce-column__title { font-weight: 600 !important; letter-spacing: 0.12em !important; }

/* Form labels, small headers, subtext */
body label, body legend, body .form-row label, body.woocommerce-checkout form.checkout .form-row label,
body .woocommerce-form__label, body .cpgc-intro, body .nl-badge, body .nl-brand__eyebrow, body .site-info,
body .woocommerce-order-overview li, body .cst-raf-page__how, body .mcc-modern-label {
font-weight: 500 !important; -webkit-font-smoothing: antialiased;
}
body p, body li, body td, body address, body .woocommerce-Tabs-panel, body .product-card__price del, body small, body .description,
body .woocommerce-checkout #payment .payment_box, body .cst-raf-page__sub { font-weight: 400; }
body .woocommerce-order-overview li strong, body table.shop_table th, body .woocommerce-checkout-review-order-table th,
body .woocommerce-checkout-review-order-table tfoot th, body .woocommerce-checkout-review-order-table td.product-name { font-weight: 500 !important; }
body table.shop_table .order-total th, body table.shop_table .order-total td, body .woocommerce-checkout-review-order-table tr.order-total th,
body .woocommerce-checkout-review-order-table tr.order-total td, body .woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount { font-weight: 600 !important; }

/* Inputs and selects */
body input, body select, body textarea, body .select2-selection__rendered,
body.woocommerce-checkout form.checkout .form-row input.input-text, body.woocommerce-checkout form.checkout .form-row select, body.woocommerce-checkout form.checkout .form-row textarea { font-weight: 400 !important; letter-spacing: 0.01em; }
body ::placeholder { font-weight: 400 !important; letter-spacing: 0.01em; }

/* Product titles, prices, navigation */
body .product-card__title, body .product-card__title a, body ul.products li.product .woocommerce-loop-product__title,
body .shop-archive .product-card__title a { font-weight: 500 !important; letter-spacing: 0.05em !important; }
body .product-card__price, body .price, body .woocommerce-Price-amount { font-weight: 500 !important; }
body .header-link, body .nl-nav a, body .mobile-drawer__list a, body .mobile-drawer__sub a, body .footer-navigation a, body .site-footer a,
body .category-card__title, body .category-card__cta, body .nl-pill, body .filter-pill { font-weight: 500 !important; letter-spacing: 0.08em; }
body .site-logo, body .site-footer__brand, body .age-gate__title { font-weight: 600 !important; }

/* Buttons: semibold, calm tracking */
body .button, body button, body input[type="submit"], body a.button, body .wp-element-button,
body .product-card .button, body .product-card a.button, body .product-card a.add_to_cart_button, body .product-card .cst-login-cta, body .product-card .cst-oos-btn,
body #place_order, body.woocommerce-checkout #place_order, body .single_add_to_cart_button, body .cst-raf-card__btn, body .cst-swatch,
body .age-gate__btn, body .mcc-modern-copy, body .mcc-modern-wallet-button, body .mcc_woocommerce_clipboard,
body .woocommerce-cart .wc-proceed-to-checkout a.checkout-button, body .jn-cta__links a {
font-weight: 600 !important; letter-spacing: 0.08em; -webkit-font-smoothing: antialiased;
}
body .cst-swatch { font-weight: 500 !important; }

/* Notices and checkout alert text */
body.woocommerce-checkout .woocommerce-error li, body .woocommerce-message, body .woocommerce-info, body .woocommerce-error { font-weight: 500 !important; }

/* ==========================================================================
   MY ACCOUNT: contained 12-column grid (sidebar 3 / content 9), Soft Porcelain
   Layout + styling only; endpoints, nav hooks and login/session scripts untouched.
   ========================================================================== */
body.woocommerce-account .page-landing__content { max-width: 1180px; margin-left: auto; margin-right: auto; padding: 1.5rem 1rem; background: transparent; border: 0; box-shadow: none; }
body.woocommerce-account.logged-in .woocommerce { display: block; max-width: 72rem; margin: 0 auto; }
body.woocommerce-account .woocommerce-notices-wrapper { max-width: 72rem; margin: 0 auto; }

.cst-account { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; align-items: start; width: 100%; max-width: 72rem; margin: 0 auto; box-sizing: border-box; }
@media (min-width: 768px) {
.cst-account { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.cst-account__nav { grid-column: span 3 / span 3; position: sticky; top: 96px; align-self: start; }
.cst-account__content { grid-column: span 9 / span 9; }
}

/* Sidebar */
body .cst-account__nav .woocommerce-MyAccount-navigation { width: 100%; float: none; background: #F8F5F0; border: 1px solid #EAE5DD; border-radius: 14px; padding: 8px; box-sizing: border-box; }
body .cst-account__nav .woocommerce-MyAccount-navigation ul { display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 0; list-style: none; }
body .cst-account__nav .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; }
body .cst-account__nav .woocommerce-MyAccount-navigation a {
display: block; padding: 10px 14px; margin: 0; background: transparent !important; color: #11121B !important; border: 0 !important; border-left: 0 !important; border-radius: 10px;
font-size: 12px; font-weight: 500 !important; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none; box-shadow: none !important;
transition: background-color .18s ease, color .18s ease;
}
body .cst-account__nav .woocommerce-MyAccount-navigation a:hover, body .cst-account__nav .woocommerce-MyAccount-navigation a:focus-visible { background: #FFFFFF !important; color: #11121B !important; }
body .cst-account__nav .woocommerce-MyAccount-navigation .is-active a, body .cst-account__nav .woocommerce-MyAccount-navigation li.is-active a:hover { background: #11121B !important; color: #FFFFFF !important; }
body .cst-account__nav .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 6px; padding-top: 6px; border-top: 1px solid #EAE5DD; }
body .cst-account__nav .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a { color: rgba(17, 18, 27, 0.7) !important; }

/* Content panel */
body.woocommerce-account .woocommerce-MyAccount-content.cst-account__content { float: none; width: auto; min-width: 0; background: #FFFFFF; border: 1px solid #EAE5DD; border-radius: 14px; box-shadow: none; padding: 24px 28px; box-sizing: border-box; color: #11121B; }
body.woocommerce-account .cst-account__content p, body.woocommerce-account .cst-account__content li { font-size: 14px; line-height: 1.7; font-weight: 400; color: #11121B; }
body.woocommerce-account .cst-account__content a:not(.button):not(.woocommerce-button) { color: #11121B; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #B8A58A; }
body.woocommerce-account .cst-account__content h2, body.woocommerce-account .cst-account__content h3, body.woocommerce-account .cst-account__content legend {
color: #11121B !important; font-size: 0.95rem !important; font-weight: 500 !important; letter-spacing: 0.12em !important; text-transform: uppercase; margin: 0 0 14px !important; padding: 0 0 10px; border-bottom: 1px solid #EAE5DD; background: transparent;
}
body.woocommerce-account .cst-account__content legend { border-bottom: 0; padding-bottom: 0; }
body.woocommerce-account .cst-account__content label { color: #11121B !important; font-size: 12px; font-weight: 500 !important; letter-spacing: 0.02em; margin-bottom: 4px; display: block; }
body.woocommerce-account .cst-account__content input.input-text, body.woocommerce-account .cst-account__content input[type="text"], body.woocommerce-account .cst-account__content input[type="email"],
body.woocommerce-account .cst-account__content input[type="password"], body.woocommerce-account .cst-account__content input[type="tel"], body.woocommerce-account .cst-account__content select, body.woocommerce-account .cst-account__content textarea {
width: 100%; box-sizing: border-box; padding: 9px 12px; background: #F8F5F0; color: #11121B; border: 1px solid #EAE5DD; border-radius: 8px; font-size: 14px; font-weight: 400 !important; box-shadow: none; outline: none;
}
body.woocommerce-account .cst-account__content input:focus, body.woocommerce-account .cst-account__content select:focus, body.woocommerce-account .cst-account__content textarea:focus { background: #FFFFFF; border-color: #11121B; box-shadow: none; }
body.woocommerce-account .cst-account__content .woocommerce-form-row, body.woocommerce-account .cst-account__content .form-row { margin: 0 0 12px; padding: 0; }
body.woocommerce-account .cst-account__content fieldset { margin: 18px 0 0; padding: 14px 16px; border: 1px solid #EAE5DD; border-radius: 12px; background: #F8F5F0; }
body.woocommerce-account .cst-account__content .woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
body.woocommerce-account .cst-account__content .woocommerce-Address { margin: 0; padding: 14px 16px; background: #F8F5F0; border: 1px solid #EAE5DD; border-radius: 12px; }
body.woocommerce-account .cst-account__content .woocommerce-Address-title h3 { border: 0; padding: 0; margin: 0 0 8px !important; }
body.woocommerce-account .cst-account__content address { font-style: normal; font-size: 13px; line-height: 1.6; color: #11121B; border: 0; padding: 0; }

/* Orders / downloads tables */
body.woocommerce-account .cst-account__content table.shop_table, body.woocommerce-account .cst-account__content table.woocommerce-orders-table {
width: 100%; max-width: 100%; table-layout: auto; margin: 0; border: 1px solid #EAE5DD !important; border-radius: 12px; border-collapse: separate; border-spacing: 0; background: #FFFFFF !important; box-shadow: none; overflow: hidden;
}
body.woocommerce-account .cst-account__content table.shop_table th, body.woocommerce-account .cst-account__content table.shop_table td {
padding: 10px 12px !important; font-size: 13px !important; font-weight: 400 !important; line-height: 1.45; color: #11121B !important; background: transparent !important; border: 0 !important; border-bottom: 1px solid #EAE5DD !important; vertical-align: middle; text-align: left;
}
body.woocommerce-account .cst-account__content table.shop_table thead th { background: #F8F5F0 !important; font-size: 11px !important; font-weight: 500 !important; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(17, 18, 27, 0.7) !important; }
body.woocommerce-account .cst-account__content table.shop_table tbody tr:last-child td, body.woocommerce-account .cst-account__content table.shop_table tbody tr:last-child th { border-bottom: 0 !important; }
body.woocommerce-account .cst-account__content table.shop_table tbody tr:hover td { background: #F8F5F0 !important; }
body.woocommerce-account .cst-account__content table.shop_table td.woocommerce-orders-table__cell-order-actions { white-space: nowrap; }
@media (max-width: 767px) { body.woocommerce-account .cst-account__content { padding: 16px; overflow-x: auto; } body.woocommerce-account .cst-account__content table.shop_table { display: table; min-width: 520px; } }

/* Action buttons: View / Pay / Cancel / Save etc. as compact ink pills */
body.woocommerce-account .cst-account__content .button, body.woocommerce-account .cst-account__content a.button, body.woocommerce-account .cst-account__content button.button,
body.woocommerce-account .cst-account__content .woocommerce-button, body.woocommerce-account .cst-account__content .woocommerce-Button {
display: inline-flex; align-items: center; justify-content: center; padding: 7px 16px !important; min-height: 0; margin: 0 4px 0 0;
background: #11121B !important; background-image: none !important; color: #FFFFFF !important; border: 1px solid #11121B !important; border-radius: 999px !important; box-shadow: none !important;
font-size: 11px !important; font-weight: 600 !important; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none !important; line-height: 1.4; cursor: pointer;
transition: background-color .18s ease, border-color .18s ease;
}
body.woocommerce-account .cst-account__content .button:hover, body.woocommerce-account .cst-account__content a.button:hover, body.woocommerce-account .cst-account__content button.button:hover,
body.woocommerce-account .cst-account__content .woocommerce-button:hover, body.woocommerce-account .cst-account__content .woocommerce-Button:hover { background: #2A2C3D !important; border-color: #2A2C3D !important; color: #FFFFFF !important; }
body.woocommerce-account .cst-account__content a.button.cancel, body.woocommerce-account .cst-account__content a.woocommerce-button.cancel { background: transparent !important; color: #11121B !important; }
body.woocommerce-account .cst-account__content a.button.cancel:hover { background: #11121B !important; color: #FFFFFF !important; }

/* Notices / verification warnings inside the content column */
body.woocommerce-account .cst-account__content .woocommerce-message, body.woocommerce-account .cst-account__content .woocommerce-info, body.woocommerce-account .cst-account__content .woocommerce-error,
body.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message, body.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info, body.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error {
display: block; width: 100%; max-width: 100%; box-sizing: border-box; margin: 0 0 16px !important; padding: 12px 16px !important; list-style: none !important;
background: #F8F5F0 !important; color: #11121B !important; border: 1px solid #11121B !important; border-left-width: 4px !important; border-radius: 10px !important; box-shadow: none !important;
font-size: 13px; font-weight: 500 !important; line-height: 1.55; text-align: left; text-transform: none; letter-spacing: 0; overflow-wrap: anywhere;
}
body.woocommerce-account .woocommerce-message::before, body.woocommerce-account .woocommerce-info::before, body.woocommerce-account .woocommerce-error::before { display: none !important; content: none !important; }
body.woocommerce-account .woocommerce-message .button, body.woocommerce-account .woocommerce-info .button { float: none; margin: 0 0 0 10px; }
body.woocommerce-account .woocommerce-error li { margin: 0; padding: 2px 0; list-style: none; }

/* Mobile: sidebar becomes a horizontal pill scroller above the content */
@media (max-width: 767px) {
.cst-account { gap: 1rem; }
body .cst-account__nav .woocommerce-MyAccount-navigation { padding: 6px; border-radius: 12px; }
body .cst-account__nav .woocommerce-MyAccount-navigation ul { flex-direction: row; overflow-x: auto; gap: 4px; -webkit-overflow-scrolling: touch; }
body .cst-account__nav .woocommerce-MyAccount-navigation li { flex: 0 0 auto; }
body .cst-account__nav .woocommerce-MyAccount-navigation a { white-space: nowrap; padding: 8px 12px; }
body .cst-account__nav .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout { margin: 0; padding: 0; border: 0; }
}

/* ==========================================================================
   AGE GATE + NEW MEMBERS CARD redesign (final layer)
   Visual only: cookie logic, gate script, redirects and account link are untouched.
   ========================================================================== */

/* ---- Age gate ---- */
body .age-gate { background: rgba(17, 18, 27, 0.78) !important; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
body .age-gate__card {
position: relative; max-width: 440px !important; padding: 0 !important; overflow: hidden; text-align: center;
background: rgba(248, 245, 240, 0.96) !important; color: #11121B;
border: 1px solid rgba(255, 255, 255, 0.55) !important; border-radius: 24px !important;
box-shadow: 0 0 0 1px rgba(121, 43, 238, 0.18), 0 0 38px rgba(121, 43, 238, 0.22), 0 0 70px rgba(0, 221, 245, 0.12), 0 24px 60px rgba(17, 18, 27, 0.45) !important;
}
body .age-gate__accent { position: relative; height: 128px; overflow: hidden; background: #11121B; }
body .age-gate__accent img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; opacity: 0.92; }
body .age-gate__accent::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17, 18, 27, 0) 45%, rgba(248, 245, 240, 0.96) 100%); }
body .age-gate__logo { display: block; width: auto; max-width: 170px; height: auto; max-height: 56px; margin: -34px auto 0; position: relative; z-index: 1; object-fit: contain; }
body .age-gate__brand { position: relative; z-index: 1; margin: -20px 0 0; color: #11121B !important; font-weight: 500 !important; letter-spacing: 0.18em; font-size: 0.85rem !important; }
body .age-gate__prompt, body .age-gate__blocked { padding: 14px 32px 32px; }
body .age-gate__title { margin: 8px 0 8px !important; color: #11121B !important; font-size: 1.2rem !important; font-weight: 500 !important; letter-spacing: 0.06em !important; line-height: 1.35; text-transform: none !important; text-wrap: balance; overflow-wrap: normal; }
body .age-gate__text { margin: 0 0 22px !important; color: rgba(17, 18, 27, 0.7) !important; font-size: 0.9rem !important; font-weight: 400 !important; letter-spacing: 0.02em !important; line-height: 1.6; text-transform: none !important; text-wrap: balance; }
body .age-gate__actions { display: flex; flex-direction: column; gap: 10px; }
body .age-gate__btn { width: 100%; padding: 13px 20px !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: 0.14em !important; text-transform: uppercase; border-radius: 999px !important; cursor: pointer; transition: background-color .2s ease, border-color .2s ease, transform .2s ease; box-shadow: none !important; }
body .age-gate__btn--yes { color: #FFFFFF !important; background: #11121B !important; border: 1px solid #11121B !important; }
body .age-gate__btn--yes:hover, body .age-gate__btn--yes:focus-visible { background: #2A2C3D !important; border-color: #2A2C3D !important; transform: translateY(-1px); box-shadow: 0 8px 22px rgba(17, 18, 27, 0.25) !important; }
body .age-gate__btn--no { color: #11121B !important; background: transparent !important; border: 1px solid #EAE5DD !important; }
body .age-gate__btn--no:hover, body .age-gate__btn--no:focus-visible { background: #FFFFFF !important; border-color: #11121B !important; }
@media (max-width: 480px) { body .age-gate__accent { height: 104px; } body .age-gate__prompt, body .age-gate__blocked { padding: 12px 22px 26px; } body .age-gate__title { font-size: 1.05rem !important; } }

/* ---- New members card ---- */
body .promo-banner-wrap .promo-banner, body.home .promo-banner {
display: grid !important; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 0 !important; align-items: stretch; padding: 0 !important; overflow: hidden;
background: #F8F5F0 !important; border: 1px solid #EAE5DD !important; border-radius: 20px !important; box-shadow: none !important; color: #11121B;
}
body .promo-banner__visual { position: relative; min-height: 150px; background: #11121B; }
body .promo-banner__visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
body .promo-banner__body { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 14px; padding: 22px 28px; min-width: 0; }
body .promo-banner:not(:has(.promo-banner__visual)) { grid-template-columns: 1fr; }
body .promo-banner__text { margin: 0; color: #11121B !important; font-size: 0.95rem !important; font-weight: 400 !important; letter-spacing: 0.03em !important; line-height: 1.7; text-transform: none !important; text-align: left; }
body .promo-banner__code {
display: inline-block; margin-left: 4px; padding: 3px 12px; vertical-align: baseline; color: #11121B !important; background: #FFFFFF !important; border: 1px dashed #11121B !important; border-radius: 8px !important;
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.9rem; font-weight: 500 !important; letter-spacing: 0.14em; text-shadow: none;
}
body .promo-banner__btn {
display: inline-flex; align-items: center; justify-content: center; padding: 11px 28px !important; color: #FFFFFF !important; background: #11121B !important; border: 1px solid #11121B !important; border-radius: 999px !important;
font-size: 12px !important; font-weight: 500 !important; letter-spacing: 0.14em !important; text-transform: uppercase; text-decoration: none; box-shadow: none !important; transition: background-color .2s ease, transform .2s ease;
}
body .promo-banner__btn:hover, body .promo-banner__btn:focus-visible { color: #FFFFFF !important; background: #2A2C3D !important; border-color: #2A2C3D !important; transform: translateY(-1px); box-shadow: 0 8px 22px rgba(17, 18, 27, 0.2) !important; }
@media (max-width: 767px) {
body .promo-banner-wrap .promo-banner, body.home .promo-banner { grid-template-columns: 1fr; }
body .promo-banner__visual { min-height: 0; aspect-ratio: 16 / 7; }
body .promo-banner__body { align-items: center; text-align: center; padding: 18px 18px 22px; }
body .promo-banner__text { text-align: center; }
body .promo-banner__btn { width: 100%; box-sizing: border-box; }
}

/* ==========================================================================
   MY ACCOUNT (logged out): Login + Register side by side, Soft Porcelain
   Styling only; form fields, nonces and authentication hooks are untouched.
   ========================================================================== */
body.woocommerce-account:not(.logged-in) .woocommerce { display: block; max-width: 56rem; margin: 0 auto; }
body.woocommerce-account .cst-auth, body.woocommerce-account #customer_login { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; width: 100%; max-width: 56rem; margin: 0 auto; }
body.woocommerce-account .cst-auth .u-column1, body.woocommerce-account .cst-auth .u-column2 { float: none !important; width: auto !important; max-width: 100%; margin: 0; }
body.woocommerce-account .cst-auth__card { box-sizing: border-box; padding: 24px 26px; background: #F8F5F0; border: 1px solid #EAE5DD; border-radius: 16px; box-shadow: none; color: #11121B; }
body.woocommerce-account .cst-auth__card--register { background: #FFFFFF; border-color: #11121B; }
body.woocommerce-account .cst-auth__card h2 { margin: 0 0 12px !important; padding: 0 0 10px; color: #11121B !important; font-size: 0.95rem !important; font-weight: 500 !important; letter-spacing: 0.14em !important; text-transform: uppercase; border-bottom: 1px solid #EAE5DD; background: transparent; }
body.woocommerce-account .cst-auth__perk { margin: 0 0 14px !important; padding: 8px 12px; background: #F8F5F0; border: 1px dashed #11121B; border-radius: 10px; color: #11121B; font-size: 13px; font-weight: 400; line-height: 1.5; }
body.woocommerce-account .cst-auth__card p { font-size: 13px; line-height: 1.6; font-weight: 400; color: rgba(17, 18, 27, 0.8); }
body.woocommerce-account .cst-auth__card .form-row { margin: 0 0 12px; padding: 0; }
body.woocommerce-account .cst-auth__card label { display: block; margin: 0 0 4px; color: #11121B !important; font-size: 12px; font-weight: 500 !important; letter-spacing: 0.02em; }
body.woocommerce-account .cst-auth__card .required { color: #8A5A44; text-decoration: none; }
body.woocommerce-account .cst-auth__card input.input-text, body.woocommerce-account .cst-auth__card input[type="text"], body.woocommerce-account .cst-auth__card input[type="email"], body.woocommerce-account .cst-auth__card input[type="password"] {
width: 100%; box-sizing: border-box; padding: 10px 12px; background: #F8F5F0 !important; color: #11121B; border: 1px solid #EAE5DD !important; border-radius: 8px; font-size: 14px; font-weight: 400 !important; box-shadow: none !important; outline: none;
}
body.woocommerce-account .cst-auth__card--register input.input-text, body.woocommerce-account .cst-auth__card--register input[type="email"] { background: #FFFFFF !important; border-color: #EAE5DD !important; }
body.woocommerce-account .cst-auth__card input:focus { background: #FFFFFF !important; border-color: #11121B !important; box-shadow: none !important; }
body.woocommerce-account .cst-auth__card .woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: 8px; margin: 4px 0 10px; font-weight: 400 !important; cursor: pointer; }
body.woocommerce-account .cst-auth__card input[type="checkbox"] { accent-color: #11121B; }
body.woocommerce-account .cst-auth__card button.button, body.woocommerce-account .cst-auth__card .woocommerce-Button, body.woocommerce-account .cst-auth__card .woocommerce-button {
display: inline-flex; align-items: center; justify-content: center; width: 100%; padding: 12px 20px !important; background: #11121B !important; background-image: none !important; color: #FFFFFF !important; border: 1px solid #11121B !important; border-radius: 999px !important;
font-size: 12px !important; font-weight: 500 !important; letter-spacing: 0.14em; text-transform: uppercase; box-shadow: none !important; cursor: pointer; transition: background-color .2s ease, transform .2s ease;
}
body.woocommerce-account .cst-auth__card button.button:hover, body.woocommerce-account .cst-auth__card .woocommerce-Button:hover { background: #2A2C3D !important; border-color: #2A2C3D !important; transform: translateY(-1px); }
body.woocommerce-account .cst-auth__card .woocommerce-form-login__rememberme { width: auto; }
body.woocommerce-account .cst-auth__card .woocommerce-form-row + .form-row, body.woocommerce-account .cst-auth__card p.form-row { display: block; }
body.woocommerce-account .cst-auth__card .woocommerce-LostPassword { margin: 12px 0 0; text-align: center; }
body.woocommerce-account .cst-auth__card .woocommerce-LostPassword a { color: #11121B; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) { body.woocommerce-account .cst-auth, body.woocommerce-account #customer_login { grid-template-columns: 1fr; gap: 16px; } body.woocommerce-account .cst-auth__card { padding: 18px; } }

/* Logged-out notice above the forms: contained banner */
body.woocommerce-account:not(.logged-in) .woocommerce-notices-wrapper { max-width: 56rem; margin: 0 auto 16px; }

/* ==========================================================================
   SET / LOST PASSWORD: Soft Porcelain card, readable labels, ink buttons
   CSS only: reset key/login fields, nonce, strength meter and toggle scripts untouched.
   ========================================================================== */
body.woocommerce-lost-password .page-landing__content, body.woocommerce-account .page-landing__content:has(form.lost_reset_password) { max-width: 560px; margin-left: auto; margin-right: auto; background: transparent; border: 0; box-shadow: none; padding-left: 1rem; padding-right: 1rem; }
body.woocommerce-lost-password .page-landing__title, body.woocommerce-lost-password h1, body.woocommerce-lost-password .woocommerce-MyAccount-content h2 {
color: #11121B !important; font-size: clamp(1.15rem, 3vw, 1.5rem) !important; font-weight: 500 !important; letter-spacing: 0.14em !important; text-transform: uppercase; text-align: center; text-shadow: none !important;
}
body form.lost_reset_password, body form.woocommerce-ResetPassword {
box-sizing: border-box; width: 100%; max-width: 480px; margin: 0 auto; padding: 26px 28px; background: #F8F5F0 !important; color: #11121B !important;
border: 1px solid #EAE5DD !important; border-radius: 16px !important; box-shadow: none !important;
}
body form.lost_reset_password p, body form.woocommerce-ResetPassword p { color: #11121B !important; font-size: 14px; font-weight: 400 !important; line-height: 1.65; letter-spacing: 0.01em; margin: 0 0 14px; }
body form.lost_reset_password .form-row, body form.lost_reset_password .form-row-first, body form.lost_reset_password .form-row-last { float: none !important; width: 100% !important; margin: 0 0 14px !important; padding: 0 !important; clear: both; }
body form.lost_reset_password label { display: block; margin: 0 0 5px; color: #11121B !important; font-size: 12px; font-weight: 500 !important; letter-spacing: 0.04em; line-height: 1.4; }
body form.lost_reset_password label .required, body form.lost_reset_password .required { color: #8A5A44 !important; text-decoration: none; font-weight: 500; }
body form.lost_reset_password input.input-text, body form.lost_reset_password input[type="password"], body form.lost_reset_password input[type="text"], body form.lost_reset_password input[type="email"] {
width: 100%; box-sizing: border-box; padding: 10px 44px 10px 12px; background: #FFFFFF !important; color: #11121B !important; border: 1px solid #EAE5DD !important; border-radius: 8px !important;
font-size: 14px; font-weight: 400 !important; box-shadow: none !important; outline: none; transition: border-color .15s ease;
}
body form.lost_reset_password input:focus { border-color: #11121B !important; box-shadow: none !important; }
body form.lost_reset_password .password-input { position: relative; display: block; width: 100%; }
body form.lost_reset_password .show-password-input { position: absolute; top: 50%; right: 8px; left: auto; transform: translateY(-50%); width: 30px; height: 30px; margin: 0; padding: 0; background: transparent !important; border: 0 !important; box-shadow: none !important; cursor: pointer; opacity: 0.75; }
body form.lost_reset_password .show-password-input::after { color: #11121B; }
body form.lost_reset_password .show-password-input:hover, body form.lost_reset_password .show-password-input:focus-visible { opacity: 1; }
body form.lost_reset_password .woocommerce-password-strength { margin: 8px 0 0; padding: 6px 10px; border-radius: 8px; font-size: 12px; font-weight: 500; text-align: left; background: #FFFFFF; color: #11121B !important; border: 1px solid #EAE5DD; }
body form.lost_reset_password .woocommerce-password-strength.short, body form.lost_reset_password .woocommerce-password-strength.bad { border-color: #A4372B; }
body form.lost_reset_password .woocommerce-password-strength.good, body form.lost_reset_password .woocommerce-password-strength.strong { border-color: #11121B; }
body form.lost_reset_password .woocommerce-password-hint { display: block; margin: 8px 0 0; color: rgba(17, 18, 27, 0.75) !important; font-size: 12px; font-weight: 400; line-height: 1.5; }
body form.lost_reset_password button.button, body form.lost_reset_password .woocommerce-Button, body form.lost_reset_password button[type="submit"] {
display: inline-flex; align-items: center; justify-content: center; width: 100%; padding: 12px 20px !important; margin: 4px 0 0; background: #11121B !important; background-image: none !important; color: #FFFFFF !important;
border: 1px solid #11121B !important; border-radius: 999px !important; box-shadow: none !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; transition: background-color .2s ease, transform .2s ease;
}
body form.lost_reset_password button.button:hover, body form.lost_reset_password .woocommerce-Button:hover, body form.lost_reset_password button[type="submit"]:hover { background: #2A2C3D !important; border-color: #2A2C3D !important; transform: translateY(-1px); }
body form.lost_reset_password button:disabled, body form.lost_reset_password button[disabled] { opacity: 0.55; cursor: not-allowed; transform: none; }
@media (max-width: 520px) { body form.lost_reset_password, body form.woocommerce-ResetPassword { padding: 20px 18px; } }
