/* Semantic mobile navigation. Blocksy remains the overlay/scroll lifecycle owner. */
@media (max-width: 999px) {
  #offcanvas:has([data-dc-mobile-nav]) {
    --side-panel-offset: 0px;
    --side-panel-width: 100%;
    --side-panel-border-radius: 0px;
    background: var(--deck-slate, #4A5568);
  }
  #offcanvas:has([data-dc-mobile-nav]) .ct-panel-inner {
    box-sizing: border-box;
    padding: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100vh !important;
    height: 100dvh !important;
    margin: 0 !important;
    border-radius: 0 !important;
    display: flex !important;
    flex-direction: column;
    overflow: hidden;
    background: var(--deck-slate, #4A5568) !important;
  }
  #offcanvas:has([data-dc-mobile-nav]) .ct-panel-actions {
    position: absolute;
    top: calc(28px + env(safe-area-inset-top, 0px));
    right: calc(20px + env(safe-area-inset-right, 0px));
    padding: 0 !important;
    margin: 0 !important;
    z-index: 2;
  }
  #offcanvas:has([data-dc-mobile-nav]) .ct-toggle-close {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px;
    min-height: 44px;
    padding: 12px !important;
    margin: 0 !important;
    transform: none !important;
    position: static;
    border: 0;
    border-radius: 0;
    color: var(--deck-cream-text, #FAF7EF) !important;
    background: transparent !important;
  }
  #offcanvas:has([data-dc-mobile-nav]) .ct-toggle-close svg { width: 20px; height: 20px; fill: currentColor !important; color: var(--deck-cream-text, #FAF7EF) !important; }
  #offcanvas:has([data-dc-mobile-nav]) .ct-panel-content[data-device="mobile"] {
    flex: 1;
    min-height: 0;
    width: 100%;
    padding: 0 !important;
    overflow: hidden !important;
  }
  #offcanvas:has([data-dc-mobile-nav]) .ct-panel-content[data-device="mobile"] .ct-panel-content-inner {
    height: 100%;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
  }
  #offcanvas:has([data-dc-mobile-nav]) [data-device="mobile"] [data-id="offcanvas-logo"] {
    box-sizing: border-box;
    flex: none;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: calc(96px + env(safe-area-inset-top, 0px));
    padding: calc(24px + env(safe-area-inset-top, 0px)) 64px 20px 0 !important;
    margin: 0 calc(20px + env(safe-area-inset-right, 0px)) 0 calc(20px + env(safe-area-inset-left, 0px)) !important;
    border-bottom: 1px solid rgba(250,247,239,.12);
  }
  #offcanvas:has([data-dc-mobile-nav]) [data-device="mobile"] [data-id="offcanvas-logo"] img {
    display: block;
    width: 154px !important;
    max-width: 100%;
    height: auto !important;
    filter: none;
  }
  #offcanvas:has([data-dc-mobile-nav]) [data-device="mobile"] nav.mobile-menu {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    padding: 20px calc(20px + env(safe-area-inset-right, 0px)) calc(28px + env(safe-area-inset-bottom, 0px)) calc(20px + env(safe-area-inset-left, 0px));
    scrollbar-width: thin;
    scrollbar-color: #8993a2 transparent;
  }
  .dc-mobile-nav-fallback {
    background: var(--deck-slate, #4A5568);
    padding: 20px;
    margin: 0;
  }
  :is([data-dc-mobile-nav], [data-dc-nav-fallback]),
  :is([data-dc-mobile-nav], [data-dc-nav-fallback]) ul,
  :is([data-dc-mobile-nav], [data-dc-nav-fallback]) li {
    list-style: none !important;
    margin: 0;
    padding: 0;
    border: 0;
    text-align: left;
  }
  :is([data-dc-mobile-nav], [data-dc-nav-fallback]) li::before,
  :is([data-dc-mobile-nav], [data-dc-nav-fallback]) li::after { content: none !important; }
  :is([data-dc-mobile-nav], [data-dc-nav-fallback]) :is(.dc-nav-toggle,.dc-nav-link,.dc-nav-fallback-label) {
    box-sizing: border-box;
    width: 100%;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 11px 12px !important;
    position: relative;
    font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-size: 18px;
    line-height: 26px;
    font-weight: 600;
    letter-spacing: normal;
    text-transform: none;
    text-align: left;
    text-decoration: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--deck-cream-text, #FAF7EF) !important;
    opacity: 1 !important;
    box-shadow: none !important;
    scroll-margin-block: 6px;
    cursor: pointer;
  }
  :is([data-dc-mobile-nav], [data-dc-nav-fallback]) .dc-nav-label {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
    color: inherit;
    font: inherit;
  }
  /* Semantic hidden state owns disclosure visibility, even with native WP parent classes. */
  #offcanvas [data-device="mobile"] [data-dc-mobile-nav] .dc-nav-children {
    width: 100%;
    margin: 0;
    padding: 0 0 8px;
    overflow: visible;
  }
  #offcanvas [data-device="mobile"] [data-dc-mobile-nav] .dc-nav-children:not([hidden]) { display: block; }
  :is([data-dc-mobile-nav], [data-dc-nav-fallback]) .dc-nav-children { padding-bottom: 8px; }
  :is([data-dc-mobile-nav], [data-dc-nav-fallback]) .dc-nav-children :is(.dc-nav-link,.dc-nav-toggle,.dc-nav-fallback-label) {
    padding: 10px 12px 10px 28px !important;
    min-height: 44px;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
  }
  :is([data-dc-mobile-nav], [data-dc-nav-fallback]) .dc-nav-account {
    border-top: 1px solid rgba(250,247,239,.12);
    margin-top: 16px;
    padding-top: 16px;
  }
  :is([data-dc-mobile-nav], [data-dc-nav-fallback]) .dc-nav-logout {
    border-top: 1px solid rgba(250,247,239,.12);
    margin-top: 8px;
    padding-top: 8px;
  }
  :is([data-dc-mobile-nav], [data-dc-nav-fallback]) .dc-nav-link:visited,
  :is([data-dc-mobile-nav], [data-dc-nav-fallback]) :is(.dc-nav-link,.dc-nav-toggle):hover,
  :is([data-dc-mobile-nav], [data-dc-nav-fallback]) :is(.dc-nav-link,.dc-nav-toggle):focus-visible {
    color: var(--deck-cream-text, #FAF7EF) !important;
    opacity: 1 !important;
  }
  :is([data-dc-mobile-nav], [data-dc-nav-fallback]) .dc-nav-link[aria-current="page"],
  :is([data-dc-mobile-nav], [data-dc-nav-fallback]) .dc-nav-link[aria-current="page"]:is(:hover,:visited,:focus-visible) {
    background: #293345 !important;
    color: var(--deck-gold, #B8964E) !important;
    font-weight: 600;
  }
  :is([data-dc-mobile-nav], [data-dc-nav-fallback]) .dc-nav-link::after { content: none !important; }
  #offcanvas [data-device="mobile"] [data-dc-mobile-nav] .dc-nav-link:not([aria-current="page"])::before { content: none; }
  :is([data-dc-mobile-nav], [data-dc-nav-fallback]) .dc-nav-link[aria-current="page"]::before,
  #offcanvas [data-device="mobile"] [data-dc-mobile-nav] .dc-nav-link[aria-current="page"]::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    height: auto;
    inset-inline-start: 0;
    opacity: 1;
    border-radius: 0;
    transition: none;
    background: var(--deck-gold, #B8964E);
  }
  [data-dc-mobile-nav] .dc-nav-chevron {
    width: 16px;
    height: 16px;
    flex: none;
    display: block;
    color: var(--deck-cream-text, #FAF7EF) !important;
    opacity: 1 !important;
    border: 0;
    background: transparent;
    transition: transform 150ms ease;
  }
  [data-dc-mobile-nav] .dc-nav-chevron path { fill: none !important; stroke: currentColor; stroke-width: 1.5; }
  [data-dc-mobile-nav] [aria-expanded="true"] > .dc-nav-chevron { transform: rotate(180deg); }
  [data-dc-mobile-nav] [hidden] { display: none !important; }
  :is([data-dc-mobile-nav], [data-dc-nav-fallback]) :is(.dc-nav-link,.dc-nav-toggle):focus-visible,
  #offcanvas:has([data-dc-mobile-nav]) .ct-toggle-close:focus-visible {
    outline: 2px solid var(--deck-cream-text, #FAF7EF);
    outline-offset: 3px;
  }
  @media (hover: hover) {
    [data-dc-mobile-nav] :is(.dc-nav-link,.dc-nav-toggle):hover { background: #3b4659 !important; }
    [data-dc-mobile-nav] .dc-nav-link[aria-current="page"]:hover { background: #293345 !important; }
  }
  @media (prefers-reduced-motion: reduce) {
    [data-dc-mobile-nav] .dc-nav-chevron { transition: none; }
  }
  @media (forced-colors: active) {
    :is([data-dc-mobile-nav], [data-dc-nav-fallback]) .dc-nav-link[aria-current="page"] {
      color: LinkText !important;
      border-left: 3px solid Highlight !important;
    }
    [data-dc-mobile-nav] .dc-nav-chevron { color: ButtonText !important; }
  }
}
