/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  SHDW Research child theme. Base dark/WooCommerce styles here; layout overrides in additional.css (enqueued from functions.php).
 Author:       SHDW Research
 Template:     generatepress
 Version:      1.0.1
 Text Domain:  generatepress-child
*/

/* =========================================================
   SHDW Research Premium Dark E-commerce Styling
   Base layer: GeneratePress + WooCommerce
   Nav/layout overrides live in additional.css
   ========================================================= */

/* ===== 1) GLOBAL DARK STYLING ===== */
:root {
	--shdw-bg: #050505;
	--shdw-bg-soft: #0b0b0b;
	--shdw-surface: #111111;
	--shdw-surface-2: #171717;
	--shdw-text: #f5f5f5;
	--shdw-text-muted: #b7b7b7;
	--shdw-accent: #12a36f;
	--shdw-accent-strong: #18c485;
	--shdw-border: #2a2a2a;
	--shdw-radius: 10px;
	--shdw-transition: 220ms ease;
	--shdw-ui-font: "Oswald", "Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif;
	/* Mobile content gutters (desktop unchanged) */
	--shdw-mobile-gutter: 16px;
	--shdw-mobile-gutter-sm: 14px;
}

html,
body {
	background-color: var(--shdw-bg);
	color: var(--shdw-text);
}

body,
button,
input,
select,
textarea {
	color: var(--shdw-text);
}

a {
	color: var(--shdw-accent);
	transition: color var(--shdw-transition), opacity var(--shdw-transition);
}

a:hover,
a:focus {
	color: var(--shdw-accent-strong);
}

.site,
.site-content {
	background-color: transparent;
}

.inside-article,
.widget,
.sidebar .widget,
.separate-containers .inside-article {
	background: var(--shdw-bg-soft);
	border: 1px solid var(--shdw-border);
}

/* ===== 2) HEADER / NAV / DROPDOWNS ===== */
.site-header,
.main-navigation,
.navigation-search {
	background-color: #000000;
}

.navigation-search {
	background: #000000 !important;
	border-top: 1px solid #1d1d1d;
	border-bottom: 1px solid #1d1d1d;
}

.navigation-search.nav-search-active,
.navigation-search form,
.navigation-search .search-form,
.navigation-search .search-field {
	background: #000000 !important;
}

.navigation-search input[type="search"] {
	background: #070707 !important;
	color: #ffffff !important;
	border: 1px solid #2a2a2a !important;
	border-radius: 4px;
}

.navigation-search input[type="search"]::placeholder {
	color: rgba(255, 255, 255, 0.6);
}

.navigation-search .search-field,
.navigation-search input.search-field {
	background: #070707 !important;
	color: #ffffff !important;
}

/* GeneratePress: search panel can inherit light widget backgrounds — force dark */
.main-navigation .navigation-search,
.main-navigation .navigation-search .inside-navigation,
.main-navigation .navigation-search .widget,
.main-navigation .navigation-search .widget_search {
	background: #000000 !important;
	color: #f5f5f5 !important;
}

.main-navigation .navigation-search input[type="text"],
.main-navigation .navigation-search input[type="search"],
.main-navigation .navigation-search textarea {
	background: #070707 !important;
	color: #ffffff !important;
	border: 1px solid #2a2a2a !important;
}

.main-navigation .navigation-search button,
.main-navigation .navigation-search input[type="submit"] {
	background: #000000 !important;
	color: #ffffff !important;
	border: 1px solid #ffffff !important;
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 9999;
	border-bottom: 1px solid #1d1d1d;
	backdrop-filter: saturate(130%) blur(6px);
}

.main-navigation .main-nav ul li > a,
.main-navigation .menu-toggle,
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
	color: #ffffff;
	font-family: var(--shdw-ui-font);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	transition: color var(--shdw-transition), background-color var(--shdw-transition);
}

.main-navigation .main-nav ul li > a:hover,
.main-navigation .main-nav ul li.sfHover > a,
.main-navigation .main-nav ul li[class*="current-menu-"] > a:hover {
	color: var(--shdw-accent-strong);
}

.main-navigation ul ul {
	background: #0a0a0a;
	border: 1px solid var(--shdw-border);
	border-radius: 0 0 var(--shdw-radius) var(--shdw-radius);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.6);
	overflow: hidden;
}

.main-navigation ul ul li a {
	color: #ffffff;
	font-family: var(--shdw-ui-font);
	font-size: 0.92rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 12px 16px;
	border-bottom: 1px solid #1f1f1f;
	transition: background-color var(--shdw-transition), color var(--shdw-transition);
}

.main-navigation ul ul li:last-child a {
	border-bottom: 0;
}

.main-navigation ul ul li a:hover {
	background: #121212;
	color: var(--shdw-accent-strong);
}

/* ===== 3) WOOCOMMERCE PRODUCT GRID / CARDS ===== */
/* Explicit columns: bare `display: grid` collapses to one column; WC clearfix ::before/::after
   must not become grid items or products stack as a narrow column. */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 22px;
	align-items: stretch;
	list-style: none;
}

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

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	float: none !important;
	width: auto !important;
	max-width: none;
	margin: 0 !important;
	clear: none !important;
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--shdw-surface);
	border: 1px solid var(--shdw-border);
	border-radius: var(--shdw-radius);
	padding: 0;
	overflow: hidden;
	text-align: left;
	transition: transform var(--shdw-transition), border-color var(--shdw-transition), box-shadow var(--shdw-transition);
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
	transform: translateY(-4px);
	border-color: var(--shdw-accent);
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.4);
}

/* Link wraps image + text and fills the card so the button sits at the bottom */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	text-decoration: none;
}

.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background: var(--shdw-surface-2);
	border: 0;
	border-radius: 0;
	padding: 0;
	margin: 0 0 14px;
	transition: transform 400ms ease;
}

.woocommerce ul.products li.product:hover a img,
.woocommerce-page ul.products li.product:hover a img {
	transform: scale(1.05);
}

/* Category eyebrow (output via shdw_loop_category_eyebrow) */
.shdw-loop-cat {
	display: block;
	font-family: var(--shdw-ui-font);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--shdw-accent);
	padding: 0 16px;
	margin-bottom: 6px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
	color: var(--shdw-text);
	font-family: var(--shdw-ui-font);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	font-size: 18px;
	line-height: 1.2;
	padding: 0 16px;
	margin: 0 0 10px;
	min-height: 0;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
	color: var(--shdw-text-muted);
	font-size: 15px;
	font-weight: 600;
	padding: 0 16px 14px;
	margin: 0;
}

.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del {
	opacity: 0.45;
	margin-right: 6px;
	color: var(--shdw-text-muted);
}

.woocommerce ul.products li.product .price ins,
.woocommerce-page ul.products li.product .price ins {
	text-decoration: none;
	color: var(--shdw-accent);
}

/* Single product page price keeps its accent color */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--shdw-accent-strong);
	font-weight: 700;
}

/* Sale flash → accent pill, top-right */
.woocommerce ul.products li.product .onsale,
.woocommerce-page ul.products li.product .onsale {
	position: absolute;
	top: 12px;
	right: 12px;
	left: auto;
	margin: 0;
	min-height: 0;
	min-width: 0;
	padding: 3px 10px;
	background: var(--shdw-accent);
	color: #fff;
	font-family: var(--shdw-ui-font);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-radius: 100px;
	line-height: 1.4;
}

.woocommerce .star-rating span {
	color: var(--shdw-accent);
}

.shdw-mobile-cats {
	display: none;
}

/* ===== 4) BUTTONS ===== */
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	background: #000000;
	color: #ffffff;
	font-family: var(--shdw-ui-font);
	border: 1px solid #ffffff;
	border-radius: 4px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-weight: 700;
	padding: 12px 18px;
	transition: background-color var(--shdw-transition), border-color var(--shdw-transition), color var(--shdw-transition), transform var(--shdw-transition);
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.button:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background: var(--shdw-accent);
	border-color: var(--shdw-accent);
	color: #000000;
	transform: translateY(-1px);
}

/* Add to Cart → bottom CTA bar (mirrors homepage card CTA) */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin: auto 0 0;
	padding: 12px 16px;
	background: transparent;
	color: var(--shdw-text-muted);
	border: 0;
	border-top: 1px solid var(--shdw-border);
	border-radius: 0;
	font-family: var(--shdw-ui-font);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	transition: color var(--shdw-transition), background var(--shdw-transition);
}

.woocommerce ul.products li.product .button::after,
.woocommerce-page ul.products li.product .button::after {
	content: "\2192";
	color: inherit;
	font-weight: 400;
}

.woocommerce ul.products li.product:hover .button,
.woocommerce-page ul.products li.product:hover .button,
.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover {
	background: transparent;
	color: var(--shdw-accent);
	border-color: var(--shdw-border);
	transform: none;
}

.woocommerce ul.products li.product .added_to_cart {
	display: block;
	padding: 0 16px 14px;
	font-family: var(--shdw-ui-font);
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--shdw-accent);
}

