/* =========================================================
   FluxPike – zentraler Markenauftritt
   Logo im Hauptmenü und Markenbühne auf Authentifizierungsseiten.
   ========================================================= */

:root{
  --marke-tuerkis-alpha-28:rgba(39,189,208,.28);
  --marke-tuerkis-alpha-34:rgba(39,189,208,.34);
  --marke-limette-alpha-24:rgba(183,232,62,.24);
  --marke-dunkel-alpha-18:rgba(4,23,29,.18);
  --marke-dunkel-alpha-24:rgba(4,23,29,.24);
  --marke-dunkel-alpha-35:rgba(4,23,29,.35);
  --marke-schwarz-alpha-55:rgba(0,0,0,.55);
  --marke-schwarz-alpha-20:rgba(0,0,0,.20);
  --marke-schwarz-alpha-24:rgba(0,0,0,.24);
  --marke-weiss-alpha-025:rgba(255,255,255,.025);
}

.fluxpike-marke{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-width:0;
  text-decoration:none;
}
.fluxpike-logo{
  display:block;
  max-width:100%;
  height:auto;
}
.fluxpike-logo--voll{width:154px;height:34px;}
.fluxpike-logo--kompakt{display:none;width:34px;height:34px;}

body:not(.ansicht-eingebettet) .brand-right .fluxpike-marke{
  min-height:34px;
  padding:0 3px;
  border-radius:9px;
  transition:transform .15s ease,filter .15s ease;
}
body:not(.ansicht-eingebettet) .brand-right .fluxpike-marke:hover{
  transform:translateY(-1px);
  filter:drop-shadow(0 5px 12px var(--marke-tuerkis-alpha-28));
}
body:not(.ansicht-eingebettet) .brand-right .btn.icon-only .nav-ico,
body:not(.ansicht-eingebettet) .brand-right .user-badge .nav-ico{
  display:block;
  width:18px;
  height:18px;
  filter:invert(1) brightness(1.08);
}
body:not(.ansicht-eingebettet) .brand-right .btn.icon-only.active,
body:not(.ansicht-eingebettet) .brand-right .user-badge.active{
  border-color:var(--fp-marke-limette);
  background:var(--fp-marke-limette);
  color:var(--fp-marke-gruen-tief);
  box-shadow:0 0 0 2px var(--fp-limette-alpha),0 8px 18px var(--fp-farbwert-rgba-0-0-0-_18);
}
body:not(.ansicht-eingebettet) .brand-right .btn.icon-only.active .nav-ico,
body:not(.ansicht-eingebettet) .brand-right .user-badge.active .nav-ico{
  filter:none;
}
body:not(.ansicht-eingebettet) .brand-right .benutzerkonto-knopf.active{
  border-color:var(--fp-marke-limette);
  box-shadow:0 0 0 2px var(--fp-limette-alpha),0 8px 18px var(--fp-farbwert-rgba-0-0-0-_18);
}

