/* Consolidated sticky quick navigation — desktop and mobile. */
@media (min-width: 768px) {
	html body #header-core #logo#logo {
		box-sizing: border-box !important;
		gap: 12px !important;
		min-height: 0 !important;
		margin: 0 auto !important;
		padding: 0 14px !important;
	}

	html body #header-core #logo#logo > a[rel="home"] {
		flex: 0 1 460px !important;
		width: min(460px, 62%) !important;
		max-width: 460px !important;
	}

	html body #header-core #logo#logo > a.site-description-shop-link {
		flex: 0 1 180px !important;
		width: min(180px, 32%) !important;
		max-width: 180px !important;
		height: 78px !important;
		min-height: 78px !important;
	}
}

html body .ww-sticky-nav-spacer {
	display: block !important;
	width: 100% !important;
	height: 0;
}

html body .ww-mobile-page-nav {
	position: sticky !important;
	top: 0 !important;
	z-index: 9990 !important;
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(20, 67, 83, .12) !important;
	background: rgba(255, 255, 255, .97) !important;
	box-shadow: none !important;
	backdrop-filter: blur(10px) !important;
}

html body.admin-bar .ww-mobile-page-nav {
	top: 32px !important;
}

html body .ww-mobile-page-nav.ww-nav-fixed {
	position: fixed !important;
	top: var(--ww-nav-fixed-top, 0) !important;
	right: 0 !important;
	left: 0 !important;
	width: 100% !important;
}

html body .ww-mobile-page-nav .ww-mobile-page-nav-main {
	display: grid !important;
	grid-template-columns: minmax(0, 1.5fr) repeat(4, minmax(0, 1fr)) !important;
	width: min(720px, 100%) !important;
	max-width: 720px !important;
	margin: 0 auto !important;
}

html body .ww-mobile-page-nav-main > a,
html body .ww-mobile-page-nav-main > button {
	box-sizing: border-box !important;
	display: flex !important;
	min-width: 0 !important;
	align-items: center !important;
	justify-content: center !important;
	border: 0 !important;
	border-right: 1px solid #e1e9ea !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #173d4c !important;
	font-family: inherit !important;
	text-align: center !important;
	text-decoration: none !important;
	cursor: pointer !important;
}

html body .ww-mobile-page-nav-main > :last-child {
	border-right: 0 !important;
}

html body .ww-mobile-page-nav-main span,
html body .ww-mobile-page-nav-main small {
	display: block !important;
	min-width: 0 !important;
	max-width: 100% !important;
	color: inherit !important;
	font-weight: 900 !important;
	line-height: 1 !important;
}

