/* ==========================================================================
   HDREY footer: warm-grey reference footer (#f6f3f1), 4 columns
   (brand 4/12, links 2/12, links 2/12, newsletter 4/12), payment row +
   copyright. No social icons / phone / address; one email only.
   ========================================================================== */

.hd-footer {
	background: #f6f3f1;
	color: #222222;
	font-size: 15px;
	font-weight: 300;
	line-height: 1.8;
}
.hd-footer__head {
	padding: 81px 0 20px;
}
.hd-footer__inner {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 2fr;
	align-items: start;
	max-width: var(--g-container);
	margin: 0 auto;
	padding: 0 var(--container-pad);
	min-height: 425px;
}
.hd-footer__col {
	min-width: 0;
	padding-right: 20px;
}
.hd-footer__col--links {
	padding-left: 10px;
}
.hd-footer__col--newsletter {
	padding-left: 20px;
}
.hd-footer__col--brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.hd-footer__logo {
	display: inline-block;
	margin-bottom: 28px;
}
.hd-footer__logo img {
	width: 170px;
	height: auto;
}
.hd-footer__mail {
	margin: 0;
	font-size: 15px;
	line-height: 1.8;
}
.hd-footer__mail span {
	display: block;
	color: #666;
}
.hd-footer__mail a {
	color: #222;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.hd-footer__title {
	margin: 0 0 25px;
	color: #000;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.hd-footer__list li {
	line-height: 1.8;
}
.hd-footer__list a {
	color: #222;
	font-size: 15px;
	font-weight: 300;
}
.hd-footer__list a:hover,
.hd-footer__list a:focus-visible {
	color: #000;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* --- Newsletter column ---------------------------------------------------- */
.hd-newsletter {
	width: 100%;
}
.hd-newsletter__title {
	margin-bottom: 24px;
}
.hd-newsletter__form {
	display: flex;
	align-items: stretch;
	width: 100%;
	max-width: 444px;
}
.hd-newsletter__input {
	flex: 1 1 auto;
	min-width: 0;
	height: 50px;
	padding: 13px 15px;
	background: #f7f7f7;
	border: 1px solid #f7f7f7;
	border-radius: 0;
	font-size: 15px;
	transition: border-color 0.2s ease;
}
.hd-newsletter__input:focus {
	outline: none;
	border-color: #000;
}
.hd-newsletter__submit {
	flex: 0 0 auto;
	padding: 0 28px;
	background: #000;
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	white-space: nowrap;
	transition: background-color 0.2s ease;
}
.hd-newsletter__submit:hover {
	background: #2b2b2b;
}
.hd-newsletter__note {
	margin: 12px 0 0;
	color: #666;
	font-size: 12px;
	line-height: 1.6;
	max-width: 444px;
}
.hd-newsletter__msg {
	margin: 8px 0 0;
	font-size: 13px;
	min-height: 1.2em;
	color: #2e7d32;
}
.hd-newsletter__msg.is-error {
	color: var(--color-error);
}

/* --- Copyright / payments ------------------------------------------------- */
.hd-footer__copyright {
	background: #f6f3f1;
}
.hd-footer__copyright-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 24px 0;
	min-height: 82px;
}
.hd-footer__copyright-left {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	font-size: 15px;
	line-height: 1.8;
}
.hd-footer__lang {
	color: #222;
	text-transform: capitalize;
}
.hd-footer__copy {
	color: #222;
}
.hd-footer__payments img {
	display: block;
	height: 30px;
	width: auto;
}

/* --- Mobile: stack columns, compact paddings ------------------------------ */
@media (max-width: 991px) {
	.hd-footer__head {
		padding: 28px 0 12px;
	}
	.hd-footer__inner {
		grid-template-columns: 1fr;
		min-height: 0;
		gap: 24px;
	}
	.hd-footer__col {
		padding-right: 0;
	}
	.hd-footer__col--brand {
		gap: 16px;
	}
	.hd-footer__logo {
		margin-bottom: 8px;
	}
	.hd-footer__title {
		margin-bottom: 14px;
		font-size: 18px;
	}
	.hd-newsletter__form {
		max-width: none;
	}
	.hd-footer__copyright-inner {
		flex-direction: column;
		align-items: flex-start;
		padding: 16px 0 24px;
		min-height: 0;
		gap: 10px;
	}
	.hd-footer__copyright-left {
		flex-direction: column;
		align-items: flex-start;
		gap: 2px;
	}
}
