/* Teleconsulta por Chat — CSS completo e autocontido desta landing page.
 *
 * Esta pagina NAO depende de nenhum outro arquivo *-first.css: as bases do tema
 * (reset, container, tipografia, botoes, header, banner de botoes, avaliacoes e
 * footer) estao replicadas abaixo, seguidas dos estilos proprios da landing.
 *
 * Paleta do tema: #031135 (navy) / #0094ef (azul) / #EC1C24 (vermelho).
 *
 * Sumario:
 *   1. Base do tema (reset, container, tipografia, botoes, grid, icones)
 *   2. Header do site (main-header, dropdowns)
 *   3. Banner de botoes (partials/banner-buttons.php)
 *   4. Page title (cabecalho da pagina)
 *   5. Avaliacoes (partials/content-avaliacoes-pacientes.php)
 *   6. Footer
 *   7. Landing "Teleconsulta por Chat" (classes tm-chat-*)
 */

/* ==========================================================================
   1. BASE DO TEMA — reset, container, tipografia, botoes, grid, icones
   ========================================================================== */

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html {
  color: #031135;
  box-sizing: border-box;
  font-family: "Nunito", sans-serif;
  font-size: 16px;
  line-height: 1.4;
}
body {
  background-color: #fff;
}
img {
  border-style: none;
}
.container {
  position: relative;
  align-items: center;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
}
@media (min-width: 480px) {
  .container {
    width: calc(100% - 2rem);
    max-width: 74rem;
  }
}
p {
  margin: 0.5em 0 1em;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  text-transform: uppercase;
  line-height: 1.1;
}
a {
  color: #0094ef;
  font-weight: 500;
  text-decoration: none;
}
a:hover {
  color: #12b5f7;
  text-decoration: underline;
}
.only-desktop {
  display: none !important;
}
.only-mobile {
  display: none !important;
}
@media (max-width: 735px) {
  .only-mobile {
    display: flex !important;
  }
}
@media (min-width: 736px) {
  .only-desktop {
    display: flex !important;
  }
}
.btn-flat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  height: 2.5em;
  text-transform: uppercase;
  padding: 0 0.8em;
  border-radius: 0.35em;
  transition: all 0.2s ease-in-out;
  font-family: inherit;
  flex-shrink: 0;
  font-weight: 500;
  background-color: #031135;
  color: #fff;
  box-shadow: 0 4px 13px -5px rgba(0, 0, 0, 0.54);
  text-decoration: none;
}
.btn-flat:hover {
  background-color: #02305a;
  box-shadow: 0 0.3em 1em -0.2em rgba(0, 0, 0, 0.7);
  color: #fff;
  text-decoration: none;
}
.btn-flat.inverted {
  background-color: rgba(255, 255, 255, 0.95);
  color: #031135;
}
.btn-flat.inverted:hover {
  color: #0168b1;
  text-decoration: none;
}
.btn-outlined {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  border: none;
  cursor: pointer;
  height: 2.5em;
  text-transform: uppercase;
  padding: 0 0.8em;
  border-radius: 0.35em;
  transition: all 0.2s ease-in-out;
  flex-shrink: 0;
  font-weight: 500;
  color: #031135;
  text-decoration: none;
  border: 2px solid #031135;
}
.btn-outlined:hover {
  color: #023d73;
  border-color: #023d73;
  background-color: rgba(0, 0, 0, 0.05);
  text-decoration: none;
}
.btn-outlined.inverted {
  border: 2px solid rgba(255, 255, 255, 0.6);
  color: #fff;
}
.btn-outlined.inverted:hover {
  border-color: #fff;
}
.btn-highlight {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  height: 2.5em;
  text-transform: uppercase;
  padding: 0 0.8em;
  border-radius: 0.35em;
  transition: all 0.2s ease-in-out;
  flex-shrink: 0;
  font-weight: 500;
  text-decoration: none;
  background-color: #031135;
  color: #fff;
  box-shadow: 0 4px 13px -5px rgba(0, 0, 0, 0.54);
  background-image: linear-gradient(to right top, #EC1C24, #031135);
  letter-spacing: 0.02em;
  box-shadow: 0 0.3em 1em -0.3em rgba(0, 0, 0, 0.55), inset 0 0.01em 0.1em 0.05em rgba(255, 255, 255, 0.4);
  position: relative;
  background-size: 100% 100%;
}
.btn-highlight:hover {
  background-size: 300% 300%;
  box-shadow: 0 0.4em 1.2em -0.2em rgba(0, 0, 0, 0.7), inset 0 0.01em 0.1em 0.05em rgba(255, 192, 203, 0.8);
  text-decoration: none;
  color: #fff;
}
.btn-success {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  height: 2.5em;
  text-transform: uppercase;
  padding: 0 0.8em;
  border-radius: 0.35em;
  transition: all 0.2s ease-in-out;
  flex-shrink: 0;
  font-weight: 500;
  text-decoration: none;
  background-color: #031135;
  color: #fff;
  box-shadow: 0 4px 13px -5px rgba(0, 0, 0, 0.54);
  background-image: linear-gradient(to right, rgb(6, 182, 212), rgb(16, 185, 129));
  letter-spacing: 0.02em;
  box-shadow: 0 0.3em 1em -0.3em rgba(0, 0, 0, 0.55), inset 0 0.01em 0.1em 0.05em rgba(255, 255, 255, 0.4);
  position: relative;
  background-size: 100% 100%;
}
.btn-success:hover {
  background-size: 300% 300%;
  box-shadow: 0 0.4em 1.2em -0.2em rgba(0, 0, 0, 0.7), inset 0 0.01em 0.1em 0.05em rgba(255, 192, 203, 0.8);
  text-decoration: none;
  color: #fff;
}
.row {
  display: flex;
  flex: 0 1 auto;
  flex-direction: row;
  flex-wrap: wrap;
}
.col-xs {
  flex-grow: 1;
  max-width: 100%;
}
.col-xs-6 {
  flex-basis: 50%;
  max-width: 50%;
}
.col-xs-12 {
  flex-grow: 1;
  flex-basis: 100%;
  max-width: 100%;
}
@media (min-width: 736px) and (max-width: 980px) {
  .col-md-6 {
    flex-basis: 50%;
    max-width: 50%;
  }
  .col-md-12 {
    flex-basis: 100%;
    max-width: 100%;
  }
}
@media (min-width: 980px) {
  .col-lg-3 {
    flex-basis: 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    flex-basis: 33.33333333%;
    max-width: 33.33333333%;
  }
  .col-lg-5 {
    flex-basis: 41.66666667%;
    max-width: 41.66666667%;
  }
  .col-lg-6 {
    flex-basis: 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    flex-basis: 58.33333333%;
    max-width: 58.33333333%;
  }
  .col-lg-8 {
    flex-basis: 66.66666666%;
    max-width: 66.66666666%;
  }
  .col-lg {
    flex-basis: 0;
    max-width: 100%;
    flex: 0 0 auto;
    flex-grow: 1;
  }
  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }
}
@media (min-width: 1280px) {
  .col-xl-4 {
    flex-basis: 33.33333333%;
    max-width: 33.33333333%;
  }
}
.center-xs {
  justify-content: center;
  text-align: center;
}
@media (max-width: 735px) {
  .center-xs a {
    width: 100%;
    font-size: 1.1em;
  }
}
.cresta-whatsapp-chat-box,
.cresta-whatsapp-chat-container {
  display: none;
}
.grecaptcha-badge {
  visibility: hidden;
}
.icn {
  height: 1.2em;
  width: 1.2em;
}
.arrow-down {
  width: 0;
  height: 0;
  border-left: 0.33em solid transparent;
  border-right: 0.33em solid transparent;
  border-top: 0.33em solid #031135;
}

