/* Veranstaltungsprogramm (deobald-sr 1.0.0) — nutzt die Token des Auftritts */
.pg{max-width:var(--t-wrap,1120px);margin:0 auto;padding:clamp(28px,5vw,64px) 20px 72px;color:var(--t-ink,#1f2328)}
.pg-head{max-width:760px;margin-bottom:28px}
.pg-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:var(--ty-kicker, 13px);font-weight:600;color:var(--t-accent-text,var(--t-accent,#2f5d62));margin:0 0 10px}
.pg h1{font-family:var(--t-font-head,inherit);font-size:var(--ty-h2, clamp(32px,4.4vw,52px));line-height:1.08;margin:0 0 14px;font-weight:var(--t-weight-head,650)}
.pg-lead{font-size:var(--ty-body, clamp(18px,1.6vw,20px));line-height:1.55;color:var(--t-ink-soft,#3c434c);margin:0 0 12px}
.pg-rule{font-weight:600;margin:0}
.pg-ics{font-size:var(--ty-small, 15px);color:var(--t-accent-text,var(--t-accent,#2f5d62))}
.pg-filter{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;padding:16px 18px;margin:0 0 34px;background:var(--t-surface,#f6f7f8);border:1px solid var(--t-line,#e3e6ea);border-radius:var(--t-radius,12px)}
.pg-filter label{display:grid;gap:5px;font-size:var(--ty-label, 14px);font-weight:600}
.pg-filter select{min-height:44px;padding:8px 12px;border:1px solid var(--t-line,#cfd5db);border-radius:8px;background:#fff;font:inherit;font-weight:400;min-width:160px}
.pg-filter button{min-height:44px;padding:0 20px;border:0;border-radius:var(--t-pill,8px);background:var(--t-accent,#2f5d62);color:var(--t-on-accent,#fff);font:inherit;font-weight:600;cursor:pointer}
.pg-filter a{align-self:center;font-size:var(--ty-small, 15px)}
.pg-filter :focus-visible,.pg a:focus-visible{outline:3px solid var(--t-accent,#2f5d62);outline-offset:2px}
.pg-section{margin-top:34px}
.pg-section h2{font-family:var(--t-font-head,inherit);font-size:var(--ty-h3, clamp(22px,2vw,26px));line-height:1.25;margin:0 0 14px}
.pg-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.pg-card{display:grid;grid-template-columns:minmax(170px,240px) 1fr;gap:20px;padding:20px 22px;background:var(--t-paper,#fff);border:1px solid var(--t-line,#e3e6ea);border-radius:var(--t-radius,12px)}
.pg-when{display:grid;gap:4px;align-content:start;font-size:var(--ty-body, 16px)}
.pg-when strong{font-size:var(--ty-body, 17px)}
.pg-what h3{font-family:var(--t-font-head,inherit);font-size:var(--ty-h3, 21px);line-height:1.25;margin:2px 0 6px}
.pg-what h3 a{color:inherit;text-decoration:none}.pg-what h3 a:hover{text-decoration:underline}
.pg-what p{margin:0 0 6px;line-height:1.55;font-size:var(--ty-body, 17px)}
.pg-kind{font-size:var(--ty-kicker, 14px)!important;color:var(--t-muted,#5f6670);text-transform:uppercase;letter-spacing:.06em}
.pg-org{color:var(--t-ink-soft,#3c434c);font-size:var(--ty-body, 16px)!important}
.pg-card.is-cancelled .pg-what{opacity:.6}
.pg-card.is-cancelled .pg-what h3{text-decoration:line-through}
.pg-cancel{color:#a3261d;font-weight:600}
.pg-empty{font-size:var(--ty-body, 18px);padding:22px;background:var(--t-surface,#f6f7f8);border-radius:var(--t-radius,12px)}
.pg-back{margin:0 0 18px;font-size:var(--ty-small, 15px)}
.pg-image{width:100%;max-height:520px;object-fit:cover;border-radius:var(--t-radius,12px);margin:4px 0 28px}
.pg-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:48px;align-items:start}
.pg-body{font-size:var(--ty-body, 18px);line-height:1.65}
.pg-facts{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:24px 0 0;font-size:var(--ty-body, 17px)}
.pg-facts dt{font-weight:var(--ty-strong, 650)}.pg-facts dd{margin:0}
.pg-box{padding:20px 22px;margin-bottom:16px;background:var(--t-surface,#f6f7f8);border:1px solid var(--t-line,#e3e6ea);border-radius:var(--t-radius,12px)}
.pg-box h2{font-size:var(--ty-h4, 19px);margin:0 0 8px}
.pg-box p{margin:0 0 12px;font-size:var(--ty-body, 16px);line-height:1.5}
.pg .pg-cta,.pg .pg-cta:visited,.pg .pg-cta:hover{display:flex;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 22px;border-radius:var(--t-pill,8px);background:var(--t-accent,#2f5d62);color:var(--t-on-accent,#fff);font-weight:var(--ty-strong, 650);text-decoration:none;margin:4px 0 16px}
.pg .pg-cta:hover{filter:brightness(1.12)}
.pg-contact,.pg-dates{list-style:none;margin:0;padding:0;font-size:var(--ty-body, 16px)}
.pg-contact li{padding:3px 0;overflow-wrap:anywhere}
.pg-dates li{display:grid;padding:8px 0;border-top:1px solid var(--t-line,#e3e6ea)}
.pg-dates li:first-child{border-top:0}
.pg-dates li.is-cancelled{color:#a3261d}
.pg-more{font-size:var(--ty-small, 15px);margin:8px 0 0}
.pg-show .pg-head{margin-bottom:24px}
/* Eckdaten-Leiste (1.4.10) */
.pg-key{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0;margin:0 0 40px;border-top:1px solid var(--ty-ink,var(--t-ink,#1f2328));border-bottom:1px solid var(--ty-line,var(--t-line,#e3e6ea))}
.pg-key>div{padding:16px 20px 18px 0}
.pg-key>div+div{padding-left:20px;border-left:1px solid var(--ty-line,var(--t-line,#e3e6ea))}
.pg-key dt{margin:0 0 6px;font-size:var(--ty-kicker,12px);font-weight:var(--ty-strong,650);letter-spacing:.12em;text-transform:uppercase;color:var(--ty-muted,var(--t-muted,#5f6670))}
.pg-key dd{margin:0;font-size:var(--ty-body,17px);line-height:1.45;font-weight:var(--ty-strong,650)}
.pg-key-sub{font-weight:400;font-size:var(--ty-small,15px);color:var(--ty-muted,var(--t-muted,#5f6670))}
/* Spalten: Anmeldung rechts, mitlaufend */
.pg-show .pg-aside{grid-column:2;grid-row:1;position:sticky;top:110px}
.pg-show .pg-main{grid-column:1;grid-row:1;min-width:0}
.pg-show .pg-box{margin:0;padding:22px 24px;border-radius:var(--ty-radius,var(--t-radius,12px))}
.pg-show .pg-box h2{font-size:var(--ty-h4,19px);margin:0 0 8px}
.pg-box-wer{margin:0 0 4px!important;font-weight:var(--ty-strong,650)}
.pg-contact{font-size:var(--ty-small,15px)}
.pg-main>*:first-child{margin-top:0}
.pg-body{margin:0 0 36px;max-width:68ch}
.pg-part{margin:0 0 40px}
.pg-part h2{font-family:var(--t-font-head,inherit);font-size:var(--ty-h3,clamp(22px,2vw,26px));line-height:1.25;margin:0}
.pg-part-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;margin:0 0 14px}
.pg-part-hint{margin:0 0 14px;font-size:var(--ty-small,15px);color:var(--ty-muted,var(--t-muted,#5f6670))}
.pg-part .pg-facts{margin-top:12px}
/* Termine als Raster */
.pg-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}
.pg-tile{padding:12px 14px;border:1px solid var(--ty-line,var(--t-line,#e3e6ea));background:var(--ty-surface,var(--t-paper,#fff));border-radius:var(--ty-radius,6px)}
.pg-tile time{display:grid;gap:2px}
.pg-tile-tag{font-size:var(--ty-kicker,12px);font-weight:var(--ty-strong,650);letter-spacing:.1em;text-transform:uppercase;color:var(--ty-muted,var(--t-muted,#5f6670))}
.pg-tile strong{font-size:var(--ty-body,17px);font-variant-numeric:tabular-nums}
.pg-tile-zeit{font-size:var(--ty-small,14px);font-variant-numeric:tabular-nums}
.pg-tile.is-cancelled{opacity:.7}
.pg-tile.is-cancelled strong{text-decoration:line-through}
.pg-tile-ausfall{display:block;margin-top:4px;font-size:var(--ty-small,14px);font-weight:var(--ty-strong,650);color:var(--ty-err,#a3261d)}
.pg-weitere{margin-top:12px}
.pg-weitere summary{cursor:pointer;font-size:var(--ty-small,15px);color:var(--t-accent-text,var(--t-accent,#2f5d62));padding:6px 0}
.pg-weitere .pg-tiles{margin-top:8px}
.pg-notes{margin:12px 0 0;padding-left:18px;font-size:var(--ty-small,15px)}
@media (max-width:900px){
  .pg-show .pg-aside,.pg-show .pg-main{grid-column:auto;grid-row:auto;position:static}
  .pg-cols{grid-template-columns:1fr;gap:32px}
}
@media (max-width:760px){
  .pg-key{grid-template-columns:1fr 1fr}
  .pg-key>div{padding:14px 12px 14px 0}
  .pg-key>div+div{padding-left:0;border-left:0}
  .pg-key>div:nth-child(even){padding-left:12px;border-left:1px solid var(--ty-line,var(--t-line,#e3e6ea))}
  .pg-key>div:nth-child(n+3){border-top:1px solid var(--ty-line,var(--t-line,#e3e6ea))}
  .pg-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:760px){.pg-card{grid-template-columns:1fr;gap:6px}.pg-cols{grid-template-columns:1fr;gap:18px}.pg-filter label,.pg-filter select{width:100%}.pg-filter button{width:100%}}
