/* ============================================================================
   Site footer (inc/features/site-footer.php) — wholesale v2.1.0
   Same stylesheet as the retail theme's hd-footer.css v1.7.3, plus the
   ".hd-footer__search" / ".hd-footer__input" / ".hd-footer__btn" rules (this
   site's footer has a search form where the retail footer has its newsletter
   form) and the support rows (phone + "line #3", e-mail) in the Contact column.
   ----------------------------------------------------------------------------
   The original footer arrangement, on a standard scale.

   Brand (unchanged): Montserrat · DM Serif Display (button) · Corinthia-Bold
   (script heading) · teal #025960 · ink #113D3C · orange #FC9E01 · the light
   green tint · the 1px rule in the brand green #345C2C.

   Scale
     spacing 8 / 16 / 24 / 32 / 48 (--hdf-s1 … --hdf-s6)
     type script 40 (32 phones) · lead 18 · headings 14 uppercase ·
                  body / links 14 · legal 12 — line-height 1.5
     controls 44px fields and buttons, 48px accordion rows on small screens
     width the site's content width (--global-content-width, 1290px)
     columns 35 / 20 / 20 / 25 % with a 32px gutter (as before)
   Breakpoints: ≥ 1025px four columns · ≤ 1024px stacked with the accordion
   (as before) · ≤ 767px phone paddings.
   ============================================================================ */

.hd-footer {
	--hdf-teal: #025960;
	--hdf-ink: #113d3c;
	--hdf-orange: #fc9e01;
	--hdf-orange-dark: #e48f01;
	--hdf-green: #345c2c;
	--hdf-bg: #f6faeb; /* the retail footer's 25 % green tint, as a solid colour (this site's Customizer paints #colophon black) */
	--hdf-line: rgba(2, 89, 96, 0.16);
	--hdf-muted: #2e6b70;
	--hdf-field: #c9d8d4;
	--hdf-font: Montserrat, sans-serif;
	--hdf-serif: "DM Serif Display", serif;
	--hdf-script: "Corinthia-Bold", Corinthia, cursive;
	--hdf-s1: 8px;
	--hdf-s2: 16px;
	--hdf-s3: 24px;
	--hdf-s4: 32px;
	--hdf-s5: 40px;
	--hdf-s6: 48px;
	--hdf-control: 44px;
	--hdf-target: 48px;
	--hdf-max: var(--global-content-width, 1290px);
	--hdf-edge: 24px;
	background: var(--hdf-bg);
	color: var(--hdf-teal);
	font-family: var(--hdf-font);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	clear: both;
}
/* Kadence's Customizer paints #colophon (black on this site): the theme footer keeps its own colours. */
#colophon.hd-footer,
.site-footer.hd-footer {
	background: var(--hdf-bg) !important;
	color: var(--hdf-teal);
	margin-bottom: 0 !important;
}
/* No white strip under the footer (v2.2.0).
   1. Kadence Shop Kit's product gallery appends an empty, absolutely positioned
      tooltip (.kt-gallery-icon-tooltip) to the end of <body>; its static spot is
      below the footer, so it stretched product pages by 18px of white. While the
      tooltip is not showing it is pinned to the top of the page instead (the
      plugin positions it inline when it opens, and inline styles win there).
   2. The canvas below the body is painted in the footer tint, so any other
      helper element a plugin parks after the footer shows the footer colour,
      not white (the top half stays white for the header / overscroll). */