html body .ww-mobile-page-nav-main small {
	overflow: hidden !important;
	letter-spacing: .02em !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

html body .ww-mobile-page-nav-main > a:hover,
html body .ww-mobile-page-nav-main > button:hover,
html body .ww-mobile-page-nav-main > a:focus-visible,
html body .ww-mobile-page-nav-main > button:focus-visible,
html body .ww-mobile-page-nav-main > button[aria-expanded="true"] {
	background: #eef5f5 !important;
	color: #c95310 !important;
}

html body .ww-mobile-category-menu {
	position: absolute !important;
	top: calc(100% + 2px) !important;
	left: 50% !important;
	display: block !important;
	width: min(980px, calc(100% - 24px)) !important;
	max-height: min(74vh, 680px) !important;
	margin: 0 !important;
	padding: 14px !important;
	overflow: auto !important;
	overscroll-behavior: contain !important;
	transform: translateX(-50%) !important;
	border: 1px solid #bfd1d7 !important;
	border-top: 3px solid #f47a2a !important;
	border-radius: 0 0 16px 16px !important;
	background: #fff !important;
	box-shadow: 0 18px 35px rgba(11, 43, 56, .20) !important;
	-webkit-overflow-scrolling: touch;
}

html body .ww-mobile-category-menu[hidden] {
	display: none !important;
}

html body .ww-mobile-category-menu > .ww-more-menu-groups {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 12px !important;
}

html body .ww-mobile-category-menu .ww-more-menu-group {
	min-width: 0 !important;
	margin: 0 !important;
	padding: 12px !important;
	border: 1px solid #d8e3e6 !important;
	border-radius: 13px !important;
	background: linear-gradient(150deg, #fff, #f5f9f9) !important;
}

html body .ww-mobile-category-menu .ww-more-menu-group > strong {
	display: flex !important;
	min-height: 34px !important;
	margin: 0 0 9px !important;
	padding: 0 4px 8px !important;
	align-items: center !important;
	border-bottom: 2px solid #f47a2a !important;
	color: #123f50 !important;
	font-size: 17px !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
	text-align: left !important;
}

html body .ww-mobile-category-menu .ww-more-menu-group > div {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 6px !important;
}

html body .ww-mobile-category-menu .ww-more-menu-group a {
	display: flex !important;
	min-height: 40px !important;
	padding: 7px 9px !important;
	align-items: center !important;
	border: 1px solid #d7e2e4 !important;
	border-radius: 8px !important;
	background: #fff !important;
	color: #173d4c !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.22 !important;
	text-decoration: none !important;
}

html body .ww-mobile-category-menu .ww-more-menu-group a:hover,
html body .ww-mobile-category-menu .ww-more-menu-group a:focus-visible {
	border-color: #f47a2a !important;
	background: #fff2e8 !important;
	color: #9f3d13 !important;
	outline: 0 !important;
}

@media (min-width: 861px) {
	html body .ww-mobile-page-nav.ww-mobile-page-nav .ww-mobile-page-nav-main {
		height: 34px !important;
		min-height: 34px !important;
		max-height: 34px !important;
	}

	html body .ww-mobile-page-nav.ww-mobile-page-nav .ww-mobile-page-nav-main > a,
	html body .ww-mobile-page-nav.ww-mobile-page-nav .ww-mobile-page-nav-main > button {
		height: 34px !important;
		min-height: 34px !important;
		max-height: 34px !important;
		margin: 0 !important;
		padding: 0 8px !important;
		flex-direction: row !important;
		gap: 5px !important;
	}

	html body .ww-mobile-page-nav-main span,
	html body .ww-mobile-page-nav-main small {
		font-size: 15px !important;
	}
}

/* Shop landing: remove the retired spacer band below the introduction. */
html body.woocommerce-shop .ww-shop-hero {
	margin-bottom: 0 !important;
	border-top: 0 !important;
	border-bottom: 0 !important;
}

html body.woocommerce-shop .ww-shop-hero.ww-shop-hero--after-gallery {
	margin-top: clamp(30px, 4vw, 52px) !important;
	margin-bottom: clamp(20px, 3vw, 38px) !important;
}

html body.woocommerce-shop #ww-shop-categories {
	padding-top: 0 !important;
	border-top: 0 !important;
}

html body.woocommerce-shop #ww-shop-categories .woocommerce-loop-category__title {
	padding-top: 8px !important;
}

/* The shop landing mixes native WooCommerce category items with three custom
 * entries that omit the product-category class. Give every tile the same open,
 * borderless presentation rather than allowing legacy card rules to style only
 * part of the grid. */
html body.woocommerce-shop.woocommerce-page #ww-shop-categories.ww-shop-categories ul.products.products > li.masonry-brick,
html body.woocommerce-shop.woocommerce-page #ww-shop-categories.ww-shop-categories ul.products.products > li.masonry-brick:hover,
html body.woocommerce-shop.woocommerce-page #ww-shop-categories.ww-shop-categories ul.products.products > li.masonry-brick:focus-within {
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	overflow: visible !important;
}

html body.woocommerce-shop.woocommerce-page #ww-shop-categories.ww-shop-categories ul.products.products > li.masonry-brick > a {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

html body.woocommerce-shop.woocommerce-page #ww-shop-categories.ww-shop-categories ul.products.products > li.masonry-brick .ww-category-image,
html body.woocommerce-shop.woocommerce-page #ww-shop-categories.ww-shop-categories ul.products.products > li.masonry-brick .ww-category-image img {
	border: 0 !important;
	box-shadow: none !important;
}

