/*
Theme Name: HVACentral Child
Theme URI: https://hvacentralparts.co.uk/
Description: Lean Blocksy child theme for HVACentral Parts.
Author: HVACentral Parts
Template: blocksy
Version: 1.4.5
Text Domain: hvacentral
Requires at least: 6.7
Requires PHP: 7.4
*/

:root {
	--hc-navy: #06192b;
	--hc-navy-soft: #0d2b44;
	--hc-signal: #a7e34b;
	--hc-signal-dark: #648d28;
	--hc-ink: #0b1f31;
	--hc-muted: #5c6b78;
	--hc-line: #d8e1e7;
	--hc-page: #f4f7f9;
	--hc-surface: #fff;
	--hc-danger: #b42318;
	--hc-radius: 12px;
	--hc-shadow: 0 14px 34px rgb(6 25 43 / 9%);
}

body.hc-theme {
	min-width: 320px;
	margin: 0;
	background: var(--hc-page);
	color: var(--hc-ink);
	font-family: Arial, "Helvetica Neue", Helvetica, system-ui, sans-serif;
	-webkit-font-smoothing: antialiased;
}

.hc-theme *,
.hc-theme *::before,
.hc-theme *::after {
	box-sizing: border-box;
}

.hc-theme a {
	text-underline-offset: 3px;
}

.hc-theme a:focus-visible,
.hc-theme button:focus-visible,
.hc-theme input:focus-visible,
.hc-theme select:focus-visible,
.hc-theme textarea:focus-visible,
.hc-theme summary:focus-visible {
	outline: 3px solid rgb(167 227 75 / 50%);
	outline-offset: 3px;
}

.hc-theme .hc-shell {
	width: min(calc(100% - 32px), 1260px);
	margin-inline: auto;
}

.hc-theme .hc-icon {
	width: 20px;
	height: 20px;
	flex: 0 0 auto;
}

.hc-theme .hc-skip-link:focus {
	z-index: 100000;
	top: 8px;
	left: 8px;
	width: auto;
	height: auto;
	clip: auto;
	clip-path: none;
	padding: 10px 14px;
	border-radius: 8px;
	background: var(--hc-signal);
	color: var(--hc-navy);
	font-size: 12px;
	font-weight: 900;
}

/* Header */
.hc-theme .hc-utility-bar {
	min-height: 32px;
	background: var(--hc-navy);
	color: #fff;
}

.hc-theme .hc-utility-inner {
	min-height: 32px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .06em;
}

.hc-theme .hc-utility-inner p {
	margin: 0;
}

.hc-theme .hc-signal-dot {
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 6px;
	border-radius: 50%;
	background: var(--hc-signal);
	box-shadow: 0 0 0 4px rgb(167 227 75 / 12%);
}

.hc-theme .hc-utility-meta {
	color: rgb(255 255 255 / 52%);
}

.hc-theme .hc-site-header {
	position: sticky;
	z-index: 900;
	top: 0;
	border-bottom: 1px solid #e8eef2;
	background: rgb(255 255 255 / 97%);
	box-shadow: 0 5px 18px rgb(6 25 43 / 6%);
	backdrop-filter: blur(12px);
}

.admin-bar.hc-theme .hc-site-header {
	top: 32px;
}

.hc-theme .hc-header-main {
	min-height: 72px;
	display: flex;
	align-items: center;
	gap: 26px;
	padding-block: 10px;
}

.hc-theme .hc-brand {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 10px;
	border-radius: 12px;
	color: inherit;
	text-decoration: none;
}

.hc-theme .hc-brand-mark {
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	border: 1px solid rgb(6 25 43 / 12%);
	border-radius: 10px;
	background: var(--hc-navy);
	color: var(--hc-signal);
	font-family: Consolas, "Cascadia Mono", monospace;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: -.08em;
}

.hc-theme .hc-brand-copy {
	display: block;
	line-height: 1;
}

.hc-theme .hc-brand-copy strong {
	display: block;
	color: var(--hc-navy);
	font-size: 22px;
	font-weight: 900;
	letter-spacing: -.045em;
}

.hc-theme .hc-brand-copy strong span {
	color: #78a92a;
}

.hc-theme .hc-brand-copy small {
	display: block;
	margin-top: 5px;
	color: #748290;
	font-size: 8px;
	font-weight: 900;
	letter-spacing: .24em;
}

.hc-theme .hc-header-search {
	min-width: 250px;
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	gap: 8px;
	border: 1px solid #cbd7df;
	border-radius: 12px;
	padding: 6px;
	background: #f8fafb;
	transition: border-color 150ms ease, box-shadow 150ms ease;
}

.hc-theme .hc-header-search:focus-within {
	border-color: #89b947;
	box-shadow: 0 0 0 3px rgb(167 227 75 / 18%);
}

.hc-theme .hc-header-search > .hc-icon {
	margin-left: 7px;
	color: #83909b;
}

.hc-theme .hc-header-search input[type="search"] {
	min-width: 0;
	height: 36px;
	flex: 1;
	margin: 0;
	border: 0;
	outline: 0;
	background: transparent;
	box-shadow: none;
	color: var(--hc-ink);
	font-size: 13px;
}

.hc-theme .hc-header-search input::placeholder {
	color: #8b98a3;
}

.hc-theme .hc-header-search button {
	height: 36px;
	margin: 0;
	border: 0;
	border-radius: 8px;
	padding: 0 16px;
	background: var(--hc-navy);
	color: #fff;
	cursor: pointer;
	font-size: 12px;
	font-weight: 900;
}

.hc-theme .hc-header-search button:hover {
	background: var(--hc-navy-soft);
}

.hc-theme .hc-header-actions {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 5px;
}

.hc-theme .hc-account-action,
.hc-theme .hc-basket-action {
	min-height: 46px;
	display: flex;
	align-items: center;
	gap: 8px;
	border-radius: 10px;
	padding: 7px 9px;
	color: var(--hc-navy);
	text-decoration: none;
}

.hc-theme .hc-account-action:hover,
.hc-theme .hc-basket-action:hover {
	background: #f0f5f7;
}

.hc-theme .hc-account-action span,
.hc-theme .hc-basket-action span {
	display: grid;
	gap: 2px;
	line-height: 1;
}

.hc-theme .hc-account-action small,
.hc-theme .hc-basket-action small {
	color: #7d8993;
	font-size: 9px;
	font-weight: 700;
}

.hc-theme .hc-account-action strong,
.hc-theme .hc-basket-action strong {
	font-size: 11px;
	font-weight: 900;
	white-space: nowrap;
}

.hc-theme .hc-basket-count {
	min-width: 20px;
	height: 20px;
	display: grid;
	place-items: center;
	border-radius: 999px;
	background: var(--hc-signal);
	color: var(--hc-navy);
	font-size: 10px;
}

.hc-theme .hc-checkout-action {
	height: 40px;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	border-radius: 9px;
	padding: 0 13px;
	background: var(--hc-signal);
	color: var(--hc-navy);
	font-size: 11px;
	font-weight: 900;
	text-decoration: none;
}

.hc-theme .hc-checkout-action:hover {
	background: #b6ed62;
}

.hc-theme .hc-checkout-action .hc-icon {
	width: 15px;
	height: 15px;
}

.hc-theme .hc-mobile-menu {
	display: none;
	position: relative;
}

.hc-theme .hc-mobile-menu summary {
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	border-radius: 9px;
	background: var(--hc-navy);
	color: #fff;
	cursor: pointer;
	font-size: 20px;
	list-style: none;
}

.hc-theme .hc-mobile-menu summary::-webkit-details-marker {
	display: none;
}

.hc-theme .hc-mobile-menu nav {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	width: min(290px, calc(100vw - 32px));
	display: grid;
	border: 1px solid var(--hc-line);
	border-radius: 12px;
	padding: 8px;
	background: #fff;
	box-shadow: var(--hc-shadow);
}

