/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Template: generatepress
Author: Tom Usborne
Author URI: https://generatepress.com/about
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 3.6.1.1776982202
Updated: 2026-04-23 22:10:02

*/

/* =========================================================
   SHDW Research Premium Dark E-commerce Styling
   Designed for GeneratePress + WooCommerce
   ========================================================= */

/* ===== 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;
	background: linear-gradient(180deg, #0e0e0e 0%, #080808 100%);
	border: 1px solid #202020;
	border-radius: 14px;
	padding: 16px 16px 18px;
	text-align: center;
	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: #2d2d2d;
	box-shadow: 0 16px 30px rgba(0, 0, 0, 0.48);
}

.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
	background: #0a0a0a;
	border: 1px solid #1e1e1e;
	border-radius: 8px;
	padding: 8px;
	object-fit: contain;
	aspect-ratio: 1 / 1;
	width: 100%;
	height: auto;
	margin: 0 auto 14px;
	transition: border-color var(--shdw-transition);
	image-rendering: -webkit-optimize-contrast;
	image-rendering: crisp-edges;
}

.woocommerce ul.products li.product:hover a img,
.woocommerce-page ul.products li.product:hover a img {
	border-color: #333333;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
	color: #ffffff;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 0.95rem;
	line-height: 1.35;
	min-height: 2.6em;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--shdw-accent-strong);
	font-weight: 700;
}

.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);
}

.woocommerce ul.products li.product .button {
	width: 100%;
	margin-top: 10px;
}

/* 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: #12a36f !important;
	background-color: #12a36f !important;
	border-color: #12a36f !important;
	color: #000000 !important;
	transform: none !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 form .form-row input.input-text,
.woocommerce-page .woocommerce form .form-row textarea,
.woocommerce-page .woocommerce form .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 */
.site-header .inside-header {
	min-height: 86px;
	display: flex;
	align-items: center;
	gap: 24px;
}

.site-branding {
	flex: 0 0 220px;
	max-width: 220px;
	margin-right: 8px;
}

.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 inside main nav */
.main-navigation .main-nav > ul {
	display: flex;
	align-items: center;
}

.main-navigation .main-nav > ul > li.shdw-nav-categories {
	margin-left: 8px;
	padding: 0 0 0 14px;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: stretch;
	min-height: 62px;
	border-left: 0;
	position: relative;
}

/* Invisible hover bridge so the gap between button and dropdown does not cancel :hover */
.shdw-nav-categories::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	height: 16px;
	z-index: 10022;
}

.shdw-nav-categories-title {
	color: #ffffff;
	font-family: var(--shdw-ui-font);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	line-height: 1;
	opacity: 1;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	background: #0f1113;
	border: 1px solid rgba(255, 255, 255, 0.7);
	padding: 13px 18px;
	cursor: default;
	font-family: inherit;
}

.shdw-nav-burger {
	display: inline-block;
	width: 22px;
	height: 2px;
	background: #ffffff;
	position: relative;
}

.shdw-nav-burger::before,
.shdw-nav-burger::after {
	content: "";
	position: absolute;
	left: 0;
	width: 22px;
	height: 2px;
	background: #ffffff;
}

.shdw-nav-burger::before {
	top: -7px;
}

.shdw-nav-burger::after {
	top: 7px;
}

.shdw-nav-categories-links {
	position: absolute;
	top: 100%;
	left: 14px;
	margin-top: 0;
	display: grid;
	gap: 8px;
	min-width: 270px;
	padding: 12px 12px 10px;
	background: rgba(10, 11, 12, 0.98);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-top: 0;
	border-radius: 0 0 10px 10px;
	opacity: 0;
	pointer-events: none;
	transform: translateY(-4px);
	transition: opacity 280ms ease 120ms, transform 280ms ease 120ms;
	z-index: 10023;
}

.shdw-nav-categories:hover .shdw-nav-categories-links {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
	transition-delay: 0ms;
}

.shdw-nav-categories-links a {
	font-family: var(--shdw-ui-font);
	font-size: 13px;
	line-height: 1.25;
	color: #ffffff !important;
	text-transform: none;
	letter-spacing: 0.02em;
	text-decoration: none;
	padding: 4px 0;
}

.shdw-nav-categories-links a:hover {
	color: var(--shdw-accent-strong) !important;
}

/* 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;
}

.main-navigation .main-nav ul li > a {
	letter-spacing: 0.08em !important;
	text-shadow: 0 0 6px rgba(255, 255, 255, 0.18);
}

/* 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) {
	.site-branding {
		flex-basis: 180px;
		max-width: 180px;
	}

	.shdw-sidebar-strip {
		top: 80px;
		height: calc(100vh - 80px);
	}

	.main-navigation .main-nav > ul > li.shdw-nav-categories {
		display: none;
	}
}

/* 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 */
body.woocommerce-checkout .woocommerce form .form-row input.input-text,
body.woocommerce-checkout .woocommerce form .form-row textarea,
body.woocommerce-checkout .woocommerce form .form-row select,
body.woocommerce-checkout .select2-container--default .select2-selection--single,
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #111111 !important;
}

