/* Small-screen presentation corrections. Content and destinations stay intact. */
.semap-whatsapp-label { display: none; }

@media (max-width: 991px) {
  /* The existing contact is a normal block immediately before the footer. */
  body > .whatsapp-button,
  html[data-semap-consent] body > .whatsapp-button {
    position: static;
    inset: auto;
    z-index: auto;
    box-sizing: border-box;
    display: flex;
    width: 100%;
    margin: 0;
    padding: 1rem 1.25rem;
    background: #eef5fb;
  }
  body > .whatsapp-button > a {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    min-height: 3.5rem;
    padding: .5rem .75rem;
    border-radius: .5rem;
    background: #fff;
    color: #173a5d;
    font: 600 1rem/1.4 sans-serif;
    text-decoration: none;
  }
  body > .whatsapp-button > a:focus-visible {
    outline: 3px solid #1039a0;
    outline-offset: 3px;
  }
  body > .whatsapp-button .whatsapp-icon {
    flex: none;
    width: 2.5rem;
    max-width: 2.5rem;
    height: 2.5rem;
    object-fit: contain;
    /* Bound Webflow's inline animation inside the reserved mobile area. */
    transform: none !important;
    opacity: 1 !important;
  }
  body > .whatsapp-button .semap-whatsapp-label { display: inline; }

  [data-semap-privacy-document] {
    box-sizing: border-box;
    width: 100%;
    padding: 1.5rem 1.25rem 2rem;
    overflow-wrap: break-word;
  }

  /* A one-column grid needs a shrinkable track and shrinkable flex children. */
  [data-semap-profile-width] { grid-template-columns: minmax(0, 1fr); }
  [data-semap-profile-width] .card,
  [data-semap-profile-width] .card > .row,
  [data-semap-profile-width] .card > .row > .row,
  [data-semap-profile-width] .card h2,
  [data-semap-profile-width] .sub-card,
  [data-semap-profile-width] .sub-card article {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
  }
  [data-semap-profile-width] .sub-card { padding: 1.25rem; }
  [data-semap-profile-width] .sub-card article {
    flex: 1 1 auto;
    overflow-wrap: break-word;
  }
}

@media (max-width: 520px) {
  html[lang="pt-BR"] .semap-specialty:is([data-specialty="fa"], [data-specialty="mp"]) #recuperacao-titulo {
    font-size: clamp(25px, 8vw, 29px);
    overflow-wrap: break-word;
    -webkit-hyphens: none;
    hyphens: none;
  }

  /* Give the two catalog headings enough space without shrinking their type. */
  html[lang="en"] .semap-specialty[data-specialty="hub"] .service-card[data-specialty="crt"] .card-main,
  html[lang="es"] .semap-specialty[data-specialty="hub"] .service-card[data-specialty="cna"] .card-main {
    padding-inline: 14px;
  }
  html[lang="en"] .semap-specialty[data-specialty="hub"] #card-title-crt,
  html[lang="es"] .semap-specialty[data-specialty="hub"] #card-title-cna {
    overflow-wrap: break-word;
    -webkit-hyphens: none;
    hyphens: none;
  }

  /* The consultation heading is inside an inset card; return room to the text. */
  html:is([lang="en"], [lang="es"]) .semap-specialty[data-specialty="cna"] .appointment {
    padding-inline: 18px;
  }
  html:is([lang="en"], [lang="es"]) .semap-specialty[data-specialty="cna"] #agendamento-titulo {
    overflow-wrap: break-word;
    -webkit-hyphens: none;
    hyphens: none;
  }
  html[lang="es"] .semap-specialty[data-specialty="cna"] :is(
    #origem-titulo, #o-que-e-titulo, #avaliacao-titulo, #procedimento-titulo
  ) {
    font-size: clamp(23px, 7vw, 26px);
    overflow-wrap: break-word;
    -webkit-hyphens: none;
    hyphens: none;
  }

  html[lang="en"] .semap-specialty[data-specialty="mp"] #tipos-de-aparelho-titulo {
    font-size: clamp(27px, 8vw, 29px);
    overflow-wrap: break-word;
    -webkit-hyphens: none;
    hyphens: none;
  }
  html[lang="pt-BR"] .semap-specialty:is([data-specialty="cdi"], [data-specialty="crt"]) #acompanhamento-title {
    font-size: clamp(26px, 8vw, 29px);
    overflow-wrap: break-word;
    -webkit-hyphens: none;
    hyphens: none;
  }
  html[lang="pt-BR"] .semap-specialty:is([data-specialty="cdi"], [data-specialty="crt"]) .journey-stages > li:last-child h3 {
    font-size: clamp(24px, 6.5vw, 25px);
    overflow-wrap: break-word;
    -webkit-hyphens: none;
    hyphens: none;
  }

  html[lang="en"] .route-guide h1 {
    font-size: clamp(24px, 8vw, 32px);
    overflow-wrap: anywhere;
  }

  html[lang="en"] .semap-specialty[data-specialty="crt"] #page-title {
    max-width: 100%;
    font-size: clamp(25px, 7.3vw, 29px);
  }
  html[lang="en"] .semap-specialty[data-specialty="crt"] :is(
    #device-summary-title, #o-que-e-title, #quando-avaliar-title,
    #implante-title, #appointment-title
  ) {
    font-size: clamp(23px, 6.9vw, 27px);
  }
  .semap-specialty[data-specialty="crt"] :is(#device-summary-title, #appointment-title) {
    overflow-wrap: break-word;
    -webkit-hyphens: none;
    hyphens: none;
  }
  html[lang="pt-BR"] .semap-specialty[data-specialty="crt"] #device-summary-title {
    font-size: clamp(23px, calc(8.6vw - 4.5px), 29px);
  }

  .livro-card-wrapper .vertical-infos-book > .row > h2[lang="en"] {
    font-size: clamp(17px, 5.4vw, 23px);
  }
}

@media (max-width: 389px) {
  .wrapper-infos.blog.t > .div-infos.max._80._2 > h1.heading-page-title[lang="en"] {
    font-size: clamp(18px, 5.5vw, 21px);
  }
}

@media (min-width: 992px) {
  html:is([lang="en"], [lang="es"]) .semap-specialty[data-specialty="crt"] #appointment-title {
    overflow-wrap: break-word;
    -webkit-hyphens: none;
    hyphens: none;
  }
}
