/* VSE Aftelklok */
.vse-ak {
	--vse-ak-rood: #e30613;
	--vse-ak-rood-donker: #b8000c;
	--vse-ak-schijf: #ffffff;
	--vse-ak-getal: #e30613;
	--vse-ak-tekst: #2a1215;
	--vse-ak-sub: #6b4a4e;
	--vse-ak-ring-tekst: #ffffff;
	--vse-ak-font-kop: "Poppins", "Helvetica Neue", Arial, sans-serif;
	--vse-ak-font-tekst: "Nunito", "Helvetica Neue", Arial, sans-serif;

	position: relative;
	width: 100%;
	max-width: 380px;
	aspect-ratio: 1 / 1;
	margin-inline: auto;
	container-type: inline-size;
	transform: rotate(var(--vse-ak-rotatie, 0deg));
	filter: drop-shadow(0 24px 40px rgba(11, 49, 88, .28));
}

.vse-ak__svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.vse-ak__bg { fill: var(--vse-ak-rood); }

.vse-ak__ring text {
	fill: var(--vse-ak-ring-tekst);
	font-family: var(--vse-ak-font-kop);
	font-weight: 700;
	font-size: 21px;
	letter-spacing: .5px;
}

.vse-ak--draai .vse-ak__ring {
	transform-origin: 250px 250px;
	animation: vse-ak-draai 70s linear infinite;
}

@keyframes vse-ak-draai {
	to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
	.vse-ak--draai .vse-ak__ring { animation: none; }
}

/* Witte schijf met inhoud */
.vse-ak__schijf {
	position: absolute;
	inset: 13%;
	border-radius: 50%;
	background: var(--vse-ak-schijf);
	box-shadow:
		0 18px 30px rgba(120, 0, 8, .35),
		inset 0 -6px 0 rgba(0, 0, 0, .03);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 0 5%;
	box-sizing: border-box;
}

.vse-ak__nummer {
	font-family: var(--vse-ak-font-kop);
	font-weight: 900;
	color: var(--vse-ak-getal);
	font-size: 27cqw;
	line-height: .9;
	letter-spacing: -.04em;
	font-variant-numeric: tabular-nums;
	margin-bottom: 3.2cqw;
}

/* Laatste dag: uu:mm:ss */
.vse-ak.is-klok .vse-ak__nummer {
	font-size: 11.5cqw;
	letter-spacing: -.02em;
	margin-bottom: 2.6cqw;
}

/* Op het moment zelf */
.vse-ak.is-feest .vse-ak__nummer { font-size: 13cqw; letter-spacing: -.02em; }
.vse-ak.is-feest .vse-ak__nummer,
.vse-ak.is-klaar .vse-ak__nummer { animation: vse-ak-pop 1.6s ease-in-out infinite; }
.vse-ak.is-klaar .vse-ak__nummer:empty { display: none; }

@keyframes vse-ak-pop {
	50% { transform: scale(1.06); }
}

.vse-ak__titel {
	font-family: var(--vse-ak-font-kop);
	font-weight: 700;
	color: var(--vse-ak-tekst);
	font-size: 3.8cqw;
	text-wrap: balance;
	line-height: 1.2;
}

.vse-ak__label:empty { display: none; }
.vse-ak__label::after { content: " "; }

.vse-ak__sub {
	font-family: var(--vse-ak-font-tekst);
	color: var(--vse-ak-sub);
	font-size: 3.2cqw;
	line-height: 1.3;
	margin-top: 1.4cqw;
}
.vse-ak__sub:empty { display: none; }

/* Fallback voor browsers zonder container query units */
@supports not (font-size: 1cqw) {
	.vse-ak__nummer { font-size: clamp(64px, 10vw, 130px); }
	.vse-ak__titel { font-size: clamp(14px, 1.6vw, 22px); }
	.vse-ak__sub { font-size: clamp(12px, 1.2vw, 17px); }
}
