/**
 * MANUcast.net UX
 * Native WordPress menu + logo/header controls.
 */
body.mnet-patch-01 {
  --mnet-bg: color-mix(in srgb, var(--mnet-p01-soft-gray) 38%, #ffffff 62%);
}

.mnet-patch-01 .mnet-p01-header {
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid color-mix(in srgb, var(--mnet-line) 72%, transparent 28%);
  backdrop-filter: saturate(145%) blur(10px);
  -webkit-backdrop-filter: saturate(145%) blur(10px);
}

.mnet-patch-01 .mnet-p01-header-inner {
  min-height: var(--mnet-p01-header-height);
  height: auto;
  display: flex;
  align-items: center;
  gap: clamp(14px, 2vw, 26px);
}

.mnet-patch-01 .mnet-p01-logo-slot {
  flex: 0 0 auto;
  width: var(--mnet-p01-logo-width);
  min-width: var(--mnet-p01-logo-width);
  display: flex;
  align-items: center;
  z-index: 4;
}

.mnet-patch-01 .mnet-p01-logo-slot .mnet-logo,
.mnet-patch-01 .mnet-p01-logo-slot .mnet-custom-logo {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--mnet-brand);
  text-decoration: none;
  line-height: 1;
}

.mnet-patch-01 .mnet-p01-logo-slot .mnet-logo-text {
  color: var(--mnet-text);
  font-size: clamp(1.42rem, 2vw, 1.85rem);
  letter-spacing: -.045em;
  white-space: nowrap;
}

.mnet-patch-01 .mnet-p01-logo-slot .mnet-logo-text em {
  color: var(--mnet-brand);
}

.mnet-patch-01 .mnet-p01-logo-slot .mnet-logo-mark {
  width: clamp(34px, 4.2vw, 46px);
  height: clamp(34px, 4.2vw, 46px);
  flex: 0 0 auto;
}

.mnet-patch-01 .mnet-p01-logo-slot img.custom-logo {
  width: 100%;
  max-width: var(--mnet-p01-logo-width);
  height: auto;
  max-height: calc(var(--mnet-p01-header-height) + 32px);
  object-fit: contain;
  display: block;
}

body.mnet-p01-logo-overlay .mnet-p01-logo-slot .mnet-logo,
body.mnet-p01-logo-overlay .mnet-p01-logo-slot .mnet-custom-logo {
  transform: translateY(var(--mnet-p01-logo-drop));
  background: rgba(255,255,255,.94);
  border: 1px solid color-mix(in srgb, var(--mnet-line) 80%, transparent 20%);
  border-radius: max(4px, var(--mnet-radius));
  padding: 9px 12px;
  box-shadow: 0 1px 0 rgba(0,0,0,.04);
}

.mnet-patch-01 .mnet-p01-nav {
  flex: 1 1 auto;
  min-width: 0;
}

.mnet-patch-01 .mnet-menu-native,
.mnet-patch-01 .mnet-menu {
  align-items: center;
  gap: clamp(14px, 1.35vw, 24px);
}

.mnet-patch-01 .mnet-menu-native > li,
.mnet-patch-01 .mnet-menu > li {
  position: relative;
}

.mnet-patch-01 .mnet-menu-native a,
.mnet-patch-01 .mnet-menu a {
  font-size: .9rem;
  letter-spacing: -.015em;
  font-weight: 760;
  color: color-mix(in srgb, var(--mnet-text) 86%, var(--mnet-muted) 14%);
  padding-block: 28px;
}

.mnet-patch-01 .mnet-menu-native > li.current-menu-item > a,
.mnet-patch-01 .mnet-menu-native > li.current_page_item > a,
.mnet-patch-01 .mnet-menu-native > li.current-menu-ancestor > a,
.mnet-patch-01 .mnet-menu > li.is-active > a,
.mnet-patch-01 .mnet-menu a:hover {
  color: var(--mnet-brand);
}

.mnet-patch-01 .mnet-menu-native > li.current-menu-item > a:after,
.mnet-patch-01 .mnet-menu-native > li.current_page_item > a:after,
.mnet-patch-01 .mnet-menu-native > li.current-menu-ancestor > a:after,
.mnet-patch-01 .mnet-menu > li.is-active > a:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 18px;
  height: 2px;
  background: var(--mnet-brand);
}

