/* Wartelisten-Pop-up Rotlicht-Panels (Steffen 6.10.2026). Logik: inc/photon-warteliste-popup.php
   Look = die Newsletter-Box in den Blogs (.pp-nl-cta): Navy-Fläche, orange Lichtschein, oranger Knopf.
   Steffen 6.10.: rotes Knopf wirkt alarmierend, Bild und Auswahl raus, weniger überladen.
   Das Newsletter-Pop-up (inc/photon-newsletter-popup.php) nutzt dieselben Klassen, Änderungen hier treffen beide. */
.pp-wl {
	--pp-wl-navy: #234669;
	--pp-wl-orange: #E0731A;
	--pp-wl-orange-hell: #EF8330;
	--pp-wl-orange-dunkel: #c96313;
	--pp-wl-eyebrow: #F0D9BE;
	--pp-wl-text: #d7e0ea;
	--pp-wl-fein: #9fb2c6;
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 9990;
	width: 360px;
	max-width: calc(100vw - 32px);
	overflow: hidden;
	background: var(--pp-wl-navy);
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 20px;
	box-shadow: 0 16px 40px rgba(10, 25, 45, .35), 0 2px 8px rgba(10, 25, 45, .2);
	font-family: Montserrat, "Segoe UI", system-ui, sans-serif;
	color: #fff;
	opacity: 0;
	transform: translateY(16px);
	transition: opacity .35s ease, transform .35s ease;
}
.pp-wl[hidden], .pp-wl [hidden] { display: none !important; }
.pp-wl.pp-wl--offen { opacity: 1; transform: none; }

.pp-wl__leiste { display: none; }
.pp-wl__karte { position: relative; padding: 26px 24px 18px; }
.pp-wl__glow {
	position: absolute;
	top: -45%;
	right: -20%;
	width: 75%;
	height: 160%;
	background: radial-gradient(closest-side, rgba(224, 115, 26, .45) 0%, rgba(224, 115, 26, 0) 100%);
	pointer-events: none;
}
.pp-wl__inhalt { position: relative; }
.pp-wl__kopf { display: flex; align-items: center; gap: 16px; margin-bottom: 10px; }
.pp-wl__panels { flex: 0 0 auto; display: flex; align-items: flex-end; gap: 7px; filter: drop-shadow(0 6px 12px rgba(5, 15, 30, .45)); }
.pp-wl__panel { display: block; width: auto; max-width: none; border: 0; }
.pp-wl__panel--l { height: 92px; }
.pp-wl__panel--m { height: 60px; }
.pp-wl p { margin: 0; }
.pp-wl__kicker {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--pp-wl-eyebrow);
	margin-bottom: 8px !important;
}
.pp-wl__titel {
	font-size: 21px;
	font-weight: 800;
	line-height: 1.2;
	color: #fff;
	padding-right: 22px;
	margin-bottom: 0 !important;
	text-wrap: balance;
}
.pp-wl__text { font-size: 14.5px; line-height: 1.55; color: var(--pp-wl-text); margin-bottom: 16px !important; }

.pp-wl__form { display: grid; gap: 10px; margin: 0; }
.pp-wl__label {
	position: absolute !important;
	width: 1px; height: 1px; overflow: hidden;
	clip: rect(0 0 0 0); white-space: nowrap;
}
.pp-wl .pp-wl__mail {
	width: 100%;
	box-sizing: border-box;
	font: inherit;
	font-size: 15px;
	padding: 13px 16px;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 12px;
	background: #fff;
	color: #1b2430;
	box-shadow: inset 0 2px 6px rgba(10, 25, 45, .18);
	margin: 0;
}
.pp-wl .pp-wl__mail:focus { outline: 3px solid rgba(224, 115, 26, .55); outline-offset: 1px; }
.pp-wl__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.pp-wl .pp-wl__knopf {
	width: 100%;
	font: inherit;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .02em;
	text-transform: none;
	padding: 13px 18px;
	border: 0;
	border-radius: 12px;
	background: linear-gradient(180deg, var(--pp-wl-orange-hell) 0%, var(--pp-wl-orange) 100%);
	color: #fff;
	cursor: pointer;
	line-height: 1.2;
	box-shadow: 0 6px 18px rgba(224, 115, 26, .35);
	transition: background .15s ease, transform .15s ease;
}
.pp-wl .pp-wl__knopf:hover, .pp-wl .pp-wl__knopf:focus-visible { background: var(--pp-wl-orange-dunkel); color: #fff; transform: translateY(-1px); }
.pp-wl .pp-wl__knopf:focus-visible { outline: 3px solid rgba(255, 255, 255, .7); outline-offset: 2px; }
.pp-wl .pp-wl__knopf[disabled] { opacity: .65; cursor: progress; transform: none; }
.pp-wl__fehler { font-size: 13px; color: #ffd0b0; }
.pp-wl__einwilligung { font-size: 11px; line-height: 1.45; color: var(--pp-wl-fein); }
.pp-wl__einwilligung a { color: var(--pp-wl-fein); text-decoration: underline; }

.pp-wl .pp-wl__zu {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 1;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--pp-wl-text);
	font-size: 24px;
	line-height: 32px;
	cursor: pointer;
}
.pp-wl .pp-wl__zu:hover, .pp-wl .pp-wl__zu:focus-visible { background: rgba(255, 255, 255, .12); color: #fff; }

/* Handy: schmale Leiste unten, „Eintragen“ klappt die Karte auf */
@media (max-width: 600px) {
	.pp-wl {
		left: 0;
		right: 0;
		bottom: 0;
		width: auto;
		max-width: none;
		border-radius: 18px 18px 0 0;
		border-width: 1px 0 0;
	}
	.pp-wl__leiste {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 10px 48px 10px 16px;
		min-height: 54px;
		box-sizing: border-box;
	}
	.pp-wl__leiste-text { flex: 1; font-size: 13.5px; font-weight: 700; line-height: 1.3; color: #fff; }
	.pp-wl .pp-wl__leiste-knopf {
		flex: 0 0 auto;
		font: inherit;
		font-size: 13.5px;
		font-weight: 800;
		text-transform: none;
		padding: 9px 16px;
		border: 0;
		border-radius: 10px;
		background: linear-gradient(180deg, var(--pp-wl-orange-hell) 0%, var(--pp-wl-orange) 100%);
		color: #fff;
		cursor: pointer;
	}
	.pp-wl__karte { display: none; padding: 22px 18px 18px; }
	.pp-wl.pp-wl--auf .pp-wl__leiste { display: none; }
	.pp-wl.pp-wl--auf .pp-wl__karte { display: block; }
	.pp-wl__titel { font-size: 19px; }
	.pp-wl .pp-wl__zu { top: 11px; }
}

@media (prefers-reduced-motion: reduce) {
	.pp-wl { transition: none; transform: none; }
}
