/*
 * KØS Viden — fælles tema for alle apps.
 * Indeholder: fonte, farve-tokens (lys + mørk), basistypografi, topmenu og forsidekort.
 * Regler for brug står i STYLEGUIDE.md i roden af repoet. App-specifikke farver
 * (fx kræfter, varme, kulde) hører hjemme i appens egen app.css, ikke her.
 */

/* ---------- Fonte (selvhostet, OFL-1.1 — se assets/fonts/README.md) ---------- */
@font-face{font-family:"Baloo 2";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/baloo-2-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Baloo 2";font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/baloo-2-latin-800-normal.woff2") format("woff2")}
@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/atkinson-hyperlegible-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/atkinson-hyperlegible-latin-700-normal.woff2") format("woff2")}

/* ---------- Tokens ---------- */
:root{
  /* flader og tekst */
  --bg:#EEF3F4; --panel:#FFFFFF; --line:#CFDCDF;
  --ink:#132A33; --ink-2:#4F6670; --ink-3:#7A8D96;
  --muted:var(--ink-2);
  /* KØS-farver */
  --brand:#1F6F78;          /* teal: overskrifter, links, aktiv menu */
  --brand-ink:#FFFFFF;      /* tekst oven på --brand */
  --accent:#E8A33D;         /* rav: fokusring, markeringer — aldrig brødtekst */
  --focus:var(--accent);
  /* status (fælles betydning i alle apps) */
  --ok:#2F8F5B; --warn:#C98A12; --danger:#C23A2B;
  /* typografi */
  --font-display:"Baloo 2","Trebuchet MS",system-ui,sans-serif;
  --font-body:"Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  /* form */
  --radius:16px; --radius-sm:10px; --radius-pill:999px;
  --gap:20px;
  --nav-h:56px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0D1A1F; --panel:#13252C; --line:#24404A;
    --ink:#E3EEF1; --ink-2:#9DB3BB; --ink-3:#7A8F9B;
    --brand:#6CC3CB; --brand-ink:#0D1A1F; --accent:#F0B65A;
    --ok:#4CBF80; --warn:#F5BD3A; --danger:#FF6B5B;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0D1A1F; --panel:#13252C; --line:#24404A;
  --ink:#E3EEF1; --ink-2:#9DB3BB; --ink-3:#7A8F9B;
  --brand:#6CC3CB; --brand-ink:#0D1A1F; --accent:#F0B65A;
  --ok:#4CBF80; --warn:#F5BD3A; --danger:#FF6B5B;
  color-scheme:dark;
}

/* ---------- Basis ---------- */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--font-display);line-height:1.1;margin:0;text-wrap:balance}
h1{font-weight:800;font-size:clamp(1.9rem,4.5vw,2.8rem);color:var(--brand);letter-spacing:-0.01em}
h2{font-weight:800;font-size:1.3rem}
h3{font-weight:600;font-size:1.1rem}
.lede{margin:6px 0 0;color:var(--ink-2);max-width:62ch}
a{color:var(--brand)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
[hidden]{display:none!important}

/* ---------- Topmenu (bygges af assets/js/kos-nav.js) ---------- */
.kos-nav{min-height:var(--nav-h);background:var(--panel);border-bottom:1px solid var(--line);
  padding-top:env(safe-area-inset-top,0px)}
.kos-nav__in{display:flex;align-items:center;gap:8px 20px;min-height:var(--nav-h);
  padding:0 max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px))}
.kos-nav__brand{display:flex;align-items:center;gap:8px;flex:none;text-decoration:none;color:var(--ink);
  font-family:var(--font-display);font-weight:800;font-size:1.2rem;line-height:1}
.kos-nav__brand svg{width:28px;height:28px;color:var(--brand)}
.kos-nav__links{display:flex;gap:6px;margin:0;padding:0;list-style:none;min-width:0;overflow-x:auto;scrollbar-width:none}
.kos-nav__links::-webkit-scrollbar{display:none}
.kos-nav__links a{display:flex;align-items:center;gap:6px;min-height:40px;padding:6px 14px;border-radius:var(--radius-pill);
  white-space:nowrap;text-decoration:none;color:var(--ink);font-weight:700;font-size:.95rem;border:2px solid transparent}
