/* Termin-Einzelseite (0.5.37) */

.lsvd-event-head {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  width: calc(100% - 48px);
  max-width: 1120px !important;
  margin: clamp(32px, 5vw, 56px) auto clamp(36px, 5vw, 56px) !important;
}
.lsvd-event-head__media { margin: 0; border-radius: 14px; overflow: hidden; background: var(--lsvd-sand); box-shadow: 0 14px 40px rgba(26, 26, 26, .12); }
.lsvd-event-head__media img { display: block; width: 100%; height: auto; }
.lsvd-event-head__media:empty { display: none; }
.lsvd-event-head:has(.lsvd-event-head__media:empty) { grid-template-columns: 1fr; max-width: 760px !important; }

.lsvd-event-head__kicker {
  margin: 0 0 12px;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--lsvd-rot);
}
.lsvd-event-head__title { margin: 0 0 18px !important; font-size: clamp(2.3rem, 4.4vw, 3.6rem) !important; line-height: 1.04; letter-spacing: -.03em; text-wrap: balance; }
.lsvd-event-head__status {
  width: fit-content;
  margin: 0 0 14px;
  padding: 3px 10px;
  background: var(--lsvd-rot);
  color: #fff;
  font-size: .8rem;
  font-weight: 800;
  text-transform: uppercase;
}
.lsvd-event-head__when { margin: 0 0 22px; padding-left: 14px; border-left: 4px solid var(--lsvd-rot); }
.lsvd-event-head__when time { display: block; font-size: clamp(1.15rem, 1.8vw, 1.35rem); font-weight: 700; color: var(--lsvd-tinte); }
.lsvd-event-head__when span { display: block; margin-top: 2px; font-size: 1.05rem; color: var(--lsvd-tinte); }

.lsvd-event-head__facts { display: grid; gap: 12px; margin: 0 0 26px; }
.lsvd-event-head__facts > div { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 12px; align-items: baseline; }
.lsvd-event-head__facts dt {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--lsvd-stumm);
}
.lsvd-event-head__facts dd { margin: 0; line-height: 1.5; }
.lsvd-event-head__facts a { color: var(--lsvd-rot); font-size: .92rem; font-weight: 600; }

.lsvd-event-head__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0; }
.lsvd-event-btn {
  display: inline-block;
  padding: 13px 22px;
  border: 2px solid var(--lsvd-tinte);
  color: var(--lsvd-tinte) !important;
  font-weight: 700;
  text-decoration: none !important;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.lsvd-event-btn:hover, .lsvd-event-btn:focus-visible { background: var(--lsvd-tinte); color: #fff !important; transform: translateY(-2px); }
.lsvd-event-btn.is-primary { background: var(--lsvd-rot); border-color: var(--lsvd-rot); color: #fff !important; }
.lsvd-event-btn.is-primary:hover { background: var(--lsvd-tinte); border-color: var(--lsvd-tinte); }
.lsvd-event-link { color: var(--lsvd-rot); font-weight: 600; }

/* Inhaltshinweis */
.lsvd-event-note {
  width: calc(100% - 48px);
  max-width: 720px !important;
  margin: 0 auto 36px !important;
  padding: 16px 20px;
  background: var(--lsvd-sand);
  border-left: 4px solid var(--lsvd-stumm);
  font-size: .95rem;
  line-height: 1.55;
  color: var(--lsvd-tinte);
}
.lsvd-event-note strong { display: block; margin-bottom: 2px; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--lsvd-stumm); }
.lsvd-event-note__help { display: block; margin-top: 6px; }
.lsvd-event-note__help a { color: var(--lsvd-tinte); font-weight: 600; text-underline-offset: 3px; }

/* Text */
.lsvd-event-single .entry-content > p,
.lsvd-single-termin .wp-block-post-content > p { text-align: left !important; hyphens: manual !important; }
.lsvd-event-single .entry-content > p:first-of-type { font-size: clamp(1.15rem, 1.8vw, 1.35rem) !important; line-height: 1.5; color: var(--lsvd-tinte); }

/* Kontaktblock-Überschrift kleiner */
.single-termin .lsvd-global-contact > h2 {
  font-size: .82rem !important;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--lsvd-stumm) !important;
  margin-bottom: 12px !important;
}

/* Mehr aus der Reihe */
.lsvd-event-more { width: calc(100% - 48px); max-width: 720px !important; margin: 64px auto 80px !important; }
.lsvd-event-more h2 { margin: 0 0 18px; font-size: clamp(1.5rem, 2.6vw, 2rem); }
.lsvd-event-more ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--lsvd-linie); }
.lsvd-event-more li { border-bottom: 1px solid var(--lsvd-linie); }
.lsvd-event-more li a { display: grid; gap: 2px; padding: 14px 4px; color: var(--lsvd-tinte); text-decoration: none; transition: background .2s ease, padding .2s ease; }
.lsvd-event-more li a:hover { background: var(--lsvd-sand); padding-left: 12px; }
.lsvd-event-more time { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--lsvd-rot); }
.lsvd-event-more strong { font-size: 1.1rem; }
.lsvd-event-more span { font-size: .9rem; color: var(--lsvd-stumm); }
.lsvd-event-more__link { margin: 16px 0 0; }
.lsvd-event-more__link a { color: var(--lsvd-rot); font-weight: 700; }

