/**
 * umfrage.css - Umfrage SRG1 (Post 23043, gcom360.online)
 *
 * Runde 4 (Browser-QA-Fix): dieses CSS lag vorher als Style-Block direkt
 * in _elementor_data (HTML-Widgets Rabatt-Karten + a3b0bc6). Elementor
 * kses-saniert _elementor_data beim Speichern fuer den CLI-User (uid 0,
 * keine unfiltered_html-Capability) und entfernt dabei Style- und Script-Tags
 * komplett (Inhalt blieb als sichtbarer Klartext im DOM stehen, CSS griff
 * nie). Ein anderer Meta-Key mit identischem Inhalt behielt die Tags -
 * die Sanitisierung ist _elementor_data-spezifisch. Fix: Assets raus aus
 * den Elementor-Daten, hier rein und per mu-Plugin enqueued (siehe
 * ../gcom360-umfrage-assets.php).
 *
 * Unveraendert aus widget-rabattkarten.html + widget-progressbar.html
 * VERSCHOBEN (nicht neu geschrieben) - inkl. aller Review-Fixes F1-F6
 * aus Runde 3 (Rennstrecke --p auf .srg1-track, :has() auf Options-Ebene,
 * unsichtbare Vollflaechen-Inputs, Hero-Overlay- und Teko-Heading-Override).
 */

/* ===== Teko lokal laden (03.09. abends): Elementor emittiert den Custom-Font
   Teko nur, wenn ein Elementor-Widget ihn nutzt. Seit die H1 auf Manrope
   steht, nutzt kein Widget mehr Teko -> .usurv-sec h3 fiel auf Manrope
   zurueck (breiter, ZIELDURCHFAHRT lief mobil aus dem Viewport). Datei =
   vorhandener selbst gehosteter Custom-Font (Post 17689), kein Google-CDN. */
@font-face{
	font-family:'Teko';
	src:url('../../uploads/2024/09/Teko-SemiBold.ttf') format('truetype');
	font-weight:600;
	font-style:normal;
	font-display:swap;
}

