.planos-grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 32px 0; }
.plano-cartao { display: flex; flex-direction: column; gap: 16px; padding: 30px; border: 1px solid #39353f; border-radius: 16px; background: #17171f; color: #f7f4ed; }
.plano-cartao h2, .plano-cartao p { margin: 0; }
.plano-cartao h2 { color: #d4af37; }
.plano-cartao .plano-preco { font-size: 28px; font-weight: 700; }
.plano-preco small { font-size: 16px; font-weight: 400; }
.plano-oferta { background: rgba(212, 175, 55, 0.07); border: 1px solid rgba(212, 175, 55, 0.28); border-radius: 12px; display: grid; gap: 5px; padding: 16px; }
.plano-oferta > small, .plano-oferta > span { color: #d0cbd6; }
.plano-total { color: #f7f4ed; font-weight: 700; }
.plano-economia { color: #d6bde7; font-size: 0.9rem; }
.plano-cartao ul { padding-left: 20px; line-height: 1.8; flex: 1; }
.plano-cartao > small { color: #d0cbd6; line-height: 1.5; }
.plano-teste { color: #c1a0d8; font-weight: 700; }
.plano-premium { border-color: #d4af37; }
.comparacao-planos { margin: 72px 0 40px; }
.cabecalho-comparacao { margin-bottom: 24px; }
.cabecalho-comparacao h2 { font-size: clamp(2rem, 4vw, 3rem); margin: 8px 0 12px; }
.cabecalho-comparacao p { color: #d0cbd6; margin: 0; }
.tabela-planos-container { border: 1px solid #39353f; border-radius: 16px; overflow-x: auto; }
.tabela-planos-container:focus-visible { outline: 2px solid #d4af37; outline-offset: 4px; }
.tabela-planos { border-collapse: collapse; min-width: 760px; width: 100%; }
.tabela-planos th, .tabela-planos td { border-bottom: 1px solid #39353f; padding: 18px 20px; text-align: center; vertical-align: middle; }
.tabela-planos thead th { background: #1d1b25; color: #d4af37; font-size: 1.05rem; }
.tabela-planos th:first-child { background: #17171f; color: #f7f4ed; left: 0; min-width: 210px; position: sticky; text-align: left; z-index: 1; }
.tabela-planos tbody tr:nth-child(even) td { background: rgba(255, 255, 255, 0.025); }
.tabela-planos tbody tr:last-child th, .tabela-planos tbody tr:last-child td { border-bottom: 0; }
.tabela-planos .recurso-incluido { color: #d4af37; font-size: 1.4rem; font-weight: 800; }
.linha-contratacao .botao { display: inline-flex; white-space: nowrap; }
.texto-acessivel { height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; clip: rect(0 0 0 0); }
.planos-indisponiveis { margin: 0 0 40px; text-align: center; }
.contratacao-plano { padding: 0 24px 72px; }
.contratacao-resumo { background: linear-gradient(140deg, rgba(212, 175, 55, 0.11), rgba(193, 160, 216, 0.08)); border: 1px solid #39353f; border-radius: 16px; margin-bottom: 32px; padding: 28px; }
.contratacao-resumo h2 { color: #d4af37; margin: 0 0 10px; }
.contratacao-resumo p { color: #d0cbd6; }
.contratacao-recursos { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.contratacao-recursos span { background: #17171f; border: 1px solid #39353f; border-radius: 999px; padding: 8px 12px; }
.ciclos-grade { display: grid; gap: 20px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ciclo-cartao { background: #17171f; border: 1px solid #39353f; border-radius: 16px; display: flex; flex-direction: column; gap: 14px; padding: 24px; position: relative; }
.ciclo-cartao-destaque { border-color: #d4af37; box-shadow: 0 18px 50px rgba(0, 0, 0, 0.24); }
.ciclo-selo { background: #d4af37; border-radius: 999px; color: #0d0d13; font-size: 0.72rem; font-weight: 800; padding: 6px 10px; position: absolute; right: 16px; text-transform: uppercase; top: 16px; }
.ciclo-cartao h3 { font-size: 1.35rem; margin: 0; padding-right: 72px; }
.ciclo-equivalente { color: #d4af37; font-size: 1.7rem; font-weight: 800; margin: 0; }
.ciclo-equivalente small { color: #d0cbd6; font-size: 0.85rem; font-weight: 400; }
.ciclo-total { font-weight: 700; margin: 0; }
.ciclo-detalhes { color: #d0cbd6; flex: 1; font-size: 0.9rem; line-height: 1.55; margin: 0; }
.ciclo-desconto { color: #d6bde7; font-weight: 800; margin: 0; }
.ciclo-cartao .botao { margin-top: auto; text-align: center; }
.contratacao-aviso { border-left: 2px solid #c1a0d8; color: #d0cbd6; margin: 32px 0 0; padding-left: 16px; }
.planos-notas { padding: 24px 0; line-height: 1.6; }
@media (max-width: 900px) {
	.planos-grade { grid-template-columns: 1fr; }
	.ciclos-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tabela-planos th, .tabela-planos td { padding: 16px; }
}
@media (max-width: 560px) {
	.contratacao-plano { padding-left: 16px; padding-right: 16px; }
	.ciclos-grade { grid-template-columns: 1fr; }
}
