/**
 * Fenix chrome — Header, Skip-Links, Mobile-Nav, Footer.
 * Nutzt Tokens/Primitives aus tokens.css (--fx-*). Keine neuen Systemklassen.
 *
 * Header-Farbregel: Menü-Blau (#225BCF / --fx-menu-bg), helles Nav (#F0F1F1),
 * Gold-CTA-Fill (#CF9622) mit dunklem Label (#0E1012). Nie Roh-Gold-Text auf Blau
 * (2.32:1) — Active/Focus: heller Text + Gold nur als Unterstreichung/Border.
 * Footer-CTA Cream (#FEECDA): Links #68480c, Primary-Label #0E1012 auf Gold.
 * Kein WordPress-Default-Linkblau (#4b83f1 / Admin-Blue) im Chrome.
 */

/* --- Skip links --- */

.fx-skip-links {
  position: relative;
  z-index: 100000;
}

.fx-skip-link {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.fx-skip-link:focus,
.fx-skip-link:focus-visible {
  position: fixed;
  top: 0.75rem;
  left: 1rem;
  z-index: 100001;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0.65rem 1rem;
  overflow: visible;
  clip: auto;
  clip-path: none;
  white-space: normal;
  border-radius: var(--fx-radius-btn, 8px);
  background: var(--fx-ink);
  color: var(--fx-paper);
  font-family: "Red Hat Text", inherit;
  font-size: 0.9rem;
  font-weight: 500;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  outline: 2px solid var(--fx-ember);
  outline-offset: 2px;
}

.fx-skip-link--footer:focus,
.fx-skip-link--footer:focus-visible {
  top: calc(0.75rem + 2.85rem);
}

#main-content:focus,
#fenix-site-footer:focus {
  outline: none;
}

html {
  scroll-padding-top: 4.5rem;
}

/* --- Header: Menü-Blau + helles Nav (schlägt Bundle/Overrides, auch bei .fx-bg-ink) --- */