/* Single product page: match Shop button styling (black/white -> green hover) */
.single-product .woocommerce div.product form.cart .single_add_to_cart_button,
.single-product .woocommerce div.product form.cart button.single_add_to_cart_button,
.single-product .woocommerce div.product form.cart .button,
.single-product .woocommerce div.product .cart .button,
.single-product .woocommerce div.product form.cart .button.alt,
.single-product .woocommerce div.product form.cart button.button.alt,
.single-product .woocommerce div.product form.cart input.button.alt,
body.single-product .woocommerce-page div.product form.cart .button.alt,
body.single-product .woocommerce div.product form.cart .single_add_to_cart_button.alt {
	background: #000000 !important;
	background-color: #000000 !important;
	color: #ffffff !important;
	border: 1px solid #ffffff !important;
	border-radius: 4px !important;
	font-family: var(--shdw-ui-font);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.single-product .woocommerce div.product form.cart .single_add_to_cart_button:hover,
.single-product .woocommerce div.product form.cart button.single_add_to_cart_button:hover,
.single-product .woocommerce div.product form.cart .button:hover,
.single-product .woocommerce div.product .cart .button:hover,
.single-product .woocommerce div.product form.cart .button.alt:hover,
.single-product .woocommerce div.product form.cart button.button.alt:hover,
.single-product .woocommerce div.product form.cart input.button.alt:hover,
body.single-product .woocommerce-page div.product form.cart .button.alt:hover,
body.single-product .woocommerce div.product form.cart .single_add_to_cart_button.alt:hover,
.single-product .woocommerce div.product form.cart .single_add_to_cart_button:focus,
.single-product .woocommerce div.product form.cart button.single_add_to_cart_button:focus,
.single-product .woocommerce div.product form.cart .button:focus,
.single-product .woocommerce div.product .cart .button:focus,
.single-product .woocommerce div.product form.cart .button.alt:focus,
.single-product .woocommerce div.product form.cart button.button.alt:focus,
.single-product .woocommerce div.product form.cart input.button.alt:focus,
body.single-product .woocommerce-page div.product form.cart .button.alt:focus,
body.single-product .woocommerce div.product form.cart .single_add_to_cart_button.alt:focus {
	background: var(--shdw-accent) !important;
	background-color: var(--shdw-accent) !important;
	border-color: var(--shdw-accent) !important;
	color: #000000 !important;
}

/* Shop archive: toolbar + native ordering select (not Select2) */
.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select {
	background: #070707 !important;
	color: #f5f5f5 !important;
	border: 1px solid #333333 !important;
	border-radius: 6px;
	padding: 10px 36px 10px 12px;
	font-family: var(--shdw-ui-font);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
	appearance: auto;
}

.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering {
	margin: 0;
}

/* ===== 5) SECTION HEADINGS ===== */
h1,
h2,
h3,
.entry-title,
.widget-title,
.wp-block-heading {
	color: #ffffff;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

h2,
.woocommerce-products-header__title,
.woocommerce-related-products__title,
.wp-block-heading {
	position: relative;
	font-size: clamp(1.8rem, 3.4vw, 3rem);
	line-height: 1.1;
	padding-bottom: 10px;
	margin-bottom: 26px;
}

h2::after,
.woocommerce-products-header__title::after,
.woocommerce-related-products__title::after,
.wp-block-heading::after {
	content: "";
	display: block;
	width: 100%;
	max-width: 220px;
	height: 1px;
	background: linear-gradient(90deg, #ffffff 0%, #4a4a4a 100%);
	margin-top: 10px;
}

/* ===== 6) CATEGORY / BANNER BLOCKS ===== */
.wp-block-group.has-background,
.woocommerce .product-category a,
.woocommerce ul.products li.product-category {
	background-color: #0b0b0b;
	border: 1px solid #1f1f1f;
	border-radius: var(--shdw-radius);
	overflow: hidden;
}

.woocommerce ul.products li.product-category {
	padding: 0;
}

.woocommerce ul.products li.product-category a {
	display: block;
	background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.65) 100%);
	transition: transform var(--shdw-transition), box-shadow var(--shdw-transition), border-color var(--shdw-transition);
}

.woocommerce ul.products li.product-category a:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 28px rgba(0, 0, 0, 0.5);
}

.woocommerce ul.products li.product-category h2.woocommerce-loop-category__title {
	color: #ffffff;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: clamp(1rem, 1.9vw, 1.3rem);
	padding: 14px 14px 18px;
	margin: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.72));
}

.woocommerce ul.products li.product-category mark.count {
	background: transparent;
	color: var(--shdw-accent-strong);
	font-weight: 700;
}

/* ===== 7) MOBILE RESPONSIVENESS ===== */
@media (max-width: 1024px) {
	.main-navigation .main-nav ul li > a {
		letter-spacing: 0.03em;
	}

	.woocommerce ul.products,
	.woocommerce-page ul.products {
		grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
		gap: 18px;
	}

	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li.product {
		padding: 14px;
	}

	/* Touch / small laptop: hide hover-only sidebar rail (no comfortable hover target) */
	.shdw-sidebar-strip {
		transform: translateX(-100%);
		opacity: 0;
		pointer-events: none;
	}
}

