/* ====================================================================
   Vandrekalenderen — stilark
   Mobil først (NFR-02). Kalenderen er tabel-først og uden billeder,
   fordi det hurtige overblik er hele pointen (FR-01, FR-02).
   ==================================================================== */

:root {
  --skov-900:#16281d; --skov-800:#1d3626; --skov-700:#264a33; --skov-600:#35634a;
  --mos-500:#4e7d59;  --mos-400:#6b9a74;
  --salvie-200:#cddcc7; --salvie-100:#e4ede0;

  --sand-50:#faf8f4; --sand-100:#f3efe6; --sand-200:#e8e0d0;
  --ler-600:#ab5f39; --ler-700:#8f4b2c;

  --blaek-900:#1a201c; --blaek-700:#333f39; --blaek-500:#63706a; --blaek-400:#8a958e;
  --linje:#ded6c6; --linje-blod:#ece5d8;

  /* Statusfarver — samme signaturforklaring som den gamle kalender */
  --afholdes:#1f9d4d; --aendret:#e0a91b; --aflyst:#d1342f;

  --r-xs:4px; --r-sm:7px; --r-md:12px; --r-pille:999px;
  --skygge-sm:0 1px 2px rgba(26,32,28,.06), 0 2px 6px rgba(26,32,28,.05);
  --skygge-md:0 2px 6px rgba(26,32,28,.07), 0 10px 22px rgba(26,32,28,.07);

  --serif:Georgia,'Iowan Old Style','Palatino Linotype',serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --bredde:1240px;
}

*,*::before,*::after{box-sizing:border-box}
/* hidden skal altid skjule — også når en klasse giver elementet display:flex */
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--sans);font-size:16px;line-height:1.55;
  color:var(--blaek-700);background:var(--sand-50);-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;color:var(--skov-900);
  line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(1.6rem,3.4vw,2.3rem)}
h2{font-size:clamp(1.25rem,2.2vw,1.6rem)}
h3{font-size:1.15rem}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
a{color:var(--skov-700);text-underline-offset:3px}
a:hover{color:var(--ler-600)}
:focus-visible{outline:3px solid var(--ler-600);outline-offset:2px;border-radius:3px}
img{max-width:100%;height:auto}

