/* Hjem bruker kirkens tokens, knapper og skrifter. Søket er sidens tyngdepunkt. */
.khj-flate, .khj-flate * { box-sizing:border-box; }
.khj-flate { max-width:1160px; margin:0 auto; padding:28px 24px 48px; }
.khj-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr); gap:40px; align-items:start; }
.khj-hoved { min-width:0; }
.khj-velkomst { margin:16px auto 30px; text-align:center; }
.khj-velkomst h2 { font:500 clamp(32px,4vw,48px)/1.1 var(--kirke-tittelskrift); letter-spacing:.01em; margin:10px 0; }
.khj-velkomst>p:last-child { color:var(--text-muted); font-size:15px; }
.khj-sokesone { width:100%; max-width:860px; margin-inline:auto; }
.khj-sokesone>.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.khj-sokefelt { display:flex; gap:12px; align-items:center; background:var(--surface); border:1px solid var(--line-soft); border-radius:999px; padding:9px 10px 9px 22px; min-height:66px; transition:border-color .18s,box-shadow .18s; }
.khj-sokefelt:focus-within { border-color:var(--primary); box-shadow:0 0 0 4px rgba(var(--primary-tint),.14); }
.khj-sokeikon { width:21px; height:21px; flex:none; color:var(--text-muted); }
.khj-sokefelt input { min-width:0; flex:1; width:100%; font:400 16px var(--kirke-skrift); background:transparent; color:var(--text); border:0; border-radius:0; padding:10px 0; outline:none; box-shadow:none; }
.khj-sokefelt input::placeholder { color:var(--text-muted); }
.khj-sokefelt input::-webkit-search-cancel-button { -webkit-appearance:none; }
.khj-sokesone>p:not(.sr-only) { color:var(--text-muted); font-size:12px; line-height:1.6; margin:12px 12px 0; text-align:center; }
.khj-forslag { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-bottom:18px; }
/* Hjemsøket er en navngitt feltvariant: Orglabs avrundede søkelinje og
   forslagspiller, med Churchlabs eksisterende token- og tastaturkontrakt. */
