/**
 * Multisite header branding.
 *
 * The logo artwork differs per project. The header standardises only the
 * display container, responsive bounds and fallback behaviour.
 */
.adliga-site-header__inner {
  gap: var(--wp--preset--spacing--40, 1.5rem);
  min-height: 88px;
}

.adliga-site-branding {
  display: flex;
  align-items: center;
  flex: 0 1 auto;
  min-width: 0;
}

.adliga-site-branding p {
  margin: 0;
}

.adliga-site .adliga-site-header__inner {
  min-height: 92px;
}

.neris-site .adliga-site-header__inner {
  min-height: 96px;
}

.adliga-site-branding__link {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  max-width: min(var(--adliga-header-logo-max-width, 220px), 34vw);
  color: inherit;
  text-decoration: none;
  line-height: 1;
}

.adliga-site-branding__picture {
  display: inline-flex;
  align-items: center;
  line-height: 0;
  max-width: 100%;
}

.adliga-site-branding__logo,
.adliga-site-branding__mark {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: var(--adliga-header-logo-height, 44px);
  object-fit: contain;
}

.adliga-site-branding__mark {
  flex: 0 0 auto;
}

.adliga-site-branding__title {
  display: inline-block;
  font-size: clamp(1.05rem, 1.1vw, 1.35rem);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.adliga-site-branding--logo-only .adliga-site-branding__link {
  line-height: 0;
}

.adliga-site-branding--icon-title .adliga-site-branding__mark {
  max-width: var(--adliga-header-logo-height, 52px);
}

.adliga-site-branding--icon-title .adliga-site-branding__link {
  max-width: min(var(--adliga-header-logo-max-width, 220px), 32vw);
}

.adliga-site .adliga-site-branding__link {
  max-width: min(var(--adliga-header-logo-max-width, 190px), 24vw);
}

.ourhouse-site .adliga-site-header__inner {
  min-height: 84px;
}

.ourhouse-site .adliga-site-branding__link {
  max-width: min(var(--adliga-header-logo-max-width, 340px), 36vw);
}

.neris-site .adliga-site-branding__link {
  max-width: min(var(--adliga-header-logo-max-width, 260px), 28vw);
}

.neris-site .adliga-site-branding__title {
  color: #0b4f9f;
  letter-spacing: 0.22em;
}

@media (max-width: 1080px) {
  .adliga-site-header__inner {
    gap: var(--wp--preset--spacing--30, 1rem);
  }

  .adliga-site-branding__link,
  .adliga-site .adliga-site-branding__link,
  .neris-site .adliga-site-branding__link {
    max-width: min(var(--adliga-header-logo-max-width, 220px), 32vw);
  }

  .ourhouse-site .adliga-site-branding__link {
    max-width: min(var(--adliga-header-logo-max-width, 340px), 42vw);
  }
}

@media (max-width: 782px) {
  .adliga-site-header__inner {
    min-height: 88px;
  }

  .adliga-site .adliga-site-header__inner {
    min-height: 74px;
  }

  .neris-site .adliga-site-header__inner {
    min-height: 78px;
  }

  .ourhouse-site .adliga-site-header__inner {
    min-height: 68px;
  }

  .adliga-site-branding__link,
  .adliga-site .adliga-site-branding__link,
  .neris-site .adliga-site-branding__link {
    max-width: var(--adliga-mobile-logo-max-width, 180px);
  }

  .ourhouse-site .adliga-site-branding__link {
    max-width: var(--adliga-mobile-logo-max-width, 210px);
  }

  .adliga-site-branding__logo,
  .adliga-site-branding__mark {
    max-height: var(--adliga-mobile-logo-height, 34px);
  }

  .adliga-site-branding--icon-title .adliga-site-branding__mark {
    max-width: var(--adliga-mobile-logo-height, 38px);
  }

  .adliga-site-branding__title {
    font-size: 1rem;
  }
}

@media (max-width: 480px) {
  .adliga-site-branding__link,
  .adliga-site .adliga-site-branding__link,
  .neris-site .adliga-site-branding__link {
    max-width: min(var(--adliga-mobile-logo-max-width, 180px), 46vw);
  }

  .ourhouse-site .adliga-site-branding__link {
    max-width: min(var(--adliga-mobile-logo-max-width, 210px), 52vw);
  }

  .adliga-site-branding--icon-title .adliga-site-branding__link {
    gap: 0.5rem;
  }
}

/**
 * Mobile navigation overlay fix.
 *
 * Force the WordPress Navigation Block mobile menu to behave as a real
 * viewport-level overlay with its own scroll area.
 */
@media (max-width: 782px) {
  .adliga-site-header {
    position: relative;
    z-index: 1000;
  }

  .adliga-main-navigation .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed;
    inset: 0;
    z-index: 999999;
    width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: var(--wp--preset--color--base, #ffffff);
    padding: calc(1.25rem + env(safe-area-inset-top)) 1.25rem calc(1.5rem + env(safe-area-inset-bottom));
    box-sizing: border-box;
  }

  .admin-bar .adliga-main-navigation .wp-block-navigation__responsive-container.is-menu-open {
    top: 46px;
    height: calc(100dvh - 46px);
    max-height: calc(100dvh - 46px);
  }

  .adliga-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    display: flex;
    align-items: stretch;
    width: 100%;
    padding-top: 4rem;
  }

  .adliga-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
  }

  .adliga-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    width: 100%;
  }

  .adliga-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 0.95rem 0;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.35;
    border-bottom: 1px solid rgba(24, 20, 33, 0.1);
  }

  .adliga-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    position: static;
    width: 100%;
    height: auto;
    min-width: 0;
    padding: 0.25rem 0 0.75rem 1rem;
    border: 0;
    box-shadow: none;
    background: transparent;
  }

  .adliga-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    padding: 0.65rem 0;
    font-size: 1rem;
    font-weight: 600;
    border-bottom: 0;
  }

  .adliga-main-navigation .wp-block-navigation__responsive-container-close {
    position: fixed;
    top: calc(1rem + env(safe-area-inset-top));
    right: 1.25rem;
    z-index: 1000000;
  }

  .admin-bar .adliga-main-navigation .wp-block-navigation__responsive-container-close {
    top: calc(46px + 1rem);
  }
}

