/**
 * B90 / 2026-10-30 — Mobile menu clarity (Theme-only, REVIEW ONLY).
 * New visual owner for the existing menu. No new JS overlay, route, state or writer.
 * Rollback: remove this enqueue and restore the two source files from B89.
 */
@media (max-width: 767px),
       (min-width: 768px) and (max-width: 920px) and (max-height: 500px) and (orientation: landscape) and (pointer: coarse) {
  .dhvx-mobile-menu:not([hidden]) { display: block!important; background: var(--dhvx-surface); }
  .dhvx-mobile-menu__panel {
    position: absolute!important;
    inset: 0!important;
    width: 100%!important;
    max-width: none!important;
    height: 100dvh!important;
    max-height: 100dvh!important;
    padding: max(10px, env(safe-area-inset-top, 0px)) max(20px, env(safe-area-inset-right, 0px))
      max(20px, env(safe-area-inset-bottom, 0px)) max(20px, env(safe-area-inset-left, 0px))!important;
    border: 0!important;
    border-radius: 0!important;
    box-shadow: none!important;
    background: var(--dhvx-surface)!important;
    color: var(--dhvx-text);
    scroll-padding-top: 70px;
    scroll-padding-bottom: 30px;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
    transform-origin: 0 50%;
    animation: dhvx-menu-v2-in 190ms ease-out both;
  }
  .dhvx-mobile-menu.is-closing .dhvx-mobile-menu__panel {
    animation: dhvx-menu-v2-out 160ms ease-in both;
  }
  .dhvx-mobile-menu__panel::before { display: none!important; content: none!important; }
  .dhvx-mobile-menu__head {
    position: sticky;
    top: calc(-1 * max(10px, env(safe-area-inset-top, 0px)));
    z-index: 5;
    min-height: 54px!important;
    padding: 3px 0 10px!important;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 0!important;
    box-shadow: none!important;
    background: var(--dhvx-surface)!important;
  }
  .dhvx-mobile-menu__head > strong {
    color: var(--dhvx-text)!important;
    font-size: 22px!important;
    line-height: 1.2!important;
    font-weight: 800;
    letter-spacing: -.035em;
  }
  .dhvx-mobile-menu__close { width: 44px; height: 44px; flex: 0 0 44px; background: transparent!important; }
  .dhvx-mobile-menu__search, .dhvx-mobile-menu__explore { display: none!important; }

  /* Four stable reader destinations. Navigation URLs remain Theme/Core-owned. */
  .dhvx-mobile-menu__links.dhvx-mobile-menu__primary {
    display: grid!important;
    grid-template-columns: 1fr!important;
    gap: 0!important;
    padding: 0 0 7px!important;
    margin: 0!important;
    border: 0!important;
  }
  .dhvx-mobile-menu__links.dhvx-mobile-menu__primary .dhvx-mobile-menu__primary-link {
    display: grid!important;
    grid-template-columns: 32px minmax(0, 1fr);
    align-items: center;
    justify-content: start;
    gap: 12px;
    min-height: 49px!important;
    padding: 6px 10px!important;
    border: 0!important;
    border-radius: 9px;
    background: transparent!important;
    color: var(--dhvx-text)!important;
    font-size: 15.5px;
    font-weight: 650;
    line-height: 1.3;
    text-decoration: none;
    box-shadow: none!important;
  }
  .dhvx-mobile-menu__primary-icon {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    color: var(--dhvx-text-secondary);
  }
  .dhvx-mobile-menu__primary-link.is-active,
  .dhvx-mobile-menu__primary-link[aria-current="page"] { background: color-mix(in srgb, var(--dhvx-brand) 6%, var(--dhvx-surface))!important; }
  .dhvx-mobile-menu__primary-link.is-active .dhvx-mobile-menu__primary-icon,
  .dhvx-mobile-menu__primary-link[aria-current="page"] .dhvx-mobile-menu__primary-icon { color: var(--dhvx-brand); }
  .dhvx-mobile-menu__primary-link.is-active > span:last-child,
  .dhvx-mobile-menu__primary-link[aria-current="page"] > span:last-child { color: var(--dhvx-brand); }
  .dhvx-mobile-menu__links.dhvx-mobile-menu__primary a + a { border: 0!important; }
  .dhvx-mobile-menu__publish-wrap { padding: 0!important; }
  .dhvx-mobile-menu__publish {
    display: grid;
    grid-template-columns: 22px minmax(0,1fr) 12px;
    align-items: center;
    gap: 10px;
    min-height: 48px!important;
    padding: 9px 13px;
    margin: 4px 0 18px;
    border: 1px solid var(--dhvx-border);
    border-radius: 10px;
    background: var(--dhvx-surface-soft);
    color: var(--dhvx-text);
    font-size: 14.5px;
    font-weight: 700;
    text-decoration: none;
  }
  .dhvx-mobile-menu__publish > span:last-child { color: var(--dhvx-text-muted); font-size: 20px; }
  .dhvx-mobile-menu__publish svg { display: block; }
  .dhvx-mobile-menu__categories {
    padding: 13px 0 18px!important;
    border-top: 1px solid var(--dhvx-border)!important;
    border-bottom: 1px solid var(--dhvx-border)!important;
  }
  .dhvx-mobile-menu__categories h2,
  .dhvx-mobile-menu__groups-label {
    display: block!important;
    margin: 0 0 11px!important;
    min-height: 0!important;
    color: var(--dhvx-text-muted)!important;
    font: inherit;
    font-size: 12px!important;
    font-weight: 750!important;
    line-height: 1.4;
    letter-spacing: .05em!important;
    text-transform: uppercase;
  }
  .dhvx-mobile-menu__links.is-categories {
    display: grid!important;
    grid-template-columns: repeat(2, minmax(0, 1fr))!important;
    gap: 8px!important;
  }
  .dhvx-mobile-menu__links.is-categories .dhvx-category-link.is-menu {
    min-height: 48px!important;
    padding: 8px 10px!important;
    border: 1px solid transparent!important;
    border-radius: 10px!important;
    background: var(--dhvx-surface-soft)!important;
    color: var(--dhvx-text)!important;
    font-size: 14px!important;
    font-weight: 650!important;
    box-shadow: none!important;
    text-decoration: none!important;
  }
  .dhvx-mobile-menu__links.is-categories .dhvx-category-link.is-menu .dhvx-category-link__icon {
    width: 27px!important;
    height: 27px!important;
    flex-basis: 27px!important;
    border-radius: 7px;
    color: var(--dhvx-text-secondary)!important;
    background: transparent!important;
  }
  .dhvx-mobile-menu__links.is-categories .dhvx-category-link.is-menu.is-active,
  .dhvx-mobile-menu__links.is-categories .dhvx-category-link.is-menu[aria-current="page"] {
    border-color: color-mix(in srgb, var(--dhvx-brand) 18%, transparent)!important;
    background: color-mix(in srgb, var(--dhvx-brand) 6%, var(--dhvx-surface))!important;
    color: var(--dhvx-brand)!important;
  }
  .dhvx-mobile-menu__topics-more { margin-top: 3px!important; }
  .dhvx-mobile-menu__topics-more > summary {
    min-height: 44px!important;
    font-size: 13px!important;
    color: var(--dhvx-text-secondary);
  }
  .dhvx-mobile-menu__groups { padding-top: 18px!important; }
  .dhvx-mobile-menu__links.dhvx-mobile-menu__direct {
    display: grid!important;
    gap: 0;
    padding: 0 0 8px!important;
  }
  .dhvx-mobile-menu__links.dhvx-mobile-menu__direct a {
    display: flex!important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 44px!important;
    padding: 8px 4px!important;
    border: 0!important;
    color: var(--dhvx-text)!important;
    font-size: 14.75px;
    font-weight: 550;
    text-decoration: none;
  }
  .dhvx-mobile-menu__direct a span { color: var(--dhvx-text-muted); font-size: 19px; font-weight: 400; }
  .dhvx-mobile-menu__group.is-secondary { border-top: 1px solid var(--dhvx-border); border-bottom: 0!important; }
  .dhvx-mobile-menu__group.is-secondary summary {
    min-height: 48px!important;
    padding: 0 4px;
    grid-template-columns: minmax(0,1fr) 24px!important;
    gap: 10px;
    font-size: 14px;
    color: var(--dhvx-text-secondary);
  }
  .dhvx-mobile-menu__group.is-secondary .dhvx-mobile-menu__group-icon,
  .dhvx-mobile-menu__group.is-secondary .dhvx-mobile-menu__group-copy small { display: none!important; }
  .dhvx-mobile-menu__group.is-secondary .dhvx-mobile-menu__group-copy strong { font-size: 14px; font-weight: 650; }
  .dhvx-mobile-menu__group.is-secondary .dhvx-mobile-menu__links a { min-height: 44px!important; }
  .dhvx-mobile-menu__utility-copy small { display: none!important; }
  .dhvx-mobile-menu__footer { margin-top: 10px!important; padding-top: 8px!important; border-top: 1px solid var(--dhvx-border)!important; }
  .dhvx-mobile-menu__follow > summary { font-size: 13px; }
  .dhvx-mobile-menu a:focus-visible, .dhvx-mobile-menu button:focus-visible, .dhvx-mobile-menu summary:focus-visible {
    outline: 2px solid var(--dhvx-brand)!important; outline-offset: 2px;
  }
}
@keyframes dhvx-menu-v2-in { from { opacity: .98; transform: translate3d(-14px,0,0); } to { opacity: 1; transform: translate3d(0,0,0); } }
@keyframes dhvx-menu-v2-out { from { opacity: 1; transform: translate3d(0,0,0); } to { opacity: .98; transform: translate3d(-14px,0,0); } }
@media (prefers-reduced-motion: reduce) {
  .dhvx-mobile-menu__panel, .dhvx-mobile-menu.is-closing .dhvx-mobile-menu__panel { animation: none!important; }
}
@media (forced-colors: active) {
  .dhvx-mobile-menu__primary-link.is-active, .dhvx-mobile-menu__primary-link[aria-current="page"] { outline: 2px solid Highlight!important; outline-offset: -2px; }
  .dhvx-mobile-menu__publish, .dhvx-mobile-menu__links.is-categories .dhvx-category-link.is-menu { border: 1px solid CanvasText!important; }
}

