/* lokaltrafik.info: håndskrevet, mobil først. Ingen kort, skygger, forløb eller ikoner; kun tekst, linjer og knapper. */
:root{
  --bg:#f8f5ef;
  --ink:#1c1c1a;
  --muted:#5d5a52;
  --rule:#ddd6c8;
  --accent:#1f5a49;
  --accent-dark:#164436;
  --field:#fffdf9;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:"Source Serif 4",Georgia,"Times New Roman",serif;font-weight:600;line-height:1.2;margin:0;color:var(--ink)}
h1{font-size:2rem;letter-spacing:-.01em}
h2{font-size:1.5rem;margin-bottom:.9rem}
h3{font-size:1.15rem;margin-bottom:.4rem}
p{margin:0 0 1.05rem}
a{color:var(--accent)}
img{max-width:100%;height:auto}
.wrap{max-width:40rem;margin:0 auto;padding:0 1.25rem}
.wide{max-width:64rem}
section{padding:2.75rem 0;border-top:1px solid var(--rule)}
section.first{border-top:0;padding-top:1.5rem}
.muted{color:var(--muted)}
.small{font-size:.9rem}
.lead{font-size:1.1rem}
.kicker{font-size:.85rem;color:var(--muted);margin-bottom:.6rem}

/* top */
.top{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;padding-bottom:1rem;font-size:.95rem}
.brand{white-space:nowrap;font-family:"Source Serif 4",Georgia,serif;font-weight:600;font-size:1.1rem;color:var(--ink);text-decoration:none}
#lang-toggle-btn{background:none;border:0;padding:.25rem .1rem;font:inherit;font-size:.9rem;color:var(--muted);text-decoration:underline;cursor:pointer}
#lang-toggle-btn svg{display:none}

/* knapper og formular */
.btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;font:inherit;font-weight:600;padding:.85rem 1.4rem;border:0;border-radius:6px;cursor:pointer;text-align:center}
.btn:hover{background:var(--accent-dark)}
.btn:disabled{opacity:.6;cursor:default}
.btn.block{display:block;width:100%}
.textlink{color:var(--accent);font-weight:600}
label,legend{display:block;font-weight:600;font-size:.95rem;margin-bottom:.3rem;padding:0}
.opt{font-weight:400;color:var(--muted)}
.hint{font-size:.85rem;color:var(--muted);margin:.3rem 0 0}
input[type=text],input[type=email],input[type=tel]{width:100%;font:inherit;padding:.75rem .85rem;background:var(--field);border:1px solid #bdb5a4;border-radius:6px;color:var(--ink)}
input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.field{margin-bottom:1.25rem}
fieldset{border:0;margin:0 0 1.25rem;padding:0}
.times{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.times input{position:absolute;opacity:0;width:1px;height:1px}
.times label{display:block;text-align:center;margin:0;font-weight:500;font-size:.95rem;padding:.6rem .3rem;border:1px solid #bdb5a4;border-radius:6px;background:var(--field);cursor:pointer}
.times input:checked+label{border-color:var(--accent);background:#e7efe9;color:var(--accent-dark);font-weight:600}
.times input:focus-visible+label{outline:2px solid var(--accent);outline-offset:2px}
.check{display:flex;gap:.6rem;align-items:flex-start;margin:0 0 1.4rem}
.check input{margin-top:.35rem;width:1.05rem;height:1.05rem;accent-color:var(--accent);flex:none}
.check label{font-weight:400;font-size:.92rem;margin:0}

/* indhold */
.certs{display:flex;gap:1rem;align-items:center;margin-top:.6rem}
.certs img{width:64px;height:64px}
.facts{margin:1.5rem 0 0;padding:0;list-style:none}
.facts li{padding:1rem 0;border-top:1px solid var(--rule)}
.facts li:last-child{border-bottom:1px solid var(--rule)}
.facts strong{display:block;font-family:"Source Serif 4",Georgia,serif;font-size:2rem;line-height:1.1;margin-bottom:.15rem}
.steps{margin:1.2rem 0 0;padding:0;list-style:none;counter-reset:s}
.steps li{counter-increment:s;margin-bottom:1.3rem}
.steps li::before{content:counter(s) ".";font-family:"Source Serif 4",Georgia,serif;font-weight:600;margin-right:.35rem}
.steps h3{display:inline}
.steps p:only-child{display:inline;margin:0}
.steps p{margin:.2rem 0 0}
.note{border-left:3px solid var(--accent);padding:.1rem 0 .1rem 1rem;margin:1.2rem 0 0;color:var(--ink)}
.note b{display:block;margin-bottom:.2rem}
.clients{margin:0;padding:0;list-style:none}
.clients li{display:inline}
.clients li+li::before{content:"\00b7";color:var(--muted);margin:0 .5em}
details{border-top:1px solid var(--rule);padding:.9rem 0}
details:last-of-type{border-bottom:1px solid var(--rule)}
summary{cursor:pointer;font-weight:600;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";float:right;color:var(--muted);font-weight:400}
details[open] summary::after{content:"\2212"}
details p{margin:.6rem 0 0;color:var(--muted)}
footer{border-top:1px solid var(--rule);padding:1.8rem 0 5rem;font-size:.88rem;color:var(--muted)}
footer p{margin:0 0 .3rem}

/* cookie og scroll-bjælke */
.bar{position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid var(--rule)}
.bar .wrap{padding-top:.8rem;padding-bottom:.8rem}
.bar p{margin:0 0 .6rem;font-size:.9rem;line-height:1.45}
.bar .row{display:flex;gap:.5rem}
.bar .row .btn{flex:1;padding:.6rem 1rem}
.btn.ghost{background:none;color:var(--ink);border:1px solid #bdb5a4}
.btn.ghost:hover{background:#efe9dd}
.hidden{display:none!important}
.split .b{margin:1.8rem 0}
.topnote{display:none}
#scroll-cta{z-index:40;transform:translateY(100%);transition:transform .35s ease}
#scroll-cta.translate-y-full{transform:translateY(100%)}
#scroll-cta:not(.translate-y-full){transform:none}
#scroll-cta .wrap{display:flex;align-items:center;gap:.8rem}
#scroll-cta p{margin:0;font-size:.92rem;line-height:1.35;flex:1}
#scroll-cta .btn{padding:.6rem 1rem;white-space:nowrap}
#scroll-cta-close{background:none;border:0;font-size:1.4rem;line-height:1;color:var(--muted);padding:.2rem .3rem;cursor:pointer}

@media (min-width:700px){
  body{font-size:18px}
  h1{font-size:2.6rem}
  h2{font-size:1.75rem}
  section{padding:3.5rem 0}
  .bar .wrap{display:flex;align-items:center;gap:1.5rem;max-width:64rem}
  .bar p{margin:0;flex:1}
  .bar .row .btn{flex:none}
  .facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
  .facts li,.facts li:last-child{border:0;border-top:1px solid var(--rule)}
  .split{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"a b" "c b";grid-template-rows:auto 1fr;column-gap:4rem;align-items:start;max-width:64rem}
  .split .a{grid-area:a}.split .b{grid-area:b;margin:0}.split .c{grid-area:c}
  .topnote{display:inline}
}