/* ==========================================================================
   2. HEADER DO SITE — main-header e dropdowns
   ========================================================================== */

.main-header {
  padding-right: .1rem;
  padding-left: .1rem;
  display: flex;
  z-index: 1000;
  position: absolute;
  height: 4.5em;
  width: 100%;
  top: 0;
  left: 0;
  align-items: center;
}
.main-header .container {
  display: flex;
  flex: 0 1 auto;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  flex-wrap: nowrap;
}
.main-header .logo-ctn {
  display: flex;
  align-items: center;
}
.main-header .logo-ctn .menu-btn {
  display: inline-flex;
  margin-right: 0.2em;
  width: 2.5em;
  height: 2.5em;
  border-radius: 100%;
  padding: 0;
  background-color: transparent;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
  border: none;
  font-size: 1.1em;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.main-header .logo-ctn .menu-btn:hover {
  background-color: rgba(0, 0, 0, 0.05);
  color: #031135;
}
.main-header .logo-ctn .menu-btn:hover .icn {
  opacity: 0.8;
}
.main-header .logo-ctn .menu-btn .icn {
  opacity: 0.3;
  transition: opacity 0.2s ease-in-out;
  height: 1.5em;
  width: 1.5em;
}
.main-header .logo-ctn .logo {
  width: 117px;
  height: 43px;
}
.main-header .links-ctn {
  display: none;
}
.links-ctn .dropdown,
.links-ctn .btn {
  display: none;
  position: relative;
}
.links-ctn .dropdown .dropdown-trigger,
.links-ctn .btn,
.cta-ctn .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  border: none;
  height: 2.5em;
  text-transform: uppercase;
  padding: 0 0.8em;
  font-family: inherit;
  font-size: 0.9em;
  flex-shrink: 0;
  font-weight: 700;
  color: #031135;
  text-decoration: none;
}
.dropdown .dropdown-trigger .arrow-down {
  margin-left: 0.3em;
}
.dropdown .dropdown-content {
  display: none;
}
.main-header .cta-ctn {
  display: flex;
}
.main-header .cta-ctn .dropdown .dropdown-content {
  right: 0;
}
.main-header .cta-ctn .btn-outlined.plantao {
  margin-right: 6px;
  /*color: #ec1b24;*/
}
@media (max-width: 320px) {
  .main-header .cta-ctn .btn-outlined.plantao {
    display: none;
  }
}
@media (max-width: 479px) {
  .main-header .container {
    padding-right: 8px;
  }
}
@media (max-width: 495px) {
  .main-header .cta-ctn .btn-flat,
  .main-header .cta-ctn .btn-outlined.plantao {
    font-size: .8em;
    padding: 0 0.4em;
    text-transform: none;
  }
}
@media (max-width: 979px) {
  .main-header .cta-ctn {
    flex-grow: 1;
    justify-content: flex-end;
  }
}
@media (max-width: 1100px) {
  .main-header .cta-ctn .login {
    display: none;
  }
}
.cta-ctn .btn {
  display: inline-flex;
}
@media (min-width: 736px) {
  .main-header {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .links-ctn .dropdown .dropdown-trigger,
  .links-ctn .btn,
  .cta-ctn .btn {
    font-size: 1.1em;
  }
  .main-header .cta-ctn {
    display: flex;
  }
}
@media (max-width: 1250px) {
  .links-ctn .dropdown .dropdown-trigger,
  .links-ctn .btn,
  .cta-ctn .btn,
  .btn-outlined,
  .btn-orcamento {
    font-size: .9em;
  }
}
@media (min-width: 1100px) {
  .main-header {
    justify-content: space-between;
    align-items: center;
  }
  .main-header .links-ctn {
    display: flex;
    /*order: 1;*/
  }
  .main-header .logo-ctn .menu-btn {
    display: none;
  }
  .main-header .links-ctn .dropdown {
    display: block;
  }
  .main-header .cta-ctn .btn-outlined.plantao {
    display: none;
  }
}
@media (min-width: 1280px) {
  .main-header {
    justify-content: space-between;
    align-items: center;
  }
}

.text-center {
  text-align: center;
}
.main-header .cta-ctn .btn-teste-gratis {
  display: none;
}
@media (min-width: 1280px) {
  .main-header .cta-ctn .btn-teste-gratis {
      display: inline-flex;
  }
}

/* ==========================================================================
   3. BANNER DE BOTOES — partials/banner-buttons.php
   ========================================================================== */

/* Buttons ********************************************************************/
.buttons-container{
  display: flex;
  padding-bottom: 1em;
}
/*@media (min-width: 1099px) {
  .buttons-container {
    display: none;
  }
}*/
.buttons-container a,
.buttons-container .dropdown-banner > .dropdown-trigger {
  flex-shrink: unset;
  height: auto;

  text-transform: none;
  display: flex;
  align-items: center;
  text-align: left;
  color: #031135;

  border-radius: 0.3em;
  padding: 0.3em 0.8em;
  transition: all .2s ease-in-out;
}
.buttons-container a svg,
.buttons-container .dropdown-banner > .dropdown-trigger svg {
  margin-right: 0.3em;
  width: 18px;
  height: 18px;
}

@media (max-width: 548px) {
  .buttons-container a,
  .buttons-container .dropdown-banner > .dropdown-trigger {
    padding: 0.3em 0.3em !important;
  }
  .buttons-container a svg,
  .buttons-container .dropdown-banner > .dropdown-trigger svg {
    display: none;
  }
}

@keyframes shake-animation {
 0% { transform:translate(0,0) }
1.78571% { transform:translate(5px,0) }
3.57143% { transform:translate(0,0) }
5.35714% { transform:translate(5px,0) }
7.14286% { transform:translate(0,0) }
8.92857% { transform:translate(5px,0) }
10.71429% { transform:translate(0,0) }
100% { transform:translate(0,0) }
}

.buttons-container a.bannerVerde,
.buttons-container .dropdown-banner > .dropdown-trigger.bannerVerde {
  background: #fff;
  background: linear-gradient(113deg, rgb(55 137 55) 0%, rgb(67 157 67) 100%);
  box-shadow: 0 4px 13px -5px rgba(0,0,0,0.54);
  border: 1px solid rgba(0,169,54,0.1);
  color: #fff;
  border-top: 4px solid #93b893;
  border-left: 4px solid #93b893;
  border-bottom: 4px solid #1d5e1d;
  border-right: 4px solid #1d5e1d;

  animation: shake-animation 2.72s ease infinite;
  transform-origin: 50% 50%;
}

.buttons-container a.bannerVemelho,
.buttons-container .dropdown-banner > .dropdown-trigger.bannerVemelho {
  background: #fff;
  /*background: linear-gradient(113deg, rgb(157 65 65) 0%, rgb(187 77 77) 100%);*/
  background: linear-gradient(113deg, rgb(203 21 30) 0%, rgb(240 76 79) 100%);
  box-shadow: 0 4px 13px -5px rgba(0,0,0,0.54);
  border: 1px solid rgba(236,28,36,0.1);
  color: #fff;
  border-top: 4px solid #cca5a5;
  border-left: 4px solid #cca5a5;
  border-bottom: 4px solid #702222;
  border-right: 4px solid #702222;

  animation: shake-animation 3.72s ease infinite;
  transform-origin: 50% 50%;
}

.buttons-container a.bannerAzul,
.buttons-container .dropdown-banner > .dropdown-trigger.bannerAzul {
  background: rgb(221,221,221);
  background-image: linear-gradient(to top,rgba(0,169,254,0.2) 0%, #fff 80%, rgb(187 77 77)100%);
  background: linear-gradient(113deg, rgb(93 146 170) 0%, rgb(111 174 202) 190%);
  box-shadow: 0 4px 13px -5px rgba(0,0,0,0.54);
  border: 1px solid rgba(0,169,254,0.1);
  color: #fff;
  border-top: 4px solid #b1c8d2;
  border-left: 4px solid #b1c8d2;
  border-bottom: 4px solid #477183;
  border-right: 4px solid #477183;

  animation: shake-animation 4.72s ease infinite;
  transform-origin: 50% 50%;
  cursor: pointer;
}

.buttons-container .dropdown.dropdown-banner {
  position: relative;
  flex-shrink: unset;
}
.buttons-container,
.buttons-container #bannerFixable {
  overflow: visible;
}
.buttons-container .dropdown-banner .dropdown-content {
  top: 100%;
  left: 0;
  z-index: 20;
  width: 19rem;
}
.buttons-container #bannerFixable.fixed .dropdown-banner .dropdown-content {
  z-index: 11;
}