.hc-theme .hc-mobile-menu nav a {
	border-radius: 8px;
	padding: 11px 12px;
	color: var(--hc-navy);
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

.hc-theme .hc-mobile-menu nav a:hover {
	background: #f1f5f7;
}

.hc-theme .hc-category-nav {
	border-top: 1px solid #eef2f4;
	background: #fff;
}

.hc-theme .hc-nav-inner {
	min-height: 46px;
	display: flex;
	align-items: center;
	gap: 32px;
}

.hc-theme .hc-nav-inner > a {
	height: 46px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border-bottom: 2px solid transparent;
	color: #384b5c;
	font-size: 11px;
	font-weight: 900;
	text-decoration: none;
}

.hc-theme .hc-nav-inner > a:hover {
	border-color: var(--hc-signal);
	color: var(--hc-navy);
}

.hc-theme .hc-nav-inner .hc-all-parts {
	color: var(--hc-navy);
}

.hc-theme .hc-nav-inner .hc-account-nav {
	margin-left: auto;
	color: #5b7f20;
}

.hc-theme .hc-account-nav .hc-icon {
	width: 15px;
	height: 15px;
}

/* Homepage hero */
.hc-theme .hc-main {
	min-height: 55vh;
}

.hc-theme.home .hc-main {
	overflow: hidden;
}

.hc-theme .hc-hero {
	position: relative;
	min-height: 535px;
	display: grid;
	align-items: center;
	overflow: hidden;
	background: var(--hc-navy);
	color: #fff;
}

.hc-theme .hc-hero > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 68% 50%;
}

.hc-theme .hc-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgb(4 21 36 / 99%) 0%, rgb(4 21 36 / 95%) 39%, rgb(4 21 36 / 50%) 68%, rgb(4 21 36 / 16%) 100%);
}

.hc-theme .hc-hero-grid {
	position: absolute;
	inset: 0;
	opacity: .09;
	background-image: linear-gradient(rgb(255 255 255 / 20%) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 20%) 1px, transparent 1px);
	background-size: 44px 44px;
	mask-image: linear-gradient(90deg, #000, transparent 70%);
}

.hc-theme .hc-hero-inner {
	position: relative;
	z-index: 2;
	padding-block: 62px;
}

.hc-theme .hc-hero-copy {
	width: min(670px, 58%);
}

.hc-theme .hc-hero-labels {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 20px;
}

.hc-theme .hc-hero-labels span {
	border-radius: 999px;
	padding: 7px 10px;
	background: var(--hc-signal);
	color: var(--hc-navy);
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .08em;
}

.hc-theme .hc-hero-labels small {
	color: rgb(255 255 255 / 64%);
	font-size: 10px;
	font-weight: 800;
}

.hc-theme .hc-hero h1 {
	max-width: 650px;
	margin: 0;
	color: #fff;
	font-size: clamp(48px, 5.2vw, 76px);
	font-weight: 900;
	letter-spacing: -.065em;
	line-height: .95;
}

.hc-theme .hc-hero h1 em {
	display: block;
	color: var(--hc-signal);
	font-style: normal;
}

.hc-theme .hc-hero-copy > p {
	max-width: 590px;
	margin: 23px 0 25px;
	color: rgb(255 255 255 / 72%);
	font-size: 15px;
	line-height: 1.7;
}

.hc-theme .hc-hero-search {
	max-width: 650px;
	display: flex;
	gap: 6px;
	border: 1px solid rgb(255 255 255 / 18%);
	border-radius: 13px;
	padding: 7px;
	background: #fff;
	box-shadow: 0 18px 35px rgb(0 0 0 / 24%);
}

.hc-theme .hc-hero-search input[type="search"] {
	min-width: 0;
	height: 48px;
	flex: 1;
	margin: 0;
	border: 0;
	outline: 0;
	background: transparent;
	box-shadow: none;
	color: var(--hc-ink);
	font-size: 14px;
	padding-inline: 13px;
}

/* Keep keyboard focus visible inside the existing hero search field. */
.hc-theme .hc-hero-search input[type="search"]:focus-visible {
	outline: 3px solid var(--hc-navy);
	outline-offset: 2px;
	border-radius: 6px;
}

.hc-theme .hc-hero-search button {
	height: 48px;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	border: 0;
	border-radius: 9px;
	padding: 0 21px;
	background: var(--hc-signal);
	color: var(--hc-navy);
	cursor: pointer;
	font-size: 12px;
	font-weight: 900;
	white-space: nowrap;
}

.hc-theme .hc-hero-search .hc-icon {
	width: 16px;
	height: 16px;
}

.hc-theme .hc-popular-searches {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 14px 0 20px;
	font-size: 10px;
}

.hc-theme .hc-popular-searches span {
	color: rgb(255 255 255 / 46%);
	font-weight: 900;
}

.hc-theme .hc-popular-searches a {
	border-bottom: 1px solid rgb(255 255 255 / 24%);
	color: rgb(255 255 255 / 78%);
	text-decoration: none;
}

.hc-theme .hc-popular-searches a:hover {
	border-color: var(--hc-signal);
	color: var(--hc-signal);
}

.hc-theme .hc-outline-button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1px solid rgb(255 255 255 / 28%);
	border-radius: 9px;
	padding: 11px 14px;
	color: #fff;
	font-size: 11px;
	font-weight: 900;
	text-decoration: none;
}

.hc-theme .hc-outline-button:hover {
	border-color: var(--hc-signal);
	color: var(--hc-signal);
}

.hc-theme .hc-outline-button .hc-icon {
	width: 15px;
	height: 15px;
}

/* Trust strip */
.hc-theme .hc-trust-strip {
	border-bottom: 1px solid var(--hc-line);
	background: #fff;
}

.hc-theme .hc-trust-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.hc-theme .hc-trust-grid article {
	min-height: 88px;
	display: flex;
	align-items: center;
	gap: 13px;
	padding: 17px 25px;
	border-right: 1px solid var(--hc-line);
}

.hc-theme .hc-trust-grid article:first-child {
	border-left: 1px solid var(--hc-line);
}

.hc-theme .hc-trust-grid i {
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	border-radius: 10px;
	background: var(--hc-navy);
	color: var(--hc-signal);
	font-family: Consolas, monospace;
	font-size: 11px;
	font-style: normal;
	font-weight: 900;
}

.hc-theme .hc-trust-grid div {
	display: grid;
	gap: 3px;
}

.hc-theme .hc-trust-grid b {
	color: var(--hc-navy);
	font-size: 12px;
}

.hc-theme .hc-trust-grid span {
	color: #6c7b87;
	font-size: 10px;
}

/* Shared sections */
.hc-theme .hc-section {
	padding-block: 78px;
}

.hc-theme .hc-section-heading,
.hc-theme .hc-products-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 31px;
}

.hc-theme .hc-section-heading small,
.hc-theme .hc-products-heading small,
.hc-theme .hc-brand-heading > small,
.hc-theme .hc-brand-group header small {
	display: block;
	margin-bottom: 7px;
	color: #668d28;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .14em;
}

.hc-theme .hc-section-heading h2,
.hc-theme .hc-products-heading h2,
.hc-theme .hc-brand-heading h2 {
	margin: 0;
	color: var(--hc-navy);
	font-size: clamp(31px, 3vw, 43px);
	font-weight: 900;
	letter-spacing: -.045em;
	line-height: 1.05;
}

.hc-theme .hc-section-heading > a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #55781f;
	font-size: 11px;
	font-weight: 900;
	text-decoration: none;
}

.hc-theme .hc-section-heading > a .hc-icon {
	width: 15px;
	height: 15px;
}

.hc-theme .hc-category-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 13px;
}