.kt-gallery-icon-tooltip:not(.kt-gallery-icon-tooltip--visible) {
	top: 0 !important;
	left: 0 !important;
	visibility: hidden;
}
html {
	background: linear-gradient(#fff 50%, #f6faeb 50%) no-repeat;
}
.hd-footer *,
.hd-footer *::before,
.hd-footer *::after {
	box-sizing: border-box;
}
.hd-footer__inner {
	max-width: var(--hdf-max);
	margin: 0 auto;
	padding: 0 var(--hdf-edge);
}
.hd-footer :where(p, ul, h2) {
	margin: 0;
	padding: 0;
}
.hd-footer ul {
	list-style: none;
}
.hd-footer a {
	color: var(--hdf-teal);
	text-decoration: none;
	text-underline-offset: 3px;
	transition: color 0.15s ease;
}
.hd-footer a:hover {
	color: var(--hdf-ink);
	text-decoration: underline;
}
.hd-footer a:focus-visible,
.hd-footer button:focus-visible {
	outline: 2px solid var(--hdf-teal);
	outline-offset: 3px;
	border-radius: 4px;
}
.hd-footer img {
	display: block;
	max-width: 100%;
	height: auto;
	border: 0;
}
.hd-footer address {
	font-style: normal;
}

/* --- Top: the four columns ----------------------------------------------- */
.hd-footer__top {
	display: grid;
	grid-template-columns:
		minmax(0, calc(35% - 24px))
		minmax(0, calc(20% - 24px))
		minmax(0, calc(20% - 24px))
		minmax(0, calc(25% - 24px));
	gap: var(--hdf-s4);
	padding: var(--hdf-s6) 0 var(--hdf-s4);
}
.hd-footer__col {
	min-width: 0;
}
.hd-footer__col--brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

/* Column 1: newsletter */
.hd-footer__script {
	font-family: var(--hdf-script);
	font-size: 40px;
	font-weight: 400;
	line-height: 1.15;
	color: var(--hdf-ink);
	margin: 0 0 var(--hdf-s1);
}
.hd-footer__lead {
	margin: 0 0 var(--hdf-s2);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--hdf-ink);
}
.hd-footer__form {
	width: 100%;
	max-width: 360px;
}
.hd-footer__form .gform_wrapper,
.hd-footer__form .gform_wrapper form {
	margin: 0;
	max-width: none;
}
.hd-footer__form .gform_heading,
.hd-footer__form .gform_validation_container,
.hd-footer__form .gfield--type-honeypot,
.hd-footer__form .gform_required_legend,
.hd-footer__form .hidden_label .gfield_label {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.hd-footer__form .gform_wrapper .gform_fields {
	display: block;
}
.hd-footer__form .gform_wrapper .gfield,
.hd-footer__form .gform_wrapper .ginput_container {
	margin: 0;
	padding: 0;
}
.hd-footer__form .gform_wrapper input[type="email"],
.hd-footer__form .gform_wrapper input[type="text"] {
	display: block;
	width: 100% !important;
	max-width: 100%;
	height: var(--hdf-control) !important;
	min-height: 0;
	margin: 0;
	padding: 0 var(--hdf-s2) !important;
	border: 1px solid var(--hdf-field) !important;
	border-radius: 4px !important;
	background: #fff;
	color: var(--hdf-ink);
	font-family: var(--hdf-font) !important;
	font-size: 15px !important;
	line-height: normal !important;
	letter-spacing: 0;
	box-shadow: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.hd-footer__form .gform_wrapper input::placeholder {
	color: #7a8a88;
	opacity: 1;
}
.hd-footer__form .gform_wrapper input[type="email"]:focus,
.hd-footer__form .gform_wrapper input[type="text"]:focus {
	outline: none;
	border-color: var(--hdf-teal) !important;
	box-shadow: 0 0 0 3px rgba(2, 89, 96, 0.18);
}
.hd-footer__form .gform_wrapper .gform_footer {
	display: block;
	margin: var(--hdf-s2) 0 0;
	padding: 0;
}
.hd-footer__form .gform_wrapper .gform_footer .gform_button,
.hd-footer__form .gform_wrapper .gform_footer input[type="submit"] {
	display: inline-block;
	width: auto;
	min-width: 140px;
	height: var(--hdf-control);
	margin: 0;
	padding: 0 var(--hdf-s3);
	border: 0;
	border-radius: 22px;
	background: var(--hdf-orange);
	color: #fff;
	font-family: var(--hdf-serif);
	font-size: 17px;
	font-weight: 400;
	line-height: var(--hdf-control);
	letter-spacing: 0.01em;
	text-align: center;
	white-space: nowrap;
	box-shadow: none;
	cursor: pointer;
	transition: background-color 0.15s ease;
}
.hd-footer__form .gform_wrapper .gform_footer .gform_button:hover,
.hd-footer__form .gform_wrapper .gform_footer .gform_button:focus-visible {
	background: var(--hdf-orange-dark);
	color: #fff;
}
.hd-footer__form .gform_wrapper .gform_ajax_spinner {
	margin-left: var(--hdf-s1);
}
.hd-footer__form .gform_wrapper .validation_message,
.hd-footer__form .gform_wrapper .gform_validation_errors {
	margin: 0;
	padding: 6px 4px 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: #b3261e;
	font-size: 12px;
	line-height: 1.4;
}
.hd-footer__form .gform_wrapper .gform_validation_errors h2 {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
}
.hd-footer__form .gform_confirmation_message {
	font-size: 14px;
	font-weight: 600;
	color: var(--hdf-ink);
}

/* Column 1: the search form (same field / button scale as the newsletter form) */
.hd-footer__search {
	display: flex;
	flex-direction: column;
	gap: var(--hdf-s2);
	margin: 0;
}
.hd-footer .hd-footer__input {
	display: block;
	width: 100%;
	max-width: 100%;
	height: var(--hdf-control);
	min-height: 0;
	margin: 0;
	padding: 0 var(--hdf-s2);
	border: 1px solid var(--hdf-field);
	border-radius: 4px;
	background: #fff;
	color: var(--hdf-ink);
	font-family: var(--hdf-font);
	font-size: 15px;
	line-height: normal;
	letter-spacing: 0;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.hd-footer .hd-footer__input::placeholder {
	color: #7a8a88;
	opacity: 1;
}
.hd-footer .hd-footer__input:focus {
	outline: none;
	border-color: var(--hdf-teal);
	box-shadow: 0 0 0 3px rgba(2, 89, 96, 0.18);
}
.hd-footer .hd-footer__btn {
	display: inline-block;
	align-self: flex-start;
	width: auto;
	min-width: 140px;
	height: var(--hdf-control);
	margin: 0;
	padding: 0 var(--hdf-s3);
	border: 0;
	border-radius: 22px;
	background: var(--hdf-orange);
	color: #fff;
	font-family: var(--hdf-serif);
	font-size: 17px;
	font-weight: 400;
	line-height: var(--hdf-control);
	letter-spacing: 0.01em;
	text-align: center;
	text-transform: none;
	white-space: nowrap;
	box-shadow: none;
	cursor: pointer;
	transition: background-color 0.15s ease;
}
.hd-footer .hd-footer__btn:hover,
.hd-footer .hd-footer__btn:focus,
.hd-footer .hd-footer__btn:active {
	background: var(--hdf-orange-dark);
	color: #fff;
	box-shadow: none;
	transform: none;
}

/* Column 1: follow + logo */
.hd-footer__follow {
	margin-top: var(--hdf-s4);
}
.hd-footer__follow-title {
	margin: 0 0 var(--hdf-s1);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--hdf-ink);
}
.hd-footer__social {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
	margin-left: -4px;
}
.hd-footer__social-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--hdf-target);
	height: var(--hdf-target);
	color: var(--hdf-ink);
	border-radius: 50%;
	transition: transform 0.15s ease, color 0.15s ease;
}
.hd-footer__social-link:hover,
.hd-footer__social-link:focus-visible {
	color: var(--hdf-teal);
	text-decoration: none;
	transform: translateY(-2px);
}
.hd-footer__icon {
	display: block;
	width: 40px;
	height: 40px;
}
/* Google "Add to Preferred Sources": Google's publisher.js draws the button into
   this div's shadow root (the div itself stays :empty), so it is never hidden;
   the gap appears once the script has marked it data-initialized. */
