/* ==========================================================
   22. SITE HEADER
   ========================================================== */


/* ----------------------------------------------------------
   HEADER SHELL
   ---------------------------------------------------------- */

.ent-header {
  position: relative;
  z-index: 1000;

  width: 100%;
  margin: 0;

  background: var(--ent-cream-light);
}


/* Main constrained header row */

.ent-header-inner {
  width: min(
    calc(100% - (var(--ent-gutter) * 2)),
    var(--ent-container-wide)
  );

  min-height: 96px;
  margin-inline: auto;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: var(--ent-space-6);
}


/* ----------------------------------------------------------
   LOGO
   ---------------------------------------------------------- */

.ent-header .wp-block-site-logo {
  flex: 0 0 auto;
  margin: 0;
}

.ent-header .wp-block-site-logo img {
  display: block;

  width: auto;
  height: auto;

  max-width: 235px;
}


/* ----------------------------------------------------------
   DESKTOP NAVIGATION
   ---------------------------------------------------------- */

.ent-nav {
  margin-left: auto;
}

.ent-nav .wp-block-navigation__container {
  display: flex;
  align-items: center;

  gap: clamp(18px, 1.7vw, 30px);
}


/* Standard links */

.ent-nav .wp-block-navigation-item__content {
  padding: 12px 0;

  font-family: var(--ent-font-body);
  font-size: var(--ent-text-sm);
  font-weight: var(--ent-weight-medium);

  line-height: 1;
  letter-spacing: var(--ent-tracking-normal);

  color: var(--ent-forest-dark);

  text-decoration: none;

  transition:
    color var(--ent-speed-fast) ease,
    opacity var(--ent-speed-fast) ease;
}


.ent-nav .wp-block-navigation-item__content:hover,
.ent-nav .wp-block-navigation-item__content:focus-visible {
  color: var(--ent-rust);
}


/* ----------------------------------------------------------
   EXPLORE CTA
   Last navigation item
   ---------------------------------------------------------- */

.ent-nav
.wp-block-navigation__container
> .wp-block-navigation-item:last-child
> .wp-block-navigation-item__content {

  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 46px;

  padding: 0.8rem 1.35rem;

  font-family: var(--ent-font-body);
  font-size: var(--ent-text-xs);
  font-weight: var(--ent-weight-bold);

  line-height: 1;
  letter-spacing: 0.10em;

  text-transform: uppercase;

  color: var(--ent-white);
  background: var(--ent-rust);

  border: 1px solid var(--ent-rust);
  border-radius: var(--ent-radius-sm);

  transition:
    background var(--ent-speed-fast) ease,
    border-color var(--ent-speed-fast) ease,
    transform var(--ent-speed-fast) var(--ent-ease);
}


.ent-nav
.wp-block-navigation__container
> .wp-block-navigation-item:last-child
> .wp-block-navigation-item__content:hover,
.ent-nav
.wp-block-navigation__container
> .wp-block-navigation-item:last-child
> .wp-block-navigation-item__content:focus-visible {

  color: var(--ent-white);
  background: var(--ent-forest);
  border-color: var(--ent-forest);

  transform: translateY(-1px);
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1024px) {

  .ent-header-inner {
    min-height: 88px;
  }

  .ent-header .wp-block-site-logo img {
    max-width: 205px;
  }

  .ent-nav .wp-block-navigation__container {
    gap: 16px;
  }

}


/* ==========================================================
   MOBILE HEADER
   ========================================================== */