.hc-theme .hc-category-card {
	position: relative;
	min-height: 172px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	overflow: hidden;
	border: 1px solid var(--hc-line);
	border-radius: 12px;
	padding: 19px;
	background: #fff;
	box-shadow: 0 6px 16px rgb(6 25 43 / 3%);
	color: var(--hc-ink);
	text-decoration: none;
	transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.hc-theme .hc-category-card:hover {
	transform: translateY(-3px);
	border-color: #a8c87b;
	box-shadow: var(--hc-shadow);
}

.hc-theme .hc-category-code {
	position: absolute;
	top: -9px;
	right: -3px;
	color: rgb(6 25 43 / 4%);
	font-family: Consolas, monospace;
	font-size: 51px;
	font-weight: 900;
	letter-spacing: -.08em;
}

.hc-theme .hc-category-card > i {
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	border-radius: 10px;
	background: #eff7e4;
	color: #5f8326;
	font-family: Consolas, monospace;
	font-size: 11px;
	font-style: normal;
	font-weight: 900;
}

.hc-theme .hc-category-card > b {
	position: relative;
	min-height: 35px;
	margin-top: 15px;
	color: var(--hc-navy);
	font-size: 12px;
	line-height: 1.35;
}

.hc-theme .hc-category-card > small {
	margin-top: auto;
	color: #72808b;
	font-size: 9px;
	font-weight: 800;
}

.hc-theme .hc-category-card > small em {
	margin-left: 4px;
	color: #659026;
	font-size: 15px;
	font-style: normal;
}

/* Product cards */
.hc-theme .hc-products {
	border-top: 1px solid #e7edf1;
	background: #fff;
}

.hc-theme .hc-products-heading > p {
	max-width: 440px;
	margin: 0;
	color: var(--hc-muted);
	font-size: 11px;
	line-height: 1.6;
}

.hc-theme .hc-products-heading > p strong {
	display: block;
	margin-top: 5px;
	color: var(--hc-navy);
}

.hc-theme .hc-product-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 17px;
}

.hc-theme .hc-product-card {
	min-width: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--hc-line);
	border-radius: 13px;
	background: #fff;
	box-shadow: 0 7px 20px rgb(6 25 43 / 5%);
	transition: transform 160ms ease, box-shadow 160ms ease;
}

.hc-theme .hc-product-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--hc-shadow);
}

.hc-theme .hc-product-image {
	position: relative;
	aspect-ratio: 1.28;
	display: grid;
	place-items: center;
	overflow: hidden;
	border-bottom: 1px solid #e7edf1;
	background: #eef3f5;
	text-decoration: none;
}

.hc-theme .hc-product-image > picture {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.hc-theme .hc-product-image > img,
.hc-theme .hc-product-image > picture > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 14px;
	display: block;
	object-fit: contain;
	object-position: center;
	mix-blend-mode: multiply;
	transform: none;
}

.hc-theme .hc-product-image > span {
	position: absolute;
	top: 11px;
	left: 11px;
	border-radius: 6px;
	padding: 5px 7px;
	background: var(--hc-signal);
	color: var(--hc-navy);
	font-size: 8px;
	font-weight: 900;
	letter-spacing: .07em;
}

.hc-theme .hc-product-body {
	flex: 1;
	padding: 17px 17px 14px;
}

.hc-theme .hc-product-body > small {
	display: block;
	margin-bottom: 7px;
	color: #668d28;
	font-size: 8px;
	font-weight: 900;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.hc-theme .hc-product-body h3 {
	min-height: 42px;
	margin: 0;
	color: var(--hc-navy);
	font-size: 14px;
	font-weight: 900;
	letter-spacing: -.015em;
	line-height: 1.4;
}

.hc-theme .hc-product-body h3 a {
	color: inherit;
	text-decoration: none;
}

.hc-theme .hc-product-meta {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 12px;
	margin-top: 15px;
	padding-top: 13px;
	border-top: 1px solid #e9eef1;
}

.hc-theme .hc-product-meta > p {
	margin: 0;
}

.hc-theme .hc-product-meta > p:first-child {
	display: grid;
	gap: 5px;
}

.hc-theme .hc-product-meta code {
	color: #74818c;
	font-family: Consolas, monospace;
	font-size: 8px;
}

.hc-theme .hc-product-meta b {
	color: #34753c;
	font-size: 9px;
}

.hc-theme .hc-product-meta b.is-out-of-stock {
	color: var(--hc-danger);
}

.hc-theme .hc-card-price {
	display: grid;
	justify-items: end;
	text-align: right;
}

.hc-theme .hc-card-price strong,
.hc-theme .hc-card-price .amount {
	color: var(--hc-navy);
	font-size: 18px;
	font-weight: 900;
}

.hc-theme .hc-card-price del .amount {
	color: #82909b;
	font-size: 12px;
	font-weight: 700;
}

.hc-theme .hc-card-price ins {
	text-decoration: none;
}

.hc-theme .hc-card-price > small {
	margin-top: 2px;
	color: #8a969f;
	font-size: 7px;
	font-weight: 900;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.hc-theme .hc-product-actions {
	display: grid;
	grid-template-columns: 1fr 1.35fr;
	gap: 7px;
	padding: 0 12px 12px;
}

.hc-theme .hc-product-actions > a {
	min-height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	padding: 8px 10px;
	font-size: 10px;
	font-weight: 900;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
}

.hc-theme .hc-details-button {
	border: 1px solid #cbd6de;
	color: var(--hc-navy);
}

.hc-theme .hc-details-button:hover {
	border-color: var(--hc-navy);
}

.hc-theme .hc-product-button {
	border: 1px solid var(--hc-signal);
	background: var(--hc-signal);
	color: var(--hc-navy);
}

.hc-theme .hc-product-button:hover {
	border-color: #b6ed62;
	background: #b6ed62;
	color: var(--hc-navy);
}

.hc-theme .hc-product-actions .added_to_cart {
	grid-column: 1 / -1;
	min-height: auto;
	padding: 3px;
	color: #3f6821;
}

.hc-theme .hc-empty-state {
	border: 1px dashed #bdcbd4;
	border-radius: 12px;
	padding: 30px;
	background: #f7fafb;
	text-align: center;
}

.hc-theme .hc-primary-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	padding: 11px 16px;
	background: var(--hc-signal);
	color: var(--hc-navy);
	font-size: 11px;
	font-weight: 900;
	text-decoration: none;
}

/* Brand groups */
.hc-theme .hc-brand-section {
	padding-block: 78px;
	background: var(--hc-navy);
	color: #fff;
}

.hc-theme .hc-brand-heading {
	max-width: 690px;
	margin-bottom: 31px;
}

.hc-theme .hc-brand-heading > small,
.hc-theme .hc-brand-group header small {
	color: var(--hc-signal);
}

.hc-theme .hc-brand-heading h2 {
	color: #fff;
}

.hc-theme .hc-brand-heading p {
	max-width: 620px;
	margin: 13px 0 0;
	color: rgb(255 255 255 / 62%);
	font-size: 12px;
	line-height: 1.65;
}

.hc-theme .hc-brand-groups {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.hc-theme .hc-brand-group {
	overflow: hidden;
	border: 1px solid rgb(255 255 255 / 13%);
	border-radius: 13px;
	background: rgb(255 255 255 / 5%);
}

.hc-theme .hc-brand-group > header {
	padding: 20px 22px;
	border-bottom: 1px solid rgb(255 255 255 / 11%);
}

.hc-theme .hc-brand-group h3 {
	margin: 0;
	color: #fff;
	font-size: 19px;
	font-weight: 900;
	letter-spacing: -.025em;
}

.hc-theme .hc-brand-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	background: rgb(255 255 255 / 8%);
}

.hc-theme .hc-brand-grid a {
	min-height: 48px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 12px 16px;
	background: #0a2237;
	color: rgb(255 255 255 / 82%);
	font-size: 11px;
	font-weight: 800;
	text-decoration: none;
}

.hc-theme .hc-brand-grid a:hover {
	background: #102e47;
	color: var(--hc-signal);
}

.hc-theme .hc-brand-grid span {
	color: var(--hc-signal);
	font-size: 17px;
}

/* Confidence and footer */
.hc-theme .hc-confidence {
	padding-block: 47px;
	background: #eaf0f3;
}

.hc-theme .hc-confidence-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 15px;
}

.hc-theme .hc-confidence article {
	border: 1px solid #cfdae1;
	border-radius: 12px;
	padding: 22px;
	background: rgb(255 255 255 / 68%);
}

.hc-theme .hc-confidence i {
	display: inline-flex;
	border-radius: 6px;
	padding: 5px 7px;
	background: var(--hc-navy);
	color: var(--hc-signal);
	font-family: Consolas, monospace;
	font-size: 8px;
	font-style: normal;
	font-weight: 900;
	letter-spacing: .09em;
}

.hc-theme .hc-confidence h3 {
	margin: 13px 0 7px;
	color: var(--hc-navy);
	font-size: 15px;
	font-weight: 900;
}

.hc-theme .hc-confidence p {
	margin: 0;
	color: var(--hc-muted);
	font-size: 11px;
	line-height: 1.6;
}

.hc-theme .hc-site-footer {
	background: #03121f;
	color: #fff;
}