.fenix-site-header,
.wp-block-template-part .fenix-site-header,
.fenix-site-header.fx-bg-ink,
.fenix-site-header.fx-bg-paper,
html.fenix-context-madera .fenix-site-header,
html.fenix-context-gastroflow .fenix-site-header,
body.fenix-context-madera .fenix-site-header,
body.fenix-context-gastroflow .fenix-site-header,
body.madera .fenix-site-header,
body.gastroflow .fenix-site-header,
html.fenix-context-madera .fenix-site-header.fx-bg-ink,
html.fenix-context-gastroflow .fenix-site-header.fx-bg-ink,
body.fenix-context-madera .fenix-site-header.fx-bg-ink,
body.fenix-context-gastroflow .fenix-site-header.fx-bg-ink,
html.fenix-context-madera .fenix-site-header.has-background,
html.fenix-context-gastroflow .fenix-site-header.has-background,
body.fenix-context-madera .fenix-site-header.has-background,
body.fenix-context-gastroflow .fenix-site-header.has-background,
html.fenix-context-madera .fenix-site-header[style*="background"],
html.fenix-context-gastroflow .fenix-site-header[style*="background"],
body.fenix-context-madera .fenix-site-header[style*="background"],
body.fenix-context-gastroflow .fenix-site-header[style*="background"],
html body .fenix-site-header,
html body .fenix-site-header.fx-bg-ink,
html body .fenix-site-header.fx-bg-paper {
  --fx-menu-fg: #F0F1F1;
  --fx-menu-cta: #CF9622;
  --fx-menu-cta-hover: color-mix(in srgb, #CF9622 86%, #000);
  --fx-text-on-ink: var(--fx-menu-fg, #F0F1F1);
  box-sizing: border-box;
  position: sticky;
  top: 0;
  z-index: 40;
  width: 100%;
  max-width: 100%;
  background: var(--fx-menu-bg, #225BCF) !important;
  background-color: var(--fx-menu-bg, #225BCF) !important;
  background-image: none !important;
  border-bottom: 1px solid transparent !important;
  padding: 0.55rem 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  color: var(--fx-menu-fg, #F0F1F1) !important;
  overflow-x: clip;
  transition: border-color var(--fx-ease), background-color var(--fx-ease), box-shadow var(--fx-ease), backdrop-filter var(--fx-ease);
}

.fenix-site-header.is-scrolled,
html.fenix-context-madera .fenix-site-header.is-scrolled,
html.fenix-context-gastroflow .fenix-site-header.is-scrolled,
body.fenix-context-madera .fenix-site-header.is-scrolled,
body.fenix-context-gastroflow .fenix-site-header.is-scrolled {
  background: var(--fx-menu-bg, #225BCF) !important;
  background-color: var(--fx-menu-bg, #225BCF) !important;
  border-bottom-color: color-mix(in srgb, var(--fx-menu-fg, #F0F1F1) 14%, transparent) !important;
}

/* Experience: Sticky / Blur / Dichte / Schatten (Body-Klassen aus Design-Tab) */
html body.fenix-exp-sticky-header .fenix-site-header,
html body.fenix-exp-sticky-header .fenix-site-header.fx-bg-ink,
html body.fenix-exp-sticky-header .fenix-site-header.fx-bg-paper {
  position: sticky !important;
  top: 0;
}

html body.fenix-exp-static-header .fenix-site-header,
html body.fenix-exp-static-header .fenix-site-header.fx-bg-ink,
html body.fenix-exp-static-header .fenix-site-header.fx-bg-paper {
  position: relative !important;
  top: auto;
}

html body.fenix-exp-solid-header .fenix-site-header,
html body.fenix-exp-solid-header .fenix-site-header.fx-bg-ink,
html body.fenix-exp-solid-header .fenix-site-header.fx-bg-paper,
html body.fenix-exp-solid-header .fenix-site-header.is-scrolled {
  background: var(--fx-menu-bg, #225BCF) !important;
  background-color: var(--fx-menu-bg, #225BCF) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html body.fenix-exp-blur-header .fenix-site-header,
html body.fenix-exp-blur-header .fenix-site-header.fx-bg-ink,
html body.fenix-exp-blur-header .fenix-site-header.fx-bg-paper,
html body.fenix-exp-blur-header .fenix-site-header.is-scrolled {
  background: color-mix(in srgb, var(--fx-menu-bg, #225BCF) 78%, transparent) !important;
  background-color: color-mix(in srgb, var(--fx-menu-bg, #225BCF) 78%, transparent) !important;
  backdrop-filter: saturate(1.12) blur(18px) !important;
  -webkit-backdrop-filter: saturate(1.12) blur(18px) !important;
}

html body.fenix-exp-header-shadow .fenix-site-header.is-scrolled {
  box-shadow: 0 10px 28px color-mix(in srgb, var(--fx-menu-bg, #225BCF) 36%, transparent) !important;
}

html body.fenix-exp-no-header-shadow .fenix-site-header,
html body.fenix-exp-no-header-shadow .fenix-site-header.is-scrolled {
  box-shadow: none !important;
}

html body.fenix-exp-density-comfortable .fenix-site-header,
html body.fenix-exp-density-comfortable .fenix-site-header.fx-bg-ink {
  padding-top: 0.55rem !important;
  padding-bottom: 0.55rem !important;
}

html body.fenix-exp-density-compact .fenix-site-header,
html body.fenix-exp-density-compact .fenix-site-header.fx-bg-ink {
  padding-top: 0.28rem !important;
  padding-bottom: 0.28rem !important;
}

.fenix-site-header > .wp-block-group,
.fenix-site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  max-width: 80rem;
  margin-inline: auto;
  min-width: 0;
  flex-wrap: nowrap;
}

.fenix-site-header__brand,
.fenix-site-header .wp-block-site-title.fenix-site-header__brand,
.fenix-site-header__brand.has-light-color,
.fenix-site-header__brand.has-text-color,
html.fenix-context-madera .fenix-site-header .fenix-site-header__brand,
html.fenix-context-gastroflow .fenix-site-header .fenix-site-header__brand,
body.fenix-context-madera .fenix-site-header .fenix-site-header__brand,
body.fenix-context-gastroflow .fenix-site-header .fenix-site-header__brand,
html.fenix-context-madera .fenix-site-header .fenix-site-header__brand.has-light-color,
html.fenix-context-gastroflow .fenix-site-header .fenix-site-header__brand.has-light-color,
body.fenix-context-madera .fenix-site-header .fenix-site-header__brand.has-light-color,
body.fenix-context-gastroflow .fenix-site-header .fenix-site-header__brand.has-light-color,
html.fenix-context-madera .fenix-site-header .has-light-color,
html.fenix-context-gastroflow .fenix-site-header .has-light-color,
body.fenix-context-madera .fenix-site-header .has-light-color,
body.fenix-context-gastroflow .fenix-site-header .has-light-color {
  display: inline-flex !important;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
  margin: 0;
  color: var(--fx-menu-fg, #F0F1F1) !important;
  font-family: "Red Hat Display", inherit;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1;
  text-decoration: none;
  text-transform: none;
  white-space: nowrap;
  opacity: 1 !important;
}

.fenix-site-header__wordmark,
.fenix-site-header__accent,
html.fenix-context-madera .fenix-site-header__wordmark,
html.fenix-context-gastroflow .fenix-site-header__wordmark,
body.fenix-context-madera .fenix-site-header__wordmark,
body.fenix-context-gastroflow .fenix-site-header__wordmark,
html.fenix-context-madera .fenix-site-header__accent,
html.fenix-context-gastroflow .fenix-site-header__accent,
body.fenix-context-madera .fenix-site-header__accent,
body.fenix-context-gastroflow .fenix-site-header__accent {
  color: inherit !important;
}

.fenix-site-header__mark,
.fenix-site-header .fenix-site-header__mark,
.fenix-site-header__brand--size-compact .fenix-site-header__mark,
.fenix-site-header__brand--size-large .fenix-site-header__mark {
  display: inline-flex;
  flex-shrink: 0;
  width: 2.25rem;
  height: 2.25rem;
  max-height: 2.5rem;
  filter: none;
  background: transparent !important;
  background-color: transparent !important;
}

.fenix-site-header__mark--image,
.fenix-site-header .fenix-site-header__mark--image,
.fenix-site-header__brand--size-compact .fenix-site-header__mark--image,
.fenix-site-header__brand--size-large .fenix-site-header__mark--image {
  width: auto;
  max-width: 9rem;
  height: 2.25rem;
  max-height: 2.5rem;
}

.fenix-site-header__logo-img,
.fenix-site-header .fenix-site-header__logo-img,
.fenix-site-header__brand--size-compact .fenix-site-header__logo-img,
.fenix-site-header__brand--size-large .fenix-site-header__logo-img {
  display: block;
  height: 100%;
  width: auto;
  max-height: 2.5rem;
  max-width: 9rem;
  object-fit: contain;
  border-radius: var(--fx-radius-control, 6px);
  background: transparent !important;
  background-color: transparent !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
  filter: none;
}

.fenix-site-header__mark,
.fenix-site-header .fenix-site-header__mark,
.fenix-site-header__brand--size-compact .fenix-site-header__mark,
.fenix-site-header__brand--size-large .fenix-site-header__mark {
  height: 2.5rem;
  width: 2.5rem;
  max-height: 2.5rem;
}

.fenix-site-header__mark--image,
.fenix-site-header .fenix-site-header__mark--image,
.fenix-site-header__brand--size-compact .fenix-site-header__mark--image,
.fenix-site-header__brand--size-large .fenix-site-header__mark--image {
  width: auto;
  height: 2.5rem;
  max-height: 2.5rem;
  max-width: 9rem;
}

.fenix-site-header__logo-img,
.fenix-site-header .fenix-site-header__logo-img,
.fenix-site-header__mark--image,
.fenix-site-header .fenix-site-header__mark--image,
.fenix-site-header__brand--surface-transparent .fenix-site-header__mark {
  background: transparent !important;
  background-color: transparent !important;
}

.fenix-site-header__brand--surface-light .fenix-site-header__mark:not(.fenix-site-header__mark--image) {
  background: #f8fafc !important;
  background-color: #f8fafc !important;
}

.fenix-site-header__brand--surface-dark .fenix-site-header__mark:not(.fenix-site-header__mark--image) {
  background: #08080a !important;
  background-color: #08080a !important;
}

.fenix-site-header__mark svg rect[fill="#08080a"] {
  fill: color-mix(in srgb, var(--fx-text-on-ink, #f3f0ea) 10%, var(--fx-ink, #0e1012));
}

.fenix-site-header__brand--surface-dark .fenix-site-header__mark:not(.fenix-site-header__mark--image),
.fenix-site-header__brand--surface-light .fenix-site-header__mark:not(.fenix-site-header__mark--image) {
  border-radius: var(--fx-radius-btn, 8px);
}

.fenix-logo-image--reveal,
.fenix-logo-image--pulse,
.fenix-site-header .fenix-logo-image--reveal,
.fenix-site-header .fenix-logo-image--pulse,
.fenix-site-header__brand--anim-reveal,
.fenix-site-header__brand--anim-reveal .fenix-site-header__mark,
.fenix-site-header__brand--anim-reveal .fenix-site-header__logo-img {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}

/* --- Desktop nav --- */

.fenix-header-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  margin-left: auto;
  min-width: 0;
}

.fenix-brand-switch,
.fenix-context-pill {
  display: none !important;
}

.fenix-header-nav__list,
.fenix-header-nav__list--fenix,
.fenix-header-nav__list--madera,
body.fenix-context-fenix .fenix-header-nav__list--fenix,
body.fenix-context-madera .fenix-header-nav__list--madera,
body.fenix-context-gastroflow .fenix-header-nav__list--madera {
  display: none;
  align-items: center;
  gap: 0.15rem 1.15rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fenix-header-nav__item {
  position: relative;
  display: flex;
  align-items: center;
}

.fenix-header-nav__item--has-children > .fenix-header-nav__link--parent::after {
  content: "";
  display: inline-block;
  width: 0.35rem;
  height: 0.35rem;
  margin-inline-start: 0.4rem;
  border-inline-end: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-0.12rem);
}

/* Kill global/WP link blue bleed inside the blue chrome header. */
.fenix-site-header,
.fenix-site-header.fx-bg-ink {
  --wp--style--color--link: var(--fx-menu-fg, #F0F1F1);
  --wp--preset--color--vivid-cyan-blue: var(--fx-menu-cta, #CF9622);
}

.fenix-site-header a:where(:not(.fx-btn):not(.wp-element-button):not(.fenix-header-nav__cta)) {
  color: var(--fx-menu-fg, #F0F1F1);
}

.fenix-header-nav__link,
.fenix-site-header .fenix-header-nav__link,
.fenix-site-header.fx-bg-ink .fenix-header-nav__link,
.fenix-header-nav[data-fenix-nav-context] .fenix-header-nav__link,
html.fenix-context-madera .fenix-site-header.fx-bg-ink .fenix-header-nav__link,
html.fenix-context-gastroflow .fenix-site-header.fx-bg-ink .fenix-header-nav__link,
body.fenix-context-madera .fenix-site-header.fx-bg-ink .fenix-header-nav__link,
body.fenix-context-gastroflow .fenix-site-header.fx-bg-ink .fenix-header-nav__link,
body.madera .fenix-site-header.fx-bg-ink .fenix-header-nav__link,
body.gastroflow .fenix-site-header.fx-bg-ink .fenix-header-nav__link,
html.fenix-context-madera .fenix-header-nav__link,
html.fenix-context-gastroflow .fenix-header-nav__link,
body.fenix-context-madera .fenix-header-nav__link,
body.fenix-context-gastroflow .fenix-header-nav__link,
body.madera .fenix-header-nav__link,
body.gastroflow .fenix-header-nav__link {
  display: inline-flex;
  align-items: center;
  position: relative;
  min-height: 2.25rem;
  padding: 0;
  color: var(--fx-menu-fg, #F0F1F1) !important;
  font-family: "Red Hat Text", inherit;
  font-size: 0.9375rem;
  font-weight: 500;
  text-decoration: none;
  text-decoration-color: transparent;
  background: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: color var(--fx-ease), text-decoration-color var(--fx-ease);
}

.fenix-header-nav__link:hover,
.fenix-header-nav__link:focus-visible,
.fenix-site-header.fx-bg-ink .fenix-header-nav__link:hover,
.fenix-site-header.fx-bg-ink .fenix-header-nav__link:focus-visible,
.fenix-header-nav[data-fenix-nav-context] .fenix-header-nav__link:hover,
.fenix-header-nav[data-fenix-nav-context] .fenix-header-nav__link:focus-visible,
html.fenix-context-madera .fenix-site-header.fx-bg-ink .fenix-header-nav__link:hover,
html.fenix-context-gastroflow .fenix-site-header.fx-bg-ink .fenix-header-nav__link:hover,
body.fenix-context-madera .fenix-site-header.fx-bg-ink .fenix-header-nav__link:hover,
body.fenix-context-gastroflow .fenix-site-header.fx-bg-ink .fenix-header-nav__link:hover,
html.fenix-context-madera .fenix-header-nav__link:hover,
html.fenix-context-gastroflow .fenix-header-nav__link:hover,
body.fenix-context-madera .fenix-header-nav__link:hover,
body.fenix-context-gastroflow .fenix-header-nav__link:hover,
html.fenix-context-madera .fenix-header-nav__link:focus-visible,
html.fenix-context-gastroflow .fenix-header-nav__link:focus-visible,
body.fenix-context-madera .fenix-header-nav__link:focus-visible,
body.fenix-context-gastroflow .fenix-header-nav__link:focus-visible {
  color: var(--fx-menu-fg, #F0F1F1) !important;
  text-decoration-color: color-mix(in srgb, var(--fx-menu-cta, #CF9622) 55%, transparent);
  outline: none;
}

.fenix-header-nav__link:focus-visible {
  /* Gold outline on #225BCF fails UI 3:1 (~2.3); light ring passes (~5.4) */
  outline: 2px solid var(--fx-menu-fg, #F0F1F1);
  outline-offset: 3px;
}

.fenix-header-nav__link.is-active,
.fenix-header-nav__link[aria-current="page"],
.fenix-site-header.fx-bg-ink .fenix-header-nav__link.is-active,
.fenix-site-header.fx-bg-ink .fenix-header-nav__link[aria-current="page"],
.fenix-header-nav[data-fenix-nav-context] .fenix-header-nav__link.is-active,
.fenix-header-nav[data-fenix-nav-context] .fenix-header-nav__link[aria-current="page"],
html.fenix-context-madera .fenix-site-header.fx-bg-ink .fenix-header-nav__link.is-active,
html.fenix-context-gastroflow .fenix-site-header.fx-bg-ink .fenix-header-nav__link.is-active,
body.fenix-context-madera .fenix-site-header.fx-bg-ink .fenix-header-nav__link.is-active,
body.fenix-context-gastroflow .fenix-site-header.fx-bg-ink .fenix-header-nav__link.is-active,
html.fenix-context-madera .fenix-header-nav__link.is-active,
html.fenix-context-gastroflow .fenix-header-nav__link.is-active,
body.fenix-context-madera .fenix-header-nav__link.is-active,
body.fenix-context-gastroflow .fenix-header-nav__link.is-active,
html.fenix-context-madera .fenix-header-nav__link[aria-current="page"],
html.fenix-context-gastroflow .fenix-header-nav__link[aria-current="page"],
body.fenix-context-madera .fenix-header-nav__link[aria-current="page"],
body.fenix-context-gastroflow .fenix-header-nav__link[aria-current="page"] {
  /* Gold on #225BCF fails AA (~2.3:1); keep gold only as underline accent */
  color: var(--fx-menu-fg, #F0F1F1) !important;
  font-weight: 600;
  text-decoration-color: color-mix(in srgb, var(--fx-menu-cta, #CF9622) 72%, transparent);
}

.fenix-header-nav__link.is-active::after,
.fenix-header-nav__link[aria-current="page"]::after,
body:not([class*="fenix-exp-nav-"]) .fenix-header-nav__link.is-active::after,
body:not([class*="fenix-exp-nav-"]) .fenix-header-nav__link[aria-current="page"]::after,
body.fenix-exp-nav-underline .fenix-header-nav__link.is-active::after,
body.fenix-exp-nav-pill .fenix-header-nav__link.is-active::after,
body.fenix-exp-nav-dot .fenix-header-nav__link.is-active::after {
  content: none !important;
  display: none !important;
  background: none !important;
  box-shadow: none !important;
}

body.fenix-exp-nav-pill .fenix-header-nav__link.is-active,
body.fenix-exp-nav-pill .fenix-header-nav__link[aria-current="page"] {
  display: inline-flex !important;
  background: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding-inline: 0 !important;
}

/* Desktop dropdown — only Primary list, not overlay */
.fenix-header-nav__sublist {
  display: none;
}

@media (min-width: 961px) {
  .fenix-site-header,
  html body .fenix-site-header,
  html body .fenix-site-header.fx-bg-ink,
  html body .fenix-site-header.fx-bg-paper {
    overflow: visible;
    overflow-x: visible;
    overflow-y: visible;
  }

  .fenix-header-nav,
  .fenix-header-nav__list,
  .fenix-header-nav__item,
  .fenix-header-nav__item--has-children {
    overflow: visible;
  }

  .fenix-header-nav__sublist {
    display: block;
    position: absolute;
    top: calc(100% - 0.1rem);
    left: 0;
    z-index: 60;
    min-width: 13.5rem;
    margin: 0;
    padding: 0.45rem 0;
    list-style: none;
    background: var(--fx-menu-bg, #225BCF);
    border: 1px solid color-mix(in srgb, var(--fx-menu-fg, #F0F1F1) 14%, transparent);
    border-radius: var(--fx-radius-btn, 8px);
    box-shadow: 0 14px 32px color-mix(in srgb, var(--fx-menu-bg, #225BCF) 48%, transparent);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(0.3rem);
  }

  .fenix-header-nav__item--has-children:hover > .fenix-header-nav__sublist,
  .fenix-header-nav__item--has-children:focus-within > .fenix-header-nav__sublist {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }

  .fenix-header-nav__subitem {
    display: block;
    position: relative;
    margin: 0;
  }

  .fenix-header-nav__sublink,
  .fenix-header-nav__sublist a,
  .fenix-header-nav__sublist span.fenix-header-nav__sublink {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 2.15rem;
    padding: 0.35rem 0.95rem;
    color: color-mix(in srgb, var(--fx-menu-fg, #F0F1F1) 92%, transparent) !important;
    font-family: "Red Hat Text", inherit;
    font-size: 0.9rem;
    font-weight: 500;
    text-decoration: none;
    background: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .fenix-header-nav__sublink:hover,
  .fenix-header-nav__sublink:focus-visible,
  .fenix-header-nav__sublist a:hover,
  .fenix-header-nav__sublist a:focus-visible {
    color: var(--fx-menu-fg, #F0F1F1) !important;
    background: color-mix(in srgb, var(--fx-menu-fg, #F0F1F1) 8%, transparent) !important;
    outline: none;
  }

  .fenix-header-nav__sublink:focus-visible,
  .fenix-header-nav__sublist a:focus-visible {
    outline: 2px solid var(--fx-menu-fg, #F0F1F1);
    outline-offset: -2px;
  }

  .fenix-header-nav__sublink.is-active,
  .fenix-header-nav__sublink[aria-current="page"] {
    color: var(--fx-menu-fg, #F0F1F1) !important;
    font-weight: 600;
  }

  .fenix-header-nav__sublist--nested {
    top: 0;
    left: 100%;
    margin-inline-start: 0.15rem;
  }

  .fenix-header-nav__subitem--has-children:hover > .fenix-header-nav__sublist--nested,
  .fenix-header-nav__subitem--has-children:focus-within > .fenix-header-nav__sublist--nested {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }
}

@media (min-width: 961px) and (prefers-reduced-motion: reduce) {
  .fenix-header-nav__sublist {
    transform: none;
  }
}

.fenix-site-header__inner > .fenix-site-header__brand--with-text::after {
  content: none;
}

.fenix-site-header__inner > .fenix-site-header__brand--mark-only:not(:has(.fenix-site-header__wordmark))::after {
  content: "FENIX";
  color: var(--fx-menu-fg, #F0F1F1);
  font-family: "Red Hat Display", inherit;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.fenix-header-nav__cta,
.fenix-header-nav__cta.fx-btn,
.fenix-header-nav__cta.fx-btn-primary {
  flex-shrink: 0;
  font-size: 0.875rem;
  min-height: 2.75rem;
  padding-inline: 0.95rem;
}

/* Header CTA: Gold-Fill, dunkles Label (#0E1012) — nie Gold-Text auf Blau. */
html body .fenix-site-header.fx-bg-ink .fenix-header-nav__cta.fx-btn-primary,
html body .fenix-header-nav__overlay-cta.fx-btn-primary,
.fenix-site-header .fenix-header-nav__cta.fx-btn-primary,
.fenix-header-nav__overlay-cta.fx-btn-primary {
  background: var(--fx-menu-cta, #CF9622) !important;
  background-color: var(--fx-menu-cta, #CF9622) !important;
  background-image: none !important;
  border-color: var(--fx-menu-cta, #CF9622) !important;
  color: #0E1012 !important;
}

html body .fenix-site-header.fx-bg-ink .fenix-header-nav__cta.fx-btn-primary:hover,
html body .fenix-site-header.fx-bg-ink .fenix-header-nav__cta.fx-btn-primary:focus-visible,
.fenix-site-header .fenix-header-nav__cta.fx-btn-primary:hover,
.fenix-site-header .fenix-header-nav__cta.fx-btn-primary:focus-visible,
.fenix-header-nav__overlay-cta.fx-btn-primary:hover,
.fenix-header-nav__overlay-cta.fx-btn-primary:focus-visible {
  background: var(--fx-menu-cta-hover, color-mix(in srgb, #CF9622 86%, #000)) !important;
  background-color: var(--fx-menu-cta-hover, color-mix(in srgb, #CF9622 86%, #000)) !important;
  background-image: none !important;
  border-color: var(--fx-menu-cta-hover, color-mix(in srgb, #CF9622 86%, #000)) !important;
  color: #0E1012 !important;
}

.fenix-site-header .fenix-header-nav__cta.fx-btn-primary:focus-visible {
  outline: 2px solid var(--fx-menu-fg, #F0F1F1);
  outline-offset: 2px;
}

.fenix-header-nav__overlay-cta.fx-btn-primary:focus-visible {
  outline: 2px solid #0E1012;
  outline-offset: 2px;
}

.fenix-header-nav__cta .fx-icon,
.fenix-header-nav__overlay-cta .fx-icon {
  margin-inline-start: 0.35rem;
}

.fenix-header-nav__toggle,
html.fenix-context-madera .fenix-header-nav__toggle,
html.fenix-context-gastroflow .fenix-header-nav__toggle,
body.fenix-context-madera .fenix-header-nav__toggle,
body.fenix-context-gastroflow .fenix-header-nav__toggle,
body.madera .fenix-header-nav__toggle,
body.gastroflow .fenix-header-nav__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  flex-shrink: 0;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0.45rem 0.7rem;
  border: 1px solid color-mix(in srgb, var(--fx-menu-fg, #F0F1F1) 44%, transparent);
  border-radius: var(--fx-radius-btn, 8px);
  background: transparent !important;
  color: var(--fx-menu-fg, #F0F1F1) !important;
  cursor: pointer;
  transition: background-color var(--fx-ease), border-color var(--fx-ease);
}

.fenix-header-nav__toggle .fx-icon,
.fenix-header-nav__toggle svg {
  color: inherit !important;
  stroke: currentColor !important;
  flex-shrink: 0;
}

.fenix-header-nav__toggle:hover,
.fenix-header-nav__toggle:focus-visible,
html.fenix-context-madera .fenix-header-nav__toggle:hover,
html.fenix-context-gastroflow .fenix-header-nav__toggle:hover,
body.fenix-context-madera .fenix-header-nav__toggle:hover,
body.fenix-context-gastroflow .fenix-header-nav__toggle:hover {
  background: color-mix(in srgb, var(--fx-menu-fg, #F0F1F1) 10%, transparent) !important;
  border-color: color-mix(in srgb, var(--fx-menu-fg, #F0F1F1) 58%, transparent);
  outline: none;
}

.fenix-header-nav__toggle:focus-visible {
  outline: 2px solid var(--fx-menu-fg, #F0F1F1);
  outline-offset: 2px;
}

.fenix-header-nav__toggle-label {
  font-family: var(--fx-font-text, inherit);
  font-size: 0.875rem;
  font-weight: 500;
}

.fenix-site-header.fx-bg-ink .fenix-header-nav__action-btn,
.fenix-site-header .fenix-header-nav__action-btn {
  border-color: color-mix(in srgb, var(--fx-menu-fg, #F0F1F1) 32%, transparent) !important;
  background: color-mix(in srgb, var(--fx-menu-fg, #F0F1F1) 8%, transparent) !important;
  color: var(--fx-menu-fg, #F0F1F1) !important;
}

.fenix-site-header.fx-bg-ink .fenix-header-nav__action-btn:hover,
.fenix-site-header.fx-bg-ink .fenix-header-nav__action-btn:focus-visible,
.fenix-site-header .fenix-header-nav__action-btn:hover,
.fenix-site-header .fenix-header-nav__action-btn:focus-visible {
  background: color-mix(in srgb, var(--fx-menu-fg, #F0F1F1) 14%, transparent) !important;
  border-color: color-mix(in srgb, var(--fx-menu-fg, #F0F1F1) 40%, transparent) !important;
  color: var(--fx-menu-fg, #F0F1F1) !important;
  outline: none;
}

.fenix-site-header.fx-bg-ink .fenix-header-nav__action-btn:focus-visible,
.fenix-site-header .fenix-header-nav__action-btn:focus-visible {
  outline: 2px solid var(--fx-menu-fg, #F0F1F1);
  outline-offset: 2px;
}

/* --- Mobile overlay: full screen, grouped --- */

/*
 * Header overflow-x:clip + exp-blur backdrop-filter create a containing block
 * for position:fixed. inset:0 then sizes the overlay to the ~62px header.
 */
.fenix-site-header:has(.fenix-header-nav.is-open),
.fenix-site-header:has(.fenix-header-nav__overlay.is-open),
html body.fenix-exp-blur-header .fenix-site-header:has(.fenix-header-nav.is-open),
html body.fenix-exp-blur-header .fenix-site-header:has(.fenix-header-nav__overlay.is-open) {
  overflow: visible;
  overflow-x: visible;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.fenix-nav-lock .wp-site-blocks {
  overflow-x: visible;
}

.fenix-header-nav__overlay {
  position: fixed;
  inset: 0;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  height: 100dvh;
  min-height: 100vh;
  min-height: 100dvh;
  padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  z-index: 80;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: stretch;
  padding: 0;
  background: var(--fx-paper);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  animation: none;
}

.admin-bar .fenix-header-nav__overlay {
  top: var(--wp-admin--admin-bar--height, 32px);
  height: calc(100vh - var(--wp-admin--admin-bar--height, 32px));
  height: calc(100dvh - var(--wp-admin--admin-bar--height, 32px));
  min-height: 0;
}

.fenix-header-nav__overlay[hidden] {
  display: none !important;
}

.fenix-header-nav__overlay-panel {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  max-width: none;
  min-height: 0;
  height: 100%;
  max-height: none;
  overflow: hidden;
  padding:
    max(1rem, env(safe-area-inset-top, 0px))
    max(1.25rem, env(safe-area-inset-right, 0px))
    max(1.25rem, env(safe-area-inset-bottom, 0px))
    max(1.25rem, env(safe-area-inset-left, 0px));
  border: 0;
  border-radius: 0;
  background: var(--fx-paper);
  color: var(--fx-ink);
  box-shadow: none;
  animation: none;
}

.fenix-header-nav__overlay-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-shrink: 0;
  gap: 1rem;
  margin-bottom: 1rem;
}

.fenix-header-nav__overlay-brand {
  min-width: 0;
  max-width: calc(100% - 3.5rem);
}

.fenix-header-nav__overlay-head .fx-eyebrow,
.fenix-header-nav__section .fx-eyebrow {
  margin: 0 0 0.65rem;
  /* 62% ink/paper war ~4.3:1 (AA-Fail); muted AAA auf Paper */
  color: var(--fx-muted, #4a4c52);
}

.fenix-header-nav__overlay-logo.fenix-site-header__brand,
.fenix-site-header .fenix-header-nav__overlay .fenix-site-header__brand,
.fenix-site-header .fenix-header-nav__overlay .fenix-site-header__brand.has-light-color,
.fenix-site-header .fenix-header-nav__overlay .fenix-site-header__wordmark,
html.fenix-context-madera .fenix-site-header .fenix-header-nav__overlay .fenix-site-header__brand.has-light-color,
html.fenix-context-gastroflow .fenix-site-header .fenix-header-nav__overlay .fenix-site-header__brand.has-light-color,
body.fenix-context-madera .fenix-site-header .fenix-header-nav__overlay .fenix-site-header__brand.has-light-color,
body.fenix-context-gastroflow .fenix-site-header .fenix-header-nav__overlay .fenix-site-header__brand.has-light-color {
  color: var(--fx-text-on-paper, #1a1c1e) !important;
  font-size: 1.05rem;
}

.fenix-site-header .fenix-header-nav__overlay .fenix-header-nav__overlay-logo .fenix-site-header__mark,
.fenix-site-header .fenix-header-nav__overlay .fenix-header-nav__overlay-logo.fenix-site-header__brand--size-large .fenix-site-header__mark,
.fenix-site-header .fenix-header-nav__overlay .fenix-header-nav__overlay-logo .fenix-site-header__mark--image,
.fenix-site-header .fenix-header-nav__overlay .fenix-header-nav__overlay-logo.fenix-site-header__brand--size-large .fenix-site-header__mark--image {
  width: 4rem !important;
  height: 4rem !important;
  max-height: 4rem !important;
  max-width: 12rem !important;
}

.fenix-site-header .fenix-header-nav__overlay .fenix-header-nav__overlay-logo .fenix-site-header__mark--image,
.fenix-site-header .fenix-header-nav__overlay .fenix-header-nav__overlay-logo.fenix-site-header__brand--size-large .fenix-site-header__mark--image {
  width: auto !important;
}

.fenix-site-header .fenix-header-nav__overlay .fenix-header-nav__overlay-logo .fenix-site-header__logo-img,
.fenix-site-header .fenix-header-nav__overlay .fenix-header-nav__overlay-logo.fenix-site-header__brand--size-large .fenix-site-header__logo-img,
.fenix-header-nav__overlay .fenix-site-header__logo-img {
  display: block;
  width: auto !important;
  height: 4rem !important;
  max-height: 4rem !important;
  max-width: 12rem !important;
  mix-blend-mode: normal;
  background: transparent !important;
  background-color: transparent !important;
}

.fenix-header-nav__overlay .fenix-site-header__mark--image {
  mix-blend-mode: normal;
  background: transparent !important;
  background-color: transparent !important;
}

.fenix-header-nav__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  align-self: flex-start;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0.5rem;
  border: 1px solid var(--fx-paper-2);
  border-radius: var(--fx-radius-btn, 8px);
  background: transparent;
  color: var(--fx-ink);
  line-height: 1;
  cursor: pointer;
  transition: background-color var(--fx-ease);
}

.fenix-header-nav__close:hover,
.fenix-header-nav__close:focus-visible {
  background: var(--fx-paper-2);
  outline: none;
}

.fenix-header-nav__overlay-body {
  display: grid;
  gap: 1.75rem;
  flex: 1 1 auto;
  min-height: 0;
  margin-top: 1.25rem;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.fenix-header-nav__overlay-list {
  display: grid;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

@keyframes fenix-nav-rise {
  from {
    opacity: 0;
    transform: translateY(0.65rem);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.fenix-header-nav.is-open .fenix-header-nav__overlay-head {
  animation: fenix-nav-rise 0.36s var(--fx-ease, cubic-bezier(0.22, 1, 0.36, 1)) both;
}

.fenix-header-nav.is-open .fenix-header-nav__section > .fx-eyebrow {
  animation: fenix-nav-rise 0.4s var(--fx-ease, cubic-bezier(0.22, 1, 0.36, 1)) 0.06s both;
}

.fenix-header-nav.is-open .fenix-header-nav__overlay-list > li {
  animation: fenix-nav-rise 0.4s var(--fx-ease, cubic-bezier(0.22, 1, 0.36, 1)) both;
}

.fenix-header-nav.is-open .fenix-header-nav__overlay-list > li:nth-child(1) { animation-delay: 0.1s; }
.fenix-header-nav.is-open .fenix-header-nav__overlay-list > li:nth-child(2) { animation-delay: 0.15s; }
.fenix-header-nav.is-open .fenix-header-nav__overlay-list > li:nth-child(3) { animation-delay: 0.2s; }
.fenix-header-nav.is-open .fenix-header-nav__overlay-list > li:nth-child(4) { animation-delay: 0.25s; }
.fenix-header-nav.is-open .fenix-header-nav__overlay-list > li:nth-child(5) { animation-delay: 0.3s; }
.fenix-header-nav.is-open .fenix-header-nav__overlay-list > li:nth-child(6) { animation-delay: 0.35s; }
.fenix-header-nav.is-open .fenix-header-nav__overlay-list > li:nth-child(7) { animation-delay: 0.4s; }
.fenix-header-nav.is-open .fenix-header-nav__overlay-list > li:nth-child(8) { animation-delay: 0.45s; }
.fenix-header-nav.is-open .fenix-header-nav__overlay-list > li:nth-child(9) { animation-delay: 0.5s; }
.fenix-header-nav.is-open .fenix-header-nav__overlay-list > li:nth-child(10) { animation-delay: 0.55s; }
.fenix-header-nav.is-open .fenix-header-nav__overlay-list > li:nth-child(11) { animation-delay: 0.6s; }
.fenix-header-nav.is-open .fenix-header-nav__overlay-list > li:nth-child(12) { animation-delay: 0.65s; }

.fenix-header-nav.is-open .fenix-header-nav__overlay-item--has-children > .fx-eyebrow {
  animation: fenix-nav-rise 0.4s var(--fx-ease, cubic-bezier(0.22, 1, 0.36, 1)) 0.06s both;
}

.fenix-header-nav.is-open .fenix-header-nav__overlay-foot {
  animation: fenix-nav-rise 0.4s var(--fx-ease, cubic-bezier(0.22, 1, 0.36, 1)) 0.38s both;
}

.fenix-header-nav__overlay-link,
.fenix-header-nav__overlay-list a {
  display: flex;
  align-items: center;
  min-height: 3.25rem;
  padding: 0.75rem 0.15rem;
  border: 0;
  border-bottom: 1px solid var(--fx-paper-2);
  border-radius: 0;
  background: transparent;
  color: var(--fx-ink) !important;
  font-family: "Red Hat Display", inherit;
  font-size: 1.35rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  text-decoration: none;
  box-shadow: none;
  transition: color var(--fx-ease);
}

.fenix-header-nav__overlay-link:hover,
.fenix-header-nav__overlay-link:focus-visible {
  color: var(--fx-ember-on-paper, #68480c) !important;
  background: transparent;
  outline: none;
}

.fenix-header-nav__overlay-link.is-active,
.fenix-header-nav__overlay-link[aria-current="page"] {
  color: var(--fx-ember-on-paper, #68480c) !important;
  font-weight: 600;
  background: transparent;
  box-shadow: none;
}

.fenix-header-nav__overlay-label {
  display: flex;
  align-items: center;
  min-height: 3.25rem;
  padding: 0.75rem 0.15rem;
  border-bottom: 1px solid var(--fx-paper-2);
  color: var(--fx-ink);
  font-family: "Red Hat Display", inherit;
  font-size: 1.35rem;
  font-weight: 500;
  letter-spacing: -0.02em;
}

.fenix-header-nav__overlay-heading-link {
  font-weight: 600;
}

.fenix-header-nav__overlay-item--has-children > .fx-eyebrow {
  margin: 0 0 0.35rem;
}

.fenix-header-nav__overlay-sublist {
  display: grid;
  gap: 0.15rem;
  margin: 0.15rem 0 0.35rem;
  padding: 0 0 0 0.85rem;
  list-style: none;
  border-left: 1px solid color-mix(in srgb, var(--fx-ink) 12%, transparent);
}

.fenix-header-nav__overlay-sublist .fenix-header-nav__overlay-link,
.fenix-header-nav__overlay-sublist .fenix-header-nav__overlay-label,
.fenix-header-nav__overlay-sublist a {
  min-height: 2.75rem;
  padding: 0.55rem 0.15rem;
  font-size: 1.1rem;
}

.fenix-header-nav__overlay-foot {
  flex-shrink: 0;
  margin-top: auto;
  padding-top: 1.25rem;
}

.fenix-header-nav__overlay-cta {
  width: 100%;
}

.fenix-header-nav__switch {
  display: none;
}

body.fenix-nav-lock {
  overflow: hidden;
}

/* --- Footer CTA (Nächster Schritt, cream paper vor dem Footer) --- */

.fenix-footer-cta,
.fenix-footer-cta.fx-section,
.fenix-footer-cta.fx-bg-ink,
.fenix-footer-cta.fx-bg-paper,
.fenix-footer-cta--light {
  background: #feecda !important;
  background-color: #feecda !important;
  color: #212225 !important;
  border-top: 1px solid color-mix(in srgb, #143c8d 12%, transparent);
}

.fenix-footer-cta.fx-section {
  padding-block: var(--fx-section-y, clamp(4rem, 8vw, 6.5rem));
}

.fenix-footer-cta .fx-kicker {
  color: #143c8d;
}

.fenix-footer-cta :is(h2, .wp-block-heading) {
  color: #212225 !important;
}

.fenix-footer-cta .fenix-footer-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: var(--fx-space-8, 2rem);
}

.fenix-footer-cta .fx-prose,
.fenix-footer-cta.fx-bg-ink .fx-prose {
  color: color-mix(in srgb, #212225 78%, transparent);
}

.fenix-footer-cta .fx-btn-primary {
  background: #cf9622 !important;
  background-color: #cf9622 !important;
  border-color: #cf9622 !important;
  color: #0E1012 !important;
}

.fenix-footer-cta .fx-btn-primary:hover,
.fenix-footer-cta .fx-btn-primary:focus-visible {
  background: color-mix(in srgb, #cf9622 88%, #212225) !important;
  background-color: color-mix(in srgb, #cf9622 88%, #212225) !important;
  border-color: color-mix(in srgb, #cf9622 88%, #212225) !important;
  color: #0E1012 !important;
}

.fenix-footer-cta .fx-btn-secondary,
.fenix-footer-cta.fx-bg-ink .fx-btn-secondary {
  color: #212225 !important;
  border-color: color-mix(in srgb, #143c8d 28%, transparent) !important;
  background: transparent !important;
}

.fenix-footer-cta .fx-btn-secondary:hover,
.fenix-footer-cta .fx-btn-secondary:focus-visible {
  color: #68480c !important;
  border-color: #68480c !important;
  background: color-mix(in srgb, #fffdf9 55%, transparent) !important;
}

/* Cream band: no raw gold link text — use on-paper gold #68480c */
.fenix-footer-cta a:where(:not(.fx-btn):not(.wp-element-button)),
.fenix-footer-cta .fx-prose a {
  color: #68480c !important;
  text-decoration-color: color-mix(in srgb, #68480c 55%, transparent);
}

.fenix-footer-cta a:where(:not(.fx-btn):not(.wp-element-button)):hover,
.fenix-footer-cta a:where(:not(.fx-btn):not(.wp-element-button)):focus-visible,
.fenix-footer-cta .fx-prose a:hover,
.fenix-footer-cta .fx-prose a:focus-visible {
  color: #4a3306 !important;
  text-decoration-color: #4a3306;
}

@media (max-width: 479px) {
  .fenix-footer-cta .fenix-footer-cta__actions .fx-btn {
    width: 100%;
  }
}

/* --- Footer (Navy statt Near-Black Ink) --- */

.fenix-site-footer,
.fenix-site-footer.fx-bg-ink {
  background: #143c8d !important;
  background-color: #143c8d !important;
  color: color-mix(in srgb, #fffdf9 82%, transparent);
  border-top: 1px solid color-mix(in srgb, #fffdf9 14%, transparent) !important;
  padding: 3.25rem 0 1.85rem !important;
  font-family: var(--fx-font-text, "Red Hat Text", inherit);
  font-size: 0.875rem;
  line-height: 1.5;
  overflow: visible;
}

.fenix-site-footer__inner {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
  overflow: visible;
}

.fenix-site-footer__grid {
  display: grid;
  align-items: start;
  justify-items: stretch;
  column-gap: 3.5rem;
  row-gap: 2.25rem;
  overflow: visible;
}

.fenix-site-footer__brand,
.fenix-site-footer__col {
  min-width: 0;
  overflow: visible;
}

/* Admin-sichtbare Spalten nicht per Legacy-Kontext-CSS ausblenden (app-Bundle). */
html.fenix-context-madera #fenix-site-footer .fenix-site-footer__col--fenix,
html.fenix-context-gastroflow #fenix-site-footer .fenix-site-footer__col--fenix,
body.fenix-context-madera #fenix-site-footer .fenix-site-footer__col--fenix,
body.fenix-context-gastroflow #fenix-site-footer .fenix-site-footer__col--fenix,
body.madera #fenix-site-footer .fenix-site-footer__col--fenix,
body.gastroflow #fenix-site-footer .fenix-site-footer__col--fenix {
  display: block !important;
}

.fenix-site-footer__name {
  margin: 0 0 0.45rem;
  font-family: var(--fx-font-display, "Red Hat Display", inherit);
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--fx-paper);
}

.fenix-site-footer .fx-prose {
  max-width: none;
  font-family: var(--fx-font-text, "Red Hat Text", inherit);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.55;
  color: color-mix(in srgb, var(--fx-paper) 80%, transparent);
}

.fenix-site-footer__tagline {
  margin: 0 0 1.1rem;
  max-width: 22rem;
}

.fenix-site-footer__contact,
.fenix-site-footer__contact.fx-prose {
  display: grid;
  gap: 0.5rem;
  margin: 0;
  font-style: normal;
  font-size: 0.875rem;
  line-height: 1.45;
  color: color-mix(in srgb, var(--fx-paper) 86%, transparent);
}

.fenix-site-footer__contact > * + * {
  margin-top: 0;
}

.fenix-site-footer__contact a,
.fenix-site-footer a {
  color: color-mix(in srgb, var(--fx-paper) 92%, transparent);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.45;
  text-decoration: none;
  text-decoration-color: color-mix(in srgb, var(--fx-paper) 35%, transparent);
  transition: color var(--fx-ease), text-decoration-color var(--fx-ease);
}

.fenix-site-footer a:hover,
.fenix-site-footer a:focus-visible {
  color: var(--fx-paper);
  text-decoration-color: color-mix(in srgb, var(--fx-ember) 70%, transparent);
}

.fenix-site-footer a:focus-visible {
  outline: 2px solid var(--fx-ember);
  outline-offset: 2px;
}

.fenix-site-footer__heading,
.fenix-site-footer .wp-block-heading,
.fenix-site-footer .fx-eyebrow {
  margin: 0 0 0.95rem;
  min-height: 1.2rem;
  font-family: var(--fx-font-text, "Red Hat Text", inherit);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--fx-paper) 68%, transparent) !important;
}

.fenix-site-footer__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.6rem;
}

.fenix-site-footer__list a {
  font-size: 0.875rem;
}

.fenix-site-footer__heading-link {
  display: inline-block;
  margin: 0 0 0.95rem;
  font-family: var(--fx-font-text, "Red Hat Text", inherit);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--fx-paper) 68%, transparent);
}

.fenix-site-footer__sublist {
  margin-top: 0.45rem;
  padding-left: 0.85rem;
  gap: 0.45rem;
  border-left: 1px solid color-mix(in srgb, var(--fx-paper) 16%, transparent);
}

.fenix-site-footer__col--wide {
  min-width: 12rem;
}

.fenix-site-footer__col--narrow {
  max-width: 12rem;
}

.fenix-site-footer__col--align-center {
  text-align: center;
  justify-self: center;
}

.fenix-site-footer__col--align-center .fenix-site-footer__list {
  justify-items: center;
}

.fenix-site-footer__col--align-end {
  text-align: end;
  justify-self: end;
}

.fenix-site-footer__col--align-end .fenix-site-footer__list {
  justify-items: end;
}

.fenix-site-footer__col--align-center .fenix-site-footer__sublist,
.fenix-site-footer__col--align-end .fenix-site-footer__sublist {
  padding-left: 0;
  border-left: 0;
}

.fenix-site-footer__contact-row {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.fenix-site-footer__contact-row .fx-icon {
  width: 1rem;
  height: 1rem;
  flex: 0 0 1rem;
  opacity: 0.88;
}

.fenix-site-footer .fx-rule {
  margin: 0;
  border-color: color-mix(in srgb, #fffdf9 16%, transparent);
}

.fenix-site-footer__meta {
  padding-top: 0;
}

.fenix-site-footer__meta p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.45;
  color: color-mix(in srgb, var(--fx-paper) 80%, transparent);
}

html.fenix-context-madera .fenix-site-header,
html.fenix-context-gastroflow .fenix-site-header,
body.fenix-context-madera .fenix-site-header,
body.fenix-context-gastroflow .fenix-site-header,
body.madera .fenix-site-header,
body.gastroflow .fenix-site-header {
  background: var(--fx-menu-bg, #225BCF) !important;
  background-color: var(--fx-menu-bg, #225BCF) !important;
  color: var(--fx-menu-fg, #F0F1F1) !important;
  border-bottom-color: transparent !important;
}

html.fenix-context-madera .fenix-site-header.is-scrolled,
html.fenix-context-gastroflow .fenix-site-header.is-scrolled,
body.fenix-context-madera .fenix-site-header.is-scrolled,
body.fenix-context-gastroflow .fenix-site-header.is-scrolled {
  border-bottom-color: color-mix(in srgb, var(--fx-menu-fg, #F0F1F1) 14%, transparent) !important;
}

html.fenix-context-madera .fenix-header-nav__overlay-panel,
html.fenix-context-gastroflow .fenix-header-nav__overlay-panel,
body.fenix-context-madera .fenix-header-nav__overlay-panel,
body.fenix-context-gastroflow .fenix-header-nav__overlay-panel {
  background: var(--fx-paper) !important;
  color: var(--fx-ink) !important;
  box-shadow: none !important;
}

@media (min-width: 961px) {
  .fenix-header-nav__list {
    display: flex !important;
  }

  .fenix-header-nav__toggle,
  .fenix-header-nav__overlay {
    display: none !important;
  }
}

@media (max-width: 960px) {
  .fenix-header-nav__list,
  .fenix-header-nav__cta {
    display: none !important;
  }

  html body.fenix-exp-density-comfortable .fenix-site-header,
  html body.fenix-exp-density-comfortable .fenix-site-header.fx-bg-ink {
    padding-top: 0.45rem !important;
    padding-bottom: 0.45rem !important;
  }

  html body.fenix-exp-density-compact .fenix-site-header,
  html body.fenix-exp-density-compact .fenix-site-header.fx-bg-ink {
    padding-top: 0.22rem !important;
    padding-bottom: 0.22rem !important;
  }

  .fenix-site-header__inner {
    gap: 0.65rem;
    min-width: 0;
  }

  .fenix-site-header__brand {
    font-size: 0.95rem;
    max-width: calc(100vw - 5.5rem);
  }

  .fenix-site-header__mark,
  .fenix-site-header .fenix-site-header__mark,
  .fenix-site-header__mark--image,
  .fenix-site-header .fenix-site-header__mark--image {
    width: 2rem;
    height: 2rem;
    max-height: 2rem;
  }

  .fenix-site-header__mark--image,
  .fenix-site-header .fenix-site-header__mark--image {
    width: auto;
    max-width: 7.5rem;
  }

  .fenix-site-header__logo-img,
  .fenix-site-header .fenix-site-header__logo-img {
    max-height: 2rem;
    max-width: 7.5rem;
  }

  .fenix-site-header .fenix-header-nav__overlay .fenix-header-nav__overlay-logo .fenix-site-header__mark,
  .fenix-site-header .fenix-header-nav__overlay .fenix-header-nav__overlay-logo .fenix-site-header__mark--image {
    width: 4rem !important;
    height: 4rem !important;
    max-height: 4rem !important;
    max-width: 12rem !important;
  }

  .fenix-site-header .fenix-header-nav__overlay .fenix-header-nav__overlay-logo .fenix-site-header__mark--image {
    width: auto !important;
  }

  .fenix-site-header .fenix-header-nav__overlay .fenix-header-nav__overlay-logo .fenix-site-header__logo-img {
    height: 4rem !important;
    max-height: 4rem !important;
    max-width: 12rem !important;
  }

  .fenix-site-footer__grid {
    grid-template-columns: 1fr 1fr;
    column-gap: 2rem;
    row-gap: 2rem;
    overflow: visible;
  }

  .fenix-site-footer__brand {
    grid-column: 1 / -1;
  }

  .fenix-site-footer__col--wide,
  .fenix-site-footer__col--narrow {
    max-width: none;
    grid-column: auto;
  }
}

/* custom.css sits in @layer utilities; tokens must still win. */
@layer utilities {
  html body .fenix-site-header,
  html body .fenix-site-header.fx-bg-ink,
  html body .fenix-site-header.fx-bg-paper {
    background: var(--fx-menu-bg, #225BCF) !important;
    background-color: var(--fx-menu-bg, #225BCF) !important;
    background-image: none !important;
  }

  html body.fenix-exp-blur-header .fenix-site-header,
  html body.fenix-exp-blur-header .fenix-site-header.fx-bg-ink,
  html body.fenix-exp-blur-header .fenix-site-header.fx-bg-paper {
    background: color-mix(in srgb, var(--fx-menu-bg, #225BCF) 78%, transparent) !important;
    background-color: color-mix(in srgb, var(--fx-menu-bg, #225BCF) 78%, transparent) !important;
  }
}

@media (max-width: 420px) {
  .fenix-header-nav__toggle-label {
    display: none;
  }
}

@media (max-width: 640px) {
  .fenix-site-footer__grid {
    grid-template-columns: 1fr;
    row-gap: 1.75rem;
    justify-items: stretch;
  }

  .fenix-site-footer__brand,
  .fenix-site-footer__col,
  .fenix-site-footer__col--wide,
  .fenix-site-footer__col--narrow,
  .fenix-site-footer__col--align-center,
  .fenix-site-footer__col--align-end {
    grid-column: auto;
    max-width: none;
    justify-self: stretch;
    text-align: start;
  }

  .fenix-site-footer__col--align-center .fenix-site-footer__list,
  .fenix-site-footer__col--align-end .fenix-site-footer__list {
    justify-items: start;
  }

  .fenix-site-footer__col {
    padding-top: 0.15rem;
  }
}

@media (min-width: 961px) {
  .fenix-site-footer__grid {
    grid-template-columns: minmax(16rem, 1.35fr) repeat(auto-fit, minmax(9.5rem, 1fr));
    column-gap: 3.5rem;
    align-items: start;
    overflow: visible;
  }

  .fenix-site-footer__col {
    min-width: 9rem;
  }

  .fenix-site-footer__col--wide {
    min-width: 12.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fx-skip-link,
  .fx-btn,
  .fenix-site-header,
  .fenix-header-nav__link,
  .fenix-header-nav__toggle,
  .fenix-site-footer a {
    transition: none;
  }

  .fenix-header-nav.is-open .fenix-header-nav__overlay-head,
  .fenix-header-nav.is-open .fenix-header-nav__section > .fx-eyebrow,
  .fenix-header-nav.is-open .fenix-header-nav__overlay-item--has-children > .fx-eyebrow,
  .fenix-header-nav.is-open .fenix-header-nav__overlay-list > li,
  .fenix-header-nav.is-open .fenix-header-nav__overlay-foot {
    animation: none;
    opacity: 1;
    transform: none;
  }
}

/* Kompetenz lanes — kicker + h3 + prose, no cards (also in fx-design.css) */
.fenix-kompetenz-lane > .fx-kicker {
  margin-bottom: 0.35rem;
}

.fenix-kompetenz-lane > h3 {
  margin: 0 0 0.55rem;
}

.fenix-kompetenz-lane > .fx-prose {
  margin: 0;
}

/* Support-/Kontaktformular: Select + optionales Label */
.fenix-contact-form__opt {
  font-weight: 500;
  /* No opacity fade — muted token alone is AA; 0.72 dropped ~3:1 */
  color: var(--fx-muted, #4a4c52);
  opacity: 1;
}

.fenix-contact-form__field select {
  width: 100%;
  box-sizing: border-box;
  min-height: 2.75rem;
  padding: 0.7rem 0.85rem;
  border: 1px solid color-mix(in srgb, var(--fx-ink) 18%, transparent);
  border-radius: 0.55rem;
  background: #fff;
  color: inherit;
  font: inherit;
  font-size: 16px;
}

.fenix-contact-form__field select:focus {
  outline: 2px solid var(--fx-ember);
  outline-offset: 2px;
}

.fenix-support-form {
  margin: 2rem 0 0;
}

.fenix-support-form .fenix-contact-form {
  margin-inline: 0;
  max-width: 32rem;
}

/* Legal pages: leftover WP has-light-color / #ffffffb3 on paper */
.fenix-legal:not(.fx-bg-ink),
.fenix-legal:not(.fx-bg-ink).has-light-color,
.fenix-legal:not(.fx-bg-ink).has-text-color,
.fenix-legal:not(.fx-bg-ink).has-background {
  background-color: var(--fx-paper, #f0f1f1) !important;
  color: var(--fx-text-on-paper, #212225) !important;
  font-family: var(--fx-font-text, "Red Hat Text", ui-sans-serif, sans-serif);
}

.fenix-legal:not(.fx-bg-ink) :is(h1, h2, h3, h4, .wp-block-heading) {
  color: var(--fx-text-on-paper, #212225) !important;
  font-family: var(--fx-font-display, "Red Hat Display", ui-sans-serif, sans-serif) !important;
}

.fenix-legal:not(.fx-bg-ink) :is(p, li, .has-text-color, .has-light-color) {
  color: var(--fx-text-on-paper, #212225) !important;
}

.fenix-legal:not(.fx-bg-ink) :is(.fx-caption, .fx-meta, .fenix-legal-placeholder p:not(.fx-kicker)) {
  color: var(--fx-muted, #4a4c52) !important;
}

.fenix-legal:not(.fx-bg-ink) .fenix-legal-placeholder .fx-kicker {
  color: var(--fx-ember-on-paper, #68480c) !important;
}

.fenix-legal:not(.fx-bg-ink) a:where(:not(.wp-element-button):not(.fx-btn)) {
  color: var(--fx-ember-on-paper, #68480c) !important;
}

/* Admin-only legal placeholder banner — AA on paper */
.fenix-legal-placeholder {
  margin: 0 0 1.5rem;
  padding: 0.85rem 0;
  border-top: 1px solid var(--fx-line, color-mix(in srgb, #212225 12%, transparent));
  border-bottom: 1px solid var(--fx-line, color-mix(in srgb, #212225 12%, transparent));
}

.fenix-legal-placeholder .fx-kicker {
  margin: 0 0 0.35rem;
  color: var(--fx-ember-on-paper, #68480c);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.fenix-legal-placeholder p:not(.fx-kicker) {
  margin: 0;
  color: var(--fx-muted, #4a4c52);
  font-size: 0.9rem;
  line-height: 1.5;
}

/* Newsletter band + form (AA on charcoal surface / cream) */
.fenix-newsletter-band {
  color: #f0f1f1;
  background-color: #404045;
}

.fenix-newsletter-band .fenix-kicker,
.fenix-newsletter-band .fx-kicker {
  color: #feecda !important;
}

.fenix-newsletter-band h2,
.fenix-newsletter-band .wp-block-heading {
  color: #f0f1f1 !important;
}

.fenix-newsletter-band > p:not(.fenix-kicker):not(.fx-kicker),
.fenix-newsletter-band .has-muted-color {
  color: #d3d3d5 !important;
}

.fenix-newsletter {
  margin: 0 auto;
  max-width: 28rem;
  text-align: left;
  color: #f0f1f1;
}

.fenix-newsletter__notice {
  margin: 0 0 1rem;
  padding: 0.65rem 0;
  border-top: 1px solid color-mix(in srgb, #f0f1f1 18%, transparent);
  border-bottom: 1px solid color-mix(in srgb, #f0f1f1 18%, transparent);
  font-size: 0.9rem;
  line-height: 1.45;
}

.fenix-newsletter__notice--success {
  color: #feecda;
}

.fenix-newsletter__notice--error {
  color: #fdbb47;
}

.fenix-newsletter__field label,
.fenix-newsletter__optin label {
  display: block;
  margin-bottom: 0.35rem;
  color: #f0f1f1;
  font-size: 0.85rem;
  font-weight: 600;
}

.fenix-newsletter__req {
  color: #feecda;
  font-weight: 600;
}

.fenix-newsletter__field input[type="email"] {
  width: 100%;
  min-height: 2.75rem;
  box-sizing: border-box;
  padding: 0.6rem 0.8rem;
  border: 1px solid #d3d3d5;
  border-radius: 8px;
  background: #f0f1f1;
  color: #212225;
  font: inherit;
  font-size: 16px;
}

.fenix-newsletter__field input::placeholder {
  color: #4a4c52;
  opacity: 1;
}

.fenix-newsletter__optin {
  margin: 0.85rem 0 1rem;
  color: #d3d3d5;
  font-size: 0.85rem;
  line-height: 1.45;
}

.fenix-newsletter__submit,
.fenix-newsletter__submit.wp-element-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.7rem 1.35rem;
  border: 0;
  border-radius: 8px;
  background: var(--fx-ember, #cf9622);
  color: var(--fx-text-on-ember, #0e1012) !important;
  font-family: var(--fx-font-display, "Red Hat Display", system-ui, sans-serif);
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
}

.fenix-newsletter__submit:hover,
.fenix-newsletter__submit.wp-element-button:hover {
  background: var(--fx-ember-hover, #b3851c);
  color: var(--fx-text-on-ember, #0e1012) !important;
}

.fenix-newsletter__hint {
  margin: 0.75rem 0 0;
  color: #d3d3d5;
  font-size: 0.78rem;
  line-height: 1.5;
}

.fenix-newsletter__honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
}

/* Experience-Flags aus Fenix Kontrolle → Navigation */
body.fenix-exp-static-header .fenix-site-header,
body.fenix-exp-static-header .wp-block-template-part .fenix-site-header,
html body.fenix-exp-static-header .fenix-site-header {
  position: relative !important;
}

html body.fenix-exp-blur-header .fenix-site-header,
html body.fenix-exp-blur-header .fenix-site-header.fx-bg-ink,
html body.fenix-exp-blur-header .fenix-site-header.fx-bg-paper {
  background: color-mix(in srgb, var(--fx-menu-bg, #225BCF) 78%, transparent) !important;
  background-color: color-mix(in srgb, var(--fx-menu-bg, #225BCF) 78%, transparent) !important;
  backdrop-filter: blur(16px) saturate(1.15) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.15) !important;
}

html body.fenix-exp-header-shadow .fenix-site-header.is-scrolled {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22) !important;
}

body.fenix-exp-density-compact .fenix-site-header,
html body.fenix-exp-density-compact .fenix-site-header {
  padding-top: 0.35rem !important;
  padding-bottom: 0.35rem !important;
}

html body.fenix-exp-nav-underline .fenix-header-nav__link.is-active,
html body.fenix-exp-nav-underline .fenix-header-nav__link[aria-current="page"] {
  box-shadow: inset 0 -2px 0 currentColor !important;
}

html body.fenix-exp-nav-pill .fenix-header-nav__link.is-active,
html body.fenix-exp-nav-pill .fenix-header-nav__link[aria-current="page"] {
  background: color-mix(in srgb, var(--fx-menu-fg, #F0F1F1) 14%, transparent) !important;
  border-radius: 999px !important;
  padding-inline: 0.65rem !important;
  color: var(--fx-menu-fg, #F0F1F1) !important;
}

html body.fenix-exp-nav-dot .fenix-header-nav__link.is-active::after,
html body.fenix-exp-nav-dot .fenix-header-nav__link[aria-current="page"]::after {
  content: "" !important;
  display: block !important;
  width: 5px !important;
  height: 5px !important;
  margin: 0.2rem auto 0 !important;
  border-radius: 50% !important;
  /* Light dot on blue (~5.4:1 UI); raw gold fails ~2.3:1 */
  background: var(--fx-menu-fg, #F0F1F1) !important;
}

.fenix-site-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 1rem;
  margin-top: 1rem;
}

.fenix-site-footer__social-link {
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.fenix-scroll-top {
  position: fixed;
  bottom: 1.25rem;
  z-index: 50;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--fx-paper, #f3f0ea) 18%, transparent);
  background: var(--fx-ink, #0e1012);
  color: var(--fx-paper, #f3f0ea);
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.22);
}

.fenix-scroll-top--right {
  right: 1.25rem;
  left: auto;
}

.fenix-scroll-top--left {
  left: 1.25rem;
  right: auto;
}

.fenix-scroll-top--square {
  border-radius: 0.45rem;
}

.fenix-scroll-top--round {
  border-radius: 999px;
}

.fenix-scroll-top--pill {
  width: auto;
  min-width: 2.75rem;
  padding-inline: 0.85rem;
  border-radius: 999px;
}

.fenix-scroll-top:hover,
.fenix-scroll-top:focus-visible {
  color: var(--fx-text-on-ember, #0e1012);
  background: var(--fx-ember, #CF9622);
  border-color: var(--fx-ember, #CF9622);
}

.fenix-scroll-top:focus-visible {
  outline: 2px solid var(--fx-ember, #CF9622);
  outline-offset: 2px;
}

.fenix-scroll-top[hidden] {
  display: none !important;
}

/*
 * C3 Homepage contrast — paper #F0F1F1 · kern #EEF0FE · cream #FEECDA.
 * Raw #CF9622 on light fails AA (~2.3:1). Use on-paper gold / navy kickers.
 * Muted #4a4c52 = AAA on paper/cream; ember text #4a3306 = AAA on light bands.
 */
.fenix-home-hero,
.fenix-home-trust,
.fenix-home-ink,
.fenix-home-practice,
.fenix-home-product,
.fenix-home-cta {
  --fx-home-accent: #143c8d;
  /* Scope AAA gold text (~10.5:1); global --fx-ember-on-paper #73520e is AA-only (~6.3:1). */
  --fx-ember-on-paper: #4a3306;
  --home-ember: #4a3306;
  --home-muted: #4a4c52;
}

.fenix-home-hero .fenix-home-lead,
.fenix-home-hero .fx-caption,
.fenix-home-hero__maker,
.fenix-home-trust__list li,
.fenix-home-practice .fenix-home-lead,
.fenix-home-practice__note,
.fenix-home-product .fenix-home-lead,
.fenix-home-flows p {
  color: var(--home-muted, #4a4c52) !important;
}

.fenix-home-hero .fenix-home-kicker,
.fenix-home-hero .fx-kicker,
.fenix-home-practice .fenix-home-kicker,
.fenix-home-practice .fx-eyebrow {
  color: var(--fx-home-accent, #143c8d) !important;
}

.fenix-home-product.fenix-gf,
.fenix-home-product {
  border-top: 1px solid color-mix(in srgb, var(--fx-ember, #CF9622) 28%, transparent);
}

.fenix-home-product .fenix-home-kicker,
.fenix-home-product .fx-eyebrow {
  color: var(--fx-ember-on-paper, #4a3306) !important;
}

.fenix-home-flows__n {
  color: var(--fx-ember-on-paper, #4a3306) !important;
}

.fenix-home-practice__note {
  border-left-color: var(--fx-ember-on-paper, #4a3306);
}

.fenix-home-practice__link:hover,
.fenix-home-practice__link:focus-visible {
  color: var(--fx-ember-on-paper, #4a3306) !important;
  text-decoration-color: var(--fx-ember-on-paper, #4a3306) !important;
}

/* Home gold CTAs: dark label (app.css still paints --fx-text-on-ink / light). */
.fenix-home-hero .fx-btn-primary,
.fenix-home-product .fx-btn-primary,
.fenix-home-cta .fx-btn-primary,
.fenix-home-hero a.fx-btn-primary,
.fenix-home-product a.fx-btn-primary {
  color: var(--fx-text-on-ember, #0e1012) !important;
}

.fenix-home-hero .fx-btn-primary:hover,
.fenix-home-hero .fx-btn-primary:focus-visible,
.fenix-home-product .fx-btn-primary:hover,
.fenix-home-product .fx-btn-primary:focus-visible,
.fenix-home-cta .fx-btn-primary:hover,
.fenix-home-cta .fx-btn-primary:focus-visible {
  color: var(--fx-text-on-ember, #0e1012) !important;
}

.fenix-home-hero .fx-btn-secondary,
.fenix-home-product .fx-btn-secondary {
  color: #212225 !important;
  border-color: color-mix(in srgb, #212225 28%, transparent);
}

/* Desk mock badges / kickers on cream — warm orange fails AA as text. */
.fenix-home-mock {
  --gf-accent: #73520e;
  --gf-warn: #7a480e;
  --gf-muted: #4a3f34;
}

.fenix-home-mock__bar-kicker {
  color: var(--gf-accent, #73520e) !important;
}

.fenix-home-mock__status.is-new {
  color: var(--gf-warn, #7a480e) !important;
  background: color-mix(in srgb, var(--gf-warn, #7a480e) 14%, #fff) !important;
}

.fenix-home-mock__status.is-kitchen {
  color: var(--gf-accent, #73520e) !important;
  background: color-mix(in srgb, var(--gf-accent, #73520e) 14%, #fff) !important;
}

.fenix-home-mock__chrome-title,
.fenix-home-mock__items,
.fenix-home-mock__ticket-meta,
.fenix-home-mock__menu span,
.fenix-home-mock__filters span {
  color: var(--gf-muted, #4a3f34) !important;
}

/* Plain variant: no .fenix-home-steps__num — override numbered 2-col grid from app.css */
.fenix-home-steps--plain {
  list-style: none;
  margin: 0;
  padding: 0;
}

.fenix-home-steps--plain > li {
  grid-template-columns: minmax(0, 1fr);
}

.fenix-home-hero__maker {
  margin-top: 1rem;
}

/*
 * Home dark→light: beat app.css .fenix-home-ink / .fx-bg-ink (incl. live DOM still carrying fx-bg-ink).
 * Surfaces: #EEF0FE / #F0F1F1 / #FEECDA · text #212225 · accent #143C8D · gold via on-paper
 */
.fenix-home-ink,
.fenix-home-ink.fx-section,
.fenix-home-ink.fx-bg-ink,
.fenix-home-ink.fx-bg-paper,
.fenix-home-ink--light,
:where(#kernbotschaft).fenix-home-ink,
#kernbotschaft.fenix-home-ink,
#kernbotschaft.fx-bg-ink {
  background: #eef0fe !important;
  background-color: #eef0fe !important;
  color: #212225 !important;
}

.fenix-home-ink :is(h1, h2, h3, h4, .wp-block-heading),
#kernbotschaft.fenix-home-ink :is(h1, h2, h3, h4),
.fenix-home-ink.fx-bg-ink :is(h1, h2, h3, h4, .wp-block-heading) {
  color: #212225 !important;
}

.fenix-home-ink .fenix-home-kicker,
.fenix-home-ink .fx-eyebrow,
.fenix-home-ink .fx-kicker,
.fenix-home-ink.fx-bg-ink .fenix-home-kicker,
.fenix-home-ink.fx-bg-ink .fx-eyebrow,
.fenix-home-ink.fx-bg-ink .fx-kicker {
  color: #143c8d !important;
}

.fenix-home-ink .fenix-home-lead,
.fenix-home-ink .fx-prose,
.fenix-home-ink .fx-prose p,
.fenix-home-ink .fenix-home-steps .fx-prose,
.fenix-home-ink.fx-bg-ink .fenix-home-lead,
.fenix-home-ink.fx-bg-ink .fx-prose,
.fenix-home-ink.fx-bg-ink .fx-prose p,
.fenix-home-ink.fx-bg-ink .fenix-home-steps .fx-prose {
  /* 86% → AAA on #EEF0FE (~9.3:1); 78% was AA-only */
  color: color-mix(in srgb, #212225 86%, transparent) !important;
}

.fenix-home-ink .fx-rule,
.fenix-home-ink.fx-bg-ink .fx-rule {
  border-top-color: color-mix(in srgb, #212225 14%, transparent) !important;
}

.fenix-home-ink .fenix-home-steps__num,
#kernbotschaft .fenix-home-steps__num {
  color: var(--fx-ember-on-paper, #4a3306) !important;
}

/* Footer CTA — cream paper, dark text (pattern + legacy fx-bg-ink) */
.fenix-footer-cta,
.fenix-footer-cta.fx-section,
.fenix-footer-cta.fx-bg-ink,
.fenix-footer-cta.fx-bg-paper,
.fenix-footer-cta--light {
  background: #feecda !important;
  background-color: #feecda !important;
  color: #212225 !important;
}

.fenix-footer-cta :is(h1, h2, h3, .wp-block-heading),
.fenix-footer-cta.fx-bg-ink :is(h1, h2, h3, .wp-block-heading) {
  color: #212225 !important;
}

.fenix-footer-cta .fx-kicker,
.fenix-footer-cta .fx-eyebrow,
.fenix-footer-cta.fx-bg-ink .fx-kicker {
  color: #143c8d !important;
}

.fenix-footer-cta .fx-prose,
.fenix-footer-cta .fx-prose p,
.fenix-footer-cta.fx-bg-ink .fx-prose,
.fenix-footer-cta.fx-bg-ink .fx-prose p {
  color: color-mix(in srgb, #212225 78%, transparent) !important;
}

.fenix-footer-cta .fx-btn-secondary,
.fenix-footer-cta.fx-bg-ink .fx-btn-secondary {
  color: #212225 !important;
  border-color: color-mix(in srgb, #212225 28%, transparent);
}

.fenix-footer-cta .fx-btn-secondary:hover,
.fenix-footer-cta .fx-btn-secondary:focus-visible,
.fenix-footer-cta.fx-bg-ink .fx-btn-secondary:hover,
.fenix-footer-cta.fx-bg-ink .fx-btn-secondary:focus-visible {
  color: #68480c !important;
  border-color: #68480c !important;
}

.fenix-footer-cta a:where(:not(.fx-btn):not(.wp-element-button)),
.fenix-footer-cta .fx-prose a,
.fenix-footer-cta.fx-bg-ink a:where(:not(.fx-btn):not(.wp-element-button)) {
  color: #68480c !important;
}

/* Optional home-cta pattern — cool gray paper */
.fenix-home-cta,
.fenix-home-cta.fx-bg-ink,
.fenix-home-cta.fx-bg-paper,
.fenix-home-cta--light {
  background: #f0f1f1 !important;
  background-color: #f0f1f1 !important;
  color: #212225 !important;
}

.fenix-home-cta :is(h2, .wp-block-heading),
.fenix-home-cta .fenix-home-kicker,
.fenix-home-cta .fx-eyebrow,
.fenix-home-cta .fenix-home-lead,
.fenix-home-cta .fenix-home-lead a,
.fenix-home-cta.fx-bg-ink :is(h2, .wp-block-heading),
.fenix-home-cta.fx-bg-ink .fenix-home-kicker,
.fenix-home-cta.fx-bg-ink .fenix-home-lead,
.fenix-home-cta.fx-bg-ink .fenix-home-lead a {
  color: #212225 !important;
}

.fenix-home-cta .fenix-home-kicker,
.fenix-home-cta .fx-eyebrow,
.fenix-home-cta.fx-bg-ink .fenix-home-kicker {
  color: #143c8d !important;
}

.fenix-contact-form__notice[tabindex="-1"]:focus {
  outline: 2px solid var(--fx-ember, #CF9622);
  outline-offset: 3px;
}

/*
 * C1 global contrast (tokens + primitives). Header/page scopes are other agents.
 * AA mandatory; AAA preferred. Never paint raw #CF9622 as body/link text on paper/blue.
 */
.fx-prose {
  color: var(--fx-text-on-paper, #212225);
}

.fx-kicker {
  color: var(--fx-muted, #4a4c52);
}

.fx-caption {
  color: var(--fx-muted, #4a4c52);
}

/* Default links: accent AA; hover dark-gold text (raw ember fails ~2.3:1). */
a:where(:not(.fx-btn):not(.wp-element-button):not(.wp-block-button__link):not(.fenix-header-nav__link):not(.fenix-header-nav__cta):not(.fenix-header-nav__overlay-cta):not(.fenix-header-nav__sublink)) {
  color: var(--fx-link, var(--fx-accent, #225BCF));
}

a:where(:not(.fx-btn):not(.wp-element-button):not(.wp-block-button__link):not(.fenix-header-nav__link):not(.fenix-header-nav__cta):not(.fenix-header-nav__overlay-cta):not(.fenix-header-nav__sublink)):hover,
a:where(:not(.fx-btn):not(.wp-element-button):not(.wp-block-button__link):not(.fenix-header-nav__link):not(.fenix-header-nav__cta):not(.fenix-header-nav__overlay-cta):not(.fenix-header-nav__sublink)):focus-visible {
  color: var(--fx-link-hover, var(--fx-ember-on-paper, #68480c));
}

.fx-prose a:where(:not(.fx-btn):not(.wp-element-button):not(.wp-block-button__link)) {
  color: var(--fx-link, var(--fx-accent, #225BCF));
}

.fx-prose a:where(:not(.fx-btn):not(.wp-element-button):not(.wp-block-button__link)):hover,
.fx-prose a:where(:not(.fx-btn):not(.wp-element-button):not(.wp-block-button__link)):focus-visible {
  color: var(--fx-link-hover, var(--fx-ember-on-paper, #68480c));
  text-decoration-color: color-mix(in srgb, var(--fx-link-hover, #68480c) 70%, transparent);
}

.fx-btn-primary,
a.fx-btn-primary,
.wp-block-button.is-style-fenix-primary .wp-block-button__link,
.wp-element-button:not(.is-style-outline):not(.fx-btn-secondary),
.fenix-madera-btn--primary,
.fenix-lp-btn--ember,
.fenix-gf__btn--primary {
  background: var(--fx-ember, #CF9622) !important;
  background-color: var(--fx-ember, #CF9622) !important;
  background-image: none !important;
  border-color: var(--fx-ember, #CF9622) !important;
  color: var(--fx-text-on-ember, #0e1012) !important;
}

.fx-btn-primary:hover,
.fx-btn-primary:focus-visible,
a.fx-btn-primary:hover,
a.fx-btn-primary:focus-visible,
.wp-block-button.is-style-fenix-primary .wp-block-button__link:hover,
.wp-block-button.is-style-fenix-primary .wp-block-button__link:focus-visible,
.wp-element-button:not(.is-style-outline):not(.fx-btn-secondary):hover,
.wp-element-button:not(.is-style-outline):not(.fx-btn-secondary):focus-visible,
.fenix-madera-btn--primary:hover,
.fenix-lp-btn--ember:hover,
.fenix-gf__btn--primary:hover {
  background: var(--fx-ember-hover, #b3851c) !important;
  background-color: var(--fx-ember-hover, #b3851c) !important;
  background-image: none !important;
  border-color: var(--fx-ember-hover, #b3851c) !important;
  color: var(--fx-text-on-ember, #0e1012) !important;
}

.fx-btn-secondary,
a.fx-btn-secondary,
.wp-block-button.is-style-outline .wp-block-button__link,
.fenix-madera-btn--secondary,
.fenix-gf__btn--secondary {
  color: var(--fx-text-on-paper, #212225) !important;
  background: transparent !important;
  background-image: none !important;
  border-color: color-mix(in srgb, var(--fx-ink, #212225) 28%, transparent) !important;
}

.fx-btn-secondary:hover,
.fx-btn-secondary:focus-visible,
a.fx-btn-secondary:hover,
a.fx-btn-secondary:focus-visible {
  color: var(--fx-text-on-paper, #212225) !important;
  border-color: var(--fx-accent-hover, #143C8D) !important;
  background: color-mix(in srgb, var(--fx-accent-soft, #EEF0FE) 70%, transparent) !important;
}