.buttons-container a.bannerCartao,
.buttons-container .dropdown-banner > .dropdown-trigger.bannerCartao {
  background: rgb(221,221,221);
  background-image: linear-gradient(to right top, #f1c729, #431e00);
  box-shadow: 0 4px 13px -5px rgba(0,0,0,0.54);
  border: 1px solid rgba(236, 28, 36,0.1);
  color: #fff;
  border-top: 4px solid #e1dac3;
  border-left: 4px solid #e1dac3;
  border-bottom: 4px solid #5b4939;
  border-right: 4px solid #5b4939;

  animation: shake-animation 5.72s ease infinite;
  transform-origin: 50% 50%;
}

.buttons-container > span > a:hover {
  text-decoration: none;
  box-shadow: 0 0.3em 1em -0.2em rgba(0,0,0,0.7);
}
.buttons-container #bannerFixable {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 4px;
}

.buttons-container #bannerFixable.fixed {
  position: fixed;
  top: 51px;
  z-index: 10;
  font-size: 12px;
  box-shadow: none;
}

.buttons-container #bannerFixable.fixed .hide-on-fixed {
  display: none;
}

.buttons-container #bannerFixable.fixed a,
.buttons-container #bannerFixable.fixed .dropdown-banner > .dropdown-trigger {
  padding: 6px 6px;
  min-height: unset;
}