.hc-theme .hc-footer-grid {
	display: grid;
	grid-template-columns: 2fr repeat(3, 1fr);
	gap: 55px;
	padding-block: 62px 48px;
}

.hc-theme .hc-brand-inverse .hc-brand-copy strong {
	color: #fff;
}

.hc-theme .hc-brand-inverse .hc-brand-copy small {
	color: rgb(255 255 255 / 48%);
}

.hc-theme .hc-footer-brand > p {
	max-width: 360px;
	margin: 20px 0 14px;
	color: rgb(255 255 255 / 54%);
	font-size: 11px;
	line-height: 1.65;
}

.hc-theme .hc-footer-brand address {
	color: var(--hc-signal);
	font-size: 10px;
	font-style: normal;
	font-weight: 800;
}

.hc-theme .hc-footer-links {
	display: grid;
	align-content: start;
	gap: 9px;
}

.hc-theme .hc-footer-links h2 {
	margin: 0 0 8px;
	color: #fff;
	font-size: 12px;
	font-weight: 900;
}

.hc-theme .hc-footer-links a {
	color: rgb(255 255 255 / 55%);
	font-size: 10px;
	text-decoration: none;
}

.hc-theme .hc-footer-links a:hover {
	color: var(--hc-signal);
}

.hc-theme .hc-copyright {
	min-height: 54px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	border-top: 1px solid rgb(255 255 255 / 9%);
	color: rgb(255 255 255 / 35%);
	font-size: 9px;
}

/* Standard WordPress pages */
.hc-theme .hc-page-hero,
.hc-theme .hero-section,
.hc-theme .page-header {
	padding-block: 48px;
	background: var(--hc-navy);
	color: #fff;
}

.hc-theme .hc-page-hero h1,
.hc-theme .hero-section h1,
.hc-theme .page-header h1 {
	margin: 0;
	color: #fff;
	font-size: clamp(34px, 4vw, 52px);
	font-weight: 900;
	letter-spacing: -.045em;
}

.hc-theme .hc-page-content {
	padding-block: 54px 72px;
}

.hc-theme .hc-page-card {
	border: 1px solid var(--hc-line);
	border-radius: 13px;
	padding: clamp(22px, 4vw, 46px);
	background: #fff;
	box-shadow: 0 9px 25px rgb(6 25 43 / 5%);
}

.hc-theme .hc-page-card > :first-child {
	margin-top: 0;
}

.hc-theme .hc-page-card > :last-child {
	margin-bottom: 0;
}

.hc-theme .hc-page-card h2,
.hc-theme .hc-page-card h3 {
	color: var(--hc-navy);
	font-weight: 900;
}

.hc-theme .hc-page-card p,
.hc-theme .hc-page-card li {
	color: #3c4f5f;
	line-height: 1.75;
}

.hc-theme .hc-eyebrow {
	margin: 0 0 8px;
	color: var(--hc-signal);
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .14em;
}

.hc-theme .hc-search-card {
	border: 1px solid var(--hc-line);
	border-radius: 12px;
	padding: 22px;
	background: #fff;
}

.hc-theme .hc-search-card > small {
	color: var(--hc-signal-dark);
	font-size: 8px;
	font-weight: 900;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.hc-theme .hc-search-card h2 {
	margin: 10px 0;
	font-size: 18px;
}

.hc-theme .hc-search-card h2 a {
	color: var(--hc-navy);
	text-decoration: none;
}

.hc-theme .hc-search-card p {
	color: var(--hc-muted);
	font-size: 11px;
	line-height: 1.6;
}

.hc-theme .hc-search-pagination {
	margin-top: 30px;
	text-align: center;
}

/* WooCommerce catalogue — markup remains owned by WooCommerce and Blocksy. */
.hc-theme.woocommerce-page .hc-main,
.hc-theme.woocommerce .hc-main {
	background: var(--hc-page);
}

.hc-theme.woocommerce-page .hc-main > .ct-container,
.hc-theme.woocommerce .hc-main > .ct-container,
.hc-theme .hc-main > .ct-container {
	width: min(calc(100% - 32px), 1260px);
	margin-inline: auto;
	padding-block: 50px 72px;
}

.hc-theme .woocommerce-breadcrumb {
	margin: 0 0 20px;
	color: #71808c;
	font-size: 10px;
	font-weight: 700;
}

.hc-theme .woocommerce-breadcrumb a {
	color: #54771e;
}

.hc-theme .woocommerce-products-header,
.hc-theme .woo-listing-top,
.hc-theme .entry-header {
	margin-bottom: 28px;
}

.hc-theme .woocommerce-products-header__title,
.hc-theme.woocommerce-page .page-title,
.hc-theme.woocommerce .page-title,
.hc-theme.single-product .product_title {
	color: var(--hc-navy);
	font-weight: 900;
	letter-spacing: -.04em;
}

.hc-theme .woocommerce-products-header__title,
.hc-theme.woocommerce-page .page-title,
.hc-theme.woocommerce .page-title {
	font-size: clamp(34px, 4vw, 50px);
}

.hc-theme .woocommerce-result-count {
	color: var(--hc-muted);
	font-size: 11px;
}

.hc-theme .woocommerce-ordering select {
	min-height: 42px;
	border: 1px solid #c9d6de;
	border-radius: 9px;
	padding: 0 38px 0 12px;
	background-color: #fff;
	color: var(--hc-navy);
	font-size: 11px;
	font-weight: 800;
}

.hc-theme .woocommerce ul.products,
.hc-theme ul.products {
	gap: 18px;
}

.hc-theme .woocommerce ul.products li.product,
.hc-theme ul.products li.product {
	overflow: hidden;
	border: 1px solid var(--hc-line);
	border-radius: 13px;
	padding: 0 0 15px;
	background: #fff;
	box-shadow: 0 7px 20px rgb(6 25 43 / 5%);
	transition: transform 160ms ease, box-shadow 160ms ease;
}

.hc-theme .woocommerce ul.products li.product:hover,
.hc-theme ul.products li.product:hover {
	transform: translateY(-3px);
	box-shadow: var(--hc-shadow);
}

.hc-theme .woocommerce ul.products li.product > a,
.hc-theme ul.products li.product > a {
	text-decoration: none;
}

.hc-theme .woocommerce ul.products li.product img,
.hc-theme ul.products li.product img {
	width: 100%;
	height: auto;
	aspect-ratio: 1.28;
	box-sizing: border-box;
	margin: 0 0 16px;
	padding: 14px;
	background: #eef3f5;
	object-fit: contain;
	object-position: center;
}

/* Blocksy product-loop frames also contain the complete photo on hover. */
.hc-theme ul.products li.product figure .ct-media-container {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1.28;
	overflow: hidden;
	background: #eef3f5;
}

.hc-theme ul.products li.product figure .ct-media-container > picture {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.hc-theme ul.products li.product figure .ct-media-container > img,
.hc-theme ul.products li.product figure .ct-media-container > picture > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	margin: 0;
	object-fit: contain;
	object-position: center;
	transform: none;
}

.hc-theme .woocommerce ul.products li.product .woocommerce-loop-product__title,
.hc-theme ul.products li.product .woocommerce-loop-product__title {
	min-height: 43px;
	margin: 0;
	padding: 0 16px;
	color: var(--hc-navy);
	font-size: 14px;
	font-weight: 900;
	line-height: 1.45;
}

.hc-theme .woocommerce ul.products li.product .price,
.hc-theme ul.products li.product .price {
	margin: 12px 16px 14px;
	color: var(--hc-navy);
	font-size: 18px;
	font-weight: 900;
}

.hc-theme .woocommerce ul.products li.product .price del,
.hc-theme ul.products li.product .price del {
	color: #7e8b95;
	font-size: 12px;
}

.hc-theme .woocommerce ul.products li.product .price ins,
.hc-theme ul.products li.product .price ins {
	text-decoration: none;
}

.hc-theme .woocommerce ul.products li.product .button,
.hc-theme ul.products li.product .button {
	min-height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 16px;
	border-radius: 8px;
	padding: 10px 14px;
	background: var(--hc-signal);
	color: var(--hc-navy);
	font-size: 10px;
	font-weight: 900;
	text-align: center;
	text-decoration: none;
}

.hc-theme .woocommerce ul.products li.product .button:hover,
.hc-theme ul.products li.product .button:hover {
	background: #b6ed62;
	color: var(--hc-navy);
}

.hc-theme .onsale {
	min-width: auto;
	min-height: auto;
	border-radius: 6px;
	padding: 6px 8px;
	background: var(--hc-signal);
	color: var(--hc-navy);
	font-size: 8px;
	font-weight: 900;
	line-height: 1;
}

.hc-theme .woocommerce-pagination ul.page-numbers {
	display: flex;
	justify-content: center;
	gap: 6px;
	border: 0;
}

.hc-theme .woocommerce-pagination ul.page-numbers li {
	border: 0;
}

.hc-theme .woocommerce-pagination .page-numbers a,
.hc-theme .woocommerce-pagination .page-numbers span {
	min-width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	border: 1px solid var(--hc-line);
	border-radius: 8px;
	background: #fff;
	color: var(--hc-navy);
	font-size: 11px;
	font-weight: 900;
}

.hc-theme .woocommerce-pagination .page-numbers .current {
	border-color: var(--hc-navy);
	background: var(--hc-navy);
	color: var(--hc-signal);
}

/* Single product */
.hc-theme.single-product div.product {
	display: flow-root;
}

.hc-theme.single-product div.product .woocommerce-product-gallery,
.hc-theme.single-product div.product .summary {
	margin-bottom: 45px;
}

.hc-theme.single-product div.product .woocommerce-product-gallery {
	overflow: hidden;
	border: 1px solid var(--hc-line);
	border-radius: 13px;
	padding: 14px;
	background: #fff;
}

.hc-theme.single-product div.product .woocommerce-product-gallery img {
	border-radius: 9px;
	background: #eef3f5;
}

/* Keep the main photo inside its existing gallery frame; do not alter zoom layers. */
.hc-theme.single-product .ct-product-gallery-container .ct-media-container > img:not(.zoomImg),
.hc-theme.single-product .ct-product-gallery-container .ct-media-container > picture > img:not(.zoomImg),
.hc-theme.single-product .woocommerce-product-gallery__image > a > img:not(.zoomImg),
.hc-theme.single-product .woocommerce-product-gallery__image > a > picture > img:not(.zoomImg) {
	width: 100%;
	height: auto;
	max-width: 100%;
	max-height: 600px;
	box-sizing: border-box;
	padding: 14px;
	object-fit: contain;
	object-position: center;
}

.hc-theme.single-product .woocommerce-product-gallery .flex-control-thumbs img,
.hc-theme.single-product .woocommerce-product-gallery .ct-product-gallery-thumbnails img {
	object-fit: contain;
	object-position: center;
}

.hc-theme.single-product div.product .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
	margin-top: 9px;
}