/**
 * Mobile navigation submenu layout refinement.
 *
 * On mobile, nested navigation items should behave like a vertical list,
 * not like desktop floating dropdown cards.
 */
@media (max-width: 782px) {
  .adliga-main-navigation .wp-block-navigation__responsive-container.is-menu-open {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .adliga-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    padding-top: 4.75rem;
    padding-bottom: 6rem;
  }

  .adliga-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    gap: 0;
  }

  .adliga-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    display: block;
    width: 100%;
  }

  .adliga-main-navigation .wp-block-navigation__responsive-container.is-menu-open > .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
    padding: 1.05rem 0;
    border-bottom: 1px solid rgba(24, 20, 33, 0.12);
    font-size: 1.18rem;
    font-weight: 800;
  }

  .adliga-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;

    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;

    margin: 0;
    padding: 0.35rem 0 0.85rem 1rem;

    border: 0;
    border-bottom: 1px solid rgba(24, 20, 33, 0.08);
    border-radius: 0;
    box-shadow: none;
    background: transparent;
  }

  .adliga-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    display: block;
    width: 100%;
    padding: 0.52rem 0;
    border-bottom: 0;
    font-size: 1rem;
    font-weight: 650;
    line-height: 1.35;
  }

  .adliga-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon {
    display: none;
  }

  .adliga-main-navigation .wp-block-navigation__responsive-container-close {
    top: calc(1.15rem + env(safe-area-inset-top));
    right: 1.5rem;
  }

  .admin-bar .adliga-main-navigation .wp-block-navigation__responsive-container-close {
    top: calc(46px + 1.15rem);
  }
}