.hd-footer__gsrc {
	display: flex;
	align-items: center;
	margin: 0;
}
.hd-footer__gsrc[data-initialized] {
	margin-top: var(--hdf-s2);
}
.hd-footer__logo {
	display: block;
	order: 10;
	width: 220px;
	max-width: 100%;
	margin-top: var(--hdf-s4);
}
.hd-footer__logo img {
	width: 100%;
	height: auto;
}
.hd-footer__logo:hover,
.hd-footer__logo:focus-visible {
	text-decoration: none;
}
/* Columns 2–4: headings + lists */
.hd-footer .hd-footer__heading {
	margin: 0 0 var(--hdf-s2);
	padding: 0;
	font-family: var(--hdf-font);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--hdf-ink);
}
.hd-footer__hlink {
	color: var(--hdf-ink);
}
.hd-footer__hbtn {
	display: none;
}
/* Kadence fills every <button> on hover / focus / active (btn-bg-hover + a shadow); the accordion headers stay plain. */
.hd-footer .hd-footer__hbtn:hover,
.hd-footer .hd-footer__hbtn:focus,
.hd-footer .hd-footer__hbtn:active {
	background: none;
	color: var(--hdf-ink);
	box-shadow: none;
	transform: none;
}
.hd-footer .hd-footer__hbtn:focus-visible {
	outline: 2px solid var(--hdf-teal);
	outline-offset: 2px;
}
.hd-footer__links li + li {
	margin-top: var(--hdf-s1);
}
.hd-footer__links a {
	display: inline-block;
	font-size: 14px;
	line-height: 1.5;
}

