/*
 * Privacy layer in the theme's language (inc/privacy.php):
 * EDS Consent banner/panel tokens, the click-to-load map gate (also the
 * theme fallback without the plugin), footer legal row and demo notices.
 */

/* EDS Consent: map its custom properties onto the palette tokens. */
.eds-consent.er-consent {
	--eds-consent-bg: var(--er-surface, var(--er-bg));
	--eds-consent-fg: var(--er-heading);
	--eds-consent-muted: var(--er-text);
	--eds-consent-border: var(--er-border);
	--eds-consent-btn-bg: var(--er-brand);
	--eds-consent-btn-fg: var(--er-on-brand);
	--eds-consent-btn-border: var(--er-brand);
	--eds-consent-quiet-fg: var(--er-heading);
	--eds-consent-focus: var(--er-accent);
	--eds-consent-radius: var(--er-radius);
	--eds-consent-btn-radius: var(--er-radius-action);
	--eds-consent-font: var(--er-font-sans);
	--eds-consent-title-font: var(--er-font-display);
	--eds-consent-speed: var(--er-dur-fast);
	background: none;
}
.er-consent .eds-consent__title {
	font-weight: 400;
	font-size: clamp(22px, 1.2rem + .5vw, 28px);
	letter-spacing: .01em;
}
.er-consent .eds-consent__category-title { font-weight: 500; }
/* Room for three equal uppercase buttons on one line ("Reject non-essential" needs ~210px). */
.er-consent .eds-consent__panel { width: min(720px, 100%); }
.er-consent .eds-consent__btn {
	font-size: var(--er-fs-small);
	font-weight: 500;
	letter-spacing: .02em;
	text-transform: uppercase;
	transition: background-color var(--er-dur-fast) var(--er-ease-out), border-color var(--er-dur-fast) var(--er-ease-out);
}
.er-consent .eds-consent__btn:hover { background: color-mix(in srgb, var(--er-brand) 86%, var(--er-accent)); }
.er-consent .eds-consent__btn--quiet { background: transparent; }
.er-consent .eds-consent__btn--quiet:hover { border-color: var(--er-accent); background: transparent; }

/* Map gate: fills the map's 16:10 frame, so loading the map shifts nothing. */
.er-map .eds-embed { height: 100%; }
.er-map .eds-embed__placeholder {
	display: grid;
	gap: 12px;
	align-content: center;
	justify-items: center;
	height: 100%;
	min-height: 0;
	padding: clamp(20px, 4vw, 48px);
	border: 0;
	border-radius: 0;
	background-color: var(--er-surface);
	background-image:
		linear-gradient(rgb(var(--er-text-rgb) / .06) 1px, transparent 1px),
		linear-gradient(90deg, rgb(var(--er-text-rgb) / .06) 1px, transparent 1px);
	background-size: 48px 48px;
	color: var(--er-text);
	text-align: center;
}
.er-map .eds-embed__title {
	margin: 0;
	font-family: var(--er-font-display);
	font-size: var(--er-fs-name);
	font-weight: 400;
	color: var(--er-heading);
}
.er-map .eds-embed__text { max-width: 46ch; margin: 0; font-size: var(--er-fs-small); line-height: 1.6; color: var(--er-text); }
.er-map .eds-embed__privacy { color: var(--er-heading); }
.er-map .eds-embed__button {
	min-height: 44px;
	margin-top: 4px;
	padding: 10px 32px;
	border: 1px solid var(--er-border-strong);
	border-radius: var(--er-radius);
	background: transparent;
	color: var(--er-heading);
	font: inherit;
	font-size: var(--er-fs-small);
	font-weight: 500;
	letter-spacing: .02em;
	text-transform: uppercase;
	cursor: pointer;
	transition: border-color var(--er-dur-fast) var(--er-ease-out);
}
.er-map .eds-embed__button:hover { border-color: var(--er-accent); }
.er-map .eds-embed__button:focus-visible,
.er-map .eds-embed:focus-visible { outline: 2px solid var(--er-accent); outline-offset: 2px; }
.er-map .eds-embed:focus:not(:focus-visible) { outline: none; }
@media (max-width: 599px) {
	.er-map .eds-embed__title { font-size: var(--er-fs-card); }
	.er-map .eds-embed__text { font-size: var(--er-fs-meta); }
}

/* Footer legal row: legal menu + "Cookie settings". */
.er-footer__legal-nav { display: contents; }
.er-footer__legal-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 24px; margin: 0; padding: 0; list-style: none; }
.er-footer__legal .eds-consent-open { color: var(--er-text); text-decoration: none; }
.er-footer__legal .eds-consent-open:hover { color: var(--er-heading); }

/* Demo notices: present, legible, quiet. */
.er-demo-note {
	margin: 12px 0 0;
	font-size: var(--er-fs-meta);
	line-height: 1.6;
	letter-spacing: .04em;
	color: var(--er-muted);
}
.er-demo-note--site { max-width: 760px; margin: 24px auto 0; text-align: center; }
.er-demo-note--form { margin: 0 0 16px; }

@media (prefers-reduced-motion: reduce) {
	.er-consent .eds-consent__btn,
	.er-map .eds-embed__button { transition: none; }
}
