/* HelpDesk Picker v10.111 — mobile and tablet layout hardening.
   Loaded after page styles to resolve the earlier competing nav overrides. */
@media (max-width: 1120px) {
  body .site-nav {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    height: 60px !important;
    min-height: 60px !important;
    width: calc(100% - 24px) !important;
    max-width: 880px !important;
    padding: 9px 14px !important;
    gap: 12px !important;
    overflow: visible !important;
  }
  body .site-nav .nav-logo {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 68px) !important;
    width: auto !important;
  }
  body .site-nav .nav-links {
    display: none !important;
    position: absolute !important;
    inset: calc(100% + 8px) 0 auto 0 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 12px !important;
    margin: 0 !important;
    background: rgba(255,255,255,.985) !important;
    border: 1px solid var(--border,#dfe9f1) !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 55px rgba(19,32,51,.18) !important;
    max-height: calc(100vh - 94px) !important;
    max-height: calc(100dvh - 94px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    z-index: 10002 !important;
  }
  body .site-nav.nav-open .nav-links { display: grid !important; }
  body .site-nav.nav-open .nav-link,
  body .site-nav.nav-open .nav-link.mobile-primary,
  body .site-nav.nav-open .nav-link.mobile-secondary {
    display: flex !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    border-radius: 11px !important;
    background: #f6f9fd !important;
  }
  body .site-nav.nav-open .nav-link.active { background: #eaf2ff !important; }
  body .site-nav .nav-toggle {
    display: inline-flex !important;
    flex: 0 0 44px !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    cursor: pointer;
  }
  body .site-nav::after { height: 76px !important; }
  body { padding-top: 82px !important; }
  html { scroll-padding-top: 88px !important; }
}
@media (max-width: 420px) {
  body .site-nav { width: calc(100% - 16px) !important; padding: 7px 10px !important; gap: 8px !important; }
  body .site-nav .nav-logo-main { font-size: 16px !important; }
  body .site-nav .nav-logo-tagline { font-size: 9px !important; }
  body .site-nav .nav-links { padding: 9px !important; gap: 6px !important; }
  body .site-nav.nav-open .nav-link { padding: 10px !important; font-size: 12.5px !important; }
}
/* The previous 500px minimum video column clipped the homepage at phone widths. */
@media (max-width: 980px) {
  #page-home .hero {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: start !important;
    padding-top: 26px !important;
  }
  #page-home .hero-copy, #page-home .hero-media { min-width: 0 !important; width: 100% !important; }
  #page-home .hero-media { max-width: 800px; margin-inline: auto; }
  #page-home .hero-video-wrap { aspect-ratio: 16/9; }
  #page-home .hero-video-wrap video { width: 100%; height: 100%; object-fit: cover; }
}
@media (max-width: 700px) {
  #page-home .hero h1 { font-size: clamp(32px, 9vw, 44px) !important; line-height: 1.05 !important; overflow-wrap: break-word; }
  #page-home .hero-actions { gap: 8px; }
  #page-home .hero-actions a { min-height: 44px; }
  #page-home .hero-proof { gap: 6px; }
  #page-home .hero-media { padding: 6px !important; border-radius: 20px !important; }
  #page-home .hero-video-wrap { border-radius: 14px !important; }
  .container, .bestfor-page, .static-compare-page, .platform-static-seo { min-width: 0; }
  .platform-seo-section, .seo-panel, .seo-card, .verdict-item, .bf-platform-main { min-width: 0; overflow-wrap: anywhere; }
  .filter-group, .filter-buttons { min-width: 0; }
  .filter-btn, .sort-btn { min-height: 40px; }
  .search-input, .tech-stack-search, .cmp-search-input, .compare-platform-search input,
  input[type="search"], input[type="text"], select, textarea { font-size: 16px !important; }
  .hero-actions .btn-primary, .hero-actions .btn-secondary { min-height: 44px; }
  /* Wide comparison data must scroll within its own region, never get clipped by the page. */
  .static-table-wrap, .cmp-table-wrap, .ai-automation-table-wrap, .bf-table-wrap,
  .bf-compare-table-wrap, .price-table-wrap {
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }
  .static-cmp-table, .cmp-table, .ai-automation-table, .bf-compare-table {
    min-width: 560px;
  }
  .static-vs-hero h1 { font-size: clamp(28px, 7vw, 34px) !important; line-height: 1.12 !important; overflow-wrap: anywhere; }
  .static-section h2 { overflow-wrap: anywhere; }
  .bf-platform-card { min-width: 0; }
  .bf-platform-name, .bf-platform-meta { overflow-wrap: anywhere; }
}
@media (max-width: 420px) {
  #page-home .hero-actions a { width: 100%; }
  .bestfor-page { padding-left: 16px !important; padding-right: 16px !important; }
  .platform-static-seo .platform-seo-hero-copy h1 { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  .site-nav .nav-toggle span, .site-nav .nav-link { transition: none !important; }
}
@media (max-width: 700px) {
  /* A visible affordance for intentionally horizontally scrollable multi-column tables. */
  .cmp-table-wrap::before, .static-table-wrap::before,
  .ai-automation-table-wrap::before, .bf-table-wrap::before,
  .bf-compare-table-wrap::before {
    content: "Swipe horizontally to see all columns →";
    display: block;
    width: max-content;
    max-width: 100%;
    padding: 9px 12px;
    color: #5d6e80;
    font: 12px/1.35 'DM Sans', sans-serif;
    white-space: normal;
  }
  .cmp-table-wrap:focus-visible, .static-table-wrap:focus-visible,
  .ai-automation-table-wrap:focus-visible { outline: 2px solid #2f6df6; outline-offset: 2px; }
}
@media (max-width: 700px) {
  #page-home .sort-row {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    overflow: visible !important;
    gap: 6px 8px !important;
  }
  #page-home .sort-row .results-count {
    flex: 1 1 100% !important;
    display: block !important;
    width: 100% !important;
    margin-left: 0 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}
@media (min-width: 701px) and (max-width: 900px) {
  .bf-table-wrap::before, .static-table-wrap::before, .cmp-table-wrap::before {
    content: "Scroll horizontally for all columns →";
    display: block;
    padding: 9px 12px;
    color: #5d6e80;
    font: 12px/1.35 'DM Sans', sans-serif;
  }
}
