/* EduNova – publika webbplatsen. Luftig nordisk layout: full-bleed band med 1200 px innerbredd, kort på kall grå botten,
   navy från logotypen som bärande färg. Typsnitt: Plus Jakarta Sans (rubriker) och Figtree (brödtext), självhostade. */
@font-face{font-family:"Plus Jakarta Sans";src:url("../fonts/plus-jakarta-sans-var.woff2") format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Figtree";src:url("../fonts/figtree-var.woff2") format("woff2");font-weight:300 900;font-display:swap}
:root{
  --bg:#F5F8FB; --surface:#FFFFFF; --surface-2:#EDF2F7; --fg:#0B1F3F; --muted:#4F5F75; --line:#D9E1EA;
  --brand:#0B5CAD; --brand-hover:#084A8C; --brand-ink:#FFFFFF; --sky:#5BC5ED; --sky-soft:#E3F3FB; --navy:#071A38; --navy-rgb:7,26,56; --brand-deep:#0B5CAD;
  --ok:#17633F; --ok-bg:#E2F3E9; --warn:#8A4A00; --warn-bg:#FDF0DA; --off:#5B6472; --off-bg:#ECEFF3;
  --focus:#F2A900; --shadow:0 1px 2px rgba(11,31,63,.06),0 8px 24px -12px rgba(11,31,63,.18);
  --shadow-hover:0 2px 4px rgba(11,31,63,.08),0 18px 40px -16px rgba(11,31,63,.28);
  --f-display:"Plus Jakarta Sans","Segoe UI",system-ui,sans-serif; --f-body:"Figtree","Segoe UI",system-ui,sans-serif; --f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --r-s:8px; --r-m:14px; --r-l:22px; --wrap:1200px;
  --step--1:clamp(.82rem,.8rem + .1vw,.88rem); --step-0:clamp(1rem,.97rem + .15vw,1.08rem); --step-1:clamp(1.15rem,1.08rem + .3vw,1.3rem);
  --step-2:clamp(1.4rem,1.25rem + .6vw,1.75rem); --step-3:clamp(1.8rem,1.5rem + 1.2vw,2.5rem); --step-4:clamp(2.3rem,1.8rem + 2.4vw,3.8rem);
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#08121F; --surface:#0F1D30; --surface-2:#15253B; --fg:#E7EEF7; --muted:#A3B3C7; --line:#22344C;
  --brand:#5FB0F2; --brand-hover:#8AC6F6; --brand-ink:#05162B; --sky:#5BC5ED; --sky-soft:#10314A; --navy:#050E1B; --navy-rgb:5,14,27;
  --ok:#7DD3A4; --ok-bg:#12352A; --warn:#F5C26B; --warn-bg:#3A2A0E; --off:#A9B2BF; --off-bg:#1E2A3A;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px -12px rgba(0,0,0,.6); --shadow-hover:0 2px 4px rgba(0,0,0,.35),0 18px 40px -16px rgba(0,0,0,.7); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#08121F; --surface:#0F1D30; --surface-2:#15253B; --fg:#E7EEF7; --muted:#A3B3C7; --line:#22344C;
  --brand:#5FB0F2; --brand-hover:#8AC6F6; --brand-ink:#05162B; --sky:#5BC5ED; --sky-soft:#10314A; --navy:#050E1B; --navy-rgb:5,14,27;
  --ok:#7DD3A4; --ok-bg:#12352A; --warn:#F5C26B; --warn-bg:#3A2A0E; --off:#A9B2BF; --off-bg:#1E2A3A;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px -12px rgba(0,0,0,.6); --shadow-hover:0 2px 4px rgba(0,0,0,.35),0 18px 40px -16px rgba(0,0,0,.7); color-scheme:dark}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;overflow-x:clip}
body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:var(--step-0);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--surface)}
h1,h2,h3,h4{font-family:var(--f-display);line-height:1.15;letter-spacing:-.015em;text-wrap:balance;margin:0}
h1{font-size:var(--step-4);font-weight:800} h2{font-size:var(--step-3);font-weight:800} h3{font-size:var(--step-1);font-weight:700}
p{margin:0} a{color:var(--brand)} a:hover{color:var(--brand-hover)}
img{display:block;max-width:100%}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--surface);padding:10px 14px;border-radius:8px;z-index:100}
.skip:focus{left:16px}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
@media (min-width:720px){.wrap{padding-left:max(32px,env(safe-area-inset-left,0px));padding-right:max(32px,env(safe-area-inset-right,0px))}}
.section{padding-block:clamp(56px,7vw,104px)}
.section.tight{padding-block:clamp(40px,5vw,72px)}
.eyebrow{font-family:var(--f-display);font-weight:700;font-size:var(--step--1);letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}
.lead{font-size:var(--step-1);color:var(--muted);max-width:62ch;line-height:1.55}
.sec-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:16px 32px;margin-bottom:32px}
.sec-head>div{display:grid;gap:10px;max-width:60ch}
.muted{color:var(--muted)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- buttons, chips */
.btn{--b:var(--brand);display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:46px;padding:.7em 1.25em;border-radius:999px;border:2px solid var(--b);background:var(--b);color:var(--brand-ink);font:600 var(--step-0)/1.1 var(--f-display);text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;white-space:nowrap}
.btn:hover{--b:var(--brand-hover);color:var(--brand-ink);transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--brand)} .btn.ghost:hover{background:var(--sky-soft);color:var(--brand-hover)}
.btn.light{--b:#fff;color:#071A38} .btn.light:hover{--b:#E3F3FB;color:#071A38}
.btn.outline-light{background:transparent;border-color:rgba(255,255,255,.7);color:#fff} .btn.outline-light:hover{background:rgba(255,255,255,.12);color:#fff}
.btn.sm{min-height:38px;padding:.5em 1em;font-size:var(--step--1)}
.btn.block{width:100%}
.btn svg{width:1.1em;height:1.1em;flex:none}
.link-arrow{display:inline-flex;align-items:center;gap:.4em;font:600 var(--step-0) var(--f-display);text-decoration:none}
.link-arrow svg{width:1em;height:1em;transition:transform .2s} .link-arrow:hover svg{transform:translateX(3px)}
.chip{display:inline-flex;align-items:center;gap:.35em;padding:.22em .7em;border-radius:999px;font:600 .78rem/1.4 var(--f-display);letter-spacing:.01em;background:var(--sky-soft);color:var(--brand);white-space:nowrap}
.chip.ok{background:var(--ok-bg);color:var(--ok)} .chip.warn{background:var(--warn-bg);color:var(--warn)} .chip.off{background:var(--off-bg);color:var(--off)}
.chip.plain{background:var(--surface-2);color:var(--muted)}
.chip .dot{width:7px;height:7px;border-radius:50%;background:currentColor}
.code{font-family:var(--f-mono);font-size:.85em;letter-spacing:.02em}

/* ---------- header */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
/* Oskärpan ligger på en egen yta: backdrop-filter på själva sidhuvudet skulle låsa mobilmenyn (position:fixed) inne i sidhuvudet */
.site-head::after{content:"";position:absolute;inset:0;z-index:-1;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px)}
.site-head.scrolled{border-color:var(--line);box-shadow:0 6px 24px -18px rgba(11,31,63,.35)}
.head-in{display:flex;align-items:center;gap:20px;min-height:76px;transition:min-height .2s}
.site-head.scrolled .head-in{min-height:64px}
.logo{display:flex;align-items:center;flex:none;text-decoration:none}
.logo img{height:30px;width:auto;max-width:180px;object-fit:contain}
.logo .lw{background:#fff;border-radius:8px;padding:4px 6px}
.main-nav{margin-left:auto}
.main-nav ul{display:flex;gap:2px;list-style:none;margin:0;padding:0}
.main-nav a{display:block;white-space:nowrap;padding:.55em .7em;border-radius:999px;color:var(--fg);text-decoration:none;font:600 .95rem var(--f-display)}
.main-nav a:hover{background:var(--surface-2);color:var(--fg)}
.main-nav a[aria-current="page"]{color:var(--brand);background:var(--sky-soft)}
.head-tools{display:flex;align-items:center;gap:8px}
.icon-btn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--fg);cursor:pointer}
.icon-btn:hover{background:var(--surface-2)} .icon-btn svg{width:20px;height:20px}
.lang{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px;background:var(--surface)}
.lang a,.lang span{display:inline-block;color:var(--muted);font:700 .8rem var(--f-display);padding:.45em .7em;border-radius:999px;text-decoration:none}
.lang a:hover{color:var(--fg);background:var(--surface-2)}
.lang abbr{text-decoration:none}
.lang [aria-current]{background:var(--navy);color:#fff}
@media (prefers-color-scheme:dark){.lang [aria-current]{background:var(--brand);color:var(--brand-ink)}}
.menu-btn{display:none}
@media (max-width:1240px){
  .main-nav:not(.open){visibility:hidden}
  .main-nav{position:fixed;inset:0 0 0 auto;width:min(360px,88vw);background:var(--surface);box-shadow:var(--shadow-hover);padding:calc(84px + env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) 24px 20px;transform:translateX(105%);transition:transform .3s ease,visibility .3s;z-index:40;overflow:auto}
  .main-nav.open{transform:none}
  .main-nav ul{flex-direction:column;gap:4px} .main-nav a{font-size:1.1rem;padding:.8em 1em}
  .menu-btn{display:inline-grid;position:relative;z-index:45}
  .head-tools{margin-left:auto}
  .scrim{position:fixed;inset:0;background:rgba(var(--navy-rgb),.45);z-index:35}
}
@media (max-width:560px){.find-btn{display:none}.logo img{height:26px}}

/* ---------- hero */
.hero{position:relative;color:#fff;isolation:isolate;overflow:hidden;background:var(--navy)}
.hero picture,.hero>img{position:absolute;inset:0;z-index:-2}
.hero img.bg{width:100%;height:100%;object-fit:cover;object-position:65% 40%}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(var(--navy-rgb),.94) 0%,rgba(var(--navy-rgb),.82) 42%,rgba(var(--navy-rgb),.25) 75%,rgba(var(--navy-rgb),.1) 100%)}
.hero-in{padding-block:clamp(72px,10vw,140px) clamp(56px,7vw,96px);display:grid;gap:24px;max-width:var(--wrap)}
.hero h1{max-width:13ch;color:#fff}
.hero .lead{color:rgba(255,255,255,.88);max-width:54ch}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px}
/* Sökfältet i hero: en enda kapsel med ikon, fält och knapp (samma utseende i ljust och mörkt läge) */
.hero-search{display:flex;align-items:center;gap:6px;background:#fff;border-radius:999px;padding:6px 6px 6px 20px;max-width:580px;box-shadow:0 20px 50px -20px rgba(0,0,0,.6);margin-top:8px;color:#4F5F75}
.hero-search>svg{flex:none;width:20px;height:20px}
@media (max-width:640px){.hero-search>svg{display:none}.hero-search{padding-left:14px}}
.hero .hero-search input[type=search]{flex:1;min-width:0;min-height:48px;border:0;border-radius:0;background:transparent;box-shadow:none;font:500 1.02rem var(--f-body);color:#0B1F3F;padding:0 6px;-webkit-appearance:none;appearance:none}
.hero .hero-search input[type=search]::placeholder{color:#5B6B80;opacity:1}
.hero .hero-search input[type=search]:focus{outline:none;box-shadow:none}
.hero-search:focus-within{outline:3px solid var(--focus);outline-offset:3px}
.hero-search .btn{--b:var(--brand-deep);color:#fff;min-height:48px;padding-inline:22px}
.hero-quick{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:var(--step--1);color:rgba(255,255,255,.8)}
.hero-quick a{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.35);padding:.25em .8em;border-radius:999px}
.hero-quick a:hover{background:rgba(255,255,255,.12)}
@media (max-width:640px){.hero::after{background:linear-gradient(180deg,rgba(var(--navy-rgb),.55) 0%,rgba(var(--navy-rgb),.92) 55%)}.hero-search .btn span{display:none}}

/* ---------- course cards */
.grid{display:grid;gap:24px}
.grid.c3{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.grid.c4{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
.card{position:relative;display:flex;flex-direction:column;background:var(--surface);border-radius:var(--r-m);box-shadow:var(--shadow);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease;min-width:0}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}
.card .media{aspect-ratio:16/10;background:var(--surface-2);overflow:hidden;max-width:100%}
.card .media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.card:hover .media img{transform:scale(1.04)}
.card .body{display:flex;flex-direction:column;gap:12px;padding:20px 22px 22px;flex:1}
.card .meta-top{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:space-between}
.card-title{font-size:var(--step-1)}
.card-title a{color:var(--fg);text-decoration:none}
.card-title a:hover{color:var(--brand)}
.card-title a::after{content:"";position:absolute;inset:0;z-index:1}
.card .desc{color:var(--muted);font-size:.95rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.facts{display:grid;gap:7px;margin:0;padding:0;list-style:none;font-size:.93rem;font-variant-numeric:tabular-nums}
.facts li{display:grid;grid-template-columns:20px 1fr;gap:8px;align-items:start}
.facts svg{width:18px;height:18px;color:var(--brand);margin-top:2px}
.facts b{font-weight:600}
.card .foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px solid var(--line)}
.price{font:700 var(--step-1) var(--f-display);font-variant-numeric:tabular-nums}
.price small{font:500 .78rem var(--f-body);color:var(--muted);display:block}
.card .cta{position:relative;z-index:2;pointer-events:none}
.date-badge{position:absolute;top:14px;left:14px;z-index:2;background:var(--surface);color:var(--fg);border-radius:12px;padding:6px 10px;text-align:center;font-family:var(--f-display);line-height:1;box-shadow:0 6px 18px -8px rgba(0,0,0,.4)}
.date-badge b{display:block;font-size:1.4rem;font-weight:800}
.date-badge span{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--brand)}

/* list view */
.list-view{display:grid;gap:12px}
.list-view .card{flex-direction:row;align-items:stretch}
.list-view .card .media{aspect-ratio:auto;width:200px;flex:none}
.list-view .card .desc{-webkit-line-clamp:2}
.list-view .card .body{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:8px 28px}
.list-view .card .body>.main{display:grid;gap:8px;align-content:start;min-width:0}
.list-view .card .foot{grid-column:2;grid-row:1/span 2;border-top:0;border-left:1px solid var(--line);padding:0 0 0 24px;flex-direction:column;align-items:stretch;justify-content:center}
.list-view .date-badge{display:none}
@media (max-width:820px){.list-view .card{flex-direction:column}.list-view .card .media{width:100%;aspect-ratio:21/9}.list-view .card .body{grid-template-columns:1fr}.list-view .card .foot{grid-column:1;grid-row:auto;border-left:0;border-top:1px solid var(--line);padding:14px 0 0;flex-direction:row;align-items:center;justify-content:space-between}}

/* ---------- areas */
.areas{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
.area{position:relative;display:flex;flex-direction:column;justify-content:end;min-height:200px;border-radius:var(--r-m);overflow:hidden;text-decoration:none;color:#fff;isolation:isolate;background:var(--navy);box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s}
.area:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);color:#fff}
.area img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s}
.area:hover img{transform:scale(1.05)}
.area::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(var(--navy-rgb),.05) 20%,rgba(var(--navy-rgb),.88) 100%)}
.area .in{padding:20px;display:grid;gap:4px}
.area .h{color:#fff;font:700 1.15rem/1.2 var(--f-display)}
.area small{font-size:.85rem;opacity:.9}
.area .ico{position:absolute;top:16px;left:16px;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.16);backdrop-filter:blur(6px)}
.area .ico svg{width:24px;height:24px}
.area.noimg{background:radial-gradient(120% 120% at 100% 0%,var(--brand-deep) 0%,var(--navy) 60%)}
.area.noimg .swirl{position:absolute;right:-30px;top:-30px;width:170px;height:170px;opacity:.22;z-index:-1}

/* ---------- split / business */
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.split .ph{border-radius:var(--r-l);overflow:hidden;aspect-ratio:4/3.2;box-shadow:var(--shadow-hover);max-width:100%}
.split .ph img{width:100%;height:100%;object-fit:cover}
.split .txt{display:grid;gap:18px;min-width:0}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ticks li{display:grid;grid-template-columns:24px 1fr;gap:10px}
.ticks svg{width:22px;height:22px;color:var(--brand);margin-top:1px}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.band{background:var(--surface)}
.band-navy{background:var(--navy);color:#E7EEF7}
.band-navy h2,.band-navy h3{color:#fff}
.band-navy .eyebrow{color:var(--sky)}
.band-navy .lead,.band-navy .muted{color:#B9C7D9}

/* why */
.why{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.why .it{display:grid;gap:12px;align-content:start;padding:26px;border-radius:var(--r-m);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}
.why .ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:rgba(91,197,237,.14);color:var(--sky)}
.why .ic svg{width:26px;height:26px}
.why p{color:#B9C7D9;font-size:.97rem}
.why .src{font-size:.8rem;color:#8EA3BD}

/* news */
.news{display:grid;gap:24px;grid-template-columns:1.4fr 1fr}
@media (max-width:860px){.news{grid-template-columns:1fr}}
.news .feature{display:grid;grid-template-columns:1fr;background:var(--surface);border-radius:var(--r-m);box-shadow:var(--shadow);overflow:hidden;position:relative}
.news .feature .body{padding:26px;display:grid;gap:12px}
.news .feature .ph{aspect-ratio:21/9;background:var(--navy);display:grid;place-items:center;overflow:hidden}
.news .feature .ph svg{width:120px;height:120px;opacity:.9}
.news .side{display:grid;gap:16px;align-content:start}
.news .mini{background:var(--surface);border-radius:var(--r-m);padding:22px;box-shadow:var(--shadow);display:grid;gap:8px}
time{font-variant-numeric:tabular-nums}

/* CTA */
.cta-band{border-radius:var(--r-l);padding:clamp(32px,5vw,64px);background:linear-gradient(120deg,var(--brand-deep),var(--navy) 70%);color:#fff;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;position:relative;overflow:hidden;isolation:isolate}
.cta-band h2{color:#fff;max-width:18ch}
.cta-band .swirl{position:absolute;right:-60px;bottom:-80px;width:320px;height:320px;opacity:.18;z-index:-1}
.cta-band .actions{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- page header (inner pages) */
.page-head{background:var(--surface);border-bottom:1px solid var(--line)}
.page-head .wrap{padding-block:clamp(40px,6vw,80px) clamp(28px,4vw,48px);display:grid;gap:14px}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0;font-size:var(--step--1);color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--line)}
.crumbs a{color:var(--muted);text-decoration:none} .crumbs a:hover{color:var(--brand)}

/* ---------- filters */
.catalog{display:grid;grid-template-columns:280px minmax(0,1fr);gap:32px;align-items:start}
@media (max-width:980px){.catalog{grid-template-columns:1fr}}
.filters{position:sticky;top:calc(84px + env(safe-area-inset-top,0px));background:var(--surface);border-radius:var(--r-m);box-shadow:var(--shadow);padding:20px;display:grid;gap:18px}
@media (max-width:980px){.filters{position:static}.filters[data-collapsed="true"] .fbody>:not(.always){display:none}}
.filters .fhead{display:flex;align-items:center;justify-content:space-between;gap:8px}
.filters .fbody{display:grid;gap:18px}
.ftoggle{display:none} @media (max-width:980px){.ftoggle{display:inline-flex}}
.field{display:grid;gap:6px}
.field label,.field legend{font:600 .88rem var(--f-display);color:var(--fg)}
.field .hint{font-size:.82rem;color:var(--muted)}
input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-height:46px;padding:.6em .85em;border:1.5px solid var(--line);border-radius:var(--r-s);background:var(--surface);color:var(--fg);font:400 1rem var(--f-body);transition:border-color .15s,box-shadow .15s}
textarea{min-height:120px;resize:vertical}
input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--line))}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 22%,transparent)}
input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:#C0352B}
.err{color:#C0352B;font-size:.85rem;font-weight:600}
:root[data-theme="dark"] .err{color:#FF9B8F}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .err{color:#FF9B8F}}
fieldset{border:0;margin:0;padding:0;display:grid;gap:8px}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label{display:inline-flex;align-items:center;min-height:36px;padding:.35em .85em;border:1.5px solid var(--line);border-radius:999px;font:600 .85rem var(--f-display);cursor:pointer;color:var(--muted);background:var(--surface)}
.seg input:checked+label{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.seg input:focus-visible+label{outline:3px solid var(--focus);outline-offset:2px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.95rem}
.check input{width:20px;height:20px;margin-top:2px;accent-color:var(--brand);flex:none}
.results-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.results-bar .count{font:600 var(--step-0) var(--f-display)}
.view-toggle{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px;background:var(--surface)}
.view-toggle a{text-decoration:none;display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--muted);font:600 .85rem var(--f-display);padding:.45em .85em;border-radius:999px;cursor:pointer}
.view-toggle a[aria-pressed="true"]{background:var(--surface-2);color:var(--fg)}
.view-toggle svg{width:16px;height:16px}
.active-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.active-filters a{text-decoration:none;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:999px;background:var(--sky-soft);color:var(--brand);font:600 .8rem var(--f-display);padding:.35em .75em;cursor:pointer}
.active-filters svg{width:14px;height:14px}
.empty{background:var(--surface);border-radius:var(--r-m);padding:40px 28px;text-align:center;display:grid;gap:12px;justify-items:center;box-shadow:var(--shadow)}
.empty svg{width:48px;height:48px;color:var(--brand)}

/* ---------- course page */
.course-hero{position:relative;background:var(--navy);color:#fff;isolation:isolate;overflow:hidden}
.course-hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.course-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(var(--navy-rgb),.95) 0%,rgba(var(--navy-rgb),.6) 55%,rgba(var(--navy-rgb),.25) 100%)}
.course-hero .wrap{padding-block:clamp(110px,14vw,200px) clamp(32px,4vw,52px);display:grid;gap:14px}
.course-hero h1{color:#fff;font-size:var(--step-3);max-width:28ch}
.course-hero .crumbs,.course-hero .crumbs a{color:rgba(255,255,255,.8)}
.course-hero .chips{display:flex;flex-wrap:wrap;gap:8px}
.course-hero .chip{background:rgba(255,255,255,.16);color:#fff}
.course-hero .chip.ok{background:#E2F3E9;color:#17633F} .course-hero .chip.warn{background:#FDF0DA;color:#8A4A00} .course-hero .chip.off{background:#ECEFF3;color:#5B6472}
.detail{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(28px,4vw,56px);align-items:start}
@media (max-width:980px){.detail{grid-template-columns:1fr}}
.prose{display:grid;gap:14px;max-width:70ch;min-width:0}
.prose h2{font-size:var(--step-2);margin-top:18px}
.prose h3{font-size:var(--step-1);margin-top:10px} .prose h4{font-size:1.02rem;margin-top:8px}
.prose ul,.prose ol{margin:0;padding-left:1.3em;display:grid;gap:6px}
.prose hr{border:0;border-top:1px solid var(--line);margin:8px 0;width:100%}
.prose a{overflow-wrap:anywhere}
.prose .intro{font-size:var(--step-1);color:var(--fg);line-height:1.55}
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px;margin-block:8px}
.info-grid .it{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-s);padding:14px 16px;display:grid;gap:4px;min-width:0}
.info-grid dt{font:600 .78rem var(--f-display);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.info-grid dd{margin:0;font-weight:500;overflow-wrap:anywhere}
.panel{position:sticky;top:calc(88px + env(safe-area-inset-top,0px));background:var(--surface);border-radius:var(--r-l);box-shadow:var(--shadow-hover);padding:26px;display:grid;gap:18px;min-width:0}
@media (max-width:980px){.panel{position:static;order:-1}}
.panel .price{font-size:var(--step-2)}
.panel dl{margin:0;display:grid;gap:12px}
.panel dl>div{display:grid;grid-template-columns:22px 1fr;column-gap:10px;align-items:start}
.panel dl>div>svg{grid-row:span 2}.panel dl>div>dt,.panel dl>div>dd{grid-column:2}
.panel dt{font:600 .78rem var(--f-display);text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.panel dd{margin:0;font-weight:500;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.panel dl svg{width:20px;height:20px;color:var(--brand);margin-top:2px}
.panel .reg{display:grid;gap:10px}
.panel .note{font-size:.85rem;color:var(--muted)}
.panel .code-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.82rem;color:var(--muted);border-top:1px dashed var(--line);padding-top:12px}
.prose .partners,.partners{list-style:none;margin:0;display:flex;flex-wrap:wrap;gap:20px 32px;align-items:center;background:#fff;border-radius:var(--r-m);padding:22px 24px;border:1px solid var(--line)}
.prose .partners li,.partners li{margin:0;display:flex;align-items:center;justify-content:center}
.partners img{object-fit:contain;max-width:100%}
.contact-card{display:flex;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:16px}
.avatar{width:56px;height:56px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--sky-soft);color:var(--brand);font:800 1.1rem var(--f-display);overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover}
.contact-card .t{display:grid;gap:2px;min-width:0;font-size:.95rem}
.contact-card b{font-family:var(--f-display)}
.copyable svg{width:16px;height:16px;flex:none}
.course-hero .p-art svg.ic{display:none}
.copyable{display:inline-flex;align-items:center;gap:6px;user-select:all;overflow-wrap:anywhere}

/* product cards */
.p-media{aspect-ratio:16/10;position:relative;overflow:hidden;display:grid;place-items:center;max-width:100%}
.p-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .p-media img{transform:scale(1.04)}
.p-art{width:100%;height:100%;display:grid;place-items:center;position:relative;color:#fff;overflow:hidden;background:linear-gradient(135deg,var(--hue,#0B5CAD) 0%,#071A38 100%)}
.p-art svg.ic{width:56px;height:56px;position:relative;z-index:1}
.p-art svg.psw{position:absolute;right:-28px;bottom:-40px;width:180px;height:180px;opacity:.2}
.chips-row{display:flex;flex-wrap:wrap;gap:8px}
.chips-row input{position:absolute;opacity:0;pointer-events:none}
.chips-row label{display:inline-flex;align-items:center;min-height:40px;padding:.4em 1em;border:1.5px solid var(--line);border-radius:999px;font:600 .9rem var(--f-display);color:var(--fg);background:var(--surface);cursor:pointer}
.chips-row label:hover{border-color:var(--brand)}
.chips-row input:checked+label{background:var(--navy);border-color:var(--navy);color:#fff}
:root[data-theme="dark"] .chips-row input:checked+label{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .chips-row input:checked+label{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}}
.chips-row input:focus-visible+label{outline:3px solid var(--focus);outline-offset:2px}
.toolbar{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-bottom:24px}
.toolbar .search{position:relative;flex:1 1 300px;max-width:420px}
.toolbar .search svg{position:absolute;left:14px;top:50%;translate:0 -50%;width:18px;height:18px;color:var(--muted)}
.toolbar .search input{padding-left:42px;border-radius:999px}

/* forms */
.form-card{background:var(--surface);border-radius:var(--r-l);box-shadow:var(--shadow-hover);padding:clamp(22px,4vw,40px);display:grid;gap:22px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid .full{grid-column:1/-1}
@media (max-width:640px){.form-grid{grid-template-columns:1fr}}
.req{color:#C0352B}
.success{display:grid;gap:12px;justify-items:start;padding:24px;border-radius:var(--r-m);background:var(--ok-bg);color:var(--ok)}
.success h3{color:inherit}

/* footer */
.site-foot{background:var(--navy);color:#B9C7D9;margin-top:0}
.site-foot a{color:#E7EEF7;text-decoration:none} .site-foot a:hover{color:#fff;text-decoration:underline}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px;padding-block:64px 40px}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}} @media (max-width:560px){.foot-grid{grid-template-columns:1fr}}
.foot-grid h3{color:#fff;font-size:.95rem;margin-bottom:12px;letter-spacing:.02em}
.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot-grid p{font-size:.93rem}
.foot-logo{background:#fff;border-radius:10px;padding:8px 12px;display:inline-block;margin-bottom:14px}
.foot-logo img{height:28px;width:auto;max-width:180px;object-fit:contain}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding-block:20px;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;font-size:.85rem}
.foot-bottom ul{display:flex;flex-wrap:wrap;gap:18px;list-style:none;margin:0;padding:0}

/* search dialog */
dialog.search-dlg{border:0;padding:0;border-radius:var(--r-l);width:min(720px,calc(100vw - 32px));max-height:min(80vh,720px);background:var(--surface);color:var(--fg);box-shadow:0 40px 80px -20px rgba(0,0,0,.5);margin-top:max(12vh,calc(env(safe-area-inset-top,0px) + 16px))}
dialog.search-dlg::backdrop{background:rgba(var(--navy-rgb),.55);backdrop-filter:blur(3px)}
.sd-head{display:flex;gap:10px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}
.sd-head svg{width:22px;height:22px;color:var(--muted);flex:none}
.sd-head input{border:0;box-shadow:none!important;font-size:1.1rem;min-height:44px;padding:0}
.sd-res{overflow:auto;max-height:calc(min(80vh,720px) - 80px);padding:8px}
.sd-res h4{font:700 .75rem var(--f-display);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:12px 12px 6px}
.sd-res a{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:10px 12px;border-radius:10px;color:var(--fg);text-decoration:none}
.sd-res a:hover,.sd-res a:focus-visible{background:var(--surface-2)}
.sd-res a small{color:var(--muted);grid-column:1}
.sd-res a .chip{grid-row:1/span 2;grid-column:2;align-self:center}


/* motion */
.reveal{animation:rise .6s cubic-bezier(.2,.7,.2,1) both}
@keyframes rise{from{transform:translateY(14px);opacity:.001}to{transform:none;opacity:1}}
.page{animation:fade .35s ease both} @keyframes fade{from{opacity:.4}to{opacity:1}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---------- EduNova: tillägg för den skarpa sajten */
.areas,.why{list-style:none;margin:0;padding:0}
.areas>li,.why>li{display:flex;flex-direction:column}
.areas>li>.area{flex:1}
.eyebrow.on-dark{color:var(--sky)}
.hero h1{color:#fff}
.hero-quick{margin:0}
.card .body>.main{display:grid;gap:10px;min-width:0}
.self-start{justify-self:start;align-self:flex-start}
.small{font-size:var(--step--1)}
.h3{font-size:var(--step-1);font-weight:700}
.h1-s{font-size:var(--step-3)}
.stack{display:grid;gap:10px}.stack-s{display:grid;gap:6px}.stack-l{display:grid;gap:32px}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.actions.center{justify-content:center}
.wrap.narrow{max-width:920px}
.empty-note{background:var(--surface);border-radius:var(--r-m);padding:24px;color:var(--muted);box-shadow:var(--shadow)}
.on-dark-muted{color:#C9D6E6;max-width:52ch}
.cta-band .stack{max-width:60ch}
.split.top{align-items:start}
.split .ph img{aspect-ratio:auto}
.contact-list{display:grid;gap:12px;align-content:start}
a.copyable{color:inherit;text-decoration:none}
a.copyable:hover{color:var(--brand);text-decoration:underline}
.contact-card .t{gap:4px}
.callout.small{font-size:.9rem}
.rich{display:grid;gap:14px;min-width:0}
.rich>*{margin:0}
.rich h3{font-size:var(--step-1);margin-top:10px}
.rich ul,.rich ol{margin:0;padding-left:1.3em;display:grid;gap:6px}
.rich img{max-width:100%;height:auto;border-radius:var(--r-s)}
.rich table{border-collapse:collapse;width:100%}
.rich td,.rich th{border:1px solid var(--line);padding:6px 10px;text-align:left}
.filters .fhead h2{font-size:1.1rem}
.filters .f-actions{display:flex;flex-wrap:wrap;gap:8px}
.js .apply{display:none}
.results{min-width:0}
.results[aria-busy="true"] [data-list]{opacity:.55;transition:opacity .15s}
.toolbar{align-items:flex-start}
.toolbar .cats{flex:1 1 100%;order:3}
.toolbar .search input{min-height:46px}
#pcount{font:600 1rem var(--f-display);margin-bottom:16px}
.panel-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.panel .note{margin-top:-4px}
.panel .reg .btn{white-space:normal;text-align:center}
.product-hero .hero-art{position:absolute;inset:0;z-index:-2}
.product-hero .hero-art .ic{display:none}
.news-card .media{aspect-ratio:16/9}
.news-ph{width:100%;height:100%;background:radial-gradient(120% 120% at 100% 0%,var(--brand-deep) 0%,var(--navy) 60%);position:relative;overflow:hidden}
.news-ph .psw{position:absolute;right:-20px;bottom:-30px;width:160px;height:160px;opacity:.35}
.news-figure{margin:0 0 24px}
.news-figure img{border-radius:var(--r-m);width:100%}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-error{border-radius:var(--r-s);padding:14px 16px;background:#FCE9E7;color:#8F1F15;font-weight:600}
@media (prefers-color-scheme:dark){.form-error{background:#3B1512;color:#FFB4AB}}
.success svg{width:32px;height:32px}
.preview-bar{background:#F2A900;color:#1B1300;padding:10px 16px;text-align:center;font-weight:600}
.preview-bar a{color:inherit}
.site-foot h2{color:#fff;font-size:.95rem;margin-bottom:12px;letter-spacing:.02em}
.site-foot nav ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.site-foot .social{margin-top:16px}
.prewrap{white-space:pre-wrap}
.search-results{display:grid;gap:4px}
.search-results ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.search-results .sr-h{font:700 .75rem var(--f-display);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:14px 12px 6px}
.search-results a{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:10px 12px;border-radius:10px;color:var(--fg);text-decoration:none}
.search-results a:hover,.search-results a:focus-visible{background:var(--surface-2)}
.search-results a .t{font-weight:600}
.search-results a small{color:var(--muted);grid-column:1}
.search-results a .chip{grid-row:1/span 2;grid-column:2;align-self:center}
.search-results .pad{padding:16px}
.section.tight>.wrap>.search-results{background:var(--surface);border-radius:var(--r-m);padding:8px;box-shadow:var(--shadow)}
.page-head .toolbar{margin:8px 0 0}
main:focus{outline:none}
.social{display:flex;gap:10px}
.social a{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.25)}
.social svg{width:18px;height:18px}

.active-filters{list-style:none;padding:0;margin:0 0 16px}

/* Logobalk under sidfoten (väljs i inställningarna) */
.foot-logos{background:#fff;color:var(--ink,#0b1b33);padding-block:28px}
.foot-logos h2{font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#4a5b73;margin:0 0 14px;text-align:center}
.foot-logos .partners{justify-content:center;border:0;padding:0;background:none;gap:24px 44px}

/* Samtycke till kakor (visas bara när spårning är inställd) */
.consent{position:fixed;z-index:80;inset:auto 16px 16px;max-width:640px;margin-inline:auto;background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:0 20px 50px -12px rgba(var(--navy-rgb),.45);max-height:calc(100vh - 32px);overflow:auto}
.consent[hidden]{display:none}
.consent-in{padding:22px 24px;display:grid;gap:14px}
.consent h2{font-size:var(--step-1)}
.consent p{font-size:var(--step--1);color:var(--muted);line-height:1.55}
.consent-opts{border:0;margin:0;padding:0;display:grid;gap:10px}
.consent-opts[hidden]{display:none}
.consent .ck{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface-2);cursor:pointer}
.consent .ck input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--brand)}
.consent .ck strong{display:block;font-size:var(--step--1)}
.consent .ck small{display:block;color:var(--muted);font-size:.82rem;line-height:1.45}
.consent-btns{display:flex;flex-wrap:wrap;gap:8px}
.consent-btns .btn{flex:1 1 auto;min-height:42px;font-size:var(--step--1)}
.consent-btns [hidden]{display:none}
.link-btn{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
.link-btn:hover{text-decoration-thickness:2px}
@media (max-width:480px){.consent{inset:auto 8px 8px}.consent-in{padding:18px}.consent-btns .btn{flex-basis:100%}}
.site-foot .link-btn{color:#E7EEF7;text-decoration:none} .site-foot .link-btn:hover{color:#fff;text-decoration:underline}

/* ------------------------------------------------------------------ Utskrift (A4) */
.print-only{display:none}
@media print{
  @page{size:A4;margin:16mm 15mm 18mm}
  :root,:root[data-theme]{
    --bg:#fff;--surface:#fff;--surface-2:#fff;--fg:#111;--muted:#444;--line:#bbb;--brand:#0B3F7A;--brand-ink:#fff;--sky-soft:#fff;
    --navy:#fff;--navy-rgb:255,255,255;--shadow:none;--shadow-hover:none;color-scheme:light}
  html{font-size:10.5pt;scroll-behavior:auto}
  body{background:#fff!important;color:#111;font-size:10.5pt;line-height:1.45}
  body::before{display:none}
  *,*::before,*::after{box-shadow:none!important;text-shadow:none!important;animation:none!important;transition:none!important}
  .print-only{display:block}
  /* Det som bara hör till skärmen */
  .skip,.main-nav,.head-tools,.scrim,.search-dlg,.consent,[data-consent-status],.preview-bar,.site-foot,.crumbs,
  .cta-band,.filters,.view-toggle,.hero-search,.hero-quick,.hero-art,.course-hero .bg,.hero .bg,.btn,.link-arrow,form,
  .reg .btn,.ftoggle,.results-bar button,[aria-labelledby="h-rel"],[aria-labelledby="h-relp"],section:has(> .wrap > form),
  section.band:has(form),.icon-btn,video,iframe,.social,.swirl,svg.swirl{display:none!important}
  /* Sidhuvud: bara logotypen, och adressen till sidan */
  .site-head{position:static!important;background:none!important;border:0!important;padding:0!important}
  .head-in{padding:0!important;min-height:0!important}
  .logo .lw{background:none;padding:0}
  .logo img{height:22pt;max-width:none}
  .print-url{margin:2mm 0 6mm;padding-bottom:2mm;border-bottom:.6pt solid #bbb;font-size:8.5pt;color:#555}
  .print-foot{margin-top:8mm;padding-top:2mm;border-top:.6pt solid #bbb;font-size:8.5pt;color:#555}
  .wrap{max-width:none!important;padding-inline:0!important;margin:0!important}
  .section,.section.tight{padding-block:0 6mm!important;background:none!important}
  /* Rubrikytor blir vanlig svart text på vitt */
  .hero,.course-hero,.product-hero,.band,.band-navy,.page-head{background:none!important;color:#111!important;min-height:0!important;padding:0!important}
  .course-hero .wrap,.hero .wrap,.hero-in,.page-head .wrap{padding-block:0 4mm!important;min-height:0!important}
  .hero::after,.course-hero::after,.course-hero::before,.hero::before{display:none!important}
  .hero *,.course-hero *,.band-navy *{color:#111!important}
  h1{font-size:20pt;margin:0 0 3mm;color:#111}
  h2{font-size:13pt;margin:6mm 0 2mm;color:#111;break-after:avoid}
  h3{font-size:11pt;break-after:avoid}
  p,li{orphans:3;widows:3}
  .eyebrow{color:#555!important}
  .chips{margin:0 0 2mm}
  .chip{border:.6pt solid #999;background:#fff!important;color:#333!important;font-size:8pt;padding:.5mm 2mm}
  .chip .dot{display:none}
  a{color:#111;text-decoration:underline}
  img{max-width:100%!important;break-inside:avoid}
  /* Kurssidan: faktarutan först, sedan texten */
  .detail{display:flex!important;flex-direction:column;gap:4mm}
  .detail .panel{order:-1;position:static!important;border:.8pt solid #888;border-radius:3mm;padding:4mm 5mm!important;background:#fff!important;break-inside:avoid}
  .panel dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2mm 6mm;margin:2mm 0}
  .panel dl>div>svg{width:11pt;height:11pt;color:#333}
  .panel .note{color:#333;font-size:9pt}
  .panel .code-row{border-top:.6pt solid #ccc;padding-top:2mm;color:#333}
  .info-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:2mm!important}
  .info-grid .it{border:.6pt solid #bbb!important;padding:2mm 3mm!important;break-inside:avoid}
  .callout{border:.6pt solid #bbb!important;background:#fff!important;color:#111!important;break-inside:avoid}
  .contact-card{border:.6pt solid #bbb!important;break-inside:avoid}
  .avatar{border:.6pt solid #999;background:#fff!important;color:#333!important}
  .partners{border:0!important;padding:0!important;gap:4mm 8mm!important;break-inside:avoid}
  .foot-logos{background:none;padding:6mm 0 0;break-inside:avoid}
  /* Listor: kurskort utan bilder, två per rad */
  .grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:3mm!important}
  .card,.course-card,.p-card,.area{border:.6pt solid #bbb!important;background:#fff!important;color:#111!important;min-height:0!important;break-inside:avoid;transform:none!important}
  .card .media,.course-card .media,.p-art,.ph,.news-ph,.area img{display:none!important}
  .area *{color:#111!important}
  .print-qr{display:flex!important;flex-wrap:wrap;gap:4mm 8mm;margin:3mm 0 1mm;break-inside:avoid}
  .print-qr figure{margin:0;display:grid;justify-items:center;gap:1mm;width:30mm;text-align:center}
  .print-qr svg{width:28mm;height:28mm}
  .print-qr figcaption{font:600 8pt/1.25 var(--f-display);color:#111}
  .catalog{display:block!important}
  .card,.card *{opacity:1!important;filter:none!important}
  .card-title a{color:#111!important;text-decoration:none}
  .area .ico{display:none!important}
  .area .in{padding:3mm!important}
  .date-badge{display:none!important}
  .card .body{padding:3mm 4mm!important}
  .card .facts svg{width:9pt;height:9pt}
  .lead,.intro,.product-hero p,.course-hero p{color:#333!important}
  .sec-head{margin-bottom:3mm}
}

/* Kursöversikt och kurssida: finjustering av läsbarhet */
legend{padding:0}
fieldset>legend{margin-bottom:8px}
.card-title{line-height:1.2}
.card .facts{font-variant-numeric:tabular-nums}
.list-view .card .meta-top{justify-content:flex-start}
.info-grid .it{align-content:start}
.info-grid dd{overflow-wrap:break-word}
@media (min-width:560px){.info-grid .it.wide{grid-column:span 2}}
.info-grid dd a{color:var(--brand)}
.course-hero .chip{text-decoration:none}
.course-hero a.chip:hover{text-decoration:underline}
@media (max-width:600px){.course-hero .crumbs li:last-child{display:none}}
.rich p,.rich li{max-width:68ch}
.rich strong{color:var(--fg)}
.rich a{text-underline-offset:2px}
@media (max-width:559px){
  .info-grid{gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-s);overflow:hidden}
  .info-grid .it{border:0;border-radius:0}
  .info-grid .it+.it{border-top:1px solid var(--line)}
}
@media (min-width:821px){
  .list-view .card .media{width:180px}
  .list-view .card .body{grid-template-columns:minmax(0,1fr) 190px;column-gap:24px}
  .list-view .card .foot{padding-left:20px}
  .list-view .card-title{text-wrap:pretty}
}
.panel dd{line-height:1.45}

/* Kurser där deltagaren väljer dagar */
.prose .day-list{list-style:none;margin:0 0 1.5em;padding:0;display:grid;gap:0}
.prose .day-list li{display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--line);margin:0}
.prose .day-list li:last-child{border-bottom:1px solid var(--line)}
.day-no{display:grid;justify-items:center;background:var(--surface-2);border-radius:var(--r-s);padding:4px 0;line-height:1.1}
.day-no small{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.day-no b{font-family:var(--f-display);font-size:1.3rem}
.pick-days{display:grid;gap:10px}
.pick-days fieldset{border:0;margin:0;padding:0;display:grid;gap:8px;min-width:0}
.pick-days legend{font-weight:700;margin-bottom:8px;padding:0}
.day-pick{display:flex;gap:12px;align-items:flex-start;padding:11px 12px;border:1px solid var(--line);border-radius:var(--r-s);cursor:pointer;background:var(--surface);line-height:1.4}
.day-pick:has(input:checked){border-color:var(--brand);background:var(--sky-soft)}
.day-pick input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--brand);flex:none}
.day-pick small{display:block;color:var(--muted);font-size:.88rem}
.pick-days .linkish{justify-self:start;background:none;border:0;padding:4px 0;color:var(--brand);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}
.pick-days .linkish[hidden],.pick-days .note:empty{display:none}
.pick-days .note.warn{background:var(--warn-bg);color:var(--warn);padding:8px 10px;border-radius:var(--r-s);margin:0}
.chip.days{background:var(--sky-soft);color:var(--fg)}
