/*
 * Zentraler Header – Praxis Impulsraum / Sanfte Linie
 * Bewusst eng auf .irs-header begrenzt, damit Seiteninhalte unverändert bleiben.
 */
.irs-header .irs-header-cta {
  display: none !important;
}

/* Schutz vor seitenbezogenen Absatz-Regeln aus den Inhalts-Plugins. */
.irs-header .irs-brand-name {
  font-family: var(--irs-serif, "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif) !important;
  font-size: 29px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  color: var(--irs-olive-dark, #3f4f25) !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

.irs-header .irs-brand-sub {
  font-family: var(--irs-sans, Inter, "Segoe UI", Arial, sans-serif) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: .19em !important;
  color: #4f554a !important;
  margin: 8px 0 0 !important;
  white-space: nowrap !important;
}

.irs-header .irs-brand-copy {
  gap: 0 !important;
}

/* Im Editor zusätzlich ausblenden; im Frontend übernimmt dies auch der PHP-Filter. */
.irs-header .irs-main-nav .wp-block-navigation-item:has(a[href*="/angebot/"]) {
  display: none !important;
}

/* Breiter Desktop: Navigation zuverlässig waagerecht. */
@media (min-width: 1051px) {
  .irs-header .irs-header-inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
  }

  .irs-header .irs-brand {
    flex: 0 0 auto !important;
    min-width: 250px !important;
  }

  .irs-header .irs-main-nav {
    display: flex !important;
    flex: 1 1 auto !important;
    width: auto !important;
    order: initial !important;
    justify-content: flex-end !important;
  }

  .irs-header .irs-main-nav .wp-block-navigation__responsive-container {
    display: flex !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
  }

  .irs-header .irs-main-nav .wp-block-navigation__responsive-container-content,
  .irs-header .irs-main-nav .wp-block-navigation__container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }

  .irs-header .irs-main-nav .wp-block-navigation__responsive-container-open,
  .irs-header .irs-main-nav .wp-block-navigation__responsive-container-close {
    display: none !important;
  }
}

/* Tablet und Mobil: kompakter Markenbereich plus verlässliches Hamburger-Menü. */
@media (max-width: 1050px) {
  .irs-header .irs-header-inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
  }

  .irs-header .irs-brand {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .irs-header .irs-main-nav {
    flex: 0 0 auto !important;
    width: auto !important;
    order: initial !important;
    justify-content: flex-end !important;
  }

  .irs-header .irs-main-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }

  .irs-header .irs-main-nav .wp-block-navigation__responsive-container-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .irs-header .irs-main-nav .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 100000 !important;
    background: #fbf7ef !important;
    padding: 28px !important;
  }

  .irs-header .irs-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }
}

@media (max-width: 781px) {
  .irs-header .irs-brand-name {
    font-size: 24px !important;
  }

  .irs-header .irs-brand-sub {
    font-size: 8px !important;
  }
}

@media (max-width: 520px) {
  /* Auf sehr kleinen Displays bleibt – wie im Theme vorgesehen – nur das Logo sichtbar. */
  .irs-header .irs-brand-copy {
    display: none !important;
  }
}