body.woocommerce-checkout .woocommerce form .form-row input.input-text::placeholder,
body.woocommerce-checkout .woocommerce form .form-row textarea::placeholder {
	color: #1f1f1f !important;
	opacity: 1 !important;
}

body.woocommerce-checkout .woocommerce form .form-row input.input-text::-webkit-input-placeholder,
body.woocommerce-checkout .woocommerce form .form-row textarea::-webkit-input-placeholder {
	color: #1f1f1f !important;
	opacity: 1 !important;
}

body.woocommerce-checkout .woocommerce form .form-row input.input-text::-moz-placeholder,
body.woocommerce-checkout .woocommerce form .form-row textarea::-moz-placeholder {
	color: #1f1f1f !important;
	opacity: 1 !important;
}

body.woocommerce-checkout .woocommerce form .form-row input.input-text:-ms-input-placeholder,
body.woocommerce-checkout .woocommerce form .form-row textarea:-ms-input-placeholder {
	color: #1f1f1f !important;
	opacity: 1 !important;
}

body.woocommerce-checkout .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 input#billing_first_name::placeholder,
body.woocommerce-checkout input#billing_last_name::placeholder,
body.woocommerce-checkout input#billing_address_1::placeholder,
body.woocommerce-checkout input#shipping_first_name::placeholder,
body.woocommerce-checkout input#shipping_last_name::placeholder,
body.woocommerce-checkout input#shipping_address_1::placeholder,
body.woocommerce-checkout input#billing_city::placeholder,
body.woocommerce-checkout input#shipping_city::placeholder {
	color: #111111 !important;
	opacity: 1 !important;
}

body.woocommerce-checkout input#billing_first_name::-webkit-input-placeholder,
body.woocommerce-checkout input#billing_last_name::-webkit-input-placeholder,
body.woocommerce-checkout input#billing_address_1::-webkit-input-placeholder,
body.woocommerce-checkout input#shipping_first_name::-webkit-input-placeholder,
body.woocommerce-checkout input#shipping_last_name::-webkit-input-placeholder,
body.woocommerce-checkout input#shipping_address_1::-webkit-input-placeholder,
body.woocommerce-checkout input#billing_city::-webkit-input-placeholder,
body.woocommerce-checkout 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 (classic + blocks, regardless of markup variant) */
body.woocommerce-checkout input,
body.woocommerce-checkout textarea,
body.woocommerce-checkout select {
	color: #111111 !important;
	-webkit-text-fill-color: #111111 !important;
}

body.woocommerce-checkout input::placeholder,
body.woocommerce-checkout textarea::placeholder,
body.woocommerce-checkout input::-webkit-input-placeholder,
body.woocommerce-checkout textarea::-webkit-input-placeholder,
body.woocommerce-checkout input::-moz-placeholder,
body.woocommerce-checkout textarea::-moz-placeholder,
body.woocommerce-checkout input:-ms-input-placeholder,
body.woocommerce-checkout 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 page hardening: remove white strip and keep product cards in a real 2-column grid */
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 {
	background: #050505 !important;
}

body.search .page-header,
body.search-results .page-header,
body.search .inside-article .entry-header,
body.search-results .inside-article .entry-header {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	margin-top: 0 !important;
}

body.search .inside-article > .search-form,
body.search-results .inside-article > .search-form {
	display: none !important;
}

body.search .navigation-search,
body.search-results .navigation-search,
body.search .navigation-search.nav-search-active,
body.search-results .navigation-search.nav-search-active {
	display: block !important;
	background: #000000 !important;
	padding: 8px 14px !important;
	margin: 0 !important;
	max-height: 64px !important;
	min-height: 0 !important;
	overflow: hidden !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: 14px !important;
	list-style: none !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;
}

/* Search results page: prevent oversized white search strip */
body.search .navigation-search,
body.search-results .navigation-search,
body.search .navigation-search.nav-search-active,
body.search-results .navigation-search.nav-search-active {
	background: #000000 !important;
	padding: 8px 14px !important;
	margin: 0 !important;
	max-height: 64px !important;
	min-height: 0 !important;
	overflow: hidden !important;
}

body.search .navigation-search form,
body.search-results .navigation-search form,
body.search .navigation-search .search-form,
body.search-results .navigation-search .search-form {
	margin: 0 !important;
	padding: 0 !important;
}