.mnet-patch-01 .mnet-menu-native .sub-menu {
  position: absolute;
  left: -16px;
  top: calc(100% - 8px);
  min-width: 220px;
  margin: 0;
  padding: 10px;
  list-style: none;
  background: #fff;
  border: 1px solid var(--mnet-line);
  border-radius: max(4px, var(--mnet-radius));
  box-shadow: 0 16px 36px rgba(0,0,0,.08);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .18s ease, visibility .18s ease, transform .18s ease;
  z-index: 50;
}

.mnet-patch-01 .mnet-menu-native li:hover > .sub-menu,
.mnet-patch-01 .mnet-menu-native li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.mnet-patch-01 .mnet-menu-native .sub-menu a {
  display: block;
  padding: 10px 12px;
  border-radius: max(3px, calc(var(--mnet-radius) - 1px));
  font-size: .88rem;
}

.mnet-patch-01 .mnet-menu-native .sub-menu a:hover {
  background: var(--mnet-p01-soft-gray);
}

.mnet-patch-01 .mnet-search {
  border-color: color-mix(in srgb, var(--mnet-line) 82%, #fff 18%);
  background: #fff;
}

.mnet-patch-01 .mnet-cta,
.mnet-patch-01 .mnet-p01-cta {
  background: var(--mnet-brand);
  color: #fff;
  border-color: var(--mnet-brand);
  white-space: nowrap;
}

.mnet-patch-01 .mnet-cta:hover,
.mnet-patch-01 .mnet-p01-cta:hover {
  background: var(--mnet-brand-dark);
  border-color: var(--mnet-brand-dark);
}

body.mnet-p01-header-compact .mnet-p01-header-inner {
  min-height: 62px;
}

body.mnet-p01-header-compact .mnet-menu-native a,
body.mnet-p01-header-compact .mnet-menu a {
  padding-block: 22px;
}

body.mnet-p01-header-compact .mnet-menu-native > li.current-menu-item > a:after,
body.mnet-p01-header-compact .mnet-menu-native > li.current_page_item > a:after,
body.mnet-p01-header-compact .mnet-menu-native > li.current-menu-ancestor > a:after,
body.mnet-p01-header-compact .mnet-menu > li.is-active > a:after {
  bottom: 13px;
}

@media (max-width: 1080px) {
  .mnet-patch-01 .mnet-p01-logo-slot {
    width: min(var(--mnet-p01-logo-width), 156px);
    min-width: min(var(--mnet-p01-logo-width), 156px);
  }
  .mnet-patch-01 .mnet-menu-native,
  .mnet-patch-01 .mnet-menu {
    gap: 13px;
  }
  .mnet-patch-01 .mnet-menu-native a,
  .mnet-patch-01 .mnet-menu a {
    font-size: .84rem;
  }
}

@media (max-width: 820px) {
  .mnet-patch-01 .mnet-p01-header-inner {
    min-height: 66px;
  }
  .mnet-patch-01 .mnet-p01-logo-slot {
    width: var(--mnet-p01-logo-width-mobile);
    min-width: 0;
  }
  body.mnet-p01-logo-overlay .mnet-p01-logo-slot .mnet-logo,
  body.mnet-p01-logo-overlay .mnet-p01-logo-slot .mnet-custom-logo {
    transform: none;
    background: transparent;
    border: 0;
    padding: 0;
    box-shadow: none;
  }
  .mnet-patch-01 .mnet-p01-logo-slot img.custom-logo {
    max-width: var(--mnet-p01-logo-width-mobile);
    max-height: 50px;
  }
  .mnet-patch-01 .mnet-menu-toggle {
    order: -1;
    width: 42px;
    height: 42px;
    border: 1px solid var(--mnet-line);
    border-radius: max(4px, var(--mnet-radius));
    background: #fff;
    color: var(--mnet-text);
  }
  .mnet-patch-01 .mnet-p01-logo-slot {
    margin-inline: auto;
  }
  .mnet-patch-01 .mnet-p01-nav {
    top: 66px;
    z-index: 80;
  }
  .mnet-patch-01 .mnet-menu-native,
  .mnet-patch-01 .mnet-menu {
    display: grid;
    gap: 0;
  }
  .mnet-patch-01 .mnet-menu-native a,
  .mnet-patch-01 .mnet-menu a {
    display: block;
    padding: 13px 0;
    font-size: 1rem;
  }
  .mnet-patch-01 .mnet-menu-native > li.current-menu-item > a:after,
  .mnet-patch-01 .mnet-menu-native > li.current_page_item > a:after,
  .mnet-patch-01 .mnet-menu-native > li.current-menu-ancestor > a:after,
  .mnet-patch-01 .mnet-menu > li.is-active > a:after {
    display: none;
  }
  .mnet-patch-01 .mnet-menu-native .sub-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    border: 0;
    background: transparent;
    padding: 0 0 6px 16px;
  }
  .mnet-patch-01 .mnet-menu-native .sub-menu a {
    padding: 9px 0;
    color: var(--mnet-muted);
  }
}