@media (max-width: 767px) {
  .buttons-container #bannerFixable.fixed {
    top: 43px;
  }
}

@media (max-width: 767px) {
  .buttons-container{
      flex-direction: column;
  }
  .buttons-container a,
  .buttons-container .dropdown.dropdown-banner {
      margin: 0.5em 0!important;
  }
}

/* ==========================================================================
   4. PAGE TITLE — cabecalho da pagina
   ========================================================================== */

.page-title {
  /*background-image: linear-gradient(to right, #e8fcfc, #fff);*/
  background-image: linear-gradient(to right bottom, rgb(248, 250, 252), rgba(236, 254, 255, 0.3), rgba(236, 253, 245, 0.3));
  padding-top: 7em;
  padding-bottom: 3em;
  padding-right: 1rem;
  padding-left: 1rem;
}
.page-title .container {
  width: 100%;
  position: relative;
  z-index: 1;
}

.page-title .btn-flat {
  text-transform: none;
}

@media (max-width: 968px) {
  .page-title .container:before {
    /*opacity: .2;*/
    /*background-size: 300px;*/
    display: none;
  }
}
/* Headline do hero — mesmo padrão de page_glp1 / page_renovacao_receita */
.page-title .headline-1,
.tm-chat-hero .headline-1 {
  font-size: 1.3rem;
  line-height: 1.2;
  color: #0094ef;
  font-weight: 700;
  text-transform: none;
  margin: 0.4em 0 0;
}

.page-title .headline-2,
.tm-chat-hero .headline-2 {
  font-size: 3rem;
  line-height: 1.15;
  margin: 0.2em 0 0;
  color: #031135;
  font-weight: 700;
  text-transform: none;
}

.page-title h1,
.page-title h2,
.tm-chat-hero h1,
.tm-chat-hero h2 {
  text-transform: none !important;
}

.valor-cartao-desconto,
.tm-chat-landing a.valor-cartao-desconto {
  display: inline-block;
  background-image: linear-gradient(to right top, #431e00, #f1c729);
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  padding: 3px 5px;
  border-radius: 4px;
  filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.5));
  text-decoration: none;
  white-space: nowrap;
  vertical-align: middle;
}

.valor-cartao-desconto:hover,
.tm-chat-landing a.valor-cartao-desconto:hover {
  color: #fff;
  text-decoration: none;
}

.valor-cartao-desconto small,
.tm-chat-landing a.valor-cartao-desconto small {
  font-weight: normal;
  color: #fff;
}

@media (max-width: 968px) {
  .page-title .headline-2,
  .tm-chat-hero .headline-2,
  h1 {
    font-size: 2em;
  }
}

/* ==========================================================================
   5. AVALIACOES — partials/content-avaliacoes-pacientes.php
   ========================================================================== */

/* Avaliações *****************************************************************/
.avaliacoes-ctn {
  background-color: rgb(242, 242, 242);
  padding-top: 3.5em;
  padding-bottom: 4em;
  padding-right: 1rem;
  padding-left: 1rem;
}
.avaliacoes-ctn .headline-1 {
  text-align: center;
  text-transform: none;
  font-weight: 700;
  margin-bottom: 1em;
  font-size: 2.7rem;
}
/* Lista de avaliações */
.avaliacoes-lista {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5em;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .avaliacoes-lista {
    grid-template-columns: 1fr;
  }
}
.avaliacao {
  position: relative;
  background-color: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  padding: 1.25em;
  padding-left: 4em;
}
.avaliacao .avatar {
  position: absolute;
  left: 1em;
  top: 1.25em;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  border: 2px solid #007bff;
  background-color: #e9ecef;
  color: #007bff;
  font-weight: bold;
  font-size: 1.1em;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
}
.avaliacao .avaliacao-content {
  min-height: 80px;
}
.avaliacao p {
  margin: 0;
  text-align: left;
}
.avaliacao p.medico {
  font-size: 0.9em;
  color: #007bff;
  margin-bottom: 0.1em;
}
.avaliacao p.paciente {
  font-size: 1.1em;
  font-weight: 800;
  color: #333;
  margin-bottom: 0.25em;
}
.avaliacao p.avaliacao-rating {
  display: flex;
  align-items: center;
  gap: 0.5em;
  margin-bottom: 0.5em;
}
.avaliacao .stars-rating {
  display: inline-flex;
}
.avaliacao .stars-rating .star {
  color: #ddd;
  font-size: 1em;
}
.avaliacao .stars-rating .star.full {
  color: rgb(251, 146, 60);
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}
.avaliacao .local {
  color: #666;
  font-size: 0.85em;
}
.avaliacao p.descricao {
  color: #555;
  font-size: 0.95em;
  line-height: 1.5;
}
/* Botão Mostrar mais */
.avaliacoes-footer {
  text-align: center;
  margin-top: 2em;
}
.btn-carregar-mais {
  height: 3em;
  text-transform: none;
  font-size: 16px;
}

/* ==========================================================================
   6. FOOTER
   ========================================================================== */

footer {
  margin-top: 0;
}

/* ==========================================================================
   7. LANDING "TELECONSULTA POR CHAT" — classes tm-chat-*
   ========================================================================== */

.tm-chat-landing {
  --tm-primary: #0094ef;
  --tm-primary-dark: #0077c2;
  --tm-secondary: #031135;
  --tm-secondary-dark: #031135;
  --tm-accent: #eef7fc;
  --tm-accent-2: #f5fafd;
  --tm-text: #031135;
  --tm-muted: #5a6b7d;
  --tm-white: #ffffff;
  --tm-border: #d5e3ef;
  --tm-warning: #fff8e7;
  --tm-warning-border: #f0ce72;
  --tm-danger: #9f2f2f;
  --tm-danger-bg: #fff4f4;
  --tm-radius-sm: 12px;
  --tm-radius: 20px;
  --tm-radius-lg: 30px;
  --tm-shadow: 0 18px 50px rgba(3, 17, 53, 0.10);
  --tm-shadow-sm: 0 8px 24px rgba(3, 17, 53, 0.08);

  color: var(--tm-text);
  background: var(--tm-white);
  font-family: "Nunito", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  overflow: hidden;
}

