/* Elcykelfokus – roligt, nordisk og hurtigt. Ingen biblioteker, lokale skrifttyper. */
@font-face{font-family:"Archivo";font-style:normal;font-weight:500 700;font-display:swap;src:url(fonts/archivo-latin.woff2) format("woff2")}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/public-sans-latin.woff2) format("woff2")}
:root{
  --ink:#1B2A22;        /* skovgrøn-sort */
  --ink-2:#3B4A41;
  --paper:#F4F1EA;      /* varmt papir */
  --white:#FFFFFF;
  --line:#DDD7CA;
  --muted:#5E6A62;
  --green:#1F4D3A;      /* hovedfarve */
  --green-soft:#E4EEE7;
  --buy:#C4552B;        /* kun købsknappen */
  --buy-dark:#A3441F;
  --red:#B3261E;
  --maxw:1120px;
  --radius:10px;
  --font-head:"Archivo",system-ui,sans-serif;
  --font-body:"Public Sans",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font-body);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%;height:auto}
a{color:var(--green);text-underline-offset:3px}
h1,h2,h3,h4{font-family:var(--font-head);line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(32px,5vw,52px)}
h2{font-size:clamp(24px,3vw,32px)}
h3{font-size:20px}
p{margin:0 0 1em}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 16px}
@media (min-width:700px){.wrap{padding:0 24px}}

.testbjaelke{background:var(--buy);color:#fff;text-align:center;font:600 14px var(--font-head);padding:6px}

/* Top */
.top{border-bottom:1px solid var(--line);background:var(--white);position:sticky;top:0;z-index:30}
.top .wrap{display:flex;align-items:center;gap:20px;min-height:68px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:500 22px var(--font-head)}
.logo b{font-weight:700;color:var(--green)}
.logo .mark{width:36px;height:36px;border-radius:9px;background:var(--green);color:var(--paper);display:grid;place-items:center;font-weight:700;font-size:22px}
.nav{display:flex;gap:22px;margin-left:auto}
.nav a{text-decoration:none;color:var(--ink);font:600 16px var(--font-head)}
.nav a[aria-current]{color:var(--green);text-decoration:underline;text-decoration-thickness:2px}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:8px;padding:8px 14px;font:600 15px var(--font-head);color:var(--ink)}
@media (max-width:860px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--white);flex-direction:column;gap:0;border-bottom:1px solid var(--line)}
  .nav.open{display:flex}
  .nav a{padding:14px 16px;border-top:1px solid var(--line)}
}

