/* Veranstaltungen: Übersicht mit Terminkarten und eine Seite je Veranstaltung. Rahmen, Kopf und Abschluss aus practice.css. */
.events-page [hidden]{display:none!important}
.event-draft-tag{padding:2px 7px;border-radius:4px;margin-right:4px;background:#fff1f8;color:#8c003c;white-space:nowrap}

/* Übersicht: eine Karte je Termin, das Datum als Kalenderblatt vorn. */
.event-list{list-style:none;margin:0;padding:0;display:grid;gap:24px;max-width:1100px}
.event-card{position:relative;display:grid;grid-template-columns:110px minmax(0,1fr);gap:28px;align-items:start;padding:26px 28px;border:1px solid #d3dcd7;border-radius:10px;background:#fff;transition:border-color .2s,box-shadow .2s}
.event-card.has-image{grid-template-columns:110px minmax(0,1fr) minmax(0,260px)}
.event-card:hover{border-color:var(--pink);box-shadow:0 8px 24px #092f2614}
.event-date{display:grid;justify-items:center;margin:0;padding:12px 8px 14px;border-radius:8px;background:var(--lime);line-height:1}
.event-date b{font:700 48px/1 Georgia,serif;letter-spacing:-1px}
.event-date span{margin-top:6px;font-size:17px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase}
.event-date small{margin-top:5px;font-size:14px}
.event-meta{margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:#4d6159}
.event-card h2{font:700 clamp(23px,2vw,30px)/1.2 Georgia,serif;letter-spacing:-.3px;color:#111;margin:0 0 8px}
.event-card h2 a{text-decoration:none}
.event-card h2,.event-head h1{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
/* Die ganze Karte führt zum Angebot. */
.event-card h2 a:after{content:'';position:absolute;inset:0}
.event-card-subtitle{margin:0 0 10px;font-size:17px;font-weight:500;line-height:1.4}
.event-when{margin:0 0 12px;font-size:16px;font-weight:600}
.event-card-excerpt{margin:0;font-size:16px;line-height:1.55;color:#33463f}
.event-card-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;margin:16px 0 0}
.event-price{font-size:19px;font-weight:600}
.event-price small,.event-facts small{font-size:14px;font-weight:400;color:#4d6159}
.event-more{font-size:16px;font-weight:600;text-decoration:underline;text-decoration-color:var(--pink);text-underline-offset:6px}
.event-card-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:6px;background:#eef2f0}
.events-empty{font-size:19px}
.events-outro{max-width:1100px}

/* Stempel „Ausgebucht“, schräg über Karte und Infokasten gedruckt; auf der Karte unten rechts, wo sonst „Zum Angebot“ steht. */
.event-stamp{position:absolute;bottom:16px;right:22px;z-index:1;padding:7px 14px 6px;border:4px solid var(--pink);border-radius:6px;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 4px var(--pink);background:#fffffff0;color:#e0007a;font-size:22px;font-weight:700;line-height:1;letter-spacing:3px;text-transform:uppercase;transform:rotate(-9deg);pointer-events:none}
.event-card.is-booked .event-more{visibility:hidden}

/* Seite einer Veranstaltung: links der Angebotstext, rechts die Eckdaten mit der Anmeldung. */
.events-back{margin:0 0 34px;font-size:16px;font-weight:600}
.events-back a,.event-prose a,.event-facts a:not(.primary){text-decoration-color:var(--pink);text-underline-offset:5px}
.event-draft{max-width:1200px;padding:14px 20px;border-left:4px solid var(--pink);background:#fff1f8;color:#8c003c;font-size:16px;line-height:1.5;margin:0 0 30px}
.event-layout{max-width:1200px;display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"kopf kopf" "text fakten";gap:10px 60px;align-items:start}
.event-head{grid-area:kopf;margin-bottom:26px}
.event-head h1{font:700 clamp(38px,5vw,66px)/1.06 Georgia,serif;letter-spacing:-.03em;color:#111;margin:0 0 18px;overflow-wrap:break-word}
.event-head .eyebrow{margin-bottom:18px}
.event-subtitle{margin:0;max-width:780px;font-size:clamp(20px,2vw,24px);line-height:1.45;font-weight:500}
.event-facts{grid-area:fakten;position:sticky;top:calc(var(--header-h,var(--header)) + 24px);padding:26px 26px 28px;border-radius:10px;background:#f6f4ee}
.event-facts dl{display:grid;gap:16px;margin:0 0 24px}
.event-facts dl div{display:grid;gap:3px}
.event-facts dt{font-size:12px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:#4d6159}
.event-facts dd{margin:0;font-size:18px;line-height:1.45;font-weight:500}
.event-address{font-size:16px;font-weight:400}
.event-facts .event-stamp{top:-14px;bottom:auto;right:14px}
/* Eigene Seite einer Veranstaltung (de.html): nur der Rahmen der Website, Gestaltung aus ihrer stil.css. */
.event-own{position:relative}
.event-own>.event-draft{margin:20px 4% 0}
.event-own .event-signup{position:relative}
.event-own .event-signup .event-stamp{top:-18px;bottom:auto;right:0}
.event-register{width:100%;text-decoration:none}
.event-register.is-pending{background:#dfe5e2;color:#4d6159;cursor:default}
.event-signup p,.event-past{margin:0;font-size:16px;line-height:1.5}
.event-past{font-weight:600}
.event-prose{grid-area:text;font-size:19px;line-height:1.7}
.event-prose>:first-child{margin-top:0}
.event-prose p,.event-prose ul,.event-prose ol{margin:0 0 22px}
.event-prose li{margin:6px 0}
.event-prose h2{font:700 clamp(27px,2.8vw,34px)/1.2 Georgia,serif;letter-spacing:-.5px;color:#111;margin:46px 0 14px}
.event-prose h3{font-size:22px;line-height:1.35;margin:34px 0 10px}
.event-prose img{display:block;max-width:100%;height:auto;margin:30px auto;border-radius:8px}
.event-prose .event-image{margin-top:0}
.event-prose blockquote{margin:30px 0;padding:6px 0 6px 24px;border-left:4px solid var(--pink);font-size:21px;font-style:italic}
.event-prose a[target=_blank]:after{content:" ↗"}
.event-questions{margin-top:44px!important;padding-top:22px;border-top:1px solid #d3dcd7;font-size:17px}

@media(max-width:960px){
  .event-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"kopf" "fakten" "text";gap:30px}
  .event-head{margin-bottom:0}
  .event-facts{position:relative;top:auto}
}
@media(max-width:760px){
  .event-card,.event-card.has-image{grid-template-columns:76px minmax(0,1fr);gap:18px;padding:20px 18px}
  .event-card-image{grid-column:1/-1;grid-row:1}
  .event-date{padding:10px 6px 12px}
  .event-date b{font-size:34px}
  .event-date span{font-size:14px}
  .event-stamp{font-size:18px;right:14px}
  .event-prose{font-size:18px}
}
