.ust-pop {
	--pop-accent: var(--b-primary, #2f5d62);
	--pop-accent-d: var(--b-primary-d, #1f4247);
	--pop-soft: var(--b-satin, #eef4f4);
	--pop-line: var(--b-line, #e3e5e9);
	--pop-ink: var(--b-ink, #1b1d21);
	--pop-muted: var(--b-muted, #686d76);
	--pop-display: var(--b-display, inherit);
	position: fixed; inset: 0; z-index: 2147483000; display: flex; align-items: center; justify-content: center; padding: 16px;
	color: var(--pop-ink);
}
.ust-pop[hidden] { display: none; }
.ust-pop-backdrop { position: absolute; inset: 0; background: radial-gradient(circle at 50% 30%, rgba(60, 20, 50, .5), rgba(18, 10, 22, .72)); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); opacity: 0; transition: opacity .28s ease; }
.ust-pop-dialog { position: relative; width: 100%; max-width: 560px; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); display: flex; flex-direction: column; background: #fff; border-radius: 24px; box-shadow: 0 2px 4px rgba(20, 8, 24, .08), 0 30px 80px -10px rgba(20, 8, 24, .5); outline: none; opacity: 0; transform: translateY(26px) scale(.96); transition: opacity .28s ease, transform .4s cubic-bezier(.2, 1.1, .3, 1); overflow: hidden; }
.ust-pop-dialog.is-survey { max-width: 660px; }
.ust-pop.is-open .ust-pop-backdrop { opacity: 1; }
.ust-pop.is-open .ust-pop-dialog { opacity: 1; transform: none; }

.ust-pop-x { position: absolute; top: 12px; right: 12px; z-index: 5; width: 36px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .22); color: #fff; cursor: pointer; transition: background .15s; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.ust-pop-x:hover, .ust-pop-x:focus-visible { background: rgba(255, 255, 255, .4); }
.ust-pop-dialog.is-survey .ust-pop-x { background: var(--pop-soft); color: var(--pop-ink); }
.ust-pop-dialog.is-survey .ust-pop-x:hover { background: var(--pop-line); }

/* Einladung */
.ust-pop-ask { overflow-y: auto; overscroll-behavior: contain; }
.ust-pop-ask[hidden], .ust-pop-main[hidden] { display: none; }
.ust-pop-orbs { position: absolute; inset: 0; overflow: hidden; }
.ust-pop-hero { position: relative; height: 128px; background: linear-gradient(135deg, var(--pop-accent-d), var(--pop-accent) 70%, color-mix(in srgb, var(--pop-accent) 70%, #ffb3cf)); }
.ust-pop-orb { position: absolute; border-radius: 50%; background: rgba(255, 255, 255, .13); animation: ust-pop-float 7s ease-in-out infinite; }
.ust-pop-orb--1 { width: 170px; height: 170px; left: -50px; top: -80px; }
.ust-pop-orb--2 { width: 110px; height: 110px; right: 40px; top: 30px; background: rgba(255, 255, 255, .09); animation-delay: -2s; }
.ust-pop-orb--3 { width: 60px; height: 60px; left: 38%; bottom: -26px; background: rgba(255, 255, 255, .16); animation-delay: -4s; }
.ust-pop-badge { position: absolute; left: 50%; bottom: -34px; width: 76px; height: 76px; margin-left: -38px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--pop-accent); box-shadow: 0 10px 26px -6px rgba(20, 8, 24, .45); animation: ust-pop-bounce .7s .25s cubic-bezier(.3, 1.6, .5, 1) both; }
.ust-pop-ask-inner { padding: 50px 30px 24px; text-align: center; }
.ust-pop-ask-title { margin: 0 0 10px; font-family: var(--pop-display); font-size: 1.55em; line-height: 1.2; font-weight: 600; letter-spacing: -.01em; color: var(--pop-ink); }
.ust-pop-intro { margin: 0 auto 16px; max-width: 440px; color: var(--pop-muted); line-height: 1.55; }
.ust-pop-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; }
.ust-pop-chips li { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: var(--pop-soft); color: var(--pop-accent-d); font-size: .85em; font-weight: 600; }
.ust-pop-chips svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.ust-pop-gift { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 20px; padding: 14px 16px; border-radius: 16px; text-align: left; background: linear-gradient(135deg, #fff4dc, #ffe9ee); box-shadow: inset 0 0 0 1px rgba(214, 150, 40, .28); font-size: .95em; line-height: 1.45; }
.ust-pop-gift p { margin: 0; }
.ust-pop-gift-ic { flex: 0 0 auto; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: #fff; color: #c2681a; box-shadow: 0 2px 8px rgba(194, 104, 26, .2); }
.ust-pop-gift-ic--s { width: 28px; height: 28px; border-radius: 9px; box-shadow: none; background: #fff; }
.ust-pop-gift-ic--s svg { width: 16px; height: 16px; }
.ust-pop-auth { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px !important; }

.ust-pop-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 999px; padding: 13px 28px; background: linear-gradient(135deg, var(--pop-accent), var(--pop-accent-d)); color: #fff !important; font: inherit; font-weight: 700; text-decoration: none !important; cursor: pointer; line-height: 1.2; box-shadow: 0 8px 20px -8px var(--pop-accent); transition: transform .15s, box-shadow .15s, filter .15s; }
.ust-pop-btn:hover, .ust-pop-btn:focus-visible { transform: translateY(-1px); filter: brightness(1.07); box-shadow: 0 12px 24px -8px var(--pop-accent); }
.ust-pop-btn--main { width: 100%; max-width: 340px; font-size: 1.05em; }
.ust-pop-btn--main svg { transition: transform .15s; }
.ust-pop-btn--main:hover svg { transform: translateX(3px); }
.ust-pop-btn--sm { padding: 8px 16px; font-size: .88em; box-shadow: none; }
.ust-pop-btn--ghost { background: #fff; color: var(--pop-accent-d) !important; box-shadow: inset 0 0 0 2px var(--pop-accent); }
.ust-pop-ask-actions { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.ust-pop-ask-sub { display: flex; gap: 18px; }
.ust-pop-link { border: 0; background: none; color: var(--pop-muted); font: inherit; font-size: .88em; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; padding: 6px 2px; }
.ust-pop-link:hover { color: var(--pop-ink); }

/* Umfrage */
.ust-pop-main { display: flex; flex-direction: column; min-height: 0; flex: 1 1 auto; border-top: 5px solid transparent; border-image: linear-gradient(90deg, var(--pop-accent-d), var(--pop-accent), #ffb3cf) 1; animation: ust-pop-in .35s ease both; }
.ust-pop-body { flex: 1 1 auto; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 14px 10px 8px; overscroll-behavior: contain; }
.ust-pop-body .ust, .ust-pop-body .ust.ust--embed { margin: 0; max-width: none; animation: none; }
.ust-pop-body .ust--card .ust-shell { box-shadow: none; border: 0; background: transparent; }
.ust-pop-note { display: flex; align-items: center; gap: 10px; margin: 6px 16px 4px; padding: 8px 12px; border-radius: 12px; background: linear-gradient(135deg, #fff4dc, #ffe9ee); font-size: .9em; line-height: 1.35; }
.ust-pop-foot { display: flex; gap: 14px; justify-content: flex-start; align-items: center; padding: 8px 20px 12px; border-top: 1px solid var(--pop-line); background: #fff; }
.ust-pop-close { margin-left: auto; border: 0; border-radius: 999px; padding: 10px 26px; background: linear-gradient(135deg, var(--pop-accent), var(--pop-accent-d)); color: #fff; font: inherit; font-weight: 700; cursor: pointer; box-shadow: 0 8px 20px -8px var(--pop-accent); }
.ust-pop-close[hidden], .ust-pop-link[hidden] { display: none; }
html.ust-pop-lock, html.ust-pop-lock body { overflow: hidden; }

/* gestaffeltes Einblenden der Einladung */
.is-open .ust-pop-ask-inner > * { animation: ust-pop-in .5s cubic-bezier(.2, .8, .2, 1) both; }
.is-open .ust-pop-ask-inner > :nth-child(1) { animation-delay: .12s; }
.is-open .ust-pop-ask-inner > :nth-child(2) { animation-delay: .18s; }
.is-open .ust-pop-ask-inner > :nth-child(3) { animation-delay: .24s; }
.is-open .ust-pop-ask-inner > :nth-child(4) { animation-delay: .30s; }
.is-open .ust-pop-ask-inner > :nth-child(5) { animation-delay: .36s; }
@keyframes ust-pop-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes ust-pop-bounce { from { opacity: 0; transform: scale(.4); } to { opacity: 1; transform: none; } }
@keyframes ust-pop-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(10px); } }

@media (max-width: 560px) {
	.ust-pop { padding: 0; align-items: flex-end; }
	.ust-pop-dialog, .ust-pop-dialog.is-survey { max-width: none; max-height: 94vh; max-height: 94dvh; border-radius: 24px 24px 0 0; transform: translateY(60px); }
	.ust-pop-hero { height: 104px; }
	.ust-pop-ask-inner { padding: 48px 20px 20px; }
	.ust-pop-ask-title { font-size: 1.35em; }
}
@media (prefers-reduced-motion: reduce) {
	.ust-pop-backdrop, .ust-pop-dialog { transition: none; }
	.ust-pop-orb, .ust-pop-badge, .is-open .ust-pop-ask-inner > *, .ust-pop-main { animation: none; }
}
