/* Global header integration for the additional Leistungen primary destination.
 * No brand, footer, page-layout or theme-file changes.
 * 641–960: exact original theme mobile header rules (style.css 3884–4160).
 * Core navigation owns all interaction; only its responsive CSS threshold changes.
 */
@media (max-width: 960px) {
  .edv-header-primary .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  .edv-header-primary .wp-block-navigation__responsive-container-open { display: flex !important; }
}
@media (min-width: 961px) {
  .edv-header-service-nav .wp-block-navigation-item a { font-size: 12px; }
}
@media (min-width: 961px) and (max-width: 1239px) {
  .edv-site-header .edv-header-main { gap: 8px; }
  .edv-site-header .edv-header-primary .wp-block-navigation-item a { font-size: 12px; padding-inline: 4px; }
}
@media (min-width: 641px) and (max-width: 960px) {
  .edv-header-utility .edv-header-context { display: none; }
  .edv-header-utility .edv-shell { justify-content: flex-end; }
  .edv-header-main {
    min-height: 4rem;
    flex-wrap: nowrap;
  }

  /* Keep the existing tablet utility rail: Fernwartung is not duplicated
     in the original mobile overlay. The <=640px theme behavior is unchanged. */

  .edv-header-primary .wp-block-navigation__container {
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
  }

  .edv-header-primary .current-menu-item > a::after,
  body.page-template-service-notebook .edv-header-primary a[href="/notebook-reparatur/"]::after,
  body.page-template-service-computer .edv-header-primary a[href="/computer-reparatur/"]::after,
  body.page-template-service-drucker .edv-header-primary a[href="/drucker-reparatur/"]::after,
  body.page-template-service-handy .edv-header-primary a[href="/handy-reparatur/"]::after,
  body.page-template-service-datenrettung .edv-header-primary a[href="/datenrettung/"]::after {
    display: none;
  }

  .edv-header-main .edv-header-cta {
    display: none !important;
  }

  .edv-site-header {
    background: var(--edv-cream);
    backdrop-filter: none;
  }

  .edv-site-header:has(.edv-header-primary .is-menu-open) .edv-wordmark-lockup {
    position: fixed;
    top: max(1rem, env(safe-area-inset-top));
    left: 1.25rem;
    z-index: 100001;
  }

  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed;
    inset: 0;
    width: 100vw;
    max-width: none;
    height: 100dvh;
    min-height: 100vh;
    padding: 5.5rem 1.25rem max(1.25rem, env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior: contain;
    color: var(--edv-ink);
    background: var(--edv-cream) !important;
  }

  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    width: 100%;
    min-height: 100%;
  }

  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    padding-top: 0 !important;
  }

  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    align-items: stretch;
    width: 100%;
    gap: 0.25rem;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
  }

  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    width: 100%;
    border: 0;
  }

  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__primary-start,
  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__primary,
  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__cta,
  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__phone {
    grid-column: 1 / -1;
  }

  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-only {
    display: flex !important;
  }

  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__primary-start {
    display: block;
    margin-top: 1.7rem;
  }

  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__primary-start::before {
    position: absolute;
    bottom: calc(100% + 0.55rem);
    left: 0;
    content: "Reparaturservice";
    color: var(--edv-blue);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__primary-start > a,
  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__primary > a {
    width: 100%;
    height: auto;
    min-height: 2.75rem;
    padding: 0 1rem;
    justify-content: flex-start;
    color: var(--edv-navy);
    font-size: 1.08rem;
    font-weight: 650;
    line-height: 1.15;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 0.8rem;
  }

  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__primary-start > a::after,
  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__primary > a::after {
    position: static;
    inset: auto;
    width: auto;
    height: auto;
    display: block;
    margin-left: auto;
    flex: 0 0 auto;
    content: "→";
    color: color-mix(in srgb, var(--edv-navy) 54%, transparent);
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1;
    background: transparent;
  }

  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__primary-start > a:hover,
  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__primary-start > a:focus-visible,
  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__primary > a:hover,
  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__primary > a:focus-visible,
  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .current-menu-item.edv-mobile-menu__primary-start > a,
  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .current-menu-item.edv-mobile-menu__primary > a,
  body.page-template-service-notebook .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open a[href="/notebook-reparatur/"],
  body.page-template-service-computer .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open a[href="/computer-reparatur/"],
  body.page-template-service-drucker .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open a[href="/drucker-reparatur/"],
  body.page-template-service-handy .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open a[href="/handy-reparatur/"],
  body.page-template-service-datenrettung .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open a[href="/datenrettung/"] {
    padding-left: 0.8rem;
    background: var(--edv-white);
    border-left: 0.25rem solid var(--edv-signal);
    box-shadow: 0 0.45rem 1.25rem color-mix(in srgb, var(--edv-ink) 8%, transparent);
  }

  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .current-menu-item.edv-mobile-menu__primary-start > a::after,
  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .current-menu-item.edv-mobile-menu__primary > a::after,
  body.page-template-service-notebook .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open a[href="/notebook-reparatur/"]::after,
  body.page-template-service-computer .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open a[href="/computer-reparatur/"]::after,
  body.page-template-service-drucker .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open a[href="/drucker-reparatur/"]::after,
  body.page-template-service-handy .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open a[href="/handy-reparatur/"]::after,
  body.page-template-service-datenrettung .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open a[href="/datenrettung/"]::after {
    color: var(--edv-signal);
  }

  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__secondary-start,
  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__secondary {
    min-width: 0;
  }

  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__secondary-start,
  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__secondary-start + .edv-mobile-menu__secondary {
    margin-top: 2rem;
  }

  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__secondary-start::before {
    position: absolute;
    bottom: calc(100% + 0.55rem);
    left: 0;
    width: calc(200% + 0.5rem);
    content: "Mehr entdecken";
    color: var(--edv-blue);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__secondary-start > a,
  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__secondary > a {
    width: 100%;
    min-height: 2.75rem;
    padding: 0.55rem 0.75rem;
    justify-content: flex-start;
    color: var(--edv-navy);
    font-size: 0.88rem;
    font-weight: 650;
    line-height: 1.2;
    white-space: normal;
    background: color-mix(in srgb, var(--edv-white) 58%, transparent);
    border: 1px solid var(--edv-line);
    border-radius: 0.7rem;
  }

  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__cta {
    display: flex !important;
    flex-wrap: wrap;
    margin-top: 0.7rem;
    padding: 1rem 1rem 0.45rem;
    background: var(--edv-navy) !important;
    border-radius: 1rem 1rem 0 0;
  }

  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__cta::before {
    width: 100%;
    margin-bottom: 0.45rem;
    content: "Direkte Hilfe";
    color: #bdd8cb;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__cta a {
    width: 100%;
    min-height: 2.875rem;
    justify-content: center;
    color: var(--edv-white);
    font-size: 0.92rem;
    font-weight: 750;
    background: var(--edv-signal);
    border-radius: 0.7rem;
    box-shadow: none;
  }

  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__phone {
    margin-top: -0.5rem;
    padding: 0 1rem 0.85rem;
    background: var(--edv-navy) !important;
    border-radius: 0 0 1rem 1rem;
  }

  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .edv-mobile-menu__phone a {
    width: 100%;
    min-height: 2.75rem;
    padding: 0;
    justify-content: flex-start;
    color: color-mix(in srgb, var(--edv-white) 84%, transparent);
    font-size: 0.86rem;
    font-weight: 650;
  }

  .edv-header-primary .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
    position: fixed;
    top: max(1rem, env(safe-area-inset-top));
    right: 1.25rem;
    z-index: 100001;
    display: grid;
    width: 3rem;
    min-width: 3rem;
    height: 3rem;
    min-height: 3rem;
    padding: 0;
    place-items: center;
    color: var(--edv-navy);
    background: var(--edv-white);
    border: 1px solid var(--edv-line);
    border-radius: 0.85rem;
    box-shadow: 0 0.5rem 1.25rem color-mix(in srgb, var(--edv-ink) 8%, transparent);
  }
}