.hc-theme.single-product div.product .summary {
	border: 1px solid var(--hc-line);
	border-radius: 13px;
	padding: clamp(22px, 3vw, 36px);
	background: #fff;
	box-shadow: var(--hc-shadow);
}

.hc-theme.single-product .product_title {
	margin-bottom: 15px;
	font-size: clamp(28px, 3.5vw, 44px);
	line-height: 1.08;
}

.hc-theme.single-product .summary .price {
	margin-block: 16px;
	color: var(--hc-navy);
	font-size: clamp(27px, 3vw, 37px);
	font-weight: 900;
}

.hc-theme.single-product .summary .price del {
	color: #83909a;
	font-size: 18px;
}

.hc-theme.single-product .summary .price ins {
	text-decoration: none;
}

.hc-theme.single-product .stock {
	color: #31723a;
	font-size: 11px;
	font-weight: 900;
}

.hc-theme.single-product .out-of-stock {
	color: var(--hc-danger);
}

.hc-theme.single-product .woocommerce-product-details__short-description {
	color: #445665;
	font-size: 13px;
	line-height: 1.7;
}

.hc-theme.single-product form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: 22px;
}

.hc-theme.single-product form.cart .quantity .qty {
	width: 72px;
	height: 48px;
	border: 1px solid #c7d4dc;
	border-radius: 9px;
	background: #fff;
	color: var(--hc-navy);
	font-weight: 900;
}

.hc-theme .single_add_to_cart_button,
.hc-theme .woocommerce button.button.alt,
.hc-theme .woocommerce a.button.alt,
.hc-theme .wc-block-components-button:not(.is-link) {
	min-height: 48px;
	border: 0;
	border-radius: 9px;
	padding: 12px 21px;
	background: var(--hc-signal);
	color: var(--hc-navy);
	font-size: 11px;
	font-weight: 900;
}

.hc-theme .single_add_to_cart_button:hover,
.hc-theme .woocommerce button.button.alt:hover,
.hc-theme .woocommerce a.button.alt:hover,
.hc-theme .wc-block-components-button:not(.is-link):hover {
	background: #b6ed62;
	color: var(--hc-navy);
}

.hc-theme.single-product .product_meta {
	display: grid;
	gap: 7px;
	margin-top: 22px;
	padding-top: 17px;
	border-top: 1px solid var(--hc-line);
	color: #6f7d88;
	font-size: 10px;
}

.hc-theme.single-product .product_meta a {
	color: #53751e;
}

.hc-theme.single-product .woocommerce-tabs,
.hc-theme.single-product .related.products,
.hc-theme.single-product .upsells.products {
	clear: both;
	margin-top: 30px;
	border: 1px solid var(--hc-line);
	border-radius: 13px;
	padding: clamp(20px, 3vw, 34px);
	background: #fff;
}

.hc-theme.single-product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 24px;
	padding: 0;
}

.hc-theme.single-product .woocommerce-tabs ul.tabs::before,
.hc-theme.single-product .woocommerce-tabs ul.tabs li::before,
.hc-theme.single-product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

.hc-theme.single-product .woocommerce-tabs ul.tabs li {
	margin: 0;
	border: 1px solid var(--hc-line);
	border-radius: 8px;
	padding: 0;
	background: #f4f7f9;
}

.hc-theme.single-product .woocommerce-tabs ul.tabs li.active {
	border-color: var(--hc-navy);
	background: var(--hc-navy);
}

.hc-theme.single-product .woocommerce-tabs ul.tabs li a {
	padding: 10px 13px;
	color: var(--hc-navy);
	font-size: 10px;
	font-weight: 900;
}

.hc-theme.single-product .woocommerce-tabs ul.tabs li.active a {
	color: var(--hc-signal);
}

.hc-theme.single-product .woocommerce-tabs h2,
.hc-theme.single-product .related.products > h2,
.hc-theme.single-product .upsells.products > h2 {
	color: var(--hc-navy);
	font-size: 24px;
	font-weight: 900;
	letter-spacing: -.025em;
}

/* Basket, checkout and account */
.hc-theme .woocommerce-notices-wrapper:not(:empty),
.hc-theme .woocommerce-message,
.hc-theme .woocommerce-info,
.hc-theme .woocommerce-error {
	margin-bottom: 22px;
}

.hc-theme .woocommerce-message,
.hc-theme .woocommerce-info,
.hc-theme .woocommerce-error {
	border: 1px solid var(--hc-line);
	border-top: 4px solid var(--hc-signal-dark);
	border-radius: 10px;
	padding: 15px 18px 15px 48px;
	background: #fff;
	color: #314555;
	font-size: 11px;
	line-height: 1.5;
}

.hc-theme .woocommerce-error {
	border-top-color: var(--hc-danger);
}

.hc-theme .woocommerce-message::before,
.hc-theme .woocommerce-info::before {
	color: var(--hc-signal-dark);
}

.hc-theme .woocommerce table.shop_table,
.hc-theme .woocommerce-cart-form,
.hc-theme .cart_totals,
.hc-theme .woocommerce-checkout-review-order,
.hc-theme .woocommerce-billing-fields,
.hc-theme .woocommerce-shipping-fields,
.hc-theme .woocommerce-additional-fields,
.hc-theme .woocommerce-form-login,
.hc-theme .woocommerce-form-register,
.hc-theme .woocommerce-MyAccount-content,
.hc-theme .wc-block-cart,
.hc-theme .wc-block-checkout {
	border-color: var(--hc-line);
	border-radius: 13px;
	background: #fff;
}

