/* Card theme vars come from a nonced <style> on html/body (see smart-page layout). */
.smart-page-body {
    margin: 0;
    min-height: 100vh;
    background: var(--bg);
    color: var(--text);
    color-scheme: inherit;
}
.smart-page {
    width: min(440px, calc(100% - 32px));
    margin: 0 auto;
    padding: 48px 0 72px;
    display: flex;
    flex-direction: column;
    gap: 22px;
}
.smart-page-head { text-align: center; }
.smart-page-avatar {
    width: 96px; height: 96px; border-radius: 50%; object-fit: cover; display: block; margin: 0 auto 16px;
    border: 1px solid var(--line); background: var(--surface);
}
.smart-page-avatar-empty {
    display: grid; place-items: center; font-size: 36px; font-weight: 700; color: var(--muted);
}
.smart-page h1 { margin: 0; font-size: 28px; letter-spacing: -.04em; }
.smart-page-tagline { margin: 8px 0 0; color: var(--muted); font-size: 15px; }
.smart-page-bio { margin: 12px 0 0; font-size: 15px; line-height: 1.55; color: var(--text); }

.smart-page-actions, .smart-page-links { display: flex; flex-direction: column; gap: 10px; }
.smart-btn, .smart-page-links a {
    display: block; text-align: center; padding: 14px 16px; border-radius: 16px;
    border: 1px solid var(--line); background: var(--surface); color: var(--text);
    font-weight: 650; text-decoration: none;
}
.smart-btn-accent, .smart-page-links a { background: var(--accent); color: var(--accent-text); border-color: transparent; }
.smart-page-links a { background: var(--accent); color: var(--accent-text); }
.smart-btn:hover, .smart-page-links a:hover { transform: translateY(-1px); }

.smart-page-meta { display: flex; flex-direction: column; gap: 12px; font-size: 14px; }
.smart-page-meta a, .smart-page-meta p { margin: 0; color: var(--muted); text-align: center; }
.smart-iban {
    padding: 14px 16px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); text-align: center;
}
.smart-iban span { display: block; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.smart-iban strong { display: block; margin: 6px 0 10px; font-size: 15px; letter-spacing: .02em; word-break: break-all; }
.smart-copy {
    border: 0; background: transparent; color: var(--text); font: inherit; font-size: 13px; font-weight: 650;
    text-decoration: underline; cursor: pointer;
}
.smart-social { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 0; padding: 0; list-style: none; }
.smart-social a { color: var(--text); font-weight: 650; }

.smart-page-qr { margin: 8px auto 0; text-align: center; }
.smart-page-qr svg { width: 140px; height: 140px; border-radius: 16px; background: #fff; }
.smart-page-qr figcaption { margin-top: 8px; color: var(--muted); font-size: 12px; }
