/* Landing — mobile: sem rolagem lateral, layout fluido */

@media (max-width: 860px) {
  html:has(body.landing-single-page),
  body.landing-single-page,
  body.estudantes-page {
    overflow-x: hidden;
    max-width: 100%;
  }

  body.landing-single-page .landing-header-inner {
    padding: 0.65rem 0.85rem;
    gap: 0.5rem;
    min-width: 0;
  }

  body.landing-single-page .landing-logo {
    min-width: 0;
    flex: 1 1 8rem;
  }

  body.landing-single-page .medhub-logo--landing {
    max-width: min(168px, 46vw);
    max-height: 44px;
  }

  body.landing-single-page .landing-header-actions {
    flex-shrink: 0;
    gap: 0.35rem;
  }

  body.landing-single-page .landing-header-login {
    font-size: 0.82rem;
    padding: 0.3rem 0.35rem;
  }

  body.landing-single-page .landing-nav-cta {
    padding: 0.4rem 0.65rem !important;
    font-size: 0.82rem !important;
  }

  body.landing-single-page .landing-main {
    padding: 0 0.85rem 2.5rem;
    box-sizing: border-box;
    overflow-x: hidden;
  }

  body.landing-single-page .landing-hero {
    padding: 1.15rem 0 1.35rem;
    gap: 1.15rem;
  }

  body.landing-single-page .landing-hero > *,
  body.landing-single-page .landing-hero-content,
  body.landing-single-page .landing-hero-visual {
    min-width: 0;
    max-width: 100%;
  }

  body.landing-single-page .landing-hero h1,
  body.landing-single-page .landing-hero-lead,
  body.landing-single-page .landing-hero-benefit,
  body.landing-single-page .landing-badge,
  body.landing-single-page .landing-price-line,
  body.landing-single-page .landing-price-sub {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  body.landing-single-page .landing-hero h1 {
    font-size: clamp(1.42rem, 6.8vw, 1.95rem);
  }

  body.landing-single-page .landing-hero-lead {
    font-size: 0.94rem;
    line-height: 1.55;
  }

  body.landing-single-page .landing-badge-guarantee,
  body.landing-single-page .landing-hero-benefit {
    display: block;
    max-width: 100%;
    white-space: normal;
  }

  body.landing-single-page .landing-hero-actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.landing-single-page .landing-hero-actions .btn,
  body.landing-single-page .landing-hero-actions .btn-outline {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    text-align: center;
    white-space: normal;
  }

  body.landing-single-page .landing-hero-visual {
    overflow: hidden;
  }

  body.landing-single-page .app-mock-hero {
    max-width: 100%;
  }

  body.landing-single-page .app-mock-hero .app-mock-sidebar {
    width: 34%;
    font-size: 0.52rem;
    padding: 0.4rem 0.25rem;
  }

  body.landing-single-page .app-mock-sidebar span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.landing-single-page .landing-section,
  body.landing-single-page .landing-guarantee,
  body.landing-single-page .landing-data-clarity,
  body.landing-single-page .landing-compliance {
    min-width: 0;
    max-width: 100%;
  }

  body.landing-single-page .card {
    padding: 1.25rem 1rem;
    max-width: 100%;
    box-sizing: border-box;
  }

  body.landing-single-page .pricing-v2-module-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
  }

  body.landing-single-page .pricing-v2-module {
    padding: 0.85rem 0.55rem;
    min-width: 0;
  }

  body.landing-single-page .pricing-v2-module strong,
  body.landing-single-page .pricing-v2-module small {
    overflow-wrap: anywhere;
  }

  body.landing-single-page .pricing-v2-plans {
    grid-template-columns: minmax(0, 1fr);
    max-width: 100%;
    padding: 0;
  }

  body.landing-single-page .pricing-v2-trust {
    flex-direction: column;
    align-items: center;
    gap: 0.45rem;
    text-align: center;
    padding-bottom: 1.5rem;
  }

  body.landing-single-page .showcase-wrap,
  body.landing-single-page #app-showcase-root-index {
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
  }

  body.landing-single-page .showcase-layout {
    min-width: 0;
  }

  body.landing-single-page .shot-sidebar {
    min-width: 0;
    width: 32%;
    max-width: none;
  }

  body.landing-single-page .shot-nav-item {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.landing-single-page .landing-reviews {
    grid-template-columns: minmax(0, 1fr);
  }

  body.landing-single-page .landing-disclaimer,
  body.landing-single-page .landing-compliance-list {
    overflow-wrap: anywhere;
  }
}

@media (max-width: 420px) {
  body.landing-single-page .landing-stats {
    grid-template-columns: minmax(0, 1fr);
  }

  body.landing-single-page .pricing-v2-module-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
