/* Resultatside (koeretoej.php) — mobil-først. Bruger farvevariabler fra style.css */
/* cache-bump 2026-07-11: nyt ?v= så gamle/afkortede browser-cachede kopier erstattes */
/* overflow-x KUN på html: propagerer til viewporten (hindrer sidescroll) uden
   at gøre body til scroll-container — dét var det, der dræbte position:sticky. */
html{overflow-x:hidden;background:var(--bg)}
body{background:var(--bg)}
/* Samme bredde som top-baren (.container, --max) — indhold og header flugter */
.wrap{max-width:var(--max);margin:0 auto;padding:0 1.25rem}
img,svg{max-width:100%}
.hdr{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}
.hdr .wrap{padding-top:.6rem;padding-bottom:.6rem}
/* Fælles søgebar under logo/menu — samme udtryk som undersiderne (style.css) */
.hdr .header-search-bar{border-top:1px solid var(--border)}
.hdr .header-search-bar .wrap{padding-top:.6rem;padding-bottom:.6rem}
.hdr-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.hdr-row img{height:28px;display:block}
.hdr-row .back{font-weight:bold;font-size:.85rem;white-space:nowrap}
.hdr form{display:flex;align-items:center;gap:5px;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:4px 4px 4px 8px;margin-top:.55rem;position:relative}
.hdr form .type-pill{flex:0 0 auto}
.hdr form input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:1rem;font-weight:bold;text-transform:uppercase;padding:8px 4px}
.hdr form input::placeholder{color:#b6bcc4;font-weight:normal;text-transform:none}
.hdr form button{flex:0 0 auto;border:none;background:var(--green);color:#fff;font-weight:bold;padding:9px 16px;border-radius:8px;cursor:pointer}
.overview{background:#fff;border-bottom:1px solid var(--border);padding:1.4rem 0 1.5rem}
.overview h1{font-size:clamp(1.4rem,6vw,1.9rem);line-height:1.15}
.overview .vsub{color:var(--muted);font-size:.98rem;margin-top:.45rem;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;overflow-wrap:anywhere}
.vsub .vsub-t{min-width:0}
/* Kompakt DK-nummerplade i toppen (blå EU-bånd til venstre) */
/* Pladen: ren fed tekst — ingen nummerplade-ramme (samme beslutning som garagen) */
.vplate{font-weight:bold;font-size:.98rem;letter-spacing:.5px;color:var(--ink)}
.badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.badge{padding:6px 12px;border-radius:999px;font-size:.82rem;font-weight:bold;display:inline-flex;align-items:center;gap:6px}
.badge.ok{background:rgba(103,192,142,.16);color:var(--green-dark)}
.badge.info{background:rgba(0,96,183,.1);color:var(--blue)}
.badge.warn{background:rgba(230,51,42,.12);color:var(--red)}
.badge .d{width:8px;height:8px;border-radius:50%;background:currentColor;flex:0 0 auto}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem;margin-top:1.2rem}
.kpi{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem;display:flex;align-items:center;gap:.9rem}
.kpi.hl{background:linear-gradient(135deg,var(--blue),var(--blue-dark));border:none;color:#fff}
.kpi.warn{background:rgba(230,51,42,.08);border-color:rgba(230,51,42,.3)}
.kpi .ic{width:42px;height:42px;flex:0 0 auto;border-radius:11px;background:rgba(0,96,183,.1);display:flex;align-items:center;justify-content:center}
.kpi.hl .ic{background:rgba(255,255,255,.2)}.kpi.warn .ic{background:rgba(230,51,42,.14)}
.kpi .ic svg{width:22px;height:22px;stroke:var(--blue);fill:none;stroke-width:2}
.kpi.hl .ic svg{stroke:#fff}.kpi.warn .ic svg{stroke:var(--red)}
.kpi .lbl{font-size:.78rem;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
.kpi.hl .lbl{color:rgba(255,255,255,.8)}
.kpi .val{font-size:1.5rem;font-weight:bold;line-height:1.1}
.kpi .val small{font-size:.85rem;font-weight:normal;color:var(--muted)}
.kpi .kpi-sub{font-size:.75rem;color:var(--muted);margin-top:2px;line-height:1.35}
.kpi.hl .val small{color:rgba(255,255,255,.85)}
.kpi.good .val{color:var(--green-dark)}.kpi.warn .val{color:var(--red)}
.sections{padding:1.4rem 0 3rem;display:flex;flex-direction:column;gap:1.1rem}
.card{background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:1.3rem 1.3rem 1.4rem}
.card h2{font-size:.82rem;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}
.card h2 svg{width:17px;height:17px;stroke:var(--blue);fill:none;stroke-width:2;flex:0 0 auto}
.dl{display:flex;flex-direction:column}
.dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.62rem 0;border-bottom:1px solid var(--border);font-size:.94rem}
.dl>div:last-child{border-bottom:none}
.dl span{color:var(--muted);flex:0 0 auto}
/* break-word (ikke anywhere): korte værdier som "250 kW" brydes IKKE tegn-for-tegn;
   kun ægte lange tokens (fx typegodkendelsesnr) brydes. */
.dl b{text-align:right;overflow-wrap:break-word;min-width:0}
/* Værdien har fortrinsret til pladsen; labelen giver efter og ombrydes i stedet */
.dl.two>div{align-items:start}
.dl.two span{overflow-wrap:anywhere}
/* Elbil-kort: grøn-toner accent, store metric-tiles */
.ev-card h2 svg{stroke:none;fill:var(--green-dark)}
.ev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.ev-tile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;background:rgba(103,192,142,.12);border-radius:13px;padding:1.1rem .8rem}
.ev-ic{width:34px;height:34px;border-radius:9px;background:rgba(103,192,142,.2);display:flex;align-items:center;justify-content:center}
.ev-ic svg{width:19px;height:19px;fill:none;stroke:var(--green-dark);stroke-width:2}
.ev-val{font-size:1.7rem;font-weight:bold;line-height:1;color:var(--ink)}
.ev-val small{font-size:.9rem;font-weight:bold;color:var(--muted)}
.ev-lbl{font-size:.8rem;color:var(--muted)}

/* Periodisk ejerafgift-kort — blå accent, halvårlig + årlig side om side */
.afg-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-bottom:1.1rem}
.afg-tile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;background:var(--bg);border:1px solid var(--border);border-radius:13px;padding:1.1rem .8rem}
.afg-val{font-size:1.7rem;font-weight:bold;line-height:1;color:var(--blue)}
.afg-val small{font-size:.9rem;font-weight:bold;color:var(--muted)}
.afg-lbl{font-size:.8rem;color:var(--muted)}

/* Opladning & ydelse (EV Database) — grøn accent, korte værdier brydes aldrig */
.ev-specs-card h2 svg{stroke:none;fill:var(--green-dark)}
.ev-specs-card .dl b{white-space:nowrap}

/* Kopiér-knap til venstre for plade/stelnr */
.kopi{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;margin-right:.45rem;vertical-align:-6px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--muted);cursor:pointer;padding:0;transition:color .12s,border-color .12s}
.kopi svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2}
.kopi:hover{color:var(--blue);border-color:var(--blue)}
.kopi.ok{color:var(--green-dark);border-color:var(--green-dark)}
.kopi.ok svg{display:none}
.kopi.ok::after{content:"✓";font-size:.9rem;font-weight:bold}
.reports{display:flex;flex-direction:column;gap:.9rem}
.report{border:1px solid var(--border);border-radius:12px;overflow:hidden}
.report summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.8rem;padding:.9rem 1rem;background:var(--bg)}
.report summary::-webkit-details-marker{display:none}
.report .rmark{width:26px;height:26px;flex:0 0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:bold;font-size:.9rem}
.report .rmark.ok{background:var(--green)}.report .rmark.warn{background:var(--red)}.report .rmark.cond{background:var(--blue)}
.report .rmark svg{width:14px;height:14px;stroke:#fff;fill:none;stroke-width:3}
.report .rhead{min-width:0;flex:1}
.report .rhead b{display:block;font-size:.98rem}
.report .rhead small{color:var(--muted);font-size:.85rem}
.report .rres{flex:0 0 auto;font-size:.78rem;font-weight:bold;padding:5px 10px;border-radius:999px;white-space:nowrap}
.report .rres.ok{color:var(--green-dark);background:rgba(103,192,142,.16)}
.report .rres.warn{color:var(--red);background:rgba(230,51,42,.12)}
.report .rres.cond{color:var(--blue);background:rgba(0,96,183,.1)}
.report .chev{flex:0 0 auto;color:var(--muted);transition:transform .15s}
.report[open] .chev{transform:rotate(180deg)}
.report .rbody{padding:1rem 1.1rem 1.2rem}
.report .rgrid>div{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.92rem}
.report .rgrid>div:last-child{border-bottom:none}
.report .rgrid span{color:var(--muted)}
.report .rgrid b{text-align:right;overflow-wrap:anywhere}
/* Fejl og mangler fra synsrapporten */
.rfejl{margin-top:.9rem;border-top:1px solid var(--border);padding-top:.9rem}
.rfejl h4{margin:0 0 .55rem;font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.rfejl .fitem{display:flex;gap:.7rem;align-items:flex-start;padding:.5rem 0}
.rfejl .fitem+.fitem{border-top:1px dashed var(--border)}
.rfejl .fkode{flex:0 0 auto;font-size:.72rem;font-weight:bold;background:rgba(230,51,42,.1);color:var(--red);padding:3px 8px;border-radius:6px;white-space:nowrap}
.rfejl .fitem b{display:block;font-size:.86rem}
.rfejl .fitem p{margin:.15rem 0 0;font-size:.86rem;color:var(--muted)}
.rfejl.none{color:var(--muted);font-size:.88rem}
/* Muligt km-snyd: fald i kilometerstand mellem syn */
.km-advarsel{background:rgba(230,51,42,.07);border:1px solid rgba(230,51,42,.3);border-radius:12px;padding:.9rem 1.1rem;margin-bottom:1rem;font-size:.92rem;line-height:1.5}
.km-advarsel>b{color:var(--red);display:block;margin-bottom:.35rem}
.km-advarsel .km-fald-linje{font-variant-numeric:tabular-nums;padding:.15rem 0}
.km-advarsel .km-fald-linje b{color:var(--red)}
.km-advarsel p{margin:.45rem 0 0;color:var(--muted);font-size:.86rem}

/* Historisk plade-fallback: ærlig forklaring øverst på siden */
.via-banner{background:rgba(0,96,183,.07);border:1px solid rgba(0,96,183,.25);border-radius:12px;padding:.85rem 1.1rem;margin-bottom:1.2rem;font-size:.92rem;line-height:1.5}
.via-banner b{letter-spacing:.5px}
/* Download af officiel synsrapport-PDF */
.rpdf{display:inline-flex;align-items:center;gap:.45rem;margin-top:.9rem;font-size:.86rem;font-weight:bold;color:var(--blue);text-decoration:none;border:1px solid var(--border);border-radius:9px;padding:.5rem .9rem}
.rpdf:hover{border-color:var(--blue);text-decoration:none;background:rgba(0,96,183,.05)}
.rpdf svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.src-note{color:var(--muted);font-size:.82rem;margin-top:.9rem}
/* Forsikringshistorik */
.fors-row{display:flex;align-items:center;gap:.7rem;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.9rem}
.fors-row:last-of-type{border-bottom:none}
.fors-row .fdato{flex:0 0 auto;color:var(--muted);font-variant-numeric:tabular-nums}
.fors-row b{flex:1;min-width:0;overflow-wrap:anywhere}
.fors-row.aktuel b{color:var(--blue)}
.fstat{flex:0 0 auto;font-size:.72rem;font-weight:bold;padding:3px 9px;border-radius:999px;white-space:nowrap}
.fstat.ok{color:var(--green-dark);background:rgba(103,192,142,.16)}
.fstat.warn{color:var(--red);background:rgba(230,51,42,.12)}
.fstat.mut{color:var(--muted);background:var(--bg)}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:6px 11px;font-size:.86rem}
.note{border-radius:10px;padding:.85rem 1rem;font-size:.9rem;font-weight:bold;margin-top:1.1rem;overflow-wrap:anywhere}
.note.ok{background:rgba(103,192,142,.12);border:1px solid rgba(103,192,142,.4);color:var(--green-dark)}
.note.warn{background:rgba(230,51,42,.1);border:1px solid rgba(230,51,42,.35);color:var(--red)}
/* Mobil: resultat-badgen på egen linje under dato/km — lange tekster
   ("Kan godkendes ved omsyn") må aldrig mase datoen til ordlange linjeskift. */
@media(max-width:639px){
  /* Deterministisk layout: mærke absolut til venstre, dato+km fylder linje 1,
     resultat-badgen ALTID på egen linje til venstre — så den aldrig hopper til
     højre bare fordi km mangler eller badge-teksten er kortere. */
  .report summary{flex-wrap:wrap;row-gap:.5rem;position:relative;padding-left:calc(1rem + 26px + .7rem);padding-right:2.4rem}
  .report .rmark{position:absolute;left:1rem;top:.9rem}
  .report .chev{position:absolute;right:1rem;top:1.15rem}
  .report .rhead{flex:1 1 100%;min-width:0}
  .report .rhead small{overflow-wrap:anywhere}
  .report .rres{flex:0 0 auto;white-space:normal;text-align:left}
}
/* Mobil: stram top — badges mindre, KPI'er og elbil-tiles side om side */
@media(max-width:719px){
  .badges{gap:.35rem;margin-top:.85rem}
  .badge{padding:4px 9px;font-size:.68rem;gap:0;white-space:nowrap}
  .badge .d{display:none}
  .kpis{gap:.5rem}
  .kpi{flex-direction:column;align-items:center;text-align:center;gap:.3rem;padding:.7rem .4rem;border-radius:11px}
  .kpi .ic{width:28px;height:28px;border-radius:8px}
  .kpi .ic svg{width:16px;height:16px}
  .kpi .lbl{font-size:.6rem;letter-spacing:.2px}
  .kpi .val{font-size:1.02rem}
  .kpi .val small{font-size:.68rem}
  .ev-tile{padding:.75rem .4rem;border-radius:11px;gap:.28rem}
  .ev-ic{width:27px;height:27px;border-radius:8px}
  .ev-ic svg{width:15px;height:15px}
  .ev-val{font-size:1.12rem}
  .ev-val small{font-size:.7rem}
  .ev-lbl{font-size:.66rem;line-height:1.2}
}
/* Injektions-slots må ALDRIG selv optage plads i layoutet (tomme slots gav
   tomme grid-celler på desktop) — kortet indeni bliver selv grid-item. */
#afgift-slot,#elbil-slot,#ev-specs-slot,#forsikring-slot,#faelg-slot,#sektioner-slot{display:contents}

@media(min-width:720px){
  .kpis{grid-template-columns:repeat(3,1fr)}
  .sections{padding-left:0;padding-right:0;display:grid;grid-template-columns:1fr 1fr}
  .dny #p-tidslinje .tlinje{column-count:2;column-gap:60px}
  .card{border:1px solid var(--border);border-radius:14px}
  .card.full{grid-column:1 / -1}
  .dl.two{display:grid;grid-template-columns:1fr 1fr;gap:0 1.6rem}
}

/* Baggrunds-loading (stale-while-revalidate) */
[x-cloak]{display:none!important}
.spinner{display:inline-block;width:15px;height:15px;border:2px solid var(--border);border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px;margin-right:4px}
.syn-loading{color:var(--muted);font-size:.94rem;padding:.4rem 0}
@keyframes spin{to{transform:rotate(360deg)}}

/* Stort loading-skærmbillede (mens data hentes første gang) */
.loadscreen{text-align:center;padding:4rem 0 5rem}
.loadscreen h1{font-size:1.6rem;margin:1.4rem 0 .5rem}
.loadscreen p{color:var(--muted);max-width:440px;margin:0 auto}
.big-spinner{width:54px;height:54px;margin:0 auto;border:5px solid var(--border);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}
.loadscreen .btn-back{display:inline-block;margin-top:1.5rem;color:var(--blue);font-weight:bold}

/* Syn-info (indkaldelse, næste syn, frekvens) */
.syn-info{background:rgba(0,96,183,.06);border:1px solid rgba(0,96,183,.15);border-radius:10px;padding:.8rem 1rem;margin-bottom:1rem;font-size:.9rem}
.syn-info div{padding:.15rem 0;color:var(--ink)}

/* Fælge & dæk (Wheel-Size) — liste m. grøn markering af DMR-matchet størrelse */
.faelg-card .dl b{white-space:nowrap}
.faelg-h{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:1.1rem 0 .55rem}
.faelg-liste{display:flex;flex-direction:column;gap:.45rem}
.faelg-row{display:flex;flex-direction:column;gap:.15rem;padding:.6rem .8rem;border:1px solid var(--border);border-radius:10px}
.faelg-row .fr-top{display:flex;align-items:baseline;gap:.6rem}
.faelg-row .fr-daek{font-weight:bold;font-size:.98rem;font-variant-numeric:tabular-nums}
.faelg-row .fr-faelg{color:var(--muted);font-size:.82rem;font-variant-numeric:tabular-nums}
.faelg-row .fr-badge{margin-left:auto;text-align:right;font-size:.76rem;font-weight:bold;color:var(--green-dark)}
.faelg-row .fr-stock{margin-left:auto;text-align:right;font-size:.76rem;color:var(--muted)}
.faelg-row .fr-stock.alt{opacity:.6}
.faelg-row.match{border-color:var(--green-dark);background:rgba(42,132,82,.08)}

/* ============================================================
   NYT DESIGN (.dny) — faner + overblik. Aktiveres af design-
   kontakten i koeretoej.php; gammelt design er 100% urørt.
   ============================================================ */
.dny .dny-hero{background:#fff;padding:20px 0 16px;border-bottom:1px solid var(--border, #E2E4E9)}
.dny .dny-hero h1{margin:0;font-size:26px;line-height:1.2}
.dny .dny-toprk{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.dny .dny-gem form{margin:0}
.dny .dny-gem-knap{width:42px;height:42px;border-radius:12px;border:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}
.dny .dny-gem-knap svg{width:22px;height:22px;stroke:var(--blue);fill:none;stroke-width:2}
.dny .dny-gem-knap.aktiv svg{fill:var(--blue)}
.dny .kpi.gaeld{grid-column:span 2}
.dny .kpi{min-width:0}
.dny .kpi.fors .val{font-size:.8rem;line-height:1.25;font-weight:600;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
.dny .dny-plade{font-size:19px;font-weight:800;letter-spacing:1.5px;margin-top:4px;color:var(--ink,#242E34)}
.dny .dny-sub{color:#5F6672;font-size:15px;margin-top:2px}
.dny .badges{margin-top:10px}
.dny .kpis{margin-top:14px}

/* Faner: pille-chips — aktiv er fyldt blå */
.dny-faner{position:sticky;top:0;z-index:30;background:#F2F2F5;padding:10px 0;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.dny-faner::-webkit-scrollbar{display:none}
.dny-fane{white-space:nowrap;padding:9px 16px;font-size:14px;font-weight:600;color:#242E34;border:1px solid #E2E4E9;background:#fff;cursor:pointer;border-radius:999px;font-family:inherit;box-shadow:0 1px 4px rgba(36,46,52,.05)}
.dny-fane.aktiv{background:#0060B7;border-color:#0060B7;color:#fff}

/* Paneler: kun den aktive vises (alt indhold ER i DOM'en → SEO uændret) */
.dny-panel{display:none}
.dny-panel.aktiv{display:grid}
.dny-panel.sections{padding-top:4px}

/* Tidslinje */
/* Selvstændig linje+prik PR. POST (så tidslinjen kan flyde i 2 kolonner på desktop) */
.dny .tlinje{position:relative}
.dny .tl-post{position:relative;padding:0 0 18px 26px;break-inside:avoid}
.dny .tl-post:before{content:"";position:absolute;left:5px;top:8px;bottom:-8px;width:2px;background:#E2E4E9}
.dny .tl-post:last-child:before{display:none}
.dny .tl-post:after{content:"";position:absolute;left:0;top:5px;width:12px;height:12px;border-radius:50%;background:#2A8452;border:2.5px solid #fff;box-shadow:0 0 0 2px #2A8452}
.dny .tl-post.nej:after{background:#E6332A;box-shadow:0 0 0 2px #E6332A}
.dny .tl-post.blaa:after{background:#0060B7;box-shadow:0 0 0 2px #0060B7}
.dny .tl-post.gul:after{background:#B45309;box-shadow:0 0 0 2px #B45309}
.dny .tl-post.graa:after{background:#5F6672;box-shadow:0 0 0 2px #5F6672}
/* Tidslinje-kortet skal spænde begge kolonner (slot-wrapper må ikke være grid-elementet) */
#tidslinje-slot,#bilbogen-slot{display:contents}
.dny .tl-post b{font-size:15px}
.dny .tl-t{font-size:13.5px;font-weight:700;margin-left:6px}
.dny .tl-t.ok{color:#2A8452}.dny .tl-t.nej{color:#E6332A}.dny .tl-t.blaa{color:#0060B7}
.dny .tl-t.gul{color:#B45309}.dny .tl-t.graa{color:#5F6672}
.dny .tl-post small{display:block;color:#5F6672;font-size:13px}

/* Mobil: kant-til-kant uden runde hjørner på fuldbredde-kort — nøgletal
   forbliver i kasser (jf. dummy-testens beslutninger) */
@media(max-width:640px){
  .dny .wrap{padding-left:0;padding-right:0}
  .dny .dny-hero{padding:16px 14px 14px}
  .dny .dny-hero .wrap{padding:0}
  .dny .dny-hero h1{font-size:23px}
  .dny .card{border-radius:0;box-shadow:none;margin-bottom:8px}
  .dny .kpis{gap:8px;padding:0}
  .dny .kpi{border-radius:12px}

  .dny-faner{padding:8px 10px;gap:6px}
  .dny-fane{padding:7px 13px;font-size:13px}
  .dny .via-banner{border-radius:0}
}

/* Billeder-fanen */
.bil-galleri{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.bil-galleri a{display:block;border-radius:10px;overflow:hidden;border:1px solid var(--border);aspect-ratio:4/3;background:var(--bg)}
.bil-galleri img{width:100%;height:100%;object-fit:cover;display:block}
.bil-upload{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}
.bil-upload-knap{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--border);border-radius:999px;background:#fff;font-weight:600;font-size:.9rem;cursor:pointer}
.bil-upload-knap svg{width:17px;height:17px;stroke:var(--blue);fill:none;stroke-width:2}
.bil-upload-knap:hover{border-color:var(--blue)}
.bil-upload-status{display:none;width:100%;font-size:.9rem;font-weight:600;padding:10px 14px;border-radius:10px}
.bil-upload-status.vis{display:block}
.bil-upload-status.ok{background:rgba(103,192,142,.15);color:#1d6b40}
.bil-upload-status.venter{background:rgba(217,119,6,.12);color:#8a5a00}
.bil-upload-status.fejl{background:rgba(230,51,42,.1);color:#b3271e}

/* Lysboks (billedviser) */
.lysboks{position:fixed;inset:0;z-index:1000;background:rgba(8,13,18,.96);display:flex;align-items:center;justify-content:center}
.lysboks[hidden]{display:none} /* display:flex ovenfor overtrumfer ellers hidden-attributten */
.lysboks img{max-width:94vw;max-height:88vh;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.lysboks .lb-luk{position:absolute;top:14px;right:14px;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:1.15rem;cursor:pointer;line-height:1}
.lysboks .lb-pil{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:64px;border:0;border-radius:10px;background:rgba(255,255,255,.12);color:#fff;font-size:2.2rem;cursor:pointer;line-height:1}
.lysboks .lb-forrige{left:10px}
.lysboks .lb-naeste{right:10px}
.lysboks .lb-luk:hover,.lysboks .lb-pil:hover{background:rgba(255,255,255,.25)}
.lysboks .lb-taeller{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);color:#fff;font-size:.85rem;opacity:.85}

.lysboks .lb-anmeld-knap{border:0;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:.78rem;padding:7px 13px;cursor:pointer}
.lysboks .lb-anmeld-knap:hover{background:rgba(255,255,255,.22)}
.lysboks .lb-anmeld{position:absolute;bottom:14px;right:14px;text-align:right}
.lysboks .lb-anmeld-valg{position:absolute;bottom:calc(100% + 8px);right:0;display:flex;flex-direction:column;gap:6px;min-width:190px}
.lysboks .lb-anmeld-valg[hidden]{display:none}
.lysboks .lb-anmeld-valg button{border:0;border-radius:8px;background:rgba(255,255,255,.92);color:#1c2833;font-size:.82rem;font-weight:600;padding:9px 14px;cursor:pointer}
.lysboks .lb-anmeld-valg button:hover{background:#fff}

/* Desktop-finpuds (sidst i filen → vinder cascade sikkert) */
@media(min-width:720px){
  /* Enkelt-kort-paneler fylder fuld bredde (ikke kun venstre kolonne) */
  #p-faelge, #p-afgifter, #p-elbil, #p-forsikring{grid-template-columns:1fr}
  /* Deres label/værdi-lister flyder i 2 kolonner så bredden udnyttes */
  #p-faelge .dl, #p-afgifter .dl, #p-elbil .dl{display:grid;grid-template-columns:1fr 1fr;gap:0 2.2rem}
  #p-faelge .dl>div, #p-afgifter .dl>div, #p-elbil .dl>div{align-items:start}
  /* Forsikringsselskab større i nøglekort på desktop (Brian) */
  .dny .kpi.fors .val{font-size:1.15rem}
}


/* Bilbogen: pant i nøglekort + fane */
.dny .kpi.gaeld .val{font-size:1.05rem}
.dny .kpi.gaeld.good .val{color:#2A8452}
.dny .kpi.gaeld.pant .val{color:#E6332A}
.pant-linje{display:block;font-weight:700;color:#242E34;font-size:.85rem;margin-top:4px}
.pant-kred{display:block;color:#5F6672;font-size:.8rem}
.bb-advarsel{background:rgba(230,51,42,.08);border:1px solid rgba(230,51,42,.35);border-radius:12px;padding:.9rem 1.1rem;margin-bottom:1.1rem}
.bb-advarsel b{color:#B3271E;font-size:.95rem;display:block;margin-bottom:.25rem}
.bb-advarsel p{color:#7a2620;font-size:.88rem;line-height:1.5;margin:0}
.bb-advarsel.bb-ok{background:rgba(103,192,142,.12);border-color:rgba(42,132,82,.35)}
.bb-advarsel.bb-ok b{color:#2A8452}
.bb-advarsel.bb-ok p{color:#28613f}
.bb-haeftelse{margin-bottom:1rem}
.bb-haeftelse h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:#0060B7;margin:0 0 .3rem}
.bb-haeftelse:last-of-type{margin-bottom:0}

/* cache-bump 1784049254 */
