/* CHS Seguros — correção estrutural mobile V7
   Corrige estouro horizontal e cortes sem alterar textos, imagens ou conteúdo. */

html,
body {
  width: 100%;
  max-width: 100%;
}

main,
header,
footer,
section,
.container,
.content,
.content > .container,
.content-grid,
.content-grid > *,
.article,
.article > *,
.direct-box,
.direct-box > *,
.list,
.list > div,
.gallery,
.hero-actions,
.stack-actions,
.page-hero .container,
.page-hero .container > div,
.page-hero .container > div > *,
.hero-grid > *,
.split > * {
  min-width: 0;
  max-width: 100%;
}

.article p,
.article h1,
.article h2,
.article h3,
.article h4,
.list > div,
.direct-box p,
.direct-box h3,
.btn,
.seo-area-links a,
.area-city-links a,
.footer a {
  overflow-wrap: anywhere;
  word-break: normal;
}

table {
  max-width: 100%;
}

iframe,
video,
canvas,
svg {
  max-width: 100%;
}

@media (max-width: 980px) {
  .content-grid {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .article,
  .content-grid > .article,
  .content-grid > aside,
  .sticky-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .list > div {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding-left: 40px !important;
  }

  .list > div::before {
    left: 0 !important;
    margin-right: 0 !important;
  }

  .btn {
    max-width: 100%;
    min-width: 0;
    white-space: normal !important;
    text-align: center;
    line-height: 1.3 !important;
  }

  .direct-box {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 24px 20px !important;
  }

  .direct-box .btn,
  .stack-actions .btn {
    width: 100%;
  }

  .hero-actions,
  .stack-actions,
  .cta-actions,
  .promo-row {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .gallery,
  .gallery > *,
  .product-grid,
  .product-grid > *,
  .feature-grid,
  .feature-grid > *,
  .logo-grid,
  .logo-grid > *,
  .footer-grid-clean,
  .footer-grid-clean > * {
    min-width: 0;
    max-width: 100%;
  }
}

@media (max-width: 620px) {
  .direct-box {
    padding: 22px 18px !important;
    border-radius: 22px;
  }

  .direct-box .btn,
  .stack-actions .btn,
  .hero-actions .btn {
    width: 100%;
    justify-content: center;
  }
}

/* Complemento da auditoria global em telas estreitas. */
h1,
h2,
h3,
h4,
h5,
h6 {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

@media (max-width: 620px) {
  .seo-areas-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
  }

  .seo-areas-head > *,
  .seo-areas-head > a {
    min-width: 0;
    max-width: 100%;
  }

  .seo-areas-head > a {
    width: auto !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  .quote-promo-inner,
  .quote-promo-inner > *,
  .quote-promo-inner-orange,
  .quote-promo-inner-orange > * {
    min-width: 0;
    max-width: 100%;
  }
}


/* CHS Seguros — refinamento estrutural e enquadramento seguro V8 */

/* Evita que elementos flex/grid mantenham largura mínima maior que a viewport. */
.menu,
.menu > *,
.submenu,
.seo-areas-head,
.seo-areas-head > *,
.quote-promo-inner,
.quote-promo-inner > *,
.quote-product-card,
.quote-product-card > *,
.regional-hero-grid,
.regional-hero-grid > * {
  min-width: 0;
  max-width: 100%;
}

/* Imagens V8 já possuem margens de segurança; mantém o foco no centro. */
img[src*="rc_hero-v8"],
img[src*="rc_g1-v8"],
img[src*="rc_g2-v8"],
img[src*="rc_g3-v8"],
img[src*="rc_sticky-v8"],
img[src*="viagem_hero-v8"] {
  object-position: center center !important;
}

@media (max-width: 980px) {
  body {
    overflow-x: clip !important;
  }

  .page-photo,
  .page-photo img,
  .gallery,
  .gallery img,
  .sticky-card,
  .sticky-card img,
  .direct-box,
  .direct-box .btn {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .direct-box .btn {
    display: flex !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    text-align: center !important;
    line-height: 1.28 !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .quote-product-card a,
  .quote-product-cta,
  .quote-promo-inner .btn,
  .quote-promo-zero,
  .seo-areas-head > a,
  .area-city-links a,
  .seo-area-links a {
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  .page-photo img[src*="rc_hero-v8"],
  .page-photo img[src*="viagem_hero-v8"] {
    object-fit: cover !important;
    object-position: center center !important;
  }

  .gallery img[src*="rc_g1-v8"],
  .gallery img[src*="rc_g2-v8"],
  .gallery img[src*="rc_g3-v8"],
  .sticky-card img[src*="rc_sticky-v8"] {
    object-fit: cover !important;
    object-position: center center !important;
  }
}

@media (max-width: 620px) {
  .page-hero .container,
  .content > .container,
  .seo-areas > .container,
  .regional-nearby > .container {
    width: min(100% - 28px, 1180px) !important;
  }

  .direct-box {
    overflow: hidden !important;
  }
}