/* B91: collapsed disclosure content must remain collapsed even when the
 * inherited mobile grid rules use display:grid!important. Native <details>
 * summaries remain focusable and discoverable, children never leak. */
@media (max-width: 767px),
       (min-width: 768px) and (max-width: 920px) and (max-height: 500px) and (orientation: landscape) and (pointer: coarse) {
  .dhvx-mobile-menu details:not([open]) > .dhvx-mobile-menu__links,
  .dhvx-mobile-menu details:not([open]) > .dhvx-mobile-menu__social-links {
    display: none!important;
  }
}

/* B92: native <details> owns this state; the summary announces the action
 * accurately both collapsed and expanded, without creating JS state. */
.dhvx-mobile-menu__topics-more > summary .dhvx-mobile-menu__topics-expanded { display: none!important; }
.dhvx-mobile-menu__topics-more[open] > summary .dhvx-mobile-menu__topics-collapsed { display: none!important; }
.dhvx-mobile-menu__topics-more[open] > summary .dhvx-mobile-menu__topics-expanded { display: inline!important; }

/* B96: Menu alignment and disclosure polish (mobile-only, CSS visual owner).
 * Inline SVGs avoid Unicode caret glyph fallback and double-"v" rendering.
 * Native <details> provides its own open state: no JavaScript is added. */
