/* Microhomehacks — consent banner */
.mhh-consent {
	position: fixed; left: 24px; bottom: 24px; z-index: 1000;
	max-width: 760px; width: calc(100% - 48px);
	display: flex; align-items: center; gap: 24px;
	background: var(--mhh-color-card); color: var(--mhh-color-text);
	border: 1px solid var(--mhh-color-border); border-radius: var(--mhh-radius-md);
	box-shadow: var(--mhh-shadow-lift);
	padding: 20px 24px;
	opacity: 0; transform: translateY(16px);
	transition: opacity .3s var(--mhh-ease), transform .3s var(--mhh-ease);
}
.mhh-consent[hidden] { display: none; }
.mhh-consent.is-visible { opacity: 1; transform: none; }
.mhh-consent__body { flex: 1; min-width: 0; }
.mhh-consent__title { font-size: 22px; margin: 0 0 4px; }
.mhh-consent__text { font-size: 14px; line-height: 1.6; margin: 0; color: var(--mhh-color-secondary); }
.mhh-consent__text a { color: var(--mhh-color-accent-hover); text-decoration: underline; text-underline-offset: 2px; }
.mhh-consent__actions { display: flex; gap: 10px; flex-shrink: 0; }
/* Equal prominence for both choices (GDPR/EDPB guidance). */
.mhh-consent__btn { min-width: 110px; justify-content: center; }
.mhh-consent :focus-visible { outline: 2px solid var(--mhh-color-accent); outline-offset: 2px; }

@media (max-width: 900px) {
	/* sit above the fixed mobile bottom navigation */
	.mhh-consent {
		left: 12px; right: 12px; width: auto; max-width: none;
		bottom: calc(76px + env(safe-area-inset-bottom));
		flex-direction: column; align-items: stretch; gap: 14px; padding: 18px;
	}
	.mhh-consent__actions { width: 100%; }
	.mhh-consent__btn { flex: 1; }
}
@media (prefers-reduced-motion: reduce) {
	.mhh-consent { transition: none; }
}