.tm-chat-landing *,
.tm-chat-landing *::before,
.tm-chat-landing *::after {
  box-sizing: border-box;
}

.tm-chat-landing h1,
.tm-chat-landing h2,
.tm-chat-landing h3,
.tm-chat-landing .tm-chat-title,
.tm-chat-landing .tm-chat-section-title {
  text-transform: none;
}

.page-main.tm-chat-landing {
  overflow: hidden;
  background: #fff;
}

.tm-chat-landing .avaliacoes-ctn .avaliacoes-kicker {
  display: inline-flex;
  justify-content: center;
  width: 100%;
  margin: 0 0 14px;
  text-align: center;
}

.tm-chat-landing .avaliacoes-ctn .headline-1 {
  text-transform: none;
}

.tm-chat-landing a {
  color: inherit;
}

.tm-chat-landing img,
.tm-chat-landing svg {
  max-width: 100%;
}

.tm-chat-container {
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
}

.tm-chat-section {
  padding: 86px 0;
}

.tm-chat-section--soft {
  background: var(--tm-accent-2);
}

.tm-chat-section--teal {
  background: linear-gradient(135deg, #eef7fc 0%, #f7fbfd 100%);
}

.tm-chat-section--final-cta {
  color: var(--tm-white);
  /* Gradiente no padrão .last-cta-ctn (glp1) para não fundir com o footer navy */
  background: linear-gradient(to right, rgb(8, 145, 178), rgb(5, 150, 105));
}

.tm-chat-section--final-cta .tm-chat-final {
  background: transparent;
}

.tm-chat-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  color: var(--tm-primary-dark);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.tm-chat-kicker::before {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--tm-primary);
  content: "";
}

.tm-chat-title {
  max-width: 840px;
  margin: 0;
  color: var(--tm-secondary-dark);
  font-size: clamp(32px, 4.2vw, 52px);
  line-height: 1.12;
  letter-spacing: -.025em;
}

.tm-chat-section-title {
  max-width: 820px;
  margin: 0;
  color: var(--tm-secondary-dark);
  font-size: clamp(28px, 3.3vw, 42px);
  line-height: 1.18;
  letter-spacing: -.018em;
}

.tm-chat-subtitle {
  max-width: 760px;
  margin: 18px 0 0;
  color: var(--tm-muted);
  font-size: clamp(17px, 1.7vw, 20px);
  line-height: 1.65;
}

.tm-chat-center {
  text-align: center;
}

.tm-chat-center .tm-chat-section-title,
.tm-chat-center .tm-chat-subtitle {
  margin-inline: auto;
}

.tm-chat-btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  margin-top: 30px;
}

