/* ds-preco */
.ds-preco { display: grid; gap: var(--ds-espaco-6); align-items: stretch; }
@media (min-width: 768px) { .ds-preco { grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); } }
.ds-preco--um { max-width: 26rem; margin-inline: auto; grid-template-columns: minmax(0, 1fr); }
.ds-preco__plano {
  position: relative; display: flex; flex-direction: column;
  padding: var(--ds-cartao-padding);
  background: var(--ds-cor-superficie);
  border: var(--ds-borda-largura) solid var(--ds-cor-borda);
  border-radius: var(--ds-raio-cartao);
  box-shadow: var(--ds-sombra-sm);
}
.ds-preco__plano--destaque { border: var(--ds-borda-largura-forte) solid var(--ds-cor-destaque); box-shadow: var(--ds-sombra-md); }
.ds-preco__selo {
  position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%);
  margin: 0; padding: var(--ds-espaco-1) var(--ds-espaco-4);
  border-radius: var(--ds-raio-pilula);
  background: var(--ds-cor-destaque); color: var(--ds-cor-sobre-destaque);
  font-size: var(--ds-tamanho-pequeno); white-space: nowrap;
}
.ds-preco__nome { margin: var(--ds-espaco-2) 0 var(--ds-espaco-1); font-size: var(--ds-tamanho-cartao); }
.ds-preco__descricao { margin-bottom: var(--ds-espaco-4); color: var(--ds-cor-texto-suave); font-size: var(--ds-tamanho-pequeno); }
.ds-preco__valor { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 var(--ds-espaco-1); margin: 0; color: var(--ds-cor-titulo); }
.ds-preco__de { flex-basis: 100%; font-size: var(--ds-tamanho-pequeno); color: var(--ds-cor-texto-suave); }
.ds-preco__moeda { font-size: var(--ds-tamanho-texto-grande); }
.ds-preco__numero { font-family: var(--ds-fonte-impacto); font-size: var(--ds-tamanho-numero); line-height: 1; }
.ds-preco__periodo { color: var(--ds-cor-texto-suave); }
.ds-preco__parcelas { margin: var(--ds-espaco-2) 0 var(--ds-espaco-4); font-size: var(--ds-tamanho-pequeno); }
.ds-preco__itens { list-style: none; margin: 0 0 var(--ds-espaco-6); padding: var(--ds-espaco-4) 0 0; border-top: var(--ds-borda-largura) solid var(--ds-cor-borda); display: grid; gap: var(--ds-espaco-2); }
.ds-preco__itens li { display: flex; gap: var(--ds-espaco-2); align-items: flex-start; }
.ds-preco__itens .ds-icone { margin-top: 0.15em; color: var(--ds-cor-texto-destaque); }
.ds-preco__fora { color: var(--ds-cor-texto-suave); text-decoration: line-through; }
.ds-preco__fora .ds-icone { color: var(--ds-cor-texto-suave); }
.ds-preco__plano .ds-botao { margin-top: auto; }