.hc-theme .woocommerce-cart-form,
.hc-theme .cart_totals,
.hc-theme .woocommerce-checkout-review-order,
.hc-theme .woocommerce-billing-fields,
.hc-theme .woocommerce-shipping-fields,
.hc-theme .woocommerce-additional-fields,
.hc-theme .woocommerce-form-login,
.hc-theme .woocommerce-form-register,
.hc-theme .woocommerce-MyAccount-content {
	border: 1px solid var(--hc-line);
	padding: clamp(18px, 3vw, 28px);
	box-shadow: 0 8px 24px rgb(6 25 43 / 4%);
}

.hc-theme .woocommerce table.shop_table {
	border-collapse: separate;
	overflow: hidden;
}

.hc-theme .woocommerce table.shop_table th {
	background: #eff4f6;
	color: var(--hc-navy);
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.hc-theme .woocommerce table.shop_table td {
	border-color: #e7edf1;
	color: #344958;
	font-size: 12px;
}

.hc-theme .woocommerce table.shop_table a {
	color: var(--hc-navy);
	font-weight: 800;
}

.hc-theme .woocommerce table.shop_table .product-thumbnail img {
	width: 72px;
	border-radius: 8px;
	background: #eef3f5;
}

.hc-theme .woocommerce .quantity .qty,
.hc-theme .woocommerce form .form-row input.input-text,
.hc-theme .woocommerce form .form-row textarea,
.hc-theme .woocommerce form .form-row select,
.hc-theme .select2-container .select2-selection--single,
.hc-theme .wc-block-components-text-input input,
.hc-theme .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input {
	border: 1px solid #c7d4dc;
	border-radius: 8px;
	background: #fff;
	color: var(--hc-ink);
	box-shadow: none;
}

.hc-theme .woocommerce form .form-row input.input-text,
.hc-theme .woocommerce form .form-row select,
.hc-theme .select2-container .select2-selection--single {
	min-height: 44px;
	padding: 8px 11px;
}

.hc-theme .select2-container .select2-selection--single .select2-selection__rendered {
	line-height: 26px;
}

.hc-theme .woocommerce form .form-row label,
.hc-theme .wc-block-components-text-input label,
.hc-theme .wc-block-components-checkbox__label {
	color: #405463;
	font-size: 10px;
	font-weight: 800;
}

.hc-theme .woocommerce button.button,
.hc-theme .woocommerce a.button,
.hc-theme .woocommerce input.button {
	border-radius: 8px;
	background: var(--hc-navy);
	color: #fff;
	font-size: 10px;
	font-weight: 900;
}

.hc-theme .woocommerce button.button:hover,
.hc-theme .woocommerce a.button:hover,
.hc-theme .woocommerce input.button:hover {
	background: var(--hc-navy-soft);
	color: #fff;
}

/* Account order actions must remain readable without hover, including visited links. */
.hc-theme.woocommerce-account .woocommerce-MyAccount-content a.button,
.hc-theme.woocommerce-account .woocommerce-MyAccount-content button.button {
	min-height: 44px;
	padding: 12px 16px;
	border: 1px solid var(--hc-navy);
	background: var(--hc-navy);
	color: #fff;
	font-size: 12px;
	line-height: 1.35;
	text-align: center;
	text-decoration: none;
	white-space: normal;
}

.hc-theme.woocommerce-account .woocommerce-MyAccount-content a.button.view,
.hc-theme.woocommerce-account .woocommerce-MyAccount-content a.button.view:visited,
.hc-theme.woocommerce-account .woocommerce-MyAccount-content a.button.hc-track-link {
	border-color: var(--hc-signal);
	background: var(--hc-signal);
	color: var(--hc-navy);
}

.hc-theme.woocommerce-account .woocommerce-MyAccount-content a.button.view:hover,
.hc-theme.woocommerce-account .woocommerce-MyAccount-content a.button.view:focus-visible,
.hc-theme.woocommerce-account .woocommerce-MyAccount-content a.button.hc-track-link:hover {
	border-color: #96d437;
	background: #96d437;
	color: var(--hc-navy);
}

.hc-theme.woocommerce-account .woocommerce-MyAccount-content a.button.cancel,
.hc-theme.woocommerce-account .woocommerce-MyAccount-content a.button.cancel:visited {
	border-color: #a21c17;
	background: #b42318;
	color: #fff;
}

.hc-theme.woocommerce-account .woocommerce-MyAccount-content a.button.cancel:hover,
.hc-theme.woocommerce-account .woocommerce-MyAccount-content a.button.cancel:focus-visible {
	border-color: #7a1a14;
	background: #8f1c13;
	color: #fff;
}

.hc-theme.woocommerce-account .woocommerce-MyAccount-content a.button:focus-visible,
.hc-theme.woocommerce-account .woocommerce-MyAccount-content button.button:focus-visible {
	outline: 3px solid var(--hc-navy);
	outline-offset: 3px;
}

.hc-theme.woocommerce-account .woocommerce-orders-table__cell-order-actions a.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 85px;
	max-width: 100%;
	margin: 4px 0;
}

.hc-theme.woocommerce-account .hc-order-tool {
	margin-top: 24px;
	padding: clamp(16px, 2vw, 24px);
	border: 1px solid var(--hc-line);
	border-radius: 12px;
	background: #f7fafb;
	color: var(--hc-ink);
	font-size: 14px;
	overflow-wrap: anywhere;
	scroll-margin-top: 220px;
}

.hc-theme.woocommerce-account .hc-order-tool h2 {
	margin: 0 0 14px;
	font-size: 20px;
}

.hc-theme.woocommerce-account .hc-order-tool p {
	margin: 0 0 14px;
	font-size: 14px;
	line-height: 1.6;
}

.hc-theme.woocommerce-account .hc-order-tool label {
	display: block;
	margin-bottom: 8px;
	font-size: 13px;
	font-weight: 700;
}

.hc-theme.woocommerce-account .hc-order-tool textarea {
	width: 100%;
	min-height: 105px;
	margin-bottom: 14px;
	padding: 12px;
	border: 1px solid #c7d4dc;
	border-radius: 8px;
	background: #fff;
	color: var(--hc-navy);
	font-size: 14px;
}

.hc-theme.woocommerce-account .hc-order-tool dl {
	display: grid;
	grid-template-columns: minmax(110px, 1fr) minmax(0, 2fr);
	gap: 8px 16px;
	margin: 0 0 18px;
}

.hc-theme.woocommerce-account .hc-order-tool dt { font-weight: 700; }
.hc-theme.woocommerce-account .hc-order-tool dd { margin: 0; }

.hc-theme .woocommerce .cart-collaterals .cart_totals h2,
.hc-theme .woocommerce-checkout h3,
.hc-theme .woocommerce-account h2,
.hc-theme .woocommerce-account h3 {
	color: var(--hc-navy);
	font-weight: 900;
	letter-spacing: -.025em;
}

.hc-theme #add_payment_method #payment,
.hc-theme .woocommerce-cart #payment,
.hc-theme .woocommerce-checkout #payment {
	border-radius: 10px;
	background: #eef3f5;
}

.hc-theme #add_payment_method #payment ul.payment_methods,
.hc-theme .woocommerce-cart #payment ul.payment_methods,
.hc-theme .woocommerce-checkout #payment ul.payment_methods {
	border-color: var(--hc-line);
}

.hc-theme .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 8px;
	border: 1px solid var(--hc-line);
	border-radius: 12px;
	background: #fff;
	list-style: none;
}

.hc-theme .woocommerce-MyAccount-navigation li a {
	display: block;
	border-radius: 8px;
	padding: 11px 13px;
	color: #3d5160;
	font-size: 11px;
	font-weight: 800;
	text-decoration: none;
}

.hc-theme .woocommerce-MyAccount-navigation li.is-active a,
.hc-theme .woocommerce-MyAccount-navigation li a:hover {
	background: var(--hc-navy);
	color: var(--hc-signal);
}

.hc-theme .wc-block-cart,
.hc-theme .wc-block-checkout {
	padding: clamp(12px, 2vw, 24px);
}

.hc-theme .wc-block-components-product-name,
.hc-theme .wc-block-components-title,
.hc-theme .wc-block-components-totals-item__label,
.hc-theme .wc-block-components-order-summary-item__description .wc-block-components-product-name {
	color: var(--hc-navy);
	font-weight: 900;
}