/* Knapper */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border-radius:999px;font:600 16px var(--font-head);text-decoration:none;border:2px solid transparent;cursor:pointer}
.btn-primary{background:var(--green);color:#fff}
.btn-primary:hover{background:#163A2B}
.btn-ghost{border-color:var(--green);color:var(--green);background:transparent}
.btn-koeb{background:var(--buy);color:#fff;width:100%}
.btn-koeb:hover{background:var(--buy-dark)}
.btn-koeb[aria-disabled=true]{background:var(--muted);pointer-events:none}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}

/* Sektioner */
.hero{background:var(--paper);padding:56px 0 48px}
.hero.simple{padding:36px 0 32px}
.lead{font-size:20px;color:var(--ink-2);max-width:720px}
.section{padding:48px 0}
.section.alt{background:var(--paper)}
.prose{max-width:760px}
.note{color:var(--muted);font-size:15px}
.kladde{display:inline-block;background:#FFF1D6;color:#7A4B00;border-radius:6px;padding:2px 10px;font:600 13px var(--font-head);margin-bottom:12px}
p.kladde{display:block;padding:12px 16px;font-size:15px}
.kruemmer ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0 0 14px;font-size:14px;color:var(--muted)}
.kruemmer li+li::before{content:"›";margin-right:6px}
.kruemmer a{color:var(--muted)}

/* Top med billede af en cykel */
.hero-grid{display:grid;gap:24px;align-items:center}
@media (min-width:860px){.hero-grid{grid-template-columns:1.15fr .85fr;gap:40px}}
.hero-billede{margin:0;background:var(--white);border-radius:18px;padding:12px;box-shadow:0 24px 50px -30px rgba(27,42,34,.45)}
/* Rex' billeder er kvadratiske med grå felter over og under cyklen; et bredt udsnit skærer felterne væk */
.hero-billede img{width:100%;aspect-ratio:3/2;object-fit:cover}
@media (max-width:859px){.hero-billede{max-width:420px}}

/* Seriekort og behovskort med billede */
.serier{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin-top:16px}
@media (max-width:520px){.serier{grid-template-columns:1fr 1fr;gap:10px}}
.serie{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:var(--ink);background:var(--white);transition:border-color .15s,transform .15s}
.serie:hover{border-color:var(--green);transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.serie:hover{transform:none}}
.serie figure{margin:0;background:var(--white);aspect-ratio:3/2;overflow:hidden;border-bottom:1px solid var(--line)}
.serie figure img{width:100%;height:100%;object-fit:cover}
.serie>div{padding:14px 16px 16px}
.serie h3{margin:0 0 4px;font-size:18px}
.serie p{margin:0;color:var(--green);font-weight:600;font-size:16px}
.serie small{display:block;margin-top:6px;color:var(--muted);font-size:14px;line-height:1.45}

/* Tabeller */
.tabel{width:100%;border-collapse:collapse;font-size:16px;margin:8px 0 12px;display:block;overflow-x:auto}
.tabel th,.tabel td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.tabel th{font:600 14px var(--font-head);color:var(--muted)}
.tabel .tal{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
@media (min-width:700px){.tabel{display:table}}

/* Produkter med variantvælger */
.produkter{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-top:16px}
.produkt{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);display:flex;flex-direction:column;overflow:hidden}
.produkt figure{margin:0;background:#fff;aspect-ratio:3/2;overflow:hidden;display:grid;place-items:center}
.produkt figure img{width:100%;height:100%;object-fit:cover}
.intet-billede{color:var(--muted);font-size:14px}
.produkt .info{padding:16px 18px 18px;display:flex;flex-direction:column;gap:10px;flex:1}
.produkt h3{margin:0}
.produkt .pris{margin:0;font-size:22px;font-family:var(--font-head)}
.produkt .pris s{color:var(--muted);font-size:16px;margin-right:6px}
.vaelger{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vaelger label{display:grid;gap:4px;font:600 13px var(--font-head);color:var(--muted)}
.vaelger select{font:inherit;font-size:16px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);min-height:44px}
.produkt .lager{margin:0;font-size:15px;color:var(--green);font-weight:600}
.produkt .lager.ude{color:var(--red)}
.produkt .smaat{font-size:13px;color:var(--muted);margin:0}
.produkt .btn-koeb{margin-top:auto}

/* Trin og FAQ */
.steps{list-style:none;counter-reset:trin;padding:0;margin:16px 0;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.steps li{counter-increment:trin;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}
.steps li::before{content:counter(trin);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;font:700 16px var(--font-head);margin-bottom:10px}
.faq{display:grid;gap:10px;max-width:820px}
.faq details{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px}
.faq summary{cursor:pointer;font:600 17px var(--font-head)}
.faq .ans{margin-top:10px}
.liste{list-style:none;padding:0;display:grid;gap:16px}

/* Bund */
footer.site{background:var(--ink);color:#E9E5DB;padding:40px 0 28px;margin-top:0;font-size:15px}
footer.site a{color:#E9E5DB}
footer.site h4{color:#fff;font-size:16px}
footer.site ul{list-style:none;padding:0;margin:0;display:grid;gap:4px}
footer.site .grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:20px 0}
.oplysning{background:rgba(255,255,255,.08);border-radius:8px;padding:12px 16px;margin:0}
.legal{display:flex;flex-wrap:wrap;gap:16px;border-top:1px solid rgba(255,255,255,.15);padding-top:16px;font-size:14px}

/* Spørg cykeleksperten */
.ask{position:fixed;right:20px;bottom:20px;z-index:40}
.ask button{background:var(--green);color:#fff;border:0;border-radius:999px;padding:14px 20px;font:600 16px var(--font-head);box-shadow:0 10px 30px -10px rgba(27,42,34,.6);cursor:pointer}
.ask-panel{display:none;position:fixed;right:20px;bottom:80px;width:min(400px,calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 30px 60px -20px rgba(27,42,34,.35);z-index:40;overflow:hidden}
.ask-panel.open{display:block}
.ask-panel header{background:var(--green);color:#fff;padding:14px 18px;font:600 16px var(--font-head);display:flex;justify-content:space-between;align-items:center}
.ask-panel header button{background:none;border:0;color:#fff;font-size:22px;cursor:pointer}
.ask-panel .log{padding:16px 18px;max-height:360px;overflow:auto;font-size:16px;display:grid;gap:10px}
.ask-panel .log .me{justify-self:end;background:var(--paper);padding:8px 12px;border-radius:12px 12px 2px 12px;max-width:85%}
.ask-panel .log .bot{background:var(--green-soft);padding:8px 12px;border-radius:12px 12px 12px 2px;max-width:92%;white-space:pre-wrap}
.ask-panel form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
.ask-panel input{flex:1;padding:12px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:16px}
.ask-panel form button{padding:10px 16px;border-radius:10px;border:0;background:var(--green);color:#fff;font:600 15px var(--font-head);cursor:pointer}
.ask-panel .tilbud{border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:15px}
.ask-panel .tilbud p{margin:0 0 8px;font-weight:600}
.ask-panel .tilbud form{display:grid;gap:6px;padding:0;border:0}
.ask-panel .tilbud .hp{position:absolute;left:-9999px}
.ask-panel .tilbud .valg{display:flex;flex-wrap:wrap;gap:6px}
.ask-panel .tilbud .valg button{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:600 14px var(--font-head);cursor:pointer}
.ask-panel .tilbud .valg button[type=submit]{background:var(--green);border-color:var(--green);color:#fff}
.ask-panel .tilbud .nej{background:none;border:0;padding:6px 0 0;color:var(--ink-2);font:inherit;text-decoration:underline;cursor:pointer}
.ask-panel .tilbud .valg .nej{padding:6px 12px;border:0;background:none;font-weight:400;text-decoration:underline}
.ask-panel .tilbud .forslag{display:grid}
.ask-panel .chat-cykel{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:start;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}
.ask-panel .chat-cykel img{width:96px;height:96px;object-fit:contain;border-radius:8px;background:var(--paper)}
.ask-panel .chat-cykel strong{display:block;font:600 15px var(--font-head);line-height:1.3}
.ask-panel .chat-cykel small{color:var(--ink-2);font-size:13px}
.ask-panel .chat-cykel .pris{margin:4px 0 8px;font-weight:600}
.ask-panel .chat-cykel .knapper{display:flex;flex-wrap:wrap;gap:6px}
.ask-panel .chat-cykel .btn{min-height:38px;padding:7px 14px;font-size:14px;width:auto}
.ask-panel .tilbud .forslag button{border-radius:10px;text-align:left;font-weight:500;line-height:1.35}
.ask-panel .tilbud .msg{color:var(--red)}
.ask-panel .tilbud .msg:not(:empty){margin-top:6px}
.ask-panel .tilbud small{display:block;margin-top:6px;font-size:12px;line-height:1.35}
@media (max-width:600px){.ask{right:12px;bottom:12px}.ask-panel{right:12px;bottom:72px}}

/* "Hvor høj er du?" på forsiden */
.hoejde{background:var(--green-soft)}
.hoejde-valg{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:8px 0 18px}
.hoejde-valg label{font:600 16px var(--font-head)}
.hoejde-valg select{font:inherit;font-size:18px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);min-height:48px}
.hoejde .antal{font:600 18px var(--font-head);margin:0}
.hoejde-kort .knapper{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.hoejde-kort .btn{min-height:42px;padding:8px 16px;font-size:15px;flex:1 1 100%}
[hidden]{display:none!important}
.hoejde-krav{background:var(--green-soft);padding:14px 16px;border-radius:12px;margin-bottom:8px}
.hoejde-besked{font:600 16px var(--font-head);margin:0 0 18px}
