/* Landing only. Desktop composition is owned by style.css / conversion.css. */
.bm-product-page .mobile-copy { display: none; }
.bm-product-page :is(.cta-mobile-copy, .hero-mobile-download, .mobile-how-support, .showcase-mobile-tools, .showcase-dots, .mobile-sticky-cta) { display: none; }

@media (max-width: 760px) {
  .bm-product-page { --header-offset: 68px; overflow-x: visible; }
  html:has(.bm-product-page) { overflow-x: visible; }
  .bm-product-page .desktop-copy { display: none; }
  .bm-product-page .mobile-copy { display: block; }
  .bm-product-page .container,
  .bm-product-page .hero-grid.container,
  .bm-product-page .signup-shell { width: calc(100% - 48px); margin-inline: auto; }
  .bm-product-page main > :is(section, header),
  .bm-product-page #funcionalidades.bm-feature-explorer,
  .bm-product-page #assistencia.bm-assisted-section,
  .bm-product-page .bm-final-section { min-height: 0; height: auto; padding-block: 48px; }
  .bm-product-page p { font-size: 1rem; line-height: 1.6; }
  .bm-product-page :is(h1, h2, h3) { overflow-wrap: break-word; }
  .bm-product-page .eyebrow { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  .bm-product-page .section-heading { margin-bottom: 24px; }
  .bm-product-page .section-heading h2,
  .bm-product-page #funcionalidades .bm-feature-heading h2,
  .bm-product-page .bm-reviews-heading h2,
  .bm-product-page .bm-rating-copy h2,
  .bm-product-page #assistencia h2,
  .bm-product-page .bm-final-section h2 { font-size: clamp(1.65rem, 6.8vw, 2.15rem); line-height: 1.16; margin-block: 12px 16px; }
  .bm-product-page :is(.btn, button, summary, .quiet-link) { min-height: 44px; }
  .bm-product-page .quiet-link { display: inline-flex; align-items: center; white-space: normal; }
  .bm-product-page .nav-wrap { min-height: 68px; gap: 12px; }
  .bm-product-page .brand { gap: 10px; min-width: 0; }
  .bm-product-page .brand-mark { width: 40px; height: 40px; flex: 0 0 40px; }
  .bm-product-page .brand strong { font-size: .9rem; }
  .bm-product-page .brand > span { min-width: 0; overflow-wrap: anywhere; }
  .bm-product-page .hamb { width: 44px; height: 44px; min-height: 44px; flex-shrink: 0; }
  .bm-product-page .nav-links { top: 68px; max-height: calc(100dvh - 84px); overflow-y: auto; }
  .bm-product-page .nav-links a { display: flex; align-items: center; min-height: 44px; padding: 8px 10px; }

  /* CTA and useful product evidence fit naturally; no forced viewport height. */
  .bm-product-page #top { padding-block: 24px 32px; overflow: visible; }
  .bm-product-page .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .bm-product-page .hero-copy h1 { margin: 14px 0; font-size: clamp(2rem, 8.5vw, 2.65rem); line-height: 1.14; letter-spacing: -.035em; text-wrap: balance; }
  .bm-product-page .hero-copy > .eyebrow { padding: 7px 10px; font-size: .75rem; letter-spacing: .08em; }
  .bm-product-page .hero-copy > :is(.hero-lead, .trust-list),
  .bm-product-page .hero-desktop-download,
  .bm-product-page .trust-strip { display: none; }
  .bm-product-page .mobile-hero-support { margin: 0; font-size: 1.0625rem; line-height: 1.55; color: #425a73; }
  .bm-product-page .hero-actions { display: flex; flex-direction: column; margin-top: 22px; gap: 8px; }
  .bm-product-page .hero-actions .btn-primary { width: 100%; min-height: 54px; }
  .bm-product-page .hero-actions .btn-secondary { align-self: center; width: auto; min-height: 44px; padding: 8px 12px; background: transparent; border-color: transparent; box-shadow: none; font-size: 1rem; color: #175baf; }
  .bm-product-page .cta-desktop-copy { display: none; }
  .bm-product-page .cta-mobile-copy { display: inline; }
  .bm-product-page .hero-microcopy { margin: 4px 0 0; font-size: 1rem; text-align: center; color: #425a73; }
  .bm-product-page .hero-visual { display: grid; justify-items: center; gap: 12px; width: 100%; min-height: 0; aspect-ratio: auto; margin: 0; overflow: visible; }
  .bm-product-page .hero-photo-placeholder { display: none; background-image: none; }
  .bm-product-page .hero-visual picture { display: block; width: min(100%, 270px); height: 250px; overflow: hidden; border-radius: 24px 24px 12px 12px; background: #f1f5f9; box-shadow: 0 10px 24px #102a4614; }
  .bm-product-page .hero-app-screen { position: static; display: block; width: 100%; height: auto; max-height: none; border: 0; border-radius: 0; filter: none; }
  .bm-product-page .hero-visual figcaption { font-size: 1rem; line-height: 1.5; text-align: center; color: #425a73; }
  .bm-product-page .hero-mobile-download { display: inline-flex; justify-self: center; margin: 0; text-align: center; color: #175baf; font-size: 1rem; }

  /* Three benefits, then four resource destinations. The remaining twelve expand. */
  .bm-product-page #recursos { padding-bottom: 24px; }
  .bm-product-page .benefit-grid { display: flex; flex-direction: column; gap: 24px; }
  .bm-product-page .benefit-grid article { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 0 16px; min-height: 0; padding: 0; border: 0; background: none; box-shadow: none; }
  .bm-product-page .benefit-grid article:last-child { display: none; }
  .bm-product-page .benefit-icon { grid-row: 1 / 3; width: 44px; height: 44px; margin: 0; }
  .bm-product-page .benefit-grid h3 { margin: 0 0 8px; font-size: 1.125rem; line-height: 1.4; }
  .bm-product-page .benefit-grid p { grid-column: 2; }
  .bm-product-page #recursos > .container > .quiet-link { display: none; }
  .bm-product-page #funcionalidades.bm-feature-explorer { padding-block: 24px 40px; }
  .bm-product-page #funcionalidades .bm-feature-heading { margin-bottom: 20px; text-align: left; }
  .bm-product-page #funcionalidades .bm-feature-heading :is(.eyebrow, p) { display: none; }
  .bm-product-page #funcionalidades .bm-feature-heading h2 { font-size: 1.35rem; margin: 0; text-align: left; }
  .bm-product-page #funcionalidades .bm-feature-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .bm-product-page #funcionalidades .bm-feature-tab { flex-direction: column; align-items: flex-start; gap: 10px; min-height: 0; padding: 16px 12px; }
  .bm-product-page #funcionalidades .bm-feature-tab > span { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
  .bm-product-page #funcionalidades .bm-feature-tab strong { font-size: 1rem; }
  .bm-product-page #funcionalidades .bm-feature-tab small { font-size: .875rem; line-height: 1.5; }
  .bm-product-page #funcionalidades .bm-feature-tab:not(.mobile-feature-highlight) { display: none; }
  .bm-product-page #funcionalidades .mobile-features-expanded .bm-feature-tab { display: flex; }
  .bm-product-page .feature-more { width: 100%; margin-top: 20px; white-space: normal; }
  .bm-product-page .feature-catalog { color: #bfeaff; }
  .bm-product-page .three-grid { display: grid; grid-template-columns: 1fr; gap: 24px; }
  .bm-product-page .three-grid article { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 0 16px; min-height: 0; padding: 0; border: 0; background: none; }
  .bm-product-page .three-grid :is(img, article::before) { display: none; }
  .bm-product-page .connected-steps::before { display: none; }
  .bm-product-page .three-grid b { grid-column: 1; grid-row: 1 / 3; order: initial; box-shadow: none; }
  .bm-product-page .three-grid h3 { grid-column: 2; order: initial; margin: 0 0 8px; font-size: 1.125rem; }
  .bm-product-page .three-grid p { grid-column: 2; order: initial; }
  .bm-product-page .mobile-how-support { display: none; }

  /* Manual carousel remains optional evidence with comfortable touch controls. */
  .bm-product-page #demonstracao { padding-top: 16px; }
  .bm-product-page #demonstracao .section-heading p { display: none; }
  .bm-product-page .showcase-mobile-tools { display: flex; align-items: center; justify-content: space-between; }
  .bm-product-page .showcase-mobile-tools > div { display: flex; gap: 8px; }
  .bm-product-page .showcase-arrow { display: grid; place-items: center; width: 44px; height: 44px; min-height: 44px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: #17324f; font-size: 1.5rem; }
  .bm-product-page .showcase-arrow:disabled { opacity: .35; }
  .bm-product-page .showcase-grid { display: flex; width: 100%; gap: 16px; overflow-x: auto; touch-action: pan-x pan-y; scroll-snap-type: x mandatory; padding: 0 0 12px; }
  .bm-product-page .showcase-grid figure { flex: 0 0 100%; max-width: none; padding: 16px; scroll-snap-align: start; }
  .bm-product-page .showcase-grid img { height: 260px; width: 100%; max-height: 260px; object-fit: contain; }
  .bm-product-page .showcase-grid figcaption :is(strong, span) { font-size: 1rem; }
  .bm-product-page .showcase-dots { display: flex; justify-content: center; gap: 8px; }
  .bm-product-page .showcase-dots button { position: relative; width: 44px; height: 44px; min-height: 44px; border: 0; padding: 0; background: transparent; }
  .bm-product-page .showcase-dots button::after { content: ''; position: absolute; inset: 17px; border-radius: 50%; background: #8da1b8; }
  .bm-product-page .showcase-dots button.is-active::after { background: #1570ef; }

  /* Store proof replaces the illustrated phone and unverified HTML quotes on mobile. */
  .bm-product-page #avaliacao-app { padding-block: 32px; }
  .bm-product-page .bm-rating-layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .bm-product-page .bm-rating-copy { text-align: left; }
  .bm-product-page .bm-rating-copy h2 { display: none; }
  .bm-product-page .bm-rating-score { justify-content: flex-start; gap: 8px; margin-block: 12px 4px; }
  .bm-product-page .bm-rating-score strong { font-size: 2rem; }
  .bm-product-page .bm-rating-stars { display: none; }
  .bm-product-page .bm-rating-copy p { margin: 8px 0; }
  .bm-product-page .bm-rating-visual { display: none; }
  .bm-product-page .bm-rating-link { min-height: 44px; padding: 8px 0; border: 0; box-shadow: none; background: none; color: #bfeaff; }
  .bm-product-page .bm-reviews-heading { margin: 0 0 20px; text-align: left; }
  .bm-product-page .bm-reviews-heading > p,
  .bm-product-page #testimonial-grid { display: none; }
  .bm-product-page .verified-reviews article { padding: 16px 0; border-bottom: 1px solid #c7ddd0; }
  .bm-product-page .verified-reviews blockquote { margin: 0 0 8px; font-size: 1.125rem; line-height: 1.5; }
  .bm-product-page .verified-reviews p { margin: 0; }
  .bm-product-page .verified-reviews .quiet-link { color: #175b4a; }

  .bm-product-page .pricing-section .plans-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .bm-product-page .plan-card { padding: 24px 20px; transform: none; }
  .bm-product-page .plan-card .featured-tag { position: static; align-self: flex-start; max-width: 100%; margin: 0 0 12px; white-space: normal; overflow-wrap: anywhere; line-height: 1.4; }
  .bm-product-page .plan-card :is(p, ul, small),
  .bm-product-page .plan-card .price span { font-size: 1rem; line-height: 1.55; }
  .bm-product-page .plan-card .plan-interest-note { color: #425a73; }
  .bm-product-page .period-tabs { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 6rem), 1fr)); position: static; overflow: visible; gap: 8px; }
  .bm-product-page .period-tabs button { min-width: 0; padding: 10px 4px; white-space: normal; overflow-wrap: anywhere; font-size: 1rem; }
  .bm-product-page .period-tabs small { font-size: .875rem; line-height: 1.45; }
  .bm-product-page .recommender { padding: 0; border: 0; background: none; box-shadow: none; }
  .bm-product-page .plan-card .btn { width: 100%; white-space: normal; }
  .bm-product-page .plan-more summary { display: flex; align-items: center; padding-block: 12px; color: #175baf; font-weight: 800; cursor: pointer; }
  .bm-product-page #assistencia .assist-card { gap: 20px; padding: 0; }
  .bm-product-page #assistencia .assist-card > div,
  .bm-product-page .bm-final-section .cta-shell > div,
  .bm-product-page .footer-grid > div { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
  .bm-product-page #assistencia .assist-icon { display: none; }
  .bm-product-page #assistencia .btn { width: 100%; padding-inline: 12px; }
  .bm-product-page .faq-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .bm-product-page .faq-intro { position: static; }
  .bm-product-page .faq-answer p { font-size: 1rem; }
  .bm-product-page .bm-final-section .cta-shell { width: calc(100% - 48px); gap: 24px; }
  .bm-product-page .bm-final-section .cta-shell > div:first-child { width: 100%; max-width: 100%; min-width: 0; }
  .bm-product-page .bm-final-section .cta-shell .eyebrow { margin-bottom: 0; }
  .bm-product-page .bm-final-section .hero-actions { display: none; }
  .bm-product-page .signup-steps { margin: 20px 0; padding-left: 24px; line-height: 1.8; }
  .bm-product-page #signup-form { padding: 24px 16px; }
  .bm-product-page #signup-form .form-grid { grid-template-columns: minmax(0, 1fr); }
  .bm-product-page #signup-form input { font-size: 16px; }
  .bm-product-page #signup-form > .quiet-link { display: flex; justify-content: center; color: #b9d8ff; }
  .bm-product-page .footer-grid { grid-template-columns: minmax(0, 1fr); }
  .bm-product-page .footer-links a { display: inline-flex; align-items: center; min-height: 44px; }
  .bm-product-page dialog { width: calc(100% - 24px); max-height: calc(100dvh - 24px); padding: 24px 18px; border-radius: 18px; overscroll-behavior: contain; }
  .bm-product-page dialog :is(input, select) { font-size: 16px; }
  .bm-product-page .dialog-close { width: 44px; min-height: 44px; }
  .bm-product-page .tutorial-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .bm-product-page .tutorial-actions .btn:first-child { grid-column: 1 / -1; }
  .bm-product-page.has-mobile-sticky { padding-bottom: 0; }
  .bm-product-page .whatsapp-float { right: max(12px, env(safe-area-inset-right)); width: 48px; height: 48px; bottom: max(12px, env(safe-area-inset-bottom)); }
  .bm-product-page.has-mobile-sticky .whatsapp-float { visibility: hidden; }
  .bm-product-page.is-hero-visible .whatsapp-float { visibility: hidden; }
  .bm-product-page.mobile-is-editing :is(.mobile-sticky-cta, .whatsapp-float),
  .bm-product-page:has(.nav-links.is-open) :is(.mobile-sticky-cta, .whatsapp-float) { visibility: hidden; pointer-events: none; }
}

@media (max-width: 600px) {
  .bm-product-page .mobile-sticky-cta { position: fixed; inset: auto 0 0; z-index: 45; padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); border-top: 1px solid #79a9ff38; background: #07111ff5; box-shadow: 0 -8px 24px #0004; }
  .bm-product-page .mobile-sticky-cta.is-visible { display: block; }
  .bm-product-page .mobile-sticky-cta .btn { width: 100%; min-height: 50px; }
}

@media (max-width: 374px) {
  .bm-product-page .container,
  .bm-product-page .hero-grid.container,
  .bm-product-page .signup-shell,
  .bm-product-page .bm-final-section .cta-shell { width: calc(100% - 40px); }
}

@media (min-width: 761px) and (max-width: 1000px) {
  .bm-product-page .pricing-section .plans-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