@media (max-width: 860px) {
  .lsvd-event-head { grid-template-columns: 1fr; width: calc(100% - 32px); }
  .lsvd-event-head__facts > div { grid-template-columns: 1fr; gap: 2px; }
}

/* 0.11.3 – Eine Spalte, mittig
   Kopfbereich (Bild oben, Text darunter), Fließtext, Anmeldung, Kontakt und
   "Mehr aus der Reihe" teilen sich dieselbe zentrierte Spalte – auf dem
   Desktop wie auf dem Handy. */
body.single-termin {
  --lsvd-event-col: 720px;
  --lsvd-event-gutter: 24px;
}
@media (max-width: 860px) {
  body.single-termin { --lsvd-event-gutter: 16px; }
}
body.single-termin .lsvd-event-head {
  grid-template-columns: 1fr !important;
  gap: 28px !important;
  width: min(100% - 2 * var(--lsvd-event-gutter), var(--lsvd-event-col)) !important;
  max-width: none !important;
}
body.single-termin main .entry-content,
body.single-termin main .wp-block-post-content {
  max-width: none !important; width: 100% !important;
  padding-left: 0 !important; padding-right: 0 !important;
  margin-left: 0 !important; margin-right: 0 !important;
}
body.single-termin main .entry-content > *,
body.single-termin main .wp-block-post-content > *,
body.single-termin main > .lsvd-event-note,
body.single-termin main .lsvd-event-more {
  box-sizing: border-box;
  width: min(100% - 2 * var(--lsvd-event-gutter), var(--lsvd-event-col)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 0.11.3 – Ruhigerer Einstieg: weniger Leerraum über dem Plakat, damit Titel
   und Datum auf dem Desktop im ersten Bildschirm liegen. */
body.single-termin main { padding-top: clamp(24px, 3vw, 40px) !important; }
body.single-termin .lsvd-event-head { margin-top: 0 !important; gap: 24px !important; }

/* Zwischenüberschriften im Text in derselben Serife wie der Titel
   (vorher Georgia neben Noto Serif) und mit Luft nach oben. */
body.single-termin main .entry-content > h2,
body.single-termin main .entry-content > h3 {
  font-family: var(--wp--preset--font-family--serif) !important;
  font-size: clamp(1.6rem, 2.6vw, 2rem) !important;
  line-height: 1.15;
  margin-top: 1.6em !important;
  margin-bottom: .5em !important;
}