@media (max-width: 768px) {
	.site-header {
		position: sticky;
	}

	#site-navigation .inside-navigation {
		display: flex;
		align-items: center;
		flex-wrap: nowrap;
		justify-content: space-between;
		gap: 6px;
	}

	.main-navigation .menu-toggle {
		color: #ffffff !important;
		border: 1px solid rgba(255, 255, 255, 0.7) !important;
		background: #0f1113 !important;
		min-width: 44px;
		min-height: 44px;
		padding: 10px 10px !important;
		margin-left: 0 !important;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border-radius: 4px;
		font-family: var(--shdw-ui-font);
		font-size: 10px;
		font-weight: 700;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		line-height: 1;
		touch-action: manipulation;
		white-space: nowrap;
	}

	.main-navigation .menu-bar-items {
		margin-left: 0 !important;
		display: inline-flex;
		align-items: center;
		gap: 0;
		flex: 0 0 auto;
	}

	.main-navigation .main-nav ul li > a {
		padding-top: 14px;
		padding-bottom: 14px;
		min-height: 44px;
		display: flex;
		align-items: center;
	}

	h2,
	.woocommerce-products-header__title,
	.woocommerce-related-products__title,
	.wp-block-heading {
		font-size: clamp(1.5rem, 7vw, 2.2rem);
	}

	.woocommerce ul.products,
	.woocommerce-page ul.products {
		gap: 12px;
	}

	/* Shop + category archives: two columns; rows stack for all products */
	.woocommerce-page.post-type-archive-product ul.products,
	.woocommerce-page.tax-product_cat ul.products,
	.woocommerce-page.tax-product_tag ul.products,
	body.woocommerce-shop ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
		font-size: 0.9rem;
	}

	/* Page breathing room on phones / small tablets */
	.separate-containers .inside-article,
	.one-container .site-content,
	.full-width-content.one-container .site-content {
		padding-left: var(--shdw-mobile-gutter) !important;
		padding-right: var(--shdw-mobile-gutter) !important;
	}

	.woocommerce-page .woocommerce,
	.woocommerce .woocommerce {
		padding-left: 0;
		padding-right: 0;
	}

	.woocommerce .woocommerce-breadcrumb {
		font-size: 0.8rem;
		line-height: 1.45;
		margin-bottom: 14px;
	}

	/* Shop / archive: stack toolbar for thumb reach */
	.woocommerce-products-header {
		display: flex;
		flex-direction: column;
		align-items: stretch !important;
		gap: 12px;
		margin-bottom: 18px;
	}

	.woocommerce-result-count {
		margin: 0 !important;
		padding: 0;
		float: none !important;
		text-align: left;
	}

	.woocommerce .woocommerce-ordering,
	.woocommerce-page .woocommerce-ordering {
		float: none !important;
		width: 100%;
		margin: 0 !important;
	}

	.woocommerce .woocommerce-ordering select,
	.woocommerce-page .woocommerce-ordering select {
		width: 100%;
		max-width: 100%;
		min-height: 44px;
		font-size: 11px;
		padding-top: 12px;
		padding-bottom: 12px;
	}

	/* Cart/checkout mobile: force full-width columns and prevent clipped content */
	.woocommerce-page #primary,
	.woocommerce-page .site-main,
	.woocommerce-page .inside-article,
	.woocommerce-page .woocommerce {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box;
	}

	.woocommerce-page .inside-article {
		padding: 14px var(--shdw-mobile-gutter) !important;
	}

	.woocommerce-page .woocommerce-checkout .col2-set .col-1,
	.woocommerce-page .woocommerce-checkout .col2-set .col-2,
	.woocommerce-page .woocommerce-checkout #customer_details,
	.woocommerce-page .woocommerce-checkout #order_review,
	.woocommerce-page .woocommerce-cart-form,
	.woocommerce-page .cart-collaterals,
	.woocommerce-page .cart_totals {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 16px !important;
	}

	.woocommerce-page .woocommerce form .form-row {
		float: none !important;
		width: 100% !important;
	}

	.woocommerce-page .woocommerce form .form-row input.input-text,
	.woocommerce-page .woocommerce form .form-row textarea,
	.woocommerce-page .woocommerce form .form-row select {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	/* Keep table semantics; scroll on wrapper instead of clipping/cropping table cells */
	.woocommerce-page .woocommerce-cart-form,
	.woocommerce-page .woocommerce .shop_table,
	.woocommerce-page .woocommerce-checkout-review-order-table {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.woocommerce-page .woocommerce table.shop_table {
		display: table;
		width: 100%;
		min-width: 0;
		table-layout: fixed;
	}

	/* Cart table in mobile: stack cells so nothing gets clipped right */
	.woocommerce-cart table.shop_table_responsive thead {
		display: none;
	}

	.woocommerce-cart table.shop_table_responsive tr,
	.woocommerce-cart table.shop_table_responsive td {
		display: block;
		width: 100% !important;
		text-align: left !important;
	}

	.woocommerce-cart table.shop_table_responsive tr {
		padding: 10px 0;
		border-bottom: 1px solid #242424;
	}

	.woocommerce-cart table.shop_table_responsive td {
		padding: 8px 0 !important;
		border: 0 !important;
	}

	.woocommerce-cart table.shop_table_responsive td::before {
		content: attr(data-title);
		display: block;
		font-size: 11px;
		color: #b7b7b7;
		text-transform: uppercase;
		letter-spacing: 0.04em;
		margin-bottom: 4px;
	}

	.woocommerce-cart table.shop_table_responsive td.product-thumbnail::before,
	.woocommerce-cart table.shop_table_responsive td.product-remove::before {
		content: "";
		display: none;
	}

	/* Checkout: order review table — same clipping risk as cart on narrow screens */
	.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table thead {
		display: none;
	}

	.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tr,
	.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table td {
		display: block;
		width: 100% !important;
		text-align: left !important;
	}

	.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tr {
		padding: 8px 0;
		border-bottom: 1px solid #242424;
	}

	.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table td {
		padding: 6px 0 !important;
		border: 0 !important;
	}

	.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table td::before {
		content: attr(data-title);
		display: block;
		font-size: 11px;
		color: #b7b7b7;
		text-transform: uppercase;
		letter-spacing: 0.04em;
		margin-bottom: 4px;
	}

	.woocommerce-checkout #payment,
	.woocommerce-checkout #payment .payment_methods {
		width: 100% !important;
		max-width: 100% !important;
	}

	.shdw-home-products-sections {
		padding: 28px var(--shdw-mobile-gutter) 56px;
	}

	.home .site-main {
		padding-bottom: 72px;
	}

	#site-navigation .inside-navigation {
		padding-left: var(--shdw-mobile-gutter-sm);
		padding-right: var(--shdw-mobile-gutter-sm);
		min-height: 64px;
	}

	.main-navigation,
	#site-navigation {
		min-height: 64px;
	}

	/* Mobile "Categories" control in top nav */
	.shdw-mobile-cats {
		display: block;
		position: relative;
		margin-right: 0;
		flex: 0 1 auto;
	}

	.shdw-mobile-cats-toggle {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		min-height: 44px;
		padding: 10px 10px;
		border: 1px solid rgba(255, 255, 255, 0.7);
		background: #0f1113;
		color: #ffffff;
		font-family: var(--shdw-ui-font);
		font-size: 10px;
		font-weight: 700;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		border-radius: 4px;
		white-space: nowrap;
	}

	.shdw-mobile-cats-icon {
		display: inline-block;
		width: 14px;
		height: 2px;
		background: #ffffff;
		position: relative;
	}

	.shdw-mobile-cats-icon::before,
	.shdw-mobile-cats-icon::after {
		content: "";
		position: absolute;
		left: 0;
		width: 14px;
		height: 2px;
		background: #ffffff;
	}

	.shdw-mobile-cats-icon::before { top: -5px; }
	.shdw-mobile-cats-icon::after { top: 5px; }

	.shdw-mobile-cats-panel {
		position: absolute;
		top: calc(100% + 6px);
		left: 0;
		min-width: 200px;
		display: grid;
		gap: 6px;
		padding: 10px 12px;
		background: rgba(10, 11, 12, 0.98);
		border: 1px solid rgba(255, 255, 255, 0.18);
		border-radius: 0 0 8px 8px;
		z-index: 10030;
	}

	.shdw-mobile-cats-panel[hidden] {
		display: none !important;
	}

	.shdw-mobile-cats-panel a {
		color: #ffffff !important;
		font-family: var(--shdw-ui-font);
		font-size: 12px;
		letter-spacing: 0.03em;
		text-transform: uppercase;
		text-decoration: none;
		padding: 4px 0;
	}

	.shdw-mobile-cats-panel a:hover {
		color: var(--shdw-accent-strong) !important;
	}

	/* Keep row order: categories left, menu center, search/cart/account right */
	.shdw-mobile-cats { order: 1; }
	.main-navigation .menu-toggle { order: 2; }
	.main-navigation .menu-bar-items { order: 3; }

	.shdw-mobile-right-icons {
		display: inline-flex;
		align-items: center;
		gap: 2px;
		margin-left: -6px;
		transform: translateY(5px);
	}

	.shdw-mobile-icon-link {
		position: relative;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 26px;
		height: 30px;
		color: #ffffff !important;
		text-decoration: none;
	}

	.shdw-mobile-icon-link .shdw-icon {
		display: inline-block;
		width: 16px;
		height: 16px;
		background: #ffffff;
	}

	.shdw-mobile-icon-link .shdw-icon-cart {
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zm10 0c-1.1 0-1.99.9-1.99 2S15.9 22 17 22s2-.9 2-2-.9-2-2-2zM7.16 14h9.45c.75 0 1.41-.41 1.75-1.03L22 6H6.21l-.94-2H2v2h2l3.6 7.59-1.35 2.44C5.52 17.37 6.48 19 8 19h12v-2H8l1.1-2z'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zm10 0c-1.1 0-1.99.9-1.99 2S15.9 22 17 22s2-.9 2-2-.9-2-2-2zM7.16 14h9.45c.75 0 1.41-.41 1.75-1.03L22 6H6.21l-.94-2H2v2h2l3.6 7.59-1.35 2.44C5.52 17.37 6.48 19 8 19h12v-2H8l1.1-2z'/%3E%3C/svg%3E") center / contain no-repeat;
	}

	.shdw-mobile-icon-link .shdw-icon-account {
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12c2.76 0 5-2.24 5-5S14.76 2 12 2 7 4.24 7 7s2.24 5 5 5zm0 2c-3.33 0-10 1.67-10 5v3h20v-3c0-3.33-6.67-5-10-5z'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12c2.76 0 5-2.24 5-5S14.76 2 12 2 7 4.24 7 7s2.24 5 5 5zm0 2c-3.33 0-10 1.67-10 5v3h20v-3c0-3.33-6.67-5-10-5z'/%3E%3C/svg%3E") center / contain no-repeat;
	}

	.shdw-mobile-cart-count {
		position: absolute;
		top: -5px;
		right: -6px;
		min-width: 16px;
		height: 16px;
		padding: 0 4px;
		border-radius: 999px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		font-size: 9px;
		font-weight: 700;
		line-height: 1;
		color: #000000;
		background: var(--shdw-accent-strong);
	}

	/* Mobile menu panel: open downward full width, no giant right overflow */
	.main-navigation .main-nav {
		position: static;
		width: auto;
	}

	.main-navigation.toggled .main-nav {
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		width: 100%;
		max-width: 100%;
		background: #000000;
		border-top: 1px solid #1d1d1d;
		z-index: 10025;
	}

	.main-navigation.toggled .main-nav > ul {
		display: block !important;
		width: 100%;
		max-width: 100%;
		padding: 0;
		margin: 0;
	}

	.main-navigation.toggled .main-nav > ul > li {
		width: 100%;
		float: none !important;
	}

	.main-navigation.toggled .main-nav > ul > li > a {
		width: 100%;
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media (max-width: 480px) {
	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li.product {
		padding: 12px;
	}

	.woocommerce ul.products li.product a img,
	.woocommerce-page ul.products li.product a img {
		padding: 10px;
	}

	button,
	input[type="button"],
	input[type="reset"],
	input[type="submit"],
	.button,
	.wp-block-button__link,
	.woocommerce a.button,
	.woocommerce button.button,
	.woocommerce input.button,
	.woocommerce #respond input#submit {
		padding: 12px 16px;
		font-size: 0.8rem;
		min-height: 44px;
		touch-action: manipulation;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
		font-size: 0.8rem;
		min-height: 2.4em;
	}
}

/* Notched phones: inset header only (content already uses mobile gutters) */
@supports (padding: max(0px)) {
	.site-header {
		padding-left: max(0px, env(safe-area-inset-left));
		padding-right: max(0px, env(safe-area-inset-right));
	}
}

/* Touch devices: avoid “stuck” hover lift on product cards */
@media (hover: none), (pointer: coarse) {
	.woocommerce ul.products li.product:hover,
	.woocommerce-page ul.products li.product:hover {
		transform: none;
		box-shadow: none;
		border-color: #202020;
	}

	.woocommerce ul.products li.product:active,
	.woocommerce-page ul.products li.product:active {
		border-color: #2d2d2d;
		transform: translateY(-2px);
	}
}

/* ===== 8) SHDW HEADER + SIDEBAR + HOMEPAGE SECTION LAYOUT OVERRIDES ===== */

/* Remove top bar above primary navigation */
#top-bar,
.top-bar,
.top-bar-enabled #top-bar,
.top-bar-enabled .top-bar {
	display: none !important;
}

/* Remove very top header row and keep nav as primary header */
.site-header .inside-header {
	display: none !important;
}

.site-header {
	border-bottom: 0 !important;
	min-height: 0 !important;
}

/* Dark backgrounds + white accents on shop/cart/checkout/account pages */
.woocommerce-page,
.woocommerce-page .site,
.woocommerce-page .site-content,
.woocommerce-page #page,
.woocommerce-page #content {
	background: #050505 !important;
	color: #f5f5f5;
}

.woocommerce-page .inside-article,
.woocommerce-page .woocommerce,
.woocommerce-page .woocommerce-cart-form,
.woocommerce-page .cart_totals,
.woocommerce-page .woocommerce-checkout,
.woocommerce-page .woocommerce-account,
.woocommerce-page .woocommerce table.shop_table,
.woocommerce-page .woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .woocommerce form.checkout {
	background: #0b0b0b !important;
	border: 1px solid #1f1f1f !important;
	color: #f5f5f5;
}

