/* ══════════════════════════════════════
   checkout.css
══════════════════════════════════════ */

.checkout-wrap { max-width: 520px; margin: 0 auto; padding: 3rem 1.5rem; }
.checkout-breadcrumb { display:flex; align-items:center; gap:8px; font-size:.82rem; color:var(--muted); max-width:520px; margin:0 auto; padding:1.25rem 1.5rem 0; }
.checkout-breadcrumb a { color:var(--accent); text-decoration:none; }

.plano-card, .pagamento-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 1.75rem;
    margin-bottom: 1.25rem;
}
.plano-card-topo { display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem; }
.plano-nome { font-family:Syne,sans-serif; font-size:1.1rem; font-weight:700; }
.plano-preco { font-family:Syne,sans-serif; font-size:1.4rem; font-weight:800; color:var(--accent); }
.plano-preco small { font-size:.75rem; font-weight:500; color:var(--muted); }
.plano-features { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.plano-features li { font-size:.88rem; color:var(--muted); display:flex; align-items:center; gap:8px; }
.plano-features li::before { content:"✅"; font-size:.8rem; }

.pagamento-card h3 { font-family:Syne,sans-serif; font-size:1rem; font-weight:700; margin-bottom:1.25rem; }

.forma-opcoes { display:flex; gap:8px; margin-bottom:1.25rem; }
.forma-opcao {
    flex:1; border:2px solid var(--border); border-radius:10px; padding:10px 8px;
    text-align:center; cursor:pointer; font-size:.82rem; color:var(--muted);
    background:var(--bg3); transition:border-color .2s, color .2s; user-select:none;
}
.forma-opcao.ativo { border-color:var(--accent); color:var(--accent); background:rgba(255,85,51,.08); font-weight:600; }
.forma-opcao span { display:block; font-size:1.3rem; margin-bottom:4px; }

.campo-grupo { margin-bottom:1rem; }
.campo-grupo label { display:block; font-size:.82rem; color:var(--muted); margin-bottom:6px; font-weight:500; }
.campo-grupo input {
    width:100%; padding:12px 14px; border:1px solid var(--border);
    border-radius:10px; background:var(--bg3); color:var(--text);
    font-size:.9rem; font-family:inherit; box-sizing:border-box;
    transition:border-color .2s;
}
.campo-grupo input:focus { outline:none; border-color:var(--accent); }
.campo-grupo input:disabled { opacity:.6; cursor:not-allowed; }
.campos-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }

.cep-wrap { position:relative; }
.cep-wrap input { padding-right:44px; }
.btn-cep {
    position:absolute; right:8px; top:50%; transform:translateY(-50%);
    background:none; border:none; cursor:pointer; font-size:1.2rem;
    padding:4px; color:var(--accent); transition:transform .2s;
}
.btn-cep:hover { transform:translateY(-50%) scale(1.15); }
.btn-cep.loading { animation:spin .8s linear infinite; }
@keyframes spin { to { transform:translateY(-50%) rotate(360deg); } }

.aviso-cpf {
    background:rgba(255,85,51,.06); border:1px solid rgba(255,85,51,.2);
    border-radius:10px; padding:1rem; margin-bottom:1rem;
    font-size:.8rem; color:var(--muted); line-height:1.6;
    display:flex; gap:10px; align-items:flex-start;
}
.aviso-cpf strong { color:var(--text); }

.aviso-asaas {
    background:rgba(16,185,129,.06); border:1px solid rgba(16,185,129,.2);
    border-radius:10px; padding:1rem; margin-bottom:1.25rem;
    font-size:.8rem; color:var(--muted); line-height:1.6;
    display:flex; gap:10px; align-items:flex-start;
}
.aviso-asaas strong { color:var(--text); }

