/* kalender.css — Kalenderen (motor, designer-handoff 2026-07-11). KUN tokens; lys+mørk. */
body{background:var(--bg)}
.kal-page{max-width:1120px;margin:0 auto;padding:26px 24px 0}
.kal-page a{color:var(--link)} .kal-page a:hover{color:var(--accent)}
.kal-page .mast{margin-bottom:26px}
.kal-page .site-foot{margin-top:54px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.g-ok{color:var(--g-ok)} .g-est{color:var(--g-est)} .g-na{color:var(--g-na)}
.kdot{width:7px;height:7px;border-radius:50%;display:inline-block;flex:none;background:var(--border-soft)}
.kdot--sm{width:6px;height:6px}
.kdot--lg{width:8px;height:8px}
[id^="m-"],#sket,[data-ev]{scroll-margin-top:64px}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* hoved */
.kal-head{border-bottom:1.5px solid var(--border);padding:30px 0 22px}
.kal-head .kicker{color:var(--accent)}
.kal-head h1{font-family:var(--serif);font-weight:600;font-size:clamp(34px,5vw,48px);letter-spacing:-.02em;line-height:1.05;color:var(--text);margin:8px 0 10px}
.kal-dek{font-size:17px;line-height:1.55;color:var(--text-body);max-width:58ch;margin:0}
.kal-meta{font-family:var(--mono);font-size:11px;letter-spacing:.03em;color:var(--text-faint);margin:14px 0 0}
/* Kal.Filter */
.kal-filter{padding:14px 0 12px;border-bottom:1px solid var(--hairline)}
.kal-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.kal-chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:6px 11px;border:1.5px solid var(--border-soft);border-radius:var(--radius-pill);background:none;color:var(--text);cursor:pointer;flex:none}
.kal-chip:hover{border-color:var(--border)}
.kal-chip .kn{font-weight:400;color:var(--text-faint)}
.kal-chip[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.kal-chip[aria-pressed="true"] .kn{color:var(--paper);opacity:.72}
.kal-chip:focus-visible,.kal-orgsel:focus-visible,.kal-icsbtn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.kal-fbar{display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-top:12px}
.kal-fleft{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.kal-florg{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}
.kal-orgsel{padding:7px 11px;font-size:13px}
.kal-icswrap{position:relative}
.kal-icsbtn{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.05em;padding:8px 14px;border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;text-decoration:none;display:inline-block}
.kal-icsbtn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.kal-page .kal-icsbtn{color:var(--paper)} .kal-page .kal-icsbtn:hover{color:var(--paper)}
.kal-icsmenu{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:280px;border:1.5px solid var(--ink);background:var(--surface);box-shadow:var(--offset);padding:6px 0}
.kal-icsmenu.open{display:block}
.kal-icsmenu a{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-family:var(--sans);font-weight:600;font-size:13.5px;color:var(--text);text-decoration:none;padding:9px 16px}
.kal-icsmenu a+a{border-top:1px solid var(--hairline)}
.kal-icsmenu a:hover{background:var(--surface-2)}
.kal-icsmenu p{font-family:var(--mono);font-size:10px;color:var(--text-faint);margin:6px 16px;line-height:1.5}
/* Kal.Hop — kompakt dropdown i stedet for et endeløst månedsbånd */
.kal-hop{position:sticky;top:0;z-index:30;display:flex;gap:12px;align-items:center;padding:9px 12px;border-top:1.5px solid var(--border);border-bottom:1.5px solid var(--border);background:var(--surface-2);font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;white-space:nowrap;margin-top:14px}
.kal-hop .hop-l{color:var(--text-faint);font-weight:700;letter-spacing:.06em;text-transform:uppercase;flex:none}
.kal-hopsel{font-family:var(--mono);font-size:11.5px;font-weight:700;color:var(--text);background:var(--surface);border:1.5px solid var(--border-soft);padding:6px 9px;max-width:280px}
.kal-hopsel:hover{border-color:var(--border)}
.kal-hopsel:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.kal-hop .hop-n{color:var(--text-faint);font-size:10.5px;letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis}
.kal-hop .hop-sp{flex:1}
.kal-hop .hop-sket{flex:none;padding:7px 11px;font-weight:700;color:var(--text);text-decoration:none;border:1.5px solid transparent}
.kal-hop .hop-sket:hover{border-color:var(--border);color:var(--text)}
@media (max-width:560px){.kal-hop .hop-n{display:none}}
/* Kal.Grid — kolonner er minmax(0,1fr): indhold kan ALDRIG gøre en kolonne bredere end de andre */
.kal-gsec{margin-top:30px}
.kal-ghead{display:flex;align-items:baseline;gap:14px;justify-content:space-between;flex-wrap:wrap;margin:0 0 14px}
.kal-gtitle{font-family:var(--serif);font-weight:600;font-size:30px;color:var(--text);margin:0}
.kal-gnav{display:inline-flex;gap:8px;align-items:center}
.kal-gnav button{font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.06em;padding:9px 14px;border:1.5px solid var(--border-soft);background:none;color:var(--text);cursor:pointer}
.kal-gnav button:hover{border-color:var(--border)}
.kal-gnav [data-gtoday]{border-color:var(--accent);color:var(--accent)}
.kal-gnav button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.gwrap{overflow-x:auto}
.gframe{min-width:860px;border:1.5px solid var(--border);background:color-mix(in srgb,var(--accent-contrast) 72%,var(--surface));box-shadow:var(--offset)}
.ghead7,.gbody{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.ghead7{border-bottom:1.5px solid var(--border);background:var(--surface-2)}
.ghead7 span{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--text-muted);padding:9px 10px}
.gcell{min-width:0;border:1px solid var(--hairline);min-height:108px;padding:7px 8px;display:flex;flex-direction:column;gap:4px}
.gday{display:block;text-align:right;font-family:var(--mono);font-size:12px;color:var(--text-muted)}
.gcell[data-out]{background:var(--bg)}
.gcell[data-out] .gday{color:var(--text-faint)}
.gcell[data-istoday]{outline:2px solid var(--accent);outline-offset:-2px}
.gcell[data-istoday] .gday{color:var(--accent);font-weight:700}
.gev{display:block;padding:6px 8px;min-height:28px;box-sizing:border-box;text-decoration:none;border-left:3px solid var(--border-soft);font-family:var(--serif);font-weight:600;font-size:13.5px;line-height:1.3;color:var(--text)}
.kal-page .gev{color:var(--text)}
.gev .gt{display:block;overflow-wrap:anywhere}
.gev:hover{outline:1.5px solid var(--border)}
.gev[data-auto]{font-family:var(--mono);font-weight:400;font-size:10.5px;color:var(--text-body)}
/* flerdages-bånd: segmenter bløder ud over cellekanten (à la trykt ugeskema) og mødes.
   Titlen står på ugerækkens første segment og klippes ved båndets bredde (data-len). */
.gev[data-band]{height:31px;position:relative;z-index:1}
.gev[data-bl]{margin-left:-9px;border-left-width:0}
.gev[data-br]{margin-right:-9px}
.gev[data-cap]{overflow:visible;z-index:2;border-left-width:3px}
.gev[data-band] .gt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:max-content;max-width:100%}
.gev[data-cap][data-len="2"] .gt{max-width:calc(200% + 11px)}
.gev[data-cap][data-len="3"] .gt{max-width:calc(300% + 22px)}
.gev[data-cap][data-len="4"] .gt{max-width:calc(400% + 33px)}
.gev[data-cap][data-len="5"] .gt{max-width:calc(500% + 44px)}
.gev[data-cap][data-len="6"] .gt{max-width:calc(600% + 55px)}
.gev[data-cap][data-len="7"] .gt{max-width:calc(700% + 66px)}
.gev[data-kat="ok-forhandling"]{border-left-color:var(--cat-2);background:color-mix(in srgb,var(--cat-2) 15%,var(--paper))}
.kdot[data-kat="ok-forhandling"]{background:var(--cat-2)}
.gev[data-kat="politik"]{border-left-color:var(--cat-1);background:color-mix(in srgb,var(--cat-1) 13%,var(--paper))}
.kdot[data-kat="politik"]{background:var(--cat-1)}
.gev[data-kat="eu"]{border-left-color:var(--cat-6);background:color-mix(in srgb,var(--cat-6) 13%,var(--paper))}
.kdot[data-kat="eu"]{background:var(--cat-6)}
.gev[data-kat="frist"]{border-left-color:var(--cat-5);background:color-mix(in srgb,var(--cat-5) 11%,var(--paper))}
.kdot[data-kat="frist"]{background:var(--cat-5)}
.gev[data-kat="konference"]{border-left-color:var(--cat-4);background:color-mix(in srgb,var(--cat-4) 13%,var(--paper))}
.kdot[data-kat="konference"]{background:var(--cat-4)}
.gev[data-kat="organisatorisk"]{border-left-color:var(--cat-3);background:color-mix(in srgb,var(--cat-3) 13%,var(--paper))}
.kdot[data-kat="organisatorisk"]{background:var(--cat-3)}
.gstrip{font-family:var(--mono);font-size:12px;color:var(--text-muted);border:1px solid var(--hairline);border-top:0;padding:11px 14px;margin:0;background:var(--surface-2)}
.gstrip-l{font-weight:700;letter-spacing:.08em}
.gstrip-g{color:var(--accent)}
.gstrip a{color:var(--text-muted)}
.kal-gnote{font-size:13.5px;color:var(--text-faint);margin:12px 0 0;max-width:74ch}
/* sektioner */
.kal-sec{margin-top:30px}
.kal-sh{display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.kal-sh h2{font-family:var(--serif);font-weight:600;font-size:27px;color:var(--text);margin:0}
.kal-sh--hist{border-top:2px solid var(--border);padding-top:18px}
.kal-sh--hist h2{font-size:24px;color:var(--text-muted)}
.kal-sn{font-family:var(--mono);font-size:10.5px;color:var(--text-faint);text-align:right}
/* Kal.Today */
.kal-today{display:flex;align-items:center;gap:10px;margin:16px 0 0}
.kt-dot{width:8px;height:8px;background:var(--accent);border-radius:50%;flex:none}
.kt-l{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.1em;color:var(--accent);flex:none}
.kt-line{flex:1;border-top:1.5px solid var(--accent)}
/* månedsgrupper */
.kal-mh{display:flex;align-items:baseline;gap:14px;border-bottom:1.5px solid var(--border-soft);padding:26px 0 7px}
.kal-mh h3{font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.14em;color:var(--text);margin:0}
.kal-q .kal-mh h3{color:var(--text-muted)}
.kal-mh .mh-n{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--text-faint)}
/* Kal.Ev — redaktionel række */
.kal-ev{display:grid;grid-template-columns:92px 1fr;gap:2px 20px;padding:14px 18px;margin:12px 0;border:1.5px solid var(--border-soft);background:var(--surface)}
[data-ev]:target{background:var(--accent-subtle);border-color:var(--accent)}
.kal-date{text-align:right;padding-top:3px}
.kd-day{display:block;font-family:var(--serif);font-weight:600;font-size:24px;line-height:1;color:var(--text);white-space:nowrap}
.kd-day.is-fuzzy{color:var(--text-faint)}
.kd-mon{display:block;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--text-muted);margin-top:3px}
.kal-trow{display:flex;align-items:baseline;gap:14px;justify-content:space-between}
.kal-t{font-family:var(--serif);font-weight:600;font-size:19px;line-height:1.2;color:var(--text);margin:0}
.kal-rail{flex:none;display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}
.kal-rail--sm{color:var(--text-faint)}
.kal-rail a{color:var(--text-faint);font-weight:400;text-decoration:none}
.kal-resume{font-size:14px;line-height:1.55;color:var(--text-body);max-width:66ch;margin:5px 0 0}
.kal-metaline{font-family:var(--mono);font-size:11px;color:var(--text-faint);margin:7px 0 0;line-height:1.9}
.kal-metaline a{text-decoration:none}
.kal-kilde{color:var(--text-faint)}
.kal-rec{color:var(--text-faint)}
/* Kal.EvAuto — maskinel række */
.kal-ev--auto{grid-template-columns:92px 1fr;gap:0 20px;padding:9px 14px;margin:7px 0;border:1px solid var(--hairline);background:var(--surface-2);align-items:baseline}
.kal-adate{text-align:right;font-family:var(--mono);font-size:11.5px;color:var(--text-muted);text-transform:uppercase}
.kal-arow{display:flex;gap:14px;align-items:baseline;justify-content:space-between;min-width:0}
.kal-arow h4{font-family:var(--sans);font-weight:400;font-size:14px;color:var(--text-body);margin:0}
/* Kal.Hist — kompakt, dæmpet */
.kal-ev--hist{grid-template-columns:92px 1fr;gap:0 20px;padding:9px 14px;margin:7px 0;border:1px solid var(--hairline);background:none;align-items:baseline}
.kal-ev--hist .kal-adate{color:var(--text-faint)}
.kal-ev--hist h4{font-family:var(--serif);font-weight:600;font-size:15.5px;color:var(--text-body);margin:0}
details.hyr{border-bottom:1.5px solid var(--border-soft)}
details.hyr>summary{cursor:pointer;list-style:none;display:flex;align-items:baseline;gap:12px;padding:14px 0}
details.hyr>summary::-webkit-details-marker{display:none}
details.hyr>summary .caret{font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.14em;color:var(--text-muted)}
details.hyr[open]>summary .caret{color:var(--text)}
details.hyr>summary .caret::before{content:"+ "}
details.hyr[open]>summary .caret::before{content:"− "}
.hyr-sp{flex:1}
.hyr-n{font-family:var(--mono);font-size:10px;color:var(--text-faint)}
/* tom-beskeder */
.kal-tom{font-size:14.5px;color:var(--text-muted);border:1.5px solid var(--border-soft);padding:16px 18px;margin:22px 0 0}
.kal-tom button{font-family:var(--sans);font-size:14px;font-weight:600;color:var(--link);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}
.kal-tom-fast{font-size:14px;color:var(--text-muted);padding:18px 0}
/* Kal.Gate — designet nu, håndhæves ved paysite-launch (#kal[data-gate="1"]) */
.kal-wall,.gsum{display:none}
#kal[data-gate="1"] .kal-wall{display:block}
#kal[data-gate="1"] .gd{filter:blur(6px);user-select:none;pointer-events:none}
#kal[data-gate="1"] .gp{filter:blur(4px);user-select:none}
#kal[data-gate="1"] .gwrap{filter:blur(5px);pointer-events:none}
#kal[data-gate="1"] .m-gated .mbody{display:none}
#kal[data-gate="1"] .m-gated .gsum{display:block}
.kal-wall{border:1.5px solid var(--ink);background:var(--surface);box-shadow:var(--offset);padding:26px 28px;margin:28px 0 6px}
.kal-wall .kicker{color:var(--accent)}
.kw-t{font-family:var(--serif);font-weight:600;font-size:24px;line-height:1.15;color:var(--text);margin:6px 0 8px}
.kw-b{font-size:14.5px;color:var(--text-body);max-width:60ch;margin:0 0 16px}
.kw-a{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.kw-ghost{font-family:var(--sans);font-weight:600;font-size:13.5px;padding:9px 16px;border:1.5px solid var(--ink);color:var(--text);text-decoration:none}
.kw-log{font-family:var(--mono);font-size:10.5px;color:var(--text-faint)}
.gsum{font-family:var(--mono);font-size:11px;color:var(--text-muted);padding:10px 0;border-bottom:1px solid var(--hairline);margin:0}
.gsum a{color:var(--accent);font-weight:700;text-decoration:none}
/* fodnote */
.kal-foot-note{font-family:var(--mono);font-size:11.5px;color:var(--text-muted);margin:36px 0 0;line-height:1.7}
.kal-lnkbtn{font-family:inherit;font-size:inherit;color:var(--link);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}
.kal-lnkbtn:hover{color:var(--accent)}
/* Byd ind med et arrangement */
.kal-bydbtn{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.05em;padding:8px 14px;border:1.5px solid var(--border-soft);background:none;color:var(--text);cursor:pointer;margin-right:8px}
.kal-bydbtn:hover{border-color:var(--border)}
.kal-bydbtn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.kal-byd{max-width:640px}
.byd-intro{font-size:14px;line-height:1.55;color:var(--text-body);margin:0 0 16px;max-width:60ch}
.byd-valgfrit{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);border-top:1px solid var(--hairline);padding-top:12px;margin:4px 0 0}
.byd-form{display:flex;flex-direction:column;gap:12px}
.byd-lab{display:flex;flex-direction:column;gap:5px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}
.byd-form input,.byd-form select,.byd-form textarea{font-family:var(--sans);font-size:14px;color:var(--text);background:var(--surface);border:1.5px solid var(--border-soft);padding:9px 11px;text-transform:none;letter-spacing:0}
.byd-form input:focus-visible,.byd-form select:focus-visible,.byd-form textarea:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
.byd-form textarea{resize:vertical}
.byd-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.byd-status{font-size:14px;color:var(--text-body);border:1.5px solid var(--border-soft);padding:12px 14px;margin:0}
.byd-status.is-ok{border-color:var(--up);color:var(--text)}
.byd-status.is-fejl{border-color:var(--accent)}
@media (max-width:560px){.byd-row{grid-template-columns:1fr 1fr}}
/* Kal.Detail */
.kal-bd{position:fixed;inset:0;z-index:90;background:color-mix(in srgb,var(--ink) 38%,transparent);display:flex;align-items:center;justify-content:center;padding:20px}
.kal-detail{max-width:580px;width:100%;max-height:86vh;overflow:auto;border:1.5px solid var(--ink);background:var(--surface);box-shadow:var(--offset);padding:24px 28px 26px}
.kd-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.kd-kick{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--text-muted);padding-top:8px;text-transform:uppercase}
.kd-x{border:1.5px solid var(--border-soft);background:none;color:var(--text);width:34px;height:34px;cursor:pointer;font-size:14px;flex:none}
.kd-x:hover{border-color:var(--border)}
.kd-t{font-family:var(--serif);font-weight:600;font-size:25px;line-height:1.15;color:var(--text);margin:8px 0 16px}
.kd-rows{border-top:1.5px solid var(--border-soft)}
.kd-row{display:grid;grid-template-columns:104px 1fr;gap:0 16px;padding:9px 0;border-bottom:1px solid var(--hairline)}
.kd-row .k{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--text-faint);padding-top:2px}
.kd-row .v{font-size:14.5px;color:var(--text);font-weight:600}
.kd-prog{font-size:14.5px;line-height:1.6;color:var(--text-body);margin:14px 0 0;max-width:60ch}
.kd-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:20px}
.kd-ghost{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.05em;padding:8px 14px;border:1.5px solid var(--border-soft);color:var(--text);text-decoration:none}
.kd-ghost:hover{border-color:var(--border)}
.kd-sp{flex:1}
.kd-kilde{font-family:var(--mono);font-size:11px;color:var(--link);text-decoration:none}
/* mobil */
@media (max-width:660px){
.kal-ev,.kal-ev--auto,.kal-ev--hist{grid-template-columns:52px 1fr;gap:1px 12px}
.kd-day{font-size:17px}
.kal-t{font-size:16.5px}
.kal-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}
.kal-hop{font-size:10px}
.kal-fbar{justify-content:flex-start}
/* lange kilde-navne i højre-railen må ombrydes — aldrig skubbe siden bredere end viewporten */
.kal-arow,.kal-trow{flex-wrap:wrap}
.kal-rail{flex-wrap:wrap;max-width:100%;min-width:0}
}
@media print{
.kal-hop,.kal-filter,.kal-wall,.kal-gsec,.kal-bd,.mast-actions{display:none !important}
body{background:none}
}
@media (forced-colors:active){.kal-chip,.kal-gnav button{border:1.5px solid ButtonText}}