.hc-theme .wc-block-components-order-summary .wc-block-components-order-summary-item__image > img {
	border-radius: 8px;
	background: #eef3f5;
}

.hc-theme .wc-block-components-totals-wrapper,
.hc-theme .wc-block-components-order-summary-item {
	border-color: var(--hc-line);
}

/* Responsive layout */
@media (max-width: 1120px) {
	.hc-theme .hc-header-main {
		gap: 14px;
	}

	.hc-theme .hc-account-action span,
	.hc-theme .hc-basket-action span {
		display: none;
	}

	.hc-theme .hc-category-grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.hc-theme .hc-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.hc-theme .hc-header-main {
		flex-wrap: wrap;
	}

	.hc-theme .hc-brand {
		margin-right: auto;
	}

	.hc-theme .hc-header-search {
		min-width: 100%;
		order: 3;
	}

	.hc-theme .hc-category-nav {
		display: none;
	}

	.hc-theme .hc-mobile-menu {
		display: block;
	}

	.hc-theme .hc-hero {
		min-height: 560px;
	}

	.hc-theme .hc-hero > img {
		opacity: .62;
		object-position: 68% 50%;
	}

	.hc-theme .hc-hero-overlay {
		background: linear-gradient(90deg, rgb(4 21 36 / 98%), rgb(4 21 36 / 76%));
	}

	.hc-theme .hc-hero-copy {
		width: min(690px, 100%);
	}

	.hc-theme .hc-trust-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.hc-theme .hc-trust-grid article:nth-child(3) {
		border-left: 1px solid var(--hc-line);
	}

	.hc-theme .hc-trust-grid article:nth-child(-n + 2) {
		border-bottom: 1px solid var(--hc-line);
	}

	.hc-theme .hc-category-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.hc-theme .hc-footer-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 35px;
	}
}

@media (max-width: 680px) {
	.admin-bar.hc-theme .hc-site-header {
		top: 46px;
	}

	.hc-theme .hc-shell {
		width: min(calc(100% - 24px), 1260px);
	}

	.hc-theme .hc-utility-inner {
		justify-content: center;
		text-align: center;
	}

	.hc-theme .hc-utility-meta {
		display: none;
	}

	.hc-theme .hc-brand-mark {
		width: 36px;
		height: 36px;
	}

	.hc-theme .hc-brand-copy strong {
		font-size: 19px;
	}

	.hc-theme .hc-account-action,
	.hc-theme .hc-checkout-action {
		display: none;
	}

	.hc-theme .hc-header-actions {
		gap: 3px;
	}

	.hc-theme .hc-basket-action {
		padding-inline: 6px;
	}

	.hc-theme .hc-header-search button {
		padding-inline: 12px;
	}

	.hc-theme .hc-hero {
		min-height: 560px;
	}

	.hc-theme .hc-hero-inner {
		padding-block: 46px;
	}

	.hc-theme .hc-hero-labels {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}

	.hc-theme .hc-hero h1 {
		font-size: clamp(44px, 15vw, 62px);
	}

	.hc-theme .hc-hero-copy > p {
		font-size: 13px;
	}

	.hc-theme .hc-hero-search {
		align-items: stretch;
		flex-direction: column;
	}

	.hc-theme .hc-hero-search button {
		justify-content: center;
	}

	.hc-theme .hc-trust-grid {
		grid-template-columns: 1fr;
	}

	.hc-theme .hc-trust-grid article,
	.hc-theme .hc-trust-grid article:first-child,
	.hc-theme .hc-trust-grid article:nth-child(3) {
		min-height: 72px;
		border-right: 1px solid var(--hc-line);
		border-bottom: 1px solid var(--hc-line);
		border-left: 1px solid var(--hc-line);
	}

	.hc-theme .hc-section,
	.hc-theme .hc-brand-section {
		padding-block: 55px;
	}

	.hc-theme .hc-section-heading,
	.hc-theme .hc-products-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 16px;
	}

	.hc-theme .hc-category-grid,
	.hc-theme .hc-product-grid,
	.hc-theme .hc-brand-groups,
	.hc-theme .hc-confidence-grid,
	.hc-theme .hc-footer-grid {
		grid-template-columns: 1fr;
	}

	.hc-theme .hc-category-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.hc-theme .hc-product-grid {
		gap: 14px;
	}

	.hc-theme .hc-brand-grid {
		grid-template-columns: 1fr;
	}

	.hc-theme .hc-copyright {
		align-items: flex-start;
		flex-direction: column;
		justify-content: center;
		padding-block: 16px;
	}

	.hc-theme .woocommerce table.shop_table_responsive tr td::before {
		color: var(--hc-navy);
		font-size: 9px;
		font-weight: 900;
	}

	.hc-theme.single-product form.cart {
		align-items: stretch;
		flex-direction: column;
	}

	.hc-theme.single-product form.cart .quantity .qty {
		width: 100%;
	}
}