@media (max-width: 767px),
       (min-width: 768px) and (max-width: 920px) and (max-height: 500px) and (orientation: landscape) and (pointer: coarse) {
  .dhvx-mobile-menu__panel { --dhvx-menu-item-inset: 10px; --dhvx-menu-arrow-size: 20px; }
  .dhvx-mobile-menu__topics-more > summary {
    display: flex!important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px var(--dhvx-menu-item-inset);
    list-style: none;
  }
  .dhvx-mobile-menu__topics-more > summary::marker,
  .dhvx-mobile-menu__follow > summary::marker,
  .dhvx-mobile-menu__group.is-secondary > summary::marker { content: ""; }
  .dhvx-mobile-menu__topics-chevron,
  .dhvx-mobile-menu__follow-chevron,
  .dhvx-mobile-menu__nav-arrow,
  .dhvx-mobile-menu__utility-arrow,
  .dhvx-mobile-menu__group.is-secondary .dhvx-mobile-menu__group-arrow {
    display: inline-flex!important;
    align-items: center;
    justify-content: center;
    flex: 0 0 var(--dhvx-menu-arrow-size);
    width: var(--dhvx-menu-arrow-size);
    height: var(--dhvx-menu-arrow-size);
    line-height: 1!important;
    font-size: 0!important;
    color: var(--dhvx-text-muted)!important;
  }
  .dhvx-mobile-menu__topics-chevron svg,
  .dhvx-mobile-menu__follow-chevron svg,
  .dhvx-mobile-menu__nav-arrow svg,
  .dhvx-mobile-menu__utility-arrow svg,
  .dhvx-mobile-menu__group-arrow svg {
    display: block;
    width: 18px;
    height: 18px;
    flex: none;
  }
  .dhvx-mobile-menu__topics-chevron,
  .dhvx-mobile-menu__follow-chevron { transition: transform 160ms ease!important; }
  .dhvx-mobile-menu__topics-more[open] > summary .dhvx-mobile-menu__topics-chevron,
  .dhvx-mobile-menu__follow[open] > summary .dhvx-mobile-menu__follow-chevron {
    transform: rotate(180deg)!important;
  }
  .dhvx-mobile-menu__groups-label { padding-left: var(--dhvx-menu-item-inset)!important; }
  .dhvx-mobile-menu__links.dhvx-mobile-menu__direct {
    padding: 0 0 8px!important;
  }
  .dhvx-mobile-menu__links.dhvx-mobile-menu__direct a {
    display: grid!important;
    grid-template-columns: minmax(0,1fr) var(--dhvx-menu-arrow-size);
    gap: 12px;
    align-items: center;
    width: 100%;
    min-height: 50px!important;
    padding: 9px var(--dhvx-menu-item-inset)!important;
    margin: 0;
    box-sizing: border-box;
  }
  .dhvx-mobile-menu__group.is-secondary > summary {
    display: grid!important;
    grid-template-columns: minmax(0,1fr) var(--dhvx-menu-arrow-size)!important;
    align-items: center;
    column-gap: 12px;
    min-height: 50px!important;
    padding: 9px var(--dhvx-menu-item-inset)!important;
    margin: 0;
    box-sizing: border-box;
  }
  .dhvx-mobile-menu__group.is-secondary .dhvx-mobile-menu__group-arrow {
    transform: none!important;
    overflow: visible!important;
    border-radius: 0!important;
    background: transparent!important;
  }
  .dhvx-mobile-menu__group.is-secondary .dhvx-mobile-menu__group-arrow::before {
    content: none!important;
    display: none!important;
  }
  .dhvx-mobile-menu__group.is-secondary .dhvx-mobile-menu__group-arrow svg {
    transition: transform 160ms ease;
  }
  .dhvx-mobile-menu__group.is-secondary[open] > summary .dhvx-mobile-menu__group-arrow svg {
    transform: rotate(90deg);
  }
  .dhvx-mobile-menu__group.is-secondary > .dhvx-mobile-menu__links {
    padding: 0 0 8px!important;
  }
  .dhvx-mobile-menu__group.is-secondary .dhvx-mobile-menu__links a.dhvx-mobile-menu__utility-link {
    display: grid!important;
    grid-template-columns: minmax(0,1fr) var(--dhvx-menu-arrow-size);
    gap: 12px;
    min-height: 50px!important;
    padding: 9px var(--dhvx-menu-item-inset)!important;
    box-sizing: border-box;
  }
  .dhvx-mobile-menu__publish > .dhvx-mobile-menu__nav-arrow {
    color: var(--dhvx-text-muted)!important;
  }
  .dhvx-mobile-menu__footer {
    margin-top: 8px!important;
    padding: 10px 0 0!important;
    border-top: 1px solid var(--dhvx-border)!important;
  }
  .dhvx-mobile-menu__follow > summary {
    display: grid!important;
    grid-template-columns: minmax(0,1fr) var(--dhvx-menu-arrow-size);
    align-items: center;
    gap: 12px;
    min-height: 50px!important;
    padding: 9px var(--dhvx-menu-item-inset)!important;
    color: var(--dhvx-text-secondary);
  }
  .dhvx-mobile-menu__follow-label { min-width: 0; font-size: inherit!important; transform: none!important; transition: none!important; }
  .dhvx-mobile-menu__copyright {
    margin: 8px 0 0!important;
    padding: 10px var(--dhvx-menu-item-inset) 6px;
    color: var(--dhvx-text-muted)!important;
    font-size: 12px!important;
    font-weight: 400!important;
    line-height: 1.45!important;
    letter-spacing: 0;
    overflow-wrap: anywhere;
  }
}
@media (prefers-reduced-motion: reduce) {
  .dhvx-mobile-menu__topics-chevron, .dhvx-mobile-menu__follow-chevron,
  .dhvx-mobile-menu__group-arrow svg { transition: none!important; }
}


