/* Footer. Loaded after style.css, so its base .mp-footer rules are overridden here. */
.mp-footer {
	--mp-footer-text: #f6e4d2;
	--mp-footer-soft: #dcc3ab;
	--mp-footer-accent: #f28a3c;
	--mp-footer-line: rgba(246, 228, 210, .18);
	padding: 56px 0 24px;
	background: var(--mp-ink);
	color: var(--mp-footer-text);
	font-size: .9375rem;
	line-height: 1.5;
}
.mp-footer__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr) minmax(0, 1fr) minmax(0, 1.25fr);
	gap: 40px 32px;
}
.mp-footer__col { min-width: 0; }
.mp-footer__brand {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #fff8ef;
	font: 600 1.4rem/1.2 var(--mp-display);
	text-decoration: none;
}
.mp-footer__mark { color: var(--mp-footer-accent); font-size: 1.4rem; line-height: 1; }
.mp-footer .mp-footer__about { max-width: 19rem; margin: 12px 0 0; color: var(--mp-footer-soft); }
.mp-footer__title { margin: 0 0 12px; color: #fff8ef; font: 600 1.0625rem/1.3 var(--mp-display); }
.mp-footer .mp-footer__nav { display: block; }
.mp-footer__links { margin: 0; padding: 0; list-style: none; }
.mp-footer__links li + li { margin-top: 8px; }
.mp-footer__links a { color: var(--mp-footer-text); text-decoration: none; }
.mp-footer__seller { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; color: var(--mp-footer-soft); font-style: normal; }
.mp-footer__firm { color: var(--mp-footer-text); font-weight: 700; }
.mp-footer .mp-footer__email { color: var(--mp-footer-text); overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 3px; }
.mp-footer .mp-footer__links a:hover,
.mp-footer .mp-footer__email:hover,
.mp-footer .mp-footer__brand:hover { color: #ffc08e; text-decoration: underline; text-underline-offset: 3px; }
.mp-footer a:focus-visible { outline: 2px solid var(--mp-footer-accent); outline-offset: 2px; border-radius: 2px; }
.mp-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 4px 24px;
	margin-top: 40px;
	padding-top: 20px;
	border-top: 1px solid var(--mp-footer-line);
	color: var(--mp-footer-soft);
	font-size: .875rem;
}
.mp-footer .mp-footer__bottom p { margin: 0; }

@media (max-width: 900px) {
	.mp-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; }
	.mp-footer__col--brand,
	.mp-footer__col--seller { grid-column: 1 / -1; }
	.mp-footer__title { margin-bottom: 4px; }
	.mp-footer__col--seller .mp-footer__title { margin-bottom: 8px; }
	.mp-footer__links li + li { margin-top: 0; }
	/* 44px tap targets on touch widths; long labels wrap inside the target. */
	.mp-footer__links a,
	.mp-footer .mp-footer__email { display: flex; align-items: center; min-height: 44px; padding: 4px 0; line-height: 1.25; }
	.mp-footer__brand { min-height: 44px; padding: 4px 0; }
	.mp-footer .mp-footer__about { margin-top: 4px; }
}

@media (max-width: 620px) {
	.mp-footer { padding-top: 40px; }
	.mp-footer__grid { gap: 28px 16px; }
	.mp-footer__bottom { flex-direction: column; margin-top: 28px; }
}