.woocommerce-page .woocommerce table.shop_table th,
.woocommerce-page .woocommerce table.shop_table td,
.woocommerce-page .woocommerce table.shop_table a,
.woocommerce-page .woocommerce-checkout-review-order-table th,
.woocommerce-page .woocommerce-checkout-review-order-table td,
.woocommerce-page .woocommerce-cart-form .woocommerce-Price-amount,
.woocommerce-page .cart_totals .woocommerce-Price-amount,
.woocommerce-page .woocommerce-checkout-review-order-table .woocommerce-Price-amount,
.woocommerce-page .woocommerce-account .woocommerce-Price-amount,
.woocommerce-page .woocommerce-order .woocommerce-Price-amount {
	color: #ffffff !important;
	border-color: #242424 !important;
}

.woocommerce-page .select2-container--default .select2-selection--single,
.woocommerce-page .woocommerce #customer_details .form-row input.input-text,
.woocommerce-page .woocommerce #customer_details .form-row textarea,
.woocommerce-page .woocommerce #customer_details .form-row select {
	background: #070707 !important;
	color: #ffffff !important;
	border: 1px solid #252525 !important;
}

/* Make main navigation the primary header bar */
.main-navigation,
#site-navigation {
	background: #000000 !important;
	border-bottom: 1px solid #1d1d1d;
	min-height: 74px;
	display: flex;
	align-items: center;
}

/* Reserve clear logo space in header (logo injected into nav via functions.php) */
.site-branding {
	display: none !important;
}

.site-logo img,
.custom-logo {
	max-height: 56px;
	width: auto;
}

#site-navigation .inside-navigation {
	display: flex;
	align-items: center;
	min-height: 74px;
	padding-left: 14px;
	padding-right: 14px;
}

/* Header/category links white (not green) */
.main-navigation a,
.main-navigation .main-nav ul li > a,
#site-navigation a,
.widget_product_categories a,
.product-categories a,
.woocommerce .woocommerce-breadcrumb a {
	color: #ffffff !important;
}

.main-navigation a:hover,
.main-navigation .main-nav ul li > a:hover,
.main-navigation .main-nav ul li.sfHover > a,
.main-navigation .main-nav ul li[class*="current-menu-"] > a:hover,
#site-navigation a:hover,
.widget_product_categories a:hover,
.product-categories a:hover,
.woocommerce .woocommerce-breadcrumb a:hover {
	color: #ffffff !important;
	opacity: 0.84;
}

/* Shop / archive / single product: keep prices green (override scoped white rules above) */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.woocommerce ul.products li.product .price .woocommerce-Price-amount,
.woocommerce-page ul.products li.product .price .woocommerce-Price-amount,
.woocommerce-page ul.products .woocommerce-Price-amount,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce div.product p.price .woocommerce-Price-amount,
.woocommerce div.product span.price .woocommerce-Price-amount,
.woocommerce-page.tax-product_cat ul.products .woocommerce-Price-amount,
.woocommerce-page.tax-product_tag ul.products .woocommerce-Price-amount,
.post-type-archive-product .woocommerce-Price-amount.amount {
	color: var(--shdw-accent-strong) !important;
}

/* Left fixed transparent rail + slide-out panel */
.shdw-sidebar-strip {
	position: fixed;
	top: 88px;
	left: 0;
	width: 64px;
	height: calc(100vh - 88px);
	background: transparent;
	border-right: 0;
	z-index: 10020;
	overflow: visible;
}

.shdw-sidebar-toggle {
	height: 60px;
	width: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	background: rgba(12, 13, 14, 0.96);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-left: 0;
	border-radius: 0 10px 10px 0;
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	white-space: nowrap;
	gap: 8px;
	cursor: default;
	backdrop-filter: blur(4px);
}

.shdw-sidebar-toggle span:last-child {
	display: none;
}

.shdw-burger {
	display: inline-block;
	width: 14px;
	height: 2px;
	background: #ffffff;
	position: relative;
}

.shdw-burger::before,
.shdw-burger::after {
	content: "";
	position: absolute;
	left: 0;
	width: 14px;
	height: 2px;
	background: #ffffff;
}

.shdw-burger::before {
	top: -5px;
}

.shdw-burger::after {
	top: 5px;
}

.shdw-sidebar-panel {
	position: absolute;
	top: 10px;
	left: 60px;
	width: 248px;
	max-height: calc(100vh - 84px);
	background: rgba(10, 11, 12, 0.98);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-left: 0;
	border-radius: 0 10px 10px 0;
	transform: translateX(-18px);
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--shdw-transition), transform var(--shdw-transition);
	overflow-y: auto;
}

.shdw-sidebar-strip:hover .shdw-sidebar-panel {
	opacity: 1;
	transform: translateX(0);
	pointer-events: auto;
}

.shdw-sidebar-list {
	list-style: none;
	margin: 0;
	padding: 10px 8px 12px;
}

.shdw-sidebar-item {
	margin: 0 0 8px;
}

.shdw-sidebar-link {
	display: grid;
	grid-template-columns: 32px 1fr auto;
	align-items: center;
	column-gap: 10px;
	padding: 8px;
	border: 1px solid transparent;
	text-decoration: none;
	color: #ffffff !important;
}

.shdw-sidebar-link:hover {
	border-color: rgba(255, 255, 255, 0.28);
	background: rgba(255, 255, 255, 0.04);
}

.shdw-sidebar-link img {
	width: 32px;
	height: 32px;
	object-fit: contain;
}

.shdw-sidebar-text,
.shdw-sidebar-note {
	opacity: 1;
	transform: none;
	white-space: nowrap;
}

.shdw-sidebar-text {
	font-family: var(--shdw-ui-font);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.shdw-sidebar-note {
	font-family: var(--shdw-ui-font);
	font-size: 10px;
	font-weight: 700;
	color: var(--shdw-accent-strong);
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

/* Categories block: styled in additional.css (Soma desktop nav cluster) */

/* Select2 + layered nav: dropdown is often portaled to body — fix blank white panels on shop */
.select2-dropdown {
	background: #0a0a0a !important;
	border: 1px solid #2a2a2a !important;
	color: #f5f5f5 !important;
	border-radius: 6px !important;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.65) !important;
}

.select2-container--default .select2-results > .select2-results__options {
	background: #0a0a0a !important;
}

.select2-container--default .select2-results__option {
	background: #0a0a0a !important;
	color: #f5f5f5 !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[aria-selected="false"] {
	background: #151515 !important;
	color: var(--shdw-accent-strong) !important;
}

.select2-container--default .select2-results__option[aria-selected="true"] {
	background: #121212 !important;
	color: #ffffff !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
	background: #070707 !important;
	color: #ffffff !important;
	border: 1px solid #333333 !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #f5f5f5 !important;
}

.woocommerce .woocommerce-widget-layered-nav-dropdown__submit,
.woocommerce-page .woocommerce-widget-layered-nav-dropdown ul {
	color: #f5f5f5;
}

/* WooCommerce Blocks product filters (Shop All / block templates) */
.wc-block-product-filter .wc-block-components-form-token-field-wrapper .components-form-token-field__suggestions-list,
.wc-block-components-form-token-field__suggestions-list,
.wc-blocks-components-select__menu,
.wc-block-stock-filter__button,
.wc-block-attribute-filter__button {
	background: #0a0a0a !important;
	border: 1px solid #2a2a2a !important;
	color: #f5f5f5 !important;
}

.wc-block-components-checkbox-list__item,
.wc-block-components-form-token-field__suggestion {
	color: #f5f5f5 !important;
}

/* Auto-inserted homepage product sections */
.shdw-home-products-sections {
	padding: 36px 20px 84px;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(6, 7, 8, 0.85) 18%, rgba(6, 7, 8, 1) 100%);
}

.shdw-home-products-inner {
	max-width: 1320px;
	margin: 0 auto;
}

.shdw-home-products-sections .woocommerce ul.products li.product a img,
.shdw-home-products-sections .woocommerce-page ul.products li.product a img {
	padding: 4px;
	border-color: #2a2a2a;
	image-rendering: auto;
}

/* Homepage Best Sellers / New Products: horizontal row; arrows overlay edges (full width for products) */
.shdw-home-products-sections .shdw-product-carousel {
	position: relative;
	display: block;
	margin-top: 8px;
}

.shdw-home-products-sections .shdw-product-carousel-viewport {
	width: 100%;
	container-type: inline-size;
	container-name: shdw-car-vp;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-color: rgba(255, 255, 255, 0.35) transparent;
	outline: none;
	/* Slight side inset so first/last card clears overlay arrows */
	padding-left: 6px;
	padding-right: 6px;
}

.shdw-home-products-sections .shdw-product-carousel-viewport::-webkit-scrollbar {
	height: 6px;
}

.shdw-home-products-sections .shdw-product-carousel-viewport::-webkit-scrollbar-thumb {
	background: rgba(255, 255, 255, 0.25);
	border-radius: 4px;
}

.shdw-home-products-sections .shdw-product-carousel-viewport .woocommerce {
	margin-bottom: 0;
}

.shdw-home-products-sections .shdw-product-carousel-viewport ul.products {
	display: flex !important;
	flex-wrap: nowrap !important;
	flex-direction: row;
	grid-template-columns: none !important;
	align-items: stretch;
	gap: 20px;
	width: max-content;
	margin: 0 !important;
	padding: 4px 2px 10px;
	list-style: none;
}

/* Two cards per view: width from carousel viewport (cqi), not the ul max-content width */
.shdw-home-products-sections .shdw-product-carousel-viewport ul.products li.product {
	flex: 0 0 clamp(138px, calc(50cqi - 14px), 280px);
	width: clamp(138px, calc(50cqi - 14px), 280px) !important;
	max-width: none;
	box-sizing: border-box;
}