body.search .navigation-search input[type="search"],
body.search-results .navigation-search input[type="search"],
body.search .navigation-search input[type="text"],
body.search-results .navigation-search input[type="text"] {
	height: 40px !important;
	line-height: 40px !important;
	background: #070707 !important;
	color: #ffffff !important;
	border: 1px solid #2a2a2a !important;
}

/* Product search results: force two columns on both desktop and mobile */
body.search-results.woocommerce-page ul.products,
body.search.woocommerce-page ul.products,
body.search-results ul.products,
body.search ul.products {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 14px !important;
}

body.search-results ul.products li.product,
body.search ul.products li.product {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}

/* Search panel behavior: keep hidden unless explicitly active */
.main-navigation .navigation-search {
	display: none !important;
}

.main-navigation .navigation-search.nav-search-active {
	display: block !important;
}

/* Search page container cleanup to avoid white blocks in content area */
body.search #page,
body.search-results #page,
body.search #content,
body.search-results #content,
body.search .inside-article,
body.search-results .inside-article {
	background: #050505 !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* If WP renders a second inline search form in content, hide it */
body.search .inside-article .search-form,
body.search-results .inside-article .search-form {
	display: none !important;
}

/* Search results grids: support Woo core + Woo Blocks markup */
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: 14px !important;
}

body.search .wc-block-grid__product,
body.search-results .wc-block-grid__product {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}

@media (max-width: 768px) {
	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(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
	}

	/* Mobile search/category hard override: defeat Woo/theme column utility classes */
	body.search.woocommerce ul.products,
	body.search-results.woocommerce ul.products,
	body.search.woocommerce-page ul.products,
	body.search-results.woocommerce-page ul.products,
	body.tax-product_cat ul.products,
	body.tax-product_tag ul.products {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
	}

	body.search.woocommerce ul.products li.product,
	body.search-results.woocommerce ul.products li.product,
	body.search.woocommerce-page ul.products li.product,
	body.search-results.woocommerce-page ul.products li.product,
	body.tax-product_cat ul.products li.product,
	body.tax-product_tag ul.products li.product,
	.woocommerce ul.products.columns-1 li.product,
	.woocommerce ul.products.columns-2 li.product,
	.woocommerce ul.products.columns-3 li.product,
	.woocommerce ul.products.columns-4 li.product,
	.woocommerce ul.products.columns-5 li.product,
	.woocommerce ul.products.columns-6 li.product {
		float: none !important;
		clear: none !important;
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
	}

	body.search.woocommerce ul.products::before,
	body.search.woocommerce ul.products::after,
	body.search-results.woocommerce ul.products::before,
	body.search-results.woocommerce ul.products::after,
	body.tax-product_cat ul.products::before,
	body.tax-product_cat ul.products::after,
	body.tax-product_tag ul.products::before,
	body.tax-product_tag ul.products::after {
		content: none !important;
		display: none !important;
	}
}

/*
 * Single product cart row + buttons — match Add to cart; Checkout is a link.
 */
body.single-product.woocommerce div.product form.cart {
	column-gap: 12px;
	row-gap: 12px;
}

body.single-product.woocommerce div.product form.cart button.single_add_to_cart_button.button.alt,
body.single-product.woocommerce-page div.product form.cart button.single_add_to_cart_button.button.alt,
body.single-product.woocommerce div.product form.cart a.button.alt.shdw-checkout-link,
body.single-product.woocommerce-page div.product form.cart a.button.alt.shdw-checkout-link {
	background: #000000 !important;
	background-color: #000000 !important;
	color: #ffffff !important;
	border: 1px solid #ffffff !important;
	border-radius: 4px !important;
	box-shadow: none !important;
	text-shadow: none !important;
	text-decoration: none !important;
	font-family: var(--shdw-ui-font) !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
}

body.single-product.woocommerce div.product form.cart button.single_add_to_cart_button.button.alt:hover,
body.single-product.woocommerce-page div.product form.cart button.single_add_to_cart_button.button.alt:hover,
body.single-product.woocommerce div.product form.cart a.button.alt.shdw-checkout-link:hover,
body.single-product.woocommerce-page div.product form.cart a.button.alt.shdw-checkout-link:hover,
body.single-product.woocommerce div.product form.cart button.single_add_to_cart_button.button.alt:focus-visible,
body.single-product.woocommerce-page div.product form.cart button.single_add_to_cart_button.button.alt:focus-visible,
body.single-product.woocommerce div.product form.cart a.button.alt.shdw-checkout-link:focus-visible,
body.single-product.woocommerce-page div.product form.cart a.button.alt.shdw-checkout-link:focus-visible {
	background: #12a36f !important;
	background-color: #12a36f !important;
	border-color: #12a36f !important;
	color: #000000 !important;
	transform: none !important;
}