/* ===== aus widget-rabattkarten.html ===== */
.usurv-cards{display:flex;gap:20px;flex-wrap:wrap;margin:0 0 40px 0}
.usurv-card{flex:1 1 240px;min-width:220px;position:relative;background:#111111;border:1px solid #333333;border-radius:10px;padding:26px 24px;font-family:'Inter',sans-serif}
.usurv-card-percent{font-family:'Teko','Manrope','Inter',sans-serif;font-weight:700;font-size:64px;line-height:1;color:#FFFFFF;margin:0 0 6px 0;letter-spacing:.01em}
.usurv-card-label{font-size:16px;line-height:1.4;color:#9F9F9F;margin:0}
.usurv-card--boost{background:#000000;border:1px solid #FF7500;box-shadow:0 0 24px -6px #FF5B05}
.usurv-card--boost .usurv-card-percent{color:#FF7500}
.usurv-badge{position:absolute;top:-13px;right:16px;background:#FF7500;color:#000000;font-family:'Teko','Manrope','Inter',sans-serif;font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;padding:4px 12px;border-radius:20px}
@media(max-width:767px){
  .usurv-cards{flex-direction:column}
  .usurv-card-percent{font-size:52px}
}

/* ===== aus widget-progressbar.html ===== */
/* =====================================================================
   SEKTOR-HEADER (sec1, sec2, sec3, sec4, sec5) + Boxenstopp-Upload-Panel
   (sec3b) - Font-Stacks ueberall 'Teko','Manrope','Inter',sans-serif
   fuer Display-/Teko-Text (Spec S7).
   ===================================================================== */
.usurv-sec{position:relative;padding:0 0 0 20px;margin:0 0 8px 0;border-left:4px solid #FF7500}
.usurv-sec .usurv-step{display:block;font-family:'Teko','Manrope','Inter',sans-serif;font-weight:600;font-size:16px;letter-spacing:.08em;text-transform:uppercase;color:#FF7500;margin:0 0 4px 0}
.usurv-sec h3{font-family:'Teko','Manrope','Inter',sans-serif;font-weight:600;font-size:68px;line-height:1.15;text-transform:uppercase;color:#FFFFFF;margin:0 0 6px 0}
.usurv-sec p{font-family:'Inter',sans-serif;font-weight:300;font-size:16px;line-height:1.4;color:#9F9F9F;margin:0}

.usurv-sec-image{margin:14px 0 0 0}
.usurv-sec-image img{display:block;width:100%;max-width:320px;height:auto;border-radius:8px}
.usurv-sec-image figcaption{margin-top:6px;font-family:'Inter',sans-serif;font-size:12px;color:#9F9F9F}

/* Z2 (Runde 2, Zusatzpunkt): Border/Background/Radius sind von HIER
   runter auf die drei AEUSSEREN Feldgruppen gewandert (sec3b/Zustand/
   MarketingFreigabe, siehe Regelblock weiter unten) - sonst Karte-in-
   Karte (doppelte Umrandung). .usurv-upload liefert nur noch die
   Innenabstaende fuer seinen eigenen Inhalt (Titel/Text/Liste/Chip), die
   Aussen-Optik traegt jetzt die Feldgruppe. */
.usurv-upload{padding:0;position:relative}
.usurv-upload ul{margin:16px 0;padding:0;list-style:none}
.usurv-upload li{
	font-family:'Inter',sans-serif;font-weight:300;font-size:18px;color:#FFFFFF;
	padding:8px 0 8px 34px;margin:0;position:relative;line-height:1.45;
}
.usurv-upload li::before{
	content:"";position:absolute;left:0;top:12px;width:20px;height:20px;
	background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF7500' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
}
.usurv-upload .usurv-tip{
	color:#C9C9C9;font-size:14px;line-height:1.6;
	margin-top:16px;padding:14px 0 0 30px;position:relative;
	border-top:1px solid rgba(255,255,255,.12);
}
.usurv-upload .usurv-tip b{color:#FFFFFF;font-weight:600}
.usurv-upload .usurv-tip::before{
	content:"";position:absolute;left:0;top:16px;width:18px;height:18px;
	background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF4D4D' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M5.6 5.6l12.8 12.8'/%3E%3C/svg%3E") center/contain no-repeat;
}
.usurv-note{font-family:'Inter',sans-serif;font-weight:300;font-size:13px;color:#9F9F9F;margin:12px 0 0 0}

/* =====================================================================
   Z2 (Runde 2, Zusatzpunkt) - urspruenglich: sec3b-Panel + Zustand(Upload)
   + MarketingFreigabe als EINE durchgehende Segment-Karte (Border/
   Background/Radius auf allen drei .elementor-field-group-Ebenen,
   identischer Inset ueber post-23043.css padding-left/right:14px).
   SUPERSEDED 04.09.2026 (SuperStyler-Spec "ZEIG SIE UNS"-Photozone):
   die drei Feldgruppen wandern jetzt per initPhotozone() (umfrage.js)
   in eine gemeinsame Ink-Plate (.usurv-photozone-plate, siehe Photozone-
   Block weiter unten) VOR einem Parallax-Foto statt in eine eigene
   Segment-Karte auf normalem Formular-Hintergrund. Die alte Drei-
   Segment-Optik (eigenes Grau, eigene Eck-Radien pro Gruppe) entfaellt
   daher - die drei Gruppen liefern nur noch Reset (kein eigener
   Hintergrund/Radius/Aussenabstand mehr, die Platte uebernimmt das) plus
   die im Photozone-Block definierten Abstaende dazwischen (Kicker->
   Titel/Wunschliste->Upload/Upload->Checkbox laut Spec).
   ===================================================================== */
.elementor-element-9e48dde .elementor-field-group-sec3b{
	background:none;
	border-radius:0;
	/* 06.09.2026: seitlicher Einzug wieder wie bei JEDER anderen Feldgruppe
	   (14px aus post-23043.css). Die 0 stammte aus der Photozone, deren
	   Platte ihren eigenen Innenabstand mitbrachte - ohne sie standen die
	   drei Gruppen 14px weiter links als der Rest und liefen links unter
	   die Ueberlaufkante des Formulars (Titel und Text angeschnitten). */
	padding-left:14px!important;
	padding-right:14px!important;
	padding-top:0;
	padding-bottom:0;
}
/* 06.09.2026 (Daniel: "mit den gleichen abstaenden, baue es passend ein"):
   die beiden Sonderabstaende der Photozone sind raus. sec3b, Zustand und
   MarketingFreigabe nehmen jetzt denselben Aussenabstand wie jede andere
   Feldgruppe des Formulars (60px aus post-23043.css). */

/* Boost-Chip im Upload-Panel (sec3b): grau im Ruhezustand, springt per JS
   auf Orange+Glow, sobald Upload-Input Dateien hat UND MarketingFreigabe
   angehakt ist (Spec S3). */
.usurv-boost-chip{display:inline-block;font-family:'Teko','Manrope','Inter',sans-serif;font-weight:600;font-size:14px;letter-spacing:.03em;text-transform:uppercase;color:#9F9F9F;background:#FFFFFF14;border:1px solid #FFFFFF33;border-radius:20px;padding:5px 14px;margin:0 0 14px 0;transition:border-color 200ms ease, color 200ms ease, box-shadow 200ms ease}
.usurv-boost-chip--active{color:#FF7500;border-color:#FF7500;box-shadow:0 0 14px -4px #FF5B05}

@media(max-width:767px){
	.usurv-sec h3{font-size:48px}
}

/* GripWo-Feldgruppe ist standardmaessig unsichtbar - das JS unten schaltet
   sie frei (nur bei Grip-Antwort Index 2/3). */
.elementor-field-group-GripWo{display:none}

/* =====================================================================
   Z1 (Zusatzpunkt Runde 2, 03.09.2026) - Hide-CSS fuer alle 17 neuen
   Feldgruppen aus Welle B/C: 15 Companion-Textfelder (<Frage>Text) +
   KontaktWeg + Telefon. Initial IMMER unsichtbar, analog zum GripWo-
   Muster oben - die Sichtbarkeit steuert AUSSCHLIESSLICH
   initConditionalCompanions() in umfrage.js (display:block/none), inkl.
   Wert-leeren+disabled beim Verstecken (siehe JS-Kommentar dort).
   Optisch VERSCHMILZT das Feld mit der anklickenden Option (Praezisierung
   Daniel-Screenshot 03.09.): negativer Top-Margin -80px gegen die
   OUTER-Margin-Collapsing-Kette (Gruppe hat via post-23043.css
   margin-bottom:60px, das collapst mit diesem margin-top zu -2px;
   PLUS die letzte Option traegt selbst 10px margin-bottom (Daniel
   03.09. spaet: Optionsabstand um 66% reduziert, 28->10px), die
   NICHT mit der Gruppen-Aussenmarge kollabiert, sondern additiv davor
   steht -> 10 + (60-62) = netto 8px Luft).
   -62 statt der urspruenglich einfacher gedachten -20 ist noetig, weil
   der relevante Kollaps-Partner die 60px-Gruppenmarge ist, NICHT direkt
   die 28px-Optionsmarge (die bleibt IN der Gruppe, unabhaengig
   verifiziert). KEIN eigener
   margin-left-Einzug mehr (vorherige 16px-Einrueckung ENTFERNT, Daniel:
   "nicht eingerueckt daneben") - die Feldgruppe startet am selben
   14px-Padding-Inset wie die Options-Karten darueber (post-23043.css,
   fuer ALLE .elementor-field-group gleich), damit der linke Rand exakt
   fluchtet. KEIN eigener border-left mehr auf der Gruppe (ENTFERNT) -
   das Input selbst traegt bereits einen vollen 2px oranges Rahmen
   inkl. linker Kante (Elementor-Widget-Feldstil, siehe Regel fuer die
   Companion-Inputs weiter unten) - ein zusaetzlicher Gruppen-Rahmen
   haette eine zweite, leicht versetzte orange Linie erzeugt (Doppel-
   Rand-Optik). Abstand zur NAECHSTEN Frage bewusst GROSS (48px
   margin-bottom, Praezisierung: vorher "klebte" die naechste Frage
   fast am Feld).
   !important auf margin: post-23043.css setzt
   ".elementor-23043 .elementor-element.elementor-element-9e48dde
   .elementor-field-group{margin-bottom:60px}" mit 4 Klassen Spezifitaet
   UND laedt NACH dieser Datei (umfrage.css steht laut Kopf-Kommentar in
   <head> VOR elementor-post-23043-css, keine expliziten wp_enqueue-deps) -
   ohne !important wuerde die spaeter geladene Elementor-Regel bei
   Spezifitaets-Gleichstand gewinnen.
   ===================================================================== */
.elementor-field-group-AufmerksamText,
.elementor-field-group-VersionText,
.elementor-field-group-BesitzdauerText,
.elementor-field-group-WheelbaseText,
.elementor-field-group-StundenText,
.elementor-field-group-SimulationText,
.elementor-field-group-KomfortText,
.elementor-field-group-PassformText,
.elementor-field-group-GripText,
.elementor-field-group-GripWoText,
.elementor-field-group-WarmText,
.elementor-field-group-OptikText,
.elementor-field-group-QualiText,
.elementor-field-group-ZufriedenheitText,
.elementor-field-group-EmpfehlenText,
.elementor-field-group-KontaktWeg,
.elementor-field-group-Telefon{
	display:none;
	margin:-62px 0 48px 0!important;
}
/* Companion-Textinputs (15x *Text + Telefon - KontaktWeg ist ein Radio
   und bekommt seine Options-Karten-Optik bereits automatisch ueber die
   S6-Regeln weiter unten, hier NICHT gelistet): Elementor gibt diesem
   Formular-Widget bereits eine schoene volle Karten-Optik je Textfeld
   (2px oranger Rahmen rundum, weisser Text, transluzentes Weiss als
   Hintergrund, radius 5px - per Playwright verifiziert, Widget-eigene
   Typo-Einstellung aus Welle B). Einzige Anpassung hier: radius NUR
   unten rund, oben eckig ("optisch angedockt" an die Option darueber,
   keine eigene abgerundete Oberkante wie eine neue, unabhaengige Box). */
.elementor-field-group-AufmerksamText input,
.elementor-field-group-VersionText input,
.elementor-field-group-BesitzdauerText input,
.elementor-field-group-WheelbaseText input,
.elementor-field-group-StundenText input,
.elementor-field-group-SimulationText input,
.elementor-field-group-KomfortText input,
.elementor-field-group-PassformText input,
.elementor-field-group-GripText input,
.elementor-field-group-GripWoText input,
.elementor-field-group-WarmText input,
.elementor-field-group-OptikText input,
.elementor-field-group-QualiText input,
.elementor-field-group-ZufriedenheitText input,
.elementor-field-group-EmpfehlenText input,
.elementor-field-group-Telefon input{
	border-radius:0 0 5px 5px!important;
}
/* E-Mail-Hinweis-Div (JS-erzeugt in initConditionalCompanions, kein
   Formularfeld) - sitzt als letztes Kind IN der KontaktWeg-Feldgruppe,
   erbt daher deren margin-left/border-left NICHT automatisch (die
   Regel oben greift nur auf die Feldgruppen-Box selbst) - eigener,
   dezenter Stil. */
.usurv-kontakt-hint{
	display:none;
	margin-top:10px;
	font-family:'Inter',sans-serif;
	font-weight:300;
	font-size:13px;
	line-height:1.4;
	color:#9F9F9F;
}

/* =====================================================================
   S5 - Rennstrecken-Progressbar (SuperStyler B1, Basis-Code aus
   /opt/cortex-vault/reports/gcom360/20260903 GCOM360 SuperStyler-Ideen
   Umfrage-SRG1.md, Kapitel B1), Deltas: Fortschritt ueber
   .elementor-widget-form, dynamische Sektor-Marker, Sticky-Header-Offset.
   ===================================================================== */
/* F1: --p wird per JS auf .srg1-track (diesem Element) gesetzt, NICHT auf
   .srg1-track__fill. Fill und Auto sind GESCHWISTER-Kinder von .srg1-track
   und lesen var(--p) beide per CSS-Custom-Property-Vererbung vom Track.
   Wuerde --p stattdessen auf .fill sitzen, waere das Auto (waere es Kind
   von .fill) durch scaleX() mitgestaucht UND doppelt verschoben (p*p statt
   p) - genau der Bug, den dieser Aufbau vermeidet. */
/* Z3 (Runde 2, Zusatzpunkt, mehrfach praezisiert 03.09. nach Erstabnahme):
   - Spur 3x so hoch wie der A1-Stand (mobil 8px, Desktop 16px) -> mobil
     24px, Desktop 48px.
   - KEINE runden Ecken mehr (Praezisierung ersetzt die anfangs verlangte
     proportionale Rundung): border-radius:0 auf Spur UND Fuellung, auch
     am rechten Fuellungs-Ende - kein overflow:hidden mehr noetig (gab es
     nur fuer die jetzt entfallene Eck-Kappung).
   - Hintergrund (ungefuellter Teil) SCHWARZ (#000) statt transluzent.
   - Voll durchgezogen: x:0, width:100vw (verifiziert per Playwright
     getBoundingClientRect - kein Vorfahre mit transform/filter/contain
     zwischen .srg1-track und <body>, position:fixed war bereits echt
     viewport-relativ, keine Aenderung an left/right/top strukturell
     noetig).
   - z-index weit ueber allem: gemessen (Playwright, 03.09.) - diese Seite
     hat GAR KEINEN sticky/fixed Header (Kandidatensuche ergab 0 Treffer,
     der Track lag schon vorher ueber dem gesamten Seiteninhalt) - trotzdem
     defensiv auf 999999 angehoben (Ausnahme bewusst: das Cookie-Consent-
     Overlay von Borlabs MUSS waehrend eines aktiven Banners weiterhin
     alles ueberdecken, das ist ein Consent-Gate und kein konkurrierender
     Header - hier nicht angetastet).
   - Auto+Flagge (Z5b): Glyphenhoehe = Spurhoehe minus 2x5px, exakt
     zentriert (unveraendert per top:50%/transform:translate(-50%,-50%)).
     Auto per filter zur WEISSEN Silhouette (brightness(0) macht JEDE
     Ausgangsfarbe zu Schwarz, invert(1) dreht das zu Weiss - Reihenfolge
     ist deshalb robust unabhaengig vom Original-Emoji-Kolorit) + leichter
     drop-shadow fuer Kontrast auf hellem Bildhintergrund. Flagge bleibt
     als Emoji unveraendert farbig (ist ohnehin s/w), nur Groesse an die
     neue Spur angepasst (gleiche Formel wie Auto fuer visuelle Balance).
   ===================================================================== */
.srg1-track{position:fixed;top:0!important;left:0;right:0;width:100vw;height:48px;z-index:999999;background:#000000;border-radius:0}/* Runde 6 (Daniel, Smartphone): mobil verdoppelt — Balken jetzt ueberall 48px */
/* top:0!important: initTrack() setzt bei erkanntem Fixed-Header ein Inline-
   top (=Header-Hoehe) - seit dem Sticky-Header-Test (03.09. ~23:35) wuerde
   das die Spur unters Logo schieben. Daniel-Ansage: Spur IMMER ganz oben,
   der Header weicht ihr aus (siehe Sticky-Header-Block unten). */
.srg1-track__fill{height:100%;background:linear-gradient(90deg,#FF7500,#FF5B05);box-shadow:0 0 12px #FF5B0580;transform-origin:0 50%;transform:scaleX(var(--p,0));border-radius:0}
/* Runde 6: Emoji-Glyphe ersetzt — 🏎 zeigt je nach Plattform-Font nach
   LINKS (Android/Noto) oder rechts; die SVG-Silhouette faehrt garantiert
   in Fortschrittsrichtung und zentriert sich ohne Baseline-Korrekturen. */
.srg1-track__car{position:absolute;top:50%;left:calc(var(--p,0)*100%);transform:translate(-50%,-50%);width:58px;height:16px;font-size:0;line-height:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6));background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 44'%3E%3Cg fill='%23FFFFFF'%3E%3Crect x='0' y='1' width='15' height='5' rx='1'/%3E%3Crect x='6' y='6' width='4' height='14'/%3E%3Cpath d='M6 27 L6 21 C13 20 19 19 24 17 C29 10 36 8 44 8 L52 8 C57 8 60 10 63 13 C66 15 70 16 76 17 L144 23 C149 24 151 25 151 27 Z'/%3E%3Cpath d='M42 25 L120 27 C124 28 124 32 120 33 L46 33 C42 32 41 28 42 25 Z'/%3E%3Ccircle cx='60' cy='10' r='4'/%3E%3Crect x='132' y='28' width='28' height='4' rx='1'/%3E%3Crect x='156' y='22' width='3' height='10'/%3E%3Ccircle cx='30' cy='30' r='12'/%3E%3Ccircle cx='112' cy='30' r='11'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
/* Runde 3 (Daniel 04.09. abends): Zielflagge -> ZIELBEREICH. Das Emoji im
   Markup bleibt (kses-frei), wird per font-size:0 unsichtbar; das Element
   selbst wird zur 16:9-Zielzone ganz rechts im Streifen (ersetzt dessen
   rechtes Ende, liegt ueber dem Fill): Schwarz-Weiss-Kacheln per
   repeating-conic-gradient. 16:9 zur Streifenhoehe: mobil 24px -> 43px
   breit (Kachel 12 = 2 Reihen), Desktop 48px -> 85px (Kachel 16 = 3
   Reihen). Zieleinlauf-Wackler (.usurv-flag-wave) wirkt weiter aufs
   ganze Element. */
.srg1-track__flag{position:absolute;top:0;right:0;bottom:0;transform:none;width:85px;font-size:0;line-height:0;opacity:1;text-shadow:none;background:repeating-conic-gradient(#f2f2f2 0% 25%,#0d0d0d 0% 50%) 0 0/16px 16px}
/* Sektor-Ticks: Daniel 03.09. ~22:35 gestrichen ("die striche im
   fortschrittsbalken kannst du streichen") - Elemente bleiben im Markup
   (JS-Sektor-Blink-Gimmick referenziert sie), werden nur nicht mehr
   gezeichnet. */
.srg1-track__sector{display:none}
@media(prefers-reduced-motion:reduce){
	.srg1-track__car{display:none}
}
/* Z3+Z5b: Track Desktop 16px -> 48px, Auto/Flagge auf 38px (48-10, exakte
   Z5b-Formel). Mobil (Basisregel oben) 24px Spur -> 14px (24-10). */
@media(min-width:768px){
	/* Daniel ~22:35: Rennwagen auf dem Desktop groesser (76px breit). */
	.srg1-track__car{width:80px;height:22px}
}

/* =====================================================================
   Z3-Nachtrag (Runde 2): das GESAMTE Progress-UI (Spur + Antwort-Chip)
   ist auf der Startseite/im Hero-Bereich stoerend - erst sichtbar, sobald
   der Nutzer bis zur "Aufwaermrunde" (Kapitel sec1) gescrollt hat, danach
   dauerhaft sichtbar (auch waehrend sec2..sec5) - blendet nur wieder aus,
   wenn man ÜBER sec1 zurueckscrollt. Klasse .usurv-progress-visible wird
   von initTrack() (umfrage.js) anhand der Scroll-Position gegen den TOP-
   Offset von .usurv-chapter--sec1 gesetzt (keine IntersectionObserver-
   "aktuell im Viewport"-Semantik - die wuerde beim Weiterscrollen in
   sec2+ faelschlich wieder ausblenden, sobald sec1 aus dem Sichtfenster
   verschwindet).
   ===================================================================== */
.srg1-track,
.srg1-answers{
	opacity:0;
	transition:opacity .4s ease;
}
.srg1-track.usurv-progress-visible{
	opacity:1;
}
/* Runde 3b (Daniel 04.09.): Chip n/17 zusaetzlich erst zeigen, wenn der
   Wagen die Chip-Position passiert hat (Klasse usurv-chip-clear aus
   initTrack) - vorher ueberlagern sich Wagen und Chip in der Startzone. */
.srg1-answers.usurv-progress-visible.usurv-chip-clear{
	opacity:1;
}
@media(prefers-reduced-motion:reduce){
	.srg1-track,
	.srg1-answers{
		transition:none;
	}
}

/* =====================================================================
   Z5a (Runde 2, Zusatzpunkt, praezisiert): Antwort-Chip von rechts unten
   nach LINKS unten (exakt 33px), doppelte Schriftgroesse (13px->26px,
   Mobil 11px->22px), Schriftgewicht +100 (600->700), OHNE Pill/Rand/
   Hintergrund - reiner weisser Text mit text-shadow fuer Lesbarkeit auf
   hellem Bilduntergrund statt Kontur.
   ===================================================================== */
/* Runde 3 (Daniel 04.09. abends): Chip n/17 vom unteren Rand IN den
   Streifen - links 33px, vertikal zentriert (flex ueber die volle
   Streifenhoehe 24/48px). z-index 1000000 = eine Stufe ueber Spur/Fill.
   Schriftgroesse mobil auf 15px (24px-Streifen), Desktop bleibt 26/700.
   Bekannter, bewusster Effekt: bei sehr kleinem Fortschritt steht das
   76px-Auto kurz ueber dem Chip (beide links) - Daniel-Anordnung. */
.srg1-answers{position:fixed;top:0;left:33px;height:48px;display:flex;align-items:center;z-index:1000000;background:transparent;border:none;padding:0;font-family:'Inter',sans-serif;font-size:20px;font-weight:700;color:#FFFFFF;text-shadow:0 1px 6px rgba(0,0,0,.8);pointer-events:none}
@media(min-width:768px){
	.srg1-answers{height:48px;font-size:26px}
}

/* =====================================================================
   Z5c (Runde 2, Zusatzpunkt) - Animations-Gimmicks. Ausnahmslos NUR
   transform/opacity/box-shadow (kein Layout-Shift), komplett
   deaktiviert bei prefers-reduced-motion:reduce (Doppel-Absicherung:
   JS ueberspringt das Setzen der Klassen bereits komplett ueber
   reduceMotionQuery, siehe umfrage.js - dieser Media-Block ist die
   zweite, rein CSS-seitige Absicherung, falls doch mal eine Klasse
   gesetzt wuerde).
   ===================================================================== */
@media(prefers-reduced-motion:no-preference){
	/* Z5c.1 Speed-Boost: Auto bekommt fuer 500ms einen Skew + 2
	   Speedlines hinter sich (in Scroll-/Fahrtrichtung = LINKS vom Auto,
	   da --p von links nach rechts waechst). Basis-Zentrierung
	   (translate(-50%,-50%)) MUSS in der is-moving-Regel wiederholt
	   werden - transform ist nicht additiv ueber zwei Regeln hinweg. */
	.srg1-track__car{transition:transform 150ms ease}
	.srg1-track__car.is-moving{transform:translate(-50%,-50%) skewX(-6deg)}
	/* Daniel 06.09.: "mach die mini animation hinten am auto (die striche)
	   auch wenn er mit weniger geschwindigkeit sich bewegt, also immer".
	   Die Striche haengen daher nicht mehr an .is-moving, sondern laufen
	   dauerhaft in Schleife hinter dem Auto. .is-moving beschleunigt sie
	   nur noch (kuerzere Dauer) und legt den Skew dazu. */
	.srg1-track__car::before,
	.srg1-track__car::after{
		content:"";position:absolute;top:50%;right:100%;height:2px;
		background:#FFFFFF;opacity:0;transform:translateY(-50%);
		animation:usurv-speedline 1.1s linear infinite;
	}
	.srg1-track__car::before{width:14px;margin-right:3px;animation-delay:0s}
	.srg1-track__car::after{width:9px;margin-right:3px;top:65%;animation-delay:.38s}
	.srg1-track__car.is-moving::before,
	.srg1-track__car.is-moving::after{animation-duration:.45s}
	@keyframes usurv-speedline{
		0%{opacity:.9;transform:translateY(-50%) translateX(0)}
		100%{opacity:0;transform:translateY(-50%) translateX(-12px)}
	}

	/* Z5c.2 Sektor-Durchfahrt: 2x Gruen-Blink + kleiner Puls-Ring, endet
	   wieder im normalen .done-Orange (kein fill-mode noetig - die
	   .done-Regel greift nach Animationsende automatisch weiter). */
	.srg1-track__sector.usurv-sector-hit{
		animation:usurv-sector-hit 520ms ease-out;
	}
	@keyframes usurv-sector-hit{
		0%,100%{background:#FF7500;box-shadow:0 0 6px #FF5B05}
		15%,45%{background:#2ee56b;box-shadow:0 0 0 6px rgba(46,229,107,.5)}
		30%,60%{background:#FF7500;box-shadow:0 0 6px #FF5B05}
	}

	/* Z5c.3 Zieleinlauf (alle Pflichtfelder beantwortet): Flagge wedelt,
	   Auto macht einen Victory-Hop, Chip pulst 2x weiss auf. */
	.srg1-track__flag.usurv-flag-wave{
		animation:usurv-flag-wave 900ms ease-in-out 3;
	}
	@keyframes usurv-flag-wave{
		0%,100%{transform:translateY(-50%) rotate(0deg)}
		25%{transform:translateY(-50%) rotate(12deg)}
		75%{transform:translateY(-50%) rotate(-12deg)}
	}
	.srg1-track__car.usurv-car-hop{
		animation:usurv-car-hop 650ms ease-out;
	}
	@keyframes usurv-car-hop{
		0%,100%{transform:translate(-50%,-50%)}
		30%{transform:translate(-50%,-170%)}
		55%{transform:translate(-50%,-40%)}
		75%{transform:translate(-50%,-75%)}
	}
	.srg1-answers.usurv-chip-win{
		animation:usurv-chip-pulse 500ms ease-in-out 2;
	}
	@keyframes usurv-chip-pulse{
		0%,100%{opacity:1}
		50%{opacity:.35;text-shadow:0 0 14px #FFFFFF, 0 1px 6px rgba(0,0,0,.8)}
	}

	/* Z5c.4 Options-Zuendung: Scale-Pop + Ring-Puls auf dem orangen Punkt
	   (label::before) beim Anwaehlen. Scope identisch zur S6-Options-
	   Optik weiter unten (datenschutz/MarketingFreigabe ausgenommen). */
	.elementor-element-9e48dde .elementor-field-group:not(.elementor-field-group-datenschutz):not(.elementor-field-group-MarketingFreigabe):not(.elementor-field-group-sec3b) .elementor-field-option.usurv-opt-pop label::before{
		animation:usurv-opt-pop 150ms ease-out, usurv-opt-ring 300ms ease-out;
	}
	@keyframes usurv-opt-pop{
		0%{transform:scale(1)}
		50%{transform:scale(1.4)}
		100%{transform:scale(1)}
	}
	@keyframes usurv-opt-ring{
		0%{box-shadow:0 0 0 0 rgba(255,117,0,.6)}
		100%{box-shadow:0 0 0 10px rgba(255,117,0,0)}
	}
}

/* =====================================================================
   S6 - Auswahl-Karten fuer Radios/Checkboxen (SuperStyler A3, an das
   Elementor-Markup angepasst: Elementor rendert je Option ein
   .elementor-field-option mit Input+Label als GESCHWISTER, nicht
   Input-in-Label). Scope: .elementor-element-9e48dde (das Formular-
   Widget). ACHTUNG: gilt NICHT fuer die acceptance-Felder
   (datenschutz/MarketingFreigabe) - :not()-Ausschluss ueber deren
   Feldgruppen-Klassen, die behalten normales Checkbox-Layout.
   ===================================================================== */
.elementor-element-9e48dde .elementor-field-group:not(.elementor-field-group-datenschutz):not(.elementor-field-group-MarketingFreigabe):not(.elementor-field-group-sec3b) .elementor-field-subgroup .elementor-field-option{
	/* Z4b (Runde 2, Zusatzpunkt): Abstand 22px -> 28px (+6px). */
	display:block;margin:0 0 10px;position:relative;
}
/* A2 (Runde 2, 03.09.): Border komplett weg (border:none statt entfernter
   Deklaration - explizit, damit nichts von aussen hineinerbt), Karte wirkt
   nur noch ueber background+radius. transition auf border-color entfernt
   (kein Border mehr, der uebergehen koennte). */
.elementor-element-9e48dde .elementor-field-group:not(.elementor-field-group-datenschutz):not(.elementor-field-group-MarketingFreigabe):not(.elementor-field-group-sec3b) .elementor-field-option label{
	display:flex;align-items:center;gap:12px;
	/* Z4b (Runde 2, Zusatzpunkt): min-height 48px -> 44px, padding
	   10px 16px -> 8px 16px (je 2px flacher oben/unten). */
	min-height:44px;padding:8px 16px;
	background:#FFFFFF14;border:none;border-radius:5px;
	cursor:pointer;transition:background 160ms ease;
}
/* A2: Ring-Indikator ersetzt das alte gruene Check-Emoji. ::before ist als
   generierter Pseudo-Flex-Item das ERSTE Kind im Label (Label ist
   display:flex) - dadurch automatisch links positioniert, ganz ohne
   eigenes position:absolute. Ring (2px, transparent innen) ist IMMER
   sichtbar; der Fuellpunkt kommt bei :checked per radial-gradient
   dazu - kein ::after/content:"✓" mehr (das renderte clientseitig als
   gruenes Emoji, genau das sollte weg). */
.elementor-element-9e48dde .elementor-field-group:not(.elementor-field-group-datenschutz):not(.elementor-field-group-MarketingFreigabe):not(.elementor-field-group-sec3b) .elementor-field-option label::before{
	content:"";flex:0 0 auto;width:18px;height:18px;border-radius:50%;
	border:2px solid #FF7500;background:transparent;box-sizing:border-box;
}
.elementor-element-9e48dde .elementor-field-group:not(.elementor-field-group-datenschutz):not(.elementor-field-group-MarketingFreigabe):not(.elementor-field-group-sec3b) .elementor-field-option:has(input:checked) label::before{
	background:radial-gradient(circle, #FF7500 0 40%, transparent 42% 100%);
}
/* BUGFIX-SAMMLUNG (03.09., Daniel-Screenshot 2x bestaetigt + eigene
   Nachmessung): /wp-content/uploads/so-css/so-css-hello-elementor.css
   (Simple-Custom-CSS-Ausgabedatei) enthaelt eine KOMPLETTE, VERWAISTE
   Alt-Fassung der Options-Karten-Optik aus einer FRUEHEREN, laengst
   ersetzten gruenen Iteration dieser Umfrage - sechs Regeln unter
   ".umfrage-srg1 .elementor-field-option..." insgesamt, per
   document.styleSheets vollstaendig ausgelesen:
     1) input[type="radio"]{display:none!important} - harmlos, deckt
        sich mit unserem eigenen Verstecken (siehe .elementor-field-
        option input weiter oben), keine Aktion noetig.
     2) input[type="checkbox"]{display:none!important} - dito.
     3) input ~ label::before{content:'\00a0'; width:20px;height:20px;
        border:2px solid #ff7500!important; margin-right:10px!important;
        font-size:13px!important; line-height:18px!important} -
        width/height/content verlieren bereits gegen unsere Regel
        (hoehere Spezifitaet, verifiziert per computed style: 18x18px,
        content:""), ABER margin-right:10px!important gewinnt (wir
        setzen dort gar nichts, reines Gap ueber flex-gap:12px am
        Label) - macht den Abstand Ring<->Text unbeabsichtigt groesser
        (12+10=22px statt 12px). HIER NEUTRALISIERT (margin-right:0).
     4) input:checked ~ label::before{background-color:green;
        box-shadow:...green!important;border:2px solid green!important}
        - der urspruenglich gemeldete GRUENE RING. border/box-shadow
        sind !important und ueberlebten normale Ueberschreibung. HIER
        NEUTRALISIERT.
     5) .elementor-field-option{margin-bottom:2px!important} -
        durchkreuzte Z4b (sollte 28px sein, kam als 2px an - eigene
        Nachmessung 03.09. nach QA-Lauf). HIER NEUTRALISIERT.
     6) .elementor-field-type-upload input[type=file]::file-selector-
        button{...background-color:#ff7500!important...} - AKTIV
        genutzter, GEWOLLTER Stil fuer den nativen "Datei ausw√§hlen"-
        Knopf (orange, passend zum Rest) - KEIN Bug, nicht angefasst.
   ZUSATZFUND (beim Boost-Chip-QA-Lauf, unabhaengig von den 15
   Companion-/Options-Feldern oben): Regeln 1+2 oben
   (input[type=radio/checkbox]{display:none!important}) sind NICHT auf
   Options-Radios/-Checkboxen beschraenkt, sondern matchen JEDES
   input[type=radio/checkbox] innerhalb EINES .elementor-field-option -
   das trifft auch die acceptance-Checkboxen datenschutz UND
   MarketingFreigabe (deren Markup ist ebenfalls ein .elementor-field-
   option, siehe Elementor-Rendering). Die beiden sind bewusst von der
   S6-Options-Karten-Optik AUSGENOMMEN (:not(...):not(...) oben) und
   bekommen daher KEINEN Ring/Punkt-Ersatz - ihr natives Kontrollkaestchen
   war dadurch fuer den Nutzer VOLLSTAENDIG UNSICHTBAR (Klick auf den
   Zustimmungstext funktioniert weiterhin ueber die native label[for]-
   Aktivierung, aber ohne jede visuelle Rueckmeldung, ob angehakt wurde -
   auch fuer die Datenschutz-Pflichtzustimmung). Da MarketingFreigabe Teil
   der Z2-Karte ist und der Boost-Chip (S3) genau von ihrem Zustand
   abhaengt, hier mit-neutralisiert (display:revert stellt die normale
   native Checkbox-Darstellung wieder her - bewusst OHNE eigene Ring-Optik,
   das bleibt laut S6-Ausnahme unveraendert schlichtes Standard-Checkbox-
   Layout). Diese Datei liegt AUSSERHALB des erlaubten Aenderungsbereichs
   dieser Welle (nur umfrage.js/umfrage.css) - Punkte 3/4/5/Zusatzfund
   hier NEUTRALISIERT statt dort entfernt. TOTER-CODE-HINWEIS (Betreiber-
   Grundsatz): die verwaisten Alt-Regeln 1-5 in so-css-hello-elementor.css
   sollten in einer separaten Session/Freigabe geloescht werden (Regel 6
   bleibt - die ist lebendig). Eigene Spezifitaet hier bewusst per verdoppelter
   Klasse (.umfrage-srg1.umfrage-srg1) ueber die Alt-Regeln gehievt (3
   bzw. 4 Klassen-Aequivalente je nach Regel) + !important, damit die
   Neutralisierung unabhaengig von der Ladereihenfolge zuverlaessig
   gewinnt. */
.umfrage-srg1.umfrage-srg1 .elementor-field-option input:checked ~ label::before{
	background:radial-gradient(circle, #FF7500 0 40%, transparent 42% 100%)!important;
	box-shadow:none!important;
	border:2px solid #FF7500!important;
}
.umfrage-srg1.umfrage-srg1 .elementor-field-option input ~ label::before{
	margin-right:0!important;
}
.umfrage-srg1.umfrage-srg1 .elementor-field-option{
	margin-bottom:10px!important;
}
.umfrage-srg1.umfrage-srg1 .elementor-field-group-datenschutz .elementor-field-option input[type="checkbox"],
.umfrage-srg1.umfrage-srg1 .elementor-field-group-MarketingFreigabe .elementor-field-option input[type="checkbox"]{
	display:revert!important;
}
.elementor-element-9e48dde .elementor-field-group:not(.elementor-field-group-datenschutz):not(.elementor-field-group-MarketingFreigabe):not(.elementor-field-group-sec3b) .elementor-field-option input{
	/* :not(sec3b) seit 06.09.2026: die Marketing-Freigabe steckt jetzt IN der
	   Gruppe sec3b (initUploadLayout) — ohne den Ausschluss matchen die
	   Karten-Regeln ueber den Vorfahren sec3b und machen aus der Freigabe-
	   Checkbox einen 100%-Ring (die "Ellipse") und aus dem Label eine Karte. */
	/* F3: Input unsichtbar, aber deckt die GESAMTE Karte ab - Klickflaeche
	   = Karte, fokussierbar, per label[for] weiter screenreader-tauglich.
	   .elementor-field-option hat bereits position:relative (siehe oben) -
	   das ist Voraussetzung fuer inset:0 und bleibt unangetastet.
	   Defensiv (unabhaengig vom unten dokumentierten eigentlichen Fund):
	   appearance:none entfernt jede native Control-Optik komplett statt
	   sie nur per Deckkraft zu maskieren + outline:none entfernt den
	   nativen Fokus-Ring des Inputs selbst (der eigene orange Fokus-
	   Indikator sitzt bewusst auf dem Label via :focus-visible weiter
	   unten - bleibt fuer Tastatur-Nutzer sichtbar). */
	position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer;z-index:1;
	appearance:none;-webkit-appearance:none;-moz-appearance:none;outline:none;
}
/* F2: Elementor rendert Input und Label als GESCHWISTER innerhalb von
   .elementor-field-option - "label:has(input:checked)" kann daher NIE
   matchen (das Input ist nicht Nachfahre des Labels). Korrekt ist die
   Pruefung auf Options-Ebene, das Label wird dann als Geschwister-
   Selektor gestylt. */
.elementor-element-9e48dde .elementor-field-group:not(.elementor-field-group-datenschutz):not(.elementor-field-group-MarketingFreigabe):not(.elementor-field-group-sec3b) .elementor-field-option:has(input:checked) label{
	background:#FF750026;box-shadow:0 0 14px -6px #FF5B05;
}
.elementor-element-9e48dde .elementor-field-group:not(.elementor-field-group-datenschutz):not(.elementor-field-group-MarketingFreigabe):not(.elementor-field-group-sec3b) .elementor-field-option:has(input:focus-visible) label{
	outline:2px solid #FF7500;outline-offset:2px;
}
/* A2: kein Border mehr auf der Karte -> kein Hover-Border-Wechsel mehr
   noetig, die alte @media(hover:hover)-Regel (border-color-Hover) ist mit
   dem Border-Wegfall obsolet und entfaellt hier ersatzlos. */

/* =====================================================================
   Z4c (Runde 2, Zusatzpunkt) - Hover-Vergroesserung des Options-Textes.
   NUR bei echten Hover-faehigen Zeigegeraeten (Maus) - auf Touch waere ein
   staendig aktiver ":hover"-Zustand nach Tap ein UX-Bug (Text bleibt
   vergroessert haengen). initOptionLabelSpans() in umfrage.js umschliesst
   dafuer den reinen Options-Text mit <span class="usurv-opt-label"> - der
   ::before-Ring (generiertes Pseudo-Element, siehe oben) bleibt
   AUSSERHALB des Spans und waechst dadurch NICHT mit.
   Ist-Gewicht gemessen (computed via Playwright, 03.09.2026): 300 ->
   Hover +100 = 400, Basis hier explizit auf denselben Wert (300) gepinnt
   (bislang nur ererbt), damit das Delta unabhaengig von kuenftigen
   Font-Aenderungen stabil +100 bleibt. transform-origin:left center,
   damit der Text nach RECHTS waechst (nicht ueber den Ring links
   hinweg). Kein Layout-Shift: nur transform (compositor-only) + font-
   weight (Inter ist variable-faehig, Breitenaenderung minimal genug, um
   keinen Zeilenumbruch auszuloesen bei den vorhandenen Optionstexten -
   QA-Pflicht: Options-Boxhoehe bleibt stabil, siehe Verify) - overflow
   bewusst NICHT geclippt (Karte hat kein overflow:hidden), der Text darf
   optisch ueber den rechten Innenabstand hinauswachsen.
   ===================================================================== */
@media(hover:hover) and (pointer:fine){
	.elementor-element-9e48dde .elementor-field-group:not(.elementor-field-group-datenschutz):not(.elementor-field-group-MarketingFreigabe):not(.elementor-field-group-sec3b) .elementor-field-option .usurv-opt-label{
		display:inline-block;font-weight:300;transform-origin:left center;
		transform:scale(1);transition:transform .25s ease, font-weight .25s ease;
	}
	.elementor-element-9e48dde .elementor-field-group:not(.elementor-field-group-datenschutz):not(.elementor-field-group-MarketingFreigabe):not(.elementor-field-group-sec3b) .elementor-field-option label:hover .usurv-opt-label{
		transform:scale(1.15);font-weight:400;
		animation:usurv-opt-pulse 1.6s ease-in-out .6s infinite alternate;
	}
	@keyframes usurv-opt-pulse{
		from{transform:scale(1.15)}
		to{transform:scale(1.19)}
	}
}

/* =====================================================================
   S7 - Weitere Design-Fixes
   ===================================================================== */
/* Hero-Overlay freilegen (Verlauf statt 0.89 Flaechen-Abdunkelung). */
.elementor-element-7d393ff > .elementor-background-overlay{
	background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.92) 55%)!important;
	opacity:1!important;
}
/* Heading 094865f: seit 03.09. abends komplett im Elementor-Widget gepflegt
   (Site-Hero-Stil wie RACING: Manrope 55/44 w800 uppercase ls .3px) —
   der fruehere Teko-/Uppercase-Override hier ist entfallen. */

/* =====================================================================
   WELLE A (Runde 2, 03.09.2026) - A3/A4/A5
   ===================================================================== */
/* A3: keine Link-Hand auf der Frage selbst (nur die direkte Feldgruppen-
   Label - ">" schliesst die tiefer verschachtelten Options-Labels aus,
   die behalten cursor:pointer unveraendert ueber die S6-Regeln oben). */
.umfrage-srg1 .elementor-field-group > label{
	cursor:default;
}

/* A4: Textmarkierung site-weit orange - Primaerregel liegt im Child-Theme
   (hello-elementor-child/style.css, ::selection + ::-moz-selection).
   Identische Regel hier zusaetzlich als Fallback, falls das Theme-CSS an
   irgendeiner Stelle nicht greift (z.B. Cache-Edge-Fall) - beide Regeln
   sind inhaltsgleich, keine Kollision. */
::selection{background:#FF7500;color:#1a1a1a}
::-moz-selection{background:#FF7500;color:#1a1a1a}

/* =====================================================================
   A5 - Kapitel-Streifen vollbreit (radialer Verlauf), Wrapper kommt aus
   initChapters() in umfrage.js. Erste Sektion ohne doppelten Abstand nach
   oben (die Seite hat vor sec1 bereits eigenen Abstand durch die Cards/
   Intro-Widgets darueber - kein zusaetzliches margin-top noetig).
   Overflow-Sicherung: der Kommentar hier verwies bereits auf eine Regel
   ".elementor-element-9e48dde{overflow-x:hidden}", die es TATSAECHLICH
   nie gab (verwaister Kommentar, per Playwright-Mobil-QA 03.09. entdeckt
   - .elementor-form-fields-wrapper traegt via post-23043.css ein
   negatives Gutter-Margin von -14px je Seite (calc(-28px/2)); auf
   Mobilbreiten reicht das Padding der aeusseren Elementor-Spalte nicht
   ganz aus, um das vollstaendig aufzufangen -> 2px echter horizontaler
   Overflow, gemessen document.documentElement.scrollWidth 392 vs.
   clientWidth 390 bei 390px Viewport). Jetzt NACHGEHOLT (siehe Regel
   direkt unten) statt weiter nur im Kommentar zu versprechen.
   ===================================================================== */
.elementor-element-9e48dde{overflow-x:clip}/* Daniel 22:45: hidden erzeugte Scrollcontainer (overflow-y:auto, grauer Balken) - clip clippt ohne */
.usurv-chapter{position:relative;padding:40px 0 24px;margin-top:60px}
.usurv-chapter:first-child{margin-top:0}
.usurv-chapter::before{
	content:"";position:absolute;inset:0;
	/* Daniel 03.09. ~21:30: Verlauf muss ins TRANSPARENTE auslaufen, keine
	   harten Kanten. Der 100vw-Bleed wurde vom Widget-Overflow geclippt
	   (sichtbare senkrechte Kante) -> ersetzt durch Box-gebundene Ellipse,
	   deren Alpha VOR jeder Boxkante 0 erreicht (60%/55%-Halbachsen,
	   transparent ab 78% -> Kante horizontal bei 83%, vertikal bei 91%). */
	background:radial-gradient(ellipse 60% 55% at center, rgba(42,42,42,0.9) 0%, rgba(36,36,36,0.45) 40%, rgba(0,0,0,0) 78%);
	z-index:-1;
}
/* Intro-Text (e459e6c): Lesebreite begrenzen (Daniel 03.09.: Text maximal
   so breit wie der Titel, Volltextzeilen sind anstrengend) */
.elementor-element-e459e6c{max-width:760px}

/* =====================================================================
   WELLE C (Runde 2, 03.09.2026) - C2 Upload-Vorschau (Feld Zustand).
   Grid erscheint erst bei Dateiauswahl (initUploadPreview() in
   umfrage.js baut die Items). flex-basis:100% zwingt das Grid auf eine
   eigene Zeile unterhalb des <input type=file> - die Elterngruppe
   .elementor-field-group-Zustand ist display:flex (Elementor-Basis,
   verifiziert), flex-wrap:wrap erlaubt den Umbruch.
   ===================================================================== */
.usurv-upload-preview{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;flex-basis:100%;width:100%}
.usurv-upload-item{position:relative;width:150px;display:flex;flex-direction:column;gap:4px;background:#FFFFFF0D;border:1px solid #FFFFFF33;border-radius:6px;padding:8px;box-sizing:border-box}/* Runde 5b: breiter fuer Dateinamen */
.usurv-upload-item--invalid{border-color:#FF4D4D;background:#FF4D4D14}
.usurv-upload-thumb{width:100%;height:84px;border-radius:4px;overflow:hidden;background:#1a1a1a;display:flex;align-items:center;justify-content:center;color:#FF4D4D;font-weight:700;font-size:20px}
.usurv-upload-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.usurv-upload-meta{display:flex;flex-direction:column;gap:2px;font-family:'Inter',sans-serif}
.usurv-upload-name{font-size:11px;color:#FFFFFF;word-break:break-word;line-height:1.3}
.usurv-upload-size{font-size:10px;color:#9F9F9F}
.usurv-upload-warn{font-size:10px;color:#FF4D4D;line-height:1.15}
/* Runde 5b (Daniel): kein schwarzes Viereck mehr - nur ein gut sichtbares
   X oben rechts (Textschatten statt Plattenhintergrund). */
/* Selektor bewusst zweigliedrig: der Elementor-Kit-Globalstil
   (.elementor-kit-6 button = 0,1,1) drueckt sonst Schwarz + 20/30-Padding
   in den Knopf (Daniel-Screenshot "schwarzes Viereck"). */
.usurv-upload-item .usurv-upload-remove{position:absolute;top:2px;right:2px;width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:#FF7500;font-size:22px;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;text-shadow:0 1px 4px rgba(0,0,0,.95)}
.usurv-upload-item .usurv-upload-remove:hover,.usurv-upload-item .usurv-upload-remove:focus-visible{background:rgba(255,117,0,.18);color:#FFFFFF}
.usurv-upload-limit-hint{flex-basis:100%;width:100%;font-family:'Inter',sans-serif;font-size:12px;color:#FF7500;margin-top:4px}

/* =====================================================================
   WELLE C (Runde 2) / Z4a (Zusatzpunkt) - Desktop-Zweispalter je Kapitel.
   initQuestionPairs() in umfrage.js wrappt VOR initChapters() jede Frage
   mit ihrem Companion-Textfeld (bzw. Kontakt+KontaktWeg+Telefon zu
   dritt, GripWo+GripWoText separat von Grip+GripText) in <div
   class="usurv-q">. Diese Wrapper UND alle Nicht-gewrappten Einzelfelder
   (Newsletter/Name/Email) werden per Grid-Auto-Placement zu je EINER
   Spalte - nur die explizit als "voll" markierten Gruppen (Sektor-
   Header, sec3b-Karte, Textareas, Datenschutz, Submit) spannen ueber
   beide Spalten. NUR ab 1025px (Tablet/Mobil bleiben einspaltig wie
   bisher - unveraendert, keine Regel noetig).
   Das Kapitel-Verlaufs-Pseudoelement (::before, inset:0) bleibt bei
   display:grid unveraendert korrekt (position:absolute richtet sich
   nach der Padding-Box des positionierten Vorfahren .usurv-chapter,
   unabhaengig vom display-Typ) - verifiziert.
   ===================================================================== */
@media(min-width:1025px){
	.usurv-chapter{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;align-items:start}
	.usurv-chapter > .elementor-field-group-sec1,
	.usurv-chapter > .elementor-field-group-sec2,
	.usurv-chapter > .elementor-field-group-sec3,
	.usurv-chapter > .elementor-field-group-sec3b,
	.usurv-chapter > .elementor-field-group-Zustand,
	.usurv-chapter > .elementor-field-group-MarketingFreigabe,
	.usurv-chapter > .elementor-field-group-sec4,
	.usurv-chapter > .elementor-field-group-sec5,
	.usurv-chapter > .elementor-field-group-Optimierung,
	.usurv-chapter > .elementor-field-group-FarbenMuster,
	.usurv-chapter > .elementor-field-group-Anmerkungen,
	.usurv-chapter > .elementor-field-group-datenschutz,
	.usurv-chapter > .elementor-field-type-submit{
		grid-column:1/-1;
	}
}
.usurv-q{display:block}

/* Acceptance-Felder (datenschutz + MarketingFreigabe): die verwaiste
   so-css-Ringregel (input ~ label::before, \00a0-Ring, !important) trifft
   auch diese Labels -> es erschienen Ring UND native Checkbox nebeneinander
   (Daniel-Screenshot 03.09. ~22:15). Ring hier hart totlegen und die
   NATIVE Checkbox sauber orange stylen. */
.elementor-element-9e48dde .elementor-field-group-datenschutz label::before,
.elementor-element-9e48dde .elementor-field-group-MarketingFreigabe label::before{
	content:none!important;display:none!important;border:none!important;margin:0!important;
}
/* Daniel 07.09. (4. Runde): statt Browser-Standard eine GCOM360-
   Checkbox - 26px, abgerundet, orange beim Haken, vertikal zum
   (mehrzeiligen) Zustimmungstext zentriert. Flex auf der Option
   uebernimmt die Zentrierung; die alten !important-Anker (display/
   position/opacity) bleiben, damit so-css-Altregeln nicht reingrätschen. */
.elementor-element-9e48dde .elementor-field-group-datenschutz .elementor-field-option,
.elementor-element-9e48dde .elementor-field-group-MarketingFreigabe .elementor-field-option{
	display:flex!important;align-items:center;gap:14px;
}
.elementor-element-9e48dde .elementor-field-group-datenschutz .elementor-field-option label,
.elementor-element-9e48dde .elementor-field-group-MarketingFreigabe .elementor-field-option label{
	margin:0!important;cursor:pointer;
}
.elementor-element-9e48dde .elementor-field-group-datenschutz input[type="checkbox"],
.elementor-element-9e48dde .elementor-field-group-MarketingFreigabe input[type="checkbox"]{
	display:inline-block!important;appearance:none!important;-webkit-appearance:none!important;
	width:26px;height:26px;margin:0;flex:0 0 auto;
	position:static!important;opacity:1!important;
	background-color:#141414!important;border:2px solid #555555;border-radius:7px;cursor:pointer;
	background-position:center;background-repeat:no-repeat;background-size:17px 17px;
	transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease;
}
.elementor-element-9e48dde .elementor-field-group-datenschutz input[type="checkbox"]:hover,
.elementor-element-9e48dde .elementor-field-group-MarketingFreigabe input[type="checkbox"]:hover{
	border-color:#FF7500;
}
.elementor-element-9e48dde .elementor-field-group-datenschutz input[type="checkbox"]:checked,
.elementor-element-9e48dde .elementor-field-group-MarketingFreigabe input[type="checkbox"]:checked{
	background-color:#FF7500!important;border-color:#FF7500;
	box-shadow:0 0 14px rgba(255,117,0,.4);
	background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' stroke='%230a0a0a' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.elementor-element-9e48dde .elementor-field-group-datenschutz input[type="checkbox"]:focus-visible,
.elementor-element-9e48dde .elementor-field-group-MarketingFreigabe input[type="checkbox"]:focus-visible{
	outline:2px solid #FF7500;outline-offset:2px;
}

/* Der sec3b-Innenblock traegt die Klassen "usurv-sec usurv-upload" und erbte
   damit den 4px-Orange-Balken der Sektor-Header - Daniel 03.09. ~22:15:
   "was soll der Strich links > weg damit". Nur hier neutralisieren,
   Sektor-Header behalten ihren Balken. */
.usurv-sec.usurv-upload{border-left:none!important;padding-left:0!important}

/* Daniel 03.09. ~22:30: AKTIVE (fokussierte) Eingabefelder sollen einen
   WEISSEN Rand haben (statt orange). Gilt fuer alle textuellen Felder
   (input/textarea/select) im Umfrage-Formular; Options-Karten (radio/
   checkbox, Inputs unsichtbar) bleiben unberuehrt. */
.elementor-element-9e48dde .elementor-field-textual:focus,
.elementor-element-9e48dde textarea.elementor-field-textual:focus{
	border-color:#FFFFFF!important;
	outline:none;
}

/* Daniel 03.09. ~22:40: einheitliche animierte Banner (GIF) fuer alle 5
   Sektor-Header (sec1..sec5). Keine eingebackenen Verlaeufe im GIF mehr -
   die Blend-Fades oben/unten kommen als CSS-Overlay (::before/::after)
   ueber dem Bild, damit Banner in die dunkle Seite auslaufen. */
/* Daniel 04.09. ~00:15: "keine gerissenen Ecken" - Radius+Clip liegen jetzt
   EINHEITLICH auf dem Wrapper (overflow:hidden clippt Bild UND Overlays
   compositor-seitig glatt); Radius direkt auf dem GIF-<img> erzeugte durch
   die 256-Farben-Dither-Kante ausgefranste Rundungen. */
.usurv-sec-img{position:relative;margin:18px 0 6px;border-radius:8px;overflow:hidden}
/* Runde 5b (Daniel): Heros nicht mehr als flache 240px-Streifen, sondern
   echtes 16:9 (native Ratio der Teaser-Clips; auch die GIF/Poster-Motive
   sind 16:9-Quellen). */
/* Daniel 05.09. ~08:10: Sektions-GIFs ein Drittel flacher als die Videos
   (16:9 -> 16:6 = 8/3) — die Banner-GIFs (900x247, ~3,6:1) werden so deutlich
   weniger seitlich beschnitten. Die <video> in sec1/sec2 bleiben 16:9. */
.usurv-sec-img img{display:block;width:100%;height:auto;aspect-ratio:8/3;object-fit:cover;border-radius:0}
.usurv-sec-img video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:0}
.usurv-sec-img::before,.usurv-sec-img::after{content:"";position:absolute;left:0;right:0;height:70px;pointer-events:none}
.usurv-sec-img::before{top:0;background:linear-gradient(rgba(10,10,10,.85),rgba(10,10,10,0))}
.usurv-sec-img::after{bottom:0;background:linear-gradient(rgba(10,10,10,0),rgba(10,10,10,.85))}
/* Mobil: gleiche 16:9-Ratio, keine gesonderte Streifenhoehe mehr. */

/* Z4b (04.09.2026, "nach 3 Wiederholungen einfrieren + Play-Knopf"):
   Replay-Button, JS-erzeugt in initBannerPlay() (umfrage.js), erscheint
   erst wenn das per gifsicle --loopcount=2 auf 3 Durchlaeufe begrenzte
   GIF eingefroren ist. Unten rechts im Banner, ueber dem Bild (::after-
   Vignette bleibt darunter). */
/* Daniel 05.09. ~09:00: Button 3x groesser (14 -> 42px Glyphe), OHNE
   Kasten/Kreis - nur das Icon in Orange, drop-shadow fuer Lesbarkeit
   auf hellen Postern. Padding haelt die Tap-Flaeche >=44px.
   !important-KONTER (dokumentiert, stehen lassen): Elementors Form-
   Widget-Buttonregel stylte den Button schon immer zum dunklen Kasten
   um (gemessen 05.09.: 16px/#000/5px-Radius trotz alter Kreis-Regel -
   genau Daniels "Viereck") - background/radius/font-size/padding
   muessen deshalb hart gesetzt werden, gleiche Lage wie die uebrigen
   Elementor-Feld-Konter in dieser Datei. */
.usurv-sec-img .usurv-replay{position:absolute;right:10px;bottom:6px;width:auto !important;height:auto !important;border:0 !important;border-radius:0 !important;background:transparent !important;color:#FF5B05 !important;font-size:42px !important;line-height:1 !important;text-align:center;padding:8px 10px !important;cursor:pointer;z-index:2;filter:drop-shadow(0 2px 8px rgba(0,0,0,.85));transition:color .15s ease,transform .15s ease;box-shadow:none !important}
.usurv-sec-img .usurv-replay:hover,.usurv-sec-img .usurv-replay:focus-visible{background:transparent !important;color:#FFFFFF !important;transform:scale(1.08)}
/* Pause-Glyphe (\u275A\u275A) laeuft optisch groesser als das Play-Dreieck — angleichen. */
.usurv-sec-img .usurv-replay{letter-spacing:2px}

/* Daniel 03.09. ~23:10: (1) einzeilige Textfelder nutzen 80% der
   Spaltenbreite; (2) Inline-Optionen (JA/NEIN, Telefon/E-Mail) +20px
   vertikaler Abstand untereinander und +20px Innenabstand links/rechts. */
.elementor-element-9e48dde input.elementor-field-textual{width:80%!important;max-width:80%!important;flex-grow:0!important}/* Flexgruppe: grow ueberstimmt width - deshalb max-width+grow:0 */
/* Name/Email tragen alte elementor-col-50-Breiten (50% der Gruppe) aus der
   Vor-Grid-Zeit - im 2-Spalten-Raster sind sie laengst eigene Zellen:
   auf volle Zellbreite, damit die 80% oben echte Spaltenbreite meinen. */
.usurv-chapter .elementor-field-group-Name,
.usurv-chapter .elementor-field-group-Email{width:100%!important;max-width:100%!important}
.elementor-element-9e48dde .elementor-subgroup-inline .elementor-field-option{margin-bottom:30px!important}
.elementor-element-9e48dde .elementor-field-group .elementor-field-subgroup.elementor-subgroup-inline .elementor-field-option label{padding:8px 36px!important}

/* =====================================================================
   STICKY HEADER — Testlauf NUR auf der Umfrage-Seite (Daniel 03.09. ~23:30:
   "setze mal einen Sticky Header um ... diese Seite waere ein gutes
   Testobjekt"). Befund vorab (Playwright): body hat overflow:hidden auf
   allen Achsen -> position:sticky greift nie (body ist Scrollcontainer,
   scrollt aber nicht). Daher position:fixed + Body-Padding. MOBIL hat die
   Site bereits eine fixe Header-Bar (eigene Section, position:fixed +
   statischer Platzhalter) -> hier nur Desktop ab 1025px.
   Zusammenspiel mit dem Fortschrittsbalken (48px, z 999999, erscheint ab
   Aufwaermrunde): Header weicht per :has() auf top:48px aus. */
@media(min-width:1025px){
	body{padding-top:136px}
	header.elementor-location-header{
		position:fixed;top:0;left:0;right:0;z-index:99990;
		background:rgba(10,10,10,.92);
		backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
		transition:top .4s ease;
	}
	body:has(#srg1-track.usurv-progress-visible) header.elementor-location-header{top:48px}
	/* Runde 3 (Daniel 04.09., "screen2"): Content unter dem Logo wird auf
	   ~30px abgedimmt - Verlauf von der Balkenfarbe (Header-Grund
	   rgba(10,10,10,.92)) nach unten ins Transparente. Reines Dekor
	   (pointer-events:none), haengt am Header selbst und wandert mit
	   dessen top-Ausweichen automatisch mit. */
	header.elementor-location-header::after{content:"";position:absolute;top:100%;left:0;right:0;height:30px;background:linear-gradient(180deg,rgba(10,10,10,.92) 0%,rgba(10,10,10,0) 100%);pointer-events:none}
}
@media(prefers-reduced-motion:reduce){
	header.elementor-location-header{transition:none}
}

/* Daniel 03.09. ~23:45: 20%-Karte — Zweizeiler rechts neben der Zahl
   (oben fett, unten regulaer), alte Zeile unter der Zahl entfernt. */
.usurv-card-row{display:flex;align-items:center;gap:20px}
.usurv-card-row .usurv-card-percent{margin:0;flex:0 0 auto}
.usurv-card-line1{font-family:'Manrope','Inter',sans-serif;font-weight:700;font-size:16px;line-height:1.35;color:#FFFFFF;margin:0 0 4px}
.usurv-card-line2{font-family:'Manrope','Inter',sans-serif;font-weight:400;font-size:13px;line-height:1.45;color:#9F9F9F;margin:0}
@media(max-width:520px){.usurv-card-row{display:block}.usurv-card-row .usurv-card-percent{margin:0 0 8px}}

/* =====================================================================
   FOTO-BOOST-PARALLAXZONE "ZEIG SIE UNS" — SuperStyler-Spec 04.09.2026.
   initPhotozone()/initPhotozoneParallax() (umfrage.js) wrappen sec3b/
   Zustand/MarketingFreigabe (unveraendertes Feld-DOM, nur Wrapper -
   Muster initChapters()) in .usurv-photozone und bauen Bild-Ebene,
   Overlay, Kicker und Ink-Plate rein per JS (kein <img>/<style> im
   Elementor-Markup - kein kses-Risiko, siehe Kopfkommentar dieser Datei).

   "Full-Width" = volle Breite des FORMULAR-WIDGETS: .usurv-photozone ist
   ein normaler Block-Kind von .elementor-form-fields-wrapper (keine
   eigene Breiten-/Padding-Regel noetig) und bleedet dadurch GENAUSO weit
   wie .usurv-chapter bereits heute (negatives Gutter-Margin des
   Wrappers) - kein echter 100vw-Viewport-Bleed. Ein solcher Bleed wuerde
   an .elementor-element-9e48dde{overflow-x:clip} (siehe A5-Block oben)
   asymmetrisch geclippt - historisch bei .usurv-chapter::before erlebt
   und dort durch eine box-gebundene Ellipse geloest, hier durch
   seitliche Schwarzverlaeufe im Overlay (siehe unten), die die Kante in
   dieselbe Farbe wie die dunkle Formularseite tauchen statt sie sichtbar
   zu lassen.
   ===================================================================== */
.usurv-photozone{
	position:relative;
	overflow:hidden;
	width:100%; /* PFLICHT: .elementor-form-fields-wrapper ist display:flex
	   (wrap) - als Flex-Item ohne width schrumpft die Zone shrink-to-fit
	   auf ihren Inhalt (Platte 720 + 2x24 Content-Padding = 768px, so am
	   04.09. ~17:40 im Live-DOM gemessen: Zone 768px neben 1328px breiten
	   Kapiteln). Die .usurv-chapter kommen nur deshalb ohne width aus,
	   weil ihr Textinhalt breiter ist als der Wrapper. width:100% streckt
	   die Zone auf Wrapper-Breite - erst damit ist links/rechts der
	   Platte ueberhaupt Foto sichtbar. */
	margin-top:60px; /* wie .usurv-chapter - gleicher Abstand zu sec3 davor */
}
.usurv-photozone-bg{
	position:absolute;
	left:0;right:0;top:0;height:100%;
	z-index:0;
	pointer-events:none;
}
.usurv-photozone-img{
	display:block;
	width:100%;height:100%;
	object-fit:cover;
	object-position:65% center; /* Spec Punkt 1 + 6 (mobil identisch) */
}
/* Basis = statisches Cover-Bild, KEIN Transform (Spec: <768px, reduced-
   motion, kein JS/kein IntersectionObserver). Overscan (top:-15%/
   height:130%) existiert NUR, wenn initPhotozoneParallax() die Zone als
   parallax-faehig erkannt hat - sonst waere der ueberschiessende Rand ohne
   je aktive Gegenbewegung als sichtbarer Versatz zu sehen. */
.usurv-photozone--parallax .usurv-photozone-bg{
	top:-15%;
	height:130%;
}
.usurv-photozone--parallax-active .usurv-photozone-bg{
	will-change:transform; /* nur waehrend die Zone sichtbar ist (IO-gated) */
}

/* Overlay, drei gestapelte Verlaeufe auf EINEM Element (erster Eintrag =
   oberste Ebene): 1) seitliche Schwarzverlaeufe gegen die overflow-x:clip-
   Kante, 2) volles Schwarz an Ober-/Unterkante ("Anschluss an die dunkle
   Formularseite"), 3) AA-Basisverlauf .55 oben -> .80 unten. Alle drei
   summieren sich (Alpha-Compositing) - am linken oberen Rand, wo Kicker+
   Titel sitzen, treffen alle drei zusammen und ergeben deutlich mehr als
   die fuer AA noetige Deckung (per Playwright-Pixelprobe verifiziert,
   siehe Verify-Notiz). */
/* Runde 3 (Daniel 04.09.): "parallax hintergrund viel zu dunkel" — das neue
   Motiv (getragene SRG1 auf hellem Grund) soll SICHTBAR sein. Der pauschale
   .55->.80-Verlauf ist ersetzt durch: kraeftiges Titelband NUR oben (helles
   Motiv braucht dort >=.60 Deckung fuer die AA-Regel hellster Pixel hinter
   Weisstext <= #5A5A5A — nachgemessen per Pixelprobe), darunter faellt die
   Abdunklung auf ~.12 ab, zum Fuss leicht ansteigend; Kanten-/Seitenblenden
   zu #000 bleiben (Clip-Kanten + Anschluss an die dunklen Kapitel). */
/* Runde 3c (Daniel 04.09., Screenshot "Mini-Schaufenster"): das Bild soll
   die GANZE Sektionsflaeche fuellen — nur noch LEICHTE Fades oben/unten
   ins Transparente (11/12 %), hauchduenne Seitenkanten-Weichzeichnung
   gegen die Widget-Clip-Kante (4 %) und ein milder Gesamtschleier .18.
   Die AA-Sicherung fuer "ZEIG SIE UNS" uebernimmt ein lokaler Halo am
   Kicker (siehe .usurv-photozone-kicker::before) statt des frueheren
   grossen Titelbandes. */
/* Runde 7 (Daniel 05.09. ~01:10): Hintergrund wieder BILD (getragene
   SRG1, Attachments 33612/33613) - "etwas gedimmt": Gesamtschleier von
   .18 auf .35 angehoben (moderat, bewusst KEIN grosses Titelband wie in
   Runde 3); Fades und Seitenkanten unveraendert. Die AA-Sicherung des
   Titels traegt weiterhin die Kicker-Ink-Karte (s.u.), nicht das Foto. */
.usurv-photozone-overlay{
	position:absolute;inset:0;z-index:1;pointer-events:none;
	background:
		linear-gradient(to right, rgba(0,0,0,.9) 0%, rgba(0,0,0,0) 4%, rgba(0,0,0,0) 96%, rgba(0,0,0,.9) 100%),
		linear-gradient(to bottom, #000 0%, rgba(0,0,0,0) 11%),
		linear-gradient(to top, #000 0%, rgba(0,0,0,0) 12%),
		linear-gradient(rgba(0,0,0,.35), rgba(0,0,0,.35));
}
/* Runde 4 (Video-Hintergrund): der fruehere Radial-Halo reichte gegen den
   hellen Himmel der Qualifying-Szene nicht (gemessen Lum bis 205 hinter
   dem Titel). Statt das Video grossflaechig abzudunkeln bekommt die
   Kopfzeile eine eigene schlanke Ink-Karte in der Anmutung der Platte
   darunter (gleiche Breite 720, gleiche Radius-/Rahmen-Sprache) - AA
   haengt damit an der Karte (.72 Deckung: hellster Himmel ~235 -> ~66),
   nicht mehr am Filmbild. */
.usurv-photozone-kicker{position:relative;background:rgba(10,10,10,.72);border:1px solid rgba(255,255,255,.10);border-radius:12px;padding:18px 24px 14px}

.usurv-photozone-content{
	position:relative;z-index:2;
	padding:48px 24px; /* Runde 3 (Daniel 04.09.): 96 war zu viel Abstand oben/unten */
}
.usurv-photozone-kicker{
	max-width:720px;margin:0 auto 20px; /* Titel -> Wunschliste/Platte: 20px */
}
.usurv-photozone-kicker .usurv-boost-chip{
	margin:0 0 8px 0; /* Kicker -> Titel: 8px (statt Standard-Chip-Abstand 14px) */
}
.usurv-photozone-kicker h3{
	font-family:'Teko','Manrope','Inter',sans-serif;
	font-weight:600;
	font-size:68px;
	line-height:1.15;
	text-transform:uppercase;
	color:#FFFFFF;
	margin:0;
}
.usurv-photozone-plate{
	max-width:720px;margin:0 auto;
	background:rgba(17,17,17,.92);
	border:1px solid rgba(255,255,255,.14);
	border-radius:12px;
	padding:28px 24px; /* Spec Punkt 4 */
}

/* Upload-Dropzone-Optik (Spec Punkt 5): das native <input type=file> von
   Elementor-Pro (kein eigener Drag-Drop-Container, siehe
   modules/forms/fields/upload.php render()) bekommt seine Dropzone-Optik
   auf der Feldgruppe selbst - Label + "Datei auswaehlen"-Knopf (orange,
   siehe file-selector-button-Regel oben) + Upload-Vorschau (C2) liegen
   darin zentriert. */
.elementor-element-9e48dde .elementor-field-group-Zustand{
	margin-bottom:16px!important; /* Upload -> Checkbox, Spec Punkt 4 */
	border:1px dashed rgba(255,255,255,.28);
	background:rgba(255,255,255,.03);
	border-radius:14px;
	min-height:140px;
	box-sizing:border-box;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
	gap:8px;
	padding:20px;
	transition:border-color 200ms ease;
}
/* Kamera-Icon 32px (Spec Punkt "Dropzone ... Kamera-Icon 32"): reines
   Dekor als ::before-Flex-Item ueber dem Label - Inline-SVG (weiss,
   Feather-Camera), kein zusaetzliches DOM und kein Netzwerk-Request. */
.elementor-element-9e48dde .elementor-field-group-Zustand::before{
	content:"";
	order:-3;
	width:32px;height:32px;
	background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z'/%3E%3Ccircle cx='12' cy='13' r='4'/%3E%3C/svg%3E") center/contain no-repeat;
	opacity:.85;
}
.elementor-element-9e48dde .elementor-field-group-Zustand:hover,
.elementor-element-9e48dde .elementor-field-group-Zustand:focus-within{
	border-color:#FF7500;
}
.elementor-element-9e48dde .elementor-field-group-Zustand input[type="file"]:focus-visible{
	outline:2px solid #FF7500;
	outline-offset:3px;
	border-radius:4px;
}
.elementor-element-9e48dde .elementor-field-group-Zustand .elementor-field-label{
	margin:0;
	order:-2;
}
/* Runde 3c (Daniel): Dropzone-Text in DREI Zeilen. Zeile 1 = Elementor-
   Label "Deine Fotos"; Zeilen 2+3 kommen als ::after-Flex-Item (content
   mit \A + pre-line, kein Markup/kses noetig) und werden per order VOR
   den Input, aber HINTER das Label sortiert (Icon ::before -3, Label -2,
   ::after -1, Input/Preview 0). Der 12-MB-Wortlaut ist serverseitig
   gedeckt (.user.ini upload_max 12M / post_max 128M, vorher 2M/8M!). */
.elementor-element-9e48dde .elementor-field-group-Zustand::after{
	content:"bis zu 10 Bilder, max. 12 MB je Foto\AJPG, PNG, WEBP";
	white-space:pre-line;
	order:-1;
	margin:-7px 0 30px; /* Runde 5b: Abstand zum Label halbiert, nach unten +30px */
	font-family:'Inter',sans-serif;
	font-size:14px;
	line-height:1.55;
	color:#C9C9C9;
	text-align:center;
}

/* Checkbox eigene Zeile + 24px-Klickziel (Spec Punkt 5) - ueberschreibt
   die 18px-Basisgroesse der gemeinsamen datenschutz/MarketingFreigabe-
   Regel weiter oben (gleiche Spezifitaet, spaeter im Stylesheet -> gewinnt
   ohne !important noetig zu machen). Nicht vorausgewaehlt ist Elementor-
   Standard (kein checked-Attribut im Feld) - unveraendert. */
.elementor-element-9e48dde .elementor-field-group-MarketingFreigabe{
	display:block;
}
.elementor-element-9e48dde .elementor-field-group-MarketingFreigabe input[type="checkbox"]{
	width:24px;
	height:24px;
}

@media(max-width:767px){
	.usurv-photozone-content{padding:40px 16px} /* Runde 3: mobil ebenfalls kompakter */
	.usurv-photozone-kicker,
	.usurv-photozone-plate{max-width:none} /* Platte volle Breite -16, Spec Punkt 6 */
	.usurv-photozone-plate{padding:20px 16px}
	.usurv-photozone-kicker h3{font-size:clamp(32px,7vw,36px)} /* Spec Punkt 6: 32-36px */
	.elementor-element-9e48dde .elementor-field-group-Zustand{min-height:120px}
}

/* =====================================================================
   Runde 3 (Daniel 04.09. abends, "screen2"): Mobil-/Tablet-Pendant zum
   Desktop-Abdimm-Verlauf. Die fixe Mobil-Header-Bar (Section 0e62427,
   elementor-hidden-desktop, im Live-DOM gemessen: position:fixed, 108px,
   HINTERGRUND TRANSPARENT) liess scrollenden Content sichtbar hinter dem
   Logo durchlaufen. Sie bekommt (nur auf dieser Seite, umfrage.css laedt
   page-scoped) einen nahezu schwarzen Grund wie der Desktop-Sticky-Header
   plus den 30px-Verlauf Balkenfarbe -> transparent darunter.
   ===================================================================== */
/* KEIN .umfrage-srg1-Praefix: die Klasse sitzt am FORM-WIDGET (9e48dde),
   nicht am body - die Header-Section liegt ausserhalb. Scoping leistet
   bereits das page-gebundene Enqueue von umfrage.css. */
/* Runde 5 (Daniel-Smartphone-Screenshot): die fixe Bar hatte KEINEN
   z-index - position:fixed ohne z-index laesst spaeter gemalte, selbst
   positionierte Inhalte (Karten etc.) UEBER der Bar zeichnen; erst der
   dunkle Grund machte das sichtbar (Text lief durchs Logo). 99980 =
   unter Fortschrittsbalken (999999) und Chip (1000000), ueber Inhalt. */
.elementor-element-0e62427.elementor-top-section{background:rgba(10,10,10,.96);transition:top .4s ease}
/* Runde 6: der jetzt 48px hohe Fortschrittsbalken wuerde sonst die obere
   Logo-Haelfte ueberdecken — Bar weicht aus, sobald der Balken sichtbar
   ist (gleiche :has()-Mechanik wie der Desktop-Sticky-Header). */
body:has(#srg1-track.usurv-progress-visible) .elementor-element-0e62427.elementor-top-section{top:48px!important}
/* Elementor setzt z-index ueber ".elementor-24423 .elementor-element..."
   (Spezifitaet 0,3,0; mobil z:9) - deshalb hier mit gleicher Basis + 
   !important kontern, sonst gewinnt deren Mobile-Override. */
.elementor-24423 .elementor-element.elementor-element-0e62427.elementor-top-section{z-index:99980!important}
/* Auto-Dark-Riegel (siehe wp_head-Meta in gcom360-umfrage-assets.php):
   Seite ist durchgehend dunkel - Browser sollen NICHTS umfaerben. */
:root{color-scheme:dark}
.elementor-element-0e62427.elementor-top-section::after{content:"";position:absolute;top:100%;left:0;right:0;height:30px;background:linear-gradient(180deg,rgba(10,10,10,.96) 0%,rgba(10,10,10,0) 100%);pointer-events:none}

/* =====================================================================
   Runde 3 (Daniel 04.09.): "ZEIG SIE UNS" — 2x2-Galerie (40 % Boxbreite)
   links, Wunschliste rechts; Thumbs oeffnen die Vollaufloesung in der
   JS-Lightbox (initLightbox in umfrage.js). Die li-Optik kommt weiter
   aus den bestehenden .usurv-upload-Regeln (ul bleibt im .usurv-upload).
   ===================================================================== */
.usurv-showrow{display:flex;gap:70px;align-items:stretch;margin:0}
/* Runde 3c: rechte Spalte = Wunschliste + Tipp in .usurv-showtext, per
   space-between auf Galeriehoehe gespreizt (Daniel: Texthoehe rechts ~
   Hoehe des 2x2-Grids; der Tipp rueckt dafuer aus dem Fuss der Platte
   hierher). */
.usurv-showtext{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.usurv-showtext ul{margin:0}
.usurv-showtext .usurv-tip{margin:0}
.usurv-gallery{flex:0 0 50%;display:grid;grid-template-columns:repeat(6,1fr);gap:24px;align-content:center}
/* Buendig zur rechten Spalte (Daniel 06.09.): ab Tablet streckt sich die
   Galerie auf die volle Spaltenhoehe — das Hero-Bild nimmt den flexiblen
   Raum (object-fit:cover), die Dreierreihe unten behaelt ihr 4:3. */
@media(min-width:768px){
	/* Daniel 07.09. (2. Runde): Lead-Bild UND Dreierreihe unbeschnitten in
	   nativer Ratio — keine Zwangsstreckung mehr. Die gemeinsame
	   Unterkante mit der Upload-Box entsteht rechts: die Dropzone fuellt
	   per flex:1 auf die Galeriehoehe auf (align-items:stretch am
	   showrow), die Marketing-Freigabe liegt volle Breite darunter. */
	.usurv-gallery{align-content:start;grid-template-rows:auto auto}
	.usurv-gallery .usurv-gal-item img,
	.usurv-gallery .usurv-gal-item:first-child img{aspect-ratio:auto;width:100%;height:auto}
}
/* Mosaik (Redesign 06.09.): erstes Bild als Hero ueber die volle Breite,
   die drei anderen darunter in einer Reihe. */
.usurv-gallery .usurv-gal-item{grid-column:span 2}
.usurv-gallery .usurv-gal-item:first-child{grid-column:1/-1}
@media(max-width:767px){
	.usurv-gallery .usurv-gal-item:first-child img{aspect-ratio:16/9}
	.usurv-gallery .usurv-gal-item img{aspect-ratio:4/3;height:100%}
}
.usurv-gallery .usurv-gal-item{border-radius:12px}
/* Daniel 07.09. (3. Runde): kein Rahmen mehr um die Galeriebilder,
   stattdessen leichter Schlagschatten auf allen vieren. */
.usurv-gal-item{display:block;border-radius:8px;overflow:hidden;background:#000;box-shadow:0 10px 28px rgba(0,0,0,.5),0 3px 10px rgba(0,0,0,.4)}
.usurv-gal-item img{display:block;width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;transition:transform 180ms ease}
.usurv-gal-item:hover img{transform:scale(1.045)}
.usurv-gal-item:focus-visible{outline:2px solid #FF7500;outline-offset:2px}
/* Upload-Zweispalter (Daniel 06.09.2026): die per initUploadLayout()
   (umfrage.js) in .usurv-showtext verschobene Dropzone fuellt rechts die
   Resthoehe neben der 50%-Galerie (flex:1). Eigene Aussenabstaende der
   Feldgruppe sind hier neutralisiert — Rhythmus macht das gap/space-
   between der Spalte. 3 Klassen schlagen die margin-bottom:16px!important
   der Basisregel (2 Klassen) trotz gleichem !important. */
.elementor-element-9e48dde .usurv-showtext--mit-upload .elementor-field-group-Zustand{
	margin:0!important;
	flex:1 1 auto;
	min-height:180px;
}
/* Elementor gibt Feld und Vorschau flex-basis:100% — in der jetzt hohen
   Spalte blaeht das den nativen file-Input zum grauen Kasten auf (gemessen
   413px). In der Dropzone-Saeule bleiben beide inhaltsgross. */
.elementor-element-9e48dde .usurv-showtext--mit-upload .elementor-field-group-Zustand input[type="file"]{
	position:absolute!important;
	inset:0;
	width:100%;
	height:100%;
	opacity:0;
	cursor:pointer;
	z-index:2;
	background:none;
}
/* Vorschau-Kacheln und ihre Entfernen-Knoepfe muessen UEBER dem
   Overlay-Input liegen, sonst waeren sie nicht mehr klickbar. */
.usurv-showtext--mit-upload .usurv-upload-preview{position:relative;z-index:3}
.usurv-upload-cta{
	display:inline-block;
	font-family:'Manrope','Inter',sans-serif;
	font-weight:700;
	font-size:15px;
	color:#0a0a0a;
	background:#FF7500;
	border-radius:8px;
	padding:12px 26px;
	margin-top:6px;
	pointer-events:none;
	transition:box-shadow 200ms ease, transform 200ms ease;
}
.elementor-element-9e48dde .elementor-field-group-Zustand:hover .usurv-upload-cta{
	box-shadow:0 0 22px -6px #FF5B05;
	transform:translateY(-1px);
}
.usurv-upload-cta-sub{
	font-family:'Inter',sans-serif;
	font-size:13px;
	color:#9F9F9F;
	margin-top:10px;
	pointer-events:none;
}
.usurv-showtext--mit-upload .usurv-upload-preview{flex:0 0 auto;width:100%}
.elementor-element-9e48dde .elementor-field-group-MarketingFreigabe{
	/* 14px seitlich = Inhaltsflucht der anderen Gruppen (Galerie beginnt bei
	   +14 Innenabstand) — ohne sie stoesst die Karte an die Kapitelkante und
	   wirkt links/rechts abgeschnitten (Daniel-Screenshot 07.09.). */
	margin:20px 14px 60px!important;
	width:auto!important;
	padding:16px 18px!important;
	background:rgba(255,255,255,.04);
	border:1px solid rgba(255,255,255,.14);
	border-radius:14px;
}
/* Pflicht-Zustand (initFreigabePflicht): Fotos liegen im Upload, Haken fehlt. */
.elementor-element-9e48dde .elementor-field-group-MarketingFreigabe.usurv-freigabe-pflicht--offen{
	border-color:#FF4D4D;
	box-shadow:0 0 18px -6px #FF4D4D;
}
.usurv-freigabe-pflicht{
	font-family:'Inter',sans-serif;font-size:14px;color:#FF4D4D;
	margin-top:10px;line-height:1.5;
}

@media(max-width:767px){
	.usurv-showrow{display:block}
	.usurv-gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
	.usurv-showtext{margin:14px 0 0;display:block}
	.usurv-showtext .usurv-tip{margin:12px 0 0}
	.elementor-element-9e48dde .usurv-showtext--mit-upload .elementor-field-group-Zustand{margin:16px 0 0!important}
}
.usurv-lightbox{position:fixed;inset:0;z-index:1000001;background:rgba(0,0,0,.93);display:none;align-items:center;justify-content:center;padding:32px}
.usurv-lightbox.is-open{display:flex}
.usurv-lightbox img{max-width:min(1600px,94vw);max-height:88vh;width:auto;height:auto;border-radius:8px;box-shadow:0 8px 40px rgba(0,0,0,.8)}
/* Zweigliedriger Selektor + explizites padding: der Elementor-Kit-
   Buttonstil (.elementor-kit-6 button, 0,1,1) drueckte sonst Schwarz +
   20/30-Padding hinein (Daniel-Screenshot "komisches X"). */
.usurv-lightbox .usurv-lightbox-close{position:absolute;top:18px;right:22px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.12)!important;color:#fff;font-size:26px;font-weight:400;line-height:44px;text-align:center;cursor:pointer;display:block}/* bg!important: reset/Kit-Buttonregeln raufen sonst weiter */
.usurv-lightbox .usurv-lightbox-close:hover,.usurv-lightbox .usurv-lightbox-close:focus-visible{background:#FF7500!important;outline:none}
@media(max-width:767px){.usurv-lightbox{padding:12px}.usurv-lightbox .usurv-lightbox-close{top:10px;right:10px}}

/* =====================================================================
   Runde 5b (Daniel 04.09. nachts, Screenshot Upload-Dialog):
   1) Elementor-Validierungsmeldungen unterm Upload kleiner + enger.
   2) MarketingFreigabe-Checkbox: kreisrund im Stil der Umfrage-Ringe
      und vertikal zum Satz zentriert (hing vorher oben).
   ===================================================================== */
.elementor-element-9e48dde .elementor-message{font-size:12px!important;line-height:1.3!important;margin:3px 0 0}/* !important: Elementor-Widget-Stil setzt 22px mit hoeherer Spezifitaet */
.elementor-element-9e48dde .elementor-field-group-MarketingFreigabe .elementor-field-option{display:flex;align-items:center;gap:12px}
.elementor-element-9e48dde .elementor-field-group-MarketingFreigabe .elementor-field-option label{margin:0;cursor:pointer;line-height:1.45}
/* !important noetig: die Wiederbelebungs-Regel (Z. ~742) erzwingt
   appearance:auto!important gegen so-css display:none - fuer die runde
   Fassung hier gleichwertig kontern. */
.elementor-element-9e48dde .elementor-field-group-MarketingFreigabe input[type="checkbox"]{appearance:none!important;-webkit-appearance:none!important;flex:0 0 auto;margin:0;border:2px solid #FF7500;border-radius:50%!important;background:transparent!important;cursor:pointer}/* radius/bg: Elementor .elementor-field-Regel (0,6,0) liefert sonst 5px + #FFFFFF26 */
.elementor-element-9e48dde .elementor-field-group-MarketingFreigabe input[type="checkbox"]:checked{background:radial-gradient(circle, #FF7500 0 6px, rgba(0,0,0,0) 7px)!important}
.elementor-element-9e48dde .elementor-field-group-MarketingFreigabe input[type="checkbox"]:focus-visible{outline:2px solid rgba(255,117,0,.7);outline-offset:2px}

/* SRG2-Link-Zeile unter der Testinteresse-Frage (Daniel 06.09.) */
/* Srg2Link-Feld am 07.09. (4. Runde) entfernt - Regeln dazu geloescht. */

/* =====================================================================
   Verlaufs-Hintergrund (Daniel 06.09.: "wie bei gigahertz und ackermann
   online projektseite v2 ... im fall von GCOM halt ins orangene", dazu
   "links darfs nicht ganz so duster sein, der handschuh rechts sollte
   schaerfer und sichtbarer sein"). Bauart wie gigahertz.de
   (linear-gradient(0deg, #000 25%, Farbe2B 100%)), Farbe hier Orange.
   Drei Layer auf der Seiten-Section 7d393ff (traegt die ganze Seite):
   1. das Handschuh-PNG wie bisher (top right, fixed, 77%),
   2. ein Schimmer von links (hellt die linke Haelfte des Heros auf),
   3. der Gigahertz-Verlauf in Orange von oben.
   Der Handschuh gewinnt Sichtbarkeit vor allem durch das Elementor-
   Overlay, das von 0.89 auf 0.55 gesenkt wurde. */
body:not(.elementor-editor-active) .elementor-element.elementor-element-7d393ff{
	background-image:
		url("https://gcom360.online/wp-content/uploads/2026/09/20260903-umfrage-hintergrund-alpha.png"),
		linear-gradient(90deg, rgba(255,117,0,.12) 0%, rgba(255,117,0,.05) 22%, rgba(255,117,0,0) 45%),
		linear-gradient(0deg, #000000 25%, #FF75002B 100%)!important;
	background-position:top right,left top,center!important;
	/* min(): das PNG ist 1150px breit — 77% Viewport waeren auf grossen
	   Monitoren ein Upscale und DER Unschaerfemacher. Nie ueber nativ. */
	background-size:min(77%,1150px) auto,100% 100%,100% 100%!important;
	background-repeat:no-repeat!important;
	background-attachment:fixed,scroll,scroll!important;
}

/* Daniel 07.09.: Upload-Intro ("Lade Fotos deiner getragenen SRG1 ...")
   formatiert wie die Fragen-Labels (23px / 500 / Weiss, gemessen an
   .elementor-field-group-Optik > label) + 10px mehr Abstand nach unten. */
/* =====================================================================
   Runde 3 (Daniel 07.09.): VERSION-Thumb, Fragen-Haken, Fehlt-Liste
   ===================================================================== */
/* Produktbild-Thumb unter der VERSION-Frage (initVersionThumb) — nutzt
   die .usurv-gal-item-Optik (Schatten, Hover, Lightbox-Bindung), aber
   in nativer Hochkant-Ratio statt des 1:1-Galerie-Zwangs. */
.usurv-version-thumb{display:block;width:132px;margin-top:14px}
.usurv-version-thumb img{aspect-ratio:auto;width:100%;height:auto}
/* Pflicht-Sternchen entfernen (alles ist ohnehin Pflicht). */
.elementor-element-9e48dde .elementor-mark-required > .elementor-field-label:after{content:none!important}
/* Gruener Haken hinter beantworteten Fragen (initFrageHaken). */
.usurv-frage-haken{display:inline-block;vertical-align:-4px;margin-left:10px;width:22px;height:22px;opacity:0;transform:scale(.4);transition:opacity 180ms ease,transform 220ms cubic-bezier(.34,1.56,.64,1);pointer-events:none}
.usurv-frage-haken.is-an{opacity:1;transform:scale(1)}
.usurv-frage-haken svg{display:block;width:100%;height:100%}
/* Fehlt-Liste beim Senden (initFehltListe): GCOM360-Dark-Karte mit
   Fragen-Chips; Chips explizit gegen den Kit-Buttonstil abgesichert
   (.elementor-kit-6 button drueckt sonst Schwarz + 20/30-Padding rein,
   siehe Lightbox-Close-Lektion). */
.usurv-fehlt{grid-column:1/-1;margin:0 14px 26px;padding:20px 22px;background:rgba(255,77,77,.06);border:1px solid rgba(255,77,77,.45);border-radius:14px}
.usurv-fehlt-titel{font-family:'Manrope','Inter',sans-serif;font-weight:800;font-size:19px;color:#FFFFFF;margin:0 0 4px}
.usurv-fehlt-sub{font-family:'Inter',sans-serif;font-weight:400;font-size:14px;line-height:1.5;color:#C9C9C9;margin:0 0 12px}
.usurv-fehlt ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.usurv-fehlt li{margin:0}
.usurv-fehlt .usurv-fehlt-chip{
	display:inline-block;
	background:#161616!important;
	border:1px solid rgba(255,255,255,.22)!important;
	border-radius:999px!important;
	padding:8px 16px!important;
	font-family:'Inter',sans-serif!important;
	font-size:14px!important;
	font-weight:500!important;
	color:#FFFFFF!important;
	line-height:1.3!important;
	cursor:pointer;
	transition:border-color 160ms ease,color 160ms ease,transform 160ms ease;
}
.usurv-fehlt .usurv-fehlt-chip:hover{border-color:#FF7500!important;color:#FF7500!important;transform:translateY(-1px)}
/* Blitz-Rahmen beim Anspringen einer offenen Frage. */
.usurv-frage-blitz{outline:2px solid #FF7500;outline-offset:8px;border-radius:8px;animation:usurvFrageBlitz 1.8s ease forwards}
@keyframes usurvFrageBlitz{0%,60%{outline-color:#FF7500}100%{outline-color:rgba(255,117,0,0)}}

/* Daniel 07.09. (3. Runde): grauer Radial-Spot hinter dem grossen
   ZEIG-SIE-UNS-Bild (wie der Backdrop im bearbeiteten Handschuhbild),
   nach allen Seiten ins letztlich Schwarze auslaufend — keine Kante zur
   Nachbarsektion. Der Trager ist ein per initZeigGlow() (umfrage.js) VOR
   dem Form-Widget eingesetztes Div im .elementor-widget-wrap: innerhalb
   des Widgets ginge es nicht, weil .elementor-element-9e48dde
   overflow-x:clip traegt (A5) und den Glow an der Bildkante abschnitte
   (Pixel-Messung 07.09.: links neben dem Bild rgb(3,1,0), Bildkante
   innen rgb(29,29,29)). top/height setzt das JS von der Sektion aus;
   left/right kommen von hier. Beide Layer erreichen VOR den
   Canvas-Raendern volle Transparenz; das Widget (position:relative,
   spaeterer Baum-Nachbar) malt automatisch darueber. */
/* Daniel 07.09. (4. Runde): "muss full width" — Canvas ueber die volle
   Viewportbreite (left 50% + translateX, body clippt Overflow), Spot
   weiter hinter dem grossen Bild (~30 % von links), vertikal laeuft der
   Verlauf VOR den Canvas-Kanten auf Schwarz aus. */
.usurv-zeig-glow{
	position:absolute;
	left:50%;width:100vw;transform:translateX(-50%);
	pointer-events:none;
	background:
		radial-gradient(ellipse 30% 34% at 30% 55%, rgba(235,235,235,.38) 0%, rgba(190,190,190,.18) 55%, rgba(0,0,0,0) 100%),
		radial-gradient(ellipse 52% 48% at 30% 55%, rgba(165,165,165,.28) 0%, rgba(130,130,130,.13) 55%, rgba(0,0,0,0) 92%);
	background-repeat:no-repeat;
}
@media(max-width:767px){
	/* Mobil ist das Lead-Bild volle Breite und oben — Spot mittig hinter
	   die obere Bildhaelfte, Canvas nur um die schmalen Seitenraender
	   erweitert. */
	.usurv-zeig-glow{
		background:
			radial-gradient(ellipse 52% 22% at 50% 28%, rgba(235,235,235,.38) 0%, rgba(190,190,190,.18) 55%, rgba(0,0,0,0) 100%),
			radial-gradient(ellipse 78% 30% at 50% 28%, rgba(165,165,165,.28) 0%, rgba(130,130,130,.13) 55%, rgba(0,0,0,0) 92%);
		background-repeat:no-repeat;
	}
}
.usurv-sec.usurv-upload > p{
	font-family:'Inter',sans-serif;
	font-size:23px;
	font-weight:500;
	color:#FFFFFF;
	line-height:1.35;
	margin-bottom:20px;
}


/* Daniel 07.09. (4. Runde): Senden-Knopf "AB UEBER DIE ZIELLINIE".
   1) Elementor-Hover "grow" (scale 1.1) wuchs ueber den Widget-Rand und
      wurde vom overflow-x:clip der Sektion (A5-Regel, bleibt!) links/
      rechts abgeschnitten -> Scale totlegen, stattdessen Lift + Glow.
   2) Typo ruhiger: 19px/700 mit .04em statt 23px mit 1.1px Laufweite.
   3) Nicht mehr ultrabreit: auto-Breite mit min/max, zentriert. */
.elementor-element-9e48dde .elementor-field-type-submit{text-align:center;justify-content:center!important;}
.elementor-element-9e48dde .elementor-field-type-submit .elementor-button{
	display:inline-flex!important;width:auto!important;min-width:300px;max-width:440px;
	justify-content:center;
	font-size:19px!important;font-weight:700!important;letter-spacing:.04em!important;
	padding:17px 40px!important;border-radius:8px!important;
	background-color:#FF7500!important;color:#1a1a1a!important;
	transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease!important;
}
.elementor-element-9e48dde .elementor-field-type-submit .elementor-button:hover,
.elementor-element-9e48dde .elementor-field-type-submit .elementor-button:focus-visible{
	background-color:#ff8c2a!important;color:#1a1a1a!important;
	transform:translateY(-2px)!important;
	box-shadow:0 10px 28px -8px rgba(255,117,0,.55)!important;
}
.elementor-element-9e48dde .elementor-field-type-submit .elementor-button.elementor-animation-grow:hover{
	transform:translateY(-2px)!important;
}

/* Einladungspruefung vor dem Ausfuellen. */
.elementor-element-9e48dde:not(.usurv-invitation-ready) form.elementor-form{display:none!important}
.usurv-invitation{
	max-width:760px;margin:18px auto 28px;padding:18px 20px;
	font-family:'Inter',sans-serif;font-size:15px;line-height:1.55;color:#E8E8E8;
	background:#242424;border:0;border-radius:5px;box-shadow:0 12px 35px rgba(0,0,0,.3);
}
.usurv-invitation__title{font-family:'Manrope','Inter',sans-serif;font-size:18px;font-weight:750;line-height:1.35;color:#FFFFFF}
.usurv-invitation p{margin:8px 0 0;color:#C9C9C9}
.usurv-invitation a{display:inline-block;margin-top:10px;color:#FF8C2A;text-decoration:underline;text-underline-offset:3px}
.usurv-invitation.is-valid{background:rgba(21,21,21,.92)}
.usurv-invitation.is-valid .usurv-invitation__title{color:#DDF8D8}
.usurv-invitation.is-pending .usurv-invitation__title:before{
	content:'';display:inline-block;width:13px;height:13px;margin-right:10px;vertical-align:-1px;
	border:2px solid rgba(255,117,0,.3);border-top-color:#FF7500;border-radius:50%;animation:usurvInvitationSpin .8s linear infinite;
}
.usurv-invitation .usurv-invitation__retry{
	display:inline-flex;margin-top:14px;padding:10px 17px!important;border:1px solid #FF7500!important;border-radius:7px!important;
	font-family:'Inter',sans-serif!important;font-size:14px!important;font-weight:700!important;line-height:1.2!important;
	color:#151515!important;background:#FF7500!important;cursor:pointer;
}
.usurv-invitation .usurv-invitation__retry:hover,.usurv-invitation .usurv-invitation__retry:focus-visible{background:#FF8C2A!important;outline:2px solid rgba(255,117,0,.5);outline-offset:2px}
@keyframes usurvInvitationSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.usurv-invitation.is-pending .usurv-invitation__title:before{animation:none}}
@media(max-width:767px){
	.usurv-invitation{margin:12px 14px 22px;padding:15px 16px;font-size:14px}
	.usurv-invitation__title{font-size:17px}
}

/* Contact request on the public invitation notice. */
.usurv-invitation a.usurv-invitation__request{display:inline-flex;align-items:center;justify-content:center;margin-top:14px;padding:12px 20px;background:#111;color:#FF7500;border:0;border-radius:5px;font-family:'Manrope',sans-serif;font-size:14px;font-weight:750;line-height:1.3;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.2);transition:background .2s,color .2s}
.usurv-invitation a.usurv-invitation__request:hover,.usurv-invitation a.usurv-invitation__request:focus-visible{background:#FF7500;color:#fff}
.usurv-invitation a.usurv-invitation__request:focus-visible{outline:2px solid #FF7500;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.usurv-invitation a.usurv-invitation__request{transition:none}}