@supports not (container-type: inline-size) {
	.shdw-home-products-sections .shdw-product-carousel-viewport ul.products li.product {
		flex: 0 0 clamp(138px, calc(50vw - var(--shdw-mobile-gutter) - 28px), 280px);
		width: clamp(138px, calc(50vw - var(--shdw-mobile-gutter) - 28px), 280px) !important;
	}
}

.shdw-home-products-sections .shdw-carousel-btn {
	position: absolute;
	top: 50%;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin-top: -17px;
	padding: 0 !important;
	border-radius: 50%;
	font-family: var(--shdw-ui-font) !important;
	font-size: 20px !important;
	line-height: 1;
	font-weight: 700;
	text-transform: none !important;
	letter-spacing: 0 !important;
	background: rgba(12, 13, 14, 0.92) !important;
	color: #ffffff !important;
	border: 1px solid rgba(255, 255, 255, 0.5) !important;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.55);
	transition: background-color var(--shdw-transition), border-color var(--shdw-transition), color var(--shdw-transition), opacity var(--shdw-transition);
}

.shdw-home-products-sections .shdw-carousel-prev {
	left: 2px;
}

.shdw-home-products-sections .shdw-carousel-next {
	right: 2px;
}

.shdw-home-products-sections .shdw-carousel-btn:hover:not(:disabled) {
	background: var(--shdw-accent) !important;
	border-color: var(--shdw-accent) !important;
	color: #000000 !important;
	transform: none !important;
}

.shdw-home-products-sections .shdw-carousel-btn:disabled {
	opacity: 0.28;
	cursor: not-allowed;
}

.shdw-home-products-sections .shdw-carousel-icon {
	display: block;
	margin-top: -2px;
}

@media (max-width: 768px) {
	.shdw-home-products-sections .shdw-carousel-btn {
		width: 32px;
		height: 32px;
		margin-top: -16px;
		font-size: 18px !important;
		touch-action: manipulation;
	}

	.shdw-home-section + .shdw-home-section {
		margin-top: 32px;
	}
}

/* Remove global bottom white gap on all pages */
html,
body,
#page,
.site,
.site-content,
.content-area,
#content,
.inside-site-info,
.site-info,
.site-footer,
.footer-widgets,
.footer-widgets-container,
.inside-footer-widgets {
	background: #050505 !important;
}

body {
	margin: 0;
}

#page {
	min-height: 100vh;
}

.site-content,
#content,
.content-area {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

.site-main,
.inside-article,
.entry-content,
.separate-containers .inside-article {
	margin-bottom: 0 !important;
}

.site-footer {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.shdw-home-section + .shdw-home-section {
	margin-top: 42px;
}

/* Global menu + button typography alignment */
.main-navigation a,
.menu-toggle,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.button,
.wp-block-button__link,
input[type="submit"],
input[type="button"],
input[type="reset"] {
	font-family: var(--shdw-ui-font) !important;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

/* Desktop nav layout: additional.css (Soma-style cluster + search) */

/* Homepage room below hero sections (desktop only — mobile uses tighter value in max-width:768px) */
@media (min-width: 769px) {
	.home .site-main {
		padding-bottom: 120px;
	}
}

.home .new-in-store,
.home .newest-additions {
	margin-bottom: 56px;
}

/* Remove mobile outer frame on cart/checkout without touching inner layout */
@media (max-width: 768px) {
	body.woocommerce-cart .inside-article,
	body.woocommerce-cart .woocommerce,
	body.woocommerce-cart .woocommerce-cart-form,
	body.woocommerce-cart .cart_totals,
	body.woocommerce-checkout .inside-article,
	body.woocommerce-checkout .woocommerce,
	body.woocommerce-checkout .woocommerce-checkout,
	body.woocommerce-checkout .woocommerce form.checkout {
		border: 0 !important;
		box-shadow: none !important;
	}
}

.home .best-sellers-section,
.home .home-best-sellers {
	margin-top: 36px;
	padding-top: 24px;
	padding-bottom: 30px;
	border-top: 1px solid var(--shdw-border);
}

.home .best-sellers-section .section-title,
.home .home-best-sellers .section-title {
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	font-weight: 700;
	margin-bottom: 18px;
}

@media (max-width: 1200px) {
	.shdw-sidebar-strip {
		top: 80px;
		height: calc(100vh - 80px);
	}
}

/* Final mobile safety overrides: keep cart/checkout/search from horizontal clipping */
@media (max-width: 768px) {
	body.woocommerce-page {
		overflow-x: visible;
	}

	/* Search bar panel under nav: force compact dark display */
	.navigation-search,
	.navigation-search.nav-search-active {
		background: #000000 !important;
		padding: 8px var(--shdw-mobile-gutter-sm) !important;
		margin: 0 !important;
		max-height: 70px;
		overflow: hidden;
	}

	.navigation-search form,
	.navigation-search .search-form {
		margin: 0 !important;
	}

	.navigation-search input[type="search"],
	.navigation-search input[type="text"] {
		height: 40px !important;
		line-height: 40px;
	}

	/* Cart + checkout totals/review rows: preserve table semantics on mobile */
	.woocommerce-cart .cart_totals table.shop_table,
	.woocommerce-checkout .woocommerce-checkout-review-order-table {
		display: table !important;
		width: 100% !important;
		min-width: 0 !important;
		table-layout: fixed !important;
		overflow: visible !important;
	}

	.woocommerce-cart .cart_totals table.shop_table tbody,
	.woocommerce-checkout .woocommerce-checkout-review-order-table tbody,
	.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot {
		display: table-row-group !important;
		width: auto !important;
	}

	.woocommerce-cart .cart_totals table.shop_table tr,
	.woocommerce-checkout .woocommerce-checkout-review-order-table tr {
		display: table-row !important;
		border-bottom: 1px solid #242424;
	}

	.woocommerce-cart .cart_totals table.shop_table th,
	.woocommerce-cart .cart_totals table.shop_table td,
	.woocommerce-checkout .woocommerce-checkout-review-order-table th,
	.woocommerce-checkout .woocommerce-checkout-review-order-table td {
		display: table-cell !important;
		width: auto !important;
		max-width: 100% !important;
		padding: 10px 0 !important;
		border: 0 !important;
		white-space: normal !important;
		word-break: break-word;
		overflow-wrap: anywhere;
		text-align: left;
		min-width: 0;
	}

	.woocommerce-cart .cart_totals table.shop_table td,
	.woocommerce-checkout .woocommerce-checkout-review-order-table td {
		text-align: right !important;
	}

	/* Cart line-items: keep long text inside visible content area */
	.woocommerce-cart table.shop_table_responsive td.product-name,
	.woocommerce-cart table.shop_table_responsive td.product-name a,
	.woocommerce-cart table.shop_table_responsive td.product-price,
	.woocommerce-cart table.shop_table_responsive td.product-subtotal {
		max-width: 100% !important;
		white-space: normal !important;
		word-break: break-word !important;
		overflow-wrap: anywhere !important;
	}

	.woocommerce-cart table.shop_table_responsive td.product-quantity .quantity {
		max-width: 100%;
	}

	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
		display: block;
		width: 100%;
		text-align: center;
	}
}

/* Absolute final mobile fix: cart + checkout must not clip or shrink */
@media (max-width: 768px) {
	html,
	body,
	#page,
	.site,
	.site-content,
	#content {
		max-width: 100%;
		overflow-x: hidden !important;
	}

	body.woocommerce-cart #primary,
	body.woocommerce-checkout #primary,
	body.woocommerce-cart .content-area,
	body.woocommerce-checkout .content-area,
	body.woocommerce-cart .site-main,
	body.woocommerce-checkout .site-main,
	body.woocommerce-cart .inside-article,
	body.woocommerce-checkout .inside-article,
	body.woocommerce-cart .woocommerce,
	body.woocommerce-checkout .woocommerce {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding-left: var(--shdw-mobile-gutter) !important;
		padding-right: var(--shdw-mobile-gutter) !important;
		box-sizing: border-box !important;
		transform: none !important;
	}

	/* On cart/checkout mobile, remove sidebars entirely */
	body.woocommerce-cart #secondary,
	body.woocommerce-checkout #secondary,
	body.woocommerce-cart .sidebar,
	body.woocommerce-checkout .sidebar,
	body.woocommerce-cart .is-right-sidebar #secondary,
	body.woocommerce-checkout .is-right-sidebar #secondary,
	body.woocommerce-cart .is-left-sidebar #secondary,
	body.woocommerce-checkout .is-left-sidebar #secondary {
		display: none !important;
		width: 0 !important;
		max-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	/* Keep cart items readable and fully visible */
	body.woocommerce-cart table.shop_table_responsive td {
		overflow: visible !important;
	}

	body.woocommerce-cart table.shop_table_responsive td.product-name,
	body.woocommerce-cart table.shop_table_responsive td.product-name a {
		display: block;
		width: 100% !important;
		max-width: 100% !important;
	}

	body.woocommerce-cart table.shop_table_responsive td.product-quantity .quantity {
		display: inline-flex;
		align-items: center;
		max-width: 160px;
		width: 100%;
	}

	/* Coupon/actions row frequently overflows on mobile */
	body.woocommerce-cart table.shop_table_responsive tr td.actions {
		padding-top: 12px !important;
	}

	body.woocommerce-cart table.shop_table_responsive tr td.actions .coupon {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 10px;
		width: 100%;
	}

	body.woocommerce-cart table.shop_table_responsive tr td.actions .coupon .input-text,
	body.woocommerce-cart table.shop_table_responsive tr td.actions .coupon button,
	body.woocommerce-cart table.shop_table_responsive tr td.actions > button {
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
	}

	/* Checkout columns and review area must stack cleanly */
	body.woocommerce-checkout .col2-set,
	body.woocommerce-checkout .col2-set .col-1,
	body.woocommerce-checkout .col2-set .col-2,
	body.woocommerce-checkout #customer_details,
	body.woocommerce-checkout #order_review,
	body.woocommerce-checkout #order_review_heading,
	body.woocommerce-checkout #payment {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box !important;
	}
}