@media (max-width: 782px) {

  .ent-header-inner {
    min-height: 78px;
  }


  /* Logo */

  .ent-header .wp-block-site-logo img {
    max-width: 185px;
  }


  /* Hamburger */

  .ent-nav .wp-block-navigation__responsive-container-open {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;

    margin: 0;
    padding: 0;

    color: var(--ent-forest-dark);
    background: transparent;

    border: 0;
  }


  .ent-nav
  .wp-block-navigation__responsive-container-open svg {
    width: 26px;
    height: 26px;
  }


  /* --------------------------------------------------------
     FULL SCREEN MOBILE OVERLAY
     -------------------------------------------------------- */

  .ent-nav
  .wp-block-navigation__responsive-container.is-menu-open {

    position: fixed;
    inset: 0;

    width: 100%;
    height: 100dvh;

    padding: 0;

    background: var(--ent-forest-dark);
    color: var(--ent-white);

    overflow-y: auto;

    z-index: 99999;
  }


  /* Overlay content */

  .ent-nav
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content {

    width: 100%;

    padding:
      110px
      var(--ent-gutter)
      48px;

    display: flex;
    flex-direction: column;
    align-items: stretch;
  }


  /* Close button */

  .ent-nav
  .wp-block-navigation__responsive-container-close {

    position: absolute;

    top: 22px;
    right: var(--ent-gutter);

    width: 44px;
    height: 44px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    color: var(--ent-white);
    background: transparent;

    border: 0;
  }


  .ent-nav
  .wp-block-navigation__responsive-container-close svg {
    width: 27px;
    height: 27px;
  }


  /* --------------------------------------------------------
     MOBILE NAVIGATION
     -------------------------------------------------------- */

  .ent-nav
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__container {

    width: 100%;

    display: flex;
    flex-direction: column;
    align-items: stretch;

    gap: 0;
  }


  .ent-nav
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item {

    width: 100%;
    margin: 0;
  }


  /* Large editorial menu links */

  .ent-nav
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content {

    display: block;

    width: 100%;

    padding: 8px 0;

    font-family: var(--ent-font-display);

    font-size: clamp(2rem, 9vw, 2.6rem);
    font-weight: var(--ent-weight-regular);

    line-height: 1.05;
    letter-spacing: var(--ent-tracking-tight);

    color: var(--ent-white);
  }


  .ent-nav
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content:hover,
  .ent-nav
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content:focus-visible {

    color: var(--ent-sand);
  }


  /* --------------------------------------------------------
     MOBILE EXPLORE CTA
     -------------------------------------------------------- */

  .ent-nav
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__container
  > .wp-block-navigation-item:last-child {

    margin-top: var(--ent-space-6);
    padding-top: var(--ent-space-6);

    border-top: 1px solid rgba(255,255,255,0.28);
  }


  .ent-nav
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__container
  > .wp-block-navigation-item:last-child
  > .wp-block-navigation-item__content {

    width: auto;

    min-height: 46px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0.8rem 1.35rem;

    font-family: var(--ent-font-body);
    font-size: var(--ent-text-xs);
    font-weight: var(--ent-weight-bold);

    line-height: 1;
    letter-spacing: 0.10em;

    text-transform: uppercase;

    color: var(--ent-white);
    background: var(--ent-rust);

    border: 1px solid var(--ent-rust);
    border-radius: var(--ent-radius-sm);
  }

}


/* ==========================================================
   23. MOBILE NAVIGATION OVERLAY
   WordPress Navigation Block Overrides
   ========================================================== */

@media (max-width: 782px) {

  /* --------------------------------------------------------
     RESPONSIVE CONTAINER
     -------------------------------------------------------- */

  .ent-nav .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    inset: 0 !important;

    width: 100vw !important;
    height: 100dvh !important;

    margin: 0 !important;
    padding: 0 !important;

    background: var(--ent-forest-dark) !important;
    color: var(--ent-white) !important;

    z-index: 99999 !important;
  }


  /* WordPress adds its own dialog/content wrappers */

  .ent-nav
  .wp-block-navigation__responsive-close,
  .ent-nav
  .wp-block-navigation__responsive-dialog {

    width: 100%;
    height: 100%;
  }


  .ent-nav
  .wp-block-navigation__responsive-container-content {

    width: 100% !important;
    height: 100% !important;

    padding:
      110px
      var(--ent-gutter)
      48px !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
  }


  /* --------------------------------------------------------
     NAV LIST
     -------------------------------------------------------- */

  .ent-nav
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__container {

    width: 100% !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    gap: 0 !important;
  }


  .ent-nav
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item {

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  /* --------------------------------------------------------
     MENU LINKS
     -------------------------------------------------------- */

  .ent-nav
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content {

    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 7px 0 !important;

    font-family: var(--ent-font-display) !important;

    font-size: clamp(2rem, 9vw, 2.65rem) !important;
    font-weight: var(--ent-weight-regular) !important;

    line-height: 1.05 !important;
    letter-spacing: var(--ent-tracking-tight) !important;

    color: var(--ent-white) !important;

    background: transparent !important;
    border: 0 !important;

    text-decoration: none !important;
    text-transform: none !important;
  }


  .ent-nav
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content:hover {

    color: var(--ent-sand) !important;
  }


  /* --------------------------------------------------------
     CLOSE BUTTON
     -------------------------------------------------------- */

  .ent-nav .wp-block-navigation__responsive-container-close {

    position: absolute !important;

    top: 22px !important;
    right: var(--ent-gutter) !important;

    width: 44px !important;
    height: 44px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    color: var(--ent-white) !important;
    background: transparent !important;

    border: 0 !important;

    z-index: 2;
  }


  .ent-nav
  .wp-block-navigation__responsive-container-close svg {

    width: 28px;
    height: 28px;

    fill: currentColor;
  }

}


