/* Cartão de visita digital: complementos ao tools.css */
.cv-intro{margin:0 0 20px}
.cv-signup{font-size:.8125rem;line-height:1.1875rem;color:var(--g600);margin-top:2px}
.cv-signup a{color:var(--brand);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.cv-signup a:hover{color:var(--brand-600)}
.upl .tx{min-width:0}
.upl .tx>span{overflow-wrap:anywhere}

/* Cor do cartão (Azul ou Branco, como no antigo) */
.cv-cores{display:flex;flex-wrap:wrap;gap:10px;border:0;padding:0;margin:0;min-width:0}
.cv-cor{position:relative;display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 16px 0 12px;border:1px solid var(--g200);border-radius:10px;background:#fff;font-size:.9375rem;font-weight:500;color:var(--ink-2);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.cv-cor:hover{border-color:var(--g300)}
.cv-cor input{position:absolute;opacity:0;width:1px;height:1px}
.cv-cor:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
.cv-cor:has(input:focus-visible){outline:3px solid var(--brand);outline-offset:2px}
.cv-amostra{width:22px;height:22px;border-radius:50%;flex:none;box-shadow:inset 0 0 0 1px rgba(11,18,32,.12)}
.cv-amostra-azul{background:var(--brand)}
.cv-amostra-branco{background:#fff;box-shadow:inset 0 0 0 1px var(--g300)}

/* Prévia */
.cv-out{padding:24px}
.cv-page{width:100%;max-width:380px;margin:0 auto;aspect-ratio:595.28/841.89;border-radius:6px;overflow:hidden;box-shadow:0 1px 2px rgba(11,18,32,.08),0 12px 32px -12px rgba(11,18,32,.22);background:#fff}
.cv-page canvas{display:block;width:100%;height:100%}
.cv-cap{margin-top:14px;text-align:center;font-size:.8125rem;line-height:1.1875rem;color:var(--g500)}
.cv-side .ta-actions{justify-content:center}

@media (max-width:860px){
  .cv-out{padding:16px}
  .cv-side .ta-actions .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){.cv-cor{transition:none}}