/* Absolute override: remove outer frame on cart/checkout at all breakpoints */
body.woocommerce-cart .inside-article,
body.woocommerce-cart .woocommerce,
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart_totals,
body.woocommerce-cart #primary,
body.woocommerce-cart .content-area,
body.woocommerce-checkout .inside-article,
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout .woocommerce-checkout,
body.woocommerce-checkout .woocommerce form.checkout,
body.woocommerce-checkout #primary,
body.woocommerce-checkout .content-area {
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
}

body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
}

/* Checkout/shipping fields: dark text on white inputs for readability (billing/shipping only) */
body.woocommerce-checkout #customer_details .woocommerce form .form-row input.input-text,
body.woocommerce-checkout #customer_details .woocommerce form .form-row textarea,
body.woocommerce-checkout #customer_details .woocommerce form .form-row select,
body.woocommerce-checkout #customer_details .select2-container--default .select2-selection--single,
body.woocommerce-checkout #customer_details .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #111111 !important;
}

body.woocommerce-checkout #customer_details .woocommerce form .form-row input.input-text::placeholder,
body.woocommerce-checkout #customer_details .woocommerce form .form-row textarea::placeholder {
	color: #1f1f1f !important;
	opacity: 1 !important;
}

body.woocommerce-checkout #customer_details .woocommerce form .form-row input.input-text::-webkit-input-placeholder,
body.woocommerce-checkout #customer_details .woocommerce form .form-row textarea::-webkit-input-placeholder {
	color: #1f1f1f !important;
	opacity: 1 !important;
}

body.woocommerce-checkout #customer_details .woocommerce form .form-row input.input-text::-moz-placeholder,
body.woocommerce-checkout #customer_details .woocommerce form .form-row textarea::-moz-placeholder {
	color: #1f1f1f !important;
	opacity: 1 !important;
}

body.woocommerce-checkout #customer_details .woocommerce form .form-row input.input-text:-ms-input-placeholder,
body.woocommerce-checkout #customer_details .woocommerce form .form-row textarea:-ms-input-placeholder {
	color: #1f1f1f !important;
	opacity: 1 !important;
}

body.woocommerce-checkout #customer_details .select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: #1f1f1f !important;
	opacity: 1 !important;
}

/* Force specific checkout placeholders that were still inheriting very light color */
body.woocommerce-checkout #customer_details input#billing_first_name::placeholder,
body.woocommerce-checkout #customer_details input#billing_last_name::placeholder,
body.woocommerce-checkout #customer_details input#billing_address_1::placeholder,
body.woocommerce-checkout #customer_details input#shipping_first_name::placeholder,
body.woocommerce-checkout #customer_details input#shipping_last_name::placeholder,
body.woocommerce-checkout #customer_details input#shipping_address_1::placeholder,
body.woocommerce-checkout #customer_details input#billing_city::placeholder,
body.woocommerce-checkout #customer_details input#shipping_city::placeholder {
	color: #111111 !important;
	opacity: 1 !important;
}

body.woocommerce-checkout #customer_details input#billing_first_name::-webkit-input-placeholder,
body.woocommerce-checkout #customer_details input#billing_last_name::-webkit-input-placeholder,
body.woocommerce-checkout #customer_details input#billing_address_1::-webkit-input-placeholder,
body.woocommerce-checkout #customer_details input#shipping_first_name::-webkit-input-placeholder,
body.woocommerce-checkout #customer_details input#shipping_last_name::-webkit-input-placeholder,
body.woocommerce-checkout #customer_details input#shipping_address_1::-webkit-input-placeholder,
body.woocommerce-checkout #customer_details input#billing_city::-webkit-input-placeholder,
body.woocommerce-checkout #customer_details input#shipping_city::-webkit-input-placeholder {
	color: #111111 !important;
	opacity: 1 !important;
}

/* WooCommerce Blocks checkout placeholders (different markup than classic checkout) */
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-text-input textarea,
.wc-block-checkout .wc-block-components-combobox-control input {
	color: #111111 !important;
	-webkit-text-fill-color: #111111 !important;
}

.wc-block-checkout .wc-block-components-text-input input::placeholder,
.wc-block-checkout .wc-block-components-text-input textarea::placeholder,
.wc-block-checkout .wc-block-components-combobox-control input::placeholder {
	color: #111111 !important;
	opacity: 1 !important;
}

.wc-block-checkout .wc-block-components-text-input input::-webkit-input-placeholder,
.wc-block-checkout .wc-block-components-text-input textarea::-webkit-input-placeholder,
.wc-block-checkout .wc-block-components-combobox-control input::-webkit-input-placeholder {
	color: #111111 !important;
	opacity: 1 !important;
}

.wc-block-checkout .wc-block-components-text-input input::-moz-placeholder,
.wc-block-checkout .wc-block-components-text-input textarea::-moz-placeholder,
.wc-block-checkout .wc-block-components-combobox-control input::-moz-placeholder {
	color: #111111 !important;
	opacity: 1 !important;
}

.wc-block-checkout .wc-block-components-text-input label,
.wc-block-checkout .wc-block-components-combobox-control label {
	color: #111111 !important;
	opacity: 1 !important;
}

/* FINAL checkout placeholder override (billing/shipping only — not payment fields) */
body.woocommerce-checkout #customer_details input,
body.woocommerce-checkout #customer_details textarea,
body.woocommerce-checkout #customer_details select {
	color: #111111 !important;
	-webkit-text-fill-color: #111111 !important;
}

body.woocommerce-checkout #customer_details input::placeholder,
body.woocommerce-checkout #customer_details textarea::placeholder,
body.woocommerce-checkout #customer_details input::-webkit-input-placeholder,
body.woocommerce-checkout #customer_details textarea::-webkit-input-placeholder,
body.woocommerce-checkout #customer_details input::-moz-placeholder,
body.woocommerce-checkout #customer_details textarea::-moz-placeholder,
body.woocommerce-checkout #customer_details input:-ms-input-placeholder,
body.woocommerce-checkout #customer_details textarea:-ms-input-placeholder {
	color: #222222 !important;
	-webkit-text-fill-color: #222222 !important;
	opacity: 1 !important;
}

body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-combobox-control label,
body.woocommerce-checkout .wc-block-components-text-input.is-active label,
body.woocommerce-checkout .wc-block-components-text-input.has-value label {
	color: #222222 !important;
	opacity: 1 !important;
}

/* Cart CTA: Proceed to checkout as solid green rounded rectangle */
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-cart__submit-button,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	min-height: 52px;
	padding: 12px 18px !important;
	background: transparent !important;
	color: #ffffff !important;
	border: 1px solid #ffffff !important;
	border-radius: 8px !important;
	text-decoration: none !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em;
	line-height: 1.2;
}

body.woocommerce-cart .wc-block-cart__submit-container .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-cart__submit-button:focus,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus {
	background: #12a36f !important;
	border-color: #12a36f !important;
	color: #ffffff !important;
}

/* ===== Search results (product search) ===== */
body.search,
body.search-results {
	background: #050505 !important;
}

