/* =========================================================
   age-gate.css — 18+ modal, editorial
   Wymusza potwierdzenie wieku przy pierwszej wizycie.
   Bez shadow/gradient (rule 28), radius max 4px (rule 27).
   ========================================================= */

.as-age-gate {
	position: fixed;
	inset: 0;
	z-index: 9998;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(15, 13, 12, 0.94);
	color: var(--c-ink);
	overflow-y: auto;
}

/* JS dodaje .is-active gdy użytkownik nie potwierdził */
.as-age-gate.is-active { display: flex; }
.as-age-gate.is-hidden { display: none; }

.as-age-gate__inner {
	background: var(--c-paper);
	color: var(--c-ink);
	border-radius: var(--r-sm);
	max-width: 560px;
	width: 100%;
	padding: 48px;
	display: flex;
	flex-direction: column;
	gap: 24px;
	border: 1px solid var(--c-line-paper);
}

.as-age-gate__tag {
	font-family: var(--f-body);
	font-size: var(--f-label);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--c-accent);
	font-variant-numeric: tabular-nums;
	display: inline-block;
	align-self: flex-start;
	padding: 8px 14px;
	border: 1px solid var(--c-accent);
	border-radius: var(--r-xs);
}

.as-age-gate__h {
	font-family: var(--f-display);
	font-size: clamp(1.75rem, 3.2vw, 2.4rem);
	line-height: 1.15;
	letter-spacing: -0.015em;
	margin: 0;
	font-weight: 400;
}

.as-age-gate__desc {
	font-size: 1.0625rem;
	line-height: 1.6;
	color: var(--c-ink-muted);
	margin: 0;
	max-width: 460px;
}

.as-age-gate__note {
	font-size: var(--f-body-s);
	line-height: 1.55;
	color: var(--c-ink-muted);
	margin: 0;
	padding: 14px 0;
	border-top: 1px solid var(--c-line-paper);
	border-bottom: 1px solid var(--c-line-paper);
}
.as-age-gate__note strong {
	font-weight: 600;
	color: var(--c-ink);
}

.as-age-gate__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 8px;
}

.as-age-gate__legal {
	font-size: 0.8125rem;
	line-height: 1.5;
	color: var(--c-ink-muted);
	margin: 0;
	letter-spacing: 0.01em;
}
.as-age-gate__legal a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.as-age-gate__legal a:hover {
	color: var(--c-accent);
}

/* Scroll-lock gdy gate otwarty */
body.is-age-gate-open {
	overflow: hidden;
	/* fixed gate zakrywa wszystko, kompensacja scrollbar */
}

/* Mobile */
@media (max-width: 640px) {
	.as-age-gate {
		padding: 16px;
		align-items: flex-start;
		padding-top: 40px;
	}
	.as-age-gate__inner {
		padding: 32px 24px;
		gap: 20px;
	}
	.as-age-gate__h {
		font-size: clamp(1.5rem, 6vw, 2rem);
	}
	.as-age-gate__actions .as-btn {
		width: 100%;
	}
}

/* Respect reduced-motion — nothing to do since no animations */
