/* =====================================================================
   KREISTAGSSITZUNGEN — je Sitzung ein Datumsstempel, die Tagesordnung als Dropdowns
   Farben, Schrift, Radien kommen aus den Tokens in site.css. Das Akkordeon (.acc) wird
   wiederverwendet; hier steht nur, was die Seite zusaetzlich braucht.
   ===================================================================== */

/* ---------- Kopf ---------- */
.ks-hero{position:relative;overflow:hidden;padding:clamp(3rem,7vw,5rem) 0 clamp(2.5rem,6vw,4rem);background:linear-gradient(180deg,var(--blue-50),#fff)}
.ks-hero__grid{position:absolute;inset:0;pointer-events:none;opacity:.58;background-image:linear-gradient(rgba(29,73,194,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(29,73,194,.08) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(145deg,#000,transparent 68%);mask-image:linear-gradient(145deg,#000,transparent 68%)}
.ks-hero__inner{position:relative}
.ks-hero__copy{max-width:780px}
.ks-hero__copy .h1{margin:1rem 0}
.ks-hero__copy .lead{max-width:62ch}
/* Brotkrumen: site.css setzt die aktuelle Seite auf opacity .5 und --muted-2 (unter 4,5:1). Hier nicht. */
.crumbs.ks-crumbs{margin-bottom:clamp(1.8rem,4vw,3rem);color:var(--muted)}
.crumbs.ks-crumbs span{opacity:1}
.crumbs.ks-crumbs a{color:var(--muted)}
.crumbs.ks-crumbs a:hover{color:var(--blue-600)}

/* Lesehinweis: amtlich vs. JOAL-Bericht */
.ks-note{max-width:62ch;margin-top:1.6rem;padding:1rem 1.2rem;background:#fff;border:1px solid var(--line);border-left:3px solid var(--blue-600);border-radius:var(--r-sm);color:var(--text);font-size:.98rem;line-height:1.65}
.ks-note a{color:var(--blue-600);font-weight:650;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* Sprungmarken zu den Sitzungen */
.ks-jump{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.6rem}
.ks-jump a{display:inline-block;padding:.55rem 1.05rem;background:#fff;border:1px solid var(--line-2);border-radius:var(--r-full);color:var(--navy);font-weight:650;font-size:.95rem;transition:border-color .2s,color .2s}
.ks-jump a:hover{border-color:var(--blue-600);color:var(--blue-600)}

/* ---------- Sitzungen ---------- */
.ks-list{padding:clamp(1.5rem,4vw,3rem) 0 clamp(4rem,9vw,7rem)}
.ks-session{display:grid;grid-template-columns:minmax(150px,190px) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);padding:clamp(2.2rem,5vw,3.6rem) 0;border-top:1px solid var(--line);scroll-margin-top:calc(var(--nav-h) + 1rem)}
.ks-session:first-child{border-top:0}

/* Datumsstempel: das Datum ist die Kennung einer Sitzung. Er bleibt beim Lesen der Punkte stehen. */
.ks-stamp{align-self:start;position:sticky;top:calc(var(--nav-h) + 1.5rem);padding-left:1rem;border-left:4px solid var(--blue-600)}
.ks-stamp__wd{display:block;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-600)}
.ks-stamp__day{display:block;margin-top:.35rem;font-size:clamp(3.4rem,7vw,5.2rem);font-weight:800;line-height:.9;letter-spacing:-.04em;color:var(--navy);font-variant-numeric:tabular-nums}
.ks-stamp__month{display:block;margin-top:.5rem;font-size:1.05rem;font-weight:700;color:var(--navy)}

.ks-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}
.ks-head h2{font-size:clamp(1.5rem,2.8vw,2rem);color:var(--navy);line-height:1.2}
.ks-badge{display:inline-block;padding:.32rem .75rem;background:var(--blue-600);color:#fff;border-radius:var(--r-full);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.ks-when{margin-top:.35rem;color:var(--muted);font-size:1rem}
.ks-brief{max-width:64ch;margin-top:1.2rem;color:var(--text);font-size:1.05rem;line-height:1.7}
.ks-source{max-width:64ch;margin-top:.8rem;color:var(--muted);font-size:.95rem;line-height:1.6}
.ks-source a,.ks-top__txt a,.ks-closing a{color:var(--blue-600);font-weight:650;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.ks-source a:hover,.ks-top__txt a:hover,.ks-closing a:hover{color:var(--blue-700)}

/* ---------- Tagesordnungspunkte (.acc aus site.css) ---------- */
.ks-tops{margin-top:1.8rem}
.ks-top>summary{flex-wrap:wrap;gap:.6rem 1rem}
.ks-top>summary:focus-visible{outline-offset:-3px} /* .acc hat overflow:hidden, ein Ring ausserhalb wuerde abgeschnitten */
.ks-top__title{flex:1 1 13rem;min-width:0;line-height:1.35}
.ks-top__end{display:flex;align-items:center;gap:.8rem;margin-left:auto}
.ks-chip{display:inline-block;padding:.28rem .65rem;border-radius:var(--r-full);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.ks-chip--bericht{color:var(--blue-600);background:var(--blue-50);border:1px solid var(--blue-100)}
.ks-chip--offen{color:var(--muted);background:var(--paper);border:1px solid var(--line-2)}
.ks-top .acc__body{display:grid;gap:1.1rem;color:var(--text)}
.ks-lbl{margin-bottom:.3rem;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ks-top__txt{max-width:68ch;font-size:1rem;line-height:1.72}
.ks-top__txt+.ks-top__txt{margin-top:.7rem}

.ks-closing{max-width:64ch;padding-top:1.4rem;border-top:1px solid var(--line);color:var(--muted);font-size:.95rem;line-height:1.65}

@media(max-width:760px){
  .ks-session{grid-template-columns:1fr;gap:1.2rem}
  .ks-stamp{position:static;display:flex;align-items:baseline;flex-wrap:wrap;gap:.2rem .8rem;padding-left:.9rem}
  .ks-stamp__wd,.ks-stamp__day,.ks-stamp__month{display:inline;margin:0}
  .ks-stamp__day{font-size:2.6rem}
  .ks-stamp__wd{flex-basis:100%}
}
@media(max-width:520px){
  .ks-top>summary{padding:1.05rem 1rem}
  .ks-top .acc__body{padding:0 1rem 1.2rem}
}
