/* Seção cuidado: redesenho de 16/10. Carrega depois do site.css e o anula com seletor igual ou mais específico. */

/* ---------- foto ---------- */
.cuidado-foto {
  height: min(48vw, 100svh);
  min-height: 560px;
  max-height: 720px;
}
.cuidado-texto {
  width: min(36vw, 520px);
}

/* ---------- corpo: o cartão das mensagens à esquerda, uma coluna de itens à direita ---------- */
.cuidado-corpo {
  grid-template-columns: minmax(0, 420px) minmax(0, 1fr);
  align-items: start;
  padding-top: 64px;
  padding-bottom: clamp(48px, 6vw, 88px);
  gap: clamp(40px, 6vw, 96px);
}
.cuidado-msgs {
  position: sticky;
  top: 96px;
  height: 540px;
  padding: 0;
  /* o corte parece deliberado: as bordas somem em 24 px */
  -webkit-mask-image: linear-gradient(transparent, #000 24px, #000 calc(100% - 24px), transparent);
  mask-image: linear-gradient(transparent, #000 24px, #000 calc(100% - 24px), transparent);
  box-shadow: none;
  border-radius: 22px;
}
.cuidado-msgs-trilho {
  padding: 28px 12px;
}

.cuidado-corpo .cuidado-lista {
  display: block;
  counter-reset: item;
  max-width: 56ch;
}
.cuidado-lista li {
  counter-increment: item;
  border-top: 0;
  box-shadow: none;
  border-bottom: 1px solid var(--borda);
  border-radius: 12px;
  padding: 0;
  transition:
    background-color 0.3s var(--curva),
    border-color 0.3s var(--curva),
    opacity 0.3s var(--curva);
}
.cuidado-lista li button {
  grid-template-columns: 32px minmax(0, 1fr);
  column-gap: 12px;
  row-gap: 4px;
  padding: 18px 20px;
  border-radius: 12px;
}
.cuidado-lista li button::before {
  content: counter(item, decimal-leading-zero);
  grid-row: 1 / span 2;
  font: 500 13px/28px var(--mono);
  letter-spacing: 0.04em;
  color: var(--apoio);
}
.cuidado-lista li b {
  color: var(--tinta);
  font-size: 18px;
  line-height: 28px;
}
.cuidado-lista li span {
  grid-column: 2;
  color: #3d403b;
  font-size: 15.5px;
  line-height: 1.5;
}
/* contraste por opacidade, nunca por cinza: a cor do texto não muda */
.cuidado-corpo.ligado .cuidado-lista li:not(.aceso) {
  opacity: 0.84;
}
.cuidado-corpo.ligado .cuidado-lista li:not(.aceso) b {
  color: var(--tinta);
}
.cuidado-lista li.aceso {
  background: #ecf4ee;
  border-bottom-color: transparent;
  box-shadow: inset 3px 0 0 var(--verde);
}
.cuidado-lista li.aceso button::before {
  color: var(--verde);
}

/* ---------- celular ---------- */
@media (max-width: 820px) {
  .cuidado-foto {
    height: min(68svh, 540px);
    min-height: 480px;
    max-height: none;
  }
  .cuidado-texto {
    width: auto;
  }
  .cuidado-corpo {
    grid-template-columns: 1fr;
    padding-top: 32px;
    padding-bottom: 40px;
    gap: 16px;
    align-items: stretch;
  }
  .cuidado-msgs {
    position: sticky;
    /* abaixo do cabeçalho fixo de 56 px */
    top: 64px;
    z-index: 2;
    height: 300px;
    background: var(--chat);
    font-size: 15px;
    line-height: 22px;
    box-shadow: 0 18px 28px -20px rgba(20, 21, 19, 0.4);
    -webkit-mask-image: none;
    mask-image: linear-gradient(#000 calc(100% - 28px), transparent);
  }
  .cuidado-msgs .wa-msg,
  .cuidado-msgs .wa-botoes span {
    font-size: 15px;
    line-height: 22px;
  }
  .cuidado-msgs-trilho {
    padding: 12px;
  }
  .cuidado-corpo .cuidado-lista {
    max-width: none;
  }
  .cuidado-lista li button {
    grid-template-columns: 28px minmax(0, 1fr);
    column-gap: 8px;
    padding: 14px 12px;
  }
  .cuidado-lista li b {
    font-size: 18px;
    line-height: 24px;
  }
  .cuidado-lista li span {
    font-size: 16px;
    line-height: 24px;
  }
  .cuidado-lista li button::before {
    line-height: 24px;
  }
}