/* B98 / 30-10-2026: Consistent three-tier mobile navigation hierarchy.
 * Tier 1: primary destinations; Tier 2: collapsible group title/direct link;
 * Tier 3: nested destinations. Small text remains >=13.5px and targets >=44px.
 * Scope strictly the existing mobile menu CSS visual owner, no new JS.
 */
@media (max-width: 767px),
       (min-width: 768px) and (max-width: 920px) and (max-height: 500px) and (orientation: landscape) and (pointer: coarse) {
  .dhvx-mobile-menu__panel {
    --dhvx-menu-tier-primary: 15.5px;
    --dhvx-menu-tier-group: 15.25px;
    --dhvx-menu-tier-link: 13.5px;
    --dhvx-menu-tier-caption: 12.5px;
  }
  /* Clear main entry points; preserve selected-row style and original routes. */
  .dhvx-mobile-menu__links.dhvx-mobile-menu__primary .dhvx-mobile-menu__primary-link {
    font-size: var(--dhvx-menu-tier-primary)!important;
    font-weight: 700!important;
  }
  /* A direct destination below the section heading is intermediate weight. */
  .dhvx-mobile-menu__links.dhvx-mobile-menu__direct a {
    font-size: 14px!important;
    font-weight: 580!important;
    line-height: 1.4;
  }
  /* Parent disclosure title: visibly stronger than children. */
  .dhvx-mobile-menu__group.is-secondary > summary {
    min-height: 52px!important;
    font-size: var(--dhvx-menu-tier-group)!important;
    font-weight: 720!important;
  }
  .dhvx-mobile-menu__group.is-secondary .dhvx-mobile-menu__group-copy strong {
    font-size: var(--dhvx-menu-tier-group)!important;
    font-weight: 720!important;
    line-height: 1.35;
    letter-spacing: -.006em;
    color: var(--dhvx-text)!important;
  }
  /* Native <details> controls nesting; a subtle guide marks the child level. */
  .dhvx-mobile-menu__group.is-secondary > .dhvx-mobile-menu__links {
    margin: 0 0 6px 10px!important;
    padding: 2px 0 7px!important;
    border-left: 1px solid var(--dhvx-border)!important;
  }
  .dhvx-mobile-menu__group.is-secondary .dhvx-mobile-menu__links a.dhvx-mobile-menu__utility-link {
    min-height: 44px!important;
    padding: 9px var(--dhvx-menu-item-inset) 9px 16px!important;
    font-size: var(--dhvx-menu-tier-link)!important;
    font-weight: 500!important;
    line-height: 1.4;
    text-decoration: none!important;
  }
  .dhvx-mobile-menu__group.is-secondary .dhvx-mobile-menu__utility-copy strong {
    font-size: var(--dhvx-menu-tier-link)!important;
    font-weight: 500!important;
    line-height: 1.4;
    color: var(--dhvx-text-secondary)!important;
    letter-spacing: normal!important;
  }
  .dhvx-mobile-menu__group.is-secondary .dhvx-mobile-menu__utility-arrow svg {
    width: 16px!important;
    height: 16px!important;
  }
  /* Footer is tertiary information, not another top-level menu group. */
  .dhvx-mobile-menu__follow > summary {
    min-height: 44px!important;
    font-size: var(--dhvx-menu-tier-caption)!important;
    font-weight: 620!important;
    color: var(--dhvx-text-secondary)!important;
  }
  .dhvx-mobile-menu__follow > summary .dhvx-mobile-menu__follow-label {
    font-size: var(--dhvx-menu-tier-caption)!important;
    font-weight: 620!important;
    line-height: 1.35;
    color: var(--dhvx-text-secondary)!important;
  }
  .dhvx-mobile-menu__footer .dhvx-mobile-menu__copyright {
    font-size: 11.75px!important;
    font-weight: 400!important;
  }
}