html body.woocommerce-shop.woocommerce-page #ww-shop-categories.ww-shop-categories ul.products.products > li.masonry-brick > a,
html body.woocommerce-shop.woocommerce-page #ww-shop-categories.ww-shop-categories ul.products.products > li.masonry-brick .ww-category-image img,
html body.woocommerce-shop.woocommerce-page #ww-shop-categories.ww-shop-categories ul.products.products > li.masonry-brick .woocommerce-loop-category__title {
	transition: transform 180ms ease !important;
}

html body.woocommerce-shop.woocommerce-page #ww-shop-categories.ww-shop-categories ul.products.products > li.masonry-brick:focus-within .woocommerce-loop-category__title {
	color: #c9510a !important;
}

@media (hover: hover) and (pointer: fine) {
	html body.woocommerce-shop.woocommerce-page #ww-shop-categories.ww-shop-categories ul.products.products > li.masonry-brick:hover > a {
		transform: translateY(-5px) !important;
	}

	html body.woocommerce-shop.woocommerce-page #ww-shop-categories.ww-shop-categories ul.products.products > li.masonry-brick:hover .ww-category-image img {
		filter: drop-shadow(0 10px 12px rgba(20, 59, 74, 0.14)) !important;
		transform: scale(1.025) !important;
	}

	html body.woocommerce-shop.woocommerce-page #ww-shop-categories.ww-shop-categories ul.products.products > li.masonry-brick:hover .woocommerce-loop-category__title {
		color: #c9510a !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html body.woocommerce-shop.woocommerce-page #ww-shop-categories.ww-shop-categories ul.products.products > li.masonry-brick > a,
	html body.woocommerce-shop.woocommerce-page #ww-shop-categories.ww-shop-categories ul.products.products > li.masonry-brick .ww-category-image img,
	html body.woocommerce-shop.woocommerce-page #ww-shop-categories.ww-shop-categories ul.products.products > li.masonry-brick .woocommerce-loop-category__title {
		transition: none !important;
	}

	html body.woocommerce-shop.woocommerce-page #ww-shop-categories.ww-shop-categories ul.products.products > li.masonry-brick:hover > a,
	html body.woocommerce-shop.woocommerce-page #ww-shop-categories.ww-shop-categories ul.products.products > li.masonry-brick:hover .ww-category-image img {
		transform: none !important;
	}
}

@media (max-width: 860px) {
	html body .ww-mobile-page-nav-main > a,
	html body .ww-mobile-page-nav-main > button {
		min-height: 48px !important;
		padding: 4px 2px !important;
		flex-direction: column !important;
		gap: 1px !important;
	}

	html body .ww-mobile-page-nav-main span {
		font-size: 16px !important;
	}

	html body .ww-mobile-page-nav-main small {
		font-size: 10.5px !important;
		line-height: 1.2 !important;
	}

	html body .ww-mobile-nav-back small {
		font-size: 12px !important;
	}

	html body .ww-mobile-category-menu {
		right: auto !important;
		left: 50% !important;
		width: calc(100% - 16px) !important;
		max-height: calc(100vh - 118px) !important;
		padding: 10px !important;
	}

	html body .ww-mobile-category-menu > .ww-more-menu-groups {
		grid-template-columns: 1fr !important;
		gap: 10px !important;
	}

	html body .ww-mobile-category-menu .ww-more-menu-group {
		padding: 10px !important;
	}

	html body .ww-mobile-category-menu .ww-more-menu-group > div {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	html body .ww-mobile-category-menu .ww-more-menu-group a {
		min-height: 44px !important;
		font-size: 13px !important;
	}
}

@media (max-width: 782px) {
	html body.admin-bar .ww-mobile-page-nav {
		top: 46px !important;
	}
}

@media (max-width: 390px) {
	html body .ww-mobile-category-menu .ww-more-menu-group > div {
		grid-template-columns: 1fr !important;
	}
}