/* ==========================================================
   24. MOBILE NAVIGATION REFINEMENT
   ========================================================== */

@media (max-width: 782px) {

  /* Move menu slightly upward */

  .ent-nav
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content {

    padding-top: 92px !important;
  }


  /* Refine primary navigation typography */

  .ent-nav
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content {

    padding: 6px 0 !important;

    font-size: clamp(1.85rem, 8vw, 2.35rem) !important;
    line-height: 1.08 !important;
  }


  /* Remove global focus box inside overlay */

  .ent-nav
  .wp-block-navigation__responsive-container.is-menu-open
  a:focus-visible {

    outline: none;
  }


  /* Give focused links a quieter treatment */

  .ent-nav
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item:not(:last-child)
  .wp-block-navigation-item__content:focus-visible {

    color: var(--ent-sand) !important;
  }


  /* --------------------------------------------------------
     FINAL ITEM = EXPLORE CTA
     -------------------------------------------------------- */

  .ent-nav
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__container
  > .wp-block-navigation-item:last-child {

    width: 100% !important;

    margin-top: var(--ent-space-5) !important;
    padding-top: var(--ent-space-5) !important;

    border-top: 1px solid rgba(255,255,255,0.30);
  }


  .ent-nav
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__container
  > .wp-block-navigation-item:last-child
  > .wp-block-navigation-item__content {

    display: inline-flex !important;

    width: auto !important;
    min-height: 46px !important;

    align-items: center !important;
    justify-content: center !important;

    padding: 0.8rem 1.35rem !important;

    font-family: var(--ent-font-body) !important;
    font-size: var(--ent-text-xs) !important;
    font-weight: var(--ent-weight-bold) !important;

    line-height: 1 !important;
    letter-spacing: 0.10em !important;

    text-transform: uppercase !important;

    color: var(--ent-white) !important;
    background: var(--ent-rust) !important;

    border: 1px solid var(--ent-rust) !important;
    border-radius: var(--ent-radius-sm) !important;
  }


  .ent-nav
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__container
  > .wp-block-navigation-item:last-child
  > .wp-block-navigation-item__content:hover {

    color: var(--ent-forest-dark) !important;
    background: var(--ent-cream) !important;
    border-color: var(--ent-cream) !important;
  }

}


/* ==========================================================
   25. MOBILE NAVIGATION BRANDING + BACKGROUND
   ========================================================== */

@media (max-width: 782px) {

  /* --------------------------------------------------------
     FULL OVERLAY BACKGROUND
     -------------------------------------------------------- */

  .ent-nav
  .wp-block-navigation__responsive-container.is-menu-open {

    background:
      linear-gradient(
        180deg,
        rgba(7, 28, 23, 0.96) 0%,
        rgba(7, 28, 23, 0.93) 38%,
        rgba(7, 28, 23, 0.82) 65%,
        rgba(7, 28, 23, 0.58) 100%
      ),
      url("https://coveridge2026.wpenginepowered.com/wp-content/uploads/2026/10/Autumn-Mountain-Overlook-at-Sunset.png")
      center bottom / cover no-repeat !important;
  }


  /* --------------------------------------------------------
     MOBILE OVERLAY LOGO
     -------------------------------------------------------- */

  .ent-nav
  .wp-block-navigation__responsive-container.is-menu-open::before {

    content: "";

    position: absolute;

    top: 22px;
    left: var(--ent-gutter);

    width: 205px;
    height: 66px;

    background-image:
      url("https://coveridge2026.wpenginepowered.com/wp-content/uploads/2026/10/MobileLogo.png");

    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;

    z-index: 3;

    pointer-events: none;
  }


  /* --------------------------------------------------------
     KEEP MENU CONTENT ABOVE BACKGROUND
     -------------------------------------------------------- */

  .ent-nav
  .wp-block-navigation__responsive-close {

    position: relative;

    z-index: 2;
  }


  /* --------------------------------------------------------
     MENU POSITION
     Allow room for logo
     -------------------------------------------------------- */

  .ent-nav
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content {

    padding-top: 112px !important;
  }


  /* --------------------------------------------------------
     CLOSE BUTTON
     -------------------------------------------------------- */

  .ent-nav
  .wp-block-navigation__responsive-container-close {

    top: 28px !important;
    right: var(--ent-gutter) !important;

    z-index: 4 !important;
  }

}


/* --------------------------------------------------------
   FINAL MOBILE CTA ALIGNMENT
   -------------------------------------------------------- */

.ent-nav
.wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__container
> .wp-block-navigation-item:last-child {

  display: flex !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
}


.ent-nav
.wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__container
> .wp-block-navigation-item:last-child
> .wp-block-navigation-item__content {

  align-self: flex-start !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}