body.search #page,
body.search-results #page,
body.search #content,
body.search-results #content,
body.search .site-content,
body.search-results .site-content,
body.search #primary,
body.search-results #primary,
body.search .site-main,
body.search-results .site-main,
body.search .inside-article,
body.search-results .inside-article {
	background: #050505 !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.search .inside-article,
body.search-results .inside-article {
	max-width: 1320px;
	margin-left: auto;
	margin-right: auto;
	padding: 16px var(--shdw-mobile-gutter, 16px) 48px;
}

body.search .page-header,
body.search-results .page-header {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	margin: 0 0 20px !important;
	padding: 0 !important;
	text-align: left;
}

body.search .page-header .page-title,
body.search-results .page-header .page-title {
	color: #ffffff !important;
	font-family: var(--shdw-ui-font);
	font-size: clamp(1.25rem, 3.5vw, 1.75rem);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin: 0;
	line-height: 1.2;
}

body.search .woocommerce-result-count,
body.search-results .woocommerce-result-count,
body.search .woocommerce-ordering,
body.search-results .woocommerce-ordering {
	display: none !important;
}

/* Hide duplicate search UI — header toolbar already has search */
body.search .navigation-search,
body.search-results .navigation-search,
body.search .inside-article > .search-form,
body.search-results .inside-article > .search-form,
body.search .inside-article .search-form,
body.search-results .inside-article .search-form {
	display: none !important;
}

body.search .woocommerce-notices-wrapper,
body.search-results .woocommerce-notices-wrapper {
	margin-bottom: 16px;
}

/* Override legacy Customizer rule that grid-locks .site-main into 2 page columns */
body.search .site-main,
body.search-results .site-main {
	display: block !important;
	grid-template-columns: none !important;
	width: 100% !important;
	max-width: 100% !important;
}

body.search .shdw-search-results,
body.search-results .shdw-search-results {
	width: 100% !important;
	max-width: 100% !important;
}

body.search #secondary,
body.search-results #secondary,
body.search .sidebar,
body.search-results .sidebar {
	display: none !important;
}

body.search ul.products,
body.search-results ul.products,
body.search .wc-block-grid__products,
body.search-results .wc-block-grid__products {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 12px !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

body.search ul.products::before,
body.search ul.products::after,
body.search-results ul.products::before,
body.search-results ul.products::after {
	content: none !important;
	display: none !important;
}

body.search ul.products li.product,
body.search-results ul.products li.product,
body.search .wc-block-grid__product,
body.search-results .wc-block-grid__product {
	float: none !important;
	clear: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}

body.search .woocommerce-loop-product__title,
body.search-results .woocommerce-loop-product__title,
body.search ul.products li.product .woocommerce-loop-product__title,
body.search-results ul.products li.product .woocommerce-loop-product__title {
	color: #ffffff !important;
	font-size: clamp(0.72rem, 2.8vw, 1rem);
	line-height: 1.25;
	padding: 0 12px;
	margin: 0 0 8px;
}

body.search ul.products li.product .shdw-loop-cat,
body.search-results ul.products li.product .shdw-loop-cat {
	padding: 0 12px;
	font-size: 9px;
	margin-bottom: 4px;
}

body.search ul.products li.product .price,
body.search-results ul.products li.product .price {
	padding: 0 12px 10px;
	font-size: 13px;
}

body.search ul.products li.product .button,
body.search-results ul.products li.product .button {
	padding: 10px 12px;
	font-size: 10px;
}

body.search ul.products li.product a img,
body.search-results ul.products li.product a img {
	margin-bottom: 10px;
}

body.search .woocommerce-info,
body.search-results .woocommerce-info,
body.search .woocommerce-message,
body.search-results .woocommerce-message {
	background: #0b0b0b !important;
	border: 1px solid #1f1f1f !important;
	color: #f5f5f5 !important;
	border-radius: 8px;
	padding: 16px 18px;
}

@media (min-width: 769px) {
	body.search .inside-article,
	body.search-results .inside-article {
		padding: 24px 24px 64px;
	}

	body.search ul.products,
	body.search-results ul.products,
	body.search .wc-block-grid__products,
	body.search-results .wc-block-grid__products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 20px !important;
	}

	body.search .woocommerce-loop-product__title,
	body.search-results .woocommerce-loop-product__title,
	body.search ul.products li.product .woocommerce-loop-product__title,
	body.search-results ul.products li.product .woocommerce-loop-product__title {
		font-size: 16px;
		padding: 0 16px;
		margin: 0 0 10px;
	}

	body.search ul.products li.product .shdw-loop-cat,
	body.search-results ul.products li.product .shdw-loop-cat {
		padding: 0 16px;
		font-size: 10px;
	}

	body.search ul.products li.product .price,
	body.search-results ul.products li.product .price {
		padding: 0 16px 14px;
		font-size: 15px;
	}

	body.search ul.products li.product .button,
	body.search-results ul.products li.product .button {
		padding: 12px 16px;
		font-size: 12px;
	}
}

@media (min-width: 1100px) {
	body.search ul.products,
	body.search-results ul.products,
	body.search .wc-block-grid__products,
	body.search-results .wc-block-grid__products {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 22px !important;
	}
}

@media (max-width: 768px) {
	body.search #primary,
	body.search-results #primary,
	body.search .content-area,
	body.search-results .content-area,
	body.search .site-main,
	body.search-results .site-main {
		display: block !important;
		grid-template-columns: none !important;
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	body.search .inside-article,
	body.search-results .inside-article {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	body.search ul.products li.product .price,
	body.search-results ul.products li.product .price {
		font-size: 11px;
		line-height: 1.35;
		white-space: normal;
		word-break: break-word;
	}

	body.search ul.products li.product .price del,
	body.search-results ul.products li.product .price del {
		display: block;
		margin-right: 0;
		margin-bottom: 2px;
	}

	body.search ul.products li.product .price ins,
	body.search-results ul.products li.product .price ins {
		display: block;
	}

	#mobile-menu-control-wrapper,
	.mobile-menu-control-wrapper {
		display: none !important;
	}

	.shdw-mobile-toolbar .shdw-mobile-menu-toggle {
		flex: 0 0 40px !important;
		min-width: 40px !important;
		max-width: 40px !important;
	}
}

/* GP fallback search panel — custom header search is primary */
.main-navigation .navigation-search {
	display: none !important;
}

.main-navigation .navigation-search.nav-search-active {
	display: block !important;
}

/* ═══════════════════════════════════════════════════════════════
   FRONT PAGE — BADGE STRIP + PRODUCT GRID
   Appended below the original hero image
═══════════════════════════════════════════════════════════════ */

/* ── Trust badge strip ────────────────────────────────────── */
.shdw-fp-badges-strip {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	padding: 32px 24px;
	background: var(--shdw-bg);
	border-bottom: 1px solid var(--shdw-border);
	opacity: 0; /* GSAP */
}

/* Shared badge style (strip + hero) */
.shdw-fp-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 14px;
	border: 1px solid var(--shdw-border);
	border-radius: 100px;
	font-family: var(--shdw-ui-font);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--shdw-text-muted);
	background: rgba(255,255,255,0.03);
}

.shdw-fp-badge::before {
	content: '';
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--shdw-accent);
	flex-shrink: 0;
}

/* Shared button base */
.shdw-fp-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 28px;
	border-radius: var(--shdw-radius);
	font-family: var(--shdw-ui-font);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
	cursor: pointer;
}

.shdw-fp-btn:hover { transform: translateY(-2px); }

.shdw-fp-btn--ghost {
	background: transparent;
	color: var(--shdw-text);
	border: 1px solid var(--shdw-border);
}

.shdw-fp-btn--ghost:hover {
	border-color: var(--shdw-accent);
	color: var(--shdw-accent);
}


/* ── Products section ─────────────────────────────────────── */
.shdw-fp-products {
	padding: 80px 24px;
	background: var(--shdw-bg-soft);
	width: 100%;
	box-sizing: border-box;
	overflow: hidden;
}

.shdw-fp-products__inner {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
}

/* Force GeneratePress into full-width on front page */
.shdw-is-front-page #primary,
.shdw-is-front-page .content-area,
.shdw-is-front-page .site-main,
.shdw-is-front-page .entry-content {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.shdw-is-front-page .site-content {
	display: block;
	margin: 0 !important;
	padding: 0 !important;
}

/* Kill GeneratePress spacing between trust bar and hero */
.shdw-is-front-page.separate-containers .site-main,
.shdw-is-front-page .site-content,
.shdw-is-front-page .content-area,
.shdw-is-front-page .site-main,
.shdw-is-front-page #primary,
.shdw-is-front-page .inside-article,
.shdw-is-front-page article.page,
.shdw-is-front-page .grid-container,
.shdw-is-front-page #page {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.shdw-is-front-page .page-header,
.shdw-is-front-page .featured-image,
.shdw-is-front-page .page-hero,
.shdw-is-front-page .generate-page-header {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	height: 0 !important;
}

.shdw-is-front-page .shdw-hero-sec {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.shdw-is-front-page .shdw-trust-strip {
	margin-bottom: 0 !important;
}

/* Remove default entry padding/margin on front page */
.shdw-is-front-page article.page {
	margin: 0;
	padding: 0;
}

/* Badge strip and products sections must be full-width */
.shdw-fp-badges-strip,
.shdw-fp-products {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	box-sizing: border-box;
}

.shdw-fp-products__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 48px;
}

.shdw-fp-products__title {
	font-family: var(--shdw-ui-font);
	font-size: clamp(28px, 4vw, 42px);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	color: var(--shdw-text);
	margin: 0;
}

/* Category tabs */
.shdw-fp-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.shdw-fp-tab {
	padding: 7px 18px;
	border: 1px solid var(--shdw-border);
	border-radius: 100px;
	background: transparent;
	color: var(--shdw-text-muted);
	font-family: var(--shdw-ui-font);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: all var(--shdw-transition);
}

.shdw-fp-tab:hover,
.shdw-fp-tab.is-active {
	background: var(--shdw-accent);
	border-color: var(--shdw-accent);
	color: #fff;
}

/* Product grid */
.shdw-fp-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 20px;
}

/* Product card */
.shdw-fp-card {
	opacity: 0; /* GSAP reveal */
	transform: translateY(30px);
}

.shdw-fp-card.is-hidden {
	display: none;
}

.shdw-fp-card__inner {
	display: flex;
	flex-direction: column;
	background: var(--shdw-surface);
	border: 1px solid var(--shdw-border);
	border-radius: var(--shdw-radius);
	overflow: hidden;
	text-decoration: none;
	color: var(--shdw-text);
	transition: border-color var(--shdw-transition), transform var(--shdw-transition), box-shadow var(--shdw-transition);
	position: relative;
	height: 100%;
}

.shdw-fp-card__inner:hover {
	border-color: var(--shdw-accent);
	transform: translateY(-4px);
	box-shadow: 0 16px 48px rgba(0,0,0,0.4);
}

.shdw-fp-card__sale-badge {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
	background: var(--shdw-accent);
	color: #fff;
	font-family: var(--shdw-ui-font);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 3px 10px;
	border-radius: 100px;
}

.shdw-fp-card__img-wrap {
	aspect-ratio: 1;
	background: var(--shdw-surface-2);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.shdw-fp-card__img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 400ms ease;
}

.shdw-fp-card__inner:hover .shdw-fp-card__img-wrap img {
	transform: scale(1.05);
}

.shdw-fp-card__img-placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--shdw-surface) 0%, var(--shdw-surface-2) 100%);
}

.shdw-fp-card__body {
	padding: 18px 18px 12px;
	flex: 1;
}

