/*
 * Manabi Video Navi V243 — global navigation reliability layer.
 *
 * V242 intentionally restyled the public header, but its `z-index: 30
 * !important` trapped the fixed drawer underneath the external scrim. This
 * late, removable layer restores the existing drawer's stacking contract.
 * No URL, form, permission, ARIA relationship, or application event changes.
 */

@media screen {
  body.mnv-photo-v243.public-app.shell-public.page-index .site-header,
  body.mnv-photo-v243.public-app.shell-auth .site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 700 !important;
    overflow: visible !important;
  }
}

@media screen and (max-width: 1800px) {
  html.mobile-nav-open,
  body.mnv-photo-v243.mobile-nav-open {
    overflow: hidden !important;
    overscroll-behavior: none;
  }

  body.mnv-photo-v243.mobile-nav-open .site-header,
  body.mnv-photo-v243.public-app.shell-public.page-index.mobile-nav-open .site-header,
  body.mnv-photo-v243.public-app.shell-auth.mobile-nav-open .site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1200 !important;
    isolation: isolate;
    overflow: visible !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body.mnv-photo-v243.mobile-nav-open .site-header-inner {
    position: relative;
    z-index: 1;
    overflow: visible !important;
  }

  body.mnv-photo-v243 .nav-scrim {
    z-index: 1190 !important;
  }

  body.mnv-photo-v243 .site-header .site-nav-area,
  body.mnv-photo-v243.public-app.page-index .site-header .site-nav-area {
    position: fixed !important;
    z-index: 1202 !important;
    top: var(--site-header-bottom, calc(68px + env(safe-area-inset-top))) !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    display: flex !important;
    width: min(92vw, 430px) !important;
    min-width: min(84vw, 320px) !important;
    height: auto !important;
    max-height: calc(100dvh - var(--site-header-bottom, 68px)) !important;
    padding: 14px max(16px, env(safe-area-inset-right)) max(20px, calc(14px + env(safe-area-inset-bottom))) 16px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate3d(104%, 0, 0) !important;
    border: 1px solid rgba(121, 201, 255, .24) !important;
    border-right: 0 !important;
    border-radius: 24px 0 0 0 !important;
    background:
      radial-gradient(circle at 88% 8%, rgba(48, 211, 255, .15), transparent 19rem),
      radial-gradient(circle at 8% 88%, rgba(121, 86, 255, .16), transparent 22rem),
      linear-gradient(160deg, rgba(4, 17, 49, .99), rgba(6, 27, 68, .99)) !important;
    color: #f5f9ff !important;
    box-shadow: -28px 0 90px rgba(0, 4, 24, .54) !important;
    transition: transform 230ms cubic-bezier(.2, .75, .25, 1), opacity 180ms ease, visibility 230ms ease !important;
  }

  body.mnv-photo-v243 .site-header .site-nav-area.open,
  body.mnv-photo-v243.public-app.page-index .site-header .site-nav-area.open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate3d(0, 0, 0) !important;
  }

  body.mnv-photo-v243 .site-header .nav-toggle {
    position: relative;
    z-index: 1203 !important;
  }

  body.mnv-photo-v243 .site-header .site-nav-area .nav-drawer-close {
    display: flex !important;
    min-height: 46px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    padding: 10px 12px 10px 15px !important;
    border-radius: 12px !important;
    font: inherit !important;
    font-weight: 900 !important;
    text-align: left !important;
    cursor: pointer !important;
  }

  body.mnv-photo-v243 .site-header .site-nav-area .nav-drawer-close b {
    display: grid !important;
    width: 28px !important;
    height: 28px !important;
    place-items: center !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .10) !important;
    color: #fff !important;
    font-size: 20px !important;
  }

  body.mnv-photo-v243 .site-header .site-nav-area .site-nav,
  body.mnv-photo-v243 .site-header .site-nav-area .nav-actions {
    display: grid !important;
    min-width: 0 !important;
    gap: 7px !important;
    align-items: stretch !important;
  }

  body.mnv-photo-v243 .site-header .site-nav-area .nav-actions {
    margin-top: auto !important;
    padding-top: 12px !important;
    border-top: 1px solid rgba(132, 199, 255, .18) !important;
  }

  body.mnv-photo-v243 .site-header .site-nav-area :is(.site-nav a, .site-nav .nav-guide-button, .nav-actions > a, .nav-actions > button, .logout-inline-form button) {
    width: 100% !important;
    min-height: 48px !important;
    justify-content: flex-start !important;
    padding: 11px 14px !important;
    border-radius: 12px !important;
    white-space: normal !important;
    text-align: left !important;
  }

  body.mnv-photo-v243 .site-header .site-nav-area :is(.nav-drawer-close, .site-nav a, .site-nav .nav-guide-button, .nav-actions .nav-link, .logout-inline-form button) {
    border-color: rgba(137, 199, 255, .20) !important;
    background: rgba(255, 255, 255, .055) !important;
    color: #f7fbff !important;
    -webkit-text-fill-color: currentColor !important;
    text-shadow: none !important;
  }

  body.mnv-photo-v243 .site-header .site-nav-area :is(.site-nav a, .site-nav .nav-guide-button, .nav-actions .nav-link, .logout-inline-form button):is(:hover, :focus-visible) {
    border-color: rgba(88, 222, 255, .62) !important;
    background: rgba(49, 183, 255, .14) !important;
    color: #ffffff !important;
  }

  body.mnv-photo-v243 .site-header .site-nav-area .nav-actions :is(.nav-cta, .button.primary) {
    border-color: rgba(255, 178, 92, .76) !important;
    background: linear-gradient(135deg, #ff9c43, #ff6a22) !important;
    color: #07172d !important;
    -webkit-text-fill-color: #07172d !important;
    box-shadow: 0 14px 34px rgba(255, 112, 38, .24) !important;
  }

  body.mnv-photo-v243 .site-header .site-nav-area .nav-actions .qr-nav-button {
    border-color: rgba(81, 216, 255, .48) !important;
    background: rgba(35, 161, 222, .15) !important;
    color: #ecfbff !important;
  }

  body.mnv-photo-v243 .site-header .site-nav-area .guest-pill {
    border-color: rgba(128, 199, 255, .26) !important;
    background: rgba(1, 11, 33, .68) !important;
    color: #dcecff !important;
  }

  body.mnv-photo-v243 .site-header .site-nav-area .guest-pill strong {
    color: #ffffff !important;
  }
}

@media print {
  body.mnv-photo-v243 .mnv-v243-drawer-intro,
  body.mnv-photo-v243 .mnv-v243-nav-label {
    display: none !important;
  }
}