/* Contact */
.hd-footer__support {
	display: flex;
	flex-direction: column;
	margin: 0 0 var(--hdf-s2);
}
.hd-footer__support-label {
	color: var(--hdf-ink);
}
.hd-footer__support + .hd-footer__support {
	margin-top: calc(-1 * var(--hdf-s1));
}
.hd-footer__support-row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 0.35em;
}
.hd-footer__support-note {
	color: var(--hdf-muted);
}
.hd-footer .hd-footer__support-email {
	overflow-wrap: anywhere;
}
.hd-footer .hd-footer__support-phone,
.hd-footer .hd-footer__store-phone,
.hd-footer .hd-footer__store-name {
	align-self: flex-start;
	text-decoration: underline;
	text-decoration-color: rgba(2, 89, 96, 0.35);
}
.hd-footer .hd-footer__support-phone:hover,
.hd-footer .hd-footer__store-phone:hover,
.hd-footer .hd-footer__store-name:hover {
	text-decoration-color: currentColor;
}
.hd-footer__store {
	display: flex;
	flex-direction: column;
	line-height: 1.5;
}
.hd-footer__store + .hd-footer__store {
	margin-top: var(--hdf-s2);
}
.hd-footer .hd-footer__store-name {
	font-weight: 600;
	color: var(--hdf-ink);
}
.hd-footer__store-address {
	color: var(--hdf-muted);
}

/* --- Badges, rule, legal block -------------------------------------------- */
.hd-footer__badges {
	display: flex;
	justify-content: flex-end;
}
.hd-footer__badges a {
	display: block;
}
.hd-footer__badges img {
	width: 160px;
	height: auto;
}
.hd-footer__rule {
	display: block;
	width: 100%;
	height: 0;
	margin: var(--hdf-s3) 0;
	border: 0;
	border-top: 1px solid var(--hdf-green);
	background: none;
	opacity: 0.6;
}
.hd-footer__rule--top {
	display: none;
}
.hd-footer__legal {
	padding: 0 0 var(--hdf-s4);
	text-align: center;
}
.hd-footer__disclaimer {
	max-width: 1040px;
	margin: 0 auto;
	font-size: 12px;
	line-height: 1.5;
	color: var(--hdf-muted);
}
.hd-footer__disclaimer p + p {
	margin-top: var(--hdf-s1);
}
.hd-footer__legal-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0;
	margin-top: var(--hdf-s2);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.hd-footer__legal-links li {
	display: flex;
	align-items: center;
}
.hd-footer__legal-links li + li::before {
	content: "|";
	margin: 0 var(--hdf-s1);
	color: var(--hdf-muted);
	font-weight: 400;
}
.hd-footer__legal-links a {
	display: inline-block;
	padding: 4px 0;
	color: var(--hdf-teal);
	text-decoration: underline;
	text-decoration-color: rgba(2, 89, 96, 0.35);
}
.hd-footer__legal-links a:hover {
	text-decoration-color: currentColor;
}
.hd-footer__copy {
	margin-top: var(--hdf-s1);
	font-size: 12px;
	line-height: 1.5;
	color: var(--hdf-muted);
}
.hd-footer__copy a {
	text-decoration: underline;
	text-decoration-color: rgba(2, 89, 96, 0.35);
}