.tm-chat-btn {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 24px;
  border: 2px solid transparent;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.tm-chat-btn:hover {
  transform: translateY(-2px);
}

.tm-chat-btn--primary {
  color: var(--tm-white) !important;
  background-color: #031135;
  background-image: linear-gradient(to right top, #EC1C24, #031135);
  box-shadow: 0 12px 26px rgba(3, 17, 53, .28);
}

.tm-chat-btn--primary:hover {
  background-image: linear-gradient(to right top, #c4161d, #020a1f);
  box-shadow: 0 16px 32px rgba(3, 17, 53, .34);
}

.tm-chat-btn--secondary {
  color: var(--tm-secondary) !important;
  border-color: #b8c9db;
  background: var(--tm-white);
}

.tm-chat-btn--secondary:hover {
  border-color: var(--tm-primary);
}

.tm-chat-btn--light {
  color: var(--tm-secondary-dark) !important;
  background: var(--tm-white);
  box-shadow: 0 12px 30px rgba(0,0,0,.13);
}

.tm-chat-btn svg {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
}

/* HERO — mesmo espacamento do .page-title do tema, para nao ficar sob o header fixo */
.tm-chat-hero {
  position: relative;
  padding-top: 7em;
  padding-bottom: 4em;
  padding-right: 1rem;
  padding-left: 1rem;
  overflow: hidden;
  background:
    radial-gradient(circle at 85% 15%, rgba(0,148,239,.14), transparent 28%),
    linear-gradient(to right bottom, rgb(248, 250, 252), rgba(236, 254, 255, 0.3), rgba(236, 253, 245, 0.3));
}

.tm-chat-hero::after {
  position: absolute;
  right: -80px;
  bottom: -120px;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  border: 42px solid rgba(0,148,239,.055);
  content: "";
  pointer-events: none;
}

.tm-chat-hero .container {
  width: min(1180px, calc(100% - 40px));
  max-width: 1180px;
  margin-inline: auto;
}

.tm-chat-hero .buttons-container {
  margin-bottom: 8px;
}

.tm-chat-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  gap: 56px;
  align-items: center;
  margin-top: 12px;
}

.tm-chat-hero-copy {
  max-width: 680px;
}

.tm-chat-hero-copy strong {
  color: var(--tm-secondary-dark);
}

.tm-chat-feature-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.tm-chat-feature-pills li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 13px;
  border: 1px solid #c5dff5;
  border-radius: 999px;
  color: var(--tm-secondary);
  background: rgba(255,255,255,.9);
  font-size: 14px;
  font-weight: 700;
}

.tm-chat-feature-pills svg {
  width: 17px;
  height: 17px;
  color: var(--tm-primary);
}

.tm-chat-response-note {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  max-width: 620px;
  margin-top: 24px;
  padding: 14px 16px;
  border-left: 4px solid var(--tm-warning-border);
  border-radius: 8px 14px 14px 8px;
  color: #655421;
  background: var(--tm-warning);
  font-size: 14px;
}

.tm-chat-response-note a {
  color: #0077c2;
  font-weight: 700;
  text-decoration: underline;
}

.tm-chat-response-note a:hover {
  color: #0094ef;
}

.tm-chat-response-note svg {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  color: #9b7410;
}

.tm-chat-visual {
  position: relative;
  min-height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tm-chat-phone {
  position: relative;
  z-index: 2;
  width: 300px;
  padding: 14px;
  border: 8px solid #031135;
  border-radius: 38px;
  background: #ffffff;
  box-shadow: 0 30px 70px rgba(3,17,53,.24);
}

.tm-chat-phone::before {
  display: block;
  width: 92px;
  height: 22px;
  margin: -8px auto 12px;
  border-radius: 0 0 14px 14px;
  background: #031135;
  content: "";
}

.tm-chat-phone-header {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 12px 10px 17px;
  border-bottom: 1px solid #e1eaf2;
}

.tm-chat-doctor-avatar {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  color: var(--tm-white);
  background: var(--tm-primary);
}

.tm-chat-doctor-avatar svg {
  width: 23px;
  height: 23px;
}

.tm-chat-phone-header strong {
  display: block;
  color: var(--tm-secondary-dark);
  font-size: 14px;
  line-height: 1.25;
}

.tm-chat-online {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 3px;
  color: var(--tm-muted);
  font-size: 11px;
}

.tm-chat-online::before {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #34b36b;
  content: "";
}

.tm-chat-messages {
  display: flex;
  min-height: 320px;
  flex-direction: column;
  gap: 12px;
  padding: 20px 7px 12px;
  background: linear-gradient(180deg, #f7fbfd, #ffffff);
}

.tm-chat-bubble {
  max-width: 84%;
  padding: 11px 13px;
  border-radius: 15px;
  font-size: 12px;
  line-height: 1.45;
  box-shadow: 0 5px 13px rgba(3,17,53,.06);
}

.tm-chat-bubble--patient {
  align-self: flex-end;
  border-bottom-right-radius: 4px;
  color: #ffffff;
  background: var(--tm-primary);
}

.tm-chat-bubble--doctor {
  align-self: flex-start;
  border: 1px solid #e1eaf2;
  border-bottom-left-radius: 4px;
  color: var(--tm-text);
  background: #ffffff;
}

.tm-chat-typing {
  display: inline-flex;
  align-self: flex-start;
  gap: 4px;
  padding: 10px 13px;
  border: 1px solid #e1eaf2;
  border-radius: 14px 14px 14px 4px;
  background: #ffffff;
}

.tm-chat-typing span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #7a8fa3;
  animation: tm-chat-dot 1.2s infinite ease-in-out;
}

.tm-chat-typing span:nth-child(2) { animation-delay: .16s; }
.tm-chat-typing span:nth-child(3) { animation-delay: .32s; }

@keyframes tm-chat-dot {
  0%, 70%, 100% { transform: translateY(0); opacity: .5; }
  35% { transform: translateY(-4px); opacity: 1; }
}

.tm-chat-floating-card {
  position: absolute;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 210px;
  padding: 14px 16px;
  border: 1px solid rgba(0,148,239,.18);
  border-radius: 16px;
  color: var(--tm-secondary-dark);
  background: rgba(255,255,255,.96);
  box-shadow: var(--tm-shadow-sm);
  font-size: 13px;
  font-weight: 800;
}

.tm-chat-floating-card svg {
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  color: var(--tm-primary);
}

.tm-chat-floating-card--one {
  top: 44px;
  left: -8px;
}

.tm-chat-floating-card--two {
  right: -12px;
  bottom: 56px;
}

/* GRIDS / CARDS */
.tm-chat-grid-3,
.tm-chat-grid-4,
.tm-chat-cases-grid {
  display: grid;
  gap: 22px;
  margin-top: 42px;
}

.tm-chat-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tm-chat-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tm-chat-cases-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.tm-chat-card {
  position: relative;
  height: 100%;
  padding: 28px;
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius);
  background: var(--tm-white);
  box-shadow: var(--tm-shadow-sm);
}

.tm-chat-card-icon {
  display: grid;
  width: 52px;
  height: 52px;
  margin-bottom: 20px;
  place-items: center;
  border-radius: 15px;
  color: var(--tm-primary-dark);
  background: var(--tm-accent);
}

.tm-chat-card-icon svg {
  width: 27px;
  height: 27px;
}

.tm-chat-card h3 {
  margin: 0 0 10px;
  color: var(--tm-secondary-dark);
  font-size: 20px;
  line-height: 1.3;
}

.tm-chat-card p {
  margin: 0;
  color: var(--tm-muted);
}

.tm-chat-benefit-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 38px 0 0;
  padding: 0;
  list-style: none;
}

.tm-chat-benefit-list li {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 19px 20px;
  border: 1px solid var(--tm-border);
  border-radius: 15px;
  background: #ffffff;
}

.tm-chat-benefit-list svg {
  width: 23px;
  height: 23px;
  flex: 0 0 auto;
  margin-top: 2px;
  color: var(--tm-primary);
}

.tm-chat-benefit-list strong {
  display: block;
  margin-bottom: 3px;
  color: var(--tm-secondary-dark);
  font-size: 16px;
}

.tm-chat-benefit-list span {
  color: var(--tm-muted);
  font-size: 14px;
}

/* STEPS */
.tm-chat-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
  margin-top: 46px;
}

.tm-chat-step {
  position: relative;
  z-index: 1;
  padding: 25px 21px;
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius);
  background: var(--tm-white);
  box-shadow: var(--tm-shadow-sm);
}

.tm-chat-step-number {
  display: grid;
  width: 42px;
  height: 42px;
  margin-bottom: 18px;
  place-items: center;
  border-radius: 50%;
  color: var(--tm-white);
  background: var(--tm-primary);
  font-weight: 900;
}

