/* WCCS Mega Menu basic styling */
.wccs-mega-menu {
	position: relative;
	font-size: 14px;
	z-index: 30;
	
	font-family: 'Oswald', sans-serif;
	font-size: 16px;
}

.wccs-mega-level a {
	font-size: 14px
}

.wccs-mega-menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

nav.wccs-mega-menu.wccs-mega-location-sidebar {
	padding: 0;
}

/* Ensure visibility against parent theme defaults */
.wccs-mega-menu a {
	color: var(--color-dark-grey, #222);
	text-decoration: none;
	display: block;
	text-transform: uppercase !important;
}

.wccs-mega-menu a:hover {
	color: var(--color-accent, #e30613);
}

/* Active category state */
.wccs-mega-menu a.is-active {
	color: var(--color-accent) !important;
	font-weight: 700 !important;
}

.wccs-mega-level-1 {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: max-content;
	column-gap: 18px;
	row-gap: 10px;
	align-items: center;
}

.wccs-mega-level-1 > .wccs-mega-item {
	position: relative;
}

.wccs-mega-item > a {
	display: block;
	padding: 10px 8px;
	font-weight: 600;
	position: relative;
}

/* Arrow indicator for items with submenus */
.wccs-mega-item.has-sub > a::after {
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid currentColor;
	margin-left: 6px;
	vertical-align: middle;
	transition: transform 0.2s ease;
}

.wccs-mega-item.wccs-open > a::after,
.wccs-mega-item.has-sub:hover > a::after,
.wccs-mega-item.has-sub:focus-within > a::after {
	transform: rotate(180deg);
}

/* Level 2 container */
.wccs-mega-level-2 {
	display: none !important; /* base state */
	position: absolute;
	left: 0;
	top: 100%;
	background: #fff;
	box-shadow: 0 10px 25px rgba(0,0,0,0.08);
	border: 1px solid rgba(0,0,0,0.05);
	padding: 18px 20px;
	min-width: 520px;
	z-index: 9999;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	column-gap: 16px;
	row-gap: 10px;
}

/* Level 3 list */
.wccs-mega-level-3 {
	margin-top: 8px;
}

.wccs-mega-level-3 .wccs-mega-item > a {
	display: block;
	padding: 6px 0;
	font-weight: 400;
	color: #333;
}

.wccs-mega-level-3 .wccs-mega-item > a:hover {
	color: var(--color-accent, #e30613);
}

/* Reveal on hover (desktop) */
.wccs-mega-level-1 > .wccs-mega-item:hover > .wccs-mega-level-2,
.wccs-mega-level-1 > .wccs-mega-item:focus-within > .wccs-mega-level-2,
.wccs-mega-item.wccs-open > .wccs-mega-level-2 {
	display: grid !important;
}

/* When toggled via JS on touch/mobile */
.wccs-mega-item.wccs-open > .wccs-mega-level-2 {
	display: grid;
}

/* Sidebar mode styling */
.wccs-mega-menu.wccs-mega-location-sidebar {
	width: 100%;
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-1 {
	display: block;
	grid-auto-flow: row;
	grid-auto-columns: unset;
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-1 > .wccs-mega-item {
	position: relative;
	border-bottom: 1px solid rgba(0,0,0,0.08);
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-item > a {
	padding: 14px 12px;
	color: var(--color-dark-grey, #222);
	transition: background-color 0.2s ease, color 0.2s ease;
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-item > a:hover {
	/*background-color: var(--color-light-grey-red);*/
	color: var(--color-accent);
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-2 {
	position: static;
	display: none !important;
	grid-template-columns: 1fr;
	min-width: 0;
	width: 100%;
	box-shadow: none;
	border: none;
	border-top: 1px solid rgba(0,0,0,0.05);
	padding: 8px 0 8px 10px;
	background-color: #fafafa;
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-1 > .wccs-mega-item:hover > .wccs-mega-level-2,
.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-1 > .wccs-mega-item:focus-within > .wccs-mega-level-2,
.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-item.wccs-open > .wccs-mega-level-2 {
	display: block !important;
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-2 > .wccs-mega-item {
	border-bottom: 1px solid rgba(0,0,0,0.05);
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-2 > .wccs-mega-item:last-child {
	border-bottom: none;
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-2 .wccs-mega-item > a {
	padding: 10px 1px;
	font-weight: 500;
	color: #444;
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-3 {
	margin-top: 0;
	padding-left: 10px;
	border-left: 2px solid rgba(0,0,0,0.1);
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-3 .wccs-mega-item > a {
	padding: 8px 8px;
	font-weight: 400;
	color: #666;
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-3 .wccs-mega-item > a:hover {
	color: var(--color-accent, #e30613);
	background-color: transparent;
}

/* Page layout with sidebar */
.wccs-megamenu-page-layout {
	display: flex;
	flex-direction: row;
	gap: 30px;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 15px;
}

.wccs-megamenu-sidebar-wrapper {
	flex: 0 0 280px;
	min-width: 0;
}

.wccs-megamenu-content-wrapper {
	flex: 1 1 auto;
	min-width: 0;
}

/* Shop layout with sidebar */
.wccs-megamenu-shop-layout {
	display: flex;
	flex-direction: row;
	gap: 30px;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0;
}

.wccs-megamenu-shop-content-wrapper {
	flex: 1 1 auto;
	min-width: 0;
}

.wccs-megamenu-shop-content-wrapper .products-archive {
	width: 100%;
}

.wccs-megamenu-sidebar {
	position: sticky;
	top: 20px;
	max-height: calc(100vh - 40px);
	overflow-y: auto;
	scrollbar-width: none; /* Firefox */
	-ms-overflow-style: none; /* IE/Edge */
	background: transparent;
	padding: 0;
	border: none;
}


/* Hide scrollbar for Chrome/Safari/Opera */
.wccs-megamenu-sidebar::-webkit-scrollbar {
	display: none;
}

/* ============================================
   Homepage Template Layout
   ============================================ */
.wccs-homepage-layout, .wccs-megamenu-shop-layout {
	display: flex;
		flex-direction: row;
		gap: 30px;
		max-width: calc(100% - 80px);
		margin: 0 auto;
		padding: 30px 15px 60px;
		min-width: 1400px;
}

.wccs-homepage-sidebar {
	flex: 0 0 280px;
	min-width: 0;
}

.wccs-homepage-sidebar .wccs-mega-menu {
	position: sticky;
	top: 20px;
	max-height: calc(100vh - 40px);
	overflow-y: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	background: #fff;
	padding: 0 10px;
	/*box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04), -2px 0 12px rgba(0, 0, 0, 0.04);*/
}

.wccs-homepage-sidebar .wccs-mega-menu::-webkit-scrollbar {
	display: none;
}

/* Force sidebar/vertical style for the menu in homepage template */
.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-1 {
	display: block;
	grid-auto-flow: unset;
	grid-auto-columns: unset;
}

.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-1 > .wccs-mega-item {
	border-bottom: 1px solid rgba(0,0,0,0.06);
}

.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-1 > .wccs-mega-item:last-child {
	border-bottom: none;
}

.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-item > a {
	padding: 10px 0;
	font-weight: 400px;
	color: #222;
	transition: background-color 0.2s ease, color 0.2s ease;
	text-transform: uppercase;
}

.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-item > a:hover {
	/*background-color: var(--color-light-grey-red, #f5f5f5);*/
	color: var(--color-accent, #e30613);
}

.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-2 {
	position: static;
	display: none !important;
	grid-template-columns: 1fr;
	min-width: 0;
	width: 100%;
	box-shadow: none;
	border: none;
	border-top: 1px solid rgba(0,0,0,0.05);
	padding: 6px 0 6px 16px;
	background-color: #fafafa;
}

.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-1 > .wccs-mega-item:hover > .wccs-mega-level-2,
.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-1 > .wccs-mega-item:focus-within > .wccs-mega-level-2,
.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-item.wccs-open > .wccs-mega-level-2 {
	display: block !important;
}

.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-2 .wccs-mega-item > a {
	padding: 8px 8px;
	font-weight: 500;
	font-size: 12px;
	color: #444;
}

.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-3 {
	margin-top: 0;
	padding-left: 14px;
	border-left: 2px solid rgba(0,0,0,0.08);
}

.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-3 .wccs-mega-item > a {
	padding: 6px 6px;
	font-weight: 400;
	color: #666;
}

.wccs-homepage-content {
	flex: 1 1 auto;
	min-width: 0;
}

/* Let Gutenberg blocks fill the available width */
.wccs-homepage-content > .wp-block-group,
.wccs-homepage-content > .wp-block-columns,
.wccs-homepage-content > .wp-block-cover,
.wccs-homepage-content > .alignwide,
.wccs-homepage-content > .alignfull {
	max-width: 100%;
}

/* Responsive */
@media (max-width: 1024px) {
	.wccs-mega-level-1 {
		display: grid;
		grid-auto-flow: row;
		row-gap: 10px;
		column-gap: 0;
	}

	.wccs-mega-level-2 {
		position: static;
		min-width: 0;
		width: 100%;
		box-shadow: none;
		border: none;
		padding: 10px 0 6px;
	}

	/* tighter spacing mobile */
	.wccs-mega-item > a {
		padding: 10px 4px;
	}

	.wccs-mega-level-3 .wccs-mega-item > a {
		padding: 4px 0;
	}

	/* Stack sidebar on mobile */
	.wccs-megamenu-page-layout,
	.wccs-megamenu-shop-layout,
	.wccs-homepage-layout {
		flex-direction: column;
		gap: 20px;
	}

	.wccs-megamenu-sidebar-wrapper,
	.wccs-homepage-sidebar {
		flex: 0 0 auto;
	}

	.wccs-megamenu-sidebar,
	.wccs-homepage-sidebar .wccs-mega-menu {
		position: static;
	}
}

@media screen and (max-width:1400px) {
	.wccs-homepage-layout, .wccs-megamenu-shop-layout {
		display: flex;
			flex-direction: row;
			gap: 30px;
			max-width: 100%;
			margin: 0 auto;
			padding: 30px 15px 60px;
			min-width: calc(100% - 80px);
	}
}


/* WCCS Mega Menu basic styling */
.wccs-mega-menu {
	position: relative;
	font-size: 14px;
	z-index: 30;
	
	font-family: 'Oswald', sans-serif;
	font-size: 16px;
}

.wccs-mega-level a {
	font-size: 14px
}

.wccs-mega-menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Ensure visibility against parent theme defaults */
.wccs-mega-menu a {
	color: var(--color-dark-grey, #222);
	text-decoration: none;
	display: block;
}

.wccs-mega-menu a:hover {
	color: var(--color-accent, #e30613);
}

/* Active category state */
.wccs-mega-menu a.is-active {
	color: var(--color-accent) !important;
	font-weight: 700 !important;
}

.wccs-mega-level-1 {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: max-content;
	column-gap: 18px;
	row-gap: 10px;
	align-items: center;
}

.wccs-mega-level-1 > .wccs-mega-item {
	position: relative;
}

.wccs-mega-item > a {
	display: block;
	padding: 10px 8px;
	font-weight: 600;
	position: relative;
}

/* Arrow indicator for items with submenus */
.wccs-mega-item.has-sub > a::after {
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid currentColor;
	margin-left: 6px;
	vertical-align: middle;
	transition: transform 0.2s ease;
}

.wccs-mega-item.wccs-open > a::after,
.wccs-mega-item.has-sub:hover > a::after,
.wccs-mega-item.has-sub:focus-within > a::after {
	transform: rotate(180deg);
}

/* Level 2 container */
.wccs-mega-level-2 {
	display: none !important; /* base state */
	position: absolute;
	left: 0;
	top: 100%;
	background: #fff;
	box-shadow: 0 10px 25px rgba(0,0,0,0.08);
	border: 1px solid rgba(0,0,0,0.05);
	padding: 18px 20px;
	min-width: 520px;
	z-index: 9999;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	column-gap: 16px;
	row-gap: 10px;
}

/* Level 3 list */
.wccs-mega-level-3 {
	margin-top: 8px;
}

.wccs-mega-level-3 .wccs-mega-item > a {
	display: block;
	padding: 6px 0;
	font-weight: 400;
	color: #333;
}

.wccs-mega-level-3 .wccs-mega-item > a:hover {
	color: var(--color-accent, #e30613);
}

/* Reveal on hover (desktop) */
.wccs-mega-level-1 > .wccs-mega-item:hover > .wccs-mega-level-2,
.wccs-mega-level-1 > .wccs-mega-item:focus-within > .wccs-mega-level-2,
.wccs-mega-item.wccs-open > .wccs-mega-level-2 {
	display: grid !important;
}

/* When toggled via JS on touch/mobile */
.wccs-mega-item.wccs-open > .wccs-mega-level-2 {
	display: grid;
}

/* Sidebar mode styling */
.wccs-mega-menu.wccs-mega-location-sidebar {
	width: 100%;
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-1 {
	display: block;
	grid-auto-flow: row;
	grid-auto-columns: unset;
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-1 > .wccs-mega-item {
	position: relative;
	border-bottom: 1px solid rgba(0,0,0,0.08);
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-item > a {
	padding: 14px 12px;
	color: black;
	font-weight: 400;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-item > a:hover {
	/*background-color: var(--color-light-grey-red);*/
	color: var(--color-accent);
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-2 {
	position: static;
	display: none !important;
	grid-template-columns: 1fr;
	min-width: 0;
	width: 100%;
	box-shadow: none;
	border: none;
	border-top: 1px solid rgba(0,0,0,0.05);
	padding: 8px 0 8px 10px;
	background-color: #fafafa;
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-1 > .wccs-mega-item:hover > .wccs-mega-level-2,
.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-1 > .wccs-mega-item:focus-within > .wccs-mega-level-2,
.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-item.wccs-open > .wccs-mega-level-2 {
	display: block !important;
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-2 > .wccs-mega-item {
	border-bottom: 1px solid rgba(0,0,0,0.05);
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-2 > .wccs-mega-item:last-child {
	border-bottom: none;
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-2 .wccs-mega-item > a {
	padding: 10px 1px;
	font-weight: 500;
	color: #444;
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-3 {
	margin-top: 0;
	padding-left: 10px;
	border-left: 2px solid rgba(0,0,0,0.1);
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-3 .wccs-mega-item > a {
	padding: 8px 8px;
	font-weight: 400;
	color: #666;
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-3 .wccs-mega-item > a:hover {
	color: var(--color-accent, #e30613);
	background-color: transparent;
}

/* Page layout with sidebar */
.wccs-megamenu-page-layout {
	display: flex;
	flex-direction: row;
	gap: 30px;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 15px;
}

.wccs-megamenu-sidebar-wrapper {
	flex: 0 0 280px;
	min-width: 0;
}

.wccs-megamenu-content-wrapper {
	flex: 1 1 auto;
	min-width: 0;
}

/* Shop layout with sidebar */
.wccs-megamenu-shop-layout {
	display: flex;
	flex-direction: row;
	gap: 30px;
	max-width: calc(100% - 80px);
	margin: 0 auto;
	padding: 0;
	min-width: 1400px;
}

.wccs-megamenu-shop-content-wrapper {
	flex: 1 1 auto;
	min-width: 0;
}

.wccs-megamenu-shop-content-wrapper .products-archive {
	width: 100%;
}



/* Hide scrollbar for Chrome/Safari/Opera */
.wccs-megamenu-sidebar::-webkit-scrollbar {
	display: none;
}

/* ============================================
   Homepage Template Layout
   ============================================ */
.wccs-megamenu-shop-layout {
	padding-left: 0;
}

.wccs-homepage-sidebar {
	flex: 0 0 280px;
	min-width: 0;
}

.wccs-homepage-sidebar .wccs-mega-menu {
	position: sticky;
	top: 20px;
	max-height: calc(100vh - 40px);
	overflow-y: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	background: #fff;
	padding: 0 10px;
	/*box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04), -2px 0 12px rgba(0, 0, 0, 0.04);*/
}

.wccs-homepage-sidebar .wccs-mega-menu::-webkit-scrollbar {
	display: none;
}

/* Force sidebar/vertical style for the menu in homepage template */
.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-1 {
	display: block;
	grid-auto-flow: unset;
	grid-auto-columns: unset;
}

.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-1 > .wccs-mega-item {
	border-bottom: 1px solid rgba(0,0,0,0.06);
}

.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-1 > .wccs-mega-item:last-child {
	border-bottom: none;
}

.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-item > a {
	padding: 10px 0;
	font-weight: 400px;
	color: #222;
	transition: background-color 0.2s ease, color 0.2s ease;
	text-transform: uppercase;
}

.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-item > a:hover {
	/*background-color: var(--color-light-grey-red, #f5f5f5);*/
	color: var(--color-accent, #e30613);
}

.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-2 {
	position: static;
	display: none !important;
	grid-template-columns: 1fr;
	min-width: 0;
	width: 100%;
	box-shadow: none;
	border: none;
	border-top: 1px solid rgba(0,0,0,0.05);
	padding: 6px 0 6px 16px;
	background-color: #fafafa;
}

.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-1 > .wccs-mega-item:hover > .wccs-mega-level-2,
.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-1 > .wccs-mega-item:focus-within > .wccs-mega-level-2,
.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-item.wccs-open > .wccs-mega-level-2 {
	display: block !important;
}

.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-2 .wccs-mega-item > a {
	padding: 8px 8px;
	font-weight: 500;
	font-size: 12px;
	color: #444;
}

.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-3 {
	margin-top: 0;
	padding-left: 14px;
	border-left: 2px solid rgba(0,0,0,0.08);
}

.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-3 .wccs-mega-item > a {
	padding: 6px 6px;
	font-weight: 400;
	color: #666;
}

.wccs-homepage-content {
	flex: 1 1 auto;
	min-width: 0;
}

/* Let Gutenberg blocks fill the available width */
.wccs-homepage-content > .wp-block-group,
.wccs-homepage-content > .wp-block-columns,
.wccs-homepage-content > .wp-block-cover,
.wccs-homepage-content > .alignwide,
.wccs-homepage-content > .alignfull {
	max-width: 100%;
}

/* Responsive */
@media (max-width: 1024px) {
	.wccs-mega-level-1 {
		display: grid;
		grid-auto-flow: row;
		row-gap: 10px;
		column-gap: 0;
	}

	.wccs-mega-level-2 {
		position: static;
		min-width: 0;
		width: 100%;
		box-shadow: none;
		border: none;
		padding: 10px 0 6px;
	}

	/* tighter spacing mobile */
	.wccs-mega-item > a {
		padding: 10px 4px;
	}

	.wccs-mega-level-3 .wccs-mega-item > a {
		padding: 4px 0;
	}

	/* Stack sidebar on mobile */
	.wccs-megamenu-page-layout,
	.wccs-megamenu-shop-layout,
	.wccs-homepage-layout {
		flex-direction: column;
		gap: 20px;
	}

	.wccs-megamenu-sidebar-wrapper,
	.wccs-homepage-sidebar {
		flex: 0 0 auto;
	}

	.wccs-megamenu-sidebar,
	.wccs-homepage-sidebar .wccs-mega-menu {
		position: static;
	}
}

@media screen and (max-width:1400px) {
	body .wccs-homepage-layout, body .wccs-megamenu-shop-layout {
		display: flex;
			flex-direction: row;
			gap: 30px;
			max-width: 100%;
			margin: 0 auto;
			padding: 30px 15px 60px 15px;
			min-width: calc(100% - 80px);
	}
}



/* --------------------------------------------
   Normalize sidebar/shop widths and list styles
   -------------------------------------------- */
.wccs-homepage-layout {
	width: 100%;
	max-width: calc(100% - 80px);
	min-width: 1400px;
}

.wccs-megamenu-sidebar-wrapper,
.wccs-homepage-sidebar {
	flex: 0 0 280px;
	width: 280px;
	max-width: 280px;
	min-width: 0;
}

.wccs-megamenu-sidebar-wrapper .wccs-mega-menu.wccs-mega-location-sidebar,
.wccs-homepage-sidebar .wccs-mega-menu {
	width: 100%;
	max-width: 280px;
}

/* Keep product lists consistent inside shop/sidebar layout */
.wccs-megamenu-shop-content-wrapper .products-archive,
.wccs-megamenu-shop-content-wrapper ul.products {
	width: 100%;
	max-width: 100%;
}

/* Apply same responsive behavior to both sidebar contexts */
@media (max-width: 1024px) {
	.wccs-megamenu-shop-layout,
	.wccs-homepage-layout {
		min-width: 0;
		max-width: 100%;
		width: 100%;
	}



	.wccs-megamenu-sidebar-wrapper .wccs-mega-menu.wccs-mega-location-sidebar,
	.wccs-homepage-sidebar .wccs-mega-menu {
		width: 100%;
		max-width: 100%;
	}
}

@media screen and (max-width: 768px) {
	.wccs-megamenu-sidebar-wrapper, .wccs-homepage-sidebar {
		display: none;
	}
	.wccs-mobile-menu-group.wccs-mobile-menu-group-main ul li a {
		background: var(--color-light-grey-red) !important;
	}
	
	.wccs-mobile-menu-group.wccs-mobile-menu-group-main ul li a:hover {
		background: #f7f7f7 !important;
	}
	
	main.wccs-homepage-content {
		padding: 0 20px;
	}
}

/* Match shop sidebar menu visuals to homepage sidebar menu */
.wccs-megamenu-sidebar-wrapper .wccs-mega-menu.wccs-mega-location-sidebar,
.wccs-homepage-sidebar .wccs-mega-menu {
	position: sticky;
	top: 20px;
	max-height: calc(100vh - 40px);
	overflow-y: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	background: #fff;
}

.wccs-megamenu-sidebar-wrapper .wccs-mega-menu.wccs-mega-location-sidebar::-webkit-scrollbar,
.wccs-homepage-sidebar .wccs-mega-menu::-webkit-scrollbar {
	display: none;
}

.wccs-megamenu-sidebar-wrapper .wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-1,
.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-1 {
	display: block;
	grid-auto-flow: unset;
	grid-auto-columns: unset;
}

.wccs-megamenu-sidebar-wrapper .wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-1 > .wccs-mega-item,
.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-1 > .wccs-mega-item {
	border-bottom: 1px solid rgba(0,0,0,0.06);
}

.wccs-megamenu-sidebar-wrapper .wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-1 > .wccs-mega-item:last-child,
.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-1 > .wccs-mega-item:last-child {
	border-bottom: none;
}

.wccs-megamenu-sidebar-wrapper .wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-item > a,
.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-item > a {
	padding: 10px 0;
	font-weight: 400;
	color: #222;
	transition: background-color 0.2s ease, color 0.2s ease;
	text-transform: uppercase;
}

.wccs-megamenu-sidebar-wrapper .wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-item > a:hover,
.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-item > a:hover {
	color: var(--color-accent, #e30613);
}

.wccs-megamenu-sidebar-wrapper .wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-2,
.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-2 {
	position: static;
	display: none !important;
	grid-template-columns: 1fr;
	min-width: 0;
	width: 100%;
	box-shadow: none;
	border: none;
	border-top: 1px solid rgba(0,0,0,0.05);
	padding: 6px 0 6px 16px;
	background-color: #fafafa;
}

.wccs-megamenu-sidebar-wrapper .wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-1 > .wccs-mega-item:hover > .wccs-mega-level-2,
.wccs-megamenu-sidebar-wrapper .wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-1 > .wccs-mega-item:focus-within > .wccs-mega-level-2,
.wccs-megamenu-sidebar-wrapper .wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-item.wccs-open > .wccs-mega-level-2,
.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-1 > .wccs-mega-item:hover > .wccs-mega-level-2,
.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-1 > .wccs-mega-item:focus-within > .wccs-mega-level-2,
.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-item.wccs-open > .wccs-mega-level-2 {
	display: block !important;
}

.wccs-megamenu-sidebar-wrapper .wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-2 .wccs-mega-item > a,
.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-2 .wccs-mega-item > a {
	padding: 8px 8px;
	font-weight: 500;
	font-size: 12px;
	color: #444;
}

.wccs-megamenu-sidebar-wrapper .wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-3,
.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-3 {
	margin-top: 0;
	padding-left: 14px;
	border-left: 2px solid rgba(0,0,0,0.08);
}

.wccs-megamenu-sidebar-wrapper .wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-3 .wccs-mega-item > a,
.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-3 .wccs-mega-item > a {
	padding: 6px 6px;
	font-weight: 400;
	color: #666;
	text-transform: none;
}

/* All viewports: never open by hover/focus, only by JS .wccs-open */
.wccs-mega-level-1 > .wccs-mega-item:hover > .wccs-mega-level-2,
.wccs-mega-level-1 > .wccs-mega-item:focus-within > .wccs-mega-level-2 {
	display: none !important;
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-item.wccs-open > .wccs-mega-level-2 {
	display: block !important;
}

.wccs-mega-menu:not(.wccs-mega-location-sidebar) .wccs-mega-item.wccs-open > .wccs-mega-level-2 {
	display: grid !important;
}

/* Final override: first level never opens on hover, only via .wccs-open */
.wccs-mega-menu .wccs-mega-level-1 > .wccs-mega-item:hover > .wccs-mega-level-2,
.wccs-mega-menu .wccs-mega-level-1 > .wccs-mega-item:focus-within > .wccs-mega-level-2,
.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-1 > .wccs-mega-item:hover > .wccs-mega-level-2,
.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-1 > .wccs-mega-item:focus-within > .wccs-mega-level-2,
.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-1 > .wccs-mega-item:hover > .wccs-mega-level-2,
.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-1 > .wccs-mega-item:focus-within > .wccs-mega-level-2,
.wccs-megamenu-sidebar-wrapper .wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-1 > .wccs-mega-item:hover > .wccs-mega-level-2,
.wccs-megamenu-sidebar-wrapper .wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-1 > .wccs-mega-item:focus-within > .wccs-mega-level-2 {
	display: none !important;
}

.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-1 > .wccs-mega-item.wccs-open > .wccs-mega-level-2,
.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-level-1 > .wccs-mega-item.wccs-open > .wccs-mega-level-2,
.wccs-megamenu-sidebar-wrapper .wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-level-1 > .wccs-mega-item.wccs-open > .wccs-mega-level-2 {
	display: block !important;
}

.wccs-mega-menu:not(.wccs-mega-location-sidebar) .wccs-mega-level-1 > .wccs-mega-item.wccs-open > .wccs-mega-level-2 {
	display: grid !important;
}

/* Active parent/current category: match hover color in sidebar modes */
.wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-link.is-active,
.wccs-homepage-sidebar .wccs-mega-menu .wccs-mega-link.is-active,
.wccs-megamenu-sidebar-wrapper .wccs-mega-menu.wccs-mega-location-sidebar .wccs-mega-link.is-active {
	color: var(--color-accent, #e30613) !important;
}