/* Gemeinsame Basis. Abschnittsdetails stehen ausschließlich in css/modules/. */
:root {
  --lemp-cream: #f4eddf;
  --lemp-ink: #292622;
  --lemp-red: #a5242d;
  --lemp-red-hover: #8f1f27;
  --lemp-font-body: "Source Sans 3", Arial, sans-serif;
  --lemp-font-heading: "Barlow Condensed", "Arial Narrow", sans-serif;
  --lemp-font-hand: "Caveat", cursive;
}
body { margin: 0; color: var(--lemp-ink); background: var(--lemp-cream); font-family: var(--lemp-font-body); }
img { max-width: 100%; height: auto; }
a { color: inherit; }
.lemp-container { --bs-gutter-x: 2.5rem; }
.lemp-skip-link { position: fixed; top: .5rem; left: .5rem; z-index: 2000; padding: .75rem 1rem; background: white; color: var(--lemp-ink); transform: translateY(-200%); }
.lemp-skip-link:focus { transform: none; }
:focus-visible { outline: 3px solid #156d96; outline-offset: 4px; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
@media (min-width: 1400px) { .lemp-container { max-width: 1320px; } }

/* Gemeinsamer Abstand für Sprungziele unter der festen Navigation. */
[data-lemp-module][id], main#top { scroll-margin-top: 100px; }


/* Date-specific hours share the typography and spacing of their surrounding content. */
.lemp-special-hours { border-inline-start: 3px solid var(--lemp-red); padding: .65rem .8rem; margin: .75rem 0; min-width: 0; max-width: 100%; overflow-wrap: anywhere; font: inherit; }
.lemp-special-hours--active { background: rgba(165,36,45,.08); border-radius: 0 .35rem .35rem 0; }
.lemp-special-hours > strong, .lemp-special-hours span { display: block; }
.lemp-special-hours dt { font-weight: 700; }
.lemp-special-hours dd { margin: .25rem 0 0; }
.lemp-special-hours__regular { margin-top: 1rem; }
.site-footer .lemp-special-hours, .hero-card .lemp-special-hours { border-color: #eaa1a7; }
.site-footer .lemp-special-hours--active, .hero-card .lemp-special-hours--active { background: rgba(255,255,255,.08); }
@media(max-width:767px) { .hero-card .lemp-special-hours { border-color: var(--lemp-red); } .hero-card .lemp-special-hours--active { background: rgba(165,36,45,.08); } }
/* Override the compact regular-hours rows only for longer exception notices. */
[data-lemp-module="footer"] .site-footer__hours-list > :is(.lemp-special-hours, .lemp-special-hours__regular) { display: block; }
[data-lemp-module="footer"] .site-footer__hours-list :is(.lemp-special-hours, .lemp-special-hours__regular) dd { white-space: normal; }
[data-lemp-module="footer"] .site-footer__hours-list .lemp-special-hours dt { font-weight: 700; }
