/**
 * Layout tokens: content widths and breakpoints. Standard responsive scale,
 * not CD-derived (no layout/grid rules were present in the supplied excerpt).
 */

:root {
  --content-max-width: 1200px;
  --content-padding-inline: var(--space-4);

  --breakpoint-sm: 480px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;

  /* Motion (APPLICATION_DESIGN — not CD-mandated, the manual has no motion
     rules). Respected sitewide via the prefers-reduced-motion override
     below, which already forces near-zero duration regardless of what
     components set.
     Durations were 600/750/900ms until 2026-09-29 — far too slow for UI
     feedback (a hover/focus state should register near-instantly, not
     visibly animate in over half a second). Tightened to a standard
     fast-UI scale; nothing here is CD-mandated so this is free to tune. */
  --transition-fast: 140ms ease;
  --transition-base: 200ms ease;
  --transition-slow: 320ms ease;
}

.container {
  max-width: var(--content-max-width);
  margin-inline: auto;
  padding-inline: var(--content-padding-inline);
  padding-top: var(--space-4);
  padding-bottom: var(--space-4);
}

/* Narrower reading column for text-heavy detail pages (event booking form,
   long-form prose) — the full 1200px .container reads too wide/sparse for
   a single article + a short form, per user feedback on event detail
   pages specifically. */
.content-narrow {
  max-width: 42rem;
  margin-inline: auto;
}

/* Account for the sticky nav bar (components.css .site-header__bar) so an
   in-page anchor — the skip link's #main-content, or #buchen on event
   pages — doesn't land hidden underneath it. A generous static estimate,
   not a measured value, since the bar's real height varies as nav items
   wrap on narrow screens. REQ-1.2.1-A11Y. */
html {
  scroll-padding-top: 100px;
}

/* Respect reduced-motion preference sitewide (REQ-1.2.1-A11Y) */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
