/* Shared mobile shell for Qovaryx public pages. Keep navigation and wide content usable in mobile Safari. */
html { -webkit-text-size-adjust: 100%; }
body { max-width: 100%; overflow-x: clip; }
[id] { scroll-margin-top: 82px; }
img, video, svg, canvas, iframe { max-width: 100%; }
main, article, section, header .nav, footer .footer-inner { min-width: 0; }
code, pre, p, li { overflow-wrap: anywhere; }
code { white-space: normal; word-break: break-word; }
pre { max-width: 100%; overflow-x: auto; white-space: pre-wrap; }

.menu-toggle { display: none; }

@media (max-width: 860px) {
  header { position: sticky; top: 0; z-index: 80; }
  header .nav { position: relative; min-height: 60px; padding-left: max(14px, env(safe-area-inset-left)); padding-right: max(14px, env(safe-area-inset-right)); }
  header .brand small { display: none; }
  .menu-toggle {
    display: inline-flex !important; align-items: center; justify-content: center;
    width: 44px; height: 44px; flex: 0 0 44px; padding: 0;
    border: 1px solid var(--border, #2a3050); border-radius: 10px;
    background: rgba(10,14,39,.72); color: var(--ink, #e8ecf5); cursor: pointer;
  }
  .menu-toggle svg { width: 21px; height: 21px; }
  header .nav-links {
    display: none !important; position: absolute !important; top: 100%; left: 0; right: 0;
    max-height: calc(100dvh - 60px); overflow-y: auto; overscroll-behavior: contain;
    flex-direction: column !important; align-items: stretch !important; gap: 0 !important;
    padding: 10px max(16px, env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)) !important;
    background: rgba(10,14,39,.985) !important; border-bottom: 1px solid var(--border, #2a3050);
    box-shadow: 0 18px 36px rgba(0,0,0,.48); backdrop-filter: blur(18px);
  }
  header .nav-links.open { display: flex !important; }
  header .nav-links a, header .nav-links .nav-cta {
    width: 100%; min-height: 48px; padding: 12px !important; margin: 0 !important;
    display: flex; align-items: center; border-radius: 8px !important;
    font-size: 15px !important; text-align: left !important;
  }
  header .nav-links .nav-cta { justify-content: center; margin-top: 6px !important; }
  body.mobile-nav-open { overflow: hidden; }
  .grid { grid-template-columns: minmax(0, 1fr) !important; }
  .cat-title { align-items: flex-start; flex-wrap: wrap; }
  .tbl-scroll {
    overflow-x: auto !important; max-width: 100vw; -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain; scrollbar-width: thin;
  }
  .table-swipe-hint { display: block !important; }
  table.cmp th.row, table.cmp td.row {
    position: sticky; left: 0; z-index: 2; min-width: 168px !important; width: 168px;
    box-shadow: 7px 0 12px rgba(0,0,0,.24);
  }
  table.cmp thead th.row { z-index: 4; }
  table.cmp th.us, table.cmp td.us {
    position: sticky; left: 168px; z-index: 3;
    width: 150px; min-width: 150px; max-width: 150px;
    overflow: hidden; overflow-wrap: anywhere; line-height: 1.35;
    background: #241b48 !important;
    box-shadow: 7px 0 12px rgba(0,0,0,.2);
  }
  table.cmp thead th.us { z-index: 5; background: #30225d !important; }
  table.cmp td.why { display: none; }
}

@media (max-width: 480px) {
  footer .footer-inner { grid-template-columns: 1fr !important; gap: 26px !important; }
  .cta-wrap { margin-left: 14px !important; margin-right: 14px !important; padding: 30px 18px !important; }
  .btn { margin: 6px 0 !important; width: 100%; text-align: center; }
}
