/* boelge1.css: kun de fire bølge 1-sider (/terminsberegner/, /babyudstyr/, /gaver/, /prisindeks/). Bruger tokens fra style.css. */
.krummer{display:flex; flex-wrap:wrap; align-items:center; gap:2px 8px; font-size:.9rem; color:var(--ink-3); margin:0 0 14px}
.krummer a{color:var(--ink-2); display:inline-flex; align-items:center; min-height:44px}
.krummer [aria-current]{color:var(--ink-3); font-weight:700}
.b1-hub .lede{max-width:760px}
.b1-hub .updated{margin:6px 0 0}
.b1 h2{font-size:clamp(1.5rem,3.4vw,2rem); margin-top:1.6em}
.b1 h2:first-child{margin-top:0}
.b1 h3{font-size:1.15rem; margin-top:1.4em}
.b1 p, .b1 li{max-width:76ch}
.b1 .wrap.bred p, .b1 .wrap.bred li{max-width:none}

/* Terminsberegneren */
.tf{background:var(--surface); border-radius:var(--r-lg); padding:clamp(16px,3vw,28px); border:2px solid var(--line)}
.tf fieldset{border:0; margin:0 0 14px; padding:0; min-width:0}
.tf legend{font-family:var(--font-head); font-weight:700; font-size:1.1rem; padding:0; margin-bottom:8px}
.valg-r{display:flex; flex-wrap:wrap; gap:8px}
.valg-r label, .ud-ch{position:relative; display:flex; align-items:center; min-height:48px; padding:6px 16px; border:2px solid var(--line-2); border-radius:24px; background:var(--surface-2); font-weight:700; cursor:pointer}
.valg-r input{position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer}
.valg-r label:has(input:checked){border-color:var(--ink); background:var(--accent-soft)}
.valg-r label:has(input:focus-visible), .ud-ch:has(input:focus-visible){outline:3px solid var(--accent-ink); outline-offset:2px}
.tf-felt{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; margin-bottom:14px}
.tf-felt[hidden]{display:none}
.tf-felt label{display:flex; flex-direction:column; gap:4px; font-weight:700; font-size:.95rem}
.tf-felt input, .tf-felt select, .ud-termin input{min-height:48px; border-radius:12px; border:2px solid var(--line-2); padding:0 12px; font:inherit; background:#fff; color:var(--ink); width:100%; box-sizing:border-box}
.tf-fejl{background:var(--warn-soft); color:var(--warn-ink); border-radius:12px; padding:10px 14px; margin:12px 0 0; font-weight:700}
.tf-svar{margin-top:18px; background:var(--accent-soft); border-radius:var(--r-lg); padding:clamp(16px,3vw,26px)}
.tf-svar[hidden]{display:none}
.tf-stor{margin:0 0 12px; display:flex; flex-direction:column; gap:2px}
.tf-stor span{font-weight:800; font-size:.85rem; letter-spacing:.06em; text-transform:uppercase; color:var(--accent-ink)}
.tf-stor b{font-family:var(--font-head); font-size:clamp(1.6rem,5vw,2.4rem); line-height:1.1}
.tf-svar dl{display:grid; grid-template-columns:minmax(0,1fr); gap:2px 16px; margin:0 0 14px}
.tf-svar dt{font-weight:800; font-size:.88rem; color:var(--ink-3); margin-top:8px}
.tf-svar dd{margin:0; font-weight:600; overflow-wrap:anywhere}
@media(min-width:700px){.tf-svar dl{grid-template-columns:200px minmax(0,1fr)} .tf-svar dt{margin-top:0}}
.tl li.naeste{background:var(--accent-soft); outline:2px solid var(--accent)}
.privat{background:var(--mint-soft); color:var(--mint-ink); border-radius:var(--r-md); padding:12px 14px; font-weight:600; margin:14px 0}
/* Årstiderne på /terminsberegner/ (termin.js markerer jeres) */
.aar{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:16px; margin-top:16px}
.aar-kort{background:var(--surface); border-radius:var(--r-lg); padding:16px; border:2px solid var(--line); min-width:0}
.aar-kort.jer{border-color:var(--accent); background:var(--accent-soft)}
.aar-kort h3{margin:0 0 2px}
.aar-mdr{display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin:0 0 10px; font-size:.9rem; color:var(--ink-3)}
.aar-mark[hidden], .aar-jer[hidden]{display:none}
.aar-kort ul{margin:0; padding-left:1.1em}
.aar-kort li{margin:0 0 10px; overflow-wrap:anywhere}
.aar-kilde{font-size:.88rem; color:var(--ink-3)}
.aar-jer{background:var(--accent-soft); border-radius:var(--r-md); padding:12px 14px; font-weight:600; margin:14px 0 0}

/* Tjekliste */
.ud-termin{display:flex; flex-wrap:wrap; gap:12px; align-items:flex-end; background:var(--surface); border-radius:var(--r-lg); padding:16px; margin:0 0 18px}
.ud-termin label{display:flex; flex-direction:column; gap:4px; font-weight:700; font-size:.95rem; flex:1 1 220px}
.ud-tal{font-weight:800; margin:0}
.ud-liste{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px}
.ud{background:var(--surface); border-radius:var(--r-lg); padding:16px; border:2px solid var(--line)}
.ud.klaret{opacity:.7; border-color:var(--mint)}
.ud-ch{border:0; background:transparent; padding:0; min-height:48px; border-radius:12px; justify-content:flex-start; gap:12px; width:100%}
.ud-ch input{position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer}
.ud-ch .box{flex:none; width:28px; height:28px; border-radius:8px; border:2px solid var(--ink); background:#fff; display:grid; place-items:center}
.ud-ch input:checked + .box{background:var(--mint-ink); border-color:var(--mint-ink)}
.ud-ch input:checked + .box::after{content:""; width:7px; height:13px; border:solid #fff; border-width:0 3px 3px 0; transform:rotate(45deg) translate(-1px,-1px)}
.ud-ch .ud-navn{font-family:var(--font-head); font-weight:700; font-size:1.1rem; line-height:1.25}
.ud-meta{display:flex; flex-wrap:wrap; gap:6px; margin:4px 0 8px; padding:0}
.ud-note{margin:0 0 8px; color:var(--ink-2)}
.ud-pris{font-size:.92rem; color:var(--ink-2); margin:8px 0 0}
.chip.forbehold{background:var(--warn-soft); color:var(--warn-ink)}
.ud-brugt{margin:0 0 8px; color:var(--ink-2)}
.ud-brugt b{color:var(--ink)}

/* Gaver */
.gaver-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px; margin-top:16px}
.gave{background:var(--surface); border-radius:var(--r-lg); padding:16px; display:flex; flex-direction:column; border:2px solid var(--line); min-width:0}
.gave h3{margin:0 0 4px; font-size:1.05rem; overflow-wrap:anywhere}
.gave .gave-meta{margin:0 0 8px; font-size:.85rem; color:var(--ink-3)}
.gave .gave-hvorfor{margin:0 0 12px; color:var(--ink-2); font-size:.95rem}
.gave .buy{margin-top:auto}
.gave .buy .btn{max-width:100%; white-space:normal; text-align:center}
.anled{scroll-margin-top:16px; margin-top:44px}
.anled h2{margin-top:0}
.raad{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px; margin:16px 0 0}
.raad > div{background:var(--surface); border-radius:var(--r-md); padding:14px 16px}
.raad b{display:block; font-family:var(--font-head); margin-bottom:4px}

/* Prisindeks */
.tabelvaerge{overflow-x:auto; border-radius:var(--r-md); background:var(--surface); border:2px solid var(--line)}
.pi{border-collapse:collapse; width:100%; min-width:640px}
.pi th, .pi td{padding:10px 12px; text-align:right; border-bottom:1px solid var(--line); white-space:nowrap}
.pi th:first-child, .pi td:first-child{text-align:left; white-space:normal}
.pi thead th{font-size:.85rem; color:var(--ink-3); background:var(--surface-2)}
.pi tbody th{font-family:var(--font-head)}
.pi .pi-for-faa{text-align:left; white-space:normal; color:var(--ink-3)}
/* Mobil: hver kategori bliver et kort, så alle tal kan ses uden at rulle sidelæns (review U18) */
@media(max-width:640px){
  .tabelvaerge{overflow:visible; background:transparent; border:0}
  .pi{min-width:0; display:block}
  .pi thead{display:none}
  .pi tbody{display:flex; flex-direction:column; gap:12px}
  .pi tr{display:block; background:var(--surface); border:2px solid var(--line); border-radius:var(--r-md); padding:12px 14px}
  .pi th, .pi td{display:block}
  .pi tbody th{padding:0 0 6px; border:0; text-align:left; font-size:1.1rem}
  .pi td{display:flex; justify-content:space-between; gap:12px; padding:5px 0; border:0; border-top:1px solid var(--line); text-align:right}
  .pi td::before{content:attr(data-l); color:var(--ink-3); font-weight:700; text-align:left}
  .pi .pi-for-faa{display:block; text-align:left}
  .pi .pi-for-faa::before{display:block}
}
@media(max-width:560px){
  .tf-felt{grid-template-columns:minmax(0,1fr)}
  .valg-r label{width:100%}
}
.kilder{font-size:.9rem; color:var(--ink-2); padding-left:1.2em}
.kilder li{margin-bottom:6px; overflow-wrap:anywhere}
.til-puf{display:flex; flex-wrap:wrap; gap:12px; margin:16px 0 0}