@media (max-width: 420px) {
	.hc-theme .hc-brand-copy small {
		display: none;
	}

	.hc-theme .hc-category-card {
		min-height: 155px;
		padding: 15px;
	}

	.hc-theme .hc-product-actions {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hc-theme *,
	.hc-theme *::before,
	.hc-theme *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* Scoped order agreement: readable without changing other checkout controls. */
.hc-theme .hc-policy-links {
  margin: 20px 0 18px;
  font-size: 14px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.hc-theme .hc-policy-links a {
  color: var(--hc-navy);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.hc-theme .hc-policy-links small {
  display: block;
  font-size: 12px;
  color: var(--hc-muted);
}
.hc-theme .wc-block-checkout label[for^="order-hvacentral-policies-"] .wc-block-components-checkbox__label,
.hc-theme .hc-policy-acceptance label {
  color: var(--hc-navy);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
}
.hc-theme .wc-block-checkout input[id^="order-hvacentral-policies-"] {
  border: 2px solid var(--hc-navy) !important;
}
.hc-theme .wc-block-checkout input[id^="order-hvacentral-policies-"]:checked {
  background: var(--hc-signal) !important;
}
.hc-theme .wc-block-checkout input[id^="order-hvacentral-policies-"] + .wc-block-components-checkbox__mark {
  fill: var(--hc-navy);
}
.hc-theme .wc-block-checkout input[id^="order-hvacentral-policies-"]:focus-visible {
  outline: 3px solid var(--hc-navy);
  outline-offset: 3px;
}

/* HVACentral checkout readability — staging 2026-10-05.
 * Native Woo Blocks layout and required policy acceptance remain unchanged.
 * Rollback: remove this complete labelled block.
 */
.hc-theme.woocommerce-checkout .wc-block-checkout .wc-block-components-text-input input,
.hc-theme.woocommerce-checkout .wc-block-checkout .wc-block-components-combobox input.components-combobox-control__input {
  font-size: 16px;
}
.hc-theme.woocommerce-checkout .wc-block-checkout .wc-block-components-text-input label,
.hc-theme.woocommerce-checkout .wc-block-checkout .wc-block-components-combobox label {
  font-size: 14px;
}
.hc-theme.woocommerce-checkout .wc-block-checkout .wc-block-components-validation-error {
  font-size: 13px;
  line-height: 1.5;
}
.hc-theme.woocommerce-checkout .wc-block-checkout .wc-block-components-product-name {
  overflow-wrap: anywhere;
}
.hc-theme.woocommerce-checkout .wc-block-checkout .wc-block-components-checkout-place-order-button {
  min-height: 48px;
  font-size: 16px;
  line-height: 1.4;
  white-space: normal;
}
@media (max-width: 680px) {
  .hc-theme.woocommerce-checkout .wc-block-checkout .wc-block-components-checkout-place-order-button {
    width: 100%;
  }
}

/* Mobile checkout: remove duplicated child-theme padding, not Woo grid rules. */
@media (max-width: 680px) {
  .hc-theme.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) .hc-page-card {
    padding: 16px;
  }
  .hc-theme.woocommerce-checkout .wc-block-checkout .wc-block-components-sidebar-layout.wc-block-checkout {
    padding: 0;
  }
}

/* HVACentral catalogue search refinement — 2026-10-07.
 * Native GET forms; no extra tracking, remote service or JavaScript dependency.
 */
.hc-theme .hc-results-search {
	display: flex;
	gap: 8px;
	max-width: 760px;
	margin-top: 20px;
	padding: 6px;
	border: 1px solid #cbd7df;
	border-radius: 12px;
	background: #fff;
}
.hc-theme .hc-results-search input[type="search"] {
	flex: 1;
	min-width: 0;
	min-height: 44px;
	margin: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: var(--hc-navy);
	font-size: 16px;
}
.hc-theme .hc-results-search:focus-within {
	outline: 2px solid var(--hc-navy);
	outline-offset: 3px;
}
.hc-theme .hc-results-search button {
	min-height: 44px;
	margin: 0;
	white-space: nowrap;
}
.hc-theme .hc-search-correction {
	margin: 0 0 20px;
	padding: 18px 20px;
	border: 1px solid #cbd7df;
	border-left: 4px solid var(--hc-signal);
	border-radius: 10px;
	background: #f5f9ef;
	color: var(--hc-navy);
}
.hc-theme .hc-search-correction p {
	margin: 0;
	font-size: 16px;
	line-height: 1.55;
}
.hc-theme .hc-search-correction a {
	display: inline-block;
	padding: 4px 0;
	color: var(--hc-navy);
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.hc-theme .hc-search-correction .hc-search-correction-note {
	margin-top: 6px;
	font-size: 13px;
	color: #526575;
}
@media (max-width: 480px) {
	.hc-theme .hc-results-search { flex-wrap: wrap; }
	.hc-theme .hc-results-search input[type="search"] { flex-basis: 100%; }
	.hc-theme .hc-results-search button { width: 100%; }
	.hc-theme .hc-search-correction { padding: 14px 16px; }
}

/* HVACentral product typography refinement — staging 2026-10-07.
 * Product detail only: retain content, colour palette and native purchase controls.
 * No new font download. Rollback: remove this complete labelled block.
 */
.hc-theme.single-product .summary .product_title {
	margin-bottom: 14px;
	font-size: clamp(24px, 2.2vw, 32px);
	font-weight: 600;
	letter-spacing: -.015em;
	line-height: 1.28;
	overflow-wrap: anywhere;
}

.hc-theme.single-product .summary > .price {
	margin-block: 14px;
	font-size: clamp(25px, 1.95vw, 28px);
	font-weight: 600;
	letter-spacing: -.015em;
	line-height: 1.35;
	font-variant-numeric: tabular-nums;
}

.hc-theme.single-product .summary > .price del {
	font-size: .68em;
	font-weight: 400;
}

.hc-theme.single-product .woocommerce-product-details__short-description {
	font-size: 15px;
	font-weight: 400;
	line-height: 1.7;
}

.hc-theme.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
	font-size: 15px;
	font-weight: 400;
	line-height: 1.75;
}

.hc-theme.single-product .woocommerce-tabs .woocommerce-Tabs-panel p,
.hc-theme.single-product .woocommerce-tabs .woocommerce-Tabs-panel li,
.hc-theme.single-product .woocommerce-tabs .woocommerce-Tabs-panel th,
.hc-theme.single-product .woocommerce-tabs .woocommerce-Tabs-panel td {
	font-size: 15px;
	line-height: 1.75;
}

.hc-theme.single-product .woocommerce-tabs .woocommerce-Tabs-panel p {
	margin-bottom: 18px;
}

.hc-theme.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2,
.hc-theme.single-product .related.products > h2,
.hc-theme.single-product .upsells.products > h2 {
	font-size: clamp(19px, 1.4vw, 21px);
	font-weight: 600;
	letter-spacing: -.01em;
	line-height: 1.4;
}

.hc-theme.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2 {
	margin: 26px 0 12px;
}

.hc-theme.single-product .woocommerce-tabs .woocommerce-Tabs-panel h3 {
	color: var(--hc-navy);
	font-size: 18px;
	font-weight: 600;
	letter-spacing: -.01em;
	line-height: 1.45;
}

.hc-theme.single-product .woocommerce-tabs .woocommerce-Tabs-panel h4,
.hc-theme.single-product .woocommerce-tabs .woocommerce-Tabs-panel h5,
.hc-theme.single-product .woocommerce-tabs .woocommerce-Tabs-panel h6 {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
}

.hc-theme.single-product .woocommerce-tabs .woocommerce-Tabs-panel > :first-child {
	margin-top: 0;
}

.hc-theme.single-product .woocommerce-tabs .woocommerce-Tabs-panel strong,
.hc-theme.single-product .woocommerce-tabs .woocommerce-Tabs-panel b,
.hc-theme.single-product .woocommerce-tabs .woocommerce-Tabs-panel th {
	font-weight: 600;
}

.hc-theme.single-product .woocommerce-tabs ul.tabs li a {
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
}


/* HVACentral optical logo — staging 2026-10-08; native Bookman paths. */
.hc-theme .hc-site-header .hc-header-main > .hc-brand {
  width: 270px;
  max-width: 100%;
}
.hc-theme .hc-header-main > .hc-brand .hc-custom-logo.hc-vector-logo.hc-optical-logo,
.hc-theme .hc-footer-brand > .hc-brand .hc-custom-logo.hc-vector-logo.hc-optical-logo {
  display: block;
  width: 270px;
  height: auto;
  aspect-ratio: 1440 / 224;
  max-width: 100%;
  max-height: none;
  object-fit: contain;
  overflow: visible;
  transform: none;
  filter: none;
  opacity: 1;
  shape-rendering: geometricPrecision;
  background: transparent;
  border-radius: 0;
}


/* Checkout and basket clarity — 29 October 2026. */
.hc-theme a.added_to_cart.wc-forward,
.hc-theme .hc-product-actions a.added_to_cart {
 display: flex; align-items: center; justify-content: center;
 grid-column: 1 / -1; box-sizing: border-box; width: 100%;
 min-height: 44px; padding: 11px 16px; margin-top: 2px;
 border: 1px solid #102b40; border-radius: 10px;
 background: #102b40; color: #fff;
 font-family: inherit; font-size: 14px; font-weight: 650;
 line-height: 1.35; text-align: center; text-decoration: none;
 box-shadow: none; opacity: 1;
}
.hc-theme a.added_to_cart.wc-forward:hover,
.hc-theme .hc-product-actions a.added_to_cart:hover {
 background: #21465f; border-color: #21465f; color: #fff;
}
.hc-theme a.added_to_cart.wc-forward:focus-visible,
.hc-theme .hc-product-actions a.added_to_cart:focus-visible {
 outline: 3px solid #a4d86a; outline-offset: 3px; color: #fff;
}
.hvc-vat-status-note { margin: 12px 0 0; color: #43576a; font-size: 13px; line-height: 1.5; font-weight: 400; }


/* Empty basket recommendations — 29 October 2026. */
.hc-theme .wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
 display: flex; flex-direction: column;
}
.hc-theme .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link,
.hc-theme .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link:visited {
 display: flex; flex-direction: column; flex: 1; color: var(--hc-navy, #06192b); text-decoration: none;
}
.hc-theme .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
 color: var(--hc-navy, #06192b); font-family: inherit; font-size: 14px; font-weight: 650; line-height: 1.45;
}
.hc-theme .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link:hover .wc-block-grid__product-title {
 color: var(--hc-navy, #06192b); text-decoration: underline; text-underline-offset: 3px;
}
.hc-theme .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
 color: var(--hc-navy, #06192b); font-weight: 650; font-size: 16px; margin: 12px 0;
}
.hc-theme .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart { margin-top: auto; }
.hc-theme .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a.wp-block-button__link {
 display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box;
 min-height: 44px; padding: 11px 20px; border: 1px solid var(--hc-signal, #a6dc63); border-radius: 10px;
 background: var(--hc-signal, #a6dc63); color: var(--hc-navy, #06192b);
 font-family: inherit; font-size: 14px; font-weight: 650; line-height: 1.35; text-decoration: none; box-shadow: none;
}
.hc-theme .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a.wp-block-button__link:hover {
 background: #98ce57; border-color: #98ce57; color: var(--hc-navy, #06192b);
}
.hc-theme .wp-block-woocommerce-empty-cart-block a:focus-visible {
 outline: 3px solid var(--hc-navy, #06192b); outline-offset: 3px;
}
