/* =========================================================================
   ELP GATE — Age-/RUO-Bestätigung
   ========================================================================= */
.elp-gate {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: grid;
	place-items: center;
	padding: var(--elp-space-5);
	background: oklch(0.19 0.014 75 / 0.30);
	overflow-y: auto;
}
html.elp-gate-erledigt .elp-gate { display: none; }

.elp-gate__karte {
	width: 100%;
	max-width: 560px;
	background: var(--elp-background);
	border-radius: var(--elp-radius-lg);
	box-shadow: var(--elp-shadow-modal);
	overflow: hidden;
}

.elp-gate__kopf {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--elp-space-4);
	padding: var(--elp-space-4) var(--elp-space-6);
	background: var(--elp-primary-hero);
}
.elp-gate__kopf .elp-label { color: oklch(0.99 0.006 86 / 0.6); }
.elp-gate__pflicht { display: inline-flex; align-items: center; gap: 0.45rem; color: oklch(0.99 0.006 86 / 0.9) !important; }
.elp-gate__punkt {
	width: 6px;
	height: 6px;
	border-radius: var(--elp-radius-full);
	background: var(--elp-status-soon);
}

.elp-gate__body { padding: var(--elp-space-8) var(--elp-space-6) var(--elp-space-6); }

.elp-gate__kicker { display: block; margin-bottom: var(--elp-space-4); color: var(--elp-status-soon); }

.elp-gate__titel {
	margin: 0 0 var(--elp-space-6);
	font-family: var(--elp-font-headline);
	font-size: var(--elp-text-3xl);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: var(--elp-h1-tracking);
	color: var(--elp-foreground);
}
.elp-gate__titel span { color: var(--elp-accent); }

.elp-gate__check {
	display: flex;
	gap: var(--elp-space-3);
	padding: var(--elp-space-4);
	margin-bottom: var(--elp-space-3);
	background: var(--elp-background);
	border: 1px solid var(--elp-border);
	border-radius: var(--elp-radius);
	font-size: var(--elp-text-sm);
	line-height: 1.55;
	color: var(--elp-foreground);
	cursor: pointer;
	transition: border-color var(--elp-dur-fast) var(--elp-ease), background-color var(--elp-dur-fast) var(--elp-ease);
}
.elp-gate__check:hover { border-color: var(--elp-accent); }
.elp-gate__check:has(:checked) { border-color: var(--elp-accent); background: var(--elp-primary-soft); }

.elp-gate__box {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	margin-top: 0.1rem;
	accent-color: var(--elp-primary);
	cursor: pointer;
}
.elp-gate__check a { color: var(--elp-accent); text-decoration: underline; }
.elp-gate__check strong { font-weight: 600; }

.elp-gate__btn {
	width: 100%;
	margin-top: var(--elp-space-5);
	padding: 0.95rem 1.4rem;
	font-family: var(--elp-font-mono);
	font-size: var(--elp-label-size);
	font-weight: 500;
	letter-spacing: var(--elp-label-tracking);
	text-transform: uppercase;
	color: #fff;
	background: var(--elp-primary-hero);
	border: 0;
	border-radius: var(--elp-radius-full);
	cursor: pointer;
	transition: background-color var(--elp-dur-fast) var(--elp-ease), opacity var(--elp-dur-fast) var(--elp-ease);
}
.elp-gate__btn:disabled {
	background: var(--elp-status-pipeline);
	opacity: 0.55;
	cursor: not-allowed;
}
.elp-gate__btn:not(:disabled):hover { background: var(--elp-accent-dark); }
.elp-gate__btn:focus-visible { outline: 2px solid var(--elp-ring); outline-offset: 2px; }

.elp-gate__fuss {
	margin: var(--elp-space-4) 0 0;
	font-family: var(--elp-font-mono);
	font-size: var(--elp-text-xs);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-align: center;
	line-height: 1.6;
	color: var(--elp-muted-foreground);
}

@media (max-width: 480px) {
	.elp-gate { padding: var(--elp-space-3); align-items: start; }
	.elp-gate__body { padding: var(--elp-space-6) var(--elp-space-5) var(--elp-space-5); }
	.elp-gate__titel { font-size: var(--elp-text-2xl); }
}
