/* Proben- & Auftrittsplan – Frontend. Farben über CSS-Variablen vom Theme anpassbar. */
.pap{--pap-ink:var(--color-ink,#1e1b4b);--pap-accent:var(--color-accent-strong,#c2410c);--pap-surface:var(--color-surface,#fff);--pap-muted:var(--color-muted-ink,#4b4a63);--pap-line:rgba(30,27,75,.12);--pap-radius:14px;margin:0 0 1.5rem}
.pap__titel{margin:0 0 1rem;font-size:1.25rem;line-height:1.3}
.pap__leer{margin:0;padding:1rem 1.25rem;border-radius:var(--pap-radius);background:var(--pap-surface);color:var(--pap-muted)}
.pap__liste{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.pap-termin{display:grid;grid-template-columns:4.25rem 1fr;gap:1rem;align-items:start;padding:1rem 1.25rem;background:var(--pap-surface);color:var(--pap-ink);border-radius:var(--pap-radius);box-shadow:0 1px 2px rgba(30,27,75,.06),0 6px 20px -12px rgba(30,27,75,.25);transition:transform .2s cubic-bezier(.23,1,.32,1),box-shadow .2s cubic-bezier(.23,1,.32,1)}
.pap-termin:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(30,27,75,.08),0 14px 28px -14px rgba(30,27,75,.35)}
.pap-termin__datum{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .25rem;border-radius:10px;background:var(--pap-ink);color:#fff;line-height:1.05;text-align:center}
.pap-termin--auftritt .pap-termin__datum{background:var(--pap-accent)}
.pap-termin__wtag,.pap-termin__monat{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.pap-termin__tag{font-size:1.6rem;font-weight:700;margin:.1rem 0}
.pap-termin__inhalt{min-width:0}
.pap-termin__name{margin:0 0 .35rem;font-weight:700;font-size:1.08rem;line-height:1.3}
.pap-termin__meta{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1rem;color:var(--pap-muted);font-size:.93rem}
.pap-termin__meta li{display:flex;align-items:flex-start;gap:.4rem;margin:0;padding:0;min-width:0}
.pap-termin__meta li::before{content:none}
.pap .pap-icon{width:18px;height:18px;flex:0 0 18px;margin-top:.2em;color:var(--pap-accent)}
.pap-termin__register span{font-weight:600}
.pap-termin__hinweis{margin:.5rem 0 0;font-size:.92rem;color:var(--pap-muted);border-left:3px solid var(--pap-line);padding-left:.65rem}
.pap .screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:600px){.pap-termin{grid-template-columns:3.5rem 1fr;gap:.75rem;padding:.85rem 1rem}.pap-termin__tag{font-size:1.35rem}}
@media (prefers-reduced-motion:reduce){.pap-termin{transition:none}.pap-termin:hover{transform:none}}