.tm-chat-step h3 {
  margin: 0 0 9px;
  color: var(--tm-secondary-dark);
  font-size: 18px;
  line-height: 1.3;
}

.tm-chat-step p {
  margin: 0;
  color: var(--tm-muted);
  font-size: 14px;
}

/* CASES */
.tm-chat-case {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 20px;
  border: 1px solid var(--tm-border);
  border-radius: 16px;
  background: var(--tm-white);
}

.tm-chat-case svg {
  width: 23px;
  height: 23px;
  flex: 0 0 auto;
  margin-top: 2px;
  color: var(--tm-primary);
}

.tm-chat-case span {
  color: var(--tm-text);
  font-weight: 700;
  line-height: 1.45;
}

.tm-chat-info-box {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  margin-top: 28px;
  padding: 21px 23px;
  border: 1px solid #c5dff5;
  border-radius: 16px;
  color: var(--tm-secondary-dark);
  background: var(--tm-accent);
}

.tm-chat-info-box svg {
  width: 27px;
  height: 27px;
  flex: 0 0 auto;
  color: var(--tm-primary-dark);
}

.tm-chat-info-box p {
  margin: 0;
}

/* COMPARISON */
.tm-chat-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 44px;
}

.tm-chat-compare-card {
  position: relative;
  overflow: hidden;
  padding: 34px;
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius-lg);
  background: var(--tm-white);
  box-shadow: var(--tm-shadow);
}

.tm-chat-compare-card--featured {
  border: 2px solid var(--tm-primary);
}

.tm-chat-compare-tag {
  display: inline-flex;
  margin-bottom: 18px;
  padding: 7px 12px;
  border-radius: 999px;
  color: var(--tm-primary-dark);
  background: var(--tm-accent);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.tm-chat-compare-card h3 {
  margin: 0 0 8px;
  color: var(--tm-secondary-dark);
  font-size: 28px;
}

.tm-chat-compare-card > p {
  margin: 0 0 24px;
  color: var(--tm-muted);
}

.tm-chat-compare-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.tm-chat-compare-list li {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr);
  gap: 15px;
  padding: 15px 0;
  border-bottom: 1px solid #e5edf5;
}

.tm-chat-compare-list li:last-child {
  border-bottom: 0;
}

.tm-chat-compare-list strong {
  color: var(--tm-secondary-dark);
  font-size: 14px;
}

.tm-chat-compare-list span {
  color: var(--tm-muted);
  font-size: 14px;
}

/* COMPLETE CARE */
.tm-chat-care-grid {
  display: grid;
  grid-template-columns: .88fr 1.12fr;
  gap: 55px;
  align-items: center;
}

.tm-chat-care-panel {
  position: relative;
  min-height: 430px;
  padding: 34px;
  border-radius: var(--tm-radius-lg);
  color: var(--tm-white);
  background:
    radial-gradient(circle at 85% 10%, rgba(255,255,255,.18), transparent 26%),
    linear-gradient(145deg, var(--tm-primary), var(--tm-secondary));
  box-shadow: var(--tm-shadow);
}

.tm-chat-care-panel h3 {
  max-width: 380px;
  margin: 0 0 16px;
  color: var(--tm-white);
  font-size: 31px;
  line-height: 1.2;
}

.tm-chat-care-panel p {
  max-width: 410px;
  margin: 0;
  color: rgba(255,255,255,.88);
}

.tm-chat-care-art {
  position: absolute;
  right: 20px;
  bottom: 18px;
  width: 220px;
  opacity: .96;
}

.tm-chat-check-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 22px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.tm-chat-check-list li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: var(--tm-text);
  font-weight: 650;
}

.tm-chat-check-list svg {
  width: 21px;
  height: 21px;
  flex: 0 0 auto;
  margin-top: 2px;
  color: var(--tm-primary);
}

.tm-chat-prescription-note {
  margin-top: 28px;
  padding: 18px 20px;
  border-left: 4px solid var(--tm-primary);
  border-radius: 8px 14px 14px 8px;
  color: var(--tm-secondary-dark);
  background: var(--tm-accent);
}

/* DANGER */
.tm-chat-danger {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 46px;
  align-items: center;
  padding: 38px;
  border: 1px solid #f1cece;
  border-radius: var(--tm-radius-lg);
  background: var(--tm-danger-bg);
}

.tm-chat-danger-badge {
  display: grid;
  width: 74px;
  height: 74px;
  margin-bottom: 18px;
  place-items: center;
  border-radius: 22px;
  color: #ffffff;
  background: var(--tm-danger);
}

.tm-chat-danger-badge svg {
  width: 38px;
  height: 38px;
}

.tm-chat-danger h2 {
  margin: 0 0 12px;
  color: #722424;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.18;
}

.tm-chat-danger p {
  margin: 0;
  color: #784747;
}

.tm-chat-danger-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tm-chat-danger-list li {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  color: #6e3333;
  font-weight: 700;
}

.tm-chat-danger-list svg {
  width: 19px;
  height: 19px;
  flex: 0 0 auto;
  margin-top: 3px;
  color: var(--tm-danger);
}

/* REVIEWS PLACEHOLDER */
.tm-chat-reviews-slot {
  margin-top: 36px;
  padding: 30px;
  border: 2px dashed #b8c9db;
  border-radius: var(--tm-radius);
  color: var(--tm-muted);
  background: rgba(255,255,255,.65);
  text-align: center;
}

.tm-chat-reviews-slot strong {
  display: block;
  margin-bottom: 5px;
  color: var(--tm-secondary-dark);
}

/* FAQ */
.tm-chat-faq {
  max-width: 930px;
  margin: 42px auto 0;
}

.tm-chat-faq details {
  border: 1px solid var(--tm-border);
  border-radius: 15px;
  background: var(--tm-white);
  box-shadow: 0 5px 16px rgba(3,17,53,.05);
}