@media (max-width: 480px) {
  .mnet-patch-01 .mnet-p01-logo-slot {
    width: min(var(--mnet-p01-logo-width-mobile), 132px);
  }
  .mnet-patch-01 .mnet-p01-logo-slot .mnet-logo-text {
    font-size: 1.32rem;
  }
  .mnet-patch-01 .mnet-search {
    width: 38px;
    height: 38px;
  }
}

/* UX refinement 4.1.1: keep the native menu premium and avoid duplicate underline effects from parent/child styles. */
.mnet-patch-01 .mnet-p01-nav a::before,
.mnet-patch-01 .mnet-p01-nav a::after,
.mnet-patch-01 .mnet-menu-native a::before,
.mnet-patch-01 .mnet-menu-native a::after,
.mnet-patch-01 .mnet-menu a::before,
.mnet-patch-01 .mnet-menu a::after {
  content: none !important;
  display: none !important;
}

.mnet-patch-01 .mnet-menu-native > li.current-menu-item > a,
.mnet-patch-01 .mnet-menu-native > li.current_page_item > a,
.mnet-patch-01 .mnet-menu-native > li.current-menu-ancestor > a,
.mnet-patch-01 .mnet-menu > li.is-active > a {
  color: var(--mnet-brand);
  font-weight: 820;
}

.mnet-patch-01 .mnet-menu-native a:hover,
.mnet-patch-01 .mnet-menu a:hover {
  color: var(--mnet-brand);
  text-decoration: none;
}

/* Smaller, cleaner search control aligned with the header rhythm. */
.mnet-patch-01 .mnet-p01-search,
.mnet-patch-01 .mnet-search.mnet-p01-search {
  width: 34px;
  height: 34px;
  min-width: 34px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  border-radius: 999px;
  color: color-mix(in srgb, var(--mnet-text) 76%, var(--mnet-muted) 24%);
  border: 1px solid color-mix(in srgb, var(--mnet-line) 84%, transparent 16%);
  background: rgba(255,255,255,.92);
}

.mnet-patch-01 .mnet-p01-search:hover,
.mnet-patch-01 .mnet-search.mnet-p01-search:hover {
  color: var(--mnet-brand);
  border-color: color-mix(in srgb, var(--mnet-brand) 36%, var(--mnet-line) 64%);
  background: #fff;
}

.mnet-patch-01 .mnet-p01-search-icon {
  width: 14px;
  height: 14px;
  display: block;
  transform: translateY(-.5px);
  pointer-events: none;
}

@media (max-width: 820px) {
  .mnet-patch-01 .mnet-p01-search,
  .mnet-patch-01 .mnet-search.mnet-p01-search {
    width: 36px;
    height: 36px;
    min-width: 36px;
  }
}


/* 4.3.5: mobile header adjacency baseline. Final featured layer may reinforce this. */
@media (max-width: 820px) {
  html body.mnet-patch-01 .mnet-p01-header-inner { justify-content: flex-start !important; gap: 8px !important; }
  html body.mnet-patch-01 .mnet-menu-toggle { order: 0 !important; margin: 0 !important; flex: 0 0 auto !important; }
  html body.mnet-patch-01 .mnet-p01-logo-slot { order: 1 !important; margin: 0 0 0 2px !important; flex: 0 1 auto !important; justify-content: flex-start !important; }
  html body.mnet-patch-01 .mnet-p01-search { order: 2 !important; margin-left: auto !important; }
}