/* --- Tablet + phone (≤ 1024px): stacked, with the accordion ---------------- */
@media (max-width: 1024px) {
	.hd-footer__top {
		display: flex;
		flex-direction: column;
		gap: 0;
		padding: var(--hdf-s5) 0 0;
	}
	.hd-footer__col--brand {
		align-items: stretch;
		padding-bottom: var(--hdf-s3);
	}
	.hd-footer__logo {
		order: -2;
		width: 180px;
		margin: 0 0 var(--hdf-s2);
	}
	.hd-footer__rule--top {
		display: block;
		order: -1;
		margin: 0 0 var(--hdf-s3);
	}
	.hd-footer__script {
		font-size: 32px;
	}
	.hd-footer__lead {
		font-size: 16px;
	}
	.hd-footer__form {
		max-width: 420px;
	}
	.hd-footer__follow {
		margin-top: var(--hdf-s3);
	}

	/* Accordion */
	.hd-footer__pane {
		border-top: 1px solid var(--hdf-line);
	}
	.hd-footer__pane:last-child {
		border-bottom: 1px solid var(--hdf-line);
	}
	/* The heading row: the heading (text once) with the text-less accordion
	   button laid over the whole row (named by the heading, aria-labelledby). */
	.hd-footer__head {
		position: relative;
		display: flex;
		align-items: center;
		min-height: var(--hdf-target);
	}
	.hd-footer .hd-footer__heading {
		flex: 1 1 auto;
		margin: 0;
		padding: 12px 0;
	}
	.hd-footer__hlink {
		pointer-events: none; /* the button over the row takes the tap */
		text-decoration: none;
	}
	.hd-footer__hbtn {
		position: absolute;
		inset: 0;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		width: 100%;
		min-height: var(--hdf-target);
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: none;
		box-shadow: none;
		color: var(--hdf-ink);
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}
	.hd-footer__hbtn::after {
		content: "";
		flex: none;
		width: 20px;
		height: 20px;
		background:
			linear-gradient(var(--hdf-teal), var(--hdf-teal)) center / 14px 2px no-repeat,
			linear-gradient(var(--hdf-teal), var(--hdf-teal)) center / 2px 14px no-repeat;
	}
	.hd-footer__pane.is-open .hd-footer__hbtn::after {
		background: linear-gradient(var(--hdf-teal), var(--hdf-teal)) center / 14px 2px no-repeat;
	}
	.hd-footer__panel {
		padding: 0 0 var(--hdf-s2);
	}
	.hd-footer--js .hd-footer__pane:not(.is-open) .hd-footer__panel {
		display: none;
	}
	.hd-footer__links a {
		display: block;
		padding: 0;
	}
	.hd-footer .hd-footer__support-phone,
	.hd-footer .hd-footer__store-phone {
		padding: 4px 0;
	}
	.hd-footer__support {
		margin: var(--hdf-s1) 0 var(--hdf-s2);
	}

	/* Badges + legal block */
	.hd-footer__badges {
		justify-content: center;
		padding-top: var(--hdf-s3);
	}
	.hd-footer__rule--bottom {
		margin: var(--hdf-s3) 0;
	}
	.hd-footer__legal-links li + li::before {
		display: none;
	}
	.hd-footer__legal-links {
		gap: 0 var(--hdf-s2);
	}
	.hd-footer__legal-links a {
		padding: 6px 0;
	}
}

/* --- Phones (≤ 767px) ------------------------------------------------------ */
@media (max-width: 767px) {
	.hd-footer {
		--hdf-edge: 20px;
	}
	.hd-footer__top {
		padding-top: var(--hdf-s4);
	}
	.hd-footer__logo {
		width: 168px;
	}
	.hd-footer__rule--top {
		width: calc(100% + 40px);
		margin-left: -20px;
	}
	.hd-footer__form {
		max-width: none;
	}
	.hd-footer__form .gform_wrapper .gform_footer .gform_button,
	.hd-footer__form .gform_wrapper .gform_footer input[type="submit"],
	.hd-footer .hd-footer__btn {
		width: 100%;
		align-self: stretch;
	}
	.hd-footer__disclaimer {
		text-align: left;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hd-footer a,
	.hd-footer__social-link,
	.hd-footer__form .gform_wrapper input,
	.hd-footer__form .gform_wrapper .gform_button {
		transition: none;
	}
	.hd-footer__social-link:hover,
	.hd-footer__social-link:focus-visible {
		transform: none;
	}
}