.ramme{width:100%;max-width:var(--bredde);margin-inline:auto;padding-inline:18px}
.ramme--smal{max-width:820px}
.sektion{padding-block:28px}
.skjult{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Sidehoved ---------- */
.top{background:var(--skov-800);color:#fff}
.top a{color:#fff;text-decoration:none}
.top__inder{display:flex;align-items:center;gap:16px;min-height:62px;flex-wrap:wrap}
.maerke{display:flex;align-items:center;gap:10px;margin-right:auto;padding:8px 0}
.maerke svg{width:34px;height:34px;flex:none}
.maerke b{font-family:var(--serif);font-weight:400;font-size:1.08rem;display:block;line-height:1.15}
.maerke span{font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--salvie-200);display:block}
.menu{display:flex;gap:2px;flex-wrap:wrap}
.menu a{padding:8px 13px;border-radius:var(--r-pille);font-size:.93rem}
.menu a:hover{background:rgba(255,255,255,.12)}
.menu a[aria-current=page]{background:var(--mos-500)}
.top__bruger{font-size:.85rem;color:var(--salvie-200);display:flex;align-items:center;gap:12px}

/* ---------- Sidefod ---------- */
.fod{background:var(--skov-900);color:var(--salvie-200);padding-block:30px 22px;margin-top:40px}
.fod a{color:#fff}
.fod__gitter{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.fod h4{color:#fff;font-family:var(--sans);font-size:.75rem;letter-spacing:.1em;
  text-transform:uppercase;font-weight:700;margin-bottom:10px}
.fod ul{list-style:none;padding:0;margin:0;font-size:.9rem}
.fod li{margin-bottom:7px}
.fod__note{margin-top:26px;padding-top:16px;border-top:1px solid rgba(255,255,255,.13);
  font-size:.8rem;color:rgba(255,255,255,.45);display:flex;flex-wrap:wrap;gap:8px 22px;
  justify-content:space-between}

/* ---------- Knapper og felter ---------- */
.knap{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:.92rem;
  font-weight:600;padding:9px 17px;border-radius:var(--r-pille);border:1.5px solid transparent;
  cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s}
.knap--primaer{background:var(--skov-700);color:#fff}
.knap--primaer:hover{background:var(--skov-800);color:#fff}
.knap--ler{background:var(--ler-600);color:#fff}
.knap--ler:hover{background:var(--ler-700);color:#fff}
.knap--tom{border-color:var(--linje);color:var(--skov-700);background:#fff}
.knap--tom:hover{border-color:var(--skov-700);background:var(--salvie-100)}
.knap--lille{padding:6px 13px;font-size:.85rem}
.knap--bred{width:100%;justify-content:center}

.felt,.vaelg{width:100%;font:inherit;font-size:.93rem;color:var(--blaek-900);background:#fff;
  border:1.5px solid var(--linje);border-radius:var(--r-sm);padding:9px 11px}
.vaelg{appearance:none;padding-right:32px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%2363706a' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 11px center;background-size:11px}
.felt:focus,.vaelg:focus{outline:none;border-color:var(--mos-500);
  box-shadow:0 0 0 3px rgba(78,125,89,.16)}
label.maerkat{display:block;font-size:.73rem;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;color:var(--blaek-500);margin-bottom:5px}

/* ---------- Beskeder ---------- */
.besked{padding:11px 15px;border-radius:var(--r-sm);margin-bottom:14px;font-size:.92rem;
  border-left:4px solid}
.besked--ok{background:#e8f4ea;border-color:var(--afholdes);color:#14532d}
.besked--fejl{background:#fdeceb;border-color:var(--aflyst);color:#7f1d1d}
.besked--advarsel{background:#fdf4e0;border-color:var(--aendret);color:#78440a}

/* ---------- Forsidebilledet ----------
   Billedet skal vise hvad siden handler om, og samtidig bære
   søgefeltet — så det arbejder i stedet for bare at pynte. */
.forsidebillede{position:relative;isolation:isolate;
  min-height:clamp(370px,44vw,480px);display:flex;align-items:flex-end;
  padding-block:46px 30px;overflow:hidden;background:var(--skov-900)}
.forsidebillede img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 58%;z-index:-2}

/* Karusel: billederne ligger oven på hinanden, og kun ét er fremme.
   Uden JavaScript står det første med .er-fremme fra serveren, og de
   øvrige bliver liggende usynligt — siden ser ud som før. */
.forsidebillede__foto{opacity:0;transition:opacity .9s ease}
.forsidebillede__foto.er-fremme{opacity:1}

/* Betjeningen ligger øverst til højre. Nederst ville den lande oven i
   "Næste tur"-bjælken, som er bredere på nogle skærme end på andre. */
.karrusel{position:absolute;right:20px;top:18px;z-index:2;
  display:flex;align-items:center;gap:6px}
.karrusel button{display:grid;place-items:center;width:34px;height:34px;padding:0;
  border:1px solid rgba(255,255,255,.34);border-radius:50%;cursor:pointer;
  background:rgba(12,25,17,.42);color:#fff;backdrop-filter:blur(6px);
  transition:background .15s,border-color .15s}
.karrusel button:hover{background:rgba(12,25,17,.72);border-color:rgba(255,255,255,.6)}
.karrusel button:focus-visible{outline:3px solid var(--mos-400);outline-offset:2px}
.karrusel svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round}

.karrusel__prikker{display:flex;align-items:center;gap:7px;margin:0 5px}
/* Samme vægt som .karrusel button ovenfor, ellers vinder den og
   prikkerne bliver til runde knapper på 34 punkter. */
.karrusel button.karrusel__prik{width:9px;height:9px;border-radius:50%;
  border:1px solid rgba(255,255,255,.6);background:transparent;
  backdrop-filter:none}
.karrusel button.karrusel__prik:hover{background:rgba(255,255,255,.55)}
.karrusel button.karrusel__prik[aria-current="true"]{background:#fff;border-color:#fff}

@media (max-width:620px){
  .karrusel{right:12px;top:12px}
}

/* Den, der har slået bevægelse fra i systemet, skal ikke have et
   billede, der skifter af sig selv. Skiftet sker kun ved klik, og
   uden overgang. */
@media (prefers-reduced-motion:reduce){
  .forsidebillede__foto{transition:none}
}
/* Mørk bund til venstre, så overskriften kan læses uanset motivet */
.forsidebillede__slør{position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(100deg, rgba(12,25,17,.90) 0%, rgba(12,25,17,.72) 38%,
                    rgba(12,25,17,.30) 68%, rgba(12,25,17,.12) 100%),
    linear-gradient(to top, rgba(12,25,17,.55), transparent 45%)}
.forsidebillede__indhold{position:relative;width:100%}
.forsidebillede h1{color:#fff;margin:0 0 .32em;max-width:17ch;
  font-size:clamp(2rem,5.2vw,3.4rem);
  text-shadow:0 2px 18px rgba(0,0,0,.38)}
.forsidebillede__manchet{color:rgba(255,255,255,.9);max-width:52ch;margin:0 0 22px;
  font-size:clamp(1rem,1.5vw,1.12rem);line-height:1.5;
  text-shadow:0 1px 10px rgba(0,0,0,.42)}

/* Søgefeltet ligger på billedet — første handling er at finde en tur */
.hurtigsoeg{display:flex;gap:9px;flex-wrap:wrap;max-width:560px}
.hurtigsoeg input{flex:1 1 260px;min-width:0;font:inherit;font-size:1rem;
  padding:13px 18px;border:0;border-radius:var(--r-pille);background:#fff;
  color:var(--blaek-900);box-shadow:0 6px 22px rgba(0,0,0,.22)}
.hurtigsoeg input:focus{outline:none;box-shadow:0 0 0 3px var(--mos-400),0 6px 22px rgba(0,0,0,.22)}
.hurtigsoeg .knap{padding:13px 26px;font-size:1rem;box-shadow:0 6px 22px rgba(0,0,0,.22)}

.naestebjaelke{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:5px 12px;
  margin-top:22px;padding:10px 18px;border-radius:var(--r-pille);
  background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(6px);color:#fff;text-decoration:none;font-size:.92rem}
.naestebjaelke:hover{background:rgba(255,255,255,.21);color:#fff}
.naestebjaelke__hat{font-size:.67rem;letter-spacing:.13em;text-transform:uppercase;
  font-weight:700;color:var(--salvie-200)}
.naestebjaelke b{font-family:var(--serif);font-weight:400;font-size:1.04rem}
.naestebjaelke span:not(.naestebjaelke__hat){color:rgba(255,255,255,.82)}

@media (max-width:620px){
  .forsidebillede{min-height:0;padding-block:34px 26px}
  .forsidebillede__slør{background:linear-gradient(to top,
    rgba(12,25,17,.93) 0%, rgba(12,25,17,.78) 55%, rgba(12,25,17,.55) 100%)}
  .hurtigsoeg .knap{flex:1 1 100%;justify-content:center}
}

/* Overskriften over selve listen */
.listehoved{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline;
  justify-content:space-between;margin-bottom:14px}
.listehoved h2{margin:0}
.listehoved b{color:var(--skov-800)}

/* ---------- Signaturforklaring ---------- */
.signatur{display:flex;flex-wrap:wrap;gap:6px 20px;
  padding:0 0 14px;font-size:.84rem;font-weight:600;color:var(--blaek-500)}
.signatur span{display:inline-flex;align-items:center;gap:7px}
.signatur i{width:5px;height:16px;border-radius:2px;display:inline-block}
.sf-afholdes{background:var(--afholdes)}
.sf-aendret{background:var(--aendret)}
.sf-aflyst{background:var(--aflyst)}

/* ---------- Kalenderens værktøjslinje ---------- */
/* Værktøjslinjen er en linjal under hovedet, ikke endnu et svævende
   kort — så bliver selve turlisten sidens tyngdepunkt. */
.vaerktoej{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:end;
  padding:0 0 16px;margin-bottom:14px;border-bottom:1px solid var(--linje-blod)}
.vaerktoej__felt{flex:1 1 190px;min-width:0}
.vaerktoej__felt--soeg{flex:2 1 280px}
/* Kalenderens filtre står i et fast gitter, så felterne flugter:
   søgning, landsdel og forening øverst; stempel, datoer og antal under.
   Med fleksbokse endte "Til dato" alene på en linje i fuld bredde. */
.kalfiltre{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 18px;align-items:end}
.kalfiltre .vaerktoej__felt--soeg{grid-column:span 2}
.kalfiltre .vaerktoej__felt{min-width:0}
/* Browserens datovælger er et par punkter højere end de andre felter.
   Samme faste højde overalt, så etiketterne flugter. */
.kalfiltre .felt,.kalfiltre .vaelg{height:43px;line-height:1.2}
.kalfiltre input[type=date]{padding-block:0}
.kalfiltre noscript{grid-column:1/-1}
@media (max-width:860px){
  .kalfiltre{grid-template-columns:1fr 1fr}
  .kalfiltre .vaerktoej__felt--soeg{grid-column:1/-1}
  /* De to datoer står sammen på deres egen række */
  .kalfiltre .vaerktoej__felt--linjer{order:1}
  .kalfiltre .vaerktoej__felt--dato{order:2}
}

/* Værktøjslinjen under filtrene: nær mig til venstre, udskrift til højre */
.kalhandlinger{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:flex-start;
  justify-content:space-between;margin-bottom:14px}
.kalhandlinger .naermig{margin-bottom:0;flex:1 1 320px}
.udskriftknapper{display:flex;gap:8px;flex-wrap:wrap}
.udskriftknapper .knap svg{flex:none}
@media (max-width:620px){
  .udskriftknapper{flex:1 1 100%}
  .udskriftknapper .knap{flex:1 1 0;justify-content:center}
}
.genveje{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px;align-items:center}
.genveje__maerkat{font-size:.75rem;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;color:var(--blaek-500);margin-right:4px}
.brik{font:inherit;font-size:.86rem;font-weight:600;padding:6px 14px;border-radius:var(--r-pille);
  border:1.5px solid var(--linje);background:#fff;color:var(--blaek-700);cursor:pointer}
.brik:hover{border-color:var(--mos-400);color:var(--skov-800)}
.brik[aria-pressed=true]{background:var(--skov-700);border-color:var(--skov-700);color:#fff}

.resultatlinje{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;
  justify-content:space-between;margin-bottom:10px;font-size:.9rem;color:var(--blaek-500)}
.resultatlinje b{color:var(--skov-800);font-family:var(--serif);font-size:1.1rem}

/* ---------- Kalendertabellen ---------- */
.kal{width:100%;border-collapse:collapse;background:#fff;
  border:1px solid var(--linje-blod);border-radius:var(--r-md);overflow:hidden;
  box-shadow:var(--skygge-sm)}
/* Status som farvet kant hele vejen ned ad rækken — synlig på afstand,
   også for den der bare skimmer efter aflysninger. */
.kal tbody tr[data-dato]{border-left:4px solid transparent}
.kal tbody tr:has(.st-afholdes){border-left-color:var(--afholdes)}
.kal tbody tr:has(.st-aendret){border-left-color:var(--aendret)}
.kal tbody tr:has(.st-aflyst){border-left-color:var(--aflyst)}
.kal thead th{
  text-align:left;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--blaek-500);font-weight:700;padding:11px 14px;
  background:var(--sand-100);border-bottom:2px solid var(--linje);white-space:nowrap}
.kal thead th.sorterbar{cursor:pointer;user-select:none}
.kal thead th.sorterbar:hover{color:var(--skov-800)}
.kal thead th .pil{opacity:.35;margin-left:5px;font-size:.85em}
.kal thead th[aria-sort] .pil{opacity:1;color:var(--ler-600)}
.kal tbody tr{border-bottom:1px solid var(--linje-blod)}
.kal tbody tr:last-child{border-bottom:0}
.kal tbody tr:hover{background:var(--sand-100)}
.kal td{padding:11px 14px;vertical-align:top}
.kal .c-dato{white-space:nowrap;width:1%;padding-right:4px}

/* Datoen som et afrevet kalenderblad: dagen er det, man scanner efter,
   så den får størrelsen — ikke en talrække i regnearksformat. */
.datoblad{display:grid;grid-template-columns:auto auto;gap:0 8px;
  align-items:baseline;min-width:74px}
.datoblad b{grid-row:1;font-family:var(--serif);font-size:1.7rem;font-weight:400;
  color:var(--skov-800);line-height:1;font-variant-numeric:tabular-nums}
.datoblad i{grid-row:1;font-style:normal;font-size:.9rem;font-weight:600;
  color:var(--skov-700)}
.datoblad em{grid-row:2;grid-column:1/-1;font-style:normal;font-size:.76rem;
  color:var(--blaek-500);margin-top:1px}

/* Månedsskel — indsættes af kalender.js, så de følger filtrering og sortering */
.kal__skel th{background:var(--sand-100);border-top:1px solid var(--linje);
  border-bottom:1px solid var(--linje);padding:7px 14px;text-align:left;
  font-family:var(--serif);font-weight:400;font-size:.95rem;color:var(--skov-700);
  text-transform:capitalize;letter-spacing:.01em}
.kal tbody tr.kal__skel:hover{background:var(--sand-100)}
.kal .c-forening{width:26%}
.kal .c-forening b{display:block;font-weight:500;color:var(--blaek-900)}
.kal .c-forening span{font-size:.83rem;color:var(--blaek-500)}

.tur__navn{display:flex;align-items:flex-start;gap:9px;text-decoration:none;color:inherit;
  font-family:var(--serif);font-weight:400;font-size:1.12rem;line-height:1.25}
.tur__navn:hover{color:var(--ler-600)}
/* Prikken er nu overflødig ved siden af rækkens kantfarve */
.tur__status{display:none}
.st-afholdes{background:var(--afholdes)}
.st-aendret{background:var(--aendret)}
.st-aflyst{background:var(--aflyst)}
.tur__sted{font-size:.87rem;color:var(--blaek-500);margin-top:2px}
.tur__sted .adskil{color:var(--blaek-400);margin:0 5px}
.tur__maerker{display:inline-flex;gap:5px;margin-left:6px;vertical-align:middle}

.maerkat-lille{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.04em;
  padding:2px 7px;border-radius:var(--r-pille);background:var(--salvie-100);color:var(--skov-800)}
.maerkat-lille--aflyst{background:#fbe3e2;color:#7f1d1d}
.maerkat-lille--aendret{background:#fdf1d8;color:#78440a}
.maerkat-lille--fil{background:var(--sand-200);color:var(--blaek-700)}

/* Mobil: tabellen bliver til kort */
@media (max-width:720px){
  .kal,.kal tbody,.kal tr,.kal td{display:block;width:100%}
  .kal thead{display:none}
  .kal{border:0;background:transparent;box-shadow:none}
  .kal tbody tr{background:#fff;border:1px solid var(--linje-blod);border-radius:var(--r-md);
    margin-bottom:9px;padding:12px 14px;box-shadow:var(--skygge-sm)}
  .kal td{padding:0;border:0}
  .kal .c-dato{margin-bottom:5px}
  /* Datobladet lægger sig på én linje i kortvisningen */
  .datoblad{display:flex;align-items:baseline;gap:6px;min-width:0}
  .datoblad b{font-size:1.3rem}
  .datoblad i{font-size:.85rem}
  .datoblad em{font-size:.78rem}
  /* Månedsskellet bliver en overskrift mellem kortene, ikke et kort */
  .kal tbody tr.kal__skel{background:transparent;border:0;box-shadow:none;
    padding:14px 2px 4px;margin:0}
  .kal__skel th{display:block;background:transparent;border:0;border-bottom:1.5px solid var(--linje);
    padding:0 0 5px;font-size:1.05rem}
  .kal .c-forening{margin-top:8px;padding-top:8px;border-top:1px solid var(--linje-blod);width:auto}
  .kal .c-forening b{display:inline}
  .kal .c-forening span{display:inline;margin-left:6px}
}

/* ---------- Sideskift ---------- */
.sideskift{display:flex;gap:6px;justify-content:center;align-items:center;
  margin-top:20px;flex-wrap:wrap}
.sideskift button{font:inherit;font-size:.88rem;min-width:36px;padding:7px 11px;
  border:1.5px solid var(--linje);background:#fff;border-radius:var(--r-sm);cursor:pointer}
.sideskift button[aria-current=true]{background:var(--skov-700);border-color:var(--skov-700);color:#fff}
.sideskift button:disabled{opacity:.4;cursor:default}

/* ---------- Tom tilstand ---------- */
.tom{text-align:center;padding:52px 20px;border:1.5px dashed var(--linje);
  border-radius:var(--r-md);color:var(--blaek-500);background:#fff}

/* ---------- Turdetalje ---------- */
.detalje{display:grid;gap:22px;grid-template-columns:1fr 340px;align-items:start}
@media (max-width:900px){.detalje{grid-template-columns:1fr}}
.kort-panel{background:#fff;border:1px solid var(--linje-blod);border-radius:var(--r-md);
  padding:20px;box-shadow:var(--skygge-sm)}
.kort-panel + .kort-panel{margin-top:18px}
.kort-panel h2,.kort-panel h3{margin-top:0}

.stamliste{margin:0;font-size:.95rem}
.stamliste > div{display:flex;gap:14px;padding:8px 0;border-bottom:1px solid var(--linje-blod)}
.stamliste > div:last-child{border-bottom:0}
.stamliste dt{flex:0 0 38%;color:var(--blaek-500)}
.stamliste dd{margin:0;color:var(--blaek-900);font-weight:500}

.arrangoer{display:flex;gap:16px;align-items:flex-start}
.arrangoer__logo{width:88px;height:88px;flex:none;object-fit:contain;
  background:var(--sand-100);border-radius:var(--r-sm);padding:6px}
.arrangoer__pladsholder{width:88px;height:88px;flex:none;display:grid;place-items:center;
  background:var(--skov-700);color:#fff;border-radius:var(--r-sm);
  font-family:var(--serif);font-size:1.4rem}

#kort{height:300px;border-radius:var(--r-sm);background:var(--sand-100);z-index:0}
.leaflet-container{font:inherit}

.filliste{list-style:none;padding:0;margin:0}
.filliste li{border-bottom:1px solid var(--linje-blod)}
.filliste li:last-child{border-bottom:0}
.filliste a{display:flex;align-items:center;gap:10px;padding:10px 0;text-decoration:none;
  color:var(--skov-700);font-weight:500}
.filliste a:hover{color:var(--ler-600)}
.filliste small{color:var(--blaek-400);font-weight:400;margin-left:auto}

.brodkrumme{font-size:.85rem;color:var(--blaek-500);margin-bottom:14px}
.brodkrumme a{text-decoration:none}
.brodkrumme span{margin:0 6px;opacity:.5}

.status-banner{padding:12px 16px;border-radius:var(--r-sm);margin-bottom:18px;font-weight:600}
.status-banner--aflyst{background:#fbe3e2;color:#7f1d1d;border-left:4px solid var(--aflyst)}
.status-banner--aendret{background:#fdf1d8;color:#78440a;border-left:4px solid var(--aendret)}

/* ---------- Backend ---------- */
.admin-top{background:var(--skov-900)}
.noegletal{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  margin-bottom:24px}
.noegletal a,.noegletal div{background:#fff;border:1px solid var(--linje-blod);
  border-radius:var(--r-md);padding:16px 18px;text-decoration:none;color:inherit;
  box-shadow:var(--skygge-sm);display:block}
.noegletal a:hover{border-color:var(--mos-400)}
.noegletal b{display:block;font-family:var(--serif);font-size:2rem;line-height:1;
  color:var(--skov-800)}
.noegletal span{font-size:.8rem;color:var(--blaek-500);display:block;margin-top:5px}
.noegletal .fremhaev{color:var(--ler-600)}

.tabel{width:100%;border-collapse:collapse;background:#fff;font-size:.92rem;
  border:1px solid var(--linje-blod);border-radius:var(--r-md);overflow:hidden}
.tabel th{text-align:left;font-size:.73rem;letter-spacing:.07em;text-transform:uppercase;
  color:var(--blaek-500);padding:10px 13px;background:var(--sand-100);
  border-bottom:2px solid var(--linje)}
.tabel td{padding:10px 13px;border-bottom:1px solid var(--linje-blod);vertical-align:top}
.tabel tr:last-child td{border-bottom:0}
.tabel-omslag{overflow-x:auto;-webkit-overflow-scrolling:touch}

.tilstand{display:inline-block;font-size:.72rem;font-weight:700;padding:3px 9px;
  border-radius:var(--r-pille);white-space:nowrap}
.tilstand--kladde{background:var(--sand-200);color:var(--blaek-700)}
.tilstand--afventer_koordinator{background:#fdf1d8;color:#78440a}
.tilstand--afventer_forening{background:#e2eaf5;color:#1e3a5f}
.tilstand--godkendt{background:#e8f4ea;color:#14532d}

/* ---------- Login ---------- */
.login-side{min-height:100vh;display:grid;place-items:center;padding:24px;
  background:var(--skov-800);position:relative;isolation:isolate}
/* Billedet ligger bag et mørkt slør, så kortet står skarpt ovenpå */
.login-side__billede{position:fixed;inset:0;width:100%;height:100%;
  object-fit:cover;z-index:-2}
.login-side::before{content:'';position:fixed;inset:0;z-index:-1;
  background:linear-gradient(rgba(12,25,17,.72), rgba(12,25,17,.86))}
.login-kort{width:100%;max-width:400px;background:#fff;border-radius:16px;
  padding:32px;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.login-kort h1{font-size:1.5rem;margin-bottom:.25em}
.login-kort .manchet{color:var(--blaek-500);font-size:.92rem;margin-bottom:22px}
.login-raekke{margin-bottom:14px}

/* ---------- Diverse ---------- */
.manchet{font-size:1.05rem;color:var(--blaek-500)}
.dis{color:var(--blaek-500)}
.lille{font-size:.87rem}
.midt{text-align:center}
.flex{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.demo-stribe{background:#fdf1d8;color:#78440a;font-size:.8rem;text-align:center;
  padding:6px 14px;border-bottom:1px solid var(--sand-200)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

@media print{
  .top,.fod,.vaerktoej,.genveje,.sideskift,.demo-stribe,
  .forsidebillede,.sidebaand,.signatur,.naestebjaelke,.udskriftknapper,
  .naermig,#udskrift-note{display:none!important}
  body{background:#fff}
  .kal{box-shadow:none}
  /* Månedsskellene skal blive — de bærer læsningen på papir */
  .kal__skel th{background:#f3efe6!important;-webkit-print-color-adjust:exact;
    print-color-adjust:exact}
}

/* ====================================================================
   Arrangementsformularen (etape E2 og E3)
   ==================================================================== */
.side-hoved{display:flex;flex-wrap:wrap;gap:14px;align-items:center;
  justify-content:space-between;margin-bottom:18px}
.side-hoved h1,.side-hoved h2{margin:0}

.rediger-layout{display:grid;gap:22px;grid-template-columns:1fr 330px;align-items:start}
@media (max-width:980px){.rediger-layout{grid-template-columns:1fr}}
.rediger-layout aside .kort-panel:first-child{margin-top:0}

.form-gitter{display:grid;gap:0 16px;grid-template-columns:1fr 1fr}
@media (max-width:620px){.form-gitter{grid-template-columns:1fr}}
.form-raekke{margin-bottom:15px;min-width:0}
.form-raekke--fuld{grid-column:1/-1}
.hjaelp{font-size:.83rem;color:var(--blaek-500);margin:5px 0 0}
.feltfejl{font-size:.83rem;color:var(--ler-700);margin:5px 0 0;font-weight:600}
.form-raekke:has(.feltfejl) .felt,.form-raekke:has(.feltfejl) .vaelg{border-color:var(--ler-600)}

textarea.felt{resize:vertical;min-height:76px;line-height:1.5;font-family:var(--sans)}
input[type=file].felt{padding:8px;background:var(--sand-50)}

.check{display:flex;gap:9px;align-items:flex-start;font-size:.9rem;
  color:var(--blaek-700);cursor:pointer;line-height:1.4}
.check input{margin-top:2px;width:17px;height:17px;flex:none;accent-color:var(--skov-700)}
.afkryds{display:flex;flex-wrap:wrap;gap:9px 18px;padding-top:2px}

/* Gentagne rækker: distancer og kontaktpersoner */
.gentag{margin-bottom:12px}
.gentag__hoved,.gentag__raekke{display:grid;gap:8px;align-items:center;
  grid-template-columns:1fr 1fr 1fr 1.4fr auto}
.gentag--kontakt .gentag__hoved,.gentag--kontakt .gentag__raekke{
  grid-template-columns:1.4fr 1fr 1.6fr 1fr auto}
.gentag__hoved{font-size:.72rem;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;color:var(--blaek-500);margin-bottom:6px}
.gentag__raekke{margin-bottom:8px}
.gentag__fjern[disabled]{opacity:.35;cursor:default}
@media (max-width:760px){
  .gentag__hoved{display:none}
  .gentag__raekke{grid-template-columns:1fr 1fr;padding:12px;background:var(--sand-100);
    border-radius:var(--r-sm);margin-bottom:10px}
  .gentag--kontakt .gentag__raekke{grid-template-columns:1fr}
  .gentag__raekke .gentag__fjern{grid-column:1/-1;justify-self:start}
}

/* Adresseforslag fra DAWA */
.adresse-felt{position:relative}
.adresse-forslag{position:absolute;z-index:30;left:0;right:0;top:100%;margin:2px 0 0;
  padding:0;list-style:none;background:#fff;border:1.5px solid var(--linje);
  border-radius:var(--r-sm);box-shadow:var(--skygge-md);max-height:260px;overflow-y:auto}
.adresse-forslag li{padding:9px 12px;cursor:pointer;font-size:.92rem;
  border-bottom:1px solid var(--linje-blod)}
.adresse-forslag li:last-child{border-bottom:0}
.adresse-forslag li:hover,.adresse-forslag li[aria-selected=true]{
  background:var(--salvie-100);color:var(--skov-800)}

.koordinatstatus{font-size:.83rem;color:var(--blaek-500);margin:4px 0 0;
  padding-left:20px;position:relative}
.koordinatstatus::before{content:'';position:absolute;left:4px;top:.45em;
  width:8px;height:8px;border-radius:50%;background:var(--sand-300)}
.koordinatstatus--ok::before{background:var(--afholdes)}

.udfold{margin-top:16px;border-top:1px solid var(--linje-blod);padding-top:14px}
.udfold summary{cursor:pointer;font-size:.9rem;font-weight:600;color:var(--skov-700)}
.udfold summary:hover{color:var(--ler-600)}

.handlingslinje{display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  padding:16px 20px;background:#fff;border:1px solid var(--linje-blod);
  border-radius:var(--r-md);box-shadow:var(--skygge-sm);
  position:sticky;bottom:12px;z-index:20}

form[inert]{opacity:.72}

/* Historik */
.historik{list-style:none;padding:0;margin:0;font-size:.88rem}
.historik li{padding:9px 0;border-bottom:1px solid var(--linje-blod)}
.historik li:last-child{border-bottom:0}
.historik b{color:var(--skov-800);font-weight:600}

.checklist{list-style:none;padding:0;margin:0}
.checklist li{position:relative;padding-left:26px;margin-bottom:8px}
.checklist li::before{content:'';position:absolute;left:4px;top:.5em;width:7px;height:7px;
  border-radius:50%;background:var(--mos-400);box-shadow:0 0 0 4px var(--salvie-100)}

.kvit-ikon{width:58px;height:58px;margin:0 auto 14px;border-radius:50%;
  background:var(--salvie-100);display:grid;place-items:center;color:var(--skov-700)}
.kvit-ikon svg{width:28px;height:28px}

/* ---------- Demokonti på loginsiden (kun i prototypen) ---------- */
.demo-login{margin-top:26px;padding-top:20px;border-top:1px solid var(--linje-blod)}
.demo-login h2{font-size:1.05rem;margin:0 0 6px}
.demo-login > p{font-size:.87rem;color:var(--blaek-500);margin-bottom:12px}
.demo-login code{background:var(--sand-100);padding:1px 6px;border-radius:4px;
  font-family:ui-monospace,Consolas,monospace;font-size:.86em;color:var(--skov-800)}
.demo-login ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.demo-login__valg{display:block;width:100%;text-align:left;font:inherit;cursor:pointer;
  padding:10px 13px;border:1.5px solid var(--linje);border-radius:var(--r-sm);
  background:#fff;transition:border-color .15s,background .15s}
.demo-login__valg:hover{border-color:var(--mos-400);background:var(--salvie-100)}
.demo-login__valg b{display:block;font-size:.93rem;color:var(--skov-800)}
.demo-login__valg span{display:block;font-size:.8rem;color:var(--blaek-500);margin-top:1px}
.demo-login__valg em{display:block;font-style:normal;font-size:.78rem;
  color:var(--blaek-400);margin-top:3px;
  font-family:ui-monospace,Consolas,monospace}
.demo-login__note{font-size:.76rem;color:var(--blaek-400);margin:12px 0 0}

/* Redigerbare stamdatatabeller: felterne skal ikke fylde som normalt */
.tabel--redigerbar td{padding:7px 10px;vertical-align:middle}
.tabel--redigerbar .felt{padding:6px 9px;font-size:.88rem}
.tabel--redigerbar input[type=checkbox]{width:17px;height:17px;accent-color:var(--skov-700)}
.tabel--redigerbar code{background:var(--sand-100);padding:2px 6px;border-radius:4px;
  font-family:ui-monospace,Consolas,monospace}
.tabel td.midt{text-align:center}

/* ---------- Tilmelding (FR-61) ---------- */
.tilmeld-panel{border-top:4px solid var(--skov-700)}
.prislinje{display:flex;align-items:baseline;gap:8px;margin:0 0 12px}
.prislinje b{font-family:var(--serif);font-size:1.7rem;color:var(--skov-900)}
.prislinje span{font-size:.85rem;color:var(--blaek-500)}
.pladser{margin:12px 0}
.pladser__top{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:6px}
.pladser__top b{color:var(--skov-800)}
.pladser__bar{height:8px;border-radius:4px;background:var(--sand-200);overflow:hidden}
.pladser__fyld{height:100%;background:var(--mos-500);border-radius:4px}
.pladser__fyld--fuld{background:var(--aflyst)}
.reference{display:inline-block;margin-top:12px;padding:8px 16px;background:var(--sand-100);
  border-radius:var(--r-sm);font-family:ui-monospace,Consolas,monospace;font-size:.92rem;
  color:var(--skov-800);letter-spacing:.05em}
.distancevalg{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.distancevalg__valg{display:block;cursor:pointer}
.distancevalg__valg input{position:absolute;opacity:0}
.distancevalg__valg span{display:block;padding:10px 13px;border:1.5px solid var(--linje);
  border-radius:var(--r-sm);background:#fff;transition:border-color .15s,background .15s}
.distancevalg__valg b{display:block;font-size:1rem;color:var(--skov-800)}
.distancevalg__valg em{display:block;font-style:normal;font-size:.78rem;color:var(--blaek-500)}
.distancevalg__valg input:checked + span{border-color:var(--skov-700);
  background:var(--salvie-100);box-shadow:0 0 0 1px var(--skov-700)}
.distancevalg__valg input:focus-visible + span{outline:3px solid var(--ler-600);outline-offset:2px}

/* Stempler der ikke er tilladt for den valgte turtype */
.check--slaaet{opacity:.42;cursor:not-allowed}
.check--slaaet input{cursor:not-allowed}

/* Vandre Danmark-mærket i foden — logoet er mørkt og får en lys plade */
.fod__maerke{display:inline-flex;padding:10px 12px;background:#fdfcfb;
  border-radius:12px;margin-bottom:12px;line-height:0}
.fod__maerke img{display:block;width:76px;height:auto}

/* ---------- Turdetaljens hoved ----------
   Samme kalenderblad som i listen, så man kan se man er landet det
   rigtige sted — datoen er turens vigtigste oplysning. */
.turhoved{display:flex;gap:18px;align-items:flex-start;margin-bottom:20px;
  padding-bottom:18px;border-bottom:2px solid var(--linje)}
.turhoved h1{margin:0 0 .2em}
.turhoved .manchet{margin:0}
.datoblad--stor{flex:none;min-width:0;padding:10px 14px;background:var(--sand-100);
  border:1px solid var(--linje);border-radius:var(--r-sm);text-align:center;
  grid-template-columns:auto;gap:0}
.datoblad--stor b{grid-row:1;font-size:2.3rem}
.datoblad--stor i{grid-row:2;font-size:.95rem}
.datoblad--stor em{grid-row:3;font-size:.72rem}
@media (max-width:560px){
  .turhoved{gap:14px}
  .datoblad--stor{padding:8px 11px}
  .datoblad--stor b{font-size:1.8rem}
}

/* ---------- Billedbånd på undersiderne ---------- */
.sidebaand{position:relative;isolation:isolate;overflow:hidden;background:var(--skov-900);
  display:flex;align-items:flex-end;min-height:clamp(190px,24vw,260px);
  padding-block:40px 22px}
.sidebaand img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:center 55%;z-index:-2}
.sidebaand__slør{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg, rgba(12,25,17,.88) 0%, rgba(12,25,17,.66) 45%,
             rgba(12,25,17,.28) 100%)}
.sidebaand__indhold{position:relative;width:100%}
.sidebaand h1{color:#fff;margin:0 0 .25em;text-shadow:0 2px 16px rgba(0,0,0,.38)}
.sidebaand p{color:rgba(255,255,255,.9);margin:0;max-width:56ch;
  text-shadow:0 1px 10px rgba(0,0,0,.4)}
@media (max-width:620px){
  .sidebaand__slør{background:linear-gradient(to top,
    rgba(12,25,17,.92), rgba(12,25,17,.62))}
}

/* ---------- Fokuspunkt-vælger ----------
   Klik i billedet for at vælge, hvad der altid skal være synligt,
   når billedet beskæres på smalle skærme. */
.fokus{position:relative;display:block;overflow:hidden;border-radius:var(--r-sm);
  border:1.5px solid var(--linje);cursor:crosshair;touch-action:none;
  background:var(--sand-100);line-height:0}
.fokus img{display:block;width:100%;height:200px;object-fit:cover}
.fokus__kryds{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;
  border:2px solid #fff;border-radius:50%;pointer-events:none;
  box-shadow:0 0 0 2px rgba(0,0,0,.45), 0 2px 8px rgba(0,0,0,.4)}
.fokus__kryds::after{content:'';position:absolute;inset:9px;border-radius:50%;
  background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.35)}
.fokus:focus-visible{outline:3px solid var(--ler-600);outline-offset:2px}

/* ---------- Forsidens bannerbilleder (administration) ---------- */
.herogitter{display:grid;gap:16px;margin-top:14px;
  grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
.herokort{border:1px solid var(--linje-blod);border-radius:var(--r-md);
  background:#fff;padding:12px;display:grid;gap:10px;box-shadow:var(--skygge-sm)}
.herokort .fokus img{height:140px}
.herokort__felter{display:grid;gap:7px}
.herokort__felter .maerkat{margin-bottom:0}
.herokort .felt{font-size:.88rem;padding:7px 9px}
/* Et fravalgt billede tones ned, så man kan se på listen, hvad der
   rent faktisk vises på forsiden. */
.herokort--fra{background:var(--sand-50)}
.herokort--fra .fokus img{filter:grayscale(1);opacity:.55}

/* ---------- Billeder på turen (redigering) ---------- */
.billedliste{display:grid;gap:14px;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));margin-top:14px}
.billedkort{border:1px solid var(--linje-blod);border-radius:var(--r-md);
  background:#fff;overflow:hidden;box-shadow:var(--skygge-sm);display:flex;
  flex-direction:column}
.billedkort__krop{padding:11px;display:grid;gap:8px}
.billedkort .felt{font-size:.88rem;padding:7px 9px}
.billedkort__fod{display:flex;gap:8px;align-items:center;justify-content:space-between;
  padding:9px 11px;border-top:1px solid var(--linje-blod);background:var(--sand-50)}
.billedkort--forside{border-color:var(--mos-500);box-shadow:0 0 0 2px rgba(78,125,89,.2)}
.forsidemaerke{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--skov-700)}

/* ---------- Billeder på turen (offentligt) ---------- */
.turbillede{position:relative;border-radius:var(--r-md);overflow:hidden;
  margin-bottom:18px;background:var(--sand-100)}
.turbillede img{display:block;width:100%;height:clamp(220px,34vw,380px);object-fit:cover}
.turbillede figcaption{padding:9px 14px;font-size:.88rem;color:var(--blaek-500);
  background:#fff;border-top:1px solid var(--linje-blod)}
.galleri{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  margin-top:12px}
.galleri figure{margin:0}
.galleri img{display:block;width:100%;height:118px;object-fit:cover;
  border-radius:var(--r-sm);border:1px solid var(--linje-blod)}
.galleri figcaption{font-size:.8rem;color:var(--blaek-500);margin-top:5px;line-height:1.35}

/* ---------- Formateret tekst (fra editoren) ---------- */
.rigtekst > :first-child{margin-top:0}
.rigtekst > :last-child{margin-bottom:0}
.rigtekst h2{font-size:1.25rem;margin:1.1em 0 .35em}
.rigtekst h3{font-size:1.08rem;margin:1em 0 .3em}
.rigtekst ul,.rigtekst ol{padding-left:22px;margin:0 0 1em}
.rigtekst li{margin-bottom:4px}
.rigtekst blockquote{margin:0 0 1em;padding:2px 0 2px 15px;
  border-left:3px solid var(--salvie-200);color:var(--blaek-500)}

/* Editoren skal ligne resten af formularen */
trix-toolbar .trix-button-group{border-color:var(--linje)}
trix-toolbar .trix-button{border-bottom-color:var(--linje)}
trix-editor{border:1.5px solid var(--linje);border-radius:var(--r-sm);
  padding:10px 12px;min-height:9em;font:inherit;font-size:.95rem;
  color:var(--blaek-900);background:#fff}
trix-editor:focus{outline:none;border-color:var(--mos-500);
  box-shadow:0 0 0 3px rgba(78,125,89,.16)}
trix-editor h1{font-size:1.25rem;font-family:var(--serif);font-weight:400}

/* ---------- Foreningsoversigt ----------
   Grupperet på landsdel, fordi man leder efter en forening i sin egen
   ende af landet. Ingen initial-mærker: 28 af 59 hedder "Fodslaw et
   eller andet", så to bogstaver skiller dem ikke ad — de larmer bare. */
.foreningshoved{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;
  justify-content:space-between;margin-bottom:18px}
.foreningssoeg{flex:0 1 280px;min-width:200px}
.foreningssoeg .felt{font-size:.92rem}

.foreningsgruppe{margin-bottom:26px}
.foreningsgruppe__titel{display:flex;align-items:baseline;gap:10px;
  font-size:1.12rem;margin:0 0 12px;padding-bottom:7px;
  border-bottom:2px solid var(--linje)}
.foreningsgruppe__titel span{font-family:var(--sans);font-size:.78rem;
  font-weight:700;color:var(--blaek-500);background:var(--sand-100);
  padding:2px 9px;border-radius:var(--r-pille)}

.foreningsliste{display:grid;gap:10px;
  grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.foreningskort{display:flex;flex-direction:column;background:#fff;
  border:1px solid var(--linje-blod);border-radius:var(--r-sm);
  padding:13px 15px;box-shadow:var(--skygge-sm)}
.foreningskort__top{display:flex;gap:10px;align-items:center;margin-bottom:7px}
.foreningskort__logo{width:34px;height:34px;object-fit:contain;flex:none;
  border-radius:var(--r-xs);background:var(--sand-50)}
.foreningskort h3{font-size:1rem;margin:0;line-height:1.3;
  font-family:var(--serif);font-weight:400;color:var(--skov-900)}
.foreningskort__om{font-size:.86rem;color:var(--blaek-500);margin:0 0 8px}

/* Kontaktoplysningerne som korte linjer frem for en definitionsliste —
   de fleste foreninger har kun to af dem. */
.foreningskort__linjer{display:flex;flex-direction:column;gap:2px;
  font-size:.86rem;margin:0 0 10px;color:var(--blaek-500);min-width:0}
.foreningskort__linjer span{overflow-wrap:anywhere}

.foreningskort__ture{margin-top:auto;align-self:flex-start;font-size:.84rem;
  font-weight:600;color:var(--skov-700);text-decoration:none;
  border-bottom:1.5px solid var(--salvie-200);padding-bottom:1px}
.foreningskort__ture:hover{color:var(--ler-600);border-color:var(--ler-600)}
.foreningskort__ture--tom{color:var(--blaek-400);font-weight:400;
  border:0;cursor:default}

/* Landsdelsvælger på foreningssiden — samme knapper som kalenderens genveje */
.landsdelsvalg{display:flex;flex-wrap:wrap;gap:7px;align-items:center;
  margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--linje-blod)}
.landsdelsvalg__maerkat{font-size:.75rem;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;color:var(--blaek-500);margin-right:4px}
.brik__tal{display:inline-block;margin-left:6px;font-size:.78em;font-weight:700;
  color:var(--blaek-500)}
.brik[aria-pressed=true] .brik__tal{color:rgba(255,255,255,.72)}

/* ---------- "Læg på hjemmeskærmen" ----------
   Nederst, så den ikke dækker indholdet, og kun første gang. */
.appbjaelke{position:fixed;left:12px;right:12px;bottom:12px;z-index:50;
  display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;
  justify-content:space-between;
  background:var(--skov-800);color:var(--salvie-100);
  padding:13px 16px;border-radius:var(--r-md);
  box-shadow:0 10px 34px rgba(0,0,0,.34);
  animation:appbjaelke-ind .32s ease-out}
@keyframes appbjaelke-ind{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.appbjaelke__tekst{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 260px}
.appbjaelke__tekst b{color:#fff;font-family:var(--serif);font-weight:400;font-size:1.04rem}
.appbjaelke__tekst span{font-size:.87rem;color:var(--salvie-200);line-height:1.4}
.appbjaelke__tekst span b{font-family:var(--sans);font-size:inherit;font-weight:700}
.appbjaelke__knapper{display:flex;gap:8px;flex-wrap:wrap}
.appbjaelke .knap--tom{background:transparent;border-color:rgba(255,255,255,.3);color:#fff}
.appbjaelke .knap--tom:hover{background:rgba(255,255,255,.12);border-color:#fff}
@media (max-width:520px){
  .appbjaelke{flex-direction:column;align-items:stretch}
  .appbjaelke__knapper .knap{flex:1;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.appbjaelke{animation:none}}

/* ---------- "Find ture tæt på mig" ---------- */
.naermig{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-bottom:14px}
.naermig .knap svg{flex:none}
.naermig__valg{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.naermig__valg .vaelg{width:auto;min-width:170px;font-size:.88rem;padding:7px 30px 7px 11px}
.naermig__besked{flex:1 1 100%;margin:0;font-size:.88rem;color:var(--blaek-500)}
.naermig__besked--ok{color:var(--skov-700)}
.naermig__besked--fejl{color:var(--ler-700)}

/* Afstanden vises foran stednavnet i turlisten */
.tur__afstand{display:inline-block;font-weight:700;color:var(--skov-700);
  background:var(--salvie-100);border-radius:var(--r-pille);
  padding:1px 9px;margin-right:7px;font-size:.82rem}

/* ---------- Bestyrelse og kontakter ---------- */
.rollemaerke{display:inline-block;font-size:.76rem;font-weight:700;white-space:nowrap;
  padding:2px 9px;border-radius:var(--r-pille);background:var(--sand-100);color:var(--blaek-700)}
.rollemaerke--formand{background:var(--skov-700);color:#fff}
.rollemaerke--kasserer{background:var(--salvie-100);color:var(--skov-800)}
.rollemaerke--bruger{background:#fff;border:1px dashed var(--linje);color:var(--blaek-500)}
.tabel tr.er-valgt td{background:var(--sand-50)}
.tabel tr.redigeringsraekke td{background:var(--sand-50);padding:16px 13px 18px}
/* En knap, der ser ud som et link — til små handlinger i en tabelcelle */
.linkknap{font:inherit;font-size:inherit;color:var(--skov-700);background:none;border:0;
  padding:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.linkknap:hover{color:var(--ler-600)}
.enkelliste{list-style:none;margin:10px 0 0;padding:0}
.enkelliste li{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;
  justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--linje-blod)}
.enkelliste li:last-child{border-bottom:0}

/* ---------- Udsendelser ---------- */
.kontaktfilter{border:0;margin:0;padding:0}
.kontaktfilter legend{margin-bottom:6px}
/* Listen kan blive lang — den ruller selv, så Send-knappen er inden for rækkevidde */
.modtagerliste{display:grid;gap:7px;max-height:420px;overflow:auto;padding:10px 12px;
  border:1px solid var(--linje-blod);border-radius:var(--r-sm);background:var(--sand-50)}
.modtagerliste .check span .dis{display:block}
/* Filer hører aldrig hjemme inde i teksten — hverken i en turbeskrivelse
   eller en mail. De lægges op eller vedhæftes for sig. */
/* Dobbelt klasse, fordi trix.css indlæses efter dette stilark og ellers vinder */
trix-toolbar .trix-button-group.trix-button-group--file-tools{display:none}

/* Et felt, en formular er afvist på grund af */
.felt[aria-invalid="true"],.vaelg[aria-invalid="true"]{border-color:var(--aflyst);
  box-shadow:0 0 0 3px rgba(209,52,47,.14)}
.check input[aria-invalid="true"]{outline:2px solid var(--aflyst);outline-offset:2px}
.kontaktform .besked{margin-bottom:16px}

/* Modtagerne under filtret i en udsendelse */
.modtagervisning{margin:4px 0 12px;padding:12px 14px;border-radius:var(--r-sm);
  background:var(--sand-50);border:1px solid var(--linje-blod)}
.modtagervisning__tal{margin:0 0 6px}
.modtagervisning__tal b{font-family:var(--serif);font-size:1.15rem;color:var(--skov-800)}
.modtagervisning summary{cursor:pointer;font-size:.9rem;color:var(--skov-700)}
.modtagervisning__liste{list-style:none;margin:8px 0 0;padding:0;max-height:260px;overflow:auto;
  display:grid;gap:4px;font-size:.9rem}
.modtagervisning__liste .dis{display:block}
.modtagervisning .besked{margin:8px 0}

/* Hvornår bestyrelseslisten sidst er ajourført */
.ajourlinje{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;
  margin-top:14px;padding:10px 14px;border-radius:var(--r-sm);background:var(--salvie-100)}
.ajourlinje p{margin:0;font-size:.92rem}

/* Faner over en tabel — filtre, der hver har et antal */
.faner{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 12px}
.faner a{display:inline-flex;gap:7px;align-items:center;padding:6px 13px;border-radius:var(--r-pille);
  border:1px solid var(--linje);background:#fff;color:var(--blaek-700);text-decoration:none;font-size:.88rem}
.faner a span{font-size:.78rem;font-weight:700;color:var(--blaek-500)}
.faner a:hover{border-color:var(--skov-700)}
.faner a[aria-current="page"]{background:var(--skov-700);border-color:var(--skov-700);color:#fff}
.faner a[aria-current="page"] span{color:var(--salvie-200)}

/* Lille farvet prik foran en status */
.statusprik{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;
  vertical-align:1px;background:var(--linje)}
.statusprik--aktiv{background:var(--afholdes)}
.statusprik--inviteret{background:var(--aendret)}
.statusprik--udloebet{background:var(--ler-600)}
.statusprik--fejlet{background:var(--aflyst)}
.statusprik--oprettet,.statusprik--ingen{background:#c9c1b2}

/* Ajourføringen — trinene øverst, tjeklisten og påmindelsen */
.trinvisning{margin:0 0 22px}
.trinvisning ol{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.trinvisning a{display:flex;align-items:center;gap:10px;padding:10px 12px;height:100%;
  border:1px solid var(--linje);border-radius:var(--r-sm);background:#fff;
  color:var(--blaek-700);text-decoration:none;font-size:.92rem;line-height:1.3}
.trinvisning a:hover{border-color:var(--mos-500)}
.trinvisning__nr{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;
  background:var(--sand-100);color:var(--blaek-700);font-weight:700;font-size:.85rem}
.trinvisning__trin.er-gjort .trinvisning__nr{background:var(--afholdes);color:#fff}
.trinvisning__trin.er-aktivt a{border-color:var(--skov-700);box-shadow:inset 0 -3px 0 var(--skov-700);
  color:var(--blaek-900);font-weight:600}
.trinvisning__trin.er-aktivt .trinvisning__nr{background:var(--skov-700);color:#fff}
@media (max-width:640px){
  .trinvisning ol{grid-template-columns:1fr}
}
.tjekliste{list-style:none;margin:12px 0 16px;padding:0}
.tjekliste li{padding:4px 0 4px 28px;position:relative}
.tjekliste li::before{content:"";position:absolute;left:0;top:7px;width:16px;height:16px;
  border:2px solid var(--ler-600);border-radius:50%}
.tjekliste li.er-gjort::before{content:"✓";border-color:var(--afholdes);background:var(--afholdes);
  color:#fff;font-size:11px;line-height:12px;text-align:center;font-weight:700}
.ajourpaamindelse{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between}
/* Inde i et panel er knaplinjen en del af panelet, ikke en svævende bjælke */
.kort-panel .handlingslinje{padding:0;border:0;box-shadow:none;background:none;position:static;margin-top:6px}
.postnr-besked{color:var(--aflyst);margin:4px 0 0}
/* I guiden må knappen ikke svæve over felterne: så tror man, formularen
   slutter, og går videre uden at have set resten. */
.handlingslinje--slut{position:static;margin-top:16px}
/* Udviklerens navn i sidefoden — skal stå diskret til sidst */
.fod__udvikler a{display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,.45);
  text-decoration:none}
.fod__udvikler a:hover{color:rgba(255,255,255,.8);text-decoration:underline}
/* Den lyse udgave af logoet, med gennemsigtig bund — den samme, der
   bruges på vores andre sites med mørk fod. */
.fod__udvikler img{display:block;height:18px;width:auto;opacity:.55}
.fod__udvikler a:hover img{opacity:.9}