.kos-nav__links a:hover{background:color-mix(in srgb,var(--brand) 10%,transparent)}
.kos-nav__links a[aria-current="page"]{background:var(--brand);color:var(--brand-ink)}
.kos-nav__links a:focus-visible{outline-offset:-2px}
.kos-nav__links svg{width:20px;height:20px;flex:none}

/* Sprogvalg DA/EN i topmenuen (bygges af assets/js/kos-nav.js) */
.kos-lang{display:flex;flex:none;margin-left:auto;border:2px solid var(--line);border-radius:var(--radius-pill);padding:2px}
.kos-vejr+.kos-lang{margin-left:0}
.kos-lang button{min-width:44px;min-height:40px;padding:0 10px;border:0;border-radius:var(--radius-pill);background:transparent;
  color:var(--ink-2);font:inherit;font-weight:700;font-size:.9rem;cursor:pointer}
.kos-lang button:hover{color:var(--ink)}
.kos-lang button[aria-pressed="true"]{background:var(--brand);color:var(--brand-ink)}
.kos-lang button:focus-visible{outline-offset:-2px}

/* Vejrudsigt i topmenuen (bygges af assets/js/kos-vejr.js) */
.kos-vejr{display:flex;align-items:center;gap:6px;margin-left:auto;min-width:0;overflow-x:auto;scrollbar-width:none}
.kos-vejr::-webkit-scrollbar{display:none}
.kos-vejr__spot{font-size:.8rem;font-weight:700;color:var(--ink-2);line-height:1.15;max-width:9em;flex:none}
.kos-vejr__msg{font-size:.85rem;color:var(--ink-3);white-space:nowrap}
.kos-vejr__slot{flex:none;display:grid;gap:0;min-height:44px;padding:4px 12px;border-radius:var(--radius-sm);
  border:2px solid var(--line);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;line-height:1.2}
.kos-vejr__slot:hover{border-color:var(--brand)}
.kos-vejr__slot[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.kos-vejr__slot:disabled{opacity:.5;cursor:default}
.kos-vejr__when{font-size:.75rem;font-weight:700;opacity:.85;white-space:nowrap}
.kos-vejr__when small{font-weight:400}
.kos-vejr__val{display:flex;align-items:center;gap:4px;font-family:var(--font-display);font-weight:800;font-size:.95rem;white-space:nowrap}
.kos-vejr__dir{width:12px;height:12px;flex:none}
@media (max-width:1000px){
  .kos-nav__in{flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
  .kos-vejr{flex-basis:100%;margin-left:0;order:1}
  .kos-vejr+.kos-lang{margin-left:auto}
}
@media (max-width:560px){
  .kos-nav__links{flex-basis:100%;order:1}
  .kos-vejr{order:2}
  .kos-vejr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .kos-vejr__spot{grid-column:1/-1;max-width:none}
  .kos-vejr__msg{grid-column:1/-1}
  .kos-vejr__slot{padding:4px 8px}
}

/* ---------- Forside ---------- */
.kos-home{max-width:1080px;margin:0 auto;padding:32px 16px 48px;display:grid;gap:28px}
.kos-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:var(--gap)}
.kos-card{display:grid;grid-template-rows:auto 1fr auto;gap:10px;background:var(--panel);border:1px solid var(--line);
  border-radius:var(--radius);padding:20px;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}
.kos-card:hover{border-color:var(--brand);transform:translateY(-2px)}
.kos-card__ic{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--brand)}
.kos-card__ic svg{width:34px;height:34px}
.kos-card h2{color:var(--ink)}
.kos-card__body{display:grid;gap:8px;align-content:start}
.kos-card p{margin:0;color:var(--ink-2)}
.kos-card__go{font-family:var(--font-display);font-weight:800;color:var(--brand)}
.kos-tags{display:flex;flex-wrap:wrap;gap:6px}
.kos-tag{font-size:.8rem;font-weight:700;color:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-pill);padding:2px 10px}
.kos-note{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius-sm);padding:14px 18px;color:var(--ink-2);max-width:72ch}
.kos-note p{margin:0}
@media (prefers-reduced-motion:reduce){.kos-card{transition:none}.kos-card:hover{transform:none}}
