/* Pop-up-Formulare der ixplainia-Webseite (Kundenbereich, Magazin, Lizenzanfrage) */
[hidden]{display:none!important}
dialog.form{width:min(580px,calc(100% - 32px));max-height:calc(100% - 32px);padding:0;border:0;border-radius:28px;background:var(--surface);color:var(--ink);box-shadow:0 40px 80px -30px rgba(0,0,0,.5);overflow:auto;font-family:var(--f)}
dialog.form::backdrop{background:rgba(12,30,22,.55);backdrop-filter:blur(3px)}
.f-head{position:relative;padding:26px 28px 18px;background:var(--leaf);display:grid;gap:6px}
.f-head img{position:absolute;right:64px;bottom:0;width:72px}
#form-lizenz .f-head img{bottom:22px}
.f-head h2{font-family:var(--head,inherit);font-size:1.6rem;padding-right:130px;margin:0;line-height:1.1;letter-spacing:-.02em}
.f-head p{color:var(--muted);font-size:.92rem;padding-right:130px;margin:0}
.f-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:0;background:var(--surface);color:var(--ink);font-size:1.3rem;cursor:pointer;z-index:2}
.f-body{padding:22px 28px 28px;display:grid;gap:18px}
.f-body fieldset{border:0;margin:0;padding:0;display:grid;gap:10px;min-width:0}
.f-body legend{font-weight:600;font-size:.95rem;margin-bottom:6px;padding:0}
.choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.choices.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.choice{position:relative;display:grid}
.choice input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0}
.choice span{display:grid;gap:4px;justify-items:center;align-content:center;text-align:center;padding:14px 10px;border-radius:16px;border:2px solid var(--line);font-size:.9rem;font-weight:500;line-height:1.3;transition:border-color .2s,background .2s}
.choice span i{font-style:normal;font-size:1.3rem}
.choice span small{font-weight:400;color:var(--muted);font-size:.78rem}
.choice input:checked+span{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,var(--surface))}
.choice input:focus-visible+span{outline:3px solid var(--orange);outline-offset:2px}
.choices.mini .choice span{padding:10px;flex-direction:row}
.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.row3{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px}
.row-plz{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px}
.fld{display:grid;gap:6px;min-width:0}
.fld label{font-weight:600;font-size:.9rem}
.fld label small{font-weight:400;color:var(--muted)}
.fld input,.fld textarea,.fld select{font:400 1rem/1.4 var(--f);color:var(--ink);background:var(--bg);border:2px solid var(--line);border-radius:14px;padding:12px 14px;width:100%}
.fld input:focus,.fld textarea:focus,.fld select:focus{outline:none;border-color:var(--blue)}
.fld textarea{min-height:110px;resize:vertical}
.cond{display:grid;gap:14px;padding:16px;border-radius:18px;background:var(--sky);animation:pop .25s ease}
@keyframes pop{from{transform:translateY(-6px);opacity:.3}to{transform:none;opacity:1}}
.tip{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center;padding:14px 16px;border-radius:18px;background:var(--sand);border:2px dashed color-mix(in srgb,var(--orange) 55%,transparent)}
.tip img{width:64px}
.tip b{display:block;font-family:var(--head,inherit);font-weight:800;font-size:1.1rem;letter-spacing:-.01em;line-height:1.05;color:var(--orange);margin-bottom:4px}
.tip p{margin:0;font-size:.9rem;color:var(--ink)}
.tip button{margin-top:8px;font:600 .85rem/1 var(--f);border:0;border-radius:999px;padding:9px 14px;background:var(--orange);color:#1f1300;cursor:pointer}
.perks{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.9rem}
.perks li{display:flex;gap:10px;align-items:flex-start}
.perks li::before{content:"✓";flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:700;background:color-mix(in srgb,var(--tak) 18%,transparent);color:var(--tak)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;color:var(--muted)}
.consent input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--blue)}
.f-msg{font-size:.9rem;padding:12px 14px;border-radius:12px;margin:0}
.f-msg.err{background:color-mix(in srgb,var(--tra) 12%,var(--surface));color:var(--ink)}
.f-send{justify-self:start}
.f-done{padding:40px 28px 34px;display:grid;gap:12px;justify-items:center;text-align:center}
.f-done img{width:120px}
.f-done h2{font-size:1.7rem;margin:0}
.f-done p{color:var(--muted);max-width:40ch;margin:0}
@media (max-width:520px){
  .choices{grid-template-columns:1fr}
  .choice span{grid-template-columns:auto 1fr;justify-items:start;align-items:center;gap:10px;text-align:left;padding:12px 14px}
  .choice span small{grid-column:2}
  .f-head img{right:16px}.f-head h2,.f-head p{padding-right:84px}
  .row2,.row3,.row-plz{grid-template-columns:1fr}
  .tip{grid-template-columns:48px minmax(0,1fr)}.tip img{width:48px}
}
/* Schließen-Kreuz exakt mittig (gezeichnet statt Schriftzeichen) */
.f-close,.demo-x,.lb-close,.nd-x,.zd-x,.cd-x,.vt-x{font-size:0!important;line-height:0!important;color:transparent!important;padding:0!important;display:grid;place-items:center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312283a' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:16px 16px!important}
/* Feldgruppen-Überschrift immer in einer Zeile über die ganze Breite (Safari) */
fieldset>legend{display:block;width:100%;max-width:100%;float:none;white-space:normal}
/* Überschrift über Auswahlfeldern als normaler Absatz (Safari brach <legend> Wort für Wort um) */
.f-lg{display:block;width:100%;margin:0 0 6px;padding:0;font-weight:600;font-size:.95rem;line-height:1.35;white-space:normal;color:inherit}