.resumo-linha { display:flex; justify-content:space-between; font-size:.9rem; color:var(--muted); margin-bottom:.5rem; }
.resumo-linha.total { font-family:Syne,sans-serif; font-weight:700; color:var(--text); font-size:1rem; margin-top:.75rem; padding-top:.75rem; border-top:1px solid var(--border); }
.resumo-linha.total span:last-child { color:var(--accent); }

.btn-pagar {
    width:100%; padding:16px; background:var(--accent); color:#fff; border:none;
    border-radius:12px; font-family:Syne,sans-serif; font-size:1.05rem; font-weight:700;
    cursor:pointer; transition:background .2s, transform .15s; margin-bottom:.75rem;
    display:flex; align-items:center; justify-content:center; gap:8px;
}
.btn-pagar:hover { background:var(--accent2); }
.btn-pagar:active { transform:scale(.98); }
.btn-pagar:disabled { opacity:.6; cursor:not-allowed; }

.seguranca-info { display:flex; align-items:center; justify-content:center; gap:6px; font-size:.78rem; color:var(--muted); text-align:center; margin-bottom:1rem; }
.msg-erro { color:#f87171; font-size:.85rem; text-align:center; margin-top:.5rem; min-height:18px; }
.divisor-cartao { font-size:.78rem; color:var(--muted); margin:1rem 0 .75rem; padding-top:.75rem; border-top:1px solid var(--border); font-weight:500; }

.pix-result { display:none; margin-top:1.25rem; padding-top:1.25rem; border-top:1px solid var(--border); text-align:center; }
.pix-result p { font-size:.85rem; color:var(--muted); margin-bottom:1rem; }
.pix-result img { width:200px; height:200px; border-radius:12px; margin-bottom:1rem; border:1px solid var(--border); }
.pix-copia-cola { background:var(--bg3); border:1px solid var(--border2); border-radius:8px; padding:10px 14px; display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:.75rem; word-break:break-all; }
.pix-copia-cola span { font-family:monospace; font-size:.75rem; color:var(--text); text-align:left; }
.btn-copiar { background:var(--accent); color:#fff; border:none; border-radius:6px; padding:6px 12px; font-size:.78rem; font-weight:600; cursor:pointer; flex-shrink:0; }
.pix-aviso { font-size:.78rem; color:var(--muted); line-height:1.6; }

.boleto-result { display:none; margin-top:1.25rem; padding-top:1.25rem; border-top:1px solid var(--border); text-align:center; }
.btn-boleto { display:inline-block; margin-top:1rem; padding:12px 28px; background:var(--accent); color:#fff; border-radius:10px; font-family:Syne,sans-serif; font-weight:700; font-size:.9rem; text-decoration:none; }

.cartao-sucesso { display:none; margin-top:1.25rem; padding-top:1.25rem; border-top:1px solid var(--border); text-align:center; }
.cartao-sucesso span { font-size:3rem; display:block; margin-bottom:.75rem; }

.sucesso-wrap { min-height:80vh; display:flex; align-items:center; justify-content:center; padding:2rem; }
.sucesso-inner { text-align:center; max-width:480px; }
.sucesso-icone { font-size:5rem; display:block; margin-bottom:1rem; }
.sucesso-card { background:var(--surface); border:1px solid var(--border2); border-radius:var(--radius-lg); padding:1.5rem; margin-bottom:2rem; }
.sucesso-btns { display:flex; flex-direction:column; gap:.75rem; max-width:300px; margin:0 auto; }
.btn-sucesso-primario { display:block; padding:14px 36px; background:var(--accent); color:#fff; border-radius:12px; font-family:Syne,sans-serif; font-weight:700; font-size:1rem; text-decoration:none; }
.btn-sucesso-secundario { display:block; padding:12px 36px; background:transparent; color:var(--muted); border:1px solid var(--border2); border-radius:12px; font-family:Syne,sans-serif; font-weight:600; font-size:.9rem; text-decoration:none; }

@media (max-width: 480px) {
    .checkout-wrap { padding:1.5rem 1rem; }
    .campos-row { grid-template-columns:1fr; }
}