/* Modern reset */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; }
body {
  margin: 0;
  min-height: 100dvh;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: var(--fs-body);
  line-height: 1.65;
  color: var(--c-bone);
  background: var(--c-abyss);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Heading defaults — Bebas */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Bebas Neue', system-ui, sans-serif;
  color: var(--c-bone);
  margin: 0 0 var(--space-md);
  letter-spacing: 0.02em;
}
h1 { font-size: var(--fs-h1); line-height: 0.95; }
h2 { font-size: var(--fs-h2); line-height: 1.0; }
h3 { font-size: var(--fs-h3); line-height: 1.1; }

/* Paragraphs / Text */
p { margin: 0 0 var(--space-md); color: rgba(245, 240, 232, 0.85); }

/* Links — Brass with subtle underline */
a { color: var(--c-brass); text-decoration: none; transition: color var(--dur-fast) var(--ease-out); }
a:hover, a:focus-visible { color: var(--c-ember); }

/* Focus visible — Brass outline */
:focus-visible { outline: 2px solid var(--c-brass); outline-offset: 2px; border-radius: 2px; }

/* Lists */
ul, ol { margin: 0 0 var(--space-md); padding-left: 1.5em; }
li { margin-bottom: var(--space-xs); }

/* Images */
img, picture, video { max-width: 100%; height: auto; display: block; }

/* Forms — minimal base, full styling per template */
input, textarea, select, button { font: inherit; color: inherit; }
button { cursor: pointer; }

/* Skip-Link für Accessibility */
.skip-link {
  position: absolute; left: -9999px; top: 0;
  background: var(--c-ember); color: var(--c-snow);
  padding: var(--space-sm) var(--space-md);
  z-index: 9999; font-weight: 700;
}
.skip-link:focus { left: 0; }

/* Helper: visually hidden */
.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* WP-Layout: Container Width Helpers */
.wp-site-blocks { max-width: 100%; overflow-x: clip; }

/* WP Block-Gap Resets — verhindert unerwünschte margin-block-start in Header/Footer */
.site-header > *,
.site-header .wp-block-group > *,
.site-footer > * { margin-block-start: 0 !important; margin-block-end: 0 !important; }

/* WP Navigation Block — responsive overlay nur auf Mobile */
.site-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
@media (min-width: 881px) {
  .site-header .wp-block-navigation__responsive-container { display: block; }
  .site-header .wp-block-navigation__responsive-container-open { display: none; }
}

/* Links — kein underline (WP setzt underline via unlayered global) */
a:where(:not(.wp-element-button)) { text-decoration: none; }
a:where(:not(.wp-element-button)):hover { text-decoration: none; color: var(--c-ember); }

/* 404 — centered error page */
.error-404 .error-404__section {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: var(--space-md);
}
.error-404 .error-404__code {
  opacity: 0.3;
  margin: 0;
}
.error-404 .error-404__title { margin: 0; }
.error-404 .error-404__intro {
  max-width: 520px;
  margin: 0 0 var(--space-md);
}
.error-404 .error-404__search {
  width: 100%;
  max-width: 480px;
  margin-bottom: var(--space-md);
}
.error-404 .error-404__search .wp-block-search__inside-wrapper {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--radius-pill);
  overflow: hidden;
}
.error-404 .error-404__search input[type="search"] {
  background: transparent;
  border: 0;
  color: var(--c-bone);
  padding: var(--space-md) var(--space-lg);
  font-family: 'Inter', system-ui, sans-serif;
  font-size: var(--fs-body);
  flex: 1;
}
.error-404 .error-404__search input[type="search"]::placeholder { color: rgba(245, 240, 232, 0.55); }
.error-404 .error-404__search input[type="search"]:focus { outline: none; }
.error-404 .error-404__search .wp-block-search__button {
  background: var(--c-ember);
  color: var(--c-bone);
  border: 0;
  padding: var(--space-md) var(--space-lg);
  font-family: 'Inter', system-ui, sans-serif;
  font-size: var(--fs-ui);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 600;
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease-out);
}
.error-404 .error-404__search .wp-block-search__button:hover { background: var(--c-ember-deep); }
.error-404 .error-404__buttons { gap: var(--space-md); flex-wrap: wrap; justify-content: center; }
