/* Digital business card (/card). Mobile-first; uses variables from style.css. */
.card-body { background:var(--grad-hero); min-height:100vh; }
.card-wrap { max-width:480px; margin:0 auto; padding:20px 16px 40px; display:flex; flex-direction:column; gap:16px; }
.card-panel { background:var(--surface); border:1px solid var(--border-2); border-radius:var(--radius-lg); padding:24px 20px; }
.card-logo { display:flex; justify-content:center; margin-bottom:20px; }
.card-logo .brand-logo-img { height:44px; width:auto; max-width:100%; }
.founders { display:flex; gap:12px; margin-bottom:16px; }
.founder { flex:1 1 0; min-width:0; text-align:center; }
.founder h1 { font-size:1.25rem; line-height:1.2; margin:0; overflow-wrap:anywhere; }
.founder p { color:var(--violet-2); font-size:0.8125rem; font-weight:600; margin-top:4px; }
.card-desc { text-align:center; color:var(--text-2); font-size:0.9375rem; margin-bottom:20px; }
.card-actions { display:flex; flex-direction:column; gap:10px; }
.card-btn { display:flex; align-items:center; justify-content:center; width:100%; min-height:48px; padding:12px 16px; border-radius:var(--radius); font:inherit; font-size:1rem; font-weight:600; text-align:center; cursor:pointer; border:1px solid var(--border-2); color:var(--text); background:var(--surface-2); }
.card-btn-wa { background:var(--grad-violet); color:#fff; border-color:transparent; min-height:56px; box-shadow:0 4px 24px var(--violet-glow); }
.card-btn-alt:hover { background:rgba(255,255,255,0.1); }
.card-btn:disabled { opacity:0.6; cursor:default; }
.card-social { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:16px; }
.card-social a { display:flex; align-items:center; justify-content:center; min-height:44px; border:1px solid var(--border); border-radius:var(--radius); color:var(--text-2); font-size:0.9375rem; }
.card-social a:hover { color:var(--text); border-color:var(--border-2); }
.card-panel h2 { font-size:1.25rem; margin-bottom:6px; }
.card-hint { color:var(--text-3); font-size:0.8125rem; margin:4px 0 10px; }
#card-form label { display:block; font-size:0.8125rem; color:var(--text-2); margin:12px 0 6px; }
#card-form input, #card-form textarea { display:block; width:100%; min-height:44px; padding:10px 12px; background:var(--bg-3); color:var(--text); border:1px solid var(--border-2); border-radius:var(--radius-sm); font:inherit; font-size:1rem; }
#card-form input:focus, #card-form textarea:focus { outline:none; border-color:var(--violet-2); }
#card-form textarea { resize:vertical; }
#card-form .card-btn { margin-top:18px; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.card-status { margin-top:12px; font-size:0.9375rem; min-height:1.4em; }
.card-status.ok { color:var(--green); }
.card-status.err { color:var(--red); }
.card-qr { text-align:center; }
.card-qr img { margin:0 auto 8px; background:#fff; border-radius:8px; width:160px; height:160px; }