.auth-markenbuehne{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:grid;
  gap:24px;
  margin:4px 0 20px;
  padding:28px 30px;
  border:1px solid var(--fp-farbwert-rgba-255-255-255-_12);
  border-radius:24px 24px 24px 8px;
  background:
    linear-gradient(118deg,var(--fp-weiss-alpha-055),transparent 44%),
    linear-gradient(135deg,var(--fp-marke-tief),var(--fp-marke-dunkel));
  color:var(--fp-weiss);
  box-shadow:0 22px 58px var(--marke-dunkel-alpha-24);
}
.auth-markenbuehne::before{
  content:"";
  position:absolute;
  inset:auto -80px -105px auto;
  z-index:-1;
  width:280px;
  height:280px;
  border-radius:50%;
  background:radial-gradient(circle,var(--marke-tuerkis-alpha-34),transparent 68%);
}
.auth-markenbuehne::after{
  content:"";
  position:absolute;
  inset:-95px auto auto -90px;
  z-index:-1;
  width:250px;
  height:250px;
  border-radius:50%;
  background:radial-gradient(circle,var(--marke-limette-alpha-24),transparent 70%);
}
.auth-markenbuehne__glanz{
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(90deg,var(--fp-marke-limette) 0 18%,var(--fp-marke-tuerkis) 18% 52%,transparent 52%) top left/100% 4px no-repeat,
    repeating-linear-gradient(135deg,transparent 0 22px,var(--marke-weiss-alpha-025) 22px 23px);
}
.auth-markenbuehne__marke{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.auth-markenbuehne__logo{
  display:block;
  width:min(308px,62vw);
  height:auto;
  filter:drop-shadow(0 7px 18px var(--marke-schwarz-alpha-20));
}
.auth-markenbuehne__status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
  padding:7px 11px;
  border:1px solid var(--fp-farbwert-rgba-255-255-255-_14);
  border-radius:999px;
  background:var(--fp-farbwert-rgba-255-255-255-_06);
  color:var(--fp-farbwert-c4d3d6);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.auth-markenbuehne__status span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--fp-marke-limette);
  box-shadow:0 0 14px var(--fp-marke-limette);
}
.auth-markenbuehne__inhalt{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:end;
}
.auth-markenbuehne__kicker{
  margin:0 0 8px;
  color:var(--fp-marke-tuerkis);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.auth-markenbuehne h2{
  margin:0;
  color:var(--fp-weiss);
  font-size:clamp(1.65rem,3vw,2.45rem);
  line-height:1.08;
  letter-spacing:-.025em;
}
.auth-markenbuehne__inhalt p:last-child{
  max-width:64ch;
  margin:10px 0 0;
  color:var(--fp-farbwert-c4d3d6);
  font-size:.98rem;
  line-height:1.6;
}
.auth-markenbuehne__zeichen{
  display:block;
  width:92px;
  height:92px;
  border-radius:24px;
  box-shadow:0 16px 35px var(--marke-schwarz-alpha-24);
  transform:rotate(3deg);
}

@media (max-width:1180px){
  .fluxpike-logo--voll{display:none;}
  .fluxpike-logo--kompakt{display:block;}
}
@media (max-width:720px){
  .auth-markenbuehne{gap:18px;padding:22px 20px;border-radius:20px 20px 20px 7px;}
  .auth-markenbuehne__marke{align-items:flex-start;flex-direction:column;gap:13px;}
  .auth-markenbuehne__logo{width:min(270px,78vw);}
  .auth-markenbuehne__inhalt{grid-template-columns:1fr;}
  .auth-markenbuehne__zeichen{display:none;}
}

/* Kanonkorrektur: Markentext muss auf dunkler Auth-Bühne immer hell bleiben. */
body.flux-arbeitsbereich .auth-markenbuehne,
body.flux-arbeitsbereich main.container:not(.problem-bereich) .auth-markenbuehne{
  color:var(--fp-weiss);
}
body.flux-arbeitsbereich .auth-markenbuehne h2,
body.flux-arbeitsbereich main.container:not(.problem-bereich) .auth-markenbuehne h2{
  color:var(--fp-weiss);
  text-shadow:0 2px 16px var(--marke-schwarz-alpha-24);
}
body.flux-arbeitsbereich .auth-markenbuehne strong,
body.flux-arbeitsbereich main.container:not(.problem-bereich) .auth-markenbuehne strong{
  color:var(--fp-weiss);
}
body.flux-arbeitsbereich .auth-markenbuehne__inhalt p:last-child,
body.flux-arbeitsbereich main.container:not(.problem-bereich) .auth-markenbuehne__inhalt p:last-child{
  color:var(--fp-farbwert-e7f0f1);
}


/* =========================================================
   Auth-Formularfluss – kanonische Prozessfuehrung in Login-Formularen
   ========================================================= */
.auth-panel--fluxpike{
  border-color:var(--fp-rahmen-kuehl);
  border-radius:20px;
  padding:18px;
  box-shadow:0 18px 44px var(--fp-schatten-sanft);
}
.auth-panel--fluxpike::before{
  height:4px;
  background:linear-gradient(90deg,var(--fp-marke-limette) 0 28%,var(--fp-marke-tuerkis) 28% 62%,var(--fp-marke-tief) 62% 100%);
}
.auth-formfluss{
  display:grid;
  gap:14px;
  margin:0 0 18px;
  padding:16px;
  border:1px solid var(--fp-rahmen-kuehl);
  border-radius:18px;
  background:linear-gradient(180deg,var(--fp-weiss) 0%,var(--fp-flaeche-hell) 100%);
  box-shadow:inset 0 1px 0 var(--fp-weiss-alpha-95);
}
.auth-formfluss__kopf{
  display:grid;
  gap:4px;
}
.auth-formfluss__kicker{
  margin:0;
  color:var(--fp-marke-tuerkis);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.auth-formfluss__kopf strong{
  color:var(--fp-text-stark);
  font-size:1.05rem;
  line-height:1.25;
}
.auth-formfluss__kopf span{
  color:var(--fp-text-sekundaer);
  font-size:.94rem;
  line-height:1.5;
}
.auth-formfluss__schritte{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:auth-schritt;
}
.auth-formfluss__schritt{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-width:0;
  padding:12px;
  border:1px solid var(--fp-rahmen-kuehl);
  border-radius:15px;
  background:var(--fp-weiss);
  color:var(--fp-text-sekundaer);
  box-shadow:0 8px 20px var(--fp-schatten-sanft);
}
.auth-formfluss__schritt::after{
  content:"";
  position:absolute;
  inset:0 auto 0 -1px;
  width:4px;
  border-radius:15px 0 0 15px;
  background:var(--fp-rahmen-kuehl);
}
.auth-formfluss__nummer{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 30px;
  width:30px;
  height:30px;
  border-radius:11px;
  background:var(--fp-flaeche-hell);
  border:1px solid var(--fp-rahmen-kuehl);
  color:var(--fp-text-stark);
  font-weight:900;
  font-size:.84rem;
}
.auth-formfluss__inhalt{
  display:grid;
  gap:3px;
  min-width:0;
}
.auth-formfluss__inhalt strong{
  color:var(--fp-text-stark);
  font-size:.92rem;
  line-height:1.25;
}
.auth-formfluss__inhalt small{
  color:var(--fp-text-sekundaer);
  font-size:.82rem;
  line-height:1.35;
}
.auth-formfluss__schritt--aktiv{
  border-color:var(--fp-marke-tuerkis);
  background:linear-gradient(135deg,var(--fp-weiss) 0%,var(--fp-flaeche-hell) 100%);
  color:var(--fp-text-stark);
  box-shadow:0 14px 28px var(--marke-dunkel-alpha-24);
}
.auth-formfluss__schritt--aktiv::after{
  width:5px;
  background:linear-gradient(180deg,var(--fp-marke-limette),var(--fp-marke-tuerkis));
}
.auth-formfluss__schritt--aktiv .auth-formfluss__nummer{
  background:var(--fp-marke-limette);
  border-color:var(--fp-marke-limette);
  color:var(--fp-marke-gruen-tief);
  box-shadow:0 0 0 3px var(--marke-tuerkis-alpha-28);
}
.auth-formfluss__schritt--aktiv .auth-formfluss__inhalt strong{
  color:var(--fp-text-stark);
}
.auth-formfluss__schritt--aktiv .auth-formfluss__inhalt small{
  color:var(--fp-text-sekundaer);
}
.auth-formfluss__schritt--fertig{
  border-color:var(--fp-marke-limette);
}
.auth-formfluss__schritt--fertig::after{
  background:var(--fp-marke-limette);
}
.auth-formfluss__schritt--fertig .auth-formfluss__nummer{
  border-color:var(--fp-marke-limette);
  background:var(--fp-limette-alpha);
}
.auth-formfluss__schritt--deaktiviert{
  border-color:var(--fp-flaeche-grau);
  background:var(--fp-flaeche-neutral);
  color:var(--fp-text-dezent);
  box-shadow:none;
}
.auth-formfluss__schritt--deaktiviert::after{
  background:var(--fp-flaeche-grau);
}
.auth-formfluss__schritt--deaktiviert .auth-formfluss__nummer{
  border-color:var(--fp-flaeche-grau);
  background:var(--fp-flaeche-grau);
  color:var(--fp-text-dezent);
  box-shadow:none;
}
.auth-formfluss__schritt--deaktiviert .auth-formfluss__inhalt strong,
.auth-formfluss__schritt--deaktiviert .auth-formfluss__inhalt small{
  color:var(--fp-text-dezent);
}
.modal .auth-formfluss{
  margin-bottom:16px;
  padding:14px;
  border-radius:16px;
  box-shadow:none;
}
.modal .auth-formfluss__schritte{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.auth-formular{
  display:grid;
  gap:14px;
}
.auth-formular .auth-zeile{
  margin:0;
  padding:12px;
  border:1px solid var(--fp-rahmen-kuehl);
  border-radius:15px;
  background:var(--fp-weiss);
}
.auth-formular .auth-beschriftung{
  color:var(--fp-text-stark);
  font-weight:800;
}
.auth-formular .auth-aktion{
  justify-content:flex-end;
  margin-top:2px;
  padding-top:4px;
}
@media (max-width:860px){
  .auth-formfluss__schritte,
  .modal .auth-formfluss__schritte{
    grid-template-columns:1fr;
  }
  .auth-formular .auth-zeile{
    padding:11px;
  }
}

/* =========================================================
   OWN-CAPTCHA – kanonische Sicherheitspruefung im Auth-Bereich
   ========================================================= */
body.own-captcha-offen{
  overflow:hidden;
}
.own-captcha[hidden]{
  display:none;
}
.own-captcha{
  position:fixed;
  inset:0;
  z-index:12000;
  display:grid;
  place-items:center;
  padding:24px;
  background:var(--marke-schwarz-alpha-55);
  backdrop-filter:blur(8px);
}
.own-captcha__rahmen{
  width:min(760px,100%);
  overflow:hidden;
  border:1px solid var(--fp-rahmen-kuehl);
  border-radius:24px;
  background:var(--fp-weiss);
  box-shadow:0 28px 70px var(--marke-dunkel-alpha-35);
}
.own-captcha__kopf{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:22px 24px;
  background:linear-gradient(135deg,var(--fp-marke-tief) 0%,var(--fp-marke-dunkel) 100%);
  color:var(--fp-weiss);
}
.own-captcha__kicker{
  margin:0 0 6px;
  color:var(--fp-marke-limette);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.own-captcha__kopf h2{
  margin:0;
  color:var(--fp-weiss);
  font-size:1.22rem;
  line-height:1.25;
}
.own-captcha__beschreibung{
  margin:7px 0 0;
  color:var(--fp-weiss);
  opacity:.9;
  font-size:.9rem;
  line-height:1.35;
}
.own-captcha__schliessen{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border:0;
  border-radius:12px;
  background:var(--fp-gefahr);
  color:var(--fp-weiss);
  font-size:1.45rem;
  font-weight:900;
  line-height:1;
  cursor:pointer;
}
.own-captcha__inhalt{
  display:grid;
  gap:18px;
  padding:24px;
}
.own-captcha__hinweis{
  margin:0;
  padding:13px 15px;
  border:1px solid var(--fp-rahmen-kuehl);
  border-radius:15px;
  background:var(--fp-flaeche-hell);
  color:var(--fp-text-sekundaer);
  line-height:1.5;
}
.own-captcha__hinweis strong{
  color:var(--fp-text-stark);
}
.own-captcha__spielfeld{
  position:relative;
  min-height:280px;
  padding:18px 16px 20px;
  border:1px solid var(--fp-rahmen-kuehl);
  border-radius:20px;
  background:linear-gradient(180deg,var(--fp-weiss) 0%,var(--fp-flaeche-hell) 100%);
  overflow:hidden;
}
.own-captcha__zeichenreihe{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}
.own-captcha__zelle{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:74px;
  border:1px solid var(--fp-rahmen-kuehl);
  border-radius:18px;
  background:var(--fp-weiss);
  box-shadow:0 12px 26px var(--fp-schatten-sanft);
}
.own-captcha__zelle strong{
  color:var(--fp-text-stark);
  font-size:2rem;
  font-weight:950;
  letter-spacing:.05em;
}
.own-captcha__pfeile{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  pointer-events:none;
}
.own-captcha__pfeile marker path{
  fill:var(--fp-marke-tuerkis);
}
.own-captcha__pfad{
  fill:none;
  stroke:var(--fp-marke-tuerkis);
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.9;
  filter:drop-shadow(0 4px 5px var(--marke-dunkel-alpha-18));
}
.own-captcha__pfad--2,
.own-captcha__pfad--4{
  stroke:var(--fp-marke-limette);
}
.own-captcha__antwort{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(5,52px);
  justify-content:center;
  gap:10px;
  margin-top:112px;
}
.own-captcha__antwort input{
  width:52px;
  height:56px;
  border:2px solid var(--fp-rahmen-kuehl);
  border-radius:15px;
  background:var(--fp-weiss);
  color:var(--fp-text-stark);
  font-size:1.4rem;
  font-weight:950;
  text-align:center;
  text-transform:uppercase;
  box-shadow:inset 0 1px 0 var(--fp-weiss-alpha-95);
}
.own-captcha__antwort input:focus{
  border-color:var(--fp-marke-tuerkis);
  outline:none;
  box-shadow:0 0 0 3px var(--marke-tuerkis-alpha-28);
}
.own-captcha__fehler{
  margin:-6px 0 0;
  color:var(--fp-gefahr);
  font-weight:800;
  text-align:center;
}
.own-captcha__aktionen{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  padding:18px 24px;
  border-top:1px solid var(--fp-rahmen-kuehl);
  background:var(--fp-flaeche-hell);
}
@media (max-width:720px){
  .own-captcha{
    padding:12px;
  }
  .own-captcha__kopf,
  .own-captcha__inhalt,
  .own-captcha__aktionen{
    padding-left:16px;
    padding-right:16px;
  }
  .own-captcha__zeichenreihe{
    gap:8px;
  }
  .own-captcha__zelle{
    min-height:64px;
    border-radius:15px;
  }
  .own-captcha__zelle strong{
    font-size:1.55rem;
  }
  .own-captcha__antwort{
    grid-template-columns:repeat(5,44px);
    gap:8px;
    margin-top:92px;
  }
  .own-captcha__antwort input{
    width:44px;
    height:50px;
  }
}

/* =========================================================
   Auth-Sperre + Newsletter – globaler Auth-Standard
   ========================================================= */
.auth-hinweis--sperre{
  margin:0 0 14px 0;
  line-height:1.55;
  color:var(--fp-text-stark);
}
.auth-sperre-box{
  margin:14px 0;
  padding:14px 16px;
  border:1px solid var(--fp-orange-rahmen);
  border-radius:12px;
  background:var(--fp-orange-flaeche);
  color:var(--fp-orange-text);
}
.auth-sperre-box strong{
  display:block;
  margin-bottom:6px;
  color:var(--fp-orange-text);
}
.auth-sperre-box p{
  margin:0;
  line-height:1.45;
}
.auth-newsletter-formular{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid var(--fp-rahmen-kuehl);
}
.auth-checkbox-zeile{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:10px;
  align-items:start;
  margin:4px 0 14px 0;
  font-size:.95rem;
  line-height:1.45;
  color:var(--fp-text-neutral);
}
.auth-checkbox-zeile input{
  margin-top:3px;
}
.auth-newsletter-formular .auth-aktion{
  justify-content:flex-end;
}

.auth-aktion--links{
  margin-top:16px;
  padding-top:0;
  justify-content:flex-end;
}
.auth-aktion--links .btn{
  min-width:0;
}

/* =========================================================
   Logout – Vertrauensgerät
   ========================================================= */
.logout-vertrauen-panel{
  display:grid;
  gap:16px;
}
.logout-vertrauen-hinweis{
  padding:14px 16px;
  border:1px solid var(--fp-orange-rahmen);
  border-radius:14px;
  background:var(--fp-orange-flaeche);
  color:var(--fp-orange-text);
}
.logout-vertrauen-hinweis strong{
  display:block;
  margin-bottom:6px;
  color:var(--fp-orange-text);
}
.logout-vertrauen-hinweis p{
  margin:0;
  line-height:1.5;
}
.logout-vertrauen-aktionen{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:12px;
  align-items:end;
}
.logout-vertrauen-formular{
  display:grid;
  gap:12px;
  margin:0;
  padding:14px;
  border:1px solid var(--fp-rahmen-kuehl);
  border-radius:15px;
  background:var(--fp-weiss);
}
.logout-vertrauen-formular .btn{
  width:100%;
  justify-content:center;
}
.logout-vertrauen-checkbox{
  margin:0;
}

.logout-vertrauen-modal .dialog{
  max-width:760px;
}
.logout-vertrauen-modal .panel{
  overflow:hidden;
}
.logout-vertrauen-modal-kopf{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.logout-vertrauen-modal-kopftext{
  display:grid;
  gap:4px;
  min-width:0;
}
.logout-vertrauen-modal-kicker{
  margin:0;
  color:var(--fp-marke-limette);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.logout-vertrauen-modal .modal-body{
  display:grid;
  gap:14px;
}
.logout-vertrauen-modal .logout-vertrauen-formular{
  padding:0;
  border:0;
  background:transparent;
  border-radius:0;
}
.logout-vertrauen-modal-footer{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.logout-vertrauen-modal-footer .btn{
  width:auto;
  justify-content:center;
}
@media (max-width:720px){
  .logout-vertrauen-modal-footer{
    justify-content:stretch;
  }
  .logout-vertrauen-modal-footer .btn{
    width:100%;
  }
}


/* Newsletter-Zustimmung im Auth-Bereich */
.newsletter-zustimmung{
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid var(--fp-rahmen-kuehl);
  border-radius:16px;
  background:var(--fp-flaeche-hell);
}
.newsletter-zustimmung__check{
  margin:0;
  padding:0;
  border:0;
  background:transparent;
}
.newsletter-zustimmung__check span{
  display:grid;
  gap:4px;
}
.newsletter-zustimmung__check strong{
  color:var(--fp-text-stark);
}
.newsletter-zustimmung__check small{
  color:var(--fp-text-sekundaer);
  line-height:1.45;
}
.newsletter-zustimmung__link{
  justify-self:start;
  color:var(--fp-marke-tuerkis);
  font-weight:800;
  text-decoration:none;
}
.newsletter-zustimmung__link:hover{
  text-decoration:underline;
}
.newsletter-regeln-text{
  padding:16px;
  border:1px solid var(--fp-rahmen-kuehl);
  border-radius:16px;
  background:var(--fp-weiss);
  color:var(--fp-text-stark);
  line-height:1.6;
}
.newsletter-abmelden-formular .auth-aktion{
  justify-content:flex-end;
}


/* Auth-Newsletter: Zustimmung per Regeln-Modal */
.auth-newsletter-formular__aktionen{
  justify-content:flex-end;
}
.auth-newsletter-formular__aktionen .btn:disabled,
.auth-newsletter-formular__aktionen button:disabled{
  opacity:.55;
  cursor:not-allowed;
  box-shadow:none;
}
.newsletter-zustimmung__check{
  cursor:pointer;
}
.newsletter-zustimmung__check small{
  display:block;
  margin-top:4px;
  color:var(--fp-text-sekundaer);
}
.newsletter-regeln-modal[hidden]{
  display:none;
}
.newsletter-regeln-modal{
  position:fixed;
  inset:0;
  z-index:12500;
  display:grid;
  place-items:center;
  padding:24px;
  background:var(--marke-schwarz-alpha-55);
  backdrop-filter:blur(8px);
}
.newsletter-regeln-modal .dialog{
  width:min(720px,calc(100vw - 48px));
  max-width:720px;
  min-width:min(720px,calc(100vw - 48px));
  transform:none!important;
  transition:opacity .12s ease!important;
}
.newsletter-regeln-modal__panel{
  overflow:hidden;
  border-radius:22px;
  background:var(--fp-weiss);
  box-shadow:0 28px 70px var(--marke-dunkel-alpha-35);
}
.newsletter-regeln-modal__kopf{
  align-items:flex-start;
}
.newsletter-regeln-modal__kicker{
  margin:0 0 6px;
  color:var(--fp-marke-tuerkis);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.newsletter-regeln-modal__inhalt{
  display:grid;
  gap:14px;
}
.newsletter-regeln-modal__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.newsletter-regeln-modal__meta span{
  display:inline-flex;
  align-items:center;
  padding:5px 9px;
  border:1px solid var(--fp-rahmen-kuehl);
  border-radius:999px;
  background:var(--fp-flaeche-hell);
  color:var(--fp-text-sekundaer);
  font-size:.86rem;
  font-weight:800;
}
.newsletter-regeln-modal__footer{
  justify-content:flex-end;
}
@media (max-width:760px){
  .auth-newsletter-aktionen{
    grid-template-columns:1fr;
  }
}


/* Auth-Newsletter: kanonische Aktionszeile */
.auth-newsletter-aktionszeile{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top:16px;
}
.auth-newsletter-aktionszeile .btn,
.auth-newsletter-aktionszeile button{
  width:auto;
  min-width:0;
}
.auth-newsletter-aktionszeile .btn:disabled,
.auth-newsletter-aktionszeile button:disabled{
  opacity:.55;
  cursor:not-allowed;
  box-shadow:none;
}
.newsletter-zustimmung__check small{
  display:none;
}
@media (max-width:640px){
  .auth-newsletter-aktionszeile{
    justify-content:stretch;
  }
  .auth-newsletter-aktionszeile .btn,
  .auth-newsletter-aktionszeile button{
    width:100%;
  }
}


/* newsletter modal jump fix */
.newsletter-regeln-modal:not(.open){
  display:none;
}
.newsletter-regeln-modal.open{
  display:grid;
}
.newsletter-regeln-modal .dialog.open{
  width:min(720px,calc(100vw - 48px));
  max-width:720px;
  min-width:min(720px,calc(100vw - 48px));
}


/* OWN-CAPTCHA – konfigurierbare Darstellung */
.own-captcha__kopf h2,
.own-captcha__kopf #own-captcha-titel,
.own-captcha__kopf #own-captcha-preview-titel{
  color:var(--fp-weiss)!important;
  background:transparent!important;
  text-shadow:0 1px 2px var(--marke-dunkel-alpha-35);
}
.own-captcha__beschreibung{
  color:var(--fp-weiss)!important;
  opacity:.92;
}
.own-captcha__spielfeld{
  --own-captcha-spalten:5;
  --own-captcha-eingabe-bg:#FFFFFF;
  min-height:auto;
}
.own-captcha__zeichenreihe,
.own-captcha__antwort,
.own-captcha__falschreihe{
  display:grid;
  grid-template-columns:repeat(var(--own-captcha-spalten),minmax(44px,1fr));
  gap:10px;
  align-items:center;
  justify-content:center;
}
.own-captcha__antwort{
  margin-top:96px;
}
.own-captcha__spielfeld--drei_reihen{
  display:grid;
  gap:18px;
}
.own-captcha__spielfeld--drei_reihen .own-captcha__antwort{
  margin-top:84px;
}
.own-captcha__falschreihe{
  position:relative;
  z-index:2;
  opacity:.72;
}
.own-captcha__zelle--falsch{
  border-style:dashed;
  background:var(--fp-flaeche-hell);
  opacity:.78;
}
.own-captcha__antwort input{
  background:var(--own-captcha-eingabe-bg,#FFFFFF)!important;
}
.own-captcha__pfad{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:none;
}
.own-captcha__pfeile marker path{
  fill:inherit;
}
.own-captcha--preview{
  position:relative;
  inset:auto;
  z-index:auto;
  display:block;
  padding:0;
  background:transparent;
  backdrop-filter:none;
}
.own-captcha--preview .own-captcha__rahmen{
  width:100%;
  box-shadow:0 12px 28px var(--fp-schatten-sanft);
}
.own-captcha--preview .own-captcha__schliessen,
.own-captcha--preview .own-captcha__aktionen{
  display:none;
}
@media (max-width:720px){
  .own-captcha__zeichenreihe,
  .own-captcha__antwort,
  .own-captcha__falschreihe{
    grid-template-columns:repeat(auto-fit,minmax(42px,1fr));
  }
  .own-captcha__antwort{
    margin-top:82px;
  }
}


/* OWN-CAPTCHA – Zeichenrotation und SVG-Zeichen */
.own-captcha__zeichen{
  display:inline-block;
  transform:rotate(var(--own-captcha-zeichen-rotation,0deg));
  transform-origin:center;
}
.own-captcha__glyph{
  display:block;
  width:56px;
  height:56px;
  margin:auto;
  overflow:visible;
}
.own-captcha__glyph text{
  fill:currentColor;
  font-size:42px;
  font-weight:950;
  dominant-baseline:middle;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.own-captcha__zelle .sr-only{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
}


/* OWN-CAPTCHA – Layout-Korrektur */
.own-captcha:not(.own-captcha--preview){
  align-items:flex-start;
  justify-items:center;
  place-items:start center;
  overflow-y:auto;
  padding-top:max(24px, env(safe-area-inset-top));
  padding-bottom:max(24px, env(safe-area-inset-bottom));
}
.own-captcha:not(.own-captcha--preview) .own-captcha__rahmen{
  margin:auto 0;
  max-height:calc(100vh - 48px);
  overflow:auto;
}
.own-captcha__spielfeld{
  --own-captcha-source-spalten:var(--own-captcha-spalten,5);
  --own-captcha-antwort-spalten:var(--own-captcha-spalten,5);
  min-height:auto!important;
}
.own-captcha__zeichenreihe{
  grid-template-columns:repeat(var(--own-captcha-source-spalten),minmax(58px,1fr))!important;
}
.own-captcha__antwort{
  grid-template-columns:repeat(var(--own-captcha-antwort-spalten),52px)!important;
  margin-top:86px!important;
}
.own-captcha__spielfeld--drei_reihen .own-captcha__antwort{
  margin-top:86px!important;
}
.own-captcha__zelle--falsch{
  border-style:dashed!important;
  background:linear-gradient(180deg,var(--fp-flaeche-hell) 0%,var(--fp-weiss) 100%)!important;
  opacity:.72;
}
.own-captcha__zelle--falsch strong,
.own-captcha__zelle--falsch .own-captcha__zeichen,
.own-captcha__zelle--falsch .own-captcha__glyph{
  opacity:.65;
}
.own-captcha__pfeile marker path{
  fill:unset!important;
}
.own-captcha__pfad{
  stroke:unset!important;
}
@media (max-width:720px){
  .own-captcha:not(.own-captcha--preview){
    padding-top:12px;
    padding-bottom:12px;
  }
  .own-captcha:not(.own-captcha--preview) .own-captcha__rahmen{
    max-height:calc(100vh - 24px);
  }
  .own-captcha__zeichenreihe{
    grid-template-columns:repeat(var(--own-captcha-source-spalten),minmax(44px,1fr))!important;
  }
  .own-captcha__antwort{
    grid-template-columns:repeat(var(--own-captcha-antwort-spalten),44px)!important;
    margin-top:72px!important;
  }
}


/* OWN-CAPTCHA – skalierendes Layout ohne Scroll-Zwang */
.own-captcha:not(.own-captcha--preview){
  align-items:center!important;
  justify-items:center!important;
  place-items:center!important;
  overflow:hidden!important;
  padding:clamp(10px,2vh,22px)!important;
}
.own-captcha:not(.own-captcha--preview) .own-captcha__rahmen{
  width:min(760px,calc(100vw - 24px))!important;
  max-height:calc(100vh - 24px)!important;
  overflow:hidden!important;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
}
.own-captcha:not(.own-captcha--preview) .own-captcha__kopf{
  padding:clamp(14px,2vh,20px) 22px!important;
}
.own-captcha:not(.own-captcha--preview) .own-captcha__inhalt{
  padding:clamp(14px,2vh,22px)!important;
  gap:clamp(10px,1.6vh,16px)!important;
  min-height:0;
}
.own-captcha:not(.own-captcha--preview) .own-captcha__aktionen{
  padding:clamp(12px,1.7vh,16px) 22px!important;
}
.own-captcha__spielfeld{
  overflow:hidden!important;
  padding:clamp(12px,1.6vh,16px)!important;
}
.own-captcha__zeichenreihe{
  grid-template-columns:repeat(var(--own-captcha-source-spalten),minmax(0,1fr))!important;
  gap:clamp(6px,1.1vw,10px)!important;
  width:100%;
}
.own-captcha__antwort{
  grid-template-columns:repeat(var(--own-captcha-antwort-spalten),var(--own-captcha-antwort-zelle,52px))!important;
  gap:clamp(6px,1vw,10px)!important;
  margin-top:clamp(58px,9vh,86px)!important;
  width:max-content;
  max-width:100%;
}
.own-captcha__zelle{
  min-width:0!important;
  min-height:var(--own-captcha-zelle,72px)!important;
  height:var(--own-captcha-zelle,72px)!important;
  border-radius:clamp(12px,2vw,18px)!important;
}
.own-captcha__zelle strong,
.own-captcha__zelle .own-captcha__zeichen{
  font-size:var(--own-captcha-font,32px)!important;
}
.own-captcha__antwort input{
  width:var(--own-captcha-antwort-zelle,52px)!important;
  min-width:var(--own-captcha-antwort-zelle,52px)!important;
  height:calc(var(--own-captcha-antwort-zelle,52px) + 4px)!important;
  border-radius:clamp(10px,1.7vw,15px)!important;
}
.own-captcha__glyph{
  width:var(--own-captcha-glyph,56px)!important;
  height:var(--own-captcha-glyph,56px)!important;
}
.own-captcha__glyph text{
  font-size:calc(var(--own-captcha-glyph,56px) * .75)!important;
}

/* Podgląd w Adminie ma być kartą, nie modalem */
.own-captcha--preview{
  width:100%;
  max-width:100%;
  overflow:visible!important;
}
.own-captcha--preview .own-captcha__rahmen{
  width:100%!important;
  max-height:none!important;
  overflow:visible!important;
  display:block!important;
}
.own-captcha--preview .own-captcha__inhalt{
  padding:18px!important;
}
.own-captcha--preview .own-captcha__spielfeld{
  overflow:hidden!important;
}
.own-captcha--preview .own-captcha__antwort{
  margin-top:72px!important;
}
@media (max-height:760px){
  .own-captcha:not(.own-captcha--preview) .own-captcha__beschreibung{
    display:none;
  }
  .own-captcha:not(.own-captcha--preview) .own-captcha__hinweis{
    padding:10px 12px!important;
  }
  .own-captcha:not(.own-captcha--preview) .own-captcha__antwort{
    margin-top:54px!important;
  }
}
@media (max-width:720px){
  .own-captcha:not(.own-captcha--preview){
    padding:8px!important;
  }
  .own-captcha:not(.own-captcha--preview) .own-captcha__rahmen{
    width:calc(100vw - 16px)!important;
    max-height:calc(100vh - 16px)!important;
  }
  .own-captcha__zeichenreihe{
    gap:6px!important;
  }
  .own-captcha__antwort{
    gap:6px!important;
    margin-top:56px!important;
  }
}


/* OWN-CAPTCHA – drei klare Reihen und kanonische Aktionsleiste */
.own-captcha__spielfeld--drei_reihen{
  display:grid!important;
  grid-template-rows:auto auto auto;
  gap:clamp(26px,5vh,46px)!important;
}
.own-captcha__spielfeld--drei_reihen .own-captcha__zeichenreihe--oben{
  grid-template-columns:repeat(var(--own-captcha-source-spalten),minmax(0,1fr))!important;
}
.own-captcha__spielfeld--drei_reihen .own-captcha__zeichenreihe--unten{
  grid-template-columns:repeat(var(--own-captcha-source-unten-spalten),minmax(0,1fr))!important;
}
.own-captcha__spielfeld--drei_reihen .own-captcha__antwort{
  margin-top:0!important;
}
.own-captcha__spielfeld--zwei_reihen .own-captcha__antwort{
  margin-top:clamp(58px,9vh,86px)!important;
}
.own-captcha__aktionen{
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:10px!important;
  align-items:stretch!important;
  justify-content:stretch!important;
}
.own-captcha__aktionen .btn,
.own-captcha__aktionen button{
  width:100%;
  min-height:38px;
  justify-content:center;
}
@media (max-width:640px){
  .own-captcha__aktionen{
    grid-template-columns:1fr;
  }
}


/* OWN-CAPTCHA – Antwortreihe volle Breite + Modal-Footer im Kanon */
.own-captcha__antwort{
  display:grid!important;
  grid-template-columns:repeat(var(--own-captcha-antwort-spalten),minmax(0,1fr))!important;
  width:100%!important;
  max-width:100%!important;
  justify-content:stretch!important;
  justify-items:stretch!important;
  align-items:center!important;
}
.own-captcha__antwort input{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  justify-self:stretch!important;
}
.own-captcha__spielfeld--drei_reihen .own-captcha__antwort{
  margin-top:0!important;
}
.own-captcha__aktionen.modal-footer,
.own-captcha__aktionen{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  margin:0!important;
  padding:18px 24px!important;
  border-top:1px solid var(--fp-rahmen-kuehl)!important;
  background:var(--fp-flaeche-hell)!important;
}
.own-captcha__aktionen .btn,
.own-captcha__aktionen button{
  width:100%!important;
  min-width:0!important;
  min-height:38px!important;
  justify-content:center!important;
  text-align:center!important;
}
.own-captcha__aktionen .btn:not(.primary):not(.danger):not(.secondary){
  background:var(--fp-marke-dunkel);
  border-color:var(--fp-marke-dunkel);
  color:var(--fp-weiss);
}
@media (max-width:640px){
  .own-captcha__aktionen.modal-footer,
  .own-captcha__aktionen{
    grid-template-columns:1fr!important;
  }
}


/* OWN-CAPTCHA – optionale Zeichen-Störungen */
.own-captcha__zelle--stoerung{
  --own-captcha-stoerung:35;
  --own-captcha-pixel:2px;
  overflow:hidden;
}
.own-captcha__zelle--stoerung::before,
.own-captcha__zelle--stoerung::after{
  content:"";
  position:absolute;
  inset:8px;
  z-index:3;
  pointer-events:none;
  opacity:calc(var(--own-captcha-stoerung,35) / 170);
}
.own-captcha__zelle--stoerung .own-captcha__zeichen,
.own-captcha__zelle--stoerung .own-captcha__glyph{
  position:relative;
  z-index:2;
}
.own-captcha__zelle--stoerung-linien::before,
.own-captcha__zelle--stoerung-gemischt::before{
  background:
    linear-gradient(18deg, transparent 0 42%, currentColor 43% 46%, transparent 47% 100%),
    linear-gradient(-12deg, transparent 0 56%, currentColor 57% 60%, transparent 61% 100%);
}
.own-captcha__zelle--stoerung-punkte::before,
.own-captcha__zelle--stoerung-gemischt::after{
  background-image:radial-gradient(currentColor 1px, transparent 1.6px);
  background-size:10px 9px;
  background-position:2px 1px;
}
.own-captcha__zelle--stoerung-pixel .own-captcha__zeichen,
.own-captcha__zelle--stoerung-gemischt .own-captcha__zeichen{
  text-shadow:
    var(--own-captcha-pixel,2px) 0 0 currentColor,
    calc(var(--own-captcha-pixel,2px) * -1) 0 0 currentColor;
  filter:contrast(1.14);
}
.own-captcha__zelle--stoerung-pixel .own-captcha__glyph,
.own-captcha__zelle--stoerung-gemischt .own-captcha__glyph{
  filter:contrast(1.14);
}

/* OWN-CAPTCHA – volle Reihenbreite und automatische Quellenplätze */
.own-captcha__zeichenreihe,
.own-captcha__spielfeld--drei_reihen .own-captcha__zeichenreihe--oben,
.own-captcha__spielfeld--drei_reihen .own-captcha__zeichenreihe--unten{
  display:flex!important;
  flex-wrap:nowrap!important;
  width:100%!important;
  max-width:100%!important;
  gap:clamp(6px,1vw,10px)!important;
  justify-content:stretch!important;
  align-items:center!important;
}
.own-captcha__zeichenreihe .own-captcha__zelle{
  flex:1 1 0!important;
  min-width:0!important;
}
.own-captcha__antwort{
  display:flex!important;
  flex-wrap:nowrap!important;
  width:100%!important;
  max-width:100%!important;
  gap:clamp(6px,1vw,10px)!important;
  justify-content:stretch!important;
  align-items:center!important;
}
.own-captcha__antwort input{
  flex:1 1 0!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
}
.own-captcha__spielfeld--drei_reihen{
  grid-template-rows:auto auto auto!important;
}
.own-captcha__spielfeld--drei_reihen .own-captcha__antwort{
  margin-top:0!important;
}
.own-captcha__spielfeld--zwei_reihen .own-captcha__antwort{
  margin-top:clamp(58px,9vh,86px)!important;
}


/* OWN-CAPTCHA – harte Reihenbegrenzung im Container */
.own-captcha__spielfeld,
.own-captcha__zeichenreihe,
.own-captcha__antwort{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.own-captcha__zeichenreihe,
.own-captcha__spielfeld--drei_reihen .own-captcha__zeichenreihe--oben,
.own-captcha__spielfeld--drei_reihen .own-captcha__zeichenreihe--unten{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  gap:clamp(6px,1vw,10px)!important;
}
.own-captcha__zeichenreihe > .own-captcha__zelle{
  flex:1 1 0!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
}
.own-captcha__antwort{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  gap:clamp(6px,1vw,10px)!important;
}
.own-captcha__antwort > input{
  flex:1 1 0!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
.own-captcha__zelle > *{
  max-width:100%!important;
}
.own-captcha__glyph{
  max-width:100%!important;
}
.own-captcha__spielfeld--drei_reihen{
  grid-template-rows:auto auto auto!important;
}


/* OWN-CAPTCHA – lesbarere Zeichen bei vielen Störungen */
.own-captcha__zelle strong,
.own-captcha__zelle .own-captcha__zeichen{
  font-size:var(--own-captcha-font,30px)!important;
  line-height:1!important;
}
.own-captcha__glyph{
  width:var(--own-captcha-glyph,50px)!important;
  height:var(--own-captcha-glyph,50px)!important;
}
.own-captcha__glyph text{
  font-size:calc(var(--own-captcha-glyph,50px) * .78)!important;
  font-weight:980!important;
}
.own-captcha__zelle--stoerung::before,
.own-captcha__zelle--stoerung::after{
  z-index:1!important;
  opacity:calc(var(--own-captcha-stoerung,35) / 230)!important;
}
.own-captcha__zelle--stoerung .own-captcha__zeichen,
.own-captcha__zelle--stoerung .own-captcha__glyph{
  z-index:4!important;
}
.own-captcha__zelle--stoerung-linien::before,
.own-captcha__zelle--stoerung-gemischt::before{
  background:
    linear-gradient(18deg, transparent 0 43%, currentColor 44% 46%, transparent 47% 100%),
    linear-gradient(-12deg, transparent 0 57%, currentColor 58% 60%, transparent 61% 100%)!important;
}
.own-captcha__zelle--stoerung-pixel .own-captcha__zeichen,
.own-captcha__zelle--stoerung-gemischt .own-captcha__zeichen{
  text-shadow:
    calc(var(--own-captcha-pixel,2px) * .65) 0 0 currentColor,
    calc(var(--own-captcha-pixel,2px) * -.65) 0 0 currentColor!important;
}


/* Auth-Sperre: Newsletter statt Konto-Registrierung */
.auth-newsletter-hinweis{
  display:grid;
  gap:4px;
  margin:0 0 16px 0;
  padding:12px 14px;
  border:1px solid var(--fp-rahmen-kuehl);
  border-radius:14px;
  background:var(--fp-flaeche-hell);
  color:var(--fp-text-stark);
}
.auth-newsletter-hinweis strong{
  font-weight:900;
}
.auth-newsletter-hinweis span{
  color:var(--fp-text-sekundaer);
  line-height:1.45;
}
.auth-aktion--login{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
  align-items:center;
}
.auth-aktion--login .btn,
.auth-aktion--login button{
  min-width:150px;
  justify-content:center;
}
@media (max-width:640px){
  .auth-aktion--login{
    justify-content:stretch;
  }
  .auth-aktion--login .btn,
  .auth-aktion--login button{
    width:100%;
  }
}


/* Rechtliche Informationsseiten */
.legal-page{
  display:grid;
  gap:18px;
}
.legal-page section.panel{
  padding:18px;
  border:1px solid var(--fp-rahmen);
  border-radius:16px;
  background:var(--fp-weiss);
  box-shadow:0 8px 24px var(--fp-schatten-sanft);
}
.legal-page h2{
  margin-top:0;
}
.legal-page table.table{
  margin-top:12px;
}
.legal-page .muted{
  color:var(--fp-text-sekundaer);
}

/* OWN-CAPTCHA – robuste Darstellung ueber Footer und mobile Browser hinweg */
body.own-captcha-offen{
  overflow:hidden!important;
  touch-action:none;
}
body.own-captcha-offen footer.site-footer,
body.own-captcha-offen .site-footer{
  z-index:0!important;
  pointer-events:none;
}
.own-captcha:not(.own-captcha--preview){
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:grid!important;
  align-items:center!important;
  justify-items:center!important;
  width:100vw!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  height:var(--own-captcha-viewport-height,100dvh)!important;
  max-height:var(--own-captcha-viewport-height,100dvh)!important;
  overflow:hidden!important;
  overscroll-behavior:contain;
  padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important;
  background:var(--marke-schwarz-alpha-55)!important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  box-sizing:border-box!important;
}
.own-captcha:not(.own-captcha--preview) .own-captcha__rahmen{
  width:min(760px,calc(100vw - 16px))!important;
  max-width:calc(100vw - 16px)!important;
  max-height:calc(var(--own-captcha-viewport-height,100dvh) - 16px)!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch;
  position:relative!important;
  z-index:1!important;
}
.own-captcha:not(.own-captcha--preview) .own-captcha__inhalt{
  min-height:0!important;
}
.own-captcha:not(.own-captcha--preview) .own-captcha__spielfeld{
  overflow:hidden!important;
}
.own-captcha:not(.own-captcha--preview) .own-captcha__pfeile{
  z-index:3!important;
}
.own-captcha:not(.own-captcha--preview) .own-captcha__zeichenreihe,
.own-captcha:not(.own-captcha--preview) .own-captcha__antwort{
  position:relative!important;
  z-index:4!important;
}
@supports not (height:100dvh){
  .own-captcha:not(.own-captcha--preview){
    height:var(--own-captcha-viewport-height,100vh)!important;
    max-height:var(--own-captcha-viewport-height,100vh)!important;
  }
}
@media (max-width:720px){
  .own-captcha:not(.own-captcha--preview){
    padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))!important;
  }
  .own-captcha:not(.own-captcha--preview) .own-captcha__rahmen{
    width:calc(100vw - 12px)!important;
    max-width:calc(100vw - 12px)!important;
    max-height:calc(var(--own-captcha-viewport-height,100dvh) - 12px)!important;
  }
  .own-captcha:not(.own-captcha--preview) .own-captcha__kopf{
    padding:14px 18px!important;
  }
  .own-captcha:not(.own-captcha--preview) .own-captcha__inhalt{
    padding:14px!important;
  }
  .own-captcha:not(.own-captcha--preview) .own-captcha__aktionen{
    padding:14px!important;
  }
}


/* OWN-CAPTCHA – geschlossen bleibt wirklich geschlossen */
.own-captcha:not(.own-captcha--preview):not(.ist-offen),
.own-captcha:not(.own-captcha--preview)[hidden]{
  display:none!important;
}
.own-captcha.ist-offen:not(.own-captcha--preview){
  display:grid!important;
}
