*{box-sizing:border-box}
body{margin:0;min-height:100vh;min-height:100svh;background:var(--lv-bg-2);color:var(--lv-text);font:400 16px/1.6 var(--lv-sans);-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;align-items:center;padding:0 16px 32px}
.lh{width:100%;max-width:440px;padding:16px 0}.lh img{height:44px;width:auto}
.k{background:var(--lv-surface);border:1px solid var(--lv-border);border-radius:var(--lv-r-lg);box-shadow:var(--lv-shadow);padding:28px;max-width:440px;width:100%;position:relative}
.k::before{content:"";position:absolute;left:24px;right:24px;top:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--lv-accent-2),transparent)}
.eyebrow{font:500 .74rem/1 var(--lv-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--lv-accent);margin:0 0 10px}
h1{font:650 2rem/1.12 var(--lv-display);letter-spacing:-.025em;margin:0 0 8px}.lead{color:var(--lv-text-2);margin:0 0 18px}
.roller{border:0;padding:0;margin:0 0 18px;display:grid;gap:10px}
.rolle{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--lv-border-2);border-radius:var(--lv-r);cursor:pointer;min-height:44px}
.rolle:has(input:checked){border-color:var(--lv-accent-2);background:var(--lv-bg-3)}
.rolle input{margin-top:5px;accent-color:#0f1f3d;width:18px;height:18px}.rolle b{display:block;font-family:var(--lv-display)}.rolle small{color:var(--lv-text-2);font-size:.88rem}
.btn{display:flex;width:100%;min-height:48px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:2px;background:var(--lv-btn);color:#fff;font:600 .94rem var(--lv-sans);cursor:pointer;box-shadow:none}
.btn:hover{background:var(--lv-btn-hover)}.btn.ghost{background:#fff;color:var(--lv-text);border-color:var(--lv-border-2);box-shadow:none;margin-top:10px}
.m{min-height:24px;margin-top:14px;font-size:.9rem}.m.err{color:#9A2B2B}
.l{display:inline-flex;min-height:44px;align-items:center;color:var(--lv-text)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:3px solid var(--lv-accent-2);outline-offset:2px}
[hidden]{display:none!important}
.btn .material-symbols-outlined{margin-right:8px;font-size:20px}
.eller{display:flex;align-items:center;gap:10px;margin:18px 0 12px;color:var(--lv-text-3);font:500 .72rem var(--lv-mono);text-transform:uppercase;letter-spacing:.08em}.eller::before,.eller::after{content:"";flex:1;height:1px;background:var(--lv-border-2)}
#mailform label{display:block;font-weight:600;font-size:.9rem;margin:0 0 6px}
#mailform input{width:100%;min-height:48px;padding:0 12px;border:1px solid var(--lv-border-2);border-radius:2px;font:400 1rem var(--lv-sans);margin:0 0 12px;background:#fff}
#mailform input:focus{outline:2px solid var(--lv-accent-2);border-color:var(--lv-accent-2)}
.kodeknapper{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kodeknapper .btn{margin-top:0}
.linkbtn{background:none;border:0;color:var(--lv-accent);text-decoration:underline;min-height:44px;padding:0;cursor:pointer;font:500 .9rem var(--lv-sans)}
.privat{font-size:.8rem;color:var(--lv-text-2);background:var(--lv-bg-3);padding:10px 12px;border-left:2px solid var(--lv-accent-2);margin:16px 0 0}
.privat a{color:var(--lv-accent);display:inline-block;padding:10px 0;margin:-10px 0}
.udkast{display:inline-block;font:600 10px/1 var(--lv-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid #9A6412;color:#9A6412;padding:3px 6px;margin-right:4px}
.orgfelt label{display:block;font-weight:600;font-size:.9rem;margin:14px 0 6px}.orgfelt small{font-weight:400;color:var(--lv-text-3)}
.orgfelt input{width:100%;min-height:48px;padding:0 12px;border:1px solid var(--lv-border-2);border-radius:2px;font:400 1rem var(--lv-sans);margin:0 0 14px;background:#fff}
.privat{margin:0 0 4px}
.godkendt{display:inline-block;font:600 10px/1 var(--lv-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid #0f1f3d;color:#0f1f3d;padding:3px 6px;margin-right:4px}
.samtykke{display:flex;gap:10px;align-items:flex-start;margin:0 0 14px;min-height:44px;cursor:pointer;font-size:.9rem}
.samtykke input{width:20px;height:20px;margin-top:2px;accent-color:#0f1f3d;flex:none}
/* Beboer mobil-optimering 12/10 */
@media(max-width:600px){
body{padding:0 12px calc(24px + env(safe-area-inset-bottom))}
.lh{padding:12px 0}.lh img{height:38px}
.k{padding:22px 18px}.k::before{left:18px;right:18px}
h1{font-size:1.75rem}.lead{font-size:.95rem;margin-bottom:14px}
.rolle{padding:12px;align-items:center}.rolle input{margin-top:0;flex:none;width:20px;height:20px}
.rolle small{display:block;line-height:1.4}
.privat{font-size:.78rem;line-height:1.5;margin-bottom:12px}
.btn{min-height:52px;font-size:1rem}
#mailform input{font-size:16px}
.kodeknapper{grid-template-columns:1fr}
.l{margin-top:4px}
}
@media(max-width:600px){.m:empty{min-height:0;margin-top:6px}}
/* 15.10 iPhone-fix: en global input{width:100%} gjorde radioknappen 258 px bred, så teksten blev klemt til 0 px (lodret tekst). */
.rolle input[type=radio]{width:20px!important;min-width:20px!important;max-width:20px!important;flex:0 0 20px!important}
.rolle>span{flex:1 1 auto;min-width:0}
/* Logoet står allerede i headeren – skjul den ekstra kopi i login-heroen på smalle skærme */
@media(max-width:899px){.gate-logo{display:none!important}}
/* Plads til support-knappen, så den ikke dækker kortet */
@media(max-width:600px){.gate{padding-bottom:88px}}
