/* =========================================================
   Vars
========================================================= */
:root {
  --mg-adminbar-h: 0px;
  --mg-header-h: 80px;
}

/* =========================================================
   Base / structure
========================================================= */
header { height: 0; }

.mg-header {
  position: absolute;
  top: var(--mg-adminbar-h);
  left: 0;
  right: 0;
  z-index: 100;
  background-color: var(--wp--preset--color--custom-header-color) !important;
  transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

/* State modifiers */
.mg-header--fixed { position: fixed; top: var(--mg-adminbar-h); }
.mg-header--solid {
  background-color: var(--wp--preset--color--custom-header-color) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
}
.mg-header--hidden { transform: translateY(-100%); }

/* Page offsets when header is fixed */
body.mg-has-fixed-header {
  scroll-padding-top: calc(var(--mg-adminbar-h) + var(--mg-header-h));
}

/* Never hide header while menu is open */
body.mg-menu-open .mg-header,
body.mg-menu-open .mg-header--hidden {
  transform: none !important;
}

/* WP nav overlay stacking context */
.wp-block-navigation__responsive-container,
.wp-block-navigation__responsive-dialog {
  z-index: 100000;
}

/* Hero helper */
.has-mg-hero { padding-top: 120px; }

/* =========================================================
   Active item + focus styles (desktop & mobile)
========================================================= */
/* Active/current link */
.main-header-nav .wp-block-navigation-item__content[aria-current="page"],
.main-header-nav .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container-content
  .current-menu-item > .wp-block-navigation-item__content {
  color: var(--wp--preset--color--custom-rose-beige) !important;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* Focus rings (accessible but subtle) */
.main-header-nav .wp-block-navigation-item__content:focus {
  outline: none;
  box-shadow: none !important;
}
.main-header-nav .wp-block-navigation-item__content:focus-visible {
  outline: 2px solid var(--wp--preset--color--custom-stone-gray);
  outline-offset: 3px;
  border-radius: 2px;
}
.main-header-nav .wp-block-navigation-item__content:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}

/* iOS tap highlight */
.main-header-nav a { -webkit-tap-highlight-color: transparent; }

/* =========================================================
   Mobile (<= 767px)
========================================================= */
@media (max-width: 767px) {
  /* Off-canvas background + close icon */
  .is-menu-open { background-color: #FFFBF3 !important; }
  .is-menu-open .wp-block-navigation__responsive-container-close svg {
    fill: var(--wp--preset--color--custom-stone-gray) !important;
  }

  /* Force left-justified layout */
  .main-header-nav.wp-block-navigation,
  .main-header-nav .wp-block-navigation,
  .items-justified-right.main-header-nav.wp-block-navigation {
    --navigation-layout-justify: flex-start !important;
    --navigation-layout-justification-setting: flex-start !important;
  }
  .main-header-nav .wp-block-navigation__container { justify-content: flex-start !important; }
  .main-header-nav
    .wp-block-navigation__responsive-container
    .wp-block-navigation__container {
    justify-content: flex-start !important;
    align-items: flex-start !important;
    width: 100%;
  }

  /* Toggle icon sizes */
  .wp-block-navigation__responsive-container-close svg,
  .wp-block-navigation__responsive-container-open svg {
    width: 40px !important;
    height: 40px !important;
  }

  /* Mobile menu item typography */
  .wp-block-navigation__responsive-container-content
    .wp-block-navigation-item
    .wp-block-navigation-item__label {
    line-height: 56px !important;
    font-size: 24px !important;
    color: var(--wp--preset--color--custom-stone-gray) !important;
  }

  /* Mobile current item styling */
  .wp-block-navigation__responsive-container-content
    .current-menu-item
    .wp-block-navigation-item__label {
    color: var(--wp--preset--color--custom-rose-beige) !important;
    text-decoration: underline;
  }

  /* Mobile focus rings inside panel */
  .is-menu-open .wp-block-navigation__responsive-container-content
    .wp-block-navigation-item__content:focus {
    outline: none;
    box-shadow: none !important;
  }
  .is-menu-open .wp-block-navigation__responsive-container-content
    .wp-block-navigation-item__content:focus-visible {
    outline: 2px solid var(--wp--preset--color--custom-stone-gray);
    outline-offset: 3px;
    border-radius: 2px;
  }
}

/* =========================================================
   Reduced motion
========================================================= */
@media (prefers-reduced-motion: reduce) {
  .mg-header { transition: background-color .2s ease, box-shadow .2s ease; }
  .mg-header--hidden { transform: none; }
}

/* =========================================================
   Global: current item underline (non-mobile contexts)
========================================================= */
.wp-block-navigation__responsive-container-content
  .current-menu-item
  .wp-block-navigation-item__label {
  color: var(--wp--preset--color--custom-rose-beige) !important;
  text-decoration: underline;
}