.shdw-fp-card__cat {
	font-family: var(--shdw-ui-font);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--shdw-accent);
	display: block;
	margin-bottom: 6px;
}

.shdw-fp-card__name {
	font-family: var(--shdw-ui-font);
	font-size: 18px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--shdw-text);
	margin: 0 0 10px;
	line-height: 1.2;
}

.shdw-fp-card__price {
	font-size: 15px;
	color: var(--shdw-text-muted);
}

.shdw-fp-card__price .woocommerce-Price-amount {
	color: var(--shdw-text);
	font-weight: 600;
}

.shdw-fp-card__price del {
	opacity: 0.45;
	margin-right: 6px;
}

.shdw-fp-card__price ins {
	text-decoration: none;
	color: var(--shdw-accent);
}

.shdw-fp-card__cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 18px;
	border-top: 1px solid var(--shdw-border);
	font-family: var(--shdw-ui-font);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--shdw-text-muted);
	transition: color var(--shdw-transition);
}

.shdw-fp-card__inner:hover .shdw-fp-card__cta {
	color: var(--shdw-accent);
}

/* Products footer */
.shdw-fp-products__footer {
	display: flex;
	justify-content: center;
	margin-top: 56px;
}

/* ── Responsive ───────────────────────────────────────────── */

/* Desktop — constrain inner widths, prevent overflow */
@media (min-width: 1025px) {
	.shdw-fp-products {
		padding: 80px 40px;
	}

	.shdw-fp-grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.shdw-fp-products__header {
		flex-wrap: nowrap;
	}

	.shdw-fp-tabs {
		flex-wrap: nowrap;
		overflow-x: auto;
	}
}

/* Tablet */
@media (max-width: 1024px) and (min-width: 601px) {
	.shdw-fp-products {
		padding: 60px 24px;
	}

	.shdw-fp-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 16px;
	}

	.shdw-fp-products__header {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}
}

/* Mobile */
@media (max-width: 600px) {
	.shdw-fp-badges-strip {
		gap: 8px;
		padding: 20px 16px;
	}

	.shdw-fp-badge {
		font-size: 10px;
		padding: 4px 10px;
	}

	.shdw-fp-products {
		padding: 16px 16px 60px;
	}

	.shdw-is-front-page .shdw-fp-products {
		padding-top: 8px;
	}

	.shdw-fp-products__header {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
		margin-bottom: 28px;
	}

	.shdw-fp-products__title {
		font-size: 26px;
	}

	.shdw-fp-tabs {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		gap: 8px;
		padding-bottom: 4px;
		/* hide scrollbar visually */
		scrollbar-width: none;
	}

	.shdw-fp-tabs::-webkit-scrollbar {
		display: none;
	}

	.shdw-fp-tab {
		flex-shrink: 0;
		padding: 6px 14px;
		font-size: 11px;
	}

	/* Horizontal snap-scroller instead of a stacked grid */
	.shdw-fp-grid {
		display: flex;
		grid-template-columns: none;
		flex-wrap: nowrap;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		gap: 12px;
		padding-bottom: 4px;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.shdw-fp-grid::-webkit-scrollbar {
		display: none;
	}

	.shdw-fp-card {
		flex: 0 0 72%;
		scroll-snap-align: center;
	}

	.shdw-fp-card__name {
		font-size: 14px;
	}

	.shdw-fp-card__body {
		padding: 12px 12px 8px;
	}

	.shdw-fp-card__cta {
		padding: 10px 12px;
		font-size: 11px;
	}

	.shdw-fp-card__price {
		font-size: 13px;
	}

	.shdw-fp-btn {
		padding: 12px 20px;
		font-size: 13px;
	}

	.shdw-fp-products__footer {
		margin-top: 36px;
	}
}


/* ═══════════════════════════════════════════════════════════════
   TRUST STRIP — desktop unchanged, mobile horizontal marquee
═══════════════════════════════════════════════════════════════ */

/* Track holds the flex layout (items moved off .shdw-trust-strip) */
.shdw-trust-strip__track {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 34px;
}

/* Duplicate set only used for the mobile marquee loop.
   Scoped under .shdw-trust-strip to outrank the Customizer's
   .shdw-trust-strip__item { display: inline-flex } rule. */
.shdw-trust-strip .shdw-trust-strip__item--dup {
	display: none;
}

@media (max-width: 768px) {
	/* Override the DB grid layout → single overflow-hidden row.
	   `body` prefix raises specificity above the Customizer CSS rule. */
	body .shdw-trust-strip {
		display: block;
		overflow: hidden;
		padding: 9px 0;
	}

	.shdw-trust-strip__track {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start;
		gap: 0;
		width: max-content;
		animation: shdw-trust-marquee 20s linear infinite;
		will-change: transform;
	}

	.shdw-trust-strip__item {
		flex: 0 0 auto;
		padding: 0 22px;
	}

	.shdw-trust-strip .shdw-trust-strip__item--dup {
		display: inline-flex;
	}

	body .shdw-trust-strip__label {
		font-size: 10px;
	}
}

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

/* Guarantee the mobile hamburger toggle is visible at a usable size */
@media (max-width: 768px) {
	#mobile-menu-control-wrapper,
	.mobile-menu-control-wrapper {
		display: none !important;
	}

	.shdw-mobile-toolbar .shdw-mobile-menu-toggle,
	#site-navigation .shdw-mobile-menu-toggle {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		flex: 0 0 40px !important;
		min-width: 40px !important;
		max-width: 40px !important;
		min-height: 40px;
		border: 1px solid rgba(255, 255, 255, 0.85) !important;
		background: #0f1113 !important;
		padding: 0 !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	#site-navigation .shdw-mobile-menu-toggle .gp-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		line-height: 1;
		font-size: 22px;
		color: #fff;
	}
	#site-navigation .shdw-mobile-menu-toggle .gp-icon svg {
		width: 22px;
		height: 22px;
		top: 0;
		position: static;
	}
	/* Show the open (bars) icon, hide the close (X) icon when not toggled */
	#site-navigation .shdw-mobile-menu-toggle .gp-icon.icon-menu-bars svg:nth-child(2) {
		display: none;
	}
	#site-navigation.shdw-mobile-drawer-open .shdw-mobile-menu-toggle .gp-icon.icon-menu-bars svg:nth-child(1) {
		display: none;
	}
	#site-navigation.shdw-mobile-drawer-open .shdw-mobile-menu-toggle .gp-icon.icon-menu-bars svg:nth-child(2) {
		display: inline-block;
	}
}

@media (prefers-reduced-motion: reduce) {
	.shdw-trust-strip__track {
		animation: none;
	}
}


/* ═══════════════════════════════════════════════════════════════
   BUNDLE & SAVE (single product page)
═══════════════════════════════════════════════════════════════ */
.shdw-bundle {
	margin: 18px 0 22px;
}

.shdw-bundle__heading {
	display: block;
	font-family: var(--shdw-ui-font);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--shdw-text);
	margin-bottom: 10px;
}

.shdw-bundle__tiles {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}

.shdw-bundle__tile {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 18px 10px 14px;
	background: var(--shdw-surface);
	border: 1.5px solid var(--shdw-border);
	border-radius: var(--shdw-radius);
	cursor: pointer;
	text-align: center;
	transition: border-color var(--shdw-transition), background var(--shdw-transition), transform var(--shdw-transition);
	/* reset inherited button skin */
	font-family: var(--shdw-ui-font);
	text-transform: none;
	letter-spacing: normal;
	box-shadow: none;
}

.shdw-bundle__tile:hover {
	border-color: var(--shdw-accent-strong);
	transform: translateY(-2px);
	background: var(--shdw-surface);
	color: inherit;
}

.shdw-bundle__tile.is-active {
	border-color: var(--shdw-accent);
	background: rgba(18, 163, 111, 0.08);
}

.shdw-bundle__save {
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	background: var(--shdw-accent);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 3px 10px;
	border-radius: 100px;
}

.shdw-bundle__qty {
	font-size: 14px;
	font-weight: 600;
	color: var(--shdw-text);
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.shdw-bundle__price {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	line-height: 1.2;
}

.shdw-bundle__total {
	font-size: 16px;
	font-weight: 700;
	color: var(--shdw-text);
}

.shdw-bundle__orig {
	font-size: 12px;
	color: var(--shdw-text-muted);
	text-decoration: line-through;
}

/* Variable product: dim tiles until a size is chosen */
.shdw-bundle--awaiting .shdw-bundle__tiles {
	opacity: 0.45;
	pointer-events: none;
}


/* ═══════════════════════════════════════════════════════════════
   OUR COMPOUNDS — mobile scroll arrows (desktop hidden)
═══════════════════════════════════════════════════════════════ */
.shdw-fp-grid-nav {
	display: none;
}

@media (max-width: 600px) {
	.shdw-fp-grid-nav {
		display: flex;
		justify-content: center;
		gap: 18px;
		margin-top: 18px;
	}

	.shdw-fp-grid-arrow {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0;
		border: 1px solid rgba(255, 255, 255, 0.6);
		border-radius: 50%;
		background: transparent;
		color: #fff;
		cursor: pointer;
		transition: background var(--shdw-transition), border-color var(--shdw-transition), transform var(--shdw-transition);
	}

	.shdw-fp-grid-arrow:hover,
	.shdw-fp-grid-arrow:active {
		background: rgba(255, 255, 255, 0.12);
		border-color: #fff;
		transform: scale(1.05);
	}
}

@media (max-width: 480px) {
	.shdw-bundle__tile {
		padding: 16px 6px 12px;
	}
	.shdw-bundle__total {
		font-size: 14px;
	}
	.shdw-bundle__qty {
		font-size: 12px;
	}
}
