/* ==========================================================================
   Harvestly Store — main stylesheet (Storefront child)
   Colours are CSS variables; the Customizer overrides them on :root.
   Sections: 1 Fonts · 2 Tokens/base · 3 Buttons · 4 Header · 5 Nav
             6 Hero · 7 Sections · 8 Categories · 9 Product cards
             10 Banners · 11 Benefits · 12 Newsletter · 13 Footer
             14 Shop/archive · 15 Single product · 16 Cart/checkout/account
             17 Misc (toast, preview bar, notices) · 18 Responsive
   ========================================================================== */

/* 1. Fonts (self-hosted, OFL — see assets/fonts) -------------------------- */
@font-face { font-family: "Playfair Display"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/playfair-display-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Playfair Display"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/playfair-display-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/montserrat-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/montserrat-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/montserrat-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/montserrat-latin-700-normal.woff2") format("woff2"); }

/* 2. Tokens & base -------------------------------------------------------- */
:root {
	--hvt-navy: #06264A;
	--hvt-navy-dark: #031B36;
	--hvt-gold: #E5AA2E;
	--hvt-gold-hover: #d39a20;
	--hvt-cream: #FAF7F0;
	--hvt-white: #FFFFFF;
	--hvt-text: #101D32;
	--hvt-muted: #626873;
	--hvt-border: #E9E4DA;
	--hvt-success: #1d7a46;
	--hvt-danger: #b42318;

	--hvt-serif: "Playfair Display", Georgia, "Times New Roman", serif;
	--hvt-sans: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;

	--hvt-radius: 8px;
	--hvt-radius-lg: 12px;
	--hvt-shadow: 0 1px 2px rgba(16, 29, 50, .04), 0 4px 14px rgba(16, 29, 50, .05);
	--hvt-shadow-hover: 0 2px 4px rgba(16, 29, 50, .06), 0 10px 26px rgba(16, 29, 50, .10);
	--hvt-container: 1320px;
	--hvt-gutter: 24px;
	--hvt-focus: 0 0 0 3px rgba(229, 170, 46, .55);
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }

body.hvt {
	background: var(--hvt-cream);
	color: var(--hvt-text);
	font-family: var(--hvt-sans);
	font-size: 15px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
.hvt h1, .hvt h2, .hvt h3, .hvt h4, .hvt h5, .hvt h6 { color: var(--hvt-navy); font-family: var(--hvt-serif); font-weight: 700; letter-spacing: 0; }
.hvt a { color: var(--hvt-navy); text-decoration: none; }
.hvt a:hover { color: var(--hvt-gold-hover); }
.hvt .entry-content a, .hvt .woocommerce-privacy-policy-text a, .hvt .woocommerce-terms-and-conditions-link { text-decoration: underline; text-underline-offset: 2px; }
.hvt :focus { outline: none; }
.hvt :focus-visible { outline: 2px solid var(--hvt-gold); outline-offset: 2px; box-shadow: none; }
.hvt img { max-width: 100%; height: auto; }
.hvt .hvt-icon { width: 1.25em; height: 1.25em; flex: 0 0 auto; }

.hvt-container, .hvt .col-full {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(var(--hvt-container) + var(--hvt-gutter) * 2);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--hvt-gutter);
	padding-right: var(--hvt-gutter);
}
.hvt .col-full::before, .hvt .col-full::after { content: none; }
.hvt .site-content { outline: none; }
.hvt-placeholder { background: #fff3cd; color: #6b4e00; border: 1px dashed #c99a1d; border-radius: 4px; padding: 0 6px; font-size: .92em; font-weight: 600; }

/* 3. Buttons ---------------------------------------------------------------- */
.hvt .hvt-btn,
.hvt .button,
.hvt button.button,
.hvt input[type="submit"],
.hvt a.button,
.hvt button[type="submit"]:not(.hvt-search__btn) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	min-height: 44px;
	padding: .65em 1.4em;
	border: 0;
	border-radius: var(--hvt-radius);
	background: var(--hvt-navy);
	color: #fff;
	font-family: var(--hvt-sans);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.hvt .button:hover, .hvt button.button:hover, .hvt input[type="submit"]:hover, .hvt a.button:hover { background: var(--hvt-navy-dark); color: #fff; }
.hvt .hvt-btn.hvt-btn--gold,
.hvt .button.alt,
.hvt button.button.alt,
.hvt .single_add_to_cart_button,
.hvt .checkout-button,
.hvt #place_order {
	background: var(--hvt-gold);
	color: var(--hvt-navy-dark);
}
.hvt .hvt-btn.hvt-btn--gold:hover,
.hvt .button.alt:hover,
.hvt .single_add_to_cart_button:hover,
.hvt .checkout-button:hover,
.hvt #place_order:hover { background: var(--hvt-gold-hover); color: var(--hvt-navy-dark); }
.hvt .hvt-btn .hvt-icon { width: 18px; height: 18px; }
.hvt .hvt-btn--lg { min-height: 50px; padding: .8em 1.9em; border-radius: 999px; font-size: 15px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.hvt .hvt-btn--sm { min-height: 38px; padding: .5em 1.2em; border-radius: 999px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.hvt .button.loading { opacity: .7; }
.hvt .button.disabled, .hvt .button:disabled, .hvt .button[disabled] { opacity: .5; cursor: not-allowed; }

/* 4. Header ------------------------------------------------------------- */
.hvt-site-header { position: relative; z-index: 50; }


.hvt-header { background: var(--hvt-cream); border-bottom: 1px solid var(--hvt-border); }
.hvt-header__inner { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 40px; min-height: 108px; }
.hvt-header__menu-btn { display: none; }
.hvt-header__brand { line-height: 0; }

/* Temporary text logo (replace with official logo via Customize → Site Identity) */
.hvt-logo { display: inline-flex; flex-direction: column; align-items: center; color: var(--hvt-navy); line-height: 1; }
.hvt-logo:hover { color: var(--hvt-navy); }
.hvt-logo--image img { display: block; max-height: 84px; width: auto; }
.hvt-logo__mark { color: var(--hvt-gold); line-height: 0; margin-bottom: -2px; }
.hvt-logo__mark .hvt-icon { width: 34px; height: 34px; }
.hvt-logo__name { font-family: var(--hvt-serif); font-weight: 700; font-size: 40px; letter-spacing: .04em; text-transform: uppercase; color: var(--hvt-navy); }
.hvt-logo__sub { text-transform: uppercase; white-space: nowrap; display: flex; align-items: center; gap: 8px; margin-top: 4px; color: var(--hvt-gold); font-family: var(--hvt-sans); font-weight: 600; font-size: 13px; letter-spacing: .22em; }
.hvt-logo__sub::before, .hvt-logo__sub::after { content: ""; width: 20px; height: 1.5px; background: currentColor; }

.hvt-search { position: relative; display: flex; width: 100%; max-width: 620px; justify-self: center; margin: 0; }
.hvt .hvt-search__field {
	width: 100%; height: 48px; margin: 0; padding: 0 64px 0 22px;
	background: #fff; border: 1px solid #d9d3c6; border-radius: 999px;
	box-shadow: 0 1px 2px rgba(16, 29, 50, .05) inset;
	color: var(--hvt-text); font-size: 14px; font-family: var(--hvt-sans);
}
.hvt .hvt-search__field::placeholder { color: #8a8f98; }
.hvt .hvt-search__field:focus { border-color: var(--hvt-navy); box-shadow: var(--hvt-focus); outline: none; }
.hvt .hvt-search__btn {
	position: absolute; top: 4px; right: 4px; bottom: 4px; width: 52px;
	display: inline-flex; align-items: center; justify-content: center;
	padding: 0; border: 0; border-radius: 0 999px 999px 0;
	background: var(--hvt-navy); color: #fff; cursor: pointer;
}
.hvt .hvt-search__btn:hover { background: var(--hvt-navy-dark); }
.hvt-search__btn .hvt-icon { width: 20px; height: 20px; }

.hvt-header__actions { display: flex; align-items: center; gap: 28px; }
.hvt .hvt-action { display: inline-flex; flex-direction: column; align-items: center; gap: 4px; min-width: 44px; color: var(--hvt-navy); font-size: 12.5px; font-weight: 500; line-height: 1.2; }
.hvt .hvt-action:hover { color: var(--hvt-gold-hover); }
.hvt-action .hvt-icon { width: 28px; height: 28px; }
.hvt-cart-link__icon { position: relative; line-height: 0; }
.hvt-cart-link__count {
	position: absolute; top: -4px; right: -9px; min-width: 19px; height: 19px; padding: 0 5px; box-sizing: border-box;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 999px; background: var(--hvt-navy); color: #fff; font-size: 11px; font-weight: 700; line-height: 1;
	box-shadow: 0 0 0 2px var(--hvt-cream);
}
.hvt-cart-link__total .woocommerce-Price-amount { font-weight: 600; }

/* 5. Navigation ------------------------------------------------------- */
.hvt-nav { background: var(--hvt-navy); color: #fff; }
.hvt-nav__drawer-head { display: none; }
.hvt .hvt-menu { max-height: none; overflow: visible; display: flex; align-items: stretch; justify-content: space-between; gap: 4px; margin: 0; padding: 0; list-style: none; }
.hvt .hvt-menu > li { position: relative; display: flex; align-items: center; margin: 0; }
.hvt .hvt-menu > li > a {
	position: relative; display: flex; align-items: center; min-height: 52px; padding: 0 2px;
	color: #fff; font-size: 14.5px; font-weight: 500; white-space: nowrap;
}
.hvt .hvt-menu > li > a::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 9px; height: 3px; border-radius: 2px;
	background: var(--hvt-gold); transform: scaleX(0); transform-origin: left; transition: transform .2s ease;
}
.hvt .hvt-menu > li > a:hover,
.hvt .hvt-menu > li.current-menu-item > a,
.hvt .hvt-menu > li.current-menu-ancestor > a,
.hvt .hvt-menu > li.current-product_cat-ancestor > a { color: var(--hvt-gold); }
.hvt .hvt-menu > li.current-menu-item > a::after,
.hvt .hvt-menu > li.current-menu-ancestor > a::after { transform: scaleX(1); }
.hvt .hvt-menu > li > a:hover::after { transform: scaleX(1); }

.hvt .hvt-submenu-toggle {
	display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 32px; margin-left: 2px;
	padding: 0; border: 0; background: transparent; color: currentColor; cursor: pointer; border-radius: 4px;
}
.hvt .hvt-menu > li > .hvt-submenu-toggle { color: #fff; }
.hvt .hvt-menu > li:hover > .hvt-submenu-toggle { color: var(--hvt-gold); }
.hvt-submenu-toggle svg { transition: transform .2s ease; }
.hvt .is-open > .hvt-submenu-toggle svg { transform: rotate(180deg); }

.hvt .hvt-menu .sub-menu {
	position: absolute; top: 100%; left: -16px; z-index: 60; min-width: 230px; margin: 0; padding: 8px 0; list-style: none;
	background: #fff; border: 1px solid var(--hvt-border); border-radius: 0 0 var(--hvt-radius) var(--hvt-radius);
	box-shadow: var(--hvt-shadow-hover);
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .15s ease, transform .15s ease, visibility .15s;
}
.hvt .hvt-menu > li:hover > .sub-menu,
.hvt .hvt-menu > li:focus-within > .sub-menu,
.hvt .hvt-menu > li.is-open > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.hvt .hvt-menu .sub-menu a { display: block; padding: 9px 18px; color: var(--hvt-text); font-size: 14px; }
.hvt .hvt-menu .sub-menu a:hover { background: var(--hvt-cream); color: var(--hvt-navy); }

/* 6. Hero ----------------------------------------------------------------- */
.hvt-hero { position: relative; overflow: hidden; background: var(--hvt-navy); color: #fff; isolation: isolate; }
.hvt-hero::before { /* subtle depth, not a decorative gradient */
	content: ""; position: absolute; inset: 0; z-index: -2;
	background: radial-gradient(120% 90% at 0% 0%, rgba(255,255,255,.05), transparent 60%), var(--hvt-navy);
}
.hvt-hero__media { position: absolute; top: 0; right: 0; bottom: 0; width: 60%; z-index: -1; }
.hvt-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block;
	-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 28%); mask-image: linear-gradient(to right, transparent 0%, #000 28%); }
.hvt-hero__inner { display: flex; flex-direction: column; justify-content: center; min-height: 470px; padding-top: 48px; padding-bottom: 28px; }
.hvt-hero__copy { max-width: 720px; }
.hvt-hero__eyebrow { margin: 0 0 10px; color: var(--hvt-gold); font-size: 17px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; }
.hvt .hvt-hero__title { margin: 0 0 18px; color: #fff; font-family: var(--hvt-serif); font-size: clamp(32px, 4.5vw, 64px); font-weight: 700; line-height: 1.06; }
.hvt-hero__title span { display: block; }
.hvt .hvt-hero__title .hvt-hero__title-gold { color: var(--hvt-gold); }
.hvt-hero__cuisines { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; margin: 0 0 28px; font-size: 15px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; }
.hvt-hero__cuisines .hvt-dot { color: var(--hvt-gold); letter-spacing: 0; }
.hvt-hero__benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 44px 0 0; padding: 0; list-style: none; }
.hvt-hero__benefits li { display: flex; align-items: center; gap: 14px; padding: 4px 22px; border-left: 1px solid rgba(255, 255, 255, .22); }
.hvt-hero__benefits li:first-child { padding-left: 0; border-left: 0; }
.hvt-hero__benefits .hvt-icon { width: 36px; height: 36px; color: var(--hvt-gold); stroke-width: 1.5; }
.hvt-hero__benefits span { display: flex; flex-direction: column; font-size: 12.5px; color: rgba(255, 255, 255, .85); line-height: 1.35; }
.hvt-hero__benefits strong { color: #fff; font-size: 14.5px; font-weight: 600; }
.hvt-hero.has-image::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 150px; z-index: -1; background: linear-gradient(to top, rgba(3, 27, 54, .92), rgba(3, 27, 54, 0)); pointer-events: none; }
.hvt-hero.has-image .hvt-hero__benefits li { text-shadow: 0 1px 6px rgba(3, 27, 54, .85); }

/* 7. Generic section ------------------------------------------------------ */
.hvt-section { padding: 34px 0 6px; }
.hvt-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.hvt .hvt-section-title { margin: 0; font-size: clamp(26px, 2.7vw, 38px); line-height: 1.15; }
.hvt .hvt-link-arrow { display: inline-flex; align-items: center; gap: 6px; padding: 6px 0; color: var(--hvt-navy); font-size: 14px; font-weight: 600; white-space: nowrap; }
.hvt .hvt-link-arrow:hover { color: var(--hvt-gold-hover); }
.hvt-link-arrow .hvt-icon { width: 18px; height: 18px; transition: transform .15s ease; }
.hvt-link-arrow:hover .hvt-icon { transform: translateX(3px); }

/* 8. Categories ---------------------------------------------------------- */
.hvt-cats__list { display: grid; grid-template-columns: repeat(var(--hvt-cat-cols, 7), minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.hvt-cat { margin: 0; }
.hvt .hvt-cat__link { display: flex; flex-direction: column; height: 100%; overflow: hidden; border-radius: var(--hvt-radius); background: var(--hvt-navy); color: #fff; box-shadow: var(--hvt-shadow); transition: transform .2s ease, box-shadow .2s ease; }
.hvt .hvt-cat__link:hover { transform: translateY(-3px); box-shadow: var(--hvt-shadow-hover); color: var(--hvt-gold); }
.hvt-cat__media { display: block; aspect-ratio: 1 / 1.08; overflow: hidden; background: #e8e2d4; }
.hvt-cat__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.hvt-cat__link:hover .hvt-cat__media img { transform: scale(1.05); }
.hvt-cat__placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: var(--hvt-navy); opacity: .35; }
.hvt-cat__placeholder .hvt-icon { width: 48px; height: 48px; }
.hvt-cat__name { display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 8px 8px; text-align: center; font-size: 14px; font-weight: 600; line-height: 1.25; }

/* 9. Product cards / grids --------------------------------------------- */
.hvt ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0 0 24px; padding: 0; list-style: none; }
.hvt ul.products::before, .hvt ul.products::after { content: none !important; display: none !important; }
.hvt ul.hvt-grid--products { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.hvt ul.products li.product,
.hvt .site-main ul.products li.product {
	float: none !important; width: auto !important; margin: 0 !important; clear: none !important;
	display: flex; flex-direction: column; text-align: left;
	background: #fff; border: 1px solid var(--hvt-border); border-radius: var(--hvt-radius);
	box-shadow: var(--hvt-shadow); overflow: hidden; transition: box-shadow .2s ease, transform .2s ease;
}
.hvt ul.products li.product:hover { box-shadow: var(--hvt-shadow-hover); transform: translateY(-2px); }
.hvt .hvt-card__media { position: relative; display: block; aspect-ratio: 4 / 3; padding: 10px 10px 0; background: #fff; }
.hvt ul.products li.product .hvt-card__media img { width: 100%; height: 100%; object-fit: contain; margin: 0; display: block; box-shadow: none; }
.hvt-card__badge { position: absolute; top: 10px; left: 10px; padding: 3px 8px; border-radius: 999px; background: var(--hvt-danger); color: #fff; font-size: 11.5px; font-weight: 700; line-height: 1.3; }
.hvt-card__body { display: flex; flex-direction: column; flex: 1; padding: 10px 12px 12px; }
.hvt ul.products li.product .hvt-card__title { margin: 0 0 2px; padding: 0; font-family: var(--hvt-sans); font-size: 14px; font-weight: 700; line-height: 1.3; color: var(--hvt-navy); }
.hvt .hvt-card__title a { color: inherit; font-weight: inherit; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.hvt .hvt-card__title a:hover { color: var(--hvt-gold-hover); }
.hvt-card__pack { margin: 0 0 4px; color: var(--hvt-muted); font-size: 12.5px; line-height: 1.35; }
.hvt ul.products li.product .hvt-card__price { margin: auto 0 0; padding-top: 6px; color: var(--hvt-navy); font-size: 17px; font-weight: 700; }
.hvt .hvt-card__price del { color: var(--hvt-muted); font-size: 13px; font-weight: 500; opacity: 1; margin-right: 4px; }
.hvt .hvt-card__price ins { background: none; color: var(--hvt-danger); text-decoration: none; font-weight: 700; }
.hvt-card__stock { margin: 2px 0 0; font-size: 12.5px; font-weight: 600; }
.hvt-card__stock--out { color: var(--hvt-danger); }
.hvt-card__stock--low { color: #9a5b00; }
.hvt-card__actions { margin-top: 10px; }
.hvt ul.products li.product .hvt-card__actions .button { display: flex; width: 100%; margin: 0; min-height: 40px; padding: .55em .8em; font-size: 14px; border-radius: 6px; }
.hvt ul.products li.product.outofstock .hvt-card__actions .button { background: #fff; color: var(--hvt-navy); box-shadow: inset 0 0 0 1px var(--hvt-border); }
.hvt ul.products li.product .added_to_cart { display: none; } /* toast + header count confirm instead */
.hvt ul.products li.product .button.added::after { content: "✓"; margin-left: 6px; }

/* 10. Promo banners ------------------------------------------------------ */
.hvt-banners { padding-top: 30px; }
.hvt-banners__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.hvt-banner { position: relative; display: flex; align-items: center; min-height: 230px; overflow: hidden; border-radius: var(--hvt-radius-lg); background: var(--hvt-navy-dark); color: #fff; isolation: isolate; }
.hvt-banner--2 { background: var(--hvt-navy); }
.hvt-banner__media { position: absolute; top: 0; right: 0; bottom: 0; width: 62%; z-index: -1; }
.hvt-banner__media img { width: 100%; height: 100%; object-fit: cover; display: block;
	-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 35%); mask-image: linear-gradient(to right, transparent 0%, #000 35%); }
.hvt-banner__copy { position: relative; max-width: 300px; padding: 28px 30px; }
.hvt .hvt-banner__title { margin: 0 0 10px; color: var(--hvt-gold); font-size: clamp(26px, 2.5vw, 36px); line-height: 1.1; }
.hvt-banner__copy p { margin: 0 0 16px; color: rgba(255, 255, 255, .92); font-size: 14.5px; line-height: 1.45; text-shadow: 0 1px 6px rgba(3, 27, 54, .6); }

/* 11. Benefits strip ------------------------------------------------------ */
.hvt-benefits { padding: 26px 0; }
.hvt-benefits__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 auto; list-style: none; }
.hvt-benefits__list li { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 6px 18px; border-left: 1px solid var(--hvt-border); }
.hvt-benefits__list li:first-child { border-left: 0; }
.hvt-benefits .hvt-icon { width: 38px; height: 38px; color: var(--hvt-navy); stroke-width: 1.5; }
.hvt-benefits span { display: flex; flex-direction: column; color: var(--hvt-muted); font-size: 12.5px; line-height: 1.4; }
.hvt-benefits strong { color: var(--hvt-navy); font-size: 14.5px; font-weight: 700; }

/* 12. Newsletter ----------------------------------------------------------- */
.hvt-newsletter { background: var(--hvt-navy); color: #fff; padding: 26px 0; }
.hvt-newsletter__inner { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; gap: 32px; }
.hvt-newsletter__intro { display: flex; align-items: center; gap: 20px; }
.hvt-newsletter__icon.hvt-icon { width: 48px; height: 48px; color: var(--hvt-gold); stroke-width: 1.3; }
.hvt .hvt-newsletter__title { margin: 0 0 2px; color: #fff; font-family: var(--hvt-sans); font-size: 21px; font-weight: 600; }
.hvt-newsletter__intro p { margin: 0; color: rgba(255, 255, 255, .88); font-size: 14.5px; }
.hvt-newsletter__consent { margin: 8px 0 0; color: rgba(255, 255, 255, .7); font-size: 12px; }
.hvt .hvt-newsletter__consent a { color: var(--hvt-gold); text-decoration: underline; }
.hvt-newsletter__admin-note { margin: 0; padding: 12px 14px; border: 1px dashed var(--hvt-gold); border-radius: var(--hvt-radius); color: #fff; font-size: 13px; }
/* MailPoet (and generic) form styling: email field + gold button joined */
.hvt-newsletter__form form { position: relative; display: flex; flex-wrap: wrap; margin: 0; }
.hvt-newsletter__form .mailpoet_paragraph { margin: 0 !important; }
.hvt-newsletter__form form > .mailpoet_paragraph:first-of-type,
.hvt-newsletter__form form > p:first-of-type { flex: 1 1 220px; }
.hvt .hvt-newsletter__form input[type="email"],
.hvt .hvt-newsletter__form input.mailpoet_text {
	width: 100% !important; height: 48px; margin: 0; padding: 0 18px !important;
	border: 0 !important; border-radius: var(--hvt-radius) 0 0 var(--hvt-radius) !important; background: #fff; color: var(--hvt-text); font-size: 14px;
}
.hvt .hvt-newsletter__form input[type="submit"],
.hvt .hvt-newsletter__form .mailpoet_submit {
	height: 48px; min-height: 48px; margin: 0 !important; padding: 0 30px !important;
	border-radius: 0 var(--hvt-radius) var(--hvt-radius) 0 !important; background: var(--hvt-gold) !important; color: var(--hvt-navy-dark) !important; font-weight: 700; width: auto !important;
}
.hvt .hvt-newsletter__form .mailpoet_message { flex-basis: 100%; }
.hvt .hvt-newsletter__form .mailpoet_validate_success { color: #9be3b4 !important; margin-top: 6px; }
.hvt .hvt-newsletter__form .mailpoet_validate_error, .hvt .hvt-newsletter__form .parsley-errors-list { color: #ffb4ab !important; }

/* 13. Footer -------------------------------------------------------------- */

/* 14. Shop / archives ------------------------------------------------------ */
.hvt .storefront-breadcrumb { margin: 0 0 8px; padding: 14px 0 0; background: transparent; }
.hvt .woocommerce-breadcrumb { margin: 0; padding: 0; font-size: 13px; color: var(--hvt-muted); }
.hvt .woocommerce-breadcrumb a { color: var(--hvt-navy); }
.hvt .woocommerce-breadcrumb .breadcrumb-separator { color: var(--hvt-muted); padding: 0 6px; }
.hvt .woocommerce-products-header, .hvt .page-title, .hvt .entry-header .entry-title { margin-bottom: 8px; }
.hvt .woocommerce-products-header__title.page-title, .hvt h1.entry-title, .hvt h1.product_title { font-size: clamp(28px, 3vw, 40px); line-height: 1.15; }
.hvt .site-main { padding-top: 8px; padding-bottom: 32px; margin-bottom: 0; }
.hvt .content-area { width: 100% !important; float: none !important; margin: 0 !important; }
.hvt .term-description { color: var(--hvt-muted); max-width: 760px; }

.hvt-chips { margin: 4px 0 18px; overflow-x: auto; scrollbar-width: none; }
.hvt-chips::-webkit-scrollbar { display: none; }
.hvt-chips ul { display: flex; gap: 8px; margin: 0; padding: 2px; list-style: none; white-space: nowrap; }
.hvt .hvt-chips a { display: inline-flex; align-items: center; min-height: 38px; padding: 0 16px; border: 1px solid var(--hvt-border); border-radius: 999px; background: #fff; color: var(--hvt-navy); font-size: 13.5px; font-weight: 600; }
.hvt .hvt-chips a:hover { border-color: var(--hvt-navy); color: var(--hvt-navy); }
.hvt .hvt-chips a.is-active { background: var(--hvt-navy); border-color: var(--hvt-navy); color: #fff; }
.hvt .hvt-chips a.hvt-chips__offer { background: var(--hvt-gold); border-color: var(--hvt-gold); color: var(--hvt-navy-dark); }

.hvt .storefront-sorting { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 16px; padding: 0; font-size: 13.5px; }
.hvt .storefront-sorting::before, .hvt .storefront-sorting::after { content: none; }
.hvt .woocommerce-ordering, .hvt .woocommerce-result-count { float: none; margin: 0; }
.hvt .woocommerce-result-count { color: var(--hvt-muted); padding: 0; }
.hvt .woocommerce-ordering select, .hvt select.orderby {
	min-height: 40px; padding: 0 36px 0 12px; border: 1px solid var(--hvt-border); border-radius: var(--hvt-radius); background-color: #fff; color: var(--hvt-text); font-size: 14px;
}
.hvt .storefront-sorting + ul.products + .storefront-sorting .woocommerce-ordering,
.hvt ul.products ~ .storefront-sorting .woocommerce-ordering,
.hvt ul.products ~ .storefront-sorting .woocommerce-result-count { display: none; }
.hvt .woocommerce-pagination { float: none; width: 100%; text-align: center; }
.hvt .woocommerce-pagination .page-numbers { display: inline-flex; gap: 6px; border: 0; }
.hvt .woocommerce-pagination .page-numbers li { border: 0; }
.hvt .woocommerce-pagination .page-numbers li .page-numbers { min-width: 40px; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; padding: 0 10px; border: 1px solid var(--hvt-border); border-radius: var(--hvt-radius); background: #fff; color: var(--hvt-navy); }
.hvt .woocommerce-pagination .page-numbers li .page-numbers.current { background: var(--hvt-navy); border-color: var(--hvt-navy); color: #fff; }
.hvt .woocommerce-info, .hvt .woocommerce-message, .hvt .woocommerce-error, .hvt .woocommerce-noreviews, .hvt p.no-comments {
	border-radius: var(--hvt-radius); border-left: 4px solid var(--hvt-navy); background: #fff; color: var(--hvt-text); box-shadow: var(--hvt-shadow); padding: 14px 18px;
}
.hvt .woocommerce-message { border-left-color: var(--hvt-success); }
.hvt .woocommerce-error { border-left-color: var(--hvt-danger); }
.hvt .woocommerce-info::before, .hvt .woocommerce-message::before, .hvt .woocommerce-error::before { color: inherit; }
.hvt .woocommerce-message a, .hvt .woocommerce-info a, .hvt .woocommerce-error a { color: var(--hvt-navy); }
.hvt .woocommerce-message .button, .hvt .woocommerce-info .button { float: right; min-height: 36px; padding: .4em 1em; background: var(--hvt-navy); color: #fff; }
.hvt .storefront-handheld-footer-bar { display: none !important; }

/* 15. Single product ------------------------------------------------------ */
.hvt.single-product div.product { padding-top: 6px; }
.hvt.single-product div.product .woocommerce-product-gallery { background: #fff; border: 1px solid var(--hvt-border); border-radius: var(--hvt-radius-lg); padding: 16px; box-sizing: border-box; }
.hvt.single-product div.product .woocommerce-product-gallery img { border-radius: var(--hvt-radius); }
.hvt.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img { border: 1px solid var(--hvt-border); }
.hvt.single-product div.product .product_title { margin-bottom: 4px; }
.hvt-single__pack { margin: 0 0 10px; color: var(--hvt-muted); font-size: 15px; font-weight: 500; }
.hvt.single-product div.product p.price { margin: 0 0 14px; color: var(--hvt-navy); font-size: 26px; font-weight: 700; }
.hvt.single-product div.product p.price del { color: var(--hvt-muted); font-size: 18px; font-weight: 500; opacity: 1; }
.hvt.single-product div.product p.price ins { color: var(--hvt-danger); background: none; font-weight: 700; }
.hvt.single-product div.product .onsale, .hvt .onsale { border: 0; border-radius: 999px; background: var(--hvt-danger); color: #fff; padding: 3px 10px; font-size: 12px; font-weight: 700; }
.hvt.single-product div.product .stock { font-weight: 600; }
.hvt.single-product div.product .stock.in-stock { color: var(--hvt-success); }
.hvt.single-product div.product .stock.out-of-stock { color: var(--hvt-danger); }
.hvt.single-product div.product form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 16px 0; margin-bottom: 14px; border-top: 1px solid var(--hvt-border); border-bottom: 1px solid var(--hvt-border); }
.hvt.single-product div.product form.cart::before, .hvt.single-product div.product form.cart::after { content: none; }
.hvt.single-product div.product form.cart .quantity { float: none; margin: 0; }
.hvt .quantity .qty { width: 72px; min-height: 48px; border: 1px solid var(--hvt-border); border-radius: var(--hvt-radius); background: #fff; text-align: center; font-size: 16px; font-weight: 600; color: var(--hvt-text); }
.hvt.single-product div.product form.cart .single_add_to_cart_button { float: none; min-height: 48px; padding: 0 2em; flex: 1 1 200px; max-width: 320px; font-size: 15px; font-weight: 700; }
.hvt.single-product div.product form.cart.variations_form { display: block; }
.hvt.single-product div.product form.cart.variations_form .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.hvt.single-product div.product table.variations select { min-height: 44px; border: 1px solid var(--hvt-border); border-radius: var(--hvt-radius); background-color: #fff; padding: 0 10px; }
.hvt .product_meta { font-size: 13.5px; color: var(--hvt-muted); border-top: 0; }
.hvt .product_meta a { color: var(--hvt-navy); }
.hvt .woocommerce-tabs { padding-top: 24px; }
.hvt .woocommerce-tabs ul.tabs { border-top: 0; }
.hvt .woocommerce-tabs ul.tabs li { border-bottom: 1px solid var(--hvt-border); }
.hvt .woocommerce-tabs ul.tabs li a { color: var(--hvt-muted); font-weight: 600; }
.hvt .woocommerce-tabs ul.tabs li.active a, .hvt .woocommerce-tabs ul.tabs li a:hover { color: var(--hvt-navy); }
.hvt .woocommerce-tabs ul.tabs li::after { display: none !important; }
.hvt .woocommerce-tabs ul.tabs li.active { box-shadow: inset 3px 0 0 var(--hvt-gold); }
.hvt .woocommerce-tabs ul.tabs li a { padding-left: 12px; }
.hvt .woocommerce-tabs .panel h2:first-of-type { font-size: 22px; }
.hvt table.woocommerce-product-attributes, .hvt .hvt-food-info table { border: 1px solid var(--hvt-border); border-radius: var(--hvt-radius); background: #fff; }
.hvt .related.products > h2, .hvt .upsells.products > h2 { font-size: clamp(24px, 2.4vw, 32px); }
.hvt .storefront-product-pagination { display: none; }

/* 16. Cart / checkout / account -------------------------------------------- */
.hvt table.shop_table { border: 1px solid var(--hvt-border); border-radius: var(--hvt-radius-lg); background: #fff; overflow: hidden; border-collapse: separate; border-spacing: 0; }
.hvt table.shop_table th { background: var(--hvt-cream); color: var(--hvt-navy); font-weight: 700; font-family: var(--hvt-sans); }
.hvt table.shop_table td, .hvt table.shop_table th { border-color: var(--hvt-border); }
.hvt table.cart td.product-name a { font-weight: 600; }
.hvt table.cart td.product-remove a.remove { color: var(--hvt-danger) !important; font-size: 20px; }
.hvt table.cart td.actions .coupon .input-text, .hvt .woocommerce form .form-row .input-text, .hvt .woocommerce form .form-row select,
.hvt input[type="text"], .hvt input[type="email"], .hvt input[type="tel"], .hvt input[type="password"], .hvt input[type="number"], .hvt textarea, .hvt .select2-container .select2-selection--single {
	min-height: 46px; border: 1px solid #d9d3c6; border-radius: var(--hvt-radius); background: #fff; color: var(--hvt-text); box-shadow: none; font-size: 15px;
}
.hvt textarea { min-height: 110px; }
.hvt input[type="text"]:focus, .hvt input[type="email"]:focus, .hvt input[type="tel"]:focus, .hvt input[type="password"]:focus, .hvt input[type="number"]:focus, .hvt textarea:focus { border-color: var(--hvt-navy); box-shadow: var(--hvt-focus); background: #fff; }
.hvt .select2-container .select2-selection--single .select2-selection__rendered { line-height: 44px; padding-left: 12px; }
.hvt .select2-container .select2-selection--single .select2-selection__arrow { height: 44px; }
.hvt .cart-collaterals .cart_totals, .hvt #order_review, .hvt .woocommerce-checkout-review-order { background: #fff; }
.hvt .cart_totals h2, .hvt #order_review_heading, .hvt .woocommerce-billing-fields h3, .hvt .woocommerce-shipping-fields h3, .hvt .woocommerce-additional-fields h3 { font-size: 24px; }
.hvt .wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 54px; font-size: 16px; font-weight: 700; }
.hvt #payment { background: var(--hvt-cream); border-radius: var(--hvt-radius-lg); }
.hvt #payment .payment_methods > li { background: #fff; }
.hvt #place_order { width: 100%; min-height: 54px; font-size: 16px; font-weight: 700; }
.hvt .woocommerce-form-login, .hvt .woocommerce-form-register, .hvt .woocommerce-ResetPassword { background: #fff; border: 1px solid var(--hvt-border); border-radius: var(--hvt-radius-lg); padding: 24px; }
.hvt .woocommerce-MyAccount-navigation ul { border-top: 1px solid var(--hvt-border); }
.hvt .woocommerce-MyAccount-navigation ul li { border-bottom: 1px solid var(--hvt-border); }
.hvt .woocommerce-MyAccount-navigation ul li.is-active a { color: var(--hvt-navy); font-weight: 700; }
.hvt .required { color: var(--hvt-danger); }
.hvt .wc-block-components-button:not(.is-link) { background: var(--hvt-gold); color: var(--hvt-navy-dark); border-radius: var(--hvt-radius); }

/* Content pages */

.hvt .entry-header, .hvt .woocommerce-products-header, .hvt .related.products > h2, .hvt .upsells.products > h2 { text-align: left; }
.hvt .woocommerce-products-header { padding: 0 0 4px; }
.hvt.page .hentry .entry-header { margin-bottom: 18px; padding-bottom: 0; border: 0; }
.hvt .wp-block-woocommerce-cart.alignwide, .hvt .wp-block-woocommerce-checkout.alignwide { margin-left: 0; margin-right: 0; width: auto; max-width: none; }
.hvt .wc-block-cart, .hvt .wc-block-checkout { background: transparent; }
.hvt .wc-block-cart .wc-block-cart__totals-title, .hvt .wc-block-components-title { font-family: var(--hvt-sans); }
.hvt .wc-block-components-sidebar-layout .wc-block-components-main, .hvt .wc-block-components-sidebar { box-sizing: border-box; }
.hvt .wc-block-components-sidebar .wc-block-components-panel, .hvt .wc-block-cart__sidebar, .hvt .wc-block-checkout__sidebar { background: #fff; border: 1px solid var(--hvt-border); border-radius: var(--hvt-radius-lg); padding: 8px 16px 16px; }
.hvt.page .hentry { margin-bottom: 32px; }

/* 17. Misc ------------------------------------------------------------------ */
.hvt-toast {
	position: fixed; left: 50%; bottom: 20px; z-index: 9999; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; justify-content: center;
	max-width: calc(100vw - 32px); padding: 12px 16px; border-radius: var(--hvt-radius-lg); background: var(--hvt-navy-dark); color: #fff;
	box-shadow: 0 12px 30px rgba(3, 27, 54, .3); font-size: 14px;
	opacity: 0; transform: translate(-50%, 12px); transition: opacity .2s ease, transform .2s ease;
}
.hvt-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
.hvt-toast__msg { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.hvt-toast__msg svg { color: var(--hvt-gold); flex: 0 0 auto; }
.hvt .hvt-toast__link { color: var(--hvt-gold); font-weight: 700; text-decoration: underline; white-space: nowrap; }
.hvt .hvt-toast__link:hover { color: #fff; }
.hvt-preview-bar { background: #fff3cd; color: #5c4400; text-align: center; font-size: 13px; font-weight: 600; padding: 6px 16px; }
.hvt .screen-reader-text:focus { background: #fff; color: var(--hvt-navy); z-index: 100000; }
.hvt .skip-link { position: absolute; }
.hvt-nav-overlay { position: fixed; inset: 0; z-index: 90; background: rgba(3, 27, 54, .55); }

/* 18. Responsive ---------------------------------------------------------- */
@media (max-width: 1279px) {
	.hvt .hvt-menu > li > a { font-size: 13.5px; }
	.hvt-header__inner { gap: 28px; }
	.hvt ul.hvt-grid--products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.hvt-hero__benefits li { padding: 4px 14px; }
}

@media (max-width: 991px) {
	:root { --hvt-gutter: 16px; }

	/* Header: [menu] [logo] [actions] / [search] */
	.hvt-header__inner { grid-template-columns: auto 1fr auto; grid-template-areas: "menu brand actions" "search search search"; gap: 10px 12px; min-height: 0; padding-top: 10px; padding-bottom: 12px; }
	.hvt-header__menu-btn { grid-area: menu; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: var(--hvt-radius); background: transparent; color: var(--hvt-navy); cursor: pointer; }
	.hvt-header__menu-btn .hvt-icon { width: 28px; height: 28px; }
	.hvt-header__brand { grid-area: brand; }
	.hvt-search { grid-area: search; max-width: none; }
	.hvt .hvt-search__field { height: 44px; }
	.hvt-header__actions { grid-area: actions; gap: 6px; }
	.hvt .hvt-action { min-width: 44px; min-height: 44px; justify-content: center; }
	.hvt .hvt-action__label { display: none; }
	.hvt-action .hvt-icon { width: 26px; height: 26px; }
	.hvt-logo__name { font-size: 28px; }
	.hvt-logo__mark .hvt-icon { width: 24px; height: 24px; }
	.hvt-logo__sub { font-size: 9.5px; gap: 6px; margin-top: 3px; }
	.hvt-logo__sub::before, .hvt-logo__sub::after { width: 12px; }
	.hvt-logo--image img { max-height: 56px; }

	/* Top bar: one line, scrolls sideways instead of wrapping */

	/* Off-canvas drawer */
	.hvt-nav {
		position: fixed; top: 0; bottom: 0; left: 0; z-index: 100; width: min(86vw, 360px); overflow-y: auto;
		background: var(--hvt-navy); transform: translateX(-102%); transition: transform .25s ease; visibility: hidden;
	}
	.hvt-nav-open .hvt-nav { transform: none; visibility: visible; box-shadow: 10px 0 30px rgba(3, 27, 54, .35); }
	.hvt-nav-open { overflow: hidden; }
	.hvt-nav__drawer-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; background: var(--hvt-cream); }
	.hvt-nav__drawer-head .hvt-logo__name { font-size: 24px; }
	.hvt .hvt-nav__close { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: var(--hvt-navy); cursor: pointer; }
	.hvt-nav .hvt-container { padding: 6px 0 24px; }
	.hvt .hvt-menu { flex-direction: column; gap: 0; }
	.hvt .hvt-menu > li { flex-wrap: wrap; border-bottom: 1px solid rgba(255, 255, 255, .1); }
	.hvt .hvt-menu > li > a { flex: 1; min-height: 52px; padding: 0 20px; font-size: 16px; }
	.hvt .hvt-menu > li > a::after { left: 20px; right: auto; width: 24px; bottom: 8px; }
	.hvt .hvt-menu > li > .hvt-submenu-toggle { width: 52px; height: 52px; margin: 0; }
	.hvt .hvt-menu .sub-menu { position: static; display: none; flex-basis: 100%; min-width: 0; padding: 0 0 8px; border: 0; border-radius: 0; background: rgba(0, 0, 0, .15); box-shadow: none; opacity: 1; visibility: visible; transform: none; }
	.hvt .hvt-menu > li.is-open > .sub-menu { display: block; }
	.hvt .hvt-menu > li:hover > .sub-menu, .hvt .hvt-menu > li:focus-within > .sub-menu { display: none; }
	.hvt .hvt-menu > li.is-open:hover > .sub-menu, .hvt .hvt-menu > li.is-open:focus-within > .sub-menu { display: block; }
	.hvt .hvt-menu .sub-menu a { padding: 11px 20px 11px 34px; color: #fff; font-size: 15px; }
	.hvt .hvt-menu .sub-menu a:hover { background: transparent; color: var(--hvt-gold); }

	/* Hero: image on top, copy below */
	.hvt-hero__media { position: relative; width: 100%; height: 230px; }
	.hvt-hero__media img { -webkit-mask-image: linear-gradient(to bottom, #000 60%, transparent 100%); mask-image: linear-gradient(to bottom, #000 60%, transparent 100%); }
	.hvt-hero.has-image .hvt-hero__inner { margin-top: -36px; }
	.hvt-hero__inner { min-height: 0; padding-top: 28px; padding-bottom: 28px; }
	.hvt-hero__eyebrow { font-size: 13px; }
	.hvt-hero__cuisines { font-size: 12px; letter-spacing: .14em; gap: 2px 10px; margin-bottom: 22px; }
	.hvt-hero__benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; margin-top: 28px; }
	.hvt-hero__benefits li, .hvt-hero__benefits li:first-child { padding: 0; border: 0; gap: 10px; }
	.hvt-hero__benefits .hvt-icon { width: 30px; height: 30px; }

	/* Categories: swipeable row */
	.hvt-cats__list { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; margin-right: calc(var(--hvt-gutter) * -1); padding-right: var(--hvt-gutter); scrollbar-width: thin; }
	.hvt-cat { flex: 0 0 136px; scroll-snap-align: start; }

	.hvt ul.products, .hvt ul.hvt-grid--products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.hvt-banner { min-height: 210px; }
	.hvt-benefits__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 0; }
	.hvt-benefits__list li { justify-content: flex-start; }
	.hvt-benefits__list li:nth-child(3) { border-left: 0; }
	.hvt-newsletter__inner { grid-template-columns: 1fr; gap: 18px; }
}

@media (max-width: 767px) {
	.hvt-banners__grid { grid-template-columns: 1fr; }
	.hvt-section { padding-top: 26px; }
	.hvt ul.products, .hvt ul.hvt-grid--products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.hvt-card__body { padding: 8px 10px 10px; }
	.hvt ul.products li.product .hvt-card__title { font-size: 13.5px; }
	.hvt ul.products li.product .hvt-card__price { font-size: 16px; }
	.hvt ul.products li.product .hvt-card__actions .button { font-size: 13px; padding: .5em .4em; }
	.hvt .woocommerce-message .button, .hvt .woocommerce-info .button { float: none; display: flex; margin-top: 8px; }
	.hvt.single-product div.product form.cart .single_add_to_cart_button { max-width: none; }
}

@media (max-width: 479px) {
	.hvt-hero__benefits span { font-size: 11.5px; }
	.hvt-hero__benefits strong { font-size: 13px; }
	.hvt-banner__copy { padding: 22px 20px; max-width: 70%; }
	.hvt-banner__media { width: 70%; }
	.hvt-newsletter__intro { align-items: flex-start; }
	.hvt-newsletter__icon.hvt-icon { width: 36px; height: 36px; }
}

/* Banner text legibility on small screens (image sits behind copy) */
@media (max-width: 767px) {
	.hvt-banner.has-image::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
		background: linear-gradient(90deg, rgba(3, 27, 54, .92) 0%, rgba(3, 27, 54, .75) 45%, rgba(3, 27, 54, 0) 85%); }
	.hvt-banner--2.has-image::before { background: linear-gradient(90deg, rgba(6, 38, 74, .94) 0%, rgba(6, 38, 74, .78) 45%, rgba(6, 38, 74, 0) 85%); }
	.hvt-banner__copy { z-index: 1; }
	.hvt-section-head { align-items: center; }
	.hvt .hvt-link-arrow { font-size: 13px; }
}

/* Storefront full-width overrides: left-aligned titles, tighter archive header, sorting row */
.hvt .entry-header, .hvt .entry-header h1, .hvt .woocommerce-products-header, .hvt .woocommerce-products-header h1,
.hvt .related.products > h2, .hvt .upsells.products > h2, .hvt .cross-sells > h2 { text-align: left !important; }
.hvt .woocommerce-products-header { padding-bottom: 4px !important; margin-bottom: 8px !important; }
.hvt .storefront-sorting { justify-content: space-between !important; }
.hvt .storefront-sorting .woocommerce-result-count { order: 1; }
.hvt .storefront-sorting .woocommerce-ordering { order: 2; margin: 0 !important; }
.hvt .storefront-sorting .woocommerce-result-count { margin-right: auto !important; text-align: left; order: 0; }
.hvt .storefront-sorting .woocommerce-pagination { order: 3; flex-basis: 100%; }

/* ==========================================================================
   v1.2 additions
   19 Archive header & sub-categories · 20 Product page · 21 Content pages
   22 Forms (Contact Form 7) · 23 Mobile refinements
   ========================================================================== */

/* 19. Shop / category / sub-category header ------------------------------- */
.hvt .woocommerce-products-header { padding: 0 !important; margin: 0 0 18px !important; }
.hvt-archive-hero, .hvt-page-hero {
	position: relative; overflow: hidden; isolation: isolate;
	display: flex; align-items: center; min-height: 210px; padding: 36px 44px;
	border-radius: var(--hvt-radius-lg); background: var(--hvt-navy); color: #fff;
}
.hvt-archive-hero::before, .hvt-page-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: radial-gradient(110% 120% at 0% 0%, rgba(255, 255, 255, .06), transparent 55%), var(--hvt-navy); }
.hvt-archive-hero__copy { max-width: 620px; }
.hvt-archive-hero__eyebrow, .hvt-page-hero__eyebrow { margin: 0 0 8px; color: var(--hvt-gold); font-size: 12.5px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.hvt .hvt-archive-hero__eyebrow a { color: var(--hvt-gold); }
.hvt .hvt-archive-hero__eyebrow a::before { content: "‹ "; }
.hvt .hvt-archive-hero__eyebrow a:hover { color: #fff; }
.hvt .hvt-archive-hero__title, .hvt .hvt-page-hero__title { margin: 0; color: #fff; font-family: var(--hvt-serif); font-size: clamp(30px, 3.6vw, 50px); font-weight: 700; line-height: 1.1; text-align: left; }
.hvt-archive-hero__desc, .hvt-page-hero__intro { margin: 12px 0 0; max-width: 560px; color: rgba(255, 255, 255, .9); font-size: 15.5px; line-height: 1.55; }
.hvt-archive-hero__desc p { margin: 0 0 6px; }
.hvt-archive-hero__count { display: inline-block; margin: 16px 0 0; padding: 4px 12px; border: 1px solid rgba(229, 170, 46, .6); border-radius: 999px; color: var(--hvt-gold); font-size: 12.5px; font-weight: 600; }
.hvt-archive-hero__media { position: absolute; top: 0; right: 0; bottom: 0; width: 46%; z-index: -1; }
.hvt-archive-hero__media img { width: 100%; height: 100%; object-fit: cover; display: block; -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 45%); mask-image: linear-gradient(to right, transparent 0%, #000 45%); }
.hvt-archive-hero.has-image .hvt-archive-hero__copy { max-width: 56%; }

.hvt-subcats { margin: 0 0 22px; }
.hvt-subcats ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.hvt .hvt-subcat { display: flex; align-items: center; gap: 12px; height: 100%; padding: 10px 14px 10px 10px; border: 1px solid var(--hvt-border); border-radius: var(--hvt-radius); background: #fff; color: var(--hvt-navy); box-shadow: var(--hvt-shadow); transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.hvt .hvt-subcat:hover { transform: translateY(-2px); border-color: var(--hvt-gold); box-shadow: var(--hvt-shadow-hover); color: var(--hvt-navy); }
.hvt-subcat__media { flex: 0 0 56px; width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; overflow: hidden; border-radius: 8px; background: var(--hvt-cream); color: var(--hvt-navy); }
.hvt-subcat__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hvt-subcat__media .hvt-icon { width: 26px; height: 26px; opacity: .55; }
.hvt-subcat__text { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
.hvt-subcat__text strong { font-size: 14.5px; font-weight: 700; }
.hvt-subcat__text small { color: var(--hvt-muted); font-size: 12.5px; }

/* 20. Product page -------------------------------------------------------- */
.hvt.single-product div.product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 28px 56px; align-items: start; position: relative; padding-top: 6px; }
.hvt.single-product div.product::before, .hvt.single-product div.product::after { content: none; }
.hvt.single-product div.product .woocommerce-product-gallery,
.hvt.single-product div.product .images,
.hvt.single-product div.product .summary { width: auto !important; float: none !important; margin: 0 !important; }
.hvt.single-product div.product .woocommerce-product-gallery { position: sticky; top: 20px; }
.hvt.single-product div.product > .woocommerce-tabs,
.hvt.single-product div.product > .related,
.hvt.single-product div.product > .upsells,
.hvt.single-product div.product > section { grid-column: 1 / -1; width: auto; float: none; }
.hvt.single-product div.product > .onsale { position: absolute; top: 22px; left: 16px; z-index: 5; margin: 0; }
.hvt.single-product div.product .woocommerce-product-gallery__image img { width: 100%; height: auto; object-fit: contain; }

.hvt-single__cat { margin: 0 0 8px; font-size: 12.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.hvt .hvt-single__cat a { color: #9a6c08; }
.hvt .hvt-single__cat a:hover { color: var(--hvt-navy); }
.hvt.single-product div.product .product_title { margin: 0 0 6px; font-size: clamp(28px, 3.1vw, 42px); line-height: 1.12; }
.hvt.single-product div.product p.price { margin: 10px 0 14px; font-size: 30px; }
.hvt.single-product div.product .woocommerce-product-details__short-description { margin: 0 0 16px; color: var(--hvt-muted); font-size: 15.5px; }
.hvt.single-product div.product .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }
.hvt.single-product div.product p.stock { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 4px; padding: 4px 12px; border-radius: 999px; background: #e8f5ee; font-size: 13px; }
.hvt.single-product div.product p.stock.out-of-stock { background: #fdecea; }
.hvt.single-product div.product p.stock::before { display: none; }
.hvt.single-product div.product form.cart { margin: 14px 0 18px; padding: 18px 0; }

.hvt-qty { display: inline-flex; align-items: stretch; border: 1px solid #d9d3c6; border-radius: var(--hvt-radius); background: #fff; overflow: hidden; }
.hvt .hvt-qty .qty { width: 56px; min-height: 48px; border: 0; border-radius: 0; box-shadow: none; -moz-appearance: textfield; appearance: textfield; }
.hvt .hvt-qty .qty::-webkit-outer-spin-button, .hvt .hvt-qty .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.hvt .hvt-qty__btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; min-height: 48px; padding: 0; border: 0; border-radius: 0; background: var(--hvt-cream); color: var(--hvt-navy); font-size: 20px; font-weight: 600; line-height: 1; cursor: pointer; }
.hvt .hvt-qty__btn:hover { background: var(--hvt-navy); color: #fff; }

.hvt-single__assure { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; margin: 0 0 18px; padding: 0; list-style: none; }
.hvt-single__assure li { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border: 1px solid var(--hvt-border); border-radius: var(--hvt-radius); background: #fff; }
.hvt-single__assure .hvt-icon { width: 24px; height: 24px; margin-top: 1px; color: var(--hvt-gold); }
.hvt-single__assure li > span { display: flex; flex-direction: column; font-size: 12.5px; line-height: 1.4; color: var(--hvt-muted); }
.hvt-single__assure strong { color: var(--hvt-navy); font-size: 13.5px; font-weight: 700; }
.hvt .hvt-single__assure a { color: var(--hvt-navy); text-decoration: underline; text-underline-offset: 2px; }
.hvt .product_meta { display: flex; flex-wrap: wrap; gap: 4px 18px; padding-top: 14px; border-top: 1px solid var(--hvt-border); }
.hvt .product_meta > span { display: inline; }

.hvt .woocommerce-tabs { padding-top: 8px; }
.hvt .woocommerce-tabs ul.tabs { display: flex; gap: 2px; width: auto !important; float: none !important; margin: 0 0 22px !important; padding: 0; border: 0; border-bottom: 1px solid var(--hvt-border); overflow-x: auto; scrollbar-width: none; }
.hvt .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
.hvt .woocommerce-tabs ul.tabs li { display: block; margin: 0; border: 0 !important; box-shadow: none !important; }
.hvt .woocommerce-tabs ul.tabs li a { display: block; padding: 14px 18px; border-bottom: 3px solid transparent; color: var(--hvt-muted); font-size: 15px; font-weight: 600; white-space: nowrap; }
.hvt .woocommerce-tabs ul.tabs li.active a { border-bottom-color: var(--hvt-gold); color: var(--hvt-navy); }
.hvt .woocommerce-tabs .panel { width: auto !important; float: none !important; margin: 0 0 8px !important; padding: 26px 30px; max-width: 900px; border: 1px solid var(--hvt-border); border-radius: var(--hvt-radius-lg); background: #fff; }
.hvt .woocommerce-tabs .panel > :last-child { margin-bottom: 0; }
.hvt .woocommerce-tabs .panel h2 { font-size: 22px; margin-bottom: 12px; }
.hvt .woocommerce-tabs table.shop_attributes { margin: 0 0 12px; border: 0; }
.hvt .woocommerce-tabs table.shop_attributes th { width: 200px; padding: 10px 14px; background: var(--hvt-cream); color: var(--hvt-navy); font-family: var(--hvt-sans); font-weight: 600; text-align: left; border-bottom: 1px solid var(--hvt-border); }
.hvt .woocommerce-tabs table.shop_attributes td { padding: 10px 14px; font-style: normal; border-bottom: 1px solid var(--hvt-border); background: #fff; }
.hvt .woocommerce-tabs table.shop_attributes td p { margin: 0; padding: 0; }
.hvt .related.products, .hvt .upsells.products { margin-top: 34px; padding-top: 30px; border-top: 1px solid var(--hvt-border); }
.hvt .related.products > h2, .hvt .upsells.products > h2 { margin: 0 0 16px; font-size: clamp(26px, 2.7vw, 38px); }
.hvt #reviews #comments h2, .hvt #reviews .comment-reply-title { font-family: var(--hvt-sans); font-size: 18px; }

/* 21. Content pages ------------------------------------------------------- */
.hvt-content-page .hentry { margin-bottom: 40px; }
.hvt-content-page .hvt-page-hero { margin: 0 0 30px; min-height: 180px; }
.hvt-content-page .entry-content { max-width: none; font-size: 16px; line-height: 1.7; }
.hvt-content-page .entry-content > p,
.hvt-content-page .entry-content > ul,
.hvt-content-page .entry-content > ol,
.hvt-content-page .entry-content > h2,
.hvt-content-page .entry-content > h3,
.hvt-content-page .entry-content > .wp-block-shortcode,
.hvt-content-page .entry-content > dl,
.hvt-prose, .hvt-faq { max-width: 860px; }
.hvt-content-page .entry-content h2 { margin: 38px 0 14px; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.2; }
.hvt-content-page .entry-content > :first-child, .hvt-prose > :first-child, .hvt-faq > :first-child { margin-top: 0; }
.hvt-content-page .entry-content h3 { margin: 0 0 6px; font-family: var(--hvt-sans); font-size: 17px; font-weight: 700; color: var(--hvt-navy); }
.hvt-content-page .entry-content ul, .hvt-content-page .entry-content ol { margin: 0 0 18px 1.2em; }
.hvt-content-page .entry-content li { margin-bottom: 6px; }
.hvt-content-page .entry-content li::marker { color: var(--hvt-gold); }
.hvt-prose h2 { padding-top: 22px; border-top: 1px solid var(--hvt-border); }
.hvt-prose > p:first-child { font-size: 17px; color: var(--hvt-text); }

.hvt-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; margin: 0 0 12px; }
.hvt-tile { padding: 22px 22px 20px; border: 1px solid var(--hvt-border); border-top: 3px solid var(--hvt-gold); border-radius: var(--hvt-radius); background: #fff; box-shadow: var(--hvt-shadow); }
.hvt-tile--plain { border-top: 1px solid var(--hvt-border); background: transparent; box-shadow: none; }
.hvt-tile p { margin: 0; color: var(--hvt-muted); font-size: 14.5px; line-height: 1.55; }

.hvt-cta { margin: 40px 0 0; padding: 34px 28px; border-radius: var(--hvt-radius-lg); background: var(--hvt-navy); color: #fff; text-align: center; }
.hvt-content-page .entry-content .hvt-cta h2 { margin: 0 0 6px; color: var(--hvt-gold); border: 0; padding: 0; }
.hvt-cta p { margin: 0 0 16px; color: rgba(255, 255, 255, .9); }
.hvt-cta .wp-block-buttons { justify-content: center; display: flex; }
.hvt .wp-block-button__link { display: inline-flex; align-items: center; min-height: 46px; padding: .6em 1.8em; border-radius: 999px; background: var(--hvt-gold); color: var(--hvt-navy-dark); font-size: 14px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; }
.hvt .wp-block-button__link:hover { background: var(--hvt-gold-hover); color: var(--hvt-navy-dark); }

.hvt-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 28px; align-items: start; margin: 26px 0; }
.hvt-panel { padding: 26px 28px; border: 1px solid var(--hvt-border); border-radius: var(--hvt-radius-lg); background: #fff; box-shadow: var(--hvt-shadow); }

.hvt-store-details { margin: 0 0 18px; padding: 0; }
.hvt-store-details__row { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--hvt-border); }
.hvt-store-details__row:first-child { border-top: 1px solid var(--hvt-border); }
.hvt-store-details dt { margin: 0; color: var(--hvt-navy); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.hvt-store-details dd { margin: 0; color: var(--hvt-text); }
.hvt .hvt-store-details a { color: var(--hvt-navy); text-decoration: underline; text-underline-offset: 2px; }

.hvt-faq details { margin: 0 0 10px; border: 1px solid var(--hvt-border); border-radius: var(--hvt-radius); background: #fff; }
.hvt-faq details[open] { border-color: var(--hvt-gold); box-shadow: var(--hvt-shadow); }
.hvt-faq summary { position: relative; padding: 16px 52px 16px 20px; color: var(--hvt-navy); font-size: 16px; font-weight: 600; cursor: pointer; list-style: none; }
.hvt-faq summary::-webkit-details-marker { display: none; }
.hvt-faq summary::after { content: "+"; position: absolute; top: 50%; right: 18px; transform: translateY(-50%); width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--hvt-cream); color: var(--hvt-navy); font-size: 18px; font-weight: 600; line-height: 1; }
.hvt-faq details[open] summary::after { content: "–"; background: var(--hvt-gold); }
.hvt-faq details > :not(summary) { margin: 0 20px 16px; color: var(--hvt-text); }
.hvt-faq details > .wp-block-shortcode, .hvt-faq details > dl { margin: 0 20px 16px; }

mark.hvt-confirm { padding: 1px 5px; border-radius: 4px; background: #fff3cd; color: #5c4400; box-shadow: inset 0 0 0 1px #e6c766; font-weight: 600; }
.hvt-confirm-notice { margin: 0 0 22px; padding: 12px 16px; border: 1px dashed #c99a1d; border-radius: var(--hvt-radius); background: #fff8e1; color: #5c4400; font-size: 14px; }
.hvt .hvt-confirm-notice a { margin-left: 8px; color: var(--hvt-navy); text-decoration: underline; }

/* 22. Forms: Contact Form 7 ------------------------------------------------ */
.hvt .wpcf7 form p { margin: 0 0 14px; }
.hvt .wpcf7 label { display: block; color: var(--hvt-navy); font-size: 14px; font-weight: 600; }
.hvt .wpcf7 .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
.hvt .wpcf7 input.wpcf7-text, .hvt .wpcf7 input.wpcf7-email, .hvt .wpcf7 input.wpcf7-tel, .hvt .wpcf7 textarea, .hvt .wpcf7 select { width: 100%; box-sizing: border-box; padding: 10px 14px; font-weight: 400; }
.hvt .wpcf7 input.wpcf7-submit { background: var(--hvt-gold); color: var(--hvt-navy-dark); font-weight: 700; padding: .7em 2em; }
.hvt .wpcf7 input.wpcf7-submit:hover { background: var(--hvt-gold-hover); }
.hvt .wpcf7 .wpcf7-not-valid-tip { margin-top: 5px; color: var(--hvt-danger); font-size: 13px; font-weight: 500; }
.hvt .wpcf7 form .wpcf7-response-output { margin: 12px 0 0; padding: 10px 14px; border-radius: var(--hvt-radius); font-size: 14px; }
/* newsletter band: email + button joined on one line */
.hvt .hvt-newsletter__form .wpcf7-form { display: block; }
.hvt .hvt-newsletter__form .wpcf7-form > p { display: flex; align-items: flex-start; position: relative; margin: 0; }
.hvt .hvt-newsletter__form .wpcf7-form br { display: none; }
.hvt .hvt-newsletter__form .wpcf7-form label { color: #fff; }
.hvt .hvt-newsletter__form .wpcf7-form-control-wrap { flex: 1 1 auto; min-width: 0; margin: 0; }
.hvt .hvt-newsletter__form input.wpcf7-email { height: 48px; border-radius: var(--hvt-radius) 0 0 var(--hvt-radius) !important; }
.hvt .hvt-newsletter__form input.wpcf7-submit { flex: 0 0 auto; height: 48px; min-height: 48px; }
.hvt .hvt-newsletter__form .wpcf7-spinner { position: absolute; right: 8px; top: 12px; margin: 0; }
.hvt .hvt-newsletter__form .wpcf7-not-valid-tip { color: #ffb4ab; }
.hvt .hvt-newsletter__form .wpcf7 form .wpcf7-response-output { color: #fff; }

/* 23. Mobile refinements --------------------------------------------------- */
@media (max-width: 1279px) {
	.hvt .hvt-menu > li > a { font-size: 13px; }
	.hvt .hvt-menu { gap: 2px; }
}
@media (max-width: 991px) {
	/* Top bar: centred, wraps onto two short lines instead of scrolling */
	.hvt .hvt-menu > li > a { font-size: 16px; }

	.hvt.single-product div.product { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.hvt.single-product div.product .woocommerce-product-gallery { position: static; }
	.hvt-split { grid-template-columns: minmax(0, 1fr); }
	.hvt-archive-hero, .hvt-page-hero { padding: 28px 24px; min-height: 170px; }
}
@media (max-width: 767px) {
	.hvt-archive-hero { flex-direction: column; align-items: stretch; padding: 0; }
	.hvt-archive-hero__copy, .hvt-archive-hero.has-image .hvt-archive-hero__copy { max-width: none; padding: 22px 20px 24px; order: 2; }
	.hvt-archive-hero__media { position: relative; width: 100%; height: 130px; order: 1; }
	.hvt-archive-hero__media img { -webkit-mask-image: linear-gradient(to bottom, #000 55%, transparent 100%); mask-image: linear-gradient(to bottom, #000 55%, transparent 100%); }
	.hvt-archive-hero:not(.has-image) { padding: 24px 20px; }
	.hvt-archive-hero:not(.has-image) .hvt-archive-hero__copy { padding: 0; }
	.hvt-subcats ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.hvt .hvt-subcat { padding: 8px; gap: 8px; }
	.hvt-subcat__media { flex-basis: 44px; width: 44px; height: 44px; }
	.hvt-subcat__text strong { font-size: 13px; }
	.hvt .woocommerce-tabs .panel { padding: 18px 16px; }
	.hvt .woocommerce-tabs table.shop_attributes th { width: 38%; }
	.hvt-store-details__row { grid-template-columns: minmax(0, 1fr); gap: 2px; }
	.hvt-panel { padding: 20px 16px; }
	.hvt-content-page .entry-content { font-size: 15.5px; }
	.hvt.single-product div.product form.cart .single_add_to_cart_button { flex: 1 1 140px; }

	/* Trust icons: always two columns */
	.hvt-benefits { padding: 20px 0; }
	.hvt-benefits__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 10px; }
	.hvt-benefits__list li { align-items: flex-start; justify-content: flex-start; gap: 10px; padding: 0; border-left: 0; }
	.hvt-benefits .hvt-icon { width: 30px; height: 30px; }
	.hvt-benefits span { font-size: 12px; }
	.hvt-benefits strong { font-size: 13.5px; }
}
@media (max-width: 479px) {
	.hvt .hvt-newsletter__form input.wpcf7-submit, .hvt .hvt-newsletter__form .mailpoet_submit { padding: 0 18px !important; }
}

/* v1.2 fixes after visual review */
.hvt-page-hero { flex-direction: column; align-items: flex-start; justify-content: center; }
.hvt-tiles > .wp-block-group__inner-container,
.hvt-split > .wp-block-group__inner-container { display: contents; }
.hvt-content-page .entry-content > .hvt-prose,
.hvt-content-page .entry-content > .hvt-faq { margin-left: auto; margin-right: auto; }
.hvt .woocommerce-tabs .panel { width: 100% !important; box-sizing: border-box; }
.hvt-archive-hero__media img { object-position: center; }
.hvt-tiles--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 991px) { .hvt-tiles--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 479px) { .hvt-tiles--4 { grid-template-columns: minmax(0, 1fr); } }
.hvt ul.products li.product .hvt-card__actions .button { white-space: nowrap; justify-content: center; text-align: center; }
@media (max-width: 767px) {
	.hvt ul.products li.product .hvt-card__actions .button { font-size: 12.5px; padding: .5em .3em; letter-spacing: 0; }
	.hvt-content-page .entry-content { font-size: 15px; line-height: 1.65; }
	.hvt-prose > p:first-child { font-size: 15.5px; }
	.hvt .hvt-section-title { font-size: 24px; }
	.hvt-faq summary { font-size: 15px; padding: 14px 48px 14px 16px; }
	.hvt-tile { padding: 18px 16px 16px; }
}

/* ==========================================================================
   v1.4 — 24 Page header · 25 Product image · 26 Information page templates
   ========================================================================== */

/* 24. Page header: centred title with a small wheat ornament — no boxed banner */
.hvt .woocommerce-products-header { margin: 0 !important; padding: 0 !important; text-align: center !important; }
.hvt-pagehead { max-width: 780px; margin: 0 auto 26px; padding: 14px 0 0; text-align: center; }
.hvt .hvt-pagehead__back { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 14px; color: #9a6c08; font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.hvt .hvt-pagehead__back:hover { color: var(--hvt-navy); }
.hvt-pagehead__ornament { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 0 0 10px; color: var(--hvt-gold); }
.hvt-pagehead__ornament::before, .hvt-pagehead__ornament::after { content: ""; width: 64px; height: 1px; background: currentColor; opacity: .75; }
.hvt-pagehead__ornament .hvt-icon { width: 26px; height: 26px; }
.hvt-pagehead__image { display: block; width: 88px; height: 88px; margin: 0 auto 14px; overflow: hidden; border-radius: 50%; background: #fff; box-shadow: 0 0 0 4px var(--hvt-cream), 0 0 0 5px var(--hvt-gold); }
.hvt-pagehead__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hvt .hvt-pagehead h1.hvt-pagehead__title,
.hvt .woocommerce-products-header h1.hvt-pagehead__title,
.hvt .entry-header h1.hvt-pagehead__title { margin: 0 auto; color: var(--hvt-navy); font-family: var(--hvt-serif); font-size: clamp(32px, 3.9vw, 54px); font-weight: 700; line-height: 1.1; text-align: center !important; }
.hvt-pagehead__intro { max-width: 620px; margin: 14px auto 0; color: var(--hvt-muted); font-size: 16px; line-height: 1.6; }
.hvt-pagehead__intro p { margin: 0 0 6px; }
.hvt-pagehead__intro p:last-child { margin-bottom: 0; }
.hvt-pagehead__meta { margin: 16px 0 0; color: var(--hvt-muted); font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.hvt-content-page .hvt-pagehead, .hvt-info .hvt-pagehead { margin-bottom: 34px; padding-bottom: 28px; border-bottom: 1px solid var(--hvt-border); max-width: none; }
.hvt-content-page .hvt-pagehead > *, .hvt-info .hvt-pagehead > * { max-width: 780px; margin-left: auto; margin-right: auto; }

/* archive: chips centred under the header, hairline before the grid, one pagination (bottom) */
.hvt .hvt-chips ul { flex-wrap: wrap; justify-content: center; white-space: normal; }
.hvt .hvt-chips { margin: 0 0 20px; overflow: visible; }
.hvt .hvt-subcats { max-width: 1040px; margin-left: auto; margin-right: auto; }
.hvt .hvt-subcats ul { justify-content: center; grid-template-columns: repeat(auto-fit, minmax(210px, 250px)); }
.hvt .storefront-sorting { padding-top: 16px; border-top: 1px solid var(--hvt-border); }
.hvt .storefront-sorting .woocommerce-pagination { display: none; }
.hvt ul.products ~ .storefront-sorting { padding-top: 22px; }
.hvt ul.products ~ .storefront-sorting .woocommerce-pagination { display: block; }

/* 25. Product page: one fixed-size, smaller image frame for every product */
.hvt.single-product div.product { grid-template-columns: minmax(0, 440px) minmax(0, 1fr); gap: 28px 56px; }
.hvt.single-product div.product .woocommerce-product-gallery { max-width: 440px; padding: 14px; }
.hvt.single-product div.product .woocommerce-product-gallery .flex-viewport { height: auto !important; }
.hvt.single-product div.product .woocommerce-product-gallery__wrapper { margin: 0; }
.hvt.single-product div.product .woocommerce-product-gallery__image { display: flex !important; align-items: center; justify-content: center; aspect-ratio: 1 / 1; overflow: hidden; background: #fff; }
.hvt.single-product div.product .woocommerce-product-gallery__image > a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.hvt.single-product div.product .woocommerce-product-gallery__image img:not(.zoomImg) { width: 100% !important; height: 100% !important; max-height: none; object-fit: contain; }
.hvt.single-product div.product .woocommerce-product-gallery .flex-control-thumbs { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 0; padding: 0; }
.hvt.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li { width: 64px !important; margin: 0 !important; float: none; }
.hvt.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img { aspect-ratio: 1 / 1; object-fit: contain; background: #fff; border-radius: 6px; }
.hvt.single-product div.product .summary { max-width: 720px; }

/* 26. Information page templates (page-templates/*.php) -------------------- */
.hvt-info { padding-bottom: 48px; }
.hvt-info__layout { display: grid; grid-template-columns: 264px minmax(0, 1fr); gap: 52px; align-items: start; max-width: 1140px; margin: 0 auto; }
.hvt-info__side { position: sticky; top: 20px; display: flex; flex-direction: column; gap: 16px; }
.hvt-info__body { font-size: 16px; line-height: 1.7; max-width: none; }
.hvt-info__body--wide { max-width: 1140px; margin: 0 auto; }
.hvt-info .hvt-info__body > .hvt-prose, .hvt-info .hvt-info__body > .hvt-faq { max-width: none; margin: 0; }
.hvt-info .hvt-info__body > p, .hvt-info .hvt-info__body > ul, .hvt-info .hvt-info__body > ol, .hvt-info .hvt-info__body > h2, .hvt-info .hvt-info__body > h3 { max-width: none; }
.hvt-info__body h2 { scroll-margin-top: 24px; }
.hvt-info__body > :first-child, .hvt-info__body > .wp-block-group > .wp-block-group__inner-container > :first-child { margin-top: 0; }
.hvt-info .hvt-prose h2:first-of-type { border-top: 0; padding-top: 0; }
.hvt-info .hvt-prose h2 { position: relative; }
.hvt-info .hvt-prose h2::after { content: ""; display: block; width: 44px; height: 3px; margin-top: 10px; border-radius: 2px; background: var(--hvt-gold); }

.hvt-toc { padding: 18px 20px 10px; border: 1px solid var(--hvt-border); border-radius: var(--hvt-radius); background: #fff; }
.hvt-toc__title { margin: 0 0 8px; color: var(--hvt-navy); font-size: 11.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.hvt-toc ol { margin: 0; padding: 0; list-style: none; }
.hvt-toc li { margin: 0; border-top: 1px solid var(--hvt-border); }
.hvt .hvt-toc a { display: block; padding: 9px 0; color: var(--hvt-text); font-size: 13.5px; line-height: 1.35; }
.hvt .hvt-toc a:hover { color: #9a6c08; }
.hvt-help { padding: 22px 20px; border-radius: var(--hvt-radius); background: var(--hvt-navy); color: #fff; }
.hvt-help p.hvt-help__title { margin: 0 0 6px; color: var(--hvt-gold); font-family: var(--hvt-serif); font-size: 22px; font-weight: 700; line-height: 1.2; }
.hvt-help p { margin: 0 0 12px; color: rgba(255, 255, 255, .88); font-size: 13.5px; line-height: 1.5; }
.hvt-help ul { margin: 0 0 14px; padding: 0; list-style: none; }
.hvt-help li { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: 13.5px; overflow-wrap: anywhere; }
.hvt-help .hvt-icon { width: 16px; height: 16px; color: var(--hvt-gold); }
.hvt .hvt-help li a { color: #fff; }
.hvt .hvt-help li a:hover { color: var(--hvt-gold); }

/* About */
.hvt-split--story { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 44px; margin-top: 0; }
.hvt-info .hvt-split--story h2 { margin-top: 0; }
.hvt-split--story .hvt-split__col:first-child p:first-of-type { font-size: 18px; line-height: 1.65; }
.hvt-split--story .hvt-panel h3 { margin-bottom: 10px; font-family: var(--hvt-serif); font-size: 24px; }
.hvt-split--story .hvt-panel .wp-block-buttons { margin-top: 4px; }
.hvt-tiles--numbered { counter-reset: hvt-n; }
.hvt-tiles--numbered .hvt-tile { counter-increment: hvt-n; padding: 6px 4px 0 0; border: 0; border-top: 2px solid var(--hvt-navy); border-radius: 0; background: transparent; }
.hvt-tiles--numbered .hvt-tile::before { content: "0" counter(hvt-n); display: block; margin: 12px 0 6px; color: var(--hvt-gold); font-family: var(--hvt-serif); font-size: 30px; font-weight: 700; line-height: 1; }
.hvt-info .hvt-info__body--wide > h2, .hvt-info .hvt-info__body--wide .hvt-split h2 { font-size: clamp(24px, 2.5vw, 34px); }
.hvt-info .hvt-info__body--wide > h2 { margin-top: 48px; }

@media (max-width: 991px) {
	.hvt.single-product div.product { grid-template-columns: minmax(0, 1fr); }
	.hvt.single-product div.product .woocommerce-product-gallery { max-width: 380px; margin: 0 auto !important; }
	.hvt-info__layout { display: flex; flex-direction: column; gap: 22px; }
	.hvt-info__side { display: contents; }
	.hvt-toc { order: 1; width: 100%; box-sizing: border-box; }
	.hvt-info__body { order: 2; width: 100%; }
	.hvt-help { order: 3; width: 100%; box-sizing: border-box; }
	.hvt-split--story { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 767px) {
	.hvt-pagehead { margin-bottom: 20px; padding-top: 6px; }
	.hvt-pagehead__ornament::before, .hvt-pagehead__ornament::after { width: 40px; }
	.hvt-pagehead__intro { font-size: 15px; }
	.hvt-pagehead__image { width: 72px; height: 72px; }
	.hvt .hvt-chips { overflow-x: auto; margin-right: calc(var(--hvt-gutter) * -1); margin-left: calc(var(--hvt-gutter) * -1); padding: 0 var(--hvt-gutter); }
	.hvt .hvt-chips ul { flex-wrap: nowrap; justify-content: flex-start; white-space: nowrap; }
	.hvt .hvt-subcats ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hvt-info__body { font-size: 15px; }
	.hvt-split--story .hvt-split__col:first-child p:first-of-type { font-size: 16.5px; }
	.hvt.single-product div.product .woocommerce-product-gallery { max-width: 320px; }
}

/* ==========================================================================
   v1.5 — 27 Hero (upgraded) · 28 Category row · 29 Banners · 30 Age notice
   ========================================================================== */

/* 27. Hero: larger photograph, supporting text, range markers, benefits bar -- */
.hvt-hero::before {
	background:
		radial-gradient(120% 90% at 0% 0%, rgba(255, 255, 255, .06), transparent 60%),
		radial-gradient(rgba(229, 170, 46, .16) 1px, transparent 1.4px) 0 0 / 22px 22px,
		var(--hvt-navy);
	-webkit-mask-image: none; mask-image: none;
}
.hvt-hero__media { width: 66%; }
.hvt-hero__media img { object-position: 70% center; -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, .55) 18%, #000 34%); mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, .55) 18%, #000 34%); }
.hvt-hero.has-image::after { height: 190px; }
.hvt-hero__inner { min-height: 600px; padding-top: 56px; padding-bottom: 132px; justify-content: center; }
.hvt-hero__copy { position: relative; z-index: 1; max-width: 640px; }
.hvt-hero__eyebrow { display: flex; align-items: center; gap: 14px; margin: 0 0 14px; font-size: 15px; font-weight: 600; letter-spacing: .22em; }
.hvt-hero__eyebrow::before { content: ""; flex: 0 0 36px; height: 2px; border-radius: 2px; background: var(--hvt-gold); }
.hvt .hvt-hero__title { margin: 0 0 18px; font-size: clamp(34px, 4.7vw, 68px); line-height: 1.05; text-shadow: 0 2px 18px rgba(3, 27, 54, .45); }
.hvt-hero__text { max-width: 520px; margin: 0 0 26px; color: rgba(255, 255, 255, .93); font-size: 17.5px; line-height: 1.6; text-shadow: 0 1px 10px rgba(3, 27, 54, .6); }

.hvt-hero__markers { display: flex; flex-wrap: wrap; gap: 14px 26px; margin: 0 0 32px; padding: 0; list-style: none; }
.hvt-hero__markers li { margin: 0; }
.hvt .hvt-hero__marker { display: flex; flex-direction: column; align-items: center; gap: 9px; min-width: 64px; color: #fff; text-align: center; }
.hvt-hero__marker-icon { display: flex; align-items: center; justify-content: center; width: 60px; height: 60px; overflow: hidden; border-radius: 50%; background: rgba(3, 27, 54, .6); box-shadow: inset 0 0 0 1.5px var(--hvt-gold), 0 6px 18px rgba(3, 27, 54, .35); color: var(--hvt-gold); transition: background-color .2s ease, color .2s ease, transform .2s ease; }
.hvt-hero__marker-icon .hvt-icon { width: 28px; height: 28px; stroke-width: 1.5; }
.hvt-hero__marker-icon img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hvt-hero__marker-label { font-size: 11.5px; font-weight: 600; letter-spacing: .14em; line-height: 1.3; text-transform: uppercase; text-shadow: 0 1px 8px rgba(3, 27, 54, .7); }
.hvt a.hvt-hero__marker:hover { color: var(--hvt-gold); }
.hvt a.hvt-hero__marker:hover .hvt-hero__marker-icon { background: var(--hvt-gold); color: var(--hvt-navy-dark); transform: translateY(-2px); }
.hvt .hvt-hero__cta { min-height: 54px; padding: .85em 2.2em; font-size: 15.5px; box-shadow: 0 10px 26px rgba(3, 27, 54, .4); }

.hvt-hero__benefits-bar { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; border-top: 1px solid rgba(229, 170, 46, .38); background: linear-gradient(to top, rgba(3, 27, 54, .95), rgba(3, 27, 54, .8)); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); }
.hvt-hero .hvt-hero__benefits { margin: 0 auto; padding-top: 18px; padding-bottom: 18px; }
.hvt-hero.has-image .hvt-hero__benefits li { text-shadow: none; }

/* subtle decorative details */
.hvt-hero__deco { position: absolute; z-index: -1; pointer-events: none; color: var(--hvt-gold); line-height: 0; }
.hvt-hero__deco .hvt-icon { width: 100%; height: 100%; }
.hvt-hero__deco--sprig-a { left: -46px; bottom: 54px; width: 230px; height: 230px; opacity: .1; transform: rotate(-24deg); }
.hvt-hero__deco--sprig-b { left: 36%; top: -58px; width: 190px; height: 190px; opacity: .13; transform: rotate(156deg); }
.hvt-hero__deco--arc { left: 27%; top: -300px; width: 620px; height: 620px; border: 1px solid rgba(229, 170, 46, .3); border-radius: 50%; box-shadow: 0 0 0 26px rgba(229, 170, 46, .045), inset 0 0 0 1px rgba(229, 170, 46, .08); }

@media (max-width: 1279px) {
	.hvt-hero__inner { min-height: 540px; }
	.hvt-hero__markers { gap: 12px 20px; }
}
@media (max-width: 991px) {
	.hvt-hero__media { position: relative; width: 100%; height: 360px; }
	.hvt-hero__media img { object-position: 72% center; -webkit-mask-image: linear-gradient(to bottom, #000 58%, transparent 100%); mask-image: linear-gradient(to bottom, #000 58%, transparent 100%); }
	.hvt-hero.has-image::after { display: none; }
	.hvt-hero__inner { min-height: 0; padding-top: 30px; padding-bottom: 30px; }
	.hvt-hero.has-image .hvt-hero__inner { margin-top: -54px; padding-top: 0; }
	.hvt-hero__copy { max-width: 620px; }
	.hvt-hero__eyebrow { font-size: 13px; }
	.hvt-hero__text { font-size: 16px; margin-bottom: 22px; }
	.hvt-hero__markers { margin-bottom: 26px; }
	.hvt-hero__benefits-bar { position: static; -webkit-backdrop-filter: none; backdrop-filter: none; background: var(--hvt-navy-dark); }
	.hvt-hero .hvt-hero__benefits { margin: 0 auto; padding-top: 18px; padding-bottom: 18px; }
	.hvt-hero__deco--sprig-b, .hvt-hero__deco--arc { display: none; }
	.hvt-hero__deco--sprig-a { left: auto; right: -40px; bottom: 150px; width: 190px; height: 190px; opacity: .09; }
}
@media (max-width: 767px) {
	.hvt-hero__media { height: 290px; }
	.hvt-hero__markers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 420px; }
	.hvt .hvt-hero__marker { min-width: 0; gap: 7px; }
	.hvt-hero__marker-icon { width: 52px; height: 52px; }
	.hvt-hero__marker-icon .hvt-icon { width: 24px; height: 24px; }
	.hvt-hero__marker-label { font-size: 10px; letter-spacing: .08em; }
	.hvt .hvt-hero__cta { width: 100%; max-width: 420px; }
}
@media (max-width: 479px) {
	.hvt-hero__media { height: 250px; }
	.hvt-hero__eyebrow::before { flex-basis: 24px; }
	.hvt-hero__text { font-size: 15.5px; }
}

/* 28. Category row: swipe / arrows / progress ------------------------------ */
.hvt-cats__scroller { position: relative; }
.hvt .hvt-cats__arrow { position: absolute; top: 40%; z-index: 3; display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 0; border: 1px solid var(--hvt-border); border-radius: 50%; background: #fff; color: var(--hvt-navy); box-shadow: 0 4px 14px rgba(16, 29, 50, .18); cursor: pointer; transform: translateY(-50%); }
.hvt .hvt-cats__arrow[hidden], .hvt-cats__progress[hidden] { display: none; }
.hvt .hvt-cats__arrow:hover { background: var(--hvt-navy); border-color: var(--hvt-navy); color: #fff; }
.hvt-cats__arrow--prev { left: -10px; }
.hvt-cats__arrow--next { right: -10px; }
.hvt-cats__arrow .hvt-icon { width: 20px; height: 20px; }
.hvt-cats__arrow--prev .hvt-icon { transform: rotate(90deg); }
.hvt-cats__arrow--next .hvt-icon { transform: rotate(-90deg); }
.hvt-cats__progress { height: 4px; margin: 12px auto 0; max-width: 160px; overflow: hidden; border-radius: 4px; background: var(--hvt-border); }
.hvt-cats__progress span { display: block; height: 100%; border-radius: 4px; background: var(--hvt-gold); will-change: transform; }
.hvt-cats__list:focus-visible { outline: 2px solid var(--hvt-gold); outline-offset: 4px; }
@media (max-width: 991px) {
	.hvt-cats__list { gap: 10px; margin-right: calc(var(--hvt-gutter) * -1); margin-left: calc(var(--hvt-gutter) * -1); padding: 2px var(--hvt-gutter) 6px; scroll-padding-left: var(--hvt-gutter); scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; scrollbar-width: none; }
	.hvt-cats__list::-webkit-scrollbar { display: none; }
	.hvt-cat { flex: 0 0 23%; scroll-snap-align: start; }
	.hvt-cats__arrow--prev { left: -6px; }
	.hvt-cats__arrow--next { right: -6px; }
}
@media (max-width: 767px) {
	.hvt-cat { flex: 0 0 41%; }
	.hvt .hvt-cats__arrow { width: 38px; height: 38px; }
}

/* 29. Promo banners: fully clickable; one banner alone spans the row ------- */
.hvt-banner { transition: transform .2s ease, box-shadow .2s ease; }
.hvt-banner:hover { transform: translateY(-2px); box-shadow: var(--hvt-shadow-hover); }
.hvt-banner__cover { position: absolute; inset: 0; z-index: 2; }
.hvt-banner__copy { position: relative; z-index: 3; pointer-events: none; }
.hvt-banner__copy .hvt-banner__link { pointer-events: auto; }
.hvt-banners__grid--1 { grid-template-columns: minmax(0, 1fr); }
.hvt-banners__grid--1 .hvt-banner { min-height: 220px; }
.hvt-banners__grid--1 .hvt-banner__media { width: 55%; }
.hvt-banners__grid--1 .hvt-banner__copy { max-width: 520px; padding: 34px 44px; }
@media (max-width: 767px) {
	.hvt-banners__grid--1 .hvt-banner__media { width: 70%; }
	.hvt-banners__grid--1 .hvt-banner__copy { max-width: 80%; padding: 24px 22px; }
}

/* 30. Age-restricted products (dormant until enabled in Tools → Store Setup) */
.hvt-age-badge { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 10px; padding: 3px 10px; border-radius: 999px; background: var(--hvt-navy); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.hvt-age-note { margin: 0 0 16px; padding: 12px 14px; border: 1px solid var(--hvt-border); border-left: 4px solid var(--hvt-gold); border-radius: var(--hvt-radius); background: #fff; font-size: 14px; }
.hvt-age-form { margin: 0 0 26px; padding: 22px 24px; border: 1px solid var(--hvt-gold); border-radius: var(--hvt-radius-lg); background: #fff; box-shadow: var(--hvt-shadow); }
.hvt .hvt-age-form h2 { margin: 0 0 6px; font-size: 24px; }
.hvt-age-form p { margin: 0 0 14px; }
.hvt-age-form__dob { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 14px; }
.hvt-age-form__dob label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; font-weight: 600; color: var(--hvt-navy); }
.hvt .hvt-age-form__dob input { width: 92px; }
.hvt-age-form__confirm { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 16px; font-size: 14.5px; }
.hvt-age-form__confirm input { margin-top: 4px; }
.hvt-age-form__error { margin: 0 0 14px; padding: 10px 14px; border-left: 4px solid var(--hvt-danger); background: #fdecea; color: #7a1c14; font-weight: 600; }
.hvt-age-form__ok { margin: 0; color: var(--hvt-success); font-weight: 600; }

/* v1.5 fixes after visual review */
.hvt .hvt-hero__title { font-size: clamp(34px, 4.3vw, 62px); }
.hvt-hero__copy { max-width: 720px; }
.hvt-hero .hvt-hero__benefits { padding-left: var(--hvt-gutter); padding-right: var(--hvt-gutter); }
@media (max-width: 479px) { .hvt .hvt-hero__title { font-size: 30px; } }

/* ==========================================================================
   v1.6 — Hero matched to the client's updated visual
   Full-bleed photograph behind the copy; eyebrow with gold rule beneath;
   headline; supporting text; four photo markers; Shop Now; benefits along the
   bottom (icon above text, four across — also on phones); gold leaf sprig.
   Mobile header: logo centred between the menu button and account/basket.
   ========================================================================== */
.hvt-hero::before { background: var(--hvt-navy-dark); }
.hvt-hero.has-image::after { display: none; }
.hvt-hero__media { position: absolute; inset: 0; width: 100%; height: auto; z-index: -1; }
.hvt-hero__media picture { display: block; width: 100%; height: 100%; }
.hvt-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: right center; -webkit-mask-image: none; mask-image: none; }
.hvt-hero__media::after { content: ""; position: absolute; inset: 0; pointer-events: none;
	background:
		linear-gradient(90deg, rgba(3, 27, 54, .93) 0%, rgba(3, 27, 54, .78) 24%, rgba(3, 27, 54, .32) 46%, rgba(3, 27, 54, 0) 62%),
		linear-gradient(to top, rgba(3, 27, 54, .92) 0%, rgba(3, 27, 54, .45) 16%, rgba(3, 27, 54, 0) 34%); }

.hvt-hero__deco--sprig-a, .hvt-hero__deco--sprig-b, .hvt-hero__deco--arc { display: none; }
.hvt-hero__deco--leaf { top: -14px; left: -22px; z-index: 0; width: 190px; height: auto; opacity: .5; transform: rotate(98deg); transform-origin: 50% 50%; }
.hvt-hero__deco--leaf svg { display: block; width: 100%; height: auto; }

.hvt-hero__inner { min-height: 620px; padding-top: 70px; padding-bottom: 150px; }
.hvt-hero__eyebrow { display: block; margin: 0 0 18px; color: var(--hvt-gold); font-size: 15px; font-weight: 500; letter-spacing: .32em; }
.hvt-hero__eyebrow::before { content: none; }
.hvt-hero__eyebrow::after { content: ""; display: block; width: 48px; height: 2px; margin-top: 12px; border-radius: 2px; background: var(--hvt-gold); }
.hvt-hero__markers { gap: 14px 30px; }
.hvt-hero__marker-icon { width: 84px; height: 84px; background: var(--hvt-navy-dark); box-shadow: 0 0 0 2px var(--hvt-gold), 0 8px 22px rgba(3, 27, 54, .45); }
.hvt-hero__marker-icon .hvt-icon { width: 34px; height: 34px; }
.hvt-hero__marker-label { font-size: 12px; letter-spacing: .16em; }
.hvt a.hvt-hero__marker:hover .hvt-hero__marker-icon { background: var(--hvt-navy-dark); color: var(--hvt-gold); box-shadow: 0 0 0 3px var(--hvt-gold), 0 10px 26px rgba(3, 27, 54, .5); transform: translateY(-3px); }
.hvt .hvt-hero__cta { min-width: 250px; justify-content: center; gap: 1em; }

.hvt-hero__benefits-bar { border-top: 0; background: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.hvt-hero .hvt-hero__benefits { padding-top: 22px; padding-bottom: 26px; }
.hvt-hero .hvt-hero__benefits li { border-left-color: rgba(255, 255, 255, .28); }
.hvt-hero.has-image .hvt-hero__benefits li { text-shadow: 0 1px 8px rgba(3, 27, 54, .8); }

@media (max-width: 991px) {
	/* Header: [menu]  [logo centred]  [account basket] */
	.hvt-header__inner { grid-template-columns: 1fr auto 1fr; }
	.hvt-header__menu-btn { justify-self: start; }
	.hvt-header__brand { justify-self: center; }
	.hvt-header__actions { justify-self: end; }

	.hvt-hero__media { position: absolute; inset: 0; width: 100%; height: auto; }
	.hvt-hero__media img { object-position: right top; -webkit-mask-image: none; mask-image: none; }
	.hvt-hero__media::after { background:
		linear-gradient(90deg, rgba(3, 27, 54, .9) 0%, rgba(3, 27, 54, .7) 36%, rgba(3, 27, 54, .22) 62%, rgba(3, 27, 54, 0) 82%),
		linear-gradient(to top, rgba(3, 27, 54, .96) 0%, rgba(3, 27, 54, .62) 20%, rgba(3, 27, 54, 0) 42%); }
	.hvt-hero__inner, .hvt-hero.has-image .hvt-hero__inner { min-height: 0; margin-top: 0; padding-top: clamp(64px, 17vw, 130px); padding-bottom: 26px; }
	.hvt-hero__copy { max-width: none; }
	.hvt-hero__deco--leaf { display: block; left: -18px; right: auto; top: -10px; bottom: auto; width: clamp(96px, 26vw, 170px); height: auto; opacity: .55; }

	.hvt-hero__eyebrow { margin-bottom: 14px; font-size: clamp(11px, 2.9vw, 15px); letter-spacing: .3em; }
	.hvt-hero__eyebrow::after { width: 38px; margin-top: 10px; }
	.hvt .hvt-hero__title { max-width: 62%; margin-bottom: 14px; font-size: clamp(33px, 9.7vw, 64px); line-height: 1.06; }
	.hvt-hero__text { max-width: min(66%, 420px); margin-bottom: 20px; font-size: clamp(14px, 3.6vw, 18px); line-height: 1.5; }
	.hvt-hero__markers { display: flex; flex-wrap: nowrap; gap: clamp(10px, 3.2vw, 26px); max-width: none; margin-bottom: 22px; }
	.hvt .hvt-hero__marker { min-width: 0; gap: 8px; }
	.hvt-hero__marker-icon { width: clamp(50px, 13.4vw, 92px); height: clamp(50px, 13.4vw, 92px); }
	.hvt-hero__marker-icon .hvt-icon { width: 46%; height: 46%; }
	.hvt-hero__marker-label { font-size: clamp(8.5px, 2.2vw, 12px); letter-spacing: .12em; white-space: nowrap; }
	.hvt .hvt-hero__cta { width: auto; max-width: none; min-width: min(46%, 300px); min-height: clamp(46px, 11vw, 58px); padding: .7em 1.6em; font-size: clamp(13.5px, 3.5vw, 17px); }

	/* Benefits: four across, icon above text */
	.hvt-hero__benefits-bar { position: static; background: none; }
	.hvt-hero .hvt-hero__benefits { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 0 auto; padding-top: 10px; padding-bottom: 24px; }
	.hvt-hero .hvt-hero__benefits li, .hvt-hero .hvt-hero__benefits li:first-child { flex-direction: column; align-items: center; gap: 8px; padding: 2px 6px; border-left: 1px solid rgba(255, 255, 255, .26); text-align: center; }
	.hvt-hero .hvt-hero__benefits li:first-child { border-left: 0; }
	.hvt-hero .hvt-hero__benefits .hvt-icon { width: clamp(24px, 6.4vw, 38px); height: clamp(24px, 6.4vw, 38px); }
	.hvt-hero .hvt-hero__benefits span { align-items: center; font-size: clamp(9.5px, 2.45vw, 13.5px); line-height: 1.35; }
	.hvt-hero .hvt-hero__benefits strong { font-size: clamp(10.5px, 2.75vw, 15.5px); line-height: 1.25; }
}
@media (max-width: 767px) {
	.hvt-hero__media { height: auto; }
	.hvt-hero__markers { display: flex; grid-template-columns: none; }
	.hvt .hvt-hero__cta { width: auto; max-width: none; }
}
@media (max-width: 479px) {
	.hvt-hero__media { height: auto; }
	.hvt .hvt-hero__title { font-size: clamp(33px, 9.7vw, 64px); }
	.hvt-hero__text { font-size: 14px; max-width: 68%; }
	.hvt-hero .hvt-hero__benefits { padding-left: 8px; padding-right: 8px; }
	.hvt-hero .hvt-hero__benefits li, .hvt-hero .hvt-hero__benefits li:first-child { padding: 2px 3px; }
}

/* v1.6 refinements: headline stacks as in the visual; slimmer corner sprig */
.hvt-hero__seg { white-space: nowrap; }
.hvt-hero__deco--leaf { top: 0; left: 0; width: 150px; opacity: .55; transform: none; }
@media (max-width: 991px) {
	.hvt .hvt-hero__title { max-width: none; }
	.hvt-hero__title .hvt-hero__seg { display: block; }
	.hvt-hero__inner, .hvt-hero.has-image .hvt-hero__inner { padding-top: clamp(76px, 20vw, 150px); }
	.hvt-hero__deco--leaf { top: 0; left: 0; width: clamp(58px, 15.5vw, 130px); opacity: .6; }
}
.hvt-hero__title .hvt-hero__seg { display: inline; }
.hvt-hero__deco--leaf { top: -6px; left: -4px; width: 118px; }
.hvt-hero__inner { padding-top: 104px; }
@media (max-width: 991px) {
	.hvt-hero__title .hvt-hero__seg { display: block; }
	.hvt-hero__deco--leaf { top: 0; left: 0; width: clamp(58px, 15.5vw, 130px); }
	.hvt-hero__inner, .hvt-hero.has-image .hvt-hero__inner { padding-top: clamp(76px, 20vw, 150px); }
}

/* v1.6.1 — hero markers: admin-only reminder to choose the marker photos ------ */
.hvt-hero__admin-note { display: inline-flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; margin: -8px 0 22px; padding: 7px 12px; border: 1px dashed rgba(229, 170, 46, .7); border-radius: 6px; background: rgba(3, 27, 54, .72); font-size: 12.5px; line-height: 1.4; color: rgba(255, 255, 255, .78); }
.hvt .hvt-hero__admin-note a { color: var(--hvt-gold); font-weight: 600; text-decoration: underline; }

/* v1.7 — information pages: edit link for administrators, FAQ questions anywhere -- */
.hvt-edit-note { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; justify-content: center; margin: 0 0 22px; padding: 8px 14px; border: 1px dashed #c99a1d; border-radius: var(--hvt-radius); background: #fff8e1; color: #5c4400; font-size: 13.5px; }
.hvt .hvt-edit-note a { color: var(--hvt-navy); font-weight: 600; text-decoration: underline; }
/* A "Details" (FAQ question) block added outside the FAQ group gets the same look. */
.hvt-info__body details.wp-block-details, .hvt-content-page .entry-content details.wp-block-details { margin: 0 0 10px; border: 1px solid var(--hvt-border); border-radius: var(--hvt-radius); background: #fff; }
.hvt-info__body details.wp-block-details[open], .hvt-content-page .entry-content details.wp-block-details[open] { border-color: var(--hvt-gold); box-shadow: var(--hvt-shadow); }
.hvt-info__body details.wp-block-details > summary, .hvt-content-page .entry-content details.wp-block-details > summary { position: relative; padding: 16px 52px 16px 20px; color: var(--hvt-navy); font-size: 16px; font-weight: 600; cursor: pointer; list-style: none; }
.hvt-info__body details.wp-block-details > summary::-webkit-details-marker, .hvt-content-page .entry-content details.wp-block-details > summary::-webkit-details-marker { display: none; }
.hvt-info__body details.wp-block-details > :not(summary), .hvt-content-page .entry-content details.wp-block-details > :not(summary) { margin: 0 20px 16px; }
.hvt-info__body details.wp-block-details > summary::after, .hvt-content-page .entry-content details.wp-block-details > summary::after { content: "+"; position: absolute; top: 50%; right: 18px; transform: translateY(-50%); width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--hvt-cream); color: var(--hvt-navy); font-size: 18px; font-weight: 600; line-height: 1; }
.hvt-info__body details.wp-block-details[open] > summary::after, .hvt-content-page .entry-content details.wp-block-details[open] > summary::after { content: "–"; background: var(--hvt-gold); }

/* ==========================================================================
   v1.8 — Header and footer restyled to the client's visuals.
   Cream throughout; navy serif headings; small gold rules; gold arrows beside
   links; icons on pale gold circles; socials in thin gold circles; very light
   botanical detailing; logo back in the footer beside the tagline.
   ========================================================================== */
:root {
	--hvt-gold-deep: #B5820F;                      /* gold for text on cream (3:1 at heading sizes) */
	--hvt-gold-soft: rgba(229, 170, 46, .17);
	--hvt-gold-line: rgba(229, 170, 46, .5);
	--hvt-gold-soft: color-mix(in srgb, var(--hvt-gold) 17%, transparent);
	--hvt-gold-line: color-mix(in srgb, var(--hvt-gold) 50%, transparent);
}

/* Botanical branch + world map (decorative) */
.hvt-branch { position: absolute; display: block; width: 200px; height: auto; color: var(--hvt-gold); opacity: .36; pointer-events: none; }
.hvt-sprite .l { fill: currentColor; fill-opacity: .16; }
.hvt-tagline__gold { color: var(--hvt-gold-deep); }

/* ---- Header -------------------------------------------------------------- */
.hvt-header-top { position: relative; overflow: hidden; background: var(--hvt-cream); isolation: isolate; }
.hvt-header-deco { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.hvt-branch--tl { top: -34px; left: -46px; transform: scaleY(-1) rotate(8deg); }
.hvt-branch--tr { top: -30px; right: -40px; transform: scale(-1, -1) rotate(4deg); }

.hvt-topbar { position: relative; z-index: 1; color: var(--hvt-navy); font-size: 12.5px; line-height: 1.35; border-bottom: 1px solid var(--hvt-border); }
.hvt-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 46px; padding-top: 6px; padding-bottom: 6px; }
.hvt-topbar__info { display: flex; align-items: center; margin: 0; padding: 0; list-style: none; white-space: nowrap; }
.hvt-topbar__info li { display: inline-flex; align-items: center; gap: 9px; margin: 0; }
.hvt-topbar__info li + li { margin-left: 18px; padding-left: 18px; border-left: 1px solid var(--hvt-gold-line); }
.hvt-topbar__ico { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--hvt-gold-soft); color: var(--hvt-gold-deep); }
.hvt-topbar__ico .hvt-icon { width: 15px; height: 15px; }
.hvt-topbar__text { font-weight: 500; }
.hvt-topbar__msg { margin: 0; color: var(--hvt-navy); font-weight: 500; white-space: nowrap; }

.hvt-header-top .hvt-header { position: relative; z-index: 1; background: transparent; }
.hvt .hvt-search__field { border-color: #e2dccd; box-shadow: 0 2px 10px rgba(16, 29, 50, .05); text-overflow: ellipsis; }
.hvt .hvt-search__field::placeholder { text-overflow: ellipsis; }
.hvt-cart-link__count { background: var(--hvt-gold); color: var(--hvt-navy-dark); }
.hvt .hvt-action:hover { color: var(--hvt-gold-deep); }

@media (max-width: 991px) {
	.hvt-topbar__msg { display: none; }
	.hvt-topbar__inner { justify-content: center; }
	.hvt-branch--tl, .hvt-branch--tr { width: 150px; }
	.hvt-cart-link__count { top: -7px; right: -11px; min-width: 21px; height: 21px; font-size: 11.5px; }
}
@media (max-width: 600px) {
	.hvt-topbar { font-size: 11px; }
	.hvt-topbar__inner { min-height: 0; padding-top: 8px; padding-bottom: 8px; }
	.hvt-topbar__info { width: 100%; justify-content: center; white-space: normal; }
	.hvt-topbar__info li { flex: 0 1 auto; min-width: 0; gap: 7px; }
	.hvt-topbar__info li:last-child { flex: none; }
	.hvt-topbar__info li + li { margin-left: 10px; padding-left: 10px; }
	.hvt-topbar__text { min-width: 0; }
	.hvt-topbar__ico { width: 25px; height: 25px; }
	.hvt-topbar__ico .hvt-icon { width: 14px; height: 14px; }
	.hvt-topbar__sep { display: none; }
	.hvt-topbar__part { display: block; max-width: 46vw; white-space: normal; }
	.hvt-branch--tl, .hvt-branch--tr { width: 120px; }
	.hvt-branch--tl { top: -26px; left: -40px; }
	.hvt-branch--tr { top: 30px; right: -46px; }
}
@media (max-width: 359px) {
	.hvt-topbar__info { flex-direction: column; align-items: flex-start; gap: 6px; }
	.hvt-topbar__info li + li { margin-left: 0; padding-left: 0; border-left: 0; }
}

/* ---- Footer -------------------------------------------------------------- */
.hvt-footer { position: relative; background: var(--hvt-cream); color: var(--hvt-text); font-size: 14px; border-top: 1px solid var(--hvt-gold-line); }
.hvt-footer .hvt-container { position: relative; z-index: 1; }

/* 1. Tagline */
.hvt-footer__top { position: relative; overflow: hidden; padding: 52px 0 6px; }
.hvt-branch--ftop { top: -20px; right: -10px; width: 260px; transform: scaleX(-1) rotate(-14deg); opacity: .34; }
.hvt-tagline { margin: 0; color: var(--hvt-navy); font-family: var(--hvt-serif); font-weight: 700; letter-spacing: 0; }
.hvt-footer__tagline { max-width: 17em; font-size: clamp(24px, 2.5vw, 34px); line-height: 1.22; text-wrap: balance; }
.hvt-footer__tagline::after { content: ""; display: block; width: 44px; height: 2px; margin-top: 18px; border-radius: 2px; background: var(--hvt-gold); }

/* 2. Columns */
.hvt-footer__cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1.1fr) minmax(0, 1.35fr); padding-top: 38px; padding-bottom: 46px; }
.hvt-fcol { min-width: 0; padding: 0 34px; border-left: 1px solid var(--hvt-gold-line); }
.hvt-fcol:first-child { padding-left: 0; border-left: 0; }
.hvt-fcol:last-child { padding-right: 0; }
.hvt .hvt-footer__title { margin: 0 0 14px; color: var(--hvt-navy); font-family: var(--hvt-serif); font-size: 23px; font-weight: 700; letter-spacing: 0; line-height: 1.2; }
.hvt .hvt-footer__title::after { content: ""; display: block; width: 36px; height: 2px; margin-top: 11px; border-radius: 2px; background: var(--hvt-gold); }

.hvt-footer__links { margin: 0; padding: 0; list-style: none; }
.hvt-footer__links li { margin: 0; }
.hvt-footer__links li + li { border-top: 1px solid var(--hvt-border); }
.hvt .hvt-footer__links a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 9px 2px; color: #33405a; font-size: 14.5px; line-height: 1.35; transition: color .2s ease, padding-left .2s ease; }
.hvt .hvt-footer__links a::after { content: ""; flex: none; width: 7px; height: 7px; margin-right: 3px; border-top: 1.8px solid var(--hvt-gold); border-right: 1.8px solid var(--hvt-gold); transform: rotate(45deg); transition: transform .2s ease; }
.hvt .hvt-footer__links a:hover { padding-left: 5px; color: var(--hvt-navy); text-decoration: none; }
.hvt .hvt-footer__links a:hover::after { transform: translateX(3px) rotate(45deg); }
.hvt .hvt-fcol--cats .hvt-footer__links a { font-size: 12.5px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }

.hvt-footer__contact-list { margin: 0; padding: 0; list-style: none; }
.hvt-footer__contact-list li { display: flex; align-items: center; gap: 13px; margin: 0 0 12px; color: #33405a; line-height: 1.45; }
.hvt-footer__contact-list li > span:last-child { min-width: 0; }
.hvt-footer__ico { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: var(--hvt-gold-soft); color: var(--hvt-navy); }
.hvt-footer__ico .hvt-icon { width: 18px; height: 18px; }
.hvt .hvt-footer__contact-list a { color: #33405a; }
.hvt .hvt-footer__contact-list a:hover { color: var(--hvt-navy); text-decoration: underline; }
.hvt-footer__social { display: flex; flex-wrap: wrap; gap: 14px; margin: 18px 0 0; padding: 18px 0 0; border-top: 1px solid var(--hvt-border); list-style: none; }
.hvt-footer__social li { margin: 0; }
.hvt .hvt-footer__social a { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border: 1.5px solid var(--hvt-gold); border-radius: 50%; color: var(--hvt-navy); transition: background-color .2s ease, transform .2s ease; }
.hvt .hvt-footer__social a:hover { background: var(--hvt-gold-soft); color: var(--hvt-navy); transform: translateY(-2px); }
.hvt-footer__social .hvt-icon { width: 20px; height: 20px; }

/* 3. Logo alongside the tagline */
.hvt-footer__brandbar { position: relative; overflow: hidden; border-top: 1px solid var(--hvt-gold-line); background: linear-gradient(rgba(229, 170, 46, .05), rgba(229, 170, 46, .05)), var(--hvt-cream); }
.hvt-branch--fleft { bottom: -44px; left: -34px; width: 230px; transform: rotate(-12deg); opacity: .34; }
.hvt-worldmap { position: absolute; top: 50%; right: 2%; width: min(340px, 26vw); height: auto; transform: translateY(-50%); pointer-events: none; }
.hvt-worldmap__land { fill: var(--hvt-gold); fill-opacity: .2; }
.hvt-worldmap__pins { fill: var(--hvt-gold); }
.hvt-worldmap__dot { fill: var(--hvt-cream); }
.hvt-footer__brandbar-inner { display: flex; align-items: center; justify-content: center; gap: 34px; padding-top: 34px; padding-bottom: 34px; }
.hvt-footer__logo { flex: none; line-height: 0; }
.hvt-footer__logo .hvt-logo--image img { max-height: 88px; }
.hvt-footer__logo .hvt-logo__name { font-size: 38px; }
.hvt-footer__brandline { max-width: 19em; text-wrap: balance; padding-left: 34px; border-left: 1px solid var(--hvt-gold-line); font-size: clamp(18.7px, 1.7vw, 23px); font-weight: 600; line-height: 1.3; }

/* 4. Copyright */
.hvt-footer__bottom { border-top: 1px solid var(--hvt-border); }
.hvt-footer__bottom-inner { display: flex; flex-direction: column; align-items: center; gap: 8px; padding-top: 16px; padding-bottom: 18px; color: var(--hvt-muted); font-size: 12.5px; text-align: center; }
.hvt-footer__bottom p { margin: 0; }
.hvt-footer__mark { line-height: 0; color: var(--hvt-gold); }
.hvt-footer__mark .hvt-icon { width: 20px; height: 20px; }

@media (max-width: 1199px) {
	.hvt-topbar__msg { display: none; }
	.hvt-topbar__inner { justify-content: center; }
	/* Less free space beside the logo and tagline: the map goes fainter and loses its pins. */
	.hvt-worldmap__pins { display: none; }
	.hvt-worldmap__land { fill-opacity: .14; }
	.hvt-fcol { padding: 0 24px; }
	.hvt .hvt-footer__title { font-size: 21px; }
}
@media (max-width: 991px) {
	.hvt-footer__top { padding-top: 42px; }
	.hvt-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; padding-top: 32px; padding-bottom: 40px; }
	.hvt-fcol, .hvt-fcol:last-child { padding: 0 0 0 30px; }
	.hvt-fcol:nth-child(odd) { padding: 0 30px 0 0; border-left: 0; }
	.hvt-branch--ftop { width: 210px; }
	.hvt-worldmap { right: -6%; width: 300px; }
}
@media (max-width: 600px) {
	.hvt-footer__top { padding-top: 34px; }
	.hvt-footer__tagline { font-size: 23px; }
	.hvt-footer__tagline::after { margin-top: 14px; }
	.hvt-branch--ftop { top: -14px; right: -34px; width: 170px; }
	.hvt-footer__cols { row-gap: 34px; padding-top: 28px; padding-bottom: 34px; }
	.hvt-fcol, .hvt-fcol:last-child { padding: 0 0 0 12px; }
	.hvt-fcol:nth-child(odd) { padding: 0 12px 0 0; }
	.hvt .hvt-footer__title { font-size: 19px; margin-bottom: 10px; }
	.hvt .hvt-footer__title::after { width: 30px; margin-top: 9px; }
	.hvt .hvt-footer__links a { font-size: 13.5px; gap: 8px; }
	.hvt .hvt-fcol--cats .hvt-footer__links a { font-size: 11.5px; letter-spacing: .07em; }
	.hvt-footer__contact-list li { gap: 8px; margin-bottom: 10px; font-size: 12px; }
	.hvt-footer__ico { width: 28px; height: 28px; }
	.hvt-footer__ico .hvt-icon { width: 15px; height: 15px; }
	.hvt-footer__social { gap: 8px; margin-top: 14px; padding-top: 16px; }
	.hvt .hvt-footer__social a { width: 44px; height: 44px; }
	.hvt-footer__brandbar-inner { gap: 16px; padding-top: 26px; padding-bottom: 26px; }
	.hvt-footer__brandline { padding-left: 16px; font-size: 15.5px; line-height: 1.35; }
	.hvt-footer__logo .hvt-logo--image img { max-height: 60px; }
	.hvt-footer__logo .hvt-logo__name { font-size: 24px; }
	.hvt-footer__logo .hvt-logo__mark .hvt-icon { width: 20px; height: 20px; }
	.hvt-footer__logo .hvt-logo__sub { font-size: 8.5px; gap: 5px; letter-spacing: .2em; }
	.hvt-footer__logo .hvt-logo__sub::before, .hvt-footer__logo .hvt-logo__sub::after { width: 10px; }
	.hvt-branch--fleft { bottom: -30px; left: -56px; width: 140px; opacity: .28; }
	/* Phones: the map sits behind the text, so it is fainter and without pins. */
	.hvt-worldmap { right: -22%; width: 230px; }
	.hvt-worldmap__land { fill-opacity: .12; }
}
@media (max-width: 379px) {
	.hvt .hvt-footer__title { font-size: 17px; }
	.hvt .hvt-footer__links a { font-size: 13px; }
	.hvt .hvt-fcol--cats .hvt-footer__links a { font-size: 11px; letter-spacing: .05em; }
	.hvt-footer__contact-list li { font-size: 11.5px; gap: 7px; }
	.hvt-footer__ico { width: 26px; height: 26px; }
	.hvt .hvt-footer__social a { width: 40px; height: 40px; }
	.hvt-footer__social { gap: 6px; }
}
@media (max-width: 359px) {
	.hvt-footer__brandbar-inner { flex-direction: column; gap: 14px; text-align: center; }
	.hvt-footer__brandline { padding: 14px 0 0; border-left: 0; border-top: 1px solid var(--hvt-gold-line); }
	/* Header: keep menu, logo, account and basket inside a 320px screen. */
	.hvt-header__inner { grid-template-columns: auto minmax(0, 1fr) auto; column-gap: 4px; }
	.hvt-header__actions { gap: 0; }
	.hvt-logo__name { font-size: 24px; }
	.hvt-logo--image img { max-height: 48px; }
}
@media (max-width: 339px) {
	/* Very narrow phones: one column, so nothing is squeezed. */
	.hvt-footer__cols { grid-template-columns: minmax(0, 1fr); }
	.hvt-fcol, .hvt-fcol:last-child, .hvt-fcol:nth-child(odd) { padding: 0; border-left: 0; }
	.hvt-footer__contact-list li { font-size: 13px; }
}
