.planos-vitrine {
    --plano-accent: var(--pe-primary);
    --plano-accent-soft: rgba(var(--pe-primary-rgb), .09);
    --plano-surface: #fff;
    --plano-border: #e7e5ef;
    --plano-muted: #687287;
    --plano-ink: #172035;
}
[data-bs-theme="dark"] .planos-vitrine {
    --plano-accent: color-mix(in srgb, var(--pe-primary) 75%, white);
    --plano-accent-soft: rgba(var(--pe-primary-rgb), .15);
    --plano-surface: #272d38;
    --plano-border: #3d4351;
    --plano-muted: #b1bacb;
    --plano-ink: #f2f3fb;
}
.planos-vitrine .planos-heading { margin-bottom: 24px; }
.planos-vitrine .planos-heading h2 { font-size: clamp(24px, 2vw, 32px); letter-spacing: -.6px; color: var(--plano-ink); margin-bottom: 8px; }
.planos-vitrine .planos-heading p { font-size: 15px; margin-bottom: 0; }
.planos-vitrine .planos-ofertas-grid { gap: 18px; }
.planos-vitrine .card.plano-contratar { margin: 0; border: 1px solid var(--plano-border); border-radius: 12px; background: var(--plano-surface); box-shadow: 0 3px 12px rgba(20, 15, 50, .04); overflow: hidden; }
.planos-vitrine .plano-contratar .card-body { padding: 23px 20px 18px; }
.planos-vitrine .plano-eyebrow { display: block; color: var(--plano-accent); font-size: 10px; font-weight: 800; letter-spacing: 1.5px; margin-bottom: 7px; }
.planos-vitrine .plano-apresentacao { min-height: 100px; }
.planos-vitrine .plano-apresentacao h3 { font-size: 22px; font-weight: 750; line-height: 1.2; letter-spacing: -.4px; color: var(--plano-ink); margin-bottom: 7px; overflow-wrap: anywhere; }
.planos-vitrine .plano-descricao { font-size: 13px; line-height: 1.5; color: var(--plano-muted); margin: 0; }
.planos-vitrine .plano-precos { min-height: 106px; padding: 12px 0 16px; border-bottom: 1px solid var(--plano-border); }
.planos-vitrine .plano-preco { color: var(--plano-accent); font-size: clamp(23px, 1.7vw, 29px); font-weight: 800; line-height: 1.25; letter-spacing: -.6px; }
.planos-vitrine .plano-preco small { font-size: 12px; font-weight: 400; color: var(--plano-muted); letter-spacing: normal; white-space: nowrap; }
.planos-vitrine .plano-recorrencia { background: var(--plano-accent-soft); color: var(--plano-accent); border-radius: 6px; padding: 7px 9px; font-size: 11px; line-height: 1.4; margin-top: 8px; }
.planos-vitrine .plano-periodo { display: block; color: var(--plano-muted); font-size: 11px; margin-top: 7px; }
.planos-vitrine .plano-recursos { list-style: none; padding: 16px 0 0; margin: 0; min-height: 132px; }
.planos-vitrine .plano-recursos li { display: flex; align-items: baseline; gap: 9px; font-size: 13px; color: var(--plano-muted); line-height: 1.5; margin-bottom: 7px; }
.planos-vitrine .plano-recursos i { color: var(--plano-accent); font-size: 16px; }
.planos-vitrine .plano-ver-recursos { align-self: flex-start; background: none; border: 0; padding: 6px 0 15px; color: var(--plano-accent); font-size: 12px; font-weight: 600; text-align: left; }
.planos-vitrine .btn.plano-escolher { border: 1px solid var(--bs-btn-primary-border-color, var(--pe-primary)); border-radius: 7px; padding: 11px 10px; font-size: 13px; font-weight: 650; box-shadow: 0 3px 8px rgba(var(--pe-primary-rgb), .14); }
.planos-vitrine .btn.plano-escolher:disabled { opacity: .6; }
.planos-vitrine .plano-simbolo { background: var(--plano-accent-soft); color: var(--plano-accent); border-radius: 12px; padding: 8px 11px; font-size: 24px; }
.planos-vitrine .planos-suporte { background: var(--plano-surface); border: 1px solid var(--plano-border); border-radius: 10px; box-shadow: none; }
.planos-vitrine .planos-suporte .card-body { padding: 15px 18px; }
.planos-vitrine .planos-suporte strong { font-size: 14px; color: var(--plano-ink); }
.planos-vitrine .planos-suporte p { font-size: 13px; }
.planos-vitrine .planos-suporte .btn { color: var(--plano-accent); border-color: var(--plano-accent); background: transparent; font-size: 12px; font-weight: 650; padding: 9px 22px; }
.planos-comparacao { background: var(--plano-surface); border: 1px solid var(--plano-border); border-radius: 10px; scroll-margin-top: 110px; }
.planos-comparacao summary { display: flex; align-items: center; gap: 14px; padding: 13px 18px; cursor: pointer; list-style: none; color: var(--plano-ink); }
.planos-comparacao summary::-webkit-details-marker { display: none; }
.planos-comparacao summary strong { font-size: 14px; }
.planos-comparacao summary small { display: block; color: var(--plano-muted); font-size: 12px; margin-top: 2px; }
.planos-comparacao .comparacao-seta { font-size: 22px; color: var(--plano-muted); }
.planos-comparacao[open] .comparacao-seta { transform: rotate(180deg); }
.comparacao-conteudo { border-top: 1px solid var(--plano-border); }
.comparacao-instrucao { padding: 16px 18px 0; font-size: 12px; color: var(--plano-muted); }
.comparacao-scroll { overflow: auto; border-radius: 0 0 10px 10px; }
.comparacao-tabela { border-collapse: separate; border-spacing: 0; width: 100%; font-size: 12px; color: var(--plano-ink); }
.comparacao-tabela th, .comparacao-tabela td { padding: 14px 18px; min-width: 170px; border-bottom: 1px solid var(--plano-border); text-align: center; }
.comparacao-tabela thead th { background: var(--plano-accent-soft); color: var(--plano-accent); font-size: 14px; }
.comparacao-tabela tr > :first-child { position: sticky; left: 0; z-index: 1; background: var(--plano-surface); text-align: left; min-width: 190px; border-right: 1px solid var(--plano-border); }
.comparacao-tabela tbody th { font-weight: 500; }
.comparacao-tabela tr:last-child > * { border-bottom: 0; }
.comparacao-tabela .comparacao-valor { color: var(--plano-accent); font-weight: 750; }
.comparacao-incluido { color: var(--plano-accent); white-space: nowrap; }
.comparacao-incluido i { margin-right: 4px; }
.comparacao-ausente { color: var(--plano-muted); }
.planos-vitrine button:focus-visible, .planos-vitrine summary:focus-visible, .comparacao-scroll:focus-visible, .comparacao-tabela th:focus-visible { outline: 2px solid var(--plano-accent); outline-offset: 3px; }
.checkout-renovacao { max-width: 1060px; margin: 0 auto 48px; color: var(--plano-ink); }
.planos-vitrine .checkout-renovacao .renovacao-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(320px, 1fr); gap: 24px; align-items: start; }
.checkout-renovacao .card { background: var(--plano-surface); border: 1px solid var(--plano-border); border-radius: 12px; box-shadow: none; margin-bottom: 0; }
.checkout-renovacao .card-body { padding: 22px; }
.checkout-renovacao h3 { font-size: 24px; font-weight: 700; }
.checkout-renovacao h5 { font-size: 16px; font-weight: 650; }
.checkout-renovacao p, .checkout-renovacao .form-label, .checkout-coluna-resumo { font-size: 13px; }
.checkout-renovacao .renovacao-opcao { display: flex; align-items: center; gap: 14px; border: 1px solid var(--plano-border); border-radius: 12px; padding: 20px; margin-bottom: 14px; font-size: 14px; cursor: pointer; }
.checkout-renovacao .renovacao-opcao.selecionada { border-color: var(--plano-accent); background: var(--plano-accent-soft); box-shadow: inset 0 0 0 1px var(--plano-accent); }
.checkout-renovacao .renovacao-opcao input { accent-color: var(--plano-accent); }
.checkout-cliente summary { padding: 18px; cursor: pointer; font-size: 14px; }
.checkout-cliente summary small { overflow-wrap: anywhere; }
.checkout-renovacao .form-control, .checkout-renovacao .form-select, .checkout-renovacao .btn { font-size: 13px; }
.checkout-renovacao #checkoutValorTotal { white-space: nowrap; }
.checkout-renovacao .checkout-etapas { max-width: 500px; margin: auto; }
.checkout-renovacao .checkout-etapas:not(:has(> div:not(.d-none))) { display: none; }
.checkout-renovacao #checkoutFormCartao .row > div { width: 100%; }
@media (max-width: 991px) { .planos-vitrine .checkout-renovacao .renovacao-layout { grid-template-columns: 1fr; } }
@media (max-width: 575px) {
    .planos-vitrine .plano-apresentacao { min-height: auto; padding-bottom: 8px; }
    .planos-vitrine .planos-suporte .btn { width: 100%; }
    .comparacao-tabela tr > :first-child { min-width: 135px; max-width: 135px; }
    .comparacao-tabela th, .comparacao-tabela td { padding: 12px; }
}
