/* BPZ Welkomstscherm: scherm in de hal (en de mini-voorvertoning in het formulier). */

/* Plus Jakarta Sans (SIL Open Font License 1.1, zie fonts/OFL.txt). Lokaal meegeleverd, dus geen Google Fonts nodig. */
@font-face {
	font-family: "Plus Jakarta Sans";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url("fonts/plus-jakarta-sans-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Plus Jakarta Sans";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url("fonts/plus-jakarta-sans-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* ==========================================================================
   Basis
   ========================================================================== */

.bpzw-stage {
	--navy: #17274c;
	--navy-diep: #0c1630;
	--blauw: #0086c9;
	--wit: #ffffff;
	--u: 1vw;
	--font: "Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;

	position: relative;
	overflow: hidden;
	color: var(--wit);
	background: var(--navy-diep);
	font-family: var(--font);
	-webkit-font-smoothing: antialiased;
	box-sizing: border-box;
}

.bpzw-stage *,
.bpzw-stage *::before,
.bpzw-stage *::after {
	box-sizing: border-box;
}

.bpzw-stage [hidden] {
	display: none !important;
}

/* Fullscreen op het scherm in de hal. */
.bpzw-screen-body {
	margin: 0;
	background: #0c1630;
	overflow: hidden;
	cursor: none;
}

.bpzw-screen-body.is-voorbeeld {
	cursor: default;
}

.bpzw-screen-body .bpzw-stage {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

/* Mini-voorvertoning in het formulier: schaalt mee met het kader. */
.bpzw-stage--mini {
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	border-radius: 10px;
}

.bpzw-stage--mini.is-staand {
	padding-bottom: 177.78%;
}

@supports (container-type: inline-size) {
	.bpzw-stage--mini {
		container-type: inline-size;
		--u: 1cqw;
	}
}

/* ==========================================================================
   Achtergrond en overlay
   ========================================================================== */

.bpzw-bg {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: hidden;
	background: radial-gradient(120% 90% at 85% 20%, #1f3a6e 0%, var(--navy) 45%, var(--navy-diep) 100%);
}

.bpzw-slide {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-size: cover;
	background-position: center;
	opacity: 0;
	transform: scale(1.04);
	transition: opacity 1.8s ease;
}

.bpzw-slide.is-actief {
	opacity: 1;
	animation: bpzw-kenburns var(--kb, 24s) ease-out forwards;
}

.bpzw-slide:nth-child(even).is-actief {
	animation-name: bpzw-kenburns-2;
}

.bpzw-slide.geen-zoom,
.bpzw-slide.geen-zoom.is-actief {
	transform: none;
	animation: none;
}

@keyframes bpzw-kenburns {
	from { transform: scale(1.04) translate3d(0, 0, 0); }
	to { transform: scale(1.14) translate3d(-1.5%, -1%, 0); }
}

@keyframes bpzw-kenburns-2 {
	from { transform: scale(1.14) translate3d(-1.5%, 0, 0); }
	to { transform: scale(1.04) translate3d(0, -1%, 0); }
}

.bpzw-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Zonder foto of video: rustig bewegend licht in BPZ-blauw. */
.bpzw-ambient span {
	position: absolute;
	border-radius: 50%;
	filter: blur(calc(var(--u) * 6));
	opacity: 0.55;
}

.bpzw-ambient span:nth-child(1) {
	width: calc(var(--u) * 55);
	height: calc(var(--u) * 55);
	right: calc(var(--u) * -12);
	top: calc(var(--u) * -18);
	background: radial-gradient(circle, rgba(0, 134, 201, 0.75) 0%, rgba(0, 134, 201, 0) 70%);
	animation: bpzw-drift 38s ease-in-out infinite alternate;
}

.bpzw-ambient span:nth-child(2) {
	width: calc(var(--u) * 45);
	height: calc(var(--u) * 45);
	right: calc(var(--u) * 18);
	bottom: calc(var(--u) * -28);
	background: radial-gradient(circle, rgba(64, 120, 210, 0.55) 0%, rgba(64, 120, 210, 0) 70%);
	animation: bpzw-drift 46s ease-in-out infinite alternate-reverse;
}

@keyframes bpzw-drift {
	from { transform: translate3d(0, 0, 0) scale(1); }
	to { transform: translate3d(calc(var(--u) * -8), calc(var(--u) * 5), 0) scale(1.15); }
}

/* Donker verloop (optie "verloop") */
.bpzw-shade {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background:
		linear-gradient(180deg, rgba(12, 22, 48, 0.55) 0%, rgba(12, 22, 48, 0) 22%, rgba(12, 22, 48, 0) 72%, rgba(12, 22, 48, 0.7) 100%),
		linear-gradient(90deg, rgba(15, 28, 60, 0.94) 0%, rgba(20, 36, 72, 0.82) 38%, rgba(23, 39, 76, 0.35) 70%, rgba(23, 39, 76, 0.1) 100%);
}

.bpzw-stage.is-staand .bpzw-shade {
	background: linear-gradient(180deg, rgba(12, 22, 48, 0.78) 0%, rgba(12, 22, 48, 0.45) 20%, rgba(12, 22, 48, 0.6) 55%, rgba(12, 22, 48, 0.92) 100%);
}

/* Eén kleur als overlay (zoals het huidige scherm) */
.bpzw-stage.overlay-kleur .bpzw-shade,
.bpzw-stage.is-staand.overlay-kleur .bpzw-shade {
	background: var(--overlay-kleur, #0e2b8a);
	opacity: var(--overlay-dekking, 0.69);
	mix-blend-mode: var(--overlay-menging, multiply);
}

/* Sneeuw */
.bpzw-sneeuw {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

/* ==========================================================================
   Bovenbalk: klein logo en klok
   ========================================================================== */

.bpzw-top {
	position: absolute;
	left: calc(var(--u) * 4.5);
	right: calc(var(--u) * 4.5);
	top: calc(var(--u) * 3);
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.bpzw-brand {
	transition: opacity 0.6s ease;
}

/* Staat het BPZ-logo groot in het midden, dan hoeft het niet ook linksboven. */
.bpzw-stage.heeft-bpzlogo:not(.is-gelegenheid) .bpzw-brand {
	opacity: 0;
}

.bpzw-brand-logo {
	display: block;
	height: calc(var(--u) * 4.6);
	width: auto;
	max-width: calc(var(--u) * 20);
	object-fit: contain;
	object-position: left center;
}

.bpzw-brand-tekst {
	display: inline-block;
	font-size: calc(var(--u) * 3);
	font-weight: 800;
	line-height: 1;
}

.bpzw-info {
	display: flex;
	align-items: center;
	gap: calc(var(--u) * 2.2);
	text-align: right;
}

.bpzw-clock {
	line-height: 1;
}

.bpzw-time {
	font-size: calc(var(--u) * 4.2);
	font-weight: 300;
	letter-spacing: -0.02em;
	font-variant-numeric: tabular-nums;
}

.bpzw-date {
	margin-top: calc(var(--u) * 0.7);
	font-size: calc(var(--u) * 1);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	opacity: 0.8;
}

/* Compact weer in de bovenbalk (liggend) */
.bpzw-weather {
	display: flex;
	align-items: center;
	gap: calc(var(--u) * 0.9);
	padding-right: calc(var(--u) * 2.2);
	border-right: calc(var(--u) * 0.08) solid rgba(255, 255, 255, 0.28);
	line-height: 1;
}

.bpzw-weather svg {
	width: calc(var(--u) * 3.4);
	height: calc(var(--u) * 3.4);
	flex: none;
}

.bpzw-weather-temp {
	font-size: calc(var(--u) * 3.2);
	font-weight: 300;
	letter-spacing: -0.02em;
}

.bpzw-weather-tekst {
	text-align: left;
	font-size: calc(var(--u) * 0.95);
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	opacity: 0.8;
}

.bpzw-weather-tekst span {
	display: block;
	margin-top: calc(var(--u) * 0.5);
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: none;
	font-size: calc(var(--u) * 1);
}

/* ==========================================================================
   Midden: kopblok (groet, welkom bij, logo) en gastenblok
   Alle tekstmaten gaan keer --schaal, zodat alles in het vak blijft passen.
   ========================================================================== */

.bpzw-main {
	position: absolute;
	left: calc(var(--u) * 4.5);
	bottom: calc(var(--u) * 10.5);
	width: calc(var(--u) * 80);
	pointer-events: none;
}

.bpzw-stage.heeft-logo .bpzw-main {
	width: calc(var(--u) * 58);
}

.bpzw-main > * {
	transition: opacity 0.7s ease, transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.bpzw-kop > *,
.bpzw-gasten > * {
	max-width: 100%;
}

.bpzw-main.mag-afbreken .bpzw-kop > *,
.bpzw-main.mag-afbreken .bpzw-gasten > *,
.bpzw-kop.mag-afbreken > *,
.bpzw-gasten.mag-afbreken > * {
	overflow-wrap: anywhere;
}

.bpzw-groet {
	font-size: calc(var(--u) * 5.2 * var(--schaal, 1));
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.01em;
}

.bpzw-welkom {
	margin-top: calc(var(--u) * 0.5 * var(--schaal, 1));
	font-size: calc(var(--u) * 3 * var(--schaal, 1));
	font-weight: 500;
	line-height: 1.2;
}

/* Zonder BPZ-logo is "Welkom bij BPZ" de titel. */
.bpzw-stage:not(.heeft-bpzlogo) .bpzw-welkom {
	font-size: calc(var(--u) * 5.2 * var(--schaal, 1));
	font-weight: 700;
}

.bpzw-midlogo {
	margin-top: calc(var(--u) * 3 * var(--schaal, 1));
}

.bpzw-midlogo img {
	display: block;
	width: calc(var(--u) * 34 * var(--schaal, 1));
	max-width: 100%;
	height: auto;
}

.bpzw-gasten {
	display: none;
	text-shadow: 0 calc(var(--u) * 0.1) calc(var(--u) * 0.8) rgba(0, 0, 0, 0.18);
}

.bpzw-stage.is-bezoek .bpzw-gasten {
	display: block;
}

.bpzw-stage:not(.is-bezoek) .bpzw-gasten {
	display: none !important;
}

.bpzw-scheiding {
	display: block;
	width: calc(var(--u) * 4 * var(--schaal, 1));
	height: calc(var(--u) * 0.3);
	margin: calc(var(--u) * 2.2) 0 calc(var(--u) * 1.8);
	background: var(--blauw);
	border-radius: calc(var(--u) * 0.2);
}

.bpzw-title {
	font-size: calc(var(--u) * 5.4 * var(--schaal, 1));
	font-weight: 700;
	line-height: 1.06;
	letter-spacing: -0.02em;
	overflow-wrap: normal;
}

.bpzw-title .bpzw-naam {
	display: block;
}

.bpzw-company {
	margin-top: calc(var(--u) * 1.3 * var(--schaal, 1));
	font-size: calc(var(--u) * 2.1 * var(--schaal, 1));
	font-weight: 400;
	line-height: 1.2;
	opacity: 0.92;
}

.bpzw-message {
	margin-top: calc(var(--u) * 2.2 * var(--schaal, 1));
	padding-left: calc(var(--u) * 1.4);
	border-left: calc(var(--u) * 0.22) solid var(--blauw);
	max-width: calc(var(--u) * 48);
	font-size: calc(var(--u) * 1.5 * var(--schaal, 1));
	line-height: 1.35;
	color: rgba(255, 255, 255, 0.88);
}

.bpzw-company:empty,
.bpzw-message:empty,
.bpzw-title:empty {
	display: none;
}

/* Liggend met bezoek: groet op één regel met een klein logo erachter. */
.bpzw-stage.is-bezoek .bpzw-kop {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: calc(var(--u) * 0.8);
}

.bpzw-stage.is-bezoek .bpzw-groet,
.bpzw-stage.is-bezoek .bpzw-welkom,
.bpzw-stage.is-bezoek:not(.heeft-bpzlogo) .bpzw-welkom {
	margin: 0;
	font-size: calc(var(--u) * 2.4 * var(--schaal, 1));
	font-weight: 600;
}

.bpzw-stage.is-bezoek .bpzw-groet::after {
	content: ",";
}

.bpzw-stage.is-bezoek .bpzw-midlogo {
	margin: 0;
}

.bpzw-stage.is-bezoek .bpzw-midlogo img {
	width: auto;
	height: calc(var(--u) * 2.8 * var(--schaal, 1));
}

/* Bedrijfslogo */
.bpzw-logo-card {
	position: absolute;
	right: calc(var(--u) * 4.5);
	bottom: calc(var(--u) * 10.5);
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: calc(var(--u) * 20);
	max-width: calc(var(--u) * 30);
	min-height: calc(var(--u) * 13);
	padding: calc(var(--u) * 2.6) calc(var(--u) * 3.2);
	background: #fff;
	border-radius: calc(var(--u) * 1.1);
	box-shadow: 0 calc(var(--u) * 1.6) calc(var(--u) * 5) rgba(5, 12, 30, 0.45);
	transition: opacity 0.7s ease 0.3s, transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) 0.3s;
}

.bpzw-logo-card img {
	display: block;
	max-width: calc(var(--u) * 23.6);
	max-height: calc(var(--u) * 8.5);
	width: auto;
	height: auto;
	object-fit: contain;
}

.bpzw-logo-card.is-licht {
	background: rgba(12, 22, 48, 0.55);
	border: calc(var(--u) * 0.1) solid rgba(255, 255, 255, 0.22);
	-webkit-backdrop-filter: blur(calc(var(--u) * 1.2));
	backdrop-filter: blur(calc(var(--u) * 1.2));
}

/* Speciale gelegenheid */
.bpzw-gelegenheid {
	position: absolute;
	left: calc(var(--u) * 4.5);
	right: calc(var(--u) * 4.5);
	top: calc(var(--u) * 10);
	bottom: calc(var(--u) * 7);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.7s ease, transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.bpzw-gelegenheid img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 calc(var(--u) * 1) calc(var(--u) * 3) rgba(0, 0, 0, 0.35));
}

.bpzw-stage.is-gelegenheid .bpzw-main,
.bpzw-stage.is-gelegenheid .bpzw-logo-card {
	display: none !important;
}

/* ==========================================================================
   Weerpaneel (alleen staand)
   ========================================================================== */

.bpzw-weerpaneel {
	position: absolute;
	left: calc(var(--u) * 7);
	right: calc(var(--u) * 7);
	bottom: calc(var(--u) * 13);
	padding: calc(var(--u) * 4) calc(var(--u) * 5) calc(var(--u) * 3.6);
	border-radius: calc(var(--u) * 2.6);
	background: rgba(12, 22, 48, 0.5);
	border: calc(var(--u) * 0.12) solid rgba(255, 255, 255, 0.16);
	-webkit-backdrop-filter: blur(calc(var(--u) * 2));
	backdrop-filter: blur(calc(var(--u) * 2));
	line-height: 1;
}

.bpzw-stage:not(.is-staand) .bpzw-weerpaneel {
	display: none !important;
}

.bpzw-weerpaneel svg {
	display: block;
	width: 100%;
	height: 100%;
}

.bpzw-wp-nu {
	display: flex;
	align-items: center;
	gap: calc(var(--u) * 3);
}

.bpzw-wp-icoon {
	display: block;
	width: calc(var(--u) * 11);
	height: calc(var(--u) * 11);
	flex: none;
}

.bpzw-wp-temp {
	font-size: calc(var(--u) * 11);
	font-weight: 300;
	letter-spacing: -0.03em;
}

.bpzw-wp-tekst {
	display: flex;
	flex-direction: column;
	gap: calc(var(--u) * 1.4);
	margin-left: calc(var(--u) * 1);
}

.bpzw-wp-tekst strong {
	font-size: calc(var(--u) * 3.2);
	font-weight: 600;
}

.bpzw-wp-tekst span {
	font-size: calc(var(--u) * 2.4);
	font-weight: 500;
	opacity: 0.72;
}

.bpzw-wp-dagen {
	display: flex;
	justify-content: space-between;
	margin-top: calc(var(--u) * 3.6);
	padding-top: calc(var(--u) * 3.4);
	border-top: calc(var(--u) * 0.12) solid rgba(255, 255, 255, 0.16);
}

.bpzw-wp-dag {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: calc(var(--u) * 1.2);
	width: 20%;
}

.bpzw-wp-dag svg {
	width: calc(var(--u) * 6.5);
	height: calc(var(--u) * 6.5);
	margin: calc(var(--u) * 0.4) 0;
}

.bpzw-wp-naam {
	font-size: calc(var(--u) * 2.1);
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	opacity: 0.75;
}

.bpzw-wp-max {
	font-size: calc(var(--u) * 3.1);
	font-weight: 600;
}

.bpzw-wp-min {
	font-size: calc(var(--u) * 2.5);
	font-weight: 400;
	opacity: 0.6;
}

/* ==========================================================================
   Onderbalk: payoff in het midden
   ========================================================================== */

.bpzw-foot {
	position: absolute;
	left: calc(var(--u) * 4.5);
	right: calc(var(--u) * 4.5);
	bottom: calc(var(--u) * 3);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: calc(var(--u) * 1.5);
	line-height: 1;
}

.bpzw-payoff {
	font-weight: 700;
	text-align: center;
}

.bpzw-dots {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	gap: calc(var(--u) * 0.6);
}

.bpzw-dots i {
	display: block;
	width: calc(var(--u) * 0.55);
	height: calc(var(--u) * 0.55);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.35);
	transition: width 0.4s ease, background 0.4s ease, border-radius 0.4s ease;
}

.bpzw-dots i.is-actief {
	width: calc(var(--u) * 2);
	border-radius: calc(var(--u) * 0.3);
	background: var(--blauw);
}

.bpzw-voorbeeld-label {
	position: absolute;
	top: calc(var(--u) * 1);
	left: 50%;
	transform: translateX(-50%);
	padding: calc(var(--u) * 0.45) calc(var(--u) * 1.2);
	border-radius: 999px;
	background: var(--blauw);
	font-size: calc(var(--u) * 0.85);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
}

/* ==========================================================================
   Overgangen
   ========================================================================== */

.bpzw-stage.is-uit .bpzw-main > *,
.bpzw-stage.is-uit .bpzw-logo-card,
.bpzw-stage.is-uit .bpzw-gelegenheid {
	opacity: 0;
	transform: translate3d(0, calc(var(--u) * 1.4), 0);
	transition-duration: 0.5s;
	transition-delay: 0s;
}

.bpzw-main > .bpzw-gasten {
	transition-delay: 0.12s;
}

/* ==========================================================================
   Staand scherm (de zuil in de hal)
   ========================================================================== */

.bpzw-stage.is-staand .bpzw-weather {
	display: none !important;
}

.bpzw-stage.is-staand .bpzw-top {
	left: calc(var(--u) * 7);
	right: calc(var(--u) * 7);
	top: calc(var(--u) * 5.5);
	align-items: center;
}

.bpzw-stage.is-staand .bpzw-brand-logo {
	height: calc(var(--u) * 12);
	max-width: calc(var(--u) * 40);
}

.bpzw-stage.is-staand .bpzw-brand-tekst {
	font-size: calc(var(--u) * 8);
}

.bpzw-stage.is-staand .bpzw-time {
	font-size: calc(var(--u) * 9);
}

.bpzw-stage.is-staand .bpzw-date {
	margin-top: calc(var(--u) * 1.3);
	font-size: calc(var(--u) * 2.1);
}

/* Het midden beslaat het hele scherm; kop en gasten hebben elk een eigen vak. */
.bpzw-stage.is-staand .bpzw-main,
.bpzw-stage.is-staand.heeft-logo .bpzw-main {
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: auto;
}

.bpzw-stage.is-staand .bpzw-kop,
.bpzw-stage.is-staand .bpzw-gasten {
	position: absolute;
	left: calc(var(--u) * 7);
	right: calc(var(--u) * 7);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

/* Zonder bezoek: kop groot in het midden */
.bpzw-stage.is-staand .bpzw-kop {
	top: 13%;
	bottom: 34%;
}

.bpzw-stage.is-staand .bpzw-groet {
	font-size: calc(var(--u) * 11.5 * var(--schaal, 1));
}

.bpzw-stage.is-staand .bpzw-welkom {
	margin-top: calc(var(--u) * 1.6 * var(--schaal, 1));
	font-size: calc(var(--u) * 6.6 * var(--schaal, 1));
}

.bpzw-stage.is-staand:not(.heeft-bpzlogo) .bpzw-welkom {
	font-size: calc(var(--u) * 11 * var(--schaal, 1));
}

.bpzw-stage.is-staand .bpzw-midlogo {
	margin-top: calc(var(--u) * 7 * var(--schaal, 1));
}

.bpzw-stage.is-staand .bpzw-midlogo img {
	width: calc(var(--u) * 80 * var(--schaal, 1));
}

/* Met bezoek: kop blijft in het midden, maar kleiner en hoger */
.bpzw-stage.is-staand.is-bezoek .bpzw-kop {
	top: 11.5%;
	bottom: 63.5%;
	display: flex;
	flex-wrap: nowrap;
	column-gap: 0;
}

.bpzw-stage.is-staand.is-bezoek .bpzw-groet {
	font-size: calc(var(--u) * 8.6 * var(--schaal, 1));
	font-weight: 700;
}

.bpzw-stage.is-staand.is-bezoek .bpzw-groet::after {
	content: none;
}

.bpzw-stage.is-staand.is-bezoek .bpzw-welkom {
	margin-top: calc(var(--u) * 1 * var(--schaal, 1));
	font-size: calc(var(--u) * 5 * var(--schaal, 1));
	font-weight: 500;
}

.bpzw-stage.is-staand.is-bezoek:not(.heeft-bpzlogo) .bpzw-welkom {
	font-size: calc(var(--u) * 7 * var(--schaal, 1));
	font-weight: 700;
}

.bpzw-stage.is-staand.is-bezoek .bpzw-midlogo {
	margin-top: calc(var(--u) * 4 * var(--schaal, 1));
}

.bpzw-stage.is-staand.is-bezoek .bpzw-midlogo img {
	width: calc(var(--u) * 52 * var(--schaal, 1));
	height: auto;
}

/* Gasten onder de kop */
.bpzw-stage.is-staand.is-bezoek .bpzw-gasten {
	display: flex;
	top: 38%;
	bottom: 21%;
	justify-content: flex-start;
	padding-top: calc(var(--u) * 2);
}

/* Plek voor het bedrijfslogo direct onder de tekst (het logo zelf wordt hier neergezet). */
.bpzw-kaartplek {
	display: none;
	flex: none;
	width: 1px;
	margin-top: calc(var(--u) * 4.4);
}

.bpzw-stage.is-staand.heeft-logo .bpzw-kaartplek {
	display: block;
}

.bpzw-stage.is-staand .bpzw-scheiding {
	width: calc(var(--u) * 9 * var(--schaal, 1));
	height: calc(var(--u) * 0.55);
	margin: 0 0 calc(var(--u) * 3.6 * var(--schaal, 1));
}

.bpzw-stage.is-staand .bpzw-title {
	font-size: calc(var(--u) * 9.2 * var(--schaal, 1));
}

.bpzw-stage.is-staand .bpzw-company {
	margin-top: calc(var(--u) * 2.4 * var(--schaal, 1));
	font-size: calc(var(--u) * 4.4 * var(--schaal, 1));
}

.bpzw-stage.is-staand .bpzw-message {
	margin-top: calc(var(--u) * 3.4 * var(--schaal, 1));
	padding: calc(var(--u) * 2.6 * var(--schaal, 1)) 0 0;
	border-left: 0;
	border-top: calc(var(--u) * 0.2) solid rgba(255, 255, 255, 0.25);
	max-width: calc(var(--u) * 76);
	font-size: calc(var(--u) * 3.2 * var(--schaal, 1));
}

.bpzw-stage.is-staand .bpzw-logo-card {
	top: 66.5%;
	bottom: auto;
	left: 50%;
	right: auto;
	transform: translateX(-50%);
	min-width: calc(var(--u) * 44);
	max-width: calc(var(--u) * 80);
	min-height: calc(var(--u) * 17);
	padding: calc(var(--u) * 3.4) calc(var(--u) * 6);
	border-radius: calc(var(--u) * 2.2);
	box-shadow: 0 calc(var(--u) * 2.5) calc(var(--u) * 8) rgba(5, 12, 30, 0.5);
}

.bpzw-stage.is-staand .bpzw-logo-card img {
	max-width: calc(var(--u) * 66);
	max-height: calc(var(--u) * 11);
}

.bpzw-stage.is-staand.is-uit .bpzw-logo-card {
	transform: translate3d(-50%, calc(var(--u) * 2), 0);
}

.bpzw-stage.is-staand .bpzw-gelegenheid {
	left: calc(var(--u) * 7);
	right: calc(var(--u) * 7);
	top: 12.5%;
	bottom: 33.5%;
}

/* Compact weer bij bezoek: één regel met nu en de komende 4 dagen */
.bpzw-stage.is-staand.is-bezoek .bpzw-weerpaneel {
	display: flex;
	align-items: center;
	gap: calc(var(--u) * 3);
	padding: calc(var(--u) * 2.6) calc(var(--u) * 3.6);
	border-radius: calc(var(--u) * 2.4);
}

.bpzw-stage.is-staand.is-bezoek .bpzw-wp-nu {
	flex: none;
	gap: calc(var(--u) * 1.6);
}

.bpzw-stage.is-staand.is-bezoek .bpzw-wp-icoon {
	width: calc(var(--u) * 7.5);
	height: calc(var(--u) * 7.5);
}

.bpzw-stage.is-staand.is-bezoek .bpzw-wp-temp {
	font-size: calc(var(--u) * 7.5);
}

.bpzw-stage.is-staand.is-bezoek .bpzw-wp-tekst {
	margin-left: calc(var(--u) * 0.4);
	gap: 0;
}

.bpzw-stage.is-staand.is-bezoek .bpzw-wp-tekst strong {
	max-width: calc(var(--u) * 15);
	font-size: calc(var(--u) * 2.6);
	line-height: 1.2;
}

.bpzw-stage.is-staand.is-bezoek .bpzw-wp-tekst span {
	display: none;
}

.bpzw-stage.is-staand.is-bezoek .bpzw-wp-dagen {
	flex: 1;
	margin: 0;
	padding: 0 0 0 calc(var(--u) * 2.4);
	border-top: 0;
	border-left: calc(var(--u) * 0.12) solid rgba(255, 255, 255, 0.18);
}

.bpzw-stage.is-staand.is-bezoek .bpzw-wp-dag {
	width: 25%;
	gap: calc(var(--u) * 0.7);
}

.bpzw-stage.is-staand.is-bezoek .bpzw-wp-dag:first-child {
	display: none;
}

.bpzw-stage.is-staand.is-bezoek .bpzw-wp-dag svg {
	width: calc(var(--u) * 5);
	height: calc(var(--u) * 5);
	margin: 0;
}

.bpzw-stage.is-staand.is-bezoek .bpzw-wp-naam {
	font-size: calc(var(--u) * 2.1);
	letter-spacing: 0.08em;
}

.bpzw-stage.is-staand.is-bezoek .bpzw-wp-max {
	font-size: calc(var(--u) * 2.8);
}

.bpzw-stage.is-staand.is-bezoek .bpzw-wp-min {
	font-size: calc(var(--u) * 2.2);
}

.bpzw-stage.is-staand .bpzw-foot {
	left: calc(var(--u) * 7);
	right: calc(var(--u) * 7);
	bottom: calc(var(--u) * 5);
	font-size: calc(var(--u) * 3.8);
}

.bpzw-stage.is-staand .bpzw-dots {
	gap: calc(var(--u) * 1.2);
}

.bpzw-stage.is-staand .bpzw-dots i {
	width: calc(var(--u) * 1.2);
	height: calc(var(--u) * 1.2);
}

.bpzw-stage.is-staand .bpzw-dots i.is-actief {
	width: calc(var(--u) * 4);
	border-radius: calc(var(--u) * 0.6);
}

.bpzw-stage.is-staand .bpzw-voorbeeld-label {
	top: calc(var(--u) * 2);
	padding: calc(var(--u) * 1) calc(var(--u) * 2.4);
	font-size: calc(var(--u) * 2);
}

@media (prefers-reduced-motion: reduce) {
	.bpzw-slide.is-actief,
	.bpzw-ambient span {
		animation: none;
	}
}
