/* lever Warteliste: dunkles Band mit weißer Formular-Karte, auf der Startseite und den App-Seiten.
   Markup: section.pad.final#start > .wrap.wl > .wl-copy + form.wl-card.wait. Skript: assets/waitlist.js, Server: waitlist.php */
.wait-msg{font-family:var(--ui);font-size:12.5px;line-height:1.5;color:var(--ink3);margin-top:10px;max-width:460px}
.wait-msg.ok{color:#1a7f4b}
.wait-msg.ok b{color:var(--ink)}
.wait-msg .addr{color:var(--ink);font-weight:500;user-select:all;overflow-wrap:anywhere}
.wait input[aria-invalid="true"]{box-shadow:inset 0 0 0 1.5px #d6331f}

.final{position:relative;background:var(--dark);color:var(--on-dark);text-align:left;overflow:hidden;isolation:isolate}
.final::before{content:"";position:absolute;right:-12%;top:-35%;width:72%;height:150%;z-index:-1;background:radial-gradient(closest-side,rgba(255,122,0,.3),transparent);filter:blur(40px)}
.wl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(40px,6vw,96px);align-items:center}
.wl-copy{min-width:0}
.final .wl .mascot-stand{margin:0 0 6px -18px}
.wl-icon{width:72px;height:72px;margin-bottom:26px;filter:drop-shadow(0 18px 32px rgba(242,60,0,.45))}
.final .wl .eyebrow{color:var(--on-dark2)}
.final .wl .h2{margin:14px 0 20px;max-width:none;color:var(--on-dark)}
.final .wl .lead{margin:0;max-width:520px;color:var(--on-dark2)}
.final .wl .lead em{color:var(--on-dark)}
.wl-points{list-style:none;margin-top:32px;display:grid;gap:14px;font-family:var(--ui);font-size:15px;line-height:1.5;color:var(--on-dark2)}
.wl-points li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;align-items:start}
.wl-points i{width:26px;height:26px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;box-shadow:0 8px 18px -10px rgba(242,60,0,.9)}
.wl-points i svg{width:14px;height:14px}
.wl-points b{color:var(--on-dark);font-weight:500}

.final .wl-card{position:relative;max-width:none;margin:0;display:block;text-align:left;border-radius:28px;background:#fff;color:var(--ink);padding:clamp(24px,3vw,40px);box-shadow:0 50px 100px -40px rgba(0,0,0,.7)}
.wl-card h3{font-family:var(--display);font-weight:400;font-size:clamp(26px,2.6vw,34px);letter-spacing:-.03em;line-height:1.1}
.wl-card .wl-label{display:block;font-family:var(--ui);font-size:13px;font-weight:500;color:var(--ink2);margin:22px 0 8px}
.wl-card .wl-row{display:flex;gap:8px}
.wl-card .wl-row input{flex:1;min-width:0;height:54px;border:0;border-radius:14px;box-shadow:inset 0 0 0 1px rgba(11,11,11,.16);padding:0 16px;background:#fff;font:400 15px/1 var(--ui);color:var(--ink);outline:none;transition:box-shadow 180ms ease}
.wl-card .wl-row input:focus{box-shadow:inset 0 0 0 2px var(--o2)}
.wl-card .wl-row input[aria-invalid="true"]{box-shadow:inset 0 0 0 1.5px #d6331f}
.wl-card .wl-row .btn{height:54px;border-radius:14px;padding:0 22px;font-size:15px}
.wl-card .btn[disabled]{opacity:.6;cursor:progress}
.wl-card .wl-check{display:flex;align-items:center;gap:10px;margin-top:16px;font-family:var(--ui);font-size:14px;color:var(--ink2);cursor:pointer}
.wl-card .wl-check input{width:18px;height:18px;margin:0;flex:none;accent-color:#f23c00}
.wl-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.wl-card .wl-legal{margin-top:18px;font-family:var(--ui);font-size:12.5px;line-height:1.55;color:var(--ink3)}
.wl-card .wl-legal a{color:var(--ink2);text-decoration:underline;text-underline-offset:2px}
.wl-card .wait-msg{margin:14px 0 0;text-align:left;max-width:none;font-size:13.5px;color:#b42318}
.wl-done{text-align:center;padding:14px 0 6px}
.wl-mail{width:64px;height:64px;margin:0 auto;border-radius:50%;display:grid;place-items:center;background:var(--grad);color:#fff;box-shadow:0 16px 30px -14px rgba(242,60,0,.8)}
.wl-mail svg{width:28px;height:28px}
.wl-done b{display:block;margin-top:18px;font-family:var(--display);font-weight:400;font-size:clamp(26px,2.6vw,32px);letter-spacing:-.03em}
.wl-done p{margin:10px auto 0;max-width:34ch;font-family:var(--ui);font-size:15px;line-height:1.6;color:var(--ink2)}
.wl-done .addr{font-weight:500;color:var(--ink);overflow-wrap:anywhere}
.wl-done small{display:block;margin-top:14px;font-family:var(--ui);font-size:12.5px;color:var(--ink3)}
@media(max-width:900px){.wl{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){.wl-card .wl-row{flex-direction:column}.wl-card .wl-row input{flex:none;width:100%}.wl-card .wl-row .btn{width:100%}}

/* Ideen- und Frage-Formular (assets/contact.js, contact.php) */
.ask{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;width:100%;margin-top:22px}
.card .ask{margin-top:auto;padding-top:20px}
.ask textarea{display:block;width:100%;min-height:96px;resize:vertical;border:0;border-radius:14px;box-shadow:inset 0 0 0 1px rgba(11,11,11,.14);background:#fff;padding:12px 14px;font:400 14.5px/1.5 var(--ui);color:var(--ink);outline:none;transition:box-shadow 180ms ease}
.ask-row{display:flex;gap:8px}
.ask-row input{flex:1;min-width:0;height:46px;border:0;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(11,11,11,.14);background:#fff;padding:0 16px;font:400 14px/1 var(--ui);color:var(--ink);outline:none;transition:box-shadow 180ms ease}
.ask textarea:focus,.ask-row input:focus{box-shadow:inset 0 0 0 2px var(--o2)}
.ask [aria-invalid="true"]{box-shadow:inset 0 0 0 1.5px #d6331f}
.ask .ask-row .btn{flex:none;height:46px;margin:0;padding:0 18px;font-size:14px}
.ask .btn[disabled]{opacity:.6;cursor:progress}
.ask .wait-msg{margin:2px 0 0;max-width:none;font-size:13px;color:#b42318}
.ask .ask-legal{margin:2px 0 0;font-family:var(--ui);font-size:12px;line-height:1.5;color:var(--ink3)}
.ask .ask-legal a{color:var(--ink2);text-decoration:underline;text-underline-offset:2px}
.ask-done{display:flex;gap:12px;align-items:flex-start;margin-top:22px;padding:16px 18px;border-radius:16px;background:#fff;box-shadow:0 0 0 1px var(--line);font-family:var(--ui)}
.card .ask-done{margin-top:auto}
.ask-done[hidden]{display:none}
.ask-done i{flex:none;width:28px;height:28px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;box-shadow:0 8px 18px -10px rgba(242,60,0,.9)}
.ask-done .ask-done-t{margin:0;font-family:var(--ui);font-size:14px;line-height:1.5;color:var(--ink2)}
.ask-done .ask-done-t b{display:block;margin-bottom:2px;font-weight:500;color:var(--ink)}
.ask-done .ask-done-t span{display:block}
@media(max-width:520px){.ask-row{flex-direction:column}.ask-row input{flex:none;width:100%}.ask .ask-row .btn{width:100%}}
