/* Zusätzliche Veranstaltungsdetails und Kontakte im bestehenden Kartenstil. */
.event-row { grid-template-columns: 200px minmax(0, 1fr); }
.event-label, .event-value { min-width: 0; overflow-wrap: anywhere; }
.event-value { font-weight: 600; }
.event-value p { margin: 0 0 10px; }
.event-value p:last-child { margin-bottom: 0; }
.event-value ul, .event-value ol { margin: 0; padding-left: 1.25em; }
.event-value li + li { margin-top: 8px; }
.time-entry { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 12px; }
.time-entry + .time-entry { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.contact-section { max-width: 760px; margin: 30px auto 0; text-align: left; }
.contact-section h2 { font-size: 1.18rem; line-height: 1.4; margin: 0 0 13px; color: #16315e; }
.contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.contact-card { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: 0 9px 20px rgba(22,49,94,.10); }
.contact-card h3 { margin: 0; font-size: 1.05rem; line-height: 1.4; overflow-wrap: anywhere; }
.contact-role { margin: 7px 0 10px; color: #435576; font-size: .9rem; line-height: 1.5; }
.contact-link { display: flex; align-items: center; width: fit-content; max-width: 100%; min-height: 44px; padding: 7px 0; color: #1146ab; font-weight: 650; line-height: 1.5; overflow-wrap: anywhere; text-underline-offset: 3px; }
.route-actions { margin-top: 22px; }
.event-date { line-height: 1.12; }
.site-footer__title { white-space: normal; }
a:focus-visible, .button:focus-visible, .site-footer__link:focus-visible { outline: 3px solid #16315e; outline-offset: 4px; }
#mittagessen { scroll-margin-top: 20px; }
@media (max-width: 680px) {
  .event-row, .time-entry, .contact-grid { grid-template-columns: 1fr; }
  .contact-section { margin-top: 26px; }
  .contact-card { padding: 16px; }
  .event-date { font-size: clamp(1.75rem, 7vw, 2.65rem); }
}
@media print {
  body { background: #fff; }
  .page { display: block; width: 100%; padding: 0; }
  .coming-card, .contact-card, .event-card { box-shadow: none; }
  .coming-card { overflow: visible; }
  .actions, .site-footer { display: none; }
  .card-body { padding: 20px 0; }
  .contact-card, .event-row { break-inside: avoid; }
}