.tm-chat-faq details + details {
  margin-top: 12px;
}

.tm-chat-faq summary {
  position: relative;
  padding: 20px 56px 20px 22px;
  color: var(--tm-secondary-dark);
  cursor: pointer;
  font-size: 17px;
  font-weight: 800;
  list-style: none;
}

.tm-chat-faq summary::-webkit-details-marker {
  display: none;
}

.tm-chat-faq summary::after {
  position: absolute;
  top: 50%;
  right: 21px;
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  color: var(--tm-primary-dark);
  background: var(--tm-accent);
  content: "+";
  font-size: 21px;
  line-height: 1;
  transform: translateY(-50%);
}

.tm-chat-faq details[open] summary::after {
  content: "–";
}

.tm-chat-faq-answer {
  padding: 0 22px 21px;
  color: var(--tm-muted);
}

.tm-chat-faq-answer p {
  margin: 0;
}

/* FINAL CTA */
.tm-chat-final {
  position: relative;
  overflow: hidden;
  padding: 60px;
  border-radius: var(--tm-radius-lg);
  text-align: center;
}

.tm-chat-final::before,
.tm-chat-final::after {
  position: absolute;
  border-radius: 50%;
  background: rgba(255,255,255,.07);
  content: "";
}

.tm-chat-final::before {
  top: -100px;
  left: -70px;
  width: 260px;
  height: 260px;
}

.tm-chat-final::after {
  right: -90px;
  bottom: -130px;
  width: 320px;
  height: 320px;
}

.tm-chat-final-inner {
  position: relative;
  z-index: 1;
  max-width: 820px;
  margin-inline: auto;
}

.tm-chat-final h2 {
  margin: 0;
  color: var(--tm-white);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.15;
}

.tm-chat-final p {
  margin: 18px auto 0;
  color: rgba(255,255,255,.86);
  font-size: 18px;
}

.tm-chat-final .tm-chat-btn-row {
  justify-content: center;
}

.tm-chat-final-small {
  display: block;
  margin-top: 16px;
  color: rgba(255,255,255,.72);
  font-size: 13px;
}

.tm-chat-mobile-cta {
  display: none;
}

/* RESPONSIVE */
@media (max-width: 1040px) {
  .tm-chat-hero-grid,
  .tm-chat-care-grid,
  .tm-chat-danger {
    grid-template-columns: 1fr;
  }

  .tm-chat-hero-copy {
    max-width: 820px;
  }

  .tm-chat-visual {
    min-height: 470px;
  }

  .tm-chat-floating-card--one { left: 8%; }
  .tm-chat-floating-card--two { right: 8%; }

  .tm-chat-grid-4,
  .tm-chat-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tm-chat-steps .tm-chat-step:last-child {
    grid-column: span 2;
  }

  .tm-chat-care-panel {
    min-height: 380px;
  }
}

@media (max-width: 780px) {
  .tm-chat-container {
    width: min(100% - 28px, 680px);
  }

  .tm-chat-section {
    padding: 64px 0;
  }

  .tm-chat-hero {
    padding-bottom: 3em;
  }

  .tm-chat-hero-grid {
    gap: 35px;
  }

  .tm-chat-grid-3,
  .tm-chat-cases-grid,
  .tm-chat-compare,
  .tm-chat-benefit-list {
    grid-template-columns: 1fr;
  }

  .tm-chat-compare-list li {
    grid-template-columns: 105px minmax(0, 1fr);
  }

  .tm-chat-check-list,
  .tm-chat-danger-list {
    grid-template-columns: 1fr;
  }

  .tm-chat-care-panel {
    min-height: 410px;
  }

  .tm-chat-final {
    padding: 46px 22px;
  }

  .tm-chat-reviews-slot {
    display: none;
  }
}

@media (max-width: 560px) {
  .tm-chat-landing {
    padding-bottom: 78px;
  }

  .tm-chat-title {
    font-size: 37px;
  }

  .tm-chat-section-title {
    font-size: 31px;
  }

  .tm-chat-btn-row {
    align-items: stretch;
    flex-direction: column;
  }

  .tm-chat-btn {
    width: 100%;
  }

  .tm-chat-grid-4,
  .tm-chat-steps {
    grid-template-columns: 1fr;
  }

  .tm-chat-steps .tm-chat-step:last-child {
    grid-column: auto;
  }

  .tm-chat-card,
  .tm-chat-step,
  .tm-chat-compare-card {
    padding: 23px;
  }

  .tm-chat-visual {
    min-height: 415px;
  }

  .tm-chat-phone {
    width: 270px;
  }

  .tm-chat-floating-card {
    width: 175px;
    padding: 11px 12px;
    font-size: 11px;
  }

  .tm-chat-floating-card--one {
    top: 12px;
    left: 0;
  }

  .tm-chat-floating-card--two {
    right: 0;
    bottom: 10px;
  }

  .tm-chat-care-panel {
    min-height: 450px;
    padding: 28px;
  }

  .tm-chat-care-panel h3 {
    font-size: 28px;
  }

  .tm-chat-care-art {
    width: 180px;
  }

  .tm-chat-danger {
    padding: 28px 22px;
  }

  .tm-chat-compare-list li {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .tm-chat-mobile-cta {
    position: fixed;
    z-index: 9999;
    right: 10px;
    bottom: 10px;
    left: auto;
    display: block;
    width: auto;
    max-width: calc(100% - 20px);
    padding: 12px 18px;
    border-radius: 999px;
    color: #ffffff !important;
    background-color: #031135;
    background-image: linear-gradient(to right top, #EC1C24, #031135);
    box-shadow: 0 10px 28px rgba(3,17,53,.30);
    font-size: 15px;
    font-weight: 900;
    text-align: center;
    text-decoration: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tm-chat-landing *,
  .tm-chat-landing *::before,
  .tm-chat-landing *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