.khj-forslagsknapp { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:40px; padding:8px 15px; border:1px solid var(--border); border-radius:999px; background:var(--surface); color:var(--ink-soft); font:400 12px/1.4 var(--kirke-skrift); cursor:pointer; transition:background .18s,border-color .18s,transform .18s; }
.khj-forslagsknapp svg { width:16px; height:16px; flex:none; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.khj-forslagsknapp:hover { border-color:var(--primary); background:var(--primary-pill); color:var(--primary-dark-adaptiv); transform:translateY(-1px); }
.khj-forslagsknapp:active { transform:translateY(0); background:var(--bg2); }
.khj-forslagsknapp:focus-visible,.khj-tom:focus-visible { outline:2px solid var(--primary); outline-offset:3px; }
.khj-tom { flex:0 0 32px; width:32px; height:32px; border:0; border-radius:50%; background:transparent; color:var(--text-muted); font:400 23px/1 var(--kirke-skrift); cursor:pointer; }
.khj-tom:hover { background:var(--primary-pill); color:var(--text); }
.khj-tom:active { background:var(--bg2); }
.khj-forslagsknapp[hidden],.khj-tom[hidden] { display:none; }
.khj-treff { margin-top:20px; background:var(--surface); border:1px solid var(--border); border-radius:14px; overflow:auto; max-height:360px; }
.khj-resultat { display:flex; align-items:center; gap:14px; width:100%; border:0; border-bottom:1px solid var(--border); background:transparent; color:var(--text); padding:16px; text-align:left; cursor:pointer; font-family:var(--kirke-skrift); }
.khj-resultat:last-child { border-bottom:0; }
.khj-resultat:hover,.khj-samling:hover { background:var(--primary-pill); }
.khj-resultat:active,.khj-samling:active { background:var(--bg2); }
.khj-resultat strong,.khj-samling>span>strong { display:block; font-weight:600; font-size:14px; }
.khj-resultat small,.khj-samling small { display:block; color:var(--text-muted); font-size:12px; line-height:1.5; margin-top:5px; }
.khj-symbol { display:grid; place-items:center; flex:none; width:34px; height:34px; border-radius:10px; background:var(--primary-pill); color:var(--primary-dark-adaptiv); font-size:22px; }
.khj-type { margin-left:auto; font-size:11px; color:var(--text-muted); }
.khj-ingen { padding:18px; font-size:14px; }
.khj-arbeidsflate { min-width:0; padding-left:28px; border-left:1px solid var(--border); }
.khj-hoved .kmv-innhold { grid-template-columns:1fr; gap:24px; }
.khj-neste { margin-top:32px; padding-top:24px; border-top:1px solid var(--border); }
.khj-arbeidsflate h3 { font:500 25px/1.2 var(--kirke-tittelskrift); margin:8px 0 20px; }
.khj-neste>header { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.khj-snarveier { min-width:0; }
.khj-snarveier .khj-resultat { padding:16px 0; }
.khj-snarveier .khj-type { display:none; }
.khj-tips { font-size:12px; line-height:1.7; color:var(--text-muted); margin-top:24px; }
.khj-venter { min-height:180px; padding:24px 0; color:var(--text-muted); font-size:14px; line-height:1.7; }
.khj-samling { display:flex; align-items:center; gap:18px; width:100%; padding:20px 12px; border:0; border-bottom:1px solid var(--border); color:var(--text); background:transparent; text-align:left; font-family:var(--kirke-skrift); cursor:pointer; }
.khj-samling>span:last-child { margin-left:auto; }
.khj-samling time { display:grid; place-items:center; min-width:58px; padding:10px; border-radius:12px; background:var(--primary-pill); color:var(--primary-dark-adaptiv); }
.khj-samling time strong { font:500 28px/1 var(--kirke-tittelskrift); }
.khj-samling time span { font-size:11px; margin-top:5px; }
@media(max-width:760px) { .khj-flate {padding:20px 12px;} .khj-velkomst {margin:12px auto 24px;} .khj-sokefelt {padding:7px 8px 7px 16px;gap:8px;min-height:60px;} .khj-sokeikon {display:none;} .khj-sokefelt input {font-size:16px;} .khj-forslag {gap:6px;margin-bottom:14px;} .khj-forslagsknapp {padding:8px 11px;min-height:44px;}  .khj-type {display:none;} }
@media(prefers-reduced-motion:reduce) { .khj-sokefelt,.khj-forslagsknapp {transition:none;} .khj-forslagsknapp:hover {transform:none;} }

.khj-resultat:focus-visible, .khj-samling:focus-visible { outline:2px solid var(--primary); outline-offset:-3px; }

@media(max-width:960px) { .khj-layout {grid-template-columns:1fr;gap:32px;} .khj-arbeidsflate {border-left:0;border-top:1px solid var(--border);padding:24px 0 0;} }

/* Personlig tjeneste: turnusen og beskjedene deler overskrift, men laster hver for seg. */
.khj-flate {max-width:1360px}
.khj-layout {grid-template-columns:minmax(0,2.2fr) minmax(280px,1fr)}
.khj-tjeneste {margin-top:36px;padding-top:24px;border-top:1px solid var(--border)}
.khj-tjeneste>h2 {text-align:center;font:500 30px/1.2 var(--kirke-tittelskrift);margin:0 0 28px}
.khj-tjenestekolonner {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
.khj-flate .khj-tjenestekolonner .kmv-hjem {margin:0;padding:0;border:0;min-width:0}
.khj-tjenestekolonner .kmv-hode h3,.khj-beskjeder>header h3 {font:500 22px/1.2 var(--kirke-tittelskrift);margin:0 0 8px}
.khj-tjenestekolonner .kmv-hode {gap:8px}
.khj-tjenestekolonner .kmv-hode>.btn {padding-inline:12px;flex-shrink:0}
.khj-beskjeder {min-width:0;border-left:1px solid var(--border);padding-left:24px}
.khj-beskjeder>header>p {margin:0;font-size:13px;line-height:1.5;color:var(--text-muted)}
.khj-beskjed {padding:18px 0;border-bottom:1px solid var(--border)}
.khj-beskjed h4 {font:600 14px/1.5 var(--kirke-skrift);margin:6px 0;overflow-wrap:anywhere}
.khj-beskjedmeta,.khj-beskjedsted {font-size:12px;line-height:1.5;color:var(--text-muted);margin:4px 0;overflow-wrap:anywhere}
.khj-beskjed summary {font-size:13px;cursor:pointer;color:var(--primary-dark-adaptiv);padding:8px 0}
.khj-beskjed summary:hover {color:var(--text)}
.khj-beskjed summary:focus-visible {outline:2px solid var(--primary);outline-offset:3px}
.khj-beskjedtekst {white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.6;margin:4px 0}
.khj-beskjedstatus {font-size:13px;line-height:1.6;color:var(--text-muted);margin:16px 0}
@media(max-width:960px) {.khj-layout {grid-template-columns:1fr}}
@media(max-width:600px) {.khj-tjenestekolonner {grid-template-columns:1fr;gap:24px}.khj-beskjeder {border-left:0;border-top:1px solid var(--border);padding:20px 0 0}}

/* Neste gudstjenester (25.09.2026): «om 2 dager» og dekningsstolpen fra
   gudstjenesteflaten (.kgo-dekningsbar, samme terskler), og Eventlabs
   hover-språk — pila flytter seg, raden kommer inn etter tur. */
.khj-samling>span:nth-child(2) { flex:1; min-width:0; }
.khj-dekning { display:flex; align-items:center; gap:10px; margin-top:9px; }
.khj-dekning .kgo-dekningsbar { flex:0 1 150px; margin:0; }
.khj-dekning em { font-style:normal; font-size:11px; color:var(--text-muted); white-space:nowrap; }
.khj-samling>span:last-child { transition:transform .15s ease, color .15s ease; }
.khj-samling:hover>span:last-child { transform:translate(2px,-2px); color:var(--primary-dark-adaptiv); }
.khj-samling { animation:evoInn .45s cubic-bezier(.2,.7,.3,1) both; }
.khj-samling:nth-child(2) { animation-delay:.06s; }
.khj-samling:nth-child(3) { animation-delay:.12s; }
@media(prefers-reduced-motion:reduce) { .khj-samling { animation:none; } .khj-samling>span:last-child { transition:none; } }
