/* App do Chefe v1.5.8 — camada responsiva das landing pages de soluções.
   Abrange páginas legadas e documentos publicados pelo editor visual. */

body.public-landing-page {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body.public-landing-page main,
body.public-landing-page section,
body.public-landing-page article,
body.public-landing-page .container,
body.public-landing-page .lp-public-main,
body.public-landing-page .lp-builder-page {
  min-width: 0;
  max-width: 100%;
}

body.public-landing-page img,
body.public-landing-page picture,
body.public-landing-page video,
body.public-landing-page canvas,
body.public-landing-page svg,
body.public-landing-page iframe {
  max-width: 100%;
}

body.public-landing-page img,
body.public-landing-page video {
  height: auto;
}

body.public-landing-page :is(h1, h2, h3, h4, p, li, summary, button, span) {
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
}

body.public-landing-page :is(a, code) {
  overflow-wrap: anywhere;
}

body.public-landing-page :is(pre, code) {
  max-width: 100%;
}

body.public-landing-page pre {
  overflow-x: auto;
  white-space: pre-wrap;
  word-break: break-word;
}

body.public-landing-page table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

body.public-landing-page [id] {
  scroll-margin-top: calc(72px + env(safe-area-inset-top));
}

@media (max-width: 900px) {
  body.public-landing-page .legacy-solution-landing .hero-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  body.public-landing-page .legacy-solution-landing .grid-3,
  body.public-landing-page .legacy-solution-landing .price-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  body.public-landing-page {
    --landing-inline: clamp(15px, 4.8vw, 20px);
  }

  body.public-landing-page .container {
    width: 100%;
    padding-right: max(var(--landing-inline), env(safe-area-inset-right));
    padding-left: max(var(--landing-inline), env(safe-area-inset-left));
  }

  /* Documentos do editor que não usam o hero padrão precisam reservar a área
     dos controles, sem recriar uma faixa com fundo próprio. */
  body.public-landing-page .lp-builder-page > .lp-root-node:first-child:not(.hc-hero) {
    padding-top: calc(58px + env(safe-area-inset-top)) !important;
  }

  /* Landing page legada */
  body.public-landing-page .legacy-solution-landing .solution-hero {
    padding-top: calc(82px + env(safe-area-inset-top));
    padding-bottom: 44px;
  }

  body.public-landing-page .legacy-solution-landing .hero-copy h1 {
    margin-block: 16px;
    font-size: clamp(2rem, 10vw, 3rem);
    line-height: .98;
    letter-spacing: -.05em;
  }

  body.public-landing-page .legacy-solution-landing .hero-copy p,
  body.public-landing-page .legacy-solution-landing .section-head p,
  body.public-landing-page .legacy-solution-landing .rich-text {
    font-size: 1rem;
    line-height: 1.65;
  }

  body.public-landing-page .legacy-solution-landing .hero-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    width: 100%;
  }

  body.public-landing-page .legacy-solution-landing .hero-actions .btn,
  body.public-landing-page .legacy-solution-landing .cta-band .btn,
  body.public-landing-page .legacy-solution-landing .plan-actions .btn {
    width: 100%;
    min-height: 48px;
    padding-inline: 16px;
    white-space: normal;
    text-align: center;
  }

  body.public-landing-page .legacy-solution-landing .trust-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
    margin-top: 20px;
  }

  body.public-landing-page .legacy-solution-landing .hero-image,
  body.public-landing-page .legacy-solution-landing .hero-image[style] {
    width: 100%;
    height: auto !important;
    min-height: 0;
    aspect-ratio: 4 / 3;
    border-radius: 18px;
  }

  body.public-landing-page .legacy-solution-landing .hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  body.public-landing-page .legacy-solution-landing .section {
    padding-block: 50px;
  }

  body.public-landing-page .legacy-solution-landing .section-head {
    margin-bottom: 24px;
  }

  body.public-landing-page .legacy-solution-landing .section-head h2 {
    font-size: clamp(1.8rem, 8.8vw, 2.55rem);
    line-height: 1.08;
    letter-spacing: -.035em;
  }

  body.public-landing-page .legacy-solution-landing :is(.grid-3, .price-grid, .faq-list) {
    gap: 13px;
  }

  body.public-landing-page .legacy-solution-landing :is(.feature-card, .pain-card, .faq-item, .price-card) {
    min-width: 0;
    padding: 18px;
    border-radius: 15px;
  }

  body.public-landing-page .legacy-solution-landing .price-card.featured {
    transform: none;
  }

  body.public-landing-page .legacy-solution-landing .price {
    font-size: clamp(1.9rem, 9vw, 2.35rem);
  }

  body.public-landing-page .legacy-solution-landing .price small {
    display: block;
    margin-top: 2px;
    line-height: 1.4;
  }

  body.public-landing-page .legacy-solution-landing .price-card ul {
    padding-left: 18px;
  }

  body.public-landing-page .legacy-solution-landing .cta-band {
    align-items: stretch;
    padding: 24px 18px;
    border-radius: 18px;
  }

  body.public-landing-page .legacy-solution-landing .faq-item summary {
    min-height: 48px;
    display: flex;
    align-items: center;
  }

  body.public-landing-page .legacy-solution-landing .rich-text :is(img, video, iframe) {
    width: 100%;
    height: auto;
  }

  /* Rodapé da página pública */
  body.public-landing-page > .site-footer {
    padding-right: max(18px, env(safe-area-inset-right));
    padding-bottom: max(30px, env(safe-area-inset-bottom));
    padding-left: max(18px, env(safe-area-inset-left));
  }
}

@media (max-width: 380px) {
  body.public-landing-page .legacy-solution-landing .hero-copy h1 {
    font-size: clamp(1.95rem, 9.8vw, 2.5rem);
  }

  body.public-landing-page .legacy-solution-landing .section {
    padding-block: 44px;
  }
}

@media (max-width: 900px) and (orientation: landscape) {
  body.public-landing-page .legacy-solution-landing .solution-hero {
    padding-bottom: 34px;
  }

  body.public-landing-page .legacy-solution-landing .section {
    padding-block: 40px;
  }
}

@media (hover: none) and (pointer: coarse) {
  body.public-landing-page :is(a, button, summary, input, select, textarea) {
    -webkit-tap-highlight-color: transparent;
  }

  body.public-landing-page :is(.btn, .lp-button-link, .lp-price-primary, .lp-price-secondary) {
    min-height: 48px;
  }
}
