/* ════════════════════════════════════════════════════════════════════
   BANCRED — DESIGN SYSTEM v3 (Cupertino × Golden Ratio × Hormozi)
   Inspirado em Apple HIG + Linear + Stripe + Untitled UI
   φ = 1.618 (proporção áurea aplicada em type/spacing)
   ═══════════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;500;600;700;800;900&family=Inter:wght@400;500;600;700;800&display=swap');

/* Body base universal — legibilidade 50+ */
body { font-size: 13.5px; }

/* Rodapé minimal universal do funil (só landing tem institucional) */
.bca-footer {
    text-align: center;
    padding: 28px 20px;
    font-size: 12.5px;
    color: var(--bc-ink-5);
    border-top: 0.5px solid var(--bc-line);
    background: var(--bc-surface);
    letter-spacing: -0.003em;
}

/* CTAs primários universais do funil (sobrescreve Tailwind bg-primary, bg-green-600, bg-blue-600) */
button[data-testid="button-continue"],
button[data-testid="button-continue-signature"],
button[data-testid="button-revisar-contrato"],
button[data-testid="button-checkout"],
button[data-testid="button-transfer"],
button#btn-continuar,
button#btnContinuar,
button#btnRevisar,
.next-step,
.bca-cta,
.bcc-cta,
.bcs-fin-cta,
.bcs-ccb-primary,
.bcs-sum-cta {
    background-color: #007AFF !important;
    background-image: none !important;
    color: #ffffff !important;
    border-radius: 8px !important;
}
button[data-testid="button-continue"]:hover,
button[data-testid="button-continue-signature"]:hover,
button[data-testid="button-revisar-contrato"]:hover,
button[data-testid="button-checkout"]:hover,
button[data-testid="button-transfer"]:hover,
button#btn-continuar:hover,
button#btnContinuar:hover,
button#btnRevisar:hover,
.next-step:hover:not(:disabled),
.bca-cta:hover,
.bcc-cta:hover,
.bcs-fin-cta:hover,
.bcs-ccb-primary:hover,
.bcs-sum-cta:hover {
    background-color: #0062CC !important;
}

:root {
    /* ─────────── COLOR (low chroma, sober) ─────────── */
    --bc-bg: #FCFCFC;
    --bc-surface: #FFFFFF;
    --bc-surface-2: #F5F5F7;
    --bc-surface-3: #EBEBEF;

    --bc-ink: #0A0A0A;
    --bc-ink-2: #1D1D1F;
    --bc-ink-3: #424245;
    --bc-ink-4: #6E6E73;
    --bc-ink-5: #86868B;
    --bc-ink-6: #AEAEB2;

    --bc-line: rgba(0, 0, 0, 0.08);
    --bc-line-strong: rgba(0, 0, 0, 0.12);

    /* Brand — single bold accent (Apple Blue) */
    --bc-brand: #0071E3;
    --bc-brand-hover: #0077ED;
    --bc-brand-pressed: #006EDB;
    --bc-brand-soft: #E1EFFF;
    --bc-brand-deep: #003D8F;

    /* Status (sutil, low saturation) */
    --bc-success: #00875A;
    --bc-success-soft: #E3FCEF;
    --bc-warning: #BF6800;
    --bc-warning-soft: #FFF6E1;
    --bc-error: #C9372C;
    --bc-error-soft: #FFEBE6;

    /* ─────────── TYPE SCALE — Golden Ratio (1.618) ─────────── */
    /* base 16, escala: 16 / 16×φ / 16×φ² etc */
    --bc-fs-12: 0.75rem;          /* 12px */
    --bc-fs-13: 0.8125rem;        /* 13px */
    --bc-fs-14: 0.875rem;         /* 14px */
    --bc-fs-16: 1rem;             /* 16px BASE */
    --bc-fs-19: 1.1875rem;        /* 19px ≈ 16×φ⁰·⁵ */
    --bc-fs-21: 1.3125rem;        /* 21px */
    --bc-fs-26: 1.625rem;         /* 26px ≈ 16×φ */
    --bc-fs-32: 2rem;             /* 32px */
    --bc-fs-42: 2.625rem;         /* 42px ≈ 16×φ² */
    --bc-fs-56: 3.5rem;           /* 56px */
    --bc-fs-68: 4.25rem;          /* 68px ≈ 16×φ³ */
    --bc-fs-90: 5.625rem;         /* 90px */

    /* ─────────── SPACING — Fibonacci (1,2,3,5,8,13,21,34,55,89) ─────────── */
    --bc-sp-1: 4px;
    --bc-sp-2: 8px;
    --bc-sp-3: 12px;
    --bc-sp-5: 20px;
    --bc-sp-8: 32px;
    --bc-sp-13: 52px;
    --bc-sp-21: 84px;
    --bc-sp-34: 136px;
    --bc-sp-55: 220px;

    /* ─────────── RADIUS (Apple's curvature) ─────────── */
    --bc-r-xs: 6px;
    --bc-r-sm: 10px;
    --bc-r: 14px;
    --bc-r-md: 18px;
    --bc-r-lg: 22px;
    --bc-r-xl: 28px;
    --bc-r-pill: 999px;

    /* ─────────── SHADOWS (depth, layered) ─────────── */
    --bc-elev-1:
        0 1px 1px 0 rgba(0,0,0,0.02),
        0 0 0 1px rgba(0,0,0,0.04);
    --bc-elev-2:
        0 2px 4px -1px rgba(0,0,0,0.04),
        0 4px 8px -2px rgba(0,0,0,0.04),
        0 0 0 1px rgba(0,0,0,0.04);
    --bc-elev-3:
        0 4px 8px -2px rgba(0,0,0,0.06),
        0 8px 16px -4px rgba(0,0,0,0.06),
        0 0 0 1px rgba(0,0,0,0.04);
    --bc-elev-4:
        0 8px 16px -4px rgba(0,0,0,0.08),
        0 16px 32px -8px rgba(0,0,0,0.10),
        0 0 0 1px rgba(0,0,0,0.04);
    --bc-elev-5:
        0 16px 32px -8px rgba(0,0,0,0.12),
        0 32px 64px -16px rgba(0,0,0,0.14),
        0 0 0 1px rgba(0,0,0,0.04);

    /* Apple's signature easing */
    --bc-ease: cubic-bezier(0.32, 0.72, 0, 1);
    --bc-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ════════ RESET / BASE ════════ */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html, body {
    font-family: 'Inter Tight', -apple-system, 'SF Pro Display', BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    color: var(--bc-ink);
    background: var(--bc-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'cv11', 'ss01', 'kern', 'liga';
    line-height: 1.45;
    text-rendering: optimizeLegibility;
}

/* ─── MOBILE FIXES GLOBAIS ───
   1. overflow-x hidden + max-width 100vw → bloqueia swipe lateral
   2. inputs com font-size >= 16px → impede iOS auto-zoom on focus
*/
html, body {
    overflow-x: hidden !important;
    width: 100%;
    max-width: 100vw;
    overscroll-behavior-x: contain;
}

@media (max-width: 768px) {
    /* iOS Safari faz auto-zoom em inputs com font-size < 16px ao focar.
       Forçar TODOS inputs/textarea/select a >= 16px no mobile elimina
       o zoom horrível ao tocar em qualquer campo. */
    input, textarea, select,
    input[type="text"], input[type="email"], input[type="tel"],
    input[type="password"], input[type="number"], input[type="search"] {
        font-size: 16px !important;
    }
}

/* ════════ TYPOGRAPHY (Apple HIG inspired) ════════ */
h1, h2, h3, h4, h5, h6,
.text-2xl, .text-3xl, .text-4xl, .text-5xl,
.font-bold, .font-semibold {
    font-family: 'Inter Tight', -apple-system, 'SF Pro Display', sans-serif !important;
    color: var(--bc-ink);
    letter-spacing: -0.022em;
    line-height: 1.05;
    font-weight: 700 !important;
}

h1, .text-4xl { font-size: var(--bc-fs-42) !important; font-weight: 800 !important; letter-spacing: -0.045em !important; line-height: 1.02 !important; }
h2, .text-3xl { font-size: var(--bc-fs-32) !important; font-weight: 700 !important; letter-spacing: -0.035em !important; line-height: 1.06 !important; }
h3, .text-2xl { font-size: var(--bc-fs-26) !important; font-weight: 700 !important; letter-spacing: -0.028em !important; line-height: 1.1 !important; }
h4, .text-xl { font-size: var(--bc-fs-21) !important; font-weight: 600 !important; letter-spacing: -0.022em !important; line-height: 1.2 !important; }
.text-lg { font-size: var(--bc-fs-19) !important; line-height: 1.4 !important; }

p, span, div, label, li, a {
    font-family: 'Inter Tight', -apple-system, sans-serif !important;
}

/* eyebrow text (apple uses these a lot) */
.eyebrow {
    font-size: var(--bc-fs-12);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bc-brand);
}

/* secondary text colors */
.text-muted-foreground, .text-gray-500, .text-gray-600,
.text-slate-600, .text-slate-700, .text-muted, .text-gray-700 {
    color: var(--bc-ink-3) !important;
}

.text-gray-400, .text-slate-400, .text-slate-500, .text-gray-300 {
    color: var(--bc-ink-5) !important;
}

/* ════════ HEADER (estática, fundo sólido) ════════ */
header, header.bg-white {
    background: var(--bc-bg) !important;
    border-bottom: 0.5px solid var(--bc-line) !important;
    position: static !important;
    box-shadow: none !important;
}

header > div, header .container {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}

header .text-primary,
header .text-xl.font-bold,
header .text-2xl.font-bold {
    color: var(--bc-ink) !important;
    font-weight: 700 !important;
    font-size: var(--bc-fs-19) !important;
    letter-spacing: -0.025em !important;
}

/* Logo: gradient bold premium */
header .border-primary,
header .w-8.h-8.border-2.border-primary {
    border: none !important;
    background: linear-gradient(135deg, var(--bc-ink) 0%, var(--bc-brand-deep) 100%) !important;
    box-shadow: 0 2px 8px -2px rgba(0,0,0,0.18), 0 0 0 1px rgba(255,255,255,0.06) inset;
    width: 32px !important;
    height: 32px !important;
    border-radius: 9px !important;
    overflow: hidden !important;
    position: relative;
}

header .border-primary > div:not(.absolute) {
    color: white !important;
    background: transparent !important;
    font-weight: 800 !important;
    font-family: 'Inter Tight', sans-serif !important;
    letter-spacing: -0.04em;
}

header .bg-primary\/10,
header .w-full.h-full.bg-primary\/10,
header .border-primary > div.bg-primary\/10,
header .border-primary > div.w-full.h-full.absolute {
    display: none !important;
    background: transparent !important;
}

header .border-primary .relative.z-10 {
    color: white !important;
    background: transparent !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

header .bg-accent {
    background: var(--bc-success) !important;
    width: 7px !important;
    height: 7px !important;
    top: -1px !important;
    right: -1px !important;
    box-shadow: 0 0 0 2px var(--bc-bg);
}

/* trust pill no header */
header .text-green-600 {
    color: var(--bc-ink-3) !important;
    background: var(--bc-surface-2);
    padding: 6px 11px !important;
    border-radius: var(--bc-r-pill);
    font-size: var(--bc-fs-12) !important;
    font-weight: 600 !important;
    border: none !important;
}

header .text-green-600 svg {
    color: var(--bc-success) !important;
    width: 13px !important;
    height: 13px !important;
}

/* ════════ BUTTONS (Apple HIG — pill-radius, subtle gradient) ════════ */
button, .btn {
    font-family: 'Inter Tight', sans-serif !important;
    font-feature-settings: 'cv11';
}

/* primário: azul iOS #007AFF */
button.bg-primary,
button.bg-blue-600, button.bg-blue-700,
button[class*="bg-gradient-to-r"][class*="from-blue"],
button[type="submit"]:not(.btn-secondary):not(.btn-ghost) {
    background: #007AFF !important;
    background-image: none !important;
    color: white !important;
    border: 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 14px -4px rgba(0,122,255,0.35), inset 0 1px 0 rgba(255,255,255,0.15) !important;
    font-weight: 600 !important;
    font-size: var(--bc-fs-16) !important;
    letter-spacing: -0.01em !important;
    padding: 14px 24px !important;
    transition: transform 0.32s var(--bc-ease), box-shadow 0.32s var(--bc-ease), background 0.2s ease !important;
    height: auto !important;
    min-height: 48px !important;
    text-transform: none !important;
    cursor: pointer !important;
}

button.bg-primary:hover:not(:disabled),
button.bg-blue-600:hover, button.bg-blue-700:hover,
button[class*="bg-gradient-to-r"][class*="from-blue"]:hover,
button[type="submit"]:hover {
    background: #0062CC !important;
    transform: translateY(-1.5px) !important;
    box-shadow: 0 8px 20px -6px rgba(0,122,255,0.45) !important;
}

button:active:not(:disabled) {
    transform: scale(0.98) !important;
    transition-duration: 0.06s !important;
}

/* success/green button — também vira azul iOS pra consistência */
button.bg-green-600, button.bg-green-500,
button[class*="bg-gradient"][class*="from-green"] {
    background: #007AFF !important;
    background-image: none !important;
    color: white !important;
    border: 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 14px -4px rgba(0,122,255,0.35), inset 0 1px 0 rgba(255,255,255,0.15) !important;
    font-weight: 600 !important;
    transition: all 0.32s var(--bc-ease) !important;
    min-height: 48px !important;
}

button.bg-green-600:hover, button.bg-green-500:hover {
    background: #0062CC !important;
    transform: translateY(-1.5px);
}

/* CTA Hero — idêntico ao /cpf .bcc-cta (azul iOS, radius 8px, 56px min-height) */
button.simular {
    background: #007AFF !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 14px -4px rgba(0,122,255,0.35), inset 0 1px 0 rgba(255,255,255,0.15) !important;
    font-weight: 600 !important;
    padding: 16px 24px !important;
    font-size: 16px !important;
    letter-spacing: -0.003em !important;
    min-height: 56px !important;
    transition: all 0.32s var(--bc-ease) !important;
    cursor: pointer !important;
}
button.simular:hover {
    background: #0062CC !important;
    transform: translateY(-1.5px);
    box-shadow: 0 8px 20px -6px rgba(0,122,255,0.45) !important;
}

button.simular:hover {
    background: var(--bc-surface-2) !important;
    transform: translateY(-2px) !important;
    box-shadow: var(--bc-elev-4) !important;
}

/* ════════ INPUTS (Apple form, large + clear) ════════ */
input[type="text"], input[type="email"], input[type="tel"],
input[type="password"], input[type="number"], input.flex,
textarea, select {
    border: 1.5px solid var(--bc-line-strong) !important;
    border-radius: var(--bc-r) !important;
    background: var(--bc-surface) !important;
    color: var(--bc-ink) !important;
    font-family: 'Inter Tight', sans-serif !important;
    font-size: var(--bc-fs-16) !important;
    padding: 12px 16px !important;
    box-shadow: none !important;
    transition: all 0.18s ease !important;
    height: auto !important;
    min-height: 52px !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

input::placeholder { color: var(--bc-ink-5) !important; }

input:focus, input.flex:focus, textarea:focus, select:focus {
    border-color: var(--bc-brand) !important;
    box-shadow: 0 0 0 4px var(--bc-brand-soft) !important;
    outline: none !important;
}

label {
    font-size: var(--bc-fs-13) !important;
    font-weight: 500 !important;
    color: var(--bc-ink-3) !important;
    margin-bottom: 6px !important;
    display: block;
    letter-spacing: -0.005em;
}

/* ════════ CARDS ════════ */
.shadcn-card, [class*="shadcn-card"], .bg-card {
    background: var(--bc-surface) !important;
    border-radius: var(--bc-r-lg) !important;
    border: 0.5px solid var(--bc-line) !important;
    box-shadow: var(--bc-elev-1) !important;
    transition: box-shadow 0.32s var(--bc-ease), transform 0.32s var(--bc-ease);
}

.shadcn-card:hover {
    box-shadow: var(--bc-elev-3) !important;
}

/* ════════ BG OVERRIDES ════════ */
.bg-muted, .bg-gray-50, .bg-slate-50 {
    background: var(--bc-bg) !important;
}

.bg-blue-50 {
    background: var(--bc-brand-soft) !important;
}

/* ════════ HERO LANDING — único e dramático (Apple-like) ════════ */
body[data-id="69b9d8c826b6f"] main > div > section:first-child,
body[data-id="69b9dd80c7530"] main > div > section:first-child {
    background: var(--bc-ink) !important;
    color: white !important;
    padding: 96px 20px 120px !important;
    position: relative;
    overflow: hidden;
}

body[data-id="69b9d8c826b6f"] main > div > section:first-child::before,
body[data-id="69b9dd80c7530"] main > div > section:first-child::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 60% 50% at 50% 0%, rgba(0, 113, 227, 0.35) 0%, transparent 60%),
        radial-gradient(circle at 10% 100%, rgba(0, 113, 227, 0.18) 0%, transparent 40%),
        radial-gradient(circle at 90% 100%, rgba(124, 58, 237, 0.10) 0%, transparent 40%);
    pointer-events: none;
}

/* mesh gradient sutil overlay */
body[data-id="69b9d8c826b6f"] main > div > section:first-child::after,
body[data-id="69b9dd80c7530"] main > div > section:first-child::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' /%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' /%3E%3C/svg%3E");
    pointer-events: none;
    opacity: 0.5;
    mix-blend-mode: overlay;
}

body[data-id="69b9d8c826b6f"] main > div > section:first-child > div,
body[data-id="69b9dd80c7530"] main > div > section:first-child > div {
    position: relative;
    z-index: 1;
}

/* heading hero */
body[data-id="69b9d8c826b6f"] main > div > section:first-child h1,
body[data-id="69b9d8c826b6f"] main > div > section:first-child .text-slate-900,
body[data-id="69b9dd80c7530"] main > div > section:first-child h1,
body[data-id="69b9dd80c7530"] main > div > section:first-child .text-slate-900 {
    color: white !important;
    font-family: 'Inter Tight', -apple-system, sans-serif !important;
    font-weight: 800 !important;
    font-size: clamp(2.5rem, 6vw, var(--bc-fs-68)) !important;
    letter-spacing: -0.05em !important;
    line-height: 0.98 !important;
    margin-bottom: 16px;
}

body[data-id="69b9d8c826b6f"] main > div > section:first-child .text-slate-700,
body[data-id="69b9d8c826b6f"] main > div > section:first-child .text-slate-600,
body[data-id="69b9d8c826b6f"] main > div > section:first-child .text-emerald-700,
body[data-id="69b9dd80c7530"] main > div > section:first-child .text-slate-700,
body[data-id="69b9dd80c7530"] main > div > section:first-child .text-slate-600 {
    color: rgba(255, 255, 255, 0.72) !important;
    font-weight: 400 !important;
    font-size: var(--bc-fs-19) !important;
    letter-spacing: -0.012em !important;
}

body[data-id="69b9d8c826b6f"] main > div > section:first-child .text-blue-600,
body[data-id="69b9dd80c7530"] main > div > section:first-child .text-blue-600 {
    color: #71BCFF !important;
    background: linear-gradient(180deg, #ABCFFF, #71BCFF);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* "nome sujo" / "score baixo" pills no hero */
body[data-id="69b9d8c826b6f"] .bg-yellow-200\/60,
body[data-id="69b9dd80c7530"] .bg-yellow-200\/60 {
    background: rgba(255, 255, 255, 0.10) !important;
    color: white !important;
    padding: 4px 12px !important;
    border-radius: var(--bc-r-pill) !important;
    border: 0.5px solid rgba(255, 255, 255, 0.18);
    font-weight: 500;
    backdrop-filter: blur(10px);
}

/* trust dots na base do hero */
body[data-id="69b9d8c826b6f"] main > div > section:first-child .text-sm.text-slate-600,
body[data-id="69b9dd80c7530"] main > div > section:first-child .text-sm.text-slate-600 {
    color: rgba(255, 255, 255, 0.6) !important;
}

body[data-id="69b9d8c826b6f"] main > div > section:first-child .w-2.h-2.rounded-full,
body[data-id="69b9dd80c7530"] main > div > section:first-child .w-2.h-2.rounded-full {
    width: 6px !important;
    height: 6px !important;
    min-width: 6px !important;
    min-height: 6px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
    box-shadow: 0 0 8px currentColor;
}

/* ════════ MODALIDADES (cards de oferta, Apple Card style) ════════ */
.shadcn-card.border-accent\/30,
.shadcn-card[class*="border-accent"] {
    border: 0 !important;
    background: linear-gradient(180deg, var(--bc-surface) 0%, var(--bc-brand-soft) 100%) !important;
    box-shadow:
        var(--bc-elev-3),
        0 0 0 2px var(--bc-brand) !important;
}

.bg-accent {
    background: var(--bc-ink) !important;
    color: white !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase;
    font-size: 10px !important;
    padding: 5px 12px !important;
    border-radius: var(--bc-r-pill) !important;
    box-shadow: var(--bc-elev-1);
}

.text-accent { color: var(--bc-brand) !important; }

.bg-accent\/10 {
    background: var(--bc-brand-soft) !important;
    color: var(--bc-brand-deep) !important;
    border-radius: var(--bc-r-pill) !important;
    padding: 5px 12px !important;
    font-weight: 600 !important;
    font-size: var(--bc-fs-12) !important;
}

.text-blue-600, .text-blue-700 { color: var(--bc-brand) !important; }

/* eyebrow pills "MODALIDADES" / "PROCESSO" */
.bg-white\/80 {
    background: var(--bc-surface) !important;
    border: 0.5px solid var(--bc-line) !important;
    box-shadow: var(--bc-elev-1) !important;
    color: var(--bc-ink-3) !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.08em !important;
    font-size: 10.5px !important;
    padding: 5px 11px !important;
    border-radius: var(--bc-r-pill) !important;
}

.bg-white\/80 .w-1\.5.h-1\.5,
.bg-white\/80 .w-2.h-2 {
    background: var(--bc-brand) !important;
    width: 5px !important;
    height: 5px !important;
}

/* ════════ "COMO FUNCIONA" cards ════════ */
.bg-blue-50.p-6.rounded-2xl {
    background: var(--bc-surface) !important;
    border: 0.5px solid var(--bc-line) !important;
    box-shadow: var(--bc-elev-1) !important;
    border-radius: var(--bc-r-lg) !important;
    transition: all 0.32s var(--bc-ease);
    padding: var(--bc-sp-8) !important;
}

.bg-blue-50.p-6.rounded-2xl:hover {
    transform: translateY(-3px);
    box-shadow: var(--bc-elev-3) !important;
}

.bg-blue-50.p-6.rounded-2xl svg.text-blue-500 {
    color: var(--bc-brand) !important;
    background: var(--bc-brand-soft) !important;
    padding: 12px !important;
    border-radius: var(--bc-r) !important;
    width: 52px !important;
    height: 52px !important;
}

/* ════════ FOOTER (sóbrio, Apple style) ════════ */
footer {
    background: var(--bc-ink) !important;
    color: var(--bc-ink-5) !important;
    padding: var(--bc-sp-13) var(--bc-sp-5) !important;
    border-top: 0;
}

footer .text-gray-400, footer .text-gray-500 {
    color: var(--bc-ink-5) !important;
    font-size: var(--bc-fs-13) !important;
    font-weight: 400 !important;
    letter-spacing: -0.005em !important;
}

/* ════════ PÁGINA APROVADO (calmo, premium banco) ════════ */
body[data-id="69b9dece96277"] section.bg-gradient-to-br,
body[data-id="69b9dece96277"] section[class*="from-green"] {
    background: var(--bc-bg) !important;
    padding: var(--bc-sp-13) var(--bc-sp-5) !important;
}

body[data-id="69b9dece96277"] .animate-float-slow,
body[data-id="69b9dece96277"] .animate-float-slow-delayed,
body[data-id="69b9dece96277"] .animate-float-medium,
body[data-id="69b9dece96277"] .animate-float-fast,
body[data-id="69b9dece96277"] section .absolute[class*="bg-green-400"],
body[data-id="69b9dece96277"] section .absolute.-top-20,
body[data-id="69b9dece96277"] section .absolute.-bottom-32,
body[data-id="69b9dece96277"] .ring-2.absolute,
body[data-id="69b9dece96277"] .ring-1.absolute {
    display: none !important;
}

body[data-id="69b9dece96277"] #aprovado .shadcn-card {
    box-shadow: var(--bc-elev-4) !important;
    border: 0.5px solid var(--bc-line) !important;
    background: var(--bc-surface) !important;
}

body[data-id="69b9dece96277"] .animate-scale,
body[data-id="69b9dece96277"] .animate-pulse,
body[data-id="69b9dece96277"] .animate-ring1,
body[data-id="69b9dece96277"] .animate-ring2,
body[data-id="69b9dece96277"] .animate-rotate,
body[data-id="69b9dece96277"] .animate-slow-up,
body[data-id="69b9dece96277"] .animate-left,
body[data-id="69b9dece96277"] .animate-right {
    animation: bcFadeIn 0.6s var(--bc-ease) backwards !important;
}

@keyframes bcFadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

body[data-id="69b9dece96277"] .w-24.h-24.bg-gradient-to-br.from-green-400 {
    width: 56px !important;
    height: 56px !important;
    background: var(--bc-success-soft) !important;
    border: 1.5px solid var(--bc-success) !important;
    box-shadow: 0 0 0 6px rgba(0, 135, 90, 0.06) !important;
}

body[data-id="69b9dece96277"] .h-14.w-14.text-white {
    width: 28px !important;
    height: 28px !important;
    color: var(--bc-success) !important;
}

body[data-id="69b9dece96277"] .text-green-600.font-bold.text-xl {
    color: var(--bc-success) !important;
    font-size: var(--bc-fs-13) !important;
    font-weight: 600 !important;
    background: var(--bc-success-soft) !important;
    padding: 4px 12px !important;
    border-radius: var(--bc-r-pill) !important;
    display: inline-block !important;
    margin-top: 8px;
    border: 0 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

body[data-id="69b9dece96277"] .bg-gradient-to-br.from-green-500.to-green-600 {
    background: var(--bc-ink) !important;
    background-image: none !important;
    box-shadow: var(--bc-elev-3) !important;
    border-radius: var(--bc-r-lg) !important;
    color: white !important;
    padding: var(--bc-sp-8) !important;
}

body[data-id="69b9dece96277"] .bg-gradient-to-br.from-green-500.to-green-600 .absolute.bg-white\/10 {
    display: none !important;
}

body[data-id="69b9dece96277"] .bg-gradient-to-br.from-green-500.to-green-600 *,
body[data-id="69b9dece96277"] .bg-gradient-to-br.from-green-500.to-green-600 .text-green-800,
body[data-id="69b9dece96277"] .bg-gradient-to-br.from-green-500.to-green-600 .text-4xl {
    color: white !important;
}

body[data-id="69b9dece96277"] .bg-gradient-to-br.from-green-500.to-green-600 .text-sm.font-medium,
body[data-id="69b9dece96277"] .bg-gradient-to-br.from-green-500.to-green-600 .text-sm.opacity-90 {
    color: rgba(255,255,255,0.6) !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 11px !important;
    font-weight: 600 !important;
}

body[data-id="69b9dece96277"] .text-4xl.font-bold {
    font-size: var(--bc-fs-56) !important;
    font-weight: 800 !important;
    letter-spacing: -0.05em !important;
    line-height: 1.05 !important;
}

body[data-id="69b9dece96277"] .lucide-sparkles { display: none !important; }

body[data-id="69b9dece96277"] .bg-green-50.border-2.border-green-200 {
    background: var(--bc-surface) !important;
    border: 0.5px solid var(--bc-line) !important;
    box-shadow: var(--bc-elev-1) !important;
    border-radius: var(--bc-r) !important;
}

body[data-id="69b9dece96277"] .text-green-600.font-medium {
    color: var(--bc-ink-4) !important;
    font-size: 11px !important;
    text-transform: uppercase;
    letter-spacing: 0.08em !important;
    font-weight: 600 !important;
}

body[data-id="69b9dece96277"] .text-green-800 {
    color: var(--bc-ink) !important;
}

body[data-id="69b9dece96277"] .bg-gradient-to-r.from-emerald-50,
body[data-id="69b9dece96277"] .bg-gradient-to-br.from-blue-50 {
    background: var(--bc-surface) !important;
    border: 0.5px solid var(--bc-line) !important;
}

body[data-id="69b9dece96277"] .text-emerald-600,
body[data-id="69b9dece96277"] .text-emerald-800,
body[data-id="69b9dece96277"] .text-blue-800,
body[data-id="69b9dece96277"] .text-blue-600 {
    color: var(--bc-ink-3) !important;
}

body[data-id="69b9dece96277"] .w-3.h-3.bg-blue-600 {
    background: var(--bc-brand) !important;
    width: 5px !important;
    height: 5px !important;
    min-height: 5px !important;
    min-width: 5px !important;
    margin-top: 9px !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
}

/* ════════ ALERTS ════════ */
.bg-yellow-50, .bg-orange-50 {
    background: var(--bc-warning-soft) !important;
    border: 0.5px solid #FFC472 !important;
    border-radius: var(--bc-r) !important;
}

.text-yellow-800, .text-orange-800,
.text-yellow-600, .text-orange-600 {
    color: var(--bc-warning) !important;
}

.bg-red-50 {
    background: var(--bc-error-soft) !important;
    border: 0.5px solid #FFA693 !important;
    border-radius: var(--bc-r) !important;
}

/* ════════ PROGRESS / STEPS ════════ */
.bg-blue-600.h-full, .bg-blue-500.h-full {
    background: var(--bc-brand) !important;
}

.w-8.h-8.rounded-full.bg-green-500 {
    background: var(--bc-success) !important;
    box-shadow: 0 0 0 4px rgba(0, 135, 90, 0.10);
}

.w-8.h-8.rounded-full.bg-primary {
    background: var(--bc-brand) !important;
    box-shadow: 0 0 0 4px rgba(0, 113, 227, 0.12);
}

/* ════════ STARS ════════ */
.text-yellow-500.fill-yellow-500 {
    color: #FFB100 !important;
    fill: #FFB100 !important;
}

/* ════════ UTILITIES + POLISH ════════ */
.rounded-xl, .rounded-2xl { border-radius: var(--bc-r-lg) !important; }
.rounded-lg { border-radius: var(--bc-r) !important; }
.rounded-md { border-radius: var(--bc-r-sm) !important; }
.rounded-full { border-radius: 9999px !important; }

a, button, input, .shadcn-card {
    transition: all 0.32s var(--bc-ease);
}

::selection {
    background: var(--bc-ink);
    color: white;
}

*:focus-visible {
    outline: 2px solid var(--bc-brand) !important;
    outline-offset: 3px !important;
    border-radius: var(--bc-r-sm) !important;
}

/* desabilitar animações cringe */
.animate-pulse, .animate-bounce, .animate-ping {
    animation: none !important;
}

/* loading spinner */
.animate-spin {
    animation: bcSpin 0.7s cubic-bezier(0.65, 0.05, 0.36, 1) infinite !important;
}

@keyframes bcSpin {
    to { transform: rotate(360deg); }
}

/* card stagger fade-in */
.shadcn-card { animation: bcCardIn 0.5s var(--bc-ease) backwards; }
.shadcn-card:nth-of-type(1) { animation-delay: 0.05s; }
.shadcn-card:nth-of-type(2) { animation-delay: 0.10s; }
.shadcn-card:nth-of-type(3) { animation-delay: 0.15s; }

@keyframes bcCardIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ════════ NEW COMPONENTS — exclusive Bancred classes ════════ */
.bc-section {
    padding: var(--bc-sp-21) var(--bc-sp-5);
    max-width: 1200px;
    margin: 0 auto;
}

.bc-section-tight {
    padding: var(--bc-sp-13) var(--bc-sp-5);
    max-width: 1200px;
    margin: 0 auto;
}

.bc-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: var(--bc-fs-12);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bc-brand);
    background: var(--bc-brand-soft);
    padding: 5px 12px;
    border-radius: var(--bc-r-pill);
    margin-bottom: var(--bc-sp-3);
}

.bc-h1 {
    font-size: clamp(2.5rem, 6vw, var(--bc-fs-68));
    font-weight: 800;
    letter-spacing: -0.05em;
    line-height: 0.98;
    color: var(--bc-ink);
}

.bc-h2 {
    font-size: clamp(2rem, 4vw, var(--bc-fs-42));
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1.02;
    color: var(--bc-ink);
}

.bc-lead {
    font-size: var(--bc-fs-19);
    font-weight: 400;
    color: var(--bc-ink-3);
    letter-spacing: -0.012em;
    line-height: 1.5;
}

.bc-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--bc-ink);
    color: white !important;
    border: 0;
    border-radius: var(--bc-r-pill);
    padding: 14px 28px;
    font-size: var(--bc-fs-16);
    font-weight: 600;
    letter-spacing: -0.01em;
    cursor: pointer;
    transition: all 0.32s var(--bc-ease);
    box-shadow: var(--bc-elev-2), inset 0 1px 0 rgba(255,255,255,0.08);
    text-decoration: none;
}

.bc-btn-primary:hover {
    background: var(--bc-ink-2);
    transform: translateY(-1.5px);
    box-shadow: var(--bc-elev-3);
}

.bc-btn-primary svg {
    transition: transform 0.32s var(--bc-ease);
}

.bc-btn-primary:hover svg {
    transform: translateX(3px);
}

.bc-btn-light {
    background: white;
    color: var(--bc-ink);
    box-shadow: var(--bc-elev-3);
}

.bc-btn-light:hover {
    background: var(--bc-surface-2);
}

.bc-card {
    background: var(--bc-surface);
    border-radius: var(--bc-r-lg);
    padding: var(--bc-sp-8);
    box-shadow: var(--bc-elev-1);
    border: 0.5px solid var(--bc-line);
    transition: all 0.32s var(--bc-ease);
}

.bc-card:hover {
    box-shadow: var(--bc-elev-3);
    transform: translateY(-2px);
}

.bc-trust-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--bc-sp-5);
    padding: var(--bc-sp-5);
    color: var(--bc-ink-4);
    font-size: var(--bc-fs-13);
    font-weight: 500;
}

.bc-trust-bar > * {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* responsive */
@media (max-width: 640px) {
    h1, .text-4xl { font-size: var(--bc-fs-32) !important; }
    h2, .text-3xl { font-size: var(--bc-fs-26) !important; }
    .bc-h1 { font-size: 2.25rem; }
    .bc-h2 { font-size: 1.75rem; }
    body[data-id="69b9d8c826b6f"] main > div > section:first-child h1,
    body[data-id="69b9dd80c7530"] main > div > section:first-child h1 {
        font-size: clamp(2rem, 9vw, 2.5rem) !important;
    }
}

/* ════════════════════════════════════════════════════════════════════
   FUNNEL PAGES — Pessoa / Endereço / Credenciais / Simulação / Análise
   ═══════════════════════════════════════════════════════════════════ */

/* ───── Compartilhado: barra de progresso visual nos forms ───── */
body[data-id="69b9dd80c7530"] main,
body[data-id="69b9df5888dcb"] main,
body[data-id="69b9df6e21b0a"] main,
body[data-id="69b9db6f64cfb"] main {
    background: var(--bc-bg) !important;
}

body[data-id="69b9dd80c7530"] main section,
body[data-id="69b9df5888dcb"] main section,
body[data-id="69b9df6e21b0a"] main section,
body[data-id="69b9db6f64cfb"] main section {
    padding: var(--bc-sp-13) var(--bc-sp-3) !important;
    background: var(--bc-bg) !important;
}

/* card central premium */
body[data-id="69b9dd80c7530"] .shadcn-card,
body[data-id="69b9df5888dcb"] .shadcn-card,
body[data-id="69b9df6e21b0a"] .shadcn-card,
body[data-id="69b9db6f64cfb"] .shadcn-card {
    border-radius: var(--bc-r-xl) !important;
    box-shadow: var(--bc-elev-3) !important;
    border: 0.5px solid var(--bc-line) !important;
    overflow: hidden;
}

body[data-id="69b9dd80c7530"] .shadcn-card .p-6,
body[data-id="69b9df5888dcb"] .shadcn-card .p-6,
body[data-id="69b9df6e21b0a"] .shadcn-card .p-6,
body[data-id="69b9db6f64cfb"] .shadcn-card .p-6 {
    padding: 28px 24px !important;
}

/* títulos centrais — Cupertino tight */
body[data-id="69b9dd80c7530"] .text-2xl.font-semibold,
body[data-id="69b9df5888dcb"] .text-2xl.font-semibold,
body[data-id="69b9df6e21b0a"] .text-2xl.font-semibold,
body[data-id="69b9db6f64cfb"] .text-2xl.font-semibold {
    font-size: clamp(1.625rem, 4.5vw, 2rem) !important;
    font-weight: 700 !important;
    letter-spacing: -0.038em !important;
    line-height: 1.05 !important;
    color: var(--bc-ink) !important;
}

body[data-id="69b9dd80c7530"] .text-muted-foreground,
body[data-id="69b9df5888dcb"] .text-muted-foreground,
body[data-id="69b9df6e21b0a"] .text-muted-foreground,
body[data-id="69b9db6f64cfb"] .text-muted-foreground {
    color: var(--bc-ink-4) !important;
    font-size: var(--bc-fs-14) !important;
}

/* ───── PESSOA: dados verificados em verde → claro premium ───── */
body[data-id="69b9dd80c7530"] .bg-green-50.border-green-200 {
    background: var(--bc-surface-2) !important;
    border: 0.5px solid var(--bc-line) !important;
    border-radius: var(--bc-r) !important;
    padding: 12px 14px !important;
}

body[data-id="69b9dd80c7530"] .bg-green-100 {
    background: var(--bc-success-soft) !important;
    width: 32px !important;
    height: 32px !important;
}

body[data-id="69b9dd80c7530"] .text-green-600 { color: var(--bc-success) !important; }
body[data-id="69b9dd80c7530"] .text-green-800 {
    color: var(--bc-ink) !important;
    font-weight: 600 !important;
    font-size: var(--bc-fs-14) !important;
    letter-spacing: -0.01em !important;
}
body[data-id="69b9dd80c7530"] .text-green-500 { color: var(--bc-success) !important; }

/* check verde grande no topo */
body[data-id="69b9dd80c7530"] .w-16.h-16.bg-green-100 {
    width: 56px !important;
    height: 56px !important;
    background: var(--bc-success-soft) !important;
    border: 1.5px solid var(--bc-success) !important;
    box-shadow: 0 0 0 6px rgba(0, 135, 90, 0.06);
}

body[data-id="69b9dd80c7530"] .w-16.h-16.bg-green-100 svg {
    color: var(--bc-success) !important;
    width: 24px !important;
    height: 24px !important;
}

/* botão "Garantir Meu Dinheiro!" mais agressivo */
body[data-id="69b9dd80c7530"] button[data-testid="button-continue"] {
    background: var(--bc-ink) !important;
    color: white !important;
    font-size: var(--bc-fs-16) !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    border-radius: var(--bc-r-pill) !important;
    min-height: 56px !important;
    margin-top: 8px;
    box-shadow: var(--bc-elev-3), inset 0 1px 0 rgba(255,255,255,0.08) !important;
}

/* (setinha removida — botão "Garantir Meu Dinheiro!" sem ::after) */

/* ───── ENDEREÇO ───── */
body[data-id="69b9df5888dcb"] button[data-testid="button-finish"] {
    background: var(--bc-ink) !important;
    color: white !important;
    border-radius: var(--bc-r-pill) !important;
    min-height: 56px !important;
    font-size: var(--bc-fs-16) !important;
    font-weight: 600 !important;
    margin-top: var(--bc-sp-3);
    box-shadow: var(--bc-elev-2) !important;
}

body[data-id="69b9df5888dcb"] button[data-testid="button-finish"]:disabled {
    background: var(--bc-ink-6) !important;
    box-shadow: none !important;
    opacity: 1 !important;
}

body[data-id="69b9df5888dcb"] .text-red-500 {
    color: var(--bc-error) !important;
    font-size: var(--bc-fs-13) !important;
    margin-top: 6px;
    display: block;
}

/* ───── CREDENCIAIS ───── */
body[data-id="69b9df6e21b0a"] button[data-testid="button-continue"] {
    background: var(--bc-ink) !important;
    color: white !important;
    border-radius: var(--bc-r-pill) !important;
    min-height: 56px !important;
    font-size: var(--bc-fs-16) !important;
    font-weight: 600 !important;
    box-shadow: var(--bc-elev-3) !important;
}

body[data-id="69b9df6e21b0a"] [data-testid="button-toggle-password"] svg {
    color: var(--bc-ink-4) !important;
    width: 18px !important;
    height: 18px !important;
}

/* ───── SIMULAÇÃO (multi-step) ───── */
body[data-id="69b9db6f64cfb"] .bg-secondary {
    background: var(--bc-surface-3) !important;
    height: 5px !important;
    border-radius: 999px !important;
}

body[data-id="69b9db6f64cfb"] .bg-primary,
body[data-id="69b9db6f64cfb"] #progress-bar {
    background: #007AFF !important;
}

/* opções selecionáveis (motivo, ocupação, etc.) */
body[data-id="69b9db6f64cfb"] .options > div {
    border: 1.5px solid var(--bc-line) !important;
    border-radius: var(--bc-r) !important;
    padding: 16px !important;
    transition: all 0.18s var(--bc-ease) !important;
    background: var(--bc-surface) !important;
}

body[data-id="69b9db6f64cfb"] .options > div:hover {
    border-color: var(--bc-ink-4) !important;
    transform: translateY(-1px);
    box-shadow: var(--bc-elev-2) !important;
}

body[data-id="69b9db6f64cfb"] .options > div.selected {
    border-color: #007AFF !important;
    background: var(--bc-surface) !important;
    box-shadow: 0 0 0 3px rgba(0,122,255,0.14), var(--bc-elev-2) !important;
}

body[data-id="69b9db6f64cfb"] .options svg {
    color: var(--bc-ink-3) !important;
    transition: color 0.18s ease;
}

body[data-id="69b9db6f64cfb"] .options > div:hover svg,
body[data-id="69b9db6f64cfb"] .options > div.selected svg {
    color: var(--bc-brand) !important;
}

body[data-id="69b9db6f64cfb"] .options span.text-sm.font-medium {
    color: var(--bc-ink) !important;
    font-weight: 600 !important;
    font-size: var(--bc-fs-14) !important;
    letter-spacing: -0.01em;
}

body[data-id="69b9db6f64cfb"] .next-step,
body[data-id="69b9db6f64cfb"] button[data-testid="button-continue"] {
    background: #007AFF !important;
    color: white !important;
    border-radius: 8px !important;
    min-height: 56px !important;
    font-size: var(--bc-fs-16) !important;
    font-weight: 600 !important;
    box-shadow: var(--bc-elev-3) !important;
    flex: 1;
}

body[data-id="69b9db6f64cfb"] .next-step:disabled {
    background: var(--bc-ink-6) !important;
    box-shadow: none !important;
}

body[data-id="69b9db6f64cfb"] #title-step {
    font-size: clamp(1.625rem, 4vw, 2rem) !important;
    font-weight: 700 !important;
    letter-spacing: -0.035em !important;
    line-height: 1.06 !important;
}

body[data-id="69b9db6f64cfb"] #desc-step {
    color: var(--bc-ink-4) !important;
    font-size: var(--bc-fs-14) !important;
    margin-top: 6px;
}

/* ───── ANÁLISE (em andamento) ───── */
body[data-id="69b9dec138273"] main {
    background: var(--bc-bg) !important;
}

body[data-id="69b9dec138273"] .rounded-2xl.bg-white {
    border-radius: var(--bc-r-xl) !important;
    box-shadow: var(--bc-elev-4) !important;
    border: 0.5px solid var(--bc-line);
    padding: 36px 28px !important;
}

body[data-id="69b9dec138273"] .bg-blue-100 {
    background: var(--bc-brand-soft) !important;
    border-radius: 999px !important;
    padding: 18px !important;
}

body[data-id="69b9dec138273"] .h-12.w-12.text-blue-600 {
    color: var(--bc-brand) !important;
    width: 36px !important;
    height: 36px !important;
}

body[data-id="69b9dec138273"] h1.text-2xl {
    font-size: var(--bc-fs-26) !important;
    font-weight: 700 !important;
    letter-spacing: -0.028em !important;
    color: var(--bc-ink) !important;
    margin-top: var(--bc-sp-3);
}

body[data-id="69b9dec138273"] .h-2.bg-gray-200 {
    background: var(--bc-surface-3) !important;
    height: 5px !important;
    border-radius: 999px !important;
}

body[data-id="69b9dec138273"] .bg-blue-600 {
    background: var(--bc-ink) !important;
}

body[data-id="69b9dec138273"] #progressText {
    color: var(--bc-ink) !important;
    font-size: var(--bc-fs-26) !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
    font-variant-numeric: tabular-nums;
    margin-top: 6px;
}

body[data-id="69b9dec138273"] .rounded-xl.bg-blue-50,
body[data-id="69b9dec138273"] .rounded-xl.bg-green-50,
body[data-id="69b9dec138273"] .rounded-xl.bg-gray-50 {
    border-radius: var(--bc-r) !important;
    border: 0.5px solid var(--bc-line) !important;
    background: var(--bc-surface) !important;
    padding: 12px 14px !important;
}

body[data-id="69b9dec138273"] .bg-blue-50.border-blue-200 {
    border-color: var(--bc-brand) !important;
    background: var(--bc-brand-soft) !important;
}

body[data-id="69b9dec138273"] .bg-green-50.border-green-200 {
    border-color: var(--bc-success) !important;
    background: var(--bc-success-soft) !important;
}

body[data-id="69b9dec138273"] .h-8.w-8.bg-blue-500 {
    background: var(--bc-brand) !important;
}

body[data-id="69b9dec138273"] .h-8.w-8.bg-green-500 {
    background: var(--bc-success) !important;
}

body[data-id="69b9dec138273"] .h-8.w-8.bg-gray-300 {
    background: var(--bc-surface-3) !important;
}

body[data-id="69b9dec138273"] .text-blue-700 { color: var(--bc-brand-deep) !important; font-weight: 600 !important; }
body[data-id="69b9dec138273"] .text-green-700 { color: var(--bc-success) !important; font-weight: 600 !important; }

/* Card central premium ─ análise */
body[data-id="69b9dec138273"] .rounded-2xl.bg-white.p-8 {
    border-radius: 24px !important;
    padding: 40px 32px !important;
    box-shadow:
        0 4px 8px -2px rgba(0,0,0,0.06),
        0 16px 32px -8px rgba(0,0,0,0.10),
        0 0 0 1px rgba(0,0,0,0.04) !important;
    border: 0.5px solid var(--bc-line) !important;
}

body[data-id="69b9dec138273"] .rounded-full.bg-blue-100.p-4 {
    width: 56px; height: 56px;
    padding: 0 !important;
    background: var(--bc-brand-soft) !important;
    border-radius: 16px !important;
    display: flex; align-items: center; justify-content: center;
}

body[data-id="69b9dec138273"] .rounded-full.bg-blue-100.p-4 svg {
    width: 26px !important; height: 26px !important;
    color: var(--bc-brand) !important;
}

/* Steps em linha minimal — bordas zero, só checks animados */
body[data-id="69b9dec138273"] .space-y-3 > div > div {
    background: transparent !important;
    border: 0 !important;
    padding: 8px 0 !important;
    border-radius: 0 !important;
    border-bottom: 0.5px solid var(--bc-line) !important;
}

body[data-id="69b9dec138273"] .space-y-3 > div:last-child > div {
    border-bottom: 0 !important;
}

body[data-id="69b9dec138273"] .space-y-3 .h-8.w-8 {
    width: 22px !important; height: 22px !important;
    border-radius: 50% !important;
    flex-shrink: 0;
}

body[data-id="69b9dec138273"] .space-y-3 .h-8.w-8 svg {
    width: 12px !important; height: 12px !important;
    stroke-width: 3 !important;
}

body[data-id="69b9dec138273"] .space-y-3 .h-8.w-8.bg-gray-300 {
    background: var(--bc-surface-3) !important;
}

body[data-id="69b9dec138273"] .space-y-3 .h-8.w-8.bg-blue-500 {
    background: var(--bc-brand) !important;
    box-shadow: 0 0 0 3px rgba(0,113,227,0.14);
}

body[data-id="69b9dec138273"] .space-y-3 .h-8.w-8.bg-green-500 {
    background: var(--bc-success) !important;
    box-shadow: 0 0 0 3px rgba(0,135,90,0.14);
}

body[data-id="69b9dec138273"] .space-y-3 span.text-sm.font-medium {
    font-size: 13.5px !important;
    font-weight: 500 !important;
    letter-spacing: -0.005em !important;
}

body[data-id="69b9dec138273"] .text-gray-400 { color: var(--bc-ink-5) !important; }

/* Barra de progresso — gradient + glow */
body[data-id="69b9dec138273"] #progressBar {
    background: linear-gradient(90deg, var(--bc-brand) 0%, var(--bc-ink) 100%) !important;
    box-shadow: 0 0 8px rgba(0,113,227,0.25);
    border-radius: 999px;
}

body[data-id="69b9dec138273"] .h-2.bg-gray-200 {
    height: 4px !important;
    background: var(--bc-surface-3) !important;
    border-radius: 999px !important;
}

body[data-id="69b9dec138273"] #progressText {
    color: var(--bc-ink) !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
    font-variant-numeric: tabular-nums;
    margin-top: 8px;
}

body[data-id="69b9dec138273"] h1.text-2xl {
    font-size: 22px !important;
    font-weight: 700 !important;
    letter-spacing: -0.028em !important;
    margin-top: 8px !important;
}

body[data-id="69b9dec138273"] .text-gray-600 {
    color: var(--bc-ink-4) !important;
    font-size: 13.5px !important;
}

body[data-id="69b9dec138273"] .h-2.w-2.bg-green-500 {
    background: var(--bc-success) !important;
    box-shadow: 0 0 0 2px rgba(0,135,90,0.18);
    animation: bcLiveDot 1.6s ease-in-out infinite;
}

/* ════════════════════════════════════════════════════════════════════
   CONFIGURANDO-CONTA — overlay de loading
   ═══════════════════════════════════════════════════════════════════ */
body[data-id="69b9df99deda3"] .min-h-screen {
    background: var(--bc-ink) !important;
    background-image:
        radial-gradient(ellipse 50% 40% at 50% 30%, rgba(0,113,227,0.30) 0%, transparent 70%),
        radial-gradient(circle at 80% 80%, rgba(0,113,227,0.15) 0%, transparent 50%) !important;
}

body[data-id="69b9df99deda3"] .lucide-loader-circle {
    width: 56px !important;
    height: 56px !important;
    color: white !important;
}

body[data-id="69b9df99deda3"] h1 {
    color: #1A1A1A !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    letter-spacing: -0.015em !important;
    margin-bottom: 8px !important;
}

body[data-id="69b9df99deda3"] .step-item {
    background: rgba(255,255,255,0.06);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 0.5px solid rgba(255,255,255,0.10);
    padding: 12px 16px !important;
    border-radius: var(--bc-r) !important;
}

body[data-id="69b9df99deda3"] .step-item .text-white {
    color: white !important;
    font-weight: 500 !important;
    font-size: var(--bc-fs-14) !important;
    letter-spacing: -0.01em;
}

body[data-id="69b9df99deda3"] .text-green-400 {
    color: #34D399 !important;
}

/* ════════════════════════════════════════════════════════════════════
   CONTA — dashboard rebuilt (estrutura .bcd-* — ver bloco no final do arquivo)
   ═══════════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════════════
   CONTA / SAQUE — flow PIX premium
   ═══════════════════════════════════════════════════════════════════ */
body[data-id="69b9e0b565928"] .min-h-screen.bg-gray-50 {
    background: var(--bc-bg) !important;
}

body[data-id="69b9e0b565928"] .bg-blue-600 {
    background: var(--bc-ink) !important;
    border-radius: 0 0 var(--bc-r-xl) var(--bc-r-xl);
    padding: 18px !important;
    position: relative;
    overflow: hidden;
}

body[data-id="69b9e0b565928"] .bg-blue-600::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 60% 80% at 50% 0%, rgba(0,113,227,0.25) 0%, transparent 70%);
    pointer-events: none;
}

body[data-id="69b9e0b565928"] .bg-blue-600 .text-white {
    color: white !important;
}

body[data-id="69b9e0b565928"] .bg-blue-600 .text-2xl.font-bold {
    color: white !important;
    font-size: var(--bc-fs-19) !important;
    letter-spacing: -0.025em !important;
    font-weight: 700 !important;
}

body[data-id="69b9e0b565928"] .bg-blue-600 .w-10.h-10.bg-white {
    background: white !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 9px !important;
}

body[data-id="69b9e0b565928"] .bg-blue-600 .text-blue-600.text-xl.font-bold {
    color: var(--bc-ink) !important;
    font-size: var(--bc-fs-14) !important;
    font-weight: 800 !important;
}

body[data-id="69b9e0b565928"] .bg-blue-600 .text-lg.font-semibold {
    color: white !important;
    font-size: var(--bc-fs-14) !important;
    font-weight: 500 !important;
}

/* card destaque "você está sacando" */
body[data-id="69b9e0b565928"] .bg-white.rounded-xl,
body[data-id="69b9e0b565928"] .bg-white.rounded-2xl {
    background: var(--bc-surface) !important;
    border: 0.5px solid var(--bc-line) !important;
    border-radius: var(--bc-r-lg) !important;
    box-shadow: var(--bc-elev-2) !important;
    padding: 24px !important;
}

body[data-id="69b9e0b565928"] #saldoAprovado {
    color: var(--bc-ink) !important;
    font-size: var(--bc-fs-42) !important;
    font-weight: 800 !important;
    letter-spacing: -0.045em !important;
    line-height: 1 !important;
    font-variant-numeric: tabular-nums;
    background: linear-gradient(180deg, var(--bc-ink) 0%, var(--bc-ink-3) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

body[data-id="69b9e0b565928"] .text-gray-600.text-sm.mb-2 {
    color: var(--bc-ink-4) !important;
    font-size: var(--bc-fs-12) !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600 !important;
}

body[data-id="69b9e0b565928"] .text-green-600 {
    color: var(--bc-success) !important;
    font-size: var(--bc-fs-13) !important;
    font-weight: 500 !important;
}

body[data-id="69b9e0b565928"] .w-2.h-2.bg-green-500 {
    background: var(--bc-success) !important;
    box-shadow: 0 0 0 3px rgba(0,135,90,0.15);
}

/* tipo de chave PIX (radios) */
body[data-id="69b9e0b565928"] h2.text-lg.font-semibold {
    color: var(--bc-ink) !important;
    font-size: var(--bc-fs-19) !important;
    font-weight: 700 !important;
    letter-spacing: -0.022em !important;
    margin-bottom: 12px;
}

body[data-id="69b9e0b565928"] label.flex.items-center.gap-3.cursor-pointer {
    padding: 12px 14px !important;
    border-radius: var(--bc-r) !important;
    border: 1.5px solid var(--bc-line) !important;
    background: var(--bc-surface) !important;
    transition: all 0.18s var(--bc-ease);
}

body[data-id="69b9e0b565928"] label.flex.items-center.gap-3.cursor-pointer:hover {
    border-color: var(--bc-ink-4) !important;
    background: var(--bc-surface-2) !important;
}

body[data-id="69b9e0b565928"] label.flex.items-center.gap-3.cursor-pointer:has(input:checked) {
    border-color: #007AFF !important;
    background: var(--bc-surface) !important;
    box-shadow: 0 0 0 3px rgba(0,122,255,0.12);
}

body[data-id="69b9e0b565928"] input[type="radio"] {
    width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    border: 1.5px solid var(--bc-ink-5) !important;
    background: var(--bc-surface) !important;
    border-radius: 50% !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    transition: all 0.18s ease;
    cursor: pointer;
}

body[data-id="69b9e0b565928"] input[type="radio"]:checked {
    border-color: #007AFF !important;
    background: #007AFF !important;
    box-shadow: inset 0 0 0 3.5px var(--bc-surface) !important;
}

body[data-id="69b9e0b565928"] label span {
    color: var(--bc-ink) !important;
    font-weight: 500 !important;
    font-size: var(--bc-fs-14) !important;
    letter-spacing: -0.01em;
}

body[data-id="69b9e0b565928"] #pixKeyInput,
body[data-id="69b9e0b565928"] #bankSearch {
    border: 1.5px solid var(--bc-line-strong) !important;
    border-radius: var(--bc-r) !important;
    height: auto !important;
    min-height: 52px !important;
    padding: 12px 16px !important;
    font-size: var(--bc-fs-16) !important;
    background: var(--bc-surface) !important;
}

body[data-id="69b9e0b565928"] #pixKeyInput:focus,
body[data-id="69b9e0b565928"] #bankSearch:focus {
    border-color: var(--bc-brand) !important;
    box-shadow: 0 0 0 4px var(--bc-brand-soft) !important;
}

body[data-id="69b9e0b565928"] #pixLabel {
    color: var(--bc-ink-3) !important;
    font-size: var(--bc-fs-13) !important;
    font-weight: 600 !important;
    margin-bottom: 6px !important;
    text-transform: none !important;
}

/* botão sacar grande */
body[data-id="69b9e0b565928"] #btnSacar {
    background: var(--bc-ink) !important;
    color: white !important;
    border-radius: var(--bc-r-pill) !important;
    height: 60px !important;
    font-size: var(--bc-fs-16) !important;
    font-weight: 600 !important;
    letter-spacing: -0.012em !important;
    box-shadow: var(--bc-elev-3), inset 0 1px 0 rgba(255,255,255,0.08) !important;
}

body[data-id="69b9e0b565928"] #btnSacar:hover {
    transform: translateY(-1.5px);
    box-shadow: var(--bc-elev-4), inset 0 1px 0 rgba(255,255,255,0.10) !important;
}

body[data-id="69b9e0b565928"] #amountSaque {
    font-weight: 800 !important;
    letter-spacing: -0.012em;
    font-variant-numeric: tabular-nums;
    margin-left: 4px;
}

/* tab bar */
body[data-id="69b9e0b565928"] .fixed.bottom-0 {
    background: rgba(252,252,252,0.85) !important;
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    border-top: 0.5px solid var(--bc-line) !important;
    padding: 12px 20px 24px !important;
}

body[data-id="69b9e0b565928"] .fixed.bottom-0 .text-blue-600 {
    color: var(--bc-brand) !important;
}

/* ════════════════════════════════════════════════════════════════════
   FINALIZAR ETAPA-1..7 — checkout / tarifa
   ═══════════════════════════════════════════════════════════════════ */
body[data-id="69b9fc0fb519a"] main,
body[data-id="69b9fc0fb519a"] section,
body[data-id="69ba083b49dab"] main,
body[data-id="69ba083b49dab"] section,
body[data-id="69ba08923fb21"] main,
body[data-id="69ba08923fb21"] section,
body[data-id="69ba08d8c8f52"] main,
body[data-id="69ba08d8c8f52"] section,
body[data-id="69ba0940e8d70"] main,
body[data-id="69ba0940e8d70"] section,
body[data-id="69ba0ab99294c"] main,
body[data-id="69ba0ab99294c"] section,
body[data-id="69ba0be70daf2"] main,
body[data-id="69ba0be70daf2"] section {
    background: var(--bc-bg) !important;
    padding: var(--bc-sp-13) var(--bc-sp-3) !important;
}

body[data-id="69b9fc0fb519a"] .bg-muted,
body[data-id="69ba083b49dab"] .bg-muted,
body[data-id="69ba08923fb21"] .bg-muted,
body[data-id="69ba08d8c8f52"] .bg-muted,
body[data-id="69ba0940e8d70"] .bg-muted,
body[data-id="69ba0ab99294c"] .bg-muted,
body[data-id="69ba0be70daf2"] .bg-muted {
    background: var(--bc-bg) !important;
}

/* "Falta Pouco, X!" — eyebrow + headline */
body[data-id="69b9fc0fb519a"] h1.text-2xl,
body[data-id="69ba083b49dab"] h1.text-2xl,
body[data-id="69ba08923fb21"] h1.text-2xl,
body[data-id="69ba08d8c8f52"] h1.text-2xl,
body[data-id="69ba0940e8d70"] h1.text-2xl,
body[data-id="69ba0ab99294c"] h1.text-2xl,
body[data-id="69ba0be70daf2"] h1.text-2xl {
    font-size: clamp(1.75rem, 5vw, 2.25rem) !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
    line-height: 1.05 !important;
    color: var(--bc-ink) !important;
}

body[data-id="69b9fc0fb519a"] .text-muted-foreground,
body[data-id="69ba083b49dab"] .text-muted-foreground,
body[data-id="69ba08923fb21"] .text-muted-foreground,
body[data-id="69ba08d8c8f52"] .text-muted-foreground,
body[data-id="69ba0940e8d70"] .text-muted-foreground,
body[data-id="69ba0ab99294c"] .text-muted-foreground,
body[data-id="69ba0be70daf2"] .text-muted-foreground {
    color: var(--bc-ink-3) !important;
    font-size: var(--bc-fs-14) !important;
    line-height: 1.5;
}

/* cards */
body[data-id="69b9fc0fb519a"] .shadcn-card,
body[data-id="69ba083b49dab"] .shadcn-card,
body[data-id="69ba08923fb21"] .shadcn-card,
body[data-id="69ba08d8c8f52"] .shadcn-card,
body[data-id="69ba0940e8d70"] .shadcn-card,
body[data-id="69ba0ab99294c"] .shadcn-card,
body[data-id="69ba0be70daf2"] .shadcn-card {
    border-radius: var(--bc-r-xl) !important;
    box-shadow: var(--bc-elev-2) !important;
    border: 0.5px solid var(--bc-line) !important;
    overflow: hidden;
}

/* progresso vertical */
body[data-id="69b9fc0fb519a"] .w-8.h-8.bg-green-500,
body[data-id="69ba083b49dab"] .w-8.h-8.bg-green-500,
body[data-id="69ba08923fb21"] .w-8.h-8.bg-green-500 {
    background: var(--bc-success) !important;
    box-shadow: 0 0 0 4px rgba(0,135,90,0.10);
}

body[data-id="69b9fc0fb519a"] .w-8.h-8.bg-primary,
body[data-id="69ba083b49dab"] .w-8.h-8.bg-primary,
body[data-id="69ba08923fb21"] .w-8.h-8.bg-primary {
    background: var(--bc-ink) !important;
    box-shadow: 0 0 0 4px rgba(10,10,10,0.08);
}

body[data-id="69b9fc0fb519a"] .w-8.h-8.bg-gray-300,
body[data-id="69ba083b49dab"] .w-8.h-8.bg-gray-300,
body[data-id="69ba08923fb21"] .w-8.h-8.bg-gray-300 {
    background: var(--bc-surface-3) !important;
    color: var(--bc-ink-5) !important;
}

body[data-id="69b9fc0fb519a"] .w-8.h-8.bg-gray-300 span,
body[data-id="69ba083b49dab"] .w-8.h-8.bg-gray-300 span {
    color: var(--bc-ink-5) !important;
}

body[data-id="69b9fc0fb519a"] .w-px.h-6.bg-gray-300,
body[data-id="69ba083b49dab"] .w-px.h-6.bg-gray-300 {
    background: var(--bc-line-strong) !important;
}

body[data-id="69b9fc0fb519a"] .text-green-600,
body[data-id="69ba083b49dab"] .text-green-600,
body[data-id="69ba08923fb21"] .text-green-600 {
    color: var(--bc-success) !important;
    font-weight: 600 !important;
}

body[data-id="69b9fc0fb519a"] .text-primary,
body[data-id="69ba083b49dab"] .text-primary,
body[data-id="69ba08923fb21"] .text-primary {
    color: var(--bc-ink) !important;
    font-weight: 600 !important;
}

body[data-id="69b9fc0fb519a"] .bg-blue-100.text-blue-600,
body[data-id="69ba083b49dab"] .bg-blue-100.text-blue-600 {
    background: var(--bc-ink) !important;
    color: white !important;
    font-size: 9.5px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    font-weight: 700 !important;
    padding: 3px 8px !important;
    border-radius: 999px !important;
}

/* alert amarelo "atenção" */
body[data-id="69b9fc0fb519a"] .bg-yellow-50.border-yellow-400 {
    background: #FFF6E1 !important;
    border-color: #FFC472 !important;
    border-left-width: 3px !important;
    border-radius: var(--bc-r) !important;
    padding: 14px 16px !important;
}

body[data-id="69b9fc0fb519a"] .text-yellow-800 {
    color: var(--bc-warning) !important;
    font-size: var(--bc-fs-13) !important;
    line-height: 1.45;
}

body[data-id="69b9fc0fb519a"] .text-yellow-600 {
    color: var(--bc-warning) !important;
}

/* preço destaque */
body[data-id="69b9fc0fb519a"] .text-2xl.font-bold.text-green-600 {
    color: var(--bc-ink) !important;
    font-size: clamp(2rem, 6vw, 2.625rem) !important;
    font-weight: 800 !important;
    letter-spacing: -0.045em !important;
    font-variant-numeric: tabular-nums;
    line-height: 1 !important;
}

/* botão pagar agora */
body[data-id="69b9fc0fb519a"] #btnPagar,
body[data-id="69ba083b49dab"] #btnPagar,
body[data-id="69ba08923fb21"] #btnPagar {
    background: var(--bc-ink) !important;
    color: white !important;
    border-radius: var(--bc-r-pill) !important;
    min-height: 60px !important;
    font-size: var(--bc-fs-16) !important;
    font-weight: 600 !important;
    box-shadow: var(--bc-elev-3) !important;
    margin-top: var(--bc-sp-3);
}

body[data-id="69b9fc0fb519a"] #btnPagar:hover,
body[data-id="69ba083b49dab"] #btnPagar:hover {
    background: var(--bc-ink-2) !important;
    transform: translateY(-1.5px);
    box-shadow: var(--bc-elev-4) !important;
}

/* FAQ */
body[data-id="69b9fc0fb519a"] .btn-faq,
body[data-id="69ba083b49dab"] .btn-faq {
    padding: 18px 20px !important;
    transition: all 0.18s ease;
}

body[data-id="69b9fc0fb519a"] .btn-faq span.font-medium,
body[data-id="69ba083b49dab"] .btn-faq span.font-medium {
    color: var(--bc-ink) !important;
    font-size: var(--bc-fs-14) !important;
    font-weight: 600 !important;
    letter-spacing: -0.012em !important;
}

body[data-id="69b9fc0fb519a"] .btn-faq:hover {
    background: var(--bc-surface-2) !important;
}

body[data-id="69b9fc0fb519a"] .btn-faq svg {
    color: var(--bc-ink-4) !important;
    transition: transform 0.32s var(--bc-ease);
}

body[data-id="69b9fc0fb519a"] .btn-faq[aria-expanded="true"] svg {
    transform: rotate(180deg);
}

body[data-id="69b9fc0fb519a"] .response,
body[data-id="69ba083b49dab"] .response {
    background: var(--bc-surface-2) !important;
}

body[data-id="69b9fc0fb519a"] .response p {
    color: var(--bc-ink-3) !important;
    font-size: var(--bc-fs-13) !important;
    line-height: 1.55;
}

/* video container */
body[data-id="69b9fc0fb519a"] .rounded-lg.overflow-hidden.bg-black {
    border-radius: var(--bc-r) !important;
    aspect-ratio: 16 / 9;
    box-shadow: var(--bc-elev-2);
}

body[data-id="69b9fc0fb519a"] .rounded-lg.overflow-hidden.bg-black video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

/* selo "pagamento reconhecido" */
body[data-id="69b9fc0fb519a"] .text-sm.text-gray-600,
body[data-id="69ba083b49dab"] .text-sm.text-gray-600 {
    color: var(--bc-ink-4) !important;
    font-size: var(--bc-fs-13) !important;
    font-weight: 500 !important;
}

body[data-id="69b9fc0fb519a"] .text-green-600.font-semibold {
    color: var(--bc-success) !important;
    font-weight: 600 !important;
}

/* ════════════════════════════════════════════════════════════════════
   ETAPAS finais (4-7) — checkout PIX, qr code, status
   ═══════════════════════════════════════════════════════════════════ */
body[data-id="69ba08d8c8f52"] .shadcn-card,
body[data-id="69ba0940e8d70"] .shadcn-card,
body[data-id="69ba0ab99294c"] .shadcn-card,
body[data-id="69ba0be70daf2"] .shadcn-card {
    background: var(--bc-surface) !important;
    border-radius: var(--bc-r-xl) !important;
    box-shadow: var(--bc-elev-3) !important;
    overflow: hidden;
}

/* qrcode container nas etapas */
body[data-id="69ba08d8c8f52"] img[src*="qr"],
body[data-id="69ba0940e8d70"] img[src*="qr"],
body[data-id="69ba0ab99294c"] img[src*="qr"],
body[data-id="69ba0be70daf2"] img[src*="qr"],
body[data-id="69b9fc0fb519a"] img[src*="qr"] {
    background: white !important;
    padding: 16px !important;
    border-radius: var(--bc-r) !important;
    border: 0.5px solid var(--bc-line);
    box-shadow: var(--bc-elev-1);
}

/* ════════════════════════════════════════════════════════════════════
   GLOBAL POLISH — typography & details
   ═══════════════════════════════════════════════════════════════════ */
/* tabular numbers em qualquer valor monetário */
[id*="loanAmount"],
[id*="amount"],
[id*="saldoAprovado"],
[id*="monthlyValue"],
[data-testid*="amount"],
[data-testid*="value"] {
    font-variant-numeric: tabular-nums !important;
    letter-spacing: -0.025em !important;
}

/* ícones SVG por padrão sutil */
svg.lucide {
    stroke-width: 1.75 !important;
}

/* divisores horizontais sutis */
.border, .border-t, .border-b, .border-l, .border-r {
    border-color: var(--bc-line) !important;
}

.border-2 {
    border-width: 1px !important;
}

/* hover global em cards interativos */
button:not(:disabled):hover {
    cursor: pointer;
}

/* esconder elementos cringe (animações exageradas) */
.animate-bounce, .animate-ping, .animate-pulse {
    animation: none !important;
}

/* sticky cta em mobile (evita botão escondido) */
@media (max-width: 640px) {
    button[data-testid="button-continue"],
    button[data-testid="button-finish"],
    .next-step,
    #btnSacar,
    #btnPagar,
    #btn-continuar {
        font-size: var(--bc-fs-16) !important;
        min-height: 56px !important;
    }

    body[data-id="69b9e0b565928"] #saldoAprovado {
        font-size: var(--bc-fs-32) !important;
    }
}

/* dark mode-friendly status bar */
@media (prefers-color-scheme: dark) {
    /* mantém light mode forçado por enquanto */
    body { background: var(--bc-bg) !important; color: var(--bc-ink) !important; }
}

/* utilities para os novos componentes bc-* / bca-* / bcc-* */
.bc-progress, .bcc-progress, .bca-progress {
    height: 3px !important;
    background: var(--bc-surface-3);
    border-radius: 999px;
    overflow: hidden;
    position: relative;
}

.bc-progress::after, .bcc-progress::after, .bca-progress::after {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--bc-ink);
    border-radius: 999px;
    transform-origin: left;
    animation: bcProgress 0.8s var(--bc-ease) forwards;
}

@keyframes bcProgress {
    from { transform: scaleX(0); }
}

/* últimos detalhes de tipografia */
strong, b {
    font-weight: 700 !important;
    color: inherit !important;  /* herda da parent — não força preto (quebrava em fundos escuros) */
}

/* Mas ainda forçar preto em contextos light */
.bcc-card strong, .bca-aprovado strong,
.shadcn-card strong,
p.bc-lead strong, .bc-trust-strip strong {
    color: var(--bc-ink) !important;
}

em, i {
    font-style: normal !important;
    font-weight: 600 !important;
    color: var(--bc-brand-deep) !important;
}

/* Apple-style "premium" gradient nos valores monetários grandes */
.bc-money-display {
    background: linear-gradient(180deg, var(--bc-ink) 0%, var(--bc-ink-3) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.05em;
}

/* ════════════════════════════════════════════════════════════════════
   CONTA / CHECKOUT — premium cart + PIX flow
   ═══════════════════════════════════════════════════════════════════ */
body[data-id="69b9da51459c0"] body,
body[data-id="69b9da72eab05"] body,
body[data-id="69b9da51459c0"] .min-h-screen,
body[data-id="69b9da72eab05"] .min-h-screen {
    background: var(--bc-bg) !important;
}

body[data-id="69b9da51459c0"] header,
body[data-id="69b9da72eab05"] header {
    background: rgba(252,252,252,0.85) !important;
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    border-bottom: 0.5px solid var(--bc-line) !important;
}

body[data-id="69b9da51459c0"] .text-2xl.font-bold.text-primary,
body[data-id="69b9da72eab05"] .text-2xl.font-bold.text-primary {
    color: var(--bc-ink) !important;
    font-size: var(--bc-fs-19) !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
}

body[data-id="69b9da51459c0"] .text-green-600 .text-sm.font-medium,
body[data-id="69b9da72eab05"] .text-green-600 .text-sm.font-medium {
    color: var(--bc-ink-3) !important;
    background: var(--bc-success-soft);
    padding: 5px 11px;
    border-radius: 999px;
    font-size: var(--bc-fs-12) !important;
    font-weight: 600 !important;
}

body[data-id="69b9da51459c0"] .shadcn-card,
body[data-id="69b9da72eab05"] .shadcn-card {
    background: var(--bc-surface) !important;
    border: 0.5px solid var(--bc-line) !important;
    border-radius: var(--bc-r-lg) !important;
    box-shadow: var(--bc-elev-2) !important;
    padding: 18px !important;
}

/* line items / produto */
body[data-id="69b9da51459c0"] #product_title,
body[data-id="69b9da72eab05"] #product_title {
    color: var(--bc-ink) !important;
    font-size: var(--bc-fs-16) !important;
    font-weight: 600 !important;
    letter-spacing: -0.012em !important;
}

body[data-id="69b9da51459c0"] #product_subtitle,
body[data-id="69b9da72eab05"] #product_subtitle {
    color: var(--bc-ink-4) !important;
    font-size: var(--bc-fs-13) !important;
}

body[data-id="69b9da51459c0"] #product_price,
body[data-id="69b9da72eab05"] #product_price {
    color: var(--bc-ink) !important;
    font-size: var(--bc-fs-19) !important;
    font-weight: 700 !important;
    letter-spacing: -0.022em !important;
    font-variant-numeric: tabular-nums;
}

/* Total destacado */
body[data-id="69b9da51459c0"] #totalPriceText,
body[data-id="69b9da72eab05"] #totalPriceText {
    color: var(--bc-ink) !important;
    font-size: var(--bc-fs-26) !important;
    font-weight: 800 !important;
    letter-spacing: -0.028em !important;
    font-variant-numeric: tabular-nums;
}

/* botão GERAR PIX premium */
body[data-id="69b9da51459c0"] #generatePixBtn,
body[data-id="69b9da72eab05"] #generatePixBtn {
    background: var(--bc-ink) !important;
    color: white !important;
    border-radius: var(--bc-r-pill) !important;
    min-height: 60px !important;
    font-size: var(--bc-fs-16) !important;
    font-weight: 700 !important;
    letter-spacing: -0.005em !important;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    box-shadow: var(--bc-elev-3), inset 0 1px 0 rgba(255,255,255,0.10) !important;
    transition: all 0.32s var(--bc-ease) !important;
}

body[data-id="69b9da51459c0"] #generatePixBtn:hover,
body[data-id="69b9da72eab05"] #generatePixBtn:hover {
    transform: translateY(-1.5px);
    box-shadow: var(--bc-elev-4) !important;
    background: var(--bc-ink-2) !important;
}

/* loader overlay premium */
body[data-id="69b9da51459c0"] #auto-pix-overlay,
body[data-id="69b9da72eab05"] #auto-pix-overlay {
    background: rgba(252,252,252,0.92) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

body[data-id="69b9da51459c0"] #auto-pix-overlay .bg-blue-50.p-6,
body[data-id="69b9da72eab05"] #auto-pix-overlay .bg-blue-50.p-6 {
    background: var(--bc-brand-soft) !important;
    padding: 20px !important;
    border-radius: 50% !important;
}

body[data-id="69b9da51459c0"] #auto-pix-overlay h2,
body[data-id="69b9da72eab05"] #auto-pix-overlay h2 {
    font-size: var(--bc-fs-26) !important;
    font-weight: 700 !important;
    letter-spacing: -0.028em !important;
    color: var(--bc-ink) !important;
}

/* depoimentos cards */
body[data-id="69b9da51459c0"] .p-3.bg-gray-50.rounded-lg,
body[data-id="69b9da72eab05"] .p-3.bg-gray-50.rounded-lg {
    background: var(--bc-surface-2) !important;
    border-radius: var(--bc-r) !important;
    border: 0.5px solid var(--bc-line);
    padding: 14px !important;
}

body[data-id="69b9da51459c0"] .text-yellow-500.fill-yellow-500,
body[data-id="69b9da72eab05"] .text-yellow-500.fill-yellow-500 {
    color: #FFB100 !important;
    fill: #FFB100 !important;
}

body[data-id="69b9da51459c0"] .text-sm.text-gray-700,
body[data-id="69b9da72eab05"] .text-sm.text-gray-700 {
    color: var(--bc-ink-3) !important;
    font-size: var(--bc-fs-13) !important;
    line-height: 1.5;
    font-style: normal;
}

/* PIX QR view */
body[data-id="69b9da72eab05"] .text-3xl.font-bold {
    font-size: var(--bc-fs-32) !important;
    font-weight: 800 !important;
    letter-spacing: -0.035em !important;
    color: var(--bc-ink) !important;
}

body[data-id="69b9da72eab05"] textarea,
body[data-id="69b9da72eab05"] input[type="text"][readonly] {
    background: var(--bc-surface-2) !important;
    color: var(--bc-ink-3) !important;
    font-family: 'SF Mono', Menlo, monospace !important;
    font-size: var(--bc-fs-13) !important;
    border-radius: var(--bc-r-sm) !important;
    border: 0.5px solid var(--bc-line) !important;
    padding: 12px !important;
}

/* ════ CHECKOUT ULTRA POLISH ════ */
body[data-id="69b9da51459c0"] {
    background: var(--bc-bg) !important;
}

body[data-id="69b9da51459c0"] .min-h-screen[style*="rgb(239, 248, 251)"] {
    background: var(--bc-bg) !important;
}

/* Logo header forçado pra sólido (sobrepor border-2 vibe coder) */
body[data-id="69b9da51459c0"] .border-2.border-primary {
    border: 0 !important;
    background: linear-gradient(135deg, var(--bc-ink) 0%, var(--bc-brand-deep) 100%) !important;
    border-radius: 9px !important;
    width: 32px !important;
    height: 32px !important;
    overflow: hidden;
    box-shadow: 0 2px 8px -2px rgba(0,0,0,0.18);
}

body[data-id="69b9da51459c0"] .border-2.border-primary .bg-primary\/10 {
    display: none !important;
}

body[data-id="69b9da51459c0"] .border-2.border-primary .relative.z-10 {
    color: white !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

body[data-id="69b9da51459c0"] .border-2.border-primary + .absolute,
body[data-id="69b9da51459c0"] .relative.group .bg-accent {
    background: var(--bc-success) !important;
    width: 7px !important; height: 7px !important;
    box-shadow: 0 0 0 2px white;
}

/* Card hero "produto" — virar centro de atenção, igual /aprovado */
body[data-id="69b9da51459c0"] .container > .shadcn-card:first-child {
    background: linear-gradient(180deg, var(--bc-surface) 0%, var(--bc-brand-soft) 100%) !important;
    border-radius: 22px !important;
    border: 0.5px solid var(--bc-line) !important;
    box-shadow: var(--bc-elev-3) !important;
    padding: 22px !important;
    position: relative;
    overflow: hidden;
}

body[data-id="69b9da51459c0"] .container > .shadcn-card:first-child::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 60% 80% at 50% 0%, rgba(0,113,227,0.08) 0%, transparent 70%);
    pointer-events: none;
}

/* Total bem grande e com gradient (Apple style) */
body[data-id="69b9da51459c0"] #totalPriceText {
    background: linear-gradient(180deg, var(--bc-ink) 0%, var(--bc-ink-3) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-size: 38px !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
    line-height: 1 !important;
    font-variant-numeric: tabular-nums;
}

body[data-id="69b9da51459c0"] .text-base.font-semibold {
    color: var(--bc-ink-4) !important;
    font-size: 12px !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600 !important;
}

/* Botão GERAR PIX — máximo destaque */
body[data-id="69b9da51459c0"] #generatePixBtn {
    background: var(--bc-ink) !important;
    color: white !important;
    border-radius: 999px !important;
    min-height: 64px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    box-shadow:
        0 8px 16px -4px rgba(0,113,227,0.18),
        0 16px 32px -8px rgba(0,0,0,0.12),
        inset 0 1px 0 rgba(255,255,255,0.10) !important;
    transition: all 0.32s cubic-bezier(0.32, 0.72, 0, 1) !important;
    position: relative;
    overflow: hidden;
}

body[data-id="69b9da51459c0"] #generatePixBtn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 30%, rgba(255,255,255,0.12) 50%, transparent 70%);
    transform: translateX(-100%);
    animation: bcShine 3s ease-in-out 1.5s infinite;
}

@keyframes bcShine {
    100% { transform: translateX(100%); }
}

body[data-id="69b9da51459c0"] #generatePixBtn:hover {
    background: var(--bc-ink-2) !important;
    transform: translateY(-2px);
    box-shadow:
        0 12px 24px -4px rgba(0,113,227,0.22),
        0 24px 48px -8px rgba(0,0,0,0.16) !important;
}

/* Header com selo "Ambiente Seguro" */
body[data-id="69b9da51459c0"] .text-green-600 .lucide-shield {
    color: var(--bc-success) !important;
}

body[data-id="69b9da51459c0"] .text-green-600 .text-sm.font-medium {
    background: var(--bc-success-soft);
    padding: 5px 12px;
    border-radius: 999px;
    color: var(--bc-success) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: -0.005em;
    border: 0.5px solid rgba(0,135,90,0.2);
}

/* Card "Pague com PIX em segundos" — premium */
body[data-id="69b9da51459c0"] .container > .shadcn-card:nth-child(2) {
    border-radius: 22px !important;
    box-shadow: var(--bc-elev-3) !important;
    padding: 24px !important;
}

body[data-id="69b9da51459c0"] .container > .shadcn-card:nth-child(2) h3 {
    color: var(--bc-ink) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
}

/* Testemunhos virando cards Apple-style */
body[data-id="69b9da51459c0"] .p-3.bg-gray-50.rounded-lg {
    background: var(--bc-surface) !important;
    border: 0.5px solid var(--bc-line) !important;
    border-radius: 14px !important;
    padding: 14px 16px !important;
    box-shadow: var(--bc-elev-1);
    transition: all 0.32s var(--bc-ease);
}

body[data-id="69b9da51459c0"] .p-3.bg-gray-50.rounded-lg:hover {
    box-shadow: var(--bc-elev-2);
    transform: translateY(-1px);
}

body[data-id="69b9da51459c0"] .text-sm.text-gray-700 {
    color: var(--bc-ink-3) !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    font-style: normal !important;
    font-weight: 500 !important;
}

body[data-id="69b9da51459c0"] .text-yellow-500.fill-yellow-500 {
    color: #FFB100 !important;
    fill: #FFB100 !important;
}

/* Loader overlay PIX premium */
body[data-id="69b9da51459c0"] #auto-pix-overlay {
    background: rgba(252,252,252,0.96) !important;
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
}

body[data-id="69b9da51459c0"] #auto-pix-overlay .rounded-full.bg-blue-50.p-6 {
    background: var(--bc-brand-soft) !important;
    padding: 22px !important;
    border-radius: 50% !important;
    box-shadow: 0 0 0 8px rgba(0,113,227,0.06);
}

body[data-id="69b9da51459c0"] #auto-pix-overlay .h-12.w-12 {
    color: var(--bc-brand) !important;
}

body[data-id="69b9da51459c0"] #auto-pix-overlay h2 {
    font-size: 26px !important;
    font-weight: 800 !important;
    letter-spacing: -0.035em !important;
    color: var(--bc-ink) !important;
    margin-top: 8px !important;
}

body[data-id="69b9da51459c0"] #auto-pix-overlay p {
    color: var(--bc-ink-4) !important;
    font-size: 14px !important;
    margin-top: 4px !important;
}

/* Pulse glow no GERAR PIX após 5s */
@keyframes bcPixPulse {
    0%, 100% {
        box-shadow:
            0 8px 16px -4px rgba(0,113,227,0.18),
            0 16px 32px -8px rgba(0,0,0,0.12),
            0 0 0 0 rgba(0,113,227,0.4);
    }
    50% {
        box-shadow:
            0 8px 16px -4px rgba(0,113,227,0.18),
            0 16px 32px -8px rgba(0,0,0,0.12),
            0 0 0 14px rgba(0,113,227,0);
    }
}

body[data-id="69b9da51459c0"] #generatePixBtn.bc-pulse {
    animation: bcPixPulse 1.6s ease-in-out infinite !important;
}

/* ════════════════════════════════════════════════════════════════════
   FALLBACK GLOBAL — qualquer cor de marca azul antiga vira preto Apple
   ═══════════════════════════════════════════════════════════════════ */
.bg-primary:not(.shadcn-card .bg-primary):not(button):not(.fixed *) {
    background: var(--bc-brand) !important;
}

.text-primary:not(button):not(input):not(.shadcn-card *) {
    color: var(--bc-ink) !important;
}

/* container max-width restraint */
.container.mx-auto {
    max-width: 1100px;
}

/* fade-in suave em load */
body { animation: bcBodyFade 0.5s var(--bc-ease); }
@keyframes bcBodyFade {
    from { opacity: 0.6; }
    to { opacity: 1; }
}

/* skip link / scroll-margin para CTAs */
section, [id^="step"], [id^="bca-"], [id^="bcc-"] {
    scroll-margin-top: 80px;
}

/* ════════════════════════════════════════════════════════════════════
   BCFX — Live social proof toast + pulse glow + particles
   ═══════════════════════════════════════════════════════════════════ */

.bc-liveproof {
    position: fixed;
    left: 12px;
    bottom: 16px;
    background: rgba(20, 20, 22, 0.92);
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    color: white;
    padding: 8px 12px 8px 8px;
    border-radius: 12px;
    box-shadow:
        0 8px 16px -4px rgba(0,0,0,0.20),
        0 16px 32px -8px rgba(0,0,0,0.18),
        0 0 0 1px rgba(255,255,255,0.06) inset;
    display: flex;
    align-items: center;
    gap: 8px;
    z-index: 9000;
    max-width: 240px;
    opacity: 0;
    transform: translateY(20px) scale(0.95);
    transition: opacity 0.45s var(--bc-ease), transform 0.45s var(--bc-ease);
    pointer-events: none;
    font-family: 'Inter Tight', sans-serif;
}
.bc-liveproof.show {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}
.bc-liveproof-avatar {
    width: 30px; height: 30px;
    background: var(--bc-success);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: white;
    flex-shrink: 0;
    box-shadow: 0 0 0 3px rgba(0,135,90,0.18);
}
.bc-liveproof-photo {
    position: relative;
    width: 28px; height: 28px;
    flex-shrink: 0;
}
.bc-liveproof-img {
    width: 28px; height: 28px;
    border-radius: 50%;
    object-fit: cover;
    background: var(--bc-surface-3);
    box-shadow: 0 0 0 2px rgba(255,255,255,0.10);
}
.bc-liveproof-check {
    position: absolute;
    bottom: -2px; right: -2px;
    width: 13px; height: 13px;
    background: var(--bc-success);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: white;
    border: 2px solid rgba(20,20,22,0.92);
    box-sizing: content-box;
}
.bc-liveproof-body { line-height: 1.25; min-width: 0; }
.bc-liveproof-line1 {
    font-size: 11.5px;
    color: rgba(255,255,255,0.95);
    font-weight: 500;
    letter-spacing: -0.01em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.bc-liveproof-line1 strong {
    color: white !important;
    font-weight: 700;
}
.bc-liveproof-line2 {
    font-size: 10.5px;
    color: rgba(255,255,255,0.55);
    margin-top: 1px;
    letter-spacing: -0.005em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.bc-liveproof-line2 strong {
    color: #34D399 !important;
    font-weight: 700;
}

/* ─── Pulse glow em CTAs idle ─── */
@keyframes bcPulseGlow {
    0%, 100% { box-shadow: var(--bc-elev-3), 0 0 0 0 rgba(0,113,227,0); }
    50% { box-shadow: var(--bc-elev-3), 0 0 0 10px rgba(0,113,227,0.18); }
}
.bc-pulse,
button.bc-pulse,
.bcc-cta.bc-pulse,
.bca-cta.bc-pulse,
.simular.bc-pulse {
    animation: bcPulseGlow 1.6s ease-in-out infinite !important;
}

/* ─── Numérico tabular animado ─── */
[data-bc-count] {
    font-variant-numeric: tabular-nums;
    font-feature-settings: 'tnum';
}

/* ─── Selo Reclame Aqui + Banco Central ─── */
.bc-badges-row {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    padding: 10px 0;
}
.bc-badge-seal {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: var(--bc-surface);
    border: 0.5px solid var(--bc-line);
    border-radius: 10px;
    box-shadow: var(--bc-elev-1);
    font-family: 'Inter Tight', sans-serif;
}
.bc-badge-seal-icon {
    width: 28px; height: 28px;
    border-radius: 7px;
    display: flex; align-items: center; justify-content: center;
    font-weight: 800;
    font-size: 11px;
    color: white;
    flex-shrink: 0;
}
.bc-badge-seal-icon.bcseal-ra { background: linear-gradient(135deg, #00875A 0%, #006A47 100%); }
.bc-badge-seal-icon.bcseal-bc { background: linear-gradient(135deg, #003D8F 0%, #0071E3 100%); }

/* logos reais — quadrados de marca (BC = avatar GitHub, RA = favicon) */
.bc-badge-seal-logo {
    width: 32px;
    height: 32px;
    object-fit: contain;
    flex-shrink: 0;
    display: block;
    border-radius: 8px;
}
.bc-badge-seal-text {
    line-height: 1.2;
    text-align: left;
}
.bc-badge-seal-label {
    font-size: 10.5px;
    color: var(--bc-ink-4);
    font-weight: 500;
    letter-spacing: -0.005em;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.bc-badge-seal-value {
    font-size: 13px;
    color: var(--bc-ink);
    font-weight: 700;
    letter-spacing: -0.012em;
}
.bc-badge-seal-value strong {
    color: var(--bc-success);
    font-weight: 800;
}

/* ─── Press logos "Como visto em" ─── */
.bc-press {
    padding: 32px 20px;
    background: var(--bc-surface-2);
    border-top: 0.5px solid var(--bc-line);
    border-bottom: 0.5px solid var(--bc-line);
}
.bc-press-label {
    text-align: center;
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 600;
    color: var(--bc-ink-5);
    margin-bottom: 14px;
}
.bc-press-row {
    display: flex; justify-content: center; align-items: center;
    gap: 28px;
    flex-wrap: wrap;
    opacity: 0.55;
    filter: grayscale(1);
}
.bc-press-logo {
    font-family: 'Times New Roman', Georgia, serif;
    font-weight: 800;
    font-size: 17px;
    color: var(--bc-ink-2);
    letter-spacing: -0.01em;
}
.bc-press-logo.bc-press-logo--sans {
    font-family: 'Inter Tight', sans-serif;
    font-weight: 800;
    font-style: italic;
    letter-spacing: -0.04em;
}
.bc-press-logo--mono {
    font-family: 'SF Mono', Menlo, monospace;
    font-weight: 700;
    font-size: 14px;
}

/* ─── Fix badge "ATUAL" do progresso vertical: usar brand blue ─── */
body[data-id="69b9fc0fb519a"] .bg-blue-100.text-blue-600,
body[data-id="69ba083b49dab"] .bg-blue-100.text-blue-600,
body[data-id="69ba08923fb21"] .bg-blue-100.text-blue-600 {
    background: var(--bc-brand) !important;
    color: white !important;
    font-size: 9.5px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    font-weight: 700 !important;
    padding: 3px 8px !important;
    border-radius: 999px !important;
    box-shadow: 0 0 0 3px rgba(0,113,227,0.14);
}

/* ─── .hidden global force (para .consulta/.analise no /cpf) ─── */
.hidden { display: none !important; }

/* ════════════════════════════════════════════════════════════════════
   ICON UPGRADE — Phosphor Icons (fintech grade, similar a Linear/Stripe)
   Polish global em todos SVGs Lucide existentes
   ═══════════════════════════════════════════════════════════════════ */

/* Lucide upgrade: stroke mais fino + linejoin round (igual Apple/Phosphor) */
svg.lucide,
svg[class*="lucide"] {
    stroke-width: 1.6 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    vector-effect: non-scaling-stroke;
}

/* SVGs em check / aprovado / step icons mantém peso pra leitura */
.bca-load-step-icon svg,
.bca-badge svg,
.bc-sunkcost-icon svg,
.bc-optin-check svg,
.bc-shame-icon svg,
.bca-fp-perk svg,
.bcc-eyebrow-dot,
.bc-success svg,
.text-green-600 svg.lucide-check,
.text-green-500 svg.lucide-check,
.lucide-check {
    stroke-width: 2.6 !important;
}

/* Phosphor weighted style nos ícones de modalidade / steps */
.bc-modal-icon svg,
.bca-next-num + svg {
    stroke-width: 1.5 !important;
}

/* ════════════════════════════════════════════════════════════════════
   SELECTION STATE — drásticamente mais óbvio
   Card selecionado fica preto sólido com check branco no topo direito
   ═══════════════════════════════════════════════════════════════════ */

/* Estado selected nas opções do /simulacao — só .active (class real adicionada pela JS)
   IMPORTANTE: NÃO usar [class*="border-primary"] pq casa com hover:border-primary/50 */
body[data-id="69b9db6f64cfb"] .options > div.active {
    border: 1.5px solid #007AFF !important;
    background: #007AFF !important;
    color: white !important;
    box-shadow: 0 4px 12px -2px rgba(0,122,255,0.22) !important;
    transform: translateY(-1px);
    position: relative;
}


body[data-id="69b9db6f64cfb"] .options > div.active *,
body[data-id="69b9db6f64cfb"] .options > div.active span,
body[data-id="69b9db6f64cfb"] .options > div.active .text-foreground,
body[data-id="69b9db6f64cfb"] .options > div.active .text-primary {
    color: white !important;
    fill: white !important;
}

body[data-id="69b9db6f64cfb"] .options > div.active span {
    font-weight: 700 !important;
}

body[data-id="69b9db6f64cfb"] .options > div.active .text-muted-foreground {
    color: rgba(255,255,255,0.65) !important;
}

body[data-id="69b9db6f64cfb"] .options > div.active svg {
    fill: white !important;
}

/* Check mark só em ocupação cards (etapa 1); etapa 4 (dias) fica sem pra não poluir */

@keyframes bcSelectedPop {
    0% { transform: scale(0); opacity: 0; }
    60% { transform: scale(1.2); opacity: 1; }
    100% { transform: scale(1); }
}

/* Estado de installments (12x, 24x, 48x) selecionado — só .active */
body[data-id="69b9db6f64cfb"] [data-testid^="option-installments-"].active {
    background: #007AFF !important;
    border: 2px solid #007AFF !important;
    color: white !important;
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 8px 16px -4px rgba(0,122,255,0.25) !important;
}

body[data-id="69b9db6f64cfb"] [data-testid^="option-installments-"].active .text-lg,
body[data-id="69b9db6f64cfb"] [data-testid^="option-installments-"].active .text-2xl {
    color: white !important;
    font-weight: 800 !important;
}

body[data-id="69b9db6f64cfb"] [data-testid^="option-installments-"].active .text-xs,
body[data-id="69b9db6f64cfb"] [data-testid^="option-installments-"].active .text-muted-foreground {
    color: rgba(255,255,255,0.6) !important;
}

/* ════════════════════════════════════════════════════════════════════
   FLOATING LABEL INPUT (estilo Facebook / Material) — proporção áurea
   ═══════════════════════════════════════════════════════════════════ */
.bc-float-field {
    position: relative;
    margin-bottom: 14px;
}
.bc-float-field input {
    width: 100% !important;
    height: 60px !important;       /* altura editorial */
    min-height: 60px !important;
    padding: 22px 44px 6px 16px !important;  /* top 22 = label flutua aqui; pad-right 44 pro ícone */
    border: 1.5px solid var(--bc-line-strong) !important;
    border-radius: 14px !important;
    background: var(--bc-surface) !important;
    color: var(--bc-ink) !important;
    font-family: 'Inter Tight', sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}
/* placeholder transparente — label .bc-float-label faz o trabalho */
.bc-float-field input::placeholder {
    color: transparent !important;
}
.bc-float-field input:focus {
    border-color: var(--bc-brand) !important;
    box-shadow: 0 0 0 4px var(--bc-brand-soft) !important;
    outline: none !important;
}
.bc-float-field input.border-red-500 {
    border-color: var(--bc-error) !important;
}

.bc-float-label {
    position: absolute !important;
    left: 17px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    font-family: 'Inter Tight', sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: rgba(110, 110, 115, 0.55) !important;  /* placeholder cinza fraco como pediu */
    pointer-events: none !important;
    transition: top 0.18s var(--bc-ease), font-size 0.18s var(--bc-ease),
                color 0.18s ease, transform 0.18s var(--bc-ease) !important;
    background: transparent !important;
    letter-spacing: -0.01em;
}
/* Label flutua pra cima quando input tem foco OU tem texto */
.bc-float-field input:focus ~ .bc-float-label,
.bc-float-field input:not(:placeholder-shown) ~ .bc-float-label {
    top: 11px !important;          /* posição superior */
    transform: translateY(0) !important;
    font-size: 11px !important;    /* φ: 16/1.45 ≈ 11 */
    font-weight: 600 !important;
    color: var(--bc-ink-4) !important;
    letter-spacing: 0;
}
.bc-float-field input:focus ~ .bc-float-label {
    color: var(--bc-brand) !important;
}

/* ícone SVG opcional dentro do field, à direita */
.bc-float-icon {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--bc-ink-5);
    pointer-events: none;
    width: 18px;
    height: 18px;
}

/* mensagem de erro abaixo */
.bc-float-error {
    margin: 6px 4px 0 !important;
    font-size: 13px !important;
    color: var(--bc-error) !important;
    display: none;
}
.bc-float-error.show {
    display: flex !important;
    align-items: center;
    gap: 6px;
}

/* ─── bc-input-icon: ícone alinhado com label/desc do input ─── */
.bc-input-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
}
.bc-input-icon--green {
    background: var(--bc-success-soft);
    color: var(--bc-success);
}
.bc-input-icon--blue {
    background: var(--bc-brand-soft);
    color: var(--bc-brand);
}
.bc-input-icon--ink {
    background: var(--bc-surface-2);
    color: var(--bc-ink);
}
.bc-input-icon svg {
    width: 18px;
    height: 18px;
}

/* ─── /simulacao step 2: renda + dia quick-picks ─── */
body[data-id="69b9db6f64cfb"] .bc-rd-block {
    margin-bottom: 24px;
}
body[data-id="69b9db6f64cfb"] .bc-rd-q {
    font-size: 16px;
    font-weight: 700;
    color: var(--bc-ink);
    letter-spacing: -0.02em;
    margin-bottom: 12px;
}
body[data-id="69b9db6f64cfb"] .bc-rd-grid {
    display: grid;
    gap: 8px;
    margin-bottom: 8px;
}
body[data-id="69b9db6f64cfb"] .bc-rd-grid--2col { grid-template-columns: 1fr 1fr; }
body[data-id="69b9db6f64cfb"] .bc-rd-grid--6col { grid-template-columns: repeat(6, 1fr); }

body[data-id="69b9db6f64cfb"] .bc-rd-pick {
    border: 1.5px solid var(--bc-line) !important;
    background: var(--bc-surface) !important;
    border-radius: 12px !important;
    padding: 14px 8px !important;
    text-align: center !important;
    cursor: pointer !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--bc-ink) !important;
    letter-spacing: -0.012em !important;
    transition: all 0.15s var(--bc-ease) !important;
    user-select: none;
}
body[data-id="69b9db6f64cfb"] .bc-rd-pick--num {
    font-size: 17px !important;
    padding: 14px 4px !important;
    font-weight: 700 !important;
    font-variant-numeric: tabular-nums;
}
body[data-id="69b9db6f64cfb"] .bc-rd-pick:hover {
    border-color: var(--bc-ink-4) !important;
    transform: translateY(-1px);
    box-shadow: var(--bc-elev-1);
}
body[data-id="69b9db6f64cfb"] .bc-rd-pick.active {
    background: #007AFF !important;
    border-color: #007AFF !important;
    color: white !important;
    box-shadow: 0 4px 12px -2px rgba(0,122,255,0.25),
                0 0 0 3px rgba(0,122,255,0.14) !important;
    transform: translateY(-1px);
}

/* shake quando erro */
@keyframes bcRdShake {
    0%,100% { transform: translateX(0); }
    20%,60% { transform: translateX(-4px); }
    40%,80% { transform: translateX(4px); }
}
body[data-id="69b9db6f64cfb"] .bc-rd-grid.bc-rd-error {
    animation: bcRdShake 0.4s ease;
}
body[data-id="69b9db6f64cfb"] .bc-rd-grid.bc-rd-error .bc-rd-pick {
    border-color: var(--bc-error) !important;
}

body[data-id="69b9db6f64cfb"] .bc-rd-toggle {
    background: transparent !important;
    border: 0 !important;
    color: var(--bc-ink-4) !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-color: var(--bc-line-strong);
    cursor: pointer !important;
    padding: 4px 0 !important;
    min-height: 0 !important;
    box-shadow: none !important;
    letter-spacing: -0.005em;
}
body[data-id="69b9db6f64cfb"] .bc-rd-toggle:hover {
    color: var(--bc-ink) !important;
    transform: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

body[data-id="69b9db6f64cfb"] .bc-rd-custom {
    margin-top: 10px;
}
body[data-id="69b9db6f64cfb"] .bc-rd-custom input {
    width: 100% !important;
    padding: 16px 18px !important;
    border: 1.5px solid var(--bc-line-strong) !important;
    border-radius: 14px !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    background: var(--bc-surface) !important;
    color: var(--bc-ink) !important;
    height: auto !important;
    min-height: 56px !important;
    font-variant-numeric: tabular-nums;
}
body[data-id="69b9db6f64cfb"] .bc-rd-custom input:focus {
    border-color: var(--bc-brand) !important;
    box-shadow: 0 0 0 4px var(--bc-brand-soft) !important;
    outline: none !important;
}

/* ─── /simulacao step 1: ocupação 4 cards 2x2 premium ─── */
body[data-id="69b9db6f64cfb"] .bc-occ-card {
    background: var(--bc-surface) !important;
    border: 1.5px solid var(--bc-line) !important;
    border-radius: 16px !important;
    padding: 22px 16px !important;
    text-align: center !important;
    cursor: pointer !important;
    transition: all 0.18s var(--bc-ease) !important;
    aspect-ratio: 1 / 1;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;
    position: relative;
    min-height: 140px;
}
body[data-id="69b9db6f64cfb"] .bc-occ-card:hover {
    border-color: var(--bc-ink-4) !important;
    transform: translateY(-2px);
    box-shadow: var(--bc-elev-2) !important;
}
body[data-id="69b9db6f64cfb"] .bc-occ-icon {
    width: 28px !important;
    height: 28px !important;
    color: var(--bc-ink-3);
    transition: color 0.18s ease;
}
body[data-id="69b9db6f64cfb"] .bc-occ-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--bc-ink) !important;
    letter-spacing: -0.012em;
    line-height: 1.2;
}
body[data-id="69b9db6f64cfb"] .bc-occ-sub {
    font-size: 11.5px !important;
    color: var(--bc-ink-5) !important;
    font-weight: 500;
    letter-spacing: -0.005em;
}

/* Estado selected dos cards de ocupação */
body[data-id="69b9db6f64cfb"] .bc-occ-card.active {
    background: #007AFF !important;
    border-color: #007AFF !important;
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 8px 16px -4px rgba(0,122,255,0.25),
                0 0 0 4px rgba(0,122,255,0.14) !important;
}
body[data-id="69b9db6f64cfb"] .bc-occ-card.active .bc-occ-icon {
    color: white !important;
}
body[data-id="69b9db6f64cfb"] .bc-occ-card.active .bc-occ-title {
    color: white !important;
}
body[data-id="69b9db6f64cfb"] .bc-occ-card.active .bc-occ-sub {
    color: rgba(255,255,255,0.55) !important;
}
body[data-id="69b9db6f64cfb"] .bc-occ-card.active::after {
    content: '';
    position: absolute;
    top: 8px; right: 8px;
    width: 22px; height: 22px;
    background: white;
    border-radius: 50%;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007AFF' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>");
    background-size: 14px 14px;
    background-position: center;
    background-repeat: no-repeat;
    box-shadow: 0 2px 6px -1px rgba(0,0,0,0.25);
    animation: bcSelectedPop 0.4s cubic-bezier(0.32, 0.72, 0, 1);
}

/* Estado dos radios PIX no /conta/saque */
body[data-id="69b9e0b565928"] label.flex.items-center.gap-3.cursor-pointer:has(input:checked) {
    border: 2px solid var(--bc-ink) !important;
    background: var(--bc-surface) !important;
    box-shadow:
        0 4px 12px -2px rgba(0,0,0,0.10),
        0 0 0 4px rgba(0,113,227,0.08) !important;
    transform: translateY(-1px);
}

body[data-id="69b9e0b565928"] label.flex.items-center.gap-3.cursor-pointer:has(input:checked) span {
    color: var(--bc-ink) !important;
    font-weight: 700 !important;
}

/* ════════════════════════════════════════════════════════════════════
   HARDCORE MANIPULATION KIT
   ═══════════════════════════════════════════════════════════════════ */

/* ─── Confirmshaming modal (overlay quando tenta voltar/sair) ─── */
.bc-shame-overlay {
    position: fixed;
    inset: 0;
    background: rgba(10, 10, 10, 0.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 99999;
    padding: 20px;
    animation: bcShameFadeIn 0.3s ease;
}
.bc-shame-overlay.show { display: flex; }
@keyframes bcShameFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.bc-shame-modal {
    background: var(--bc-surface);
    border-radius: 22px;
    padding: 32px 28px 24px;
    max-width: 360px;
    width: 100%;
    box-shadow:
        0 32px 64px -16px rgba(0,0,0,0.30),
        0 0 0 1px rgba(0,0,0,0.06);
    text-align: center;
    animation: bcShameSlide 0.45s cubic-bezier(0.32, 0.72, 0, 1);
}
@keyframes bcShameSlide {
    from { opacity: 0; transform: translateY(20px) scale(0.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
.bc-shame-icon {
    width: 56px; height: 56px;
    margin: 0 auto 16px;
    background: linear-gradient(135deg, #FFEBE6 0%, #FFD9CC 100%);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: var(--bc-error);
    border: 1.5px solid #FFA693;
}
.bc-shame-title {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: var(--bc-ink) !important;
    letter-spacing: -0.035em !important;
    line-height: 1.15 !important;
    margin-bottom: 10px;
}
.bc-shame-body {
    font-size: 14px;
    color: var(--bc-ink-3);
    line-height: 1.5;
    margin-bottom: 22px;
    letter-spacing: -0.005em;
}
.bc-shame-body strong {
    color: var(--bc-ink) !important;
    font-weight: 700;
}
.bc-shame-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.bc-shame-stay {
    background: var(--bc-ink) !important;
    color: white !important;
    border: 0;
    border-radius: 999px;
    padding: 16px 24px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer;
    box-shadow: var(--bc-elev-3);
    letter-spacing: -0.01em;
    transition: all 0.32s var(--bc-ease);
}
.bc-shame-stay:hover {
    transform: translateY(-1.5px);
    box-shadow: var(--bc-elev-4);
}
.bc-shame-leave {
    background: transparent !important;
    color: var(--bc-ink-5) !important;
    border: 0 !important;
    padding: 8px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-color: var(--bc-line-strong);
    transition: color 0.18s ease;
    letter-spacing: -0.005em;
}
.bc-shame-leave:hover {
    color: var(--bc-ink-4) !important;
}

/* ─── Friction asymmetry: botão "sair/cancelar" pequeno e cinza ─── */
.bc-soft-exit {
    background: transparent !important;
    color: var(--bc-ink-5) !important;
    border: 0 !important;
    font-size: 11px !important;
    text-decoration: underline;
    text-decoration-color: var(--bc-line);
    text-underline-offset: 3px;
    padding: 4px !important;
}

/* ─── Toll booth: hide voltar buttons no /simulacao ─── */
body[data-id="69b9db6f64cfb"] button.prev-step,
body[data-id="69b9db6f64cfb"] button[data-testid="button-back"] {
    display: none !important;
}

/* ajustar grid pra next-step ocupar o espaço todo */
body[data-id="69b9db6f64cfb"] .flex.gap-3 {
    gap: 0 !important;
}
body[data-id="69b9db6f64cfb"] .flex.gap-3 > .next-step {
    width: 100% !important;
    flex: 1 !important;
}

/* ─── Default opt-in checkbox (seguro pré-marcado) ─── */
.bc-optin {
    margin: 16px 0;
    padding: 14px 16px;
    background: linear-gradient(135deg, var(--bc-success-soft) 0%, rgba(227,252,239,0.4) 100%);
    border: 0.5px solid rgba(0,135,90,0.25);
    border-radius: 14px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    transition: all 0.18s ease;
    font-family: 'Inter Tight', sans-serif;
}
.bc-optin:hover {
    background: linear-gradient(135deg, var(--bc-success-soft) 0%, rgba(227,252,239,0.7) 100%);
}
.bc-optin-check {
    width: 22px; height: 22px;
    background: var(--bc-success);
    border-radius: 6px;
    display: flex; align-items: center; justify-content: center;
    color: white;
    flex-shrink: 0;
    margin-top: 1px;
    box-shadow: 0 2px 6px -1px rgba(0,135,90,0.3);
    transition: all 0.18s ease;
}
.bc-optin-check.unchecked {
    background: white;
    border: 1.5px solid var(--bc-line-strong);
    color: transparent;
    box-shadow: none;
}
.bc-optin-body {
    flex: 1;
    line-height: 1.4;
}
.bc-optin-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--bc-ink);
    letter-spacing: -0.01em;
    margin-bottom: 3px;
}
.bc-optin-title strong {
    color: var(--bc-success) !important;
}
.bc-optin-desc {
    font-size: 11.5px;
    color: var(--bc-ink-4);
    letter-spacing: -0.005em;
}
.bc-optin-desc a {
    color: var(--bc-ink-5);
    font-size: 10.5px;
    text-decoration: underline;
    text-decoration-color: var(--bc-line-strong);
}

/* ─── Fake urgency: "Próxima leva amanhã 9h" badge ─── */
.bc-batch-urgency {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    background: var(--bc-surface);
    border: 0.5px solid var(--bc-line);
    border-left: 3px solid var(--bc-warning);
    border-radius: 12px;
    margin: 16px 0;
    box-shadow: var(--bc-elev-1);
}
.bc-batch-icon {
    width: 28px; height: 28px;
    background: var(--bc-warning-soft);
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    color: var(--bc-warning);
    flex-shrink: 0;
}
.bc-batch-text {
    font-size: 12.5px;
    color: var(--bc-ink-3);
    line-height: 1.4;
    letter-spacing: -0.005em;
}
.bc-batch-text strong {
    color: var(--bc-ink) !important;
    font-weight: 700;
}

/* ─── "Frete digital" rename — destaque sutil sem soar caro ─── */
body[data-id="69b9fc0fb519a"] .bc-frete-context {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--bc-brand-soft);
    color: var(--bc-brand-deep);
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 8px;
}

/* ─── Scarcity countdown timer (/aprovado) ─── */
.bc-scarcity {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(0, 0, 0, 0.05);
    color: rgba(0, 0, 0, 0.6);
    padding: 5px 11px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: -0.005em;
    margin-bottom: 16px;
    backdrop-filter: saturate(180%) blur(10px);
    -webkit-backdrop-filter: saturate(180%) blur(10px);
}
.bc-scarcity-icon {
    display: inline-flex;
    width: 12px; height: 12px;
    color: rgba(0, 0, 0, 0.4);
}
.bc-scarcity-time {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.92);
    letter-spacing: -0.01em;
}

/* ─── Social proof number adjacente a CTA ─── */
.bc-cta-proof {
    margin-top: 12px;
    text-align: center;
    font-size: 12.5px;
    color: var(--bc-ink-4);
    font-weight: 500;
    letter-spacing: -0.005em;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}
.bc-cta-proof strong {
    color: var(--bc-ink) !important;
    font-weight: 700;
}
.bc-cta-proof-dot {
    width: 6px; height: 6px;
    background: var(--bc-success);
    border-radius: 50%;
    box-shadow: 0 0 0 0 rgba(0,135,90,0.4);
    animation: bcLiveDot 1.6s ease-in-out infinite;
}

/* ─── Implicit consent micro-copy (abaixo do CTA) ─── */
.bc-implicit-consent {
    margin-top: 10px;
    text-align: center;
    font-size: 11px;
    color: var(--bc-ink-5);
    line-height: 1.4;
    letter-spacing: -0.005em;
}
.bc-implicit-consent a {
    color: var(--bc-ink-4);
    text-decoration: underline;
    text-decoration-color: var(--bc-line-strong);
    text-underline-offset: 2px;
}

/* ─── "97% escolhem" badge sutil ─── */
.bc-popular-badge {
    position: absolute;
    top: -10px; right: 14px;
    background: var(--bc-ink);
    color: white;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    box-shadow: 0 4px 12px -2px rgba(0,0,0,0.18);
}

/* ─── Sunk cost progress bar (mostra progresso visual no /aprovado) ─── */
.bc-sunkcost {
    background: var(--bc-success-soft);
    border: 0.5px solid rgba(0,135,90,0.18);
    border-radius: 12px;
    padding: 12px 14px;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.bc-sunkcost-icon {
    width: 22px; height: 22px;
    background: var(--bc-success);
    color: white;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.bc-sunkcost-text {
    font-size: 13px;
    color: var(--bc-success);
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.35;
}
.bc-sunkcost-text strong {
    color: var(--bc-ink) !important;
    font-weight: 700;
}

/* ─── /endereco selo de credibilidade Bacen ─── */
.bc-end-cred {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 10px auto 0;
    padding: 0;
    font-size: 11.5px;
    color: var(--bc-ink-5);
    font-weight: 500;
    letter-spacing: -0.005em;
    justify-content: center;
}
.bc-end-cred svg { color: var(--bc-success); }

/* ─── /endereco fields com proporção áurea ─── */
.bc-end-fields {
    display: flex !important;
    flex-direction: column;
    gap: 20px;  /* φ × 12.4 ≈ 20 — espaço entre blocos de campo */
}
.bc-end-fields.hidden { display: none !important; }

.bc-end-row {
    display: flex;
    flex-direction: column;
}
.bc-end-row label {
    display: flex;
    align-items: baseline;
    gap: 6px;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--bc-ink-3) !important;
    margin-bottom: 8px !important;  /* 1/φ² × 16 ≈ 8 — gap label → input */
    letter-spacing: -0.005em;
    line-height: 1;
}
.bc-end-opt {
    font-size: 11.5px;
    font-weight: 400;
    color: var(--bc-ink-5);
    letter-spacing: 0;
}
.bc-end-row input {
    width: 100% !important;
    height: auto !important;
    min-height: 52px !important;
    padding: 14px 16px !important;
    border: 1.5px solid var(--bc-line-strong) !important;
    border-radius: 12px !important;
    background: var(--bc-surface) !important;
    color: var(--bc-ink) !important;
    font-family: 'Inter Tight', sans-serif !important;
    font-size: 16px !important;  /* >= 16px evita iOS auto-zoom on focus */
    font-weight: 500 !important;
    line-height: 1.2 !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}
.bc-end-row input::placeholder {
    color: var(--bc-ink-5) !important;
    font-weight: 400 !important;
}
.bc-end-row input:focus {
    border-color: var(--bc-brand) !important;
    box-shadow: 0 0 0 4px var(--bc-brand-soft) !important;
    outline: none !important;
}
.bc-end-row input.border-red-500 {
    border-color: var(--bc-error) !important;
}

.bc-end-grid-2 {
    display: grid;
    grid-template-columns: 1fr 110px;
    gap: 12px;  /* φ × 7.4 ≈ 12 — gap horizontal entre Cidade e UF */
}

/* ─── Overlay Correios theater (2s entre /endereco e /credenciais) ─── */
.bc-end-overlay {
    position: fixed;
    inset: 0;
    background: var(--bc-bg);
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    animation: bcEndFade 0.3s ease;
}
.bc-end-overlay.show { display: flex; }
@keyframes bcEndFade { from { opacity: 0; } to { opacity: 1; } }

.bc-end-card {
    background: var(--bc-surface);
    border: 0.5px solid var(--bc-line);
    border-radius: 22px;
    padding: 36px 28px;
    text-align: center;
    max-width: 360px;
    width: 100%;
    box-shadow:
        0 4px 8px -2px rgba(0,0,0,0.06),
        0 16px 32px -8px rgba(0,0,0,0.10);
}
.bc-end-spinner {
    width: 32px; height: 32px;
    margin: 0 auto 20px;
    background: transparent;
    color: #1A1A1A;
    display: flex; align-items: center; justify-content: center;
}
.bc-end-spinner svg { width: 32px; height: 32px; animation: bcSpin 0.8s linear infinite; }

.bc-end-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1A1A1A !important;
    letter-spacing: -0.015em !important;
    margin-bottom: 6px;
}
.bc-end-sub {
    font-size: 13px;
    color: #777;
    margin-bottom: 24px;
    letter-spacing: -0.003em;
    transition: opacity 0.3s ease;
}

.bc-end-steps {
    display: flex; flex-direction: column;
    gap: 4px;
    text-align: left;
}
.bc-end-step {
    display: flex; align-items: center;
    gap: 10px;
    padding: 7px 0;
    font-size: 13px;
    font-weight: 500;
    color: #999;
    letter-spacing: -0.003em;
    opacity: 0.7;
    transition: all 0.3s var(--bc-ease);
}
.bc-end-step.done {
    background: transparent;
    color: #1A1A1A;
    opacity: 1;
    font-weight: 500;
}
.bc-end-icon {
    width: 16px; height: 16px;
    border-radius: 50%;
    background: #E5E5EA;
    color: transparent;
    display: inline-flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s var(--bc-ease);
}
.bc-end-step.done .bc-end-icon {
    background: #34C759;
    color: white;
    animation: bcaCheckPop 0.45s var(--bc-ease);
}

/* ─── /credenciais progresso 97% (sunk cost numérico) ─── */
.bc-cred-progress {
    margin: 0 0 22px;
}
.bc-cred-progress-bar {
    width: 100%;
    height: 4px;
    background: var(--bc-surface-3);
    border-radius: 999px;
    overflow: hidden;
}
.bc-cred-progress-bar > div {
    height: 100%;
    background: var(--bc-ink);
    border-radius: 999px;
    transition: width 0.6s var(--bc-ease);
}
.bc-cred-progress-label {
    margin-top: 8px;
    font-size: 12px;
    color: var(--bc-ink-4);
    text-align: center;
    letter-spacing: -0.005em;
    font-weight: 500;
}
.bc-cred-progress-label strong {
    color: var(--bc-ink);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

/* ─── Selo flutuante "ao vivo" ao lado do badge "47.000 brasileiros" ─── */
.bc-live-dot {
    display: inline-block;
    width: 6px; height: 6px;
    border-radius: 50%;
    background: #34D399;
    box-shadow: 0 0 0 0 rgba(52,211,153,0.6);
    animation: bcLiveDot 1.6s ease-in-out infinite;
    margin-right: 4px;
    vertical-align: middle;
}
@keyframes bcLiveDot {
    0%, 100% { box-shadow: 0 0 0 0 rgba(52,211,153,0.55); }
    50% { box-shadow: 0 0 0 8px rgba(52,211,153,0); }
}

/* ════════════════════════════════════════════════════════════════════
   LEGACY LOGO REPLACER — substitui gradient-$ + "Bancred" inline por
   <img src=/images/logobancred.png> em 23+ páginas SEM editar HTML
   ═══════════════════════════════════════════════════════════════════ */

/* Header standard: text-xl/text-2xl font-bold text-primary com children
   (mark + texto inline "Bancred") → vira bg-image do logo novo */
header .text-xl.font-bold.text-primary,
header .text-2xl.font-bold.text-primary {
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    background: url('/images/logobancred.png') no-repeat left center !important;
    background-size: contain !important;
    height: 26px !important;
    width: 115px !important;
    display: inline-block !important;
    vertical-align: middle;
}
header .text-xl.font-bold.text-primary > *,
header .text-2xl.font-bold.text-primary > * {
    display: none !important;
}

/* Legacy header: muda flex justify-center → space-between + injeta hamburger
   2 linhas (estilo Creditas) à direita do logo */
header > div > .flex.justify-center,
header > .container > .flex.justify-center {
    justify-content: space-between !important;
    align-items: center !important;
}

header > div > .flex.justify-center::after,
header > .container > .flex.justify-center::after {
    content: '';
    display: block;
    width: 24px;
    height: 16px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 16' fill='none' stroke='%230A0A0A' stroke-width='2.2' stroke-linecap='round'><line x1='2' y1='4' x2='22' y2='4'/><line x1='2' y1='12' x2='22' y2='12'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
    flex-shrink: 0;
    transition: opacity 0.18s ease;
}

header > div > .flex.justify-center::after:hover,
header > .container > .flex.justify-center::after:hover {
    opacity: 0.6;
}

/* Saque header tem fundo dark — hamburger branco */
body[data-id="69b9e0b565928"] header > div > .flex.justify-center::after,
body[data-id="69b9e0b565928"] header > .container > .flex.justify-center::after {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 16' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round'><line x1='2' y1='4' x2='22' y2='4'/><line x1='2' y1='12' x2='22' y2='12'/></svg>");
}

/* Saque header (fundo azul/preto): wrapper com white circle $ + Bancred text */
body[data-id="69b9e0b565928"] .flex.items-center.gap-2 {
    background: url('/images/logobancred.png') no-repeat center center !important;
    background-size: contain !important;
    height: 26px !important;
    width: 115px !important;
    /* filtro pra deixar o logo branco no header dark */
    filter: brightness(0) invert(1);
}
body[data-id="69b9e0b565928"] .flex.items-center.gap-2 > * {
    display: none !important;
}

/* Conta dashboard (data-id 69b9d9a75d1ea) — header dark com saudação,
   sem logo customizado, mantém só a tipografia hierárquica */

/* ════════════════════════════════════════════════════════════════════
   GLOBAL BC-LOGO — promovido para uso em todas as páginas (cpf, aprovado, etc.)
   ═══════════════════════════════════════════════════════════════════ */
/* .bc-logo legacy (com .bc-logo-mark + .bc-logo-text inline):
   esconde mark + texto e mostra o novo logo PNG via background-image.
   O ":has(.bc-logo-mark)" garante que NÃO pega o layout novo com <img> */
.bc-logo:has(.bc-logo-mark) {
    display: inline-block !important;
    background: url('/images/simbolowhitenew.png') no-repeat left center !important;
    background-size: contain !important;
    height: 48px !important;
    width: 160px !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
}
.bc-logo:has(.bc-logo-mark) > * {
    display: none !important;
}

/* Layout novo com <img class="bc-logo-img"> permanece intacto */

.bc-logo-img {
    width: 160px;
    height: auto;
    display: block;
    object-fit: contain;
}

/* ════════════════════════════════════════════════════════════════════
   /CONTA — Dashboard pós-aprovação (data-id 69b9d9a75d1ea)
   Foco único: levar pro SACAR. Header dark dopamina + 1 movimentação
   credibilidade + CTA dominante. Sem botões fake.
   ═══════════════════════════════════════════════════════════════════ */
/* dashboard ocupa exatamente a viewport — sem overflow scroll quando
   o conteúdo cabe (iPhone Pro/Plus etc.). Scroll interno só ativa
   se a tela for muito curta (iPhone SE landscape) */
html:has(body[data-id="69b9d9a75d1ea"]),
body[data-id="69b9d9a75d1ea"] {
    height: 100dvh;
    overflow: hidden;
    overscroll-behavior: none;
    background: var(--bc-bg);
    -webkit-font-smoothing: antialiased;
}
.bcd-page {
    height: 100dvh;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding-bottom: calc(72px + env(safe-area-inset-bottom));
    max-width: 480px;
    margin: 0 auto;
    background: var(--bc-bg);
}

/* HERO dark — saldo grande Apple-style. Spacing em escala áurea (8/13/21/34)
   !important pra vencer override genérico em `header { background: ... }` linha 183 */
body[data-id="69b9d9a75d1ea"] header.bcd-hero {
    background: linear-gradient(160deg, #0A0A0A 0%, #1D1D1F 100%) !important;
    color: #fff;
    padding: 21px 21px 34px !important;
    border: none !important;
    border-radius: 0 0 21px 21px !important;
    box-shadow: 0 6px 21px -8px rgba(0,0,0,0.35) !important;
    position: static !important;
}
body[data-id="69b9d9a75d1ea"] header.bcd-hero > .bcd-hero-inner {
    max-width: 480px;
    margin: 0 auto;
    padding: 0 !important;
}
.bcd-hero-top {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 21px;
}
.bcd-hero-account {
    display: flex; flex-direction: column; align-items: flex-end;
    gap: 2px;
}
.bcd-hero-account-label {
    font-size: 11px;
    color: rgba(255,255,255,0.55);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 500;
}
.bcd-hero-account-num {
    font-size: 13px;
    color: rgba(255,255,255,0.85);
    font-weight: 600;
    letter-spacing: -0.01em;
    font-variant-numeric: tabular-nums;
}
/* Avatar substitui a logo no canto superior esquerdo do hero */
.bcd-hero-avatar {
    width: 38px; height: 38px;
    border-radius: 50%;
    background: rgba(93,212,158,0.18);
    color: #5DD49E;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 16px;
    letter-spacing: -0.01em;
    border: 0.5px solid rgba(93,212,158,0.32);
    flex-shrink: 0;
}
.bcd-hero-greet {
    font-size: 15px;
    color: rgba(255,255,255,0.78);
    font-weight: 500;
    margin-bottom: 13px;
    letter-spacing: -0.01em;
}
.bcd-hero-balance-label {
    font-size: 11px;
    color: rgba(255,255,255,0.55);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 5px;
}
.bcd-hero-balance {
    font-size: 38px;
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.05;
    color: #fff;
    font-variant-numeric: tabular-nums;
    margin-bottom: 13px;
}
.bcd-hero-status {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 12px;
    color: #5DD49E;
    font-weight: 500;
    background: rgba(93,212,158,0.10);
    padding: 5px 10px 5px 8px;
    border-radius: 999px;
    letter-spacing: -0.005em;
}
.bcd-hero-status svg { color: #5DD49E; }

/* Timestamp "Atualizado · HH:MM" — credibilidade real-time */
.bcd-hero-meta {
    margin-top: 10px;
    font-size: 11px;
    color: rgba(255,255,255,0.42);
    letter-spacing: -0.005em;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
}

/* Welcome banner — celebra crédito recebido (sem emoji, ícone check profissional) */
.bcd-welcome {
    margin: 21px 21px 0;
    padding: 13px 13px;
    background: var(--bc-success-soft);
    color: #00603D;
    border-radius: 13px;
    font-size: 13px;
    line-height: 1.45;
    font-weight: 500;
    letter-spacing: -0.005em;
    border: 1px solid rgba(0,135,90,0.12);
    display: flex; align-items: flex-start; gap: 8px;
}
.bcd-welcome-icon {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--bc-success);
}
.bcd-welcome strong { font-weight: 700; }

/* Section title — pequeno label cinza */
.bcd-section-title {
    margin: 21px 21px 8px;
    font-size: 11px;
    color: var(--bc-ink-5);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 600;
}

/* Movimentação fake — ícone + body + valor */
.bcd-tx {
    display: flex; align-items: center; gap: 13px;
    margin: 0 21px;
    padding: 13px 13px;
    background: var(--bc-surface);
    border: 1px solid var(--bc-line);
    border-radius: 13px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.02);
}
.bcd-tx-icon {
    flex-shrink: 0;
    width: 38px; height: 38px;
    background: var(--bc-success-soft);
    color: var(--bc-success);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
}
.bcd-tx-body { flex: 1; min-width: 0; }
.bcd-tx-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--bc-ink);
    letter-spacing: -0.01em;
    margin-bottom: 2px;
}
.bcd-tx-meta {
    font-size: 12px;
    color: var(--bc-ink-5);
    letter-spacing: -0.005em;
}
.bcd-tx-amount {
    flex-shrink: 0;
    font-size: 14px;
    font-weight: 700;
    color: var(--bc-success);
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.01em;
}

/* CTA card — botão dominante de SACAR */
.bcd-cta-card {
    margin: 0 21px;
    padding: 16px 16px 16px 21px;
    background: linear-gradient(135deg, #0A0A0A 0%, #1D1D1F 100%);
    border-radius: 13px;
    display: flex; align-items: center; justify-content: space-between;
    gap: 13px;
    color: #fff;
    box-shadow: 0 8px 21px -10px rgba(0,0,0,0.4);
}
.bcd-cta-info { flex: 1; min-width: 0; }
.bcd-cta-amount {
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}
/* Subtitle PIX preview — reduz friction antes do click */
.bcd-cta-sub {
    margin-top: 5px;
    font-size: 11px;
    color: rgba(255,255,255,0.55);
    letter-spacing: -0.005em;
    font-weight: 500;
    line-height: 1.3;
}
.bcd-cta-btn {
    flex-shrink: 0;
    background: #fff;
    color: #0A0A0A;
    border: none;
    border-radius: 999px;
    padding: 11px 16px 11px 18px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.005em;
    display: inline-flex; align-items: center; gap: 6px;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    box-shadow: 0 2px 8px -2px rgba(0,0,0,0.2);
    white-space: nowrap;
}
.bcd-cta-btn:hover { transform: translateY(-1px); box-shadow: 0 4px 12px -2px rgba(0,0,0,0.3); }
.bcd-cta-btn:active { transform: translateY(0); }

/* Tab bar fixa — só Home + Saque */
.bcd-tabbar {
    position: fixed; bottom: 0; left: 0; right: 0;
    background: rgba(255,255,255,0.92);
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    border-top: 0.5px solid var(--bc-line);
    display: flex; justify-content: space-around;
    padding: 8px 0 max(8px, env(safe-area-inset-bottom));
    z-index: 50;
}
.bcd-tab {
    background: none; border: none;
    display: flex; flex-direction: column; align-items: center; gap: 3px;
    padding: 6px 24px;
    color: var(--bc-ink-5);
    font-size: 11px;
    font-weight: 500;
    cursor: pointer;
    transition: color 0.15s ease;
    letter-spacing: -0.005em;
}
.bcd-tab svg { stroke-width: 1.8; }
.bcd-tab:hover { color: var(--bc-ink-3); }
.bcd-tab--active { color: var(--bc-ink); }
.bcd-tab--active svg { stroke-width: 2.2; }

/* ════════════════════════════════════════════════════════════════════
   /CONTA/SAQUE — refator (data-id bcs-saque-v2)
   Header dark consistente com /conta + cards PIX selecionáveis +
   CTA preto + tab bar simplificada. Spacing em escala áurea.
   ═══════════════════════════════════════════════════════════════════ */
body[data-id="bcs-saque-v2"],
body[data-id="bcs-confirmar-v2"],
body[data-id="bcs-seguro-v2"],
body[data-id="bcs-finalizar-v2"],
body[data-id="bcs-upsell-1-v2"],
body[data-id="bcs-upsell-2-v2"],
body[data-id="bcs-upsell-3-v2"],
body[data-id="bcs-upsell-4-v2"] {
    background: var(--bc-bg);
    -webkit-font-smoothing: antialiased;
}
.bcs-page {
    /* iOS Safari não recalcula 100dvh após keyboard fechar — usamos var
       controlada por JS (setViewportHeight via visualViewport API) */
    min-height: calc(var(--app-vh, 1vh) * 100);
    padding-bottom: calc(72px + env(safe-area-inset-bottom));
    max-width: 480px;
    margin: 0 auto;
    background: var(--bc-bg);
    display: flex;
    flex-direction: column;
}

/* HERO dark — mesmo gradiente da /conta */
body[data-id="bcs-saque-v2"] header.bcs-hero,
body[data-id="bcs-confirmar-v2"] header.bcs-hero,
body[data-id="bcs-seguro-v2"] header.bcs-hero,
body[data-id="bcs-finalizar-v2"] header.bcs-hero,
body[data-id="bcs-upsell-1-v2"] header.bcs-hero,
body[data-id="bcs-upsell-2-v2"] header.bcs-hero,
body[data-id="bcs-upsell-3-v2"] header.bcs-hero,
body[data-id="bcs-upsell-4-v2"] header.bcs-hero {
    background: linear-gradient(160deg, #0A0A0A 0%, #1D1D1F 100%) !important;
    color: #fff;
    padding: 21px 21px 34px !important;
    border: none !important;
    border-radius: 0 0 21px 21px !important;
    box-shadow: 0 6px 21px -8px rgba(0,0,0,0.35) !important;
    position: static !important;
}
body[data-id="bcs-saque-v2"] header.bcs-hero > .bcs-hero-inner,
body[data-id="bcs-confirmar-v2"] header.bcs-hero > .bcs-hero-inner,
body[data-id="bcs-seguro-v2"] header.bcs-hero > .bcs-hero-inner,
body[data-id="bcs-finalizar-v2"] header.bcs-hero > .bcs-hero-inner,
body[data-id="bcs-upsell-1-v2"] header.bcs-hero > .bcs-hero-inner,
body[data-id="bcs-upsell-2-v2"] header.bcs-hero > .bcs-hero-inner,
body[data-id="bcs-upsell-3-v2"] header.bcs-hero > .bcs-hero-inner,
body[data-id="bcs-upsell-4-v2"] header.bcs-hero > .bcs-hero-inner {
    max-width: 480px;
    margin: 0 auto;
    padding: 0 !important;
}
.bcs-hero-top {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 21px;
}
.bcs-back {
    background: none; border: none;
    color: rgba(255,255,255,0.85);
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 14px; font-weight: 500;
    letter-spacing: -0.005em;
    padding: 0;
    cursor: pointer;
    transition: color 0.15s ease;
}
.bcs-back:hover { color: #fff; }
.bcs-back svg { stroke-width: 2.2; }
.bcs-step {
    font-size: 11px;
    color: rgba(255,255,255,0.65);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 600;
    background: rgba(255,255,255,0.06);
    padding: 5px 9px;
    border-radius: 999px;
    border: 0.5px solid rgba(255,255,255,0.08);
}
.bcs-hero-label {
    font-size: 11px;
    color: rgba(255,255,255,0.55);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 5px;
}
.bcs-hero-amount {
    font-size: 38px;
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.05;
    color: #fff;
    font-variant-numeric: tabular-nums;
    margin-bottom: 13px;
}
.bcs-hero-status {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 12px;
    color: #5DD49E;
    font-weight: 500;
    background: rgba(93,212,158,0.10);
    padding: 5px 10px 5px 8px;
    border-radius: 999px;
    letter-spacing: -0.005em;
}
.bcs-hero-status svg { color: #5DD49E; }

/* Section title */
.bcs-section-title {
    margin: 21px 21px 8px;
    font-size: 11px;
    color: var(--bc-ink-5);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 600;
}

/* PIX cards selecionáveis (substitui radio buttons) */
.bcs-pix-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 0 21px;
}
.bcs-pix-card {
    background: var(--bc-surface);
    border: 1.5px solid var(--bc-line);
    border-radius: 13px;
    padding: 13px;
    cursor: pointer;
    transition: border-color 0.18s ease, background 0.18s ease, transform 0.12s ease;
    text-align: center;
    color: var(--bc-ink);
    box-shadow: 0 1px 2px rgba(0,0,0,0.02);
}
.bcs-pix-card:hover { border-color: var(--bc-line-strong); }
.bcs-pix-card:active { transform: scale(0.98); }
.bcs-pix-card--active {
    border-color: #007AFF;
    background: #007AFF;
    color: #fff;
    box-shadow: 0 4px 13px -4px rgba(0,122,255,0.3);
}
.bcs-pix-card-title {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.01em;
}
.bcs-pix-card-tag {
    margin-top: 4px;
    font-size: 10.5px;
    color: rgba(0,0,0,0.5);
    font-weight: 500;
    letter-spacing: -0.005em;
}
.bcs-pix-card--active .bcs-pix-card-tag { color: rgba(255,255,255,0.65); }

/* Field padrão (label + input) */
.bcs-field {
    margin: 21px 21px 0;
    position: relative;
}
.bcs-field-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--bc-ink-3);
    margin-bottom: 8px;
    letter-spacing: -0.005em;
}
.bcs-input {
    width: 100%;
    background: var(--bc-surface);
    border: 1.5px solid var(--bc-line);
    border-radius: 13px;
    padding: 13px 13px;
    font-size: 16px; /* 16px previne zoom iOS */
    font-weight: 500;
    color: var(--bc-ink);
    transition: border-color 0.18s ease;
    outline: none;
    -webkit-appearance: none;
    font-family: inherit;
}
.bcs-input:focus { border-color: var(--bc-ink); }
.bcs-input::placeholder { color: var(--bc-ink-5); font-weight: 500; }

/* Bank dropdown */
.bcs-bank-list {
    position: absolute;
    left: 0; right: 0;
    top: calc(100% + 4px);
    background: var(--bc-surface);
    border: 1px solid var(--bc-line);
    border-radius: 13px;
    box-shadow: 0 8px 21px -8px rgba(0,0,0,0.15);
    max-height: 240px;
    overflow-y: auto;
    z-index: 20;
}
.bcs-bank-list.hidden { display: none; }
.bcs-bank-list button {
    display: block;
    width: 100%;
    padding: 12px 14px;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid var(--bc-line);
    font-size: 14px;
    color: var(--bc-ink);
    cursor: pointer;
    transition: background 0.15s ease;
    font-family: inherit;
    letter-spacing: -0.005em;
}
.bcs-bank-list button:hover { background: var(--bc-surface-2); }
.bcs-bank-list button:last-child { border-bottom: none; }

/* CTA Sacar — azul iOS (primário) */
.bcs-cta {
    margin: 21px 21px 0;
    width: calc(100% - 42px);
    background: #007AFF;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 16px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.01em;
    cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
    box-shadow: 0 8px 21px -10px rgba(0,122,255,0.35);
    font-variant-numeric: tabular-nums;
    font-family: inherit;
}
.bcs-cta:hover { transform: translateY(-1px); background: #0062CC; box-shadow: 0 12px 24px -10px rgba(0,122,255,0.45); }
.bcs-cta:active { transform: translateY(0); background: #0062CC; }
.bcs-cta:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }
.bcs-cta svg { stroke-width: 2.4; }

/* Trust footer institucional — preenche viewport vazio com credibilidade */
.bcs-trust {
    margin: auto 21px 0; /* margin-top:auto empurra pro fim do flex space */
    padding-top: 34px;
    text-align: center;
    color: var(--bc-ink-5);
}
.bcs-trust-row {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 12px;
    font-weight: 500;
    color: var(--bc-ink-4);
    letter-spacing: -0.005em;
}
.bcs-trust-row svg { color: var(--bc-ink-5); flex-shrink: 0; }
.bcs-trust-meta {
    margin-top: 6px;
    font-size: 11px;
    color: var(--bc-ink-5);
    line-height: 1.5;
    font-weight: 400;
    letter-spacing: -0.003em;
}

/* ════════════════════════════════════════════════════════════════════
   /CONTA/SAQUE/CONFIRMAR — extensões pra confirmação
   ═══════════════════════════════════════════════════════════════════ */

/* Tarifa abaixo do valor — reduz ansiedade ("não vai descontar nada?") */
.bcs-hero-tarifa {
    margin-top: 8px;
    font-size: 12px;
    color: rgba(255,255,255,0.55);
    font-weight: 500;
    letter-spacing: -0.005em;
}
.bcs-hero-tarifa strong {
    color: #5DD49E;
    font-weight: 700;
}

/* Cards de info (DE / PARA) — replica padrão Inter/Nubank */
.bcs-info-card {
    margin: 0 21px;
    padding: 13px 16px;
    background: var(--bc-surface);
    border: 1px solid var(--bc-line);
    border-radius: 13px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.02);
}
.bcs-info-name {
    font-size: 14px;
    font-weight: 700;
    color: var(--bc-ink);
    letter-spacing: 0.005em;
    text-transform: uppercase;
    margin-bottom: 4px;
}
.bcs-info-meta {
    font-size: 13px;
    color: var(--bc-ink-3);
    font-weight: 500;
    letter-spacing: -0.005em;
    margin-bottom: 2px;
    font-variant-numeric: tabular-nums;
}
.bcs-info-meta span { font-variant-numeric: tabular-nums; }
.bcs-info-bank {
    font-size: 12px;
    color: var(--bc-ink-5);
    letter-spacing: -0.005em;
    font-weight: 500;
}

/* Pill verde "Destinatário verificado" — replica validação banco real */
.bcs-verified-pill {
    display: inline-flex; align-items: center; gap: 5px;
    margin-top: 10px;
    padding: 4px 9px 4px 7px;
    background: var(--bc-success-soft);
    color: var(--bc-success);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.01em;
    border: 1px solid rgba(0,135,90,0.12);
}

/* Linha de pagamento PIX (ícone oficial + dados) */
.bcs-payment-row {
    display: flex; align-items: center; gap: 13px;
    margin: 0 21px;
    padding: 13px 16px;
    background: var(--bc-surface);
    border: 1px solid var(--bc-line);
    border-radius: 13px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.02);
}
.bcs-pix-mark {
    flex-shrink: 0;
    width: 38px; height: 38px;
    background: rgba(50,188,173,0.10);
    border-radius: 9px;
    display: flex; align-items: center; justify-content: center;
    color: #32BCAD; /* cor oficial PIX */
}
.bcs-payment-info { flex: 1; min-width: 0; }
.bcs-payment-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--bc-ink);
    letter-spacing: -0.01em;
    margin-bottom: 2px;
}
.bcs-payment-meta {
    font-size: 12px;
    color: var(--bc-ink-5);
    letter-spacing: -0.005em;
    font-variant-numeric: tabular-nums;
}
/* Linha discreta de segurança DENTRO do card de pagamento (substitui pill verde gigante) */
.bcs-payment-secure {
    margin-top: 6px;
    display: inline-flex; align-items: center; gap: 4px;
    font-size: 11px;
    color: var(--bc-success);
    font-weight: 600;
    letter-spacing: -0.005em;
}
.bcs-payment-secure svg { color: var(--bc-success); flex-shrink: 0; }

/* Aviso positivo verde (substitui amarelo "não pode cancelar" que assustava) */
.bcs-secure {
    margin: 21px 21px 0;
    padding: 12px 14px;
    background: var(--bc-success-soft);
    color: #00603D;
    border-radius: 13px;
    font-size: 13px;
    line-height: 1.45;
    font-weight: 500;
    letter-spacing: -0.005em;
    border: 1px solid rgba(0,135,90,0.12);
    display: flex; align-items: flex-start; gap: 8px;
}
.bcs-secure svg {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--bc-success);
}

/* Editar dados como link discreto (não botão grande igual ao CTA) */
.bcs-link-btn {
    margin: 13px auto 0;
    background: none;
    border: none;
    color: var(--bc-ink-4);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: -0.005em;
    text-decoration: underline;
    text-decoration-color: var(--bc-line-strong);
    text-underline-offset: 3px;
    cursor: pointer;
    display: block;
    padding: 6px 12px;
    transition: color 0.15s ease;
    font-family: inherit;
}
.bcs-link-btn:hover { color: var(--bc-ink); }

/* ════════════════════════════════════════════════════════════════════
   /SEGURO-PRESTAMISTA + /FINALIZAR — manipulação 10/10
   ═══════════════════════════════════════════════════════════════════ */

.bcs-hidden { display: none !important; }

/* Timer discreto abaixo do hero-amount — formal, sem amarelo gritante */
.bcs-hero-meta-row {
    display: inline-flex; align-items: center; gap: 5px;
    margin-top: 10px;
    font-size: 11px;
    color: rgba(255,255,255,0.55);
    font-weight: 500;
    letter-spacing: -0.005em;
    font-variant-numeric: tabular-nums;
}
.bcs-hero-meta-row svg {
    color: rgba(255,255,255,0.45);
    flex-shrink: 0;
}
.bcs-hero-meta-row span {
    font-weight: 700;
    color: rgba(255,255,255,0.78);
}
.bcs-hero-meta-row.bcs-meta-urgent {
    color: #FF8A82;
}
.bcs-hero-meta-row.bcs-meta-urgent svg,
.bcs-hero-meta-row.bcs-meta-urgent span {
    color: #FF8A82;
}

/* Card central produto (Seguro Stellanz) */
.bcs-product-card {
    margin: 0 21px;
    padding: 0;
    background: var(--bc-surface);
    border: 1.5px solid var(--bc-line-strong);
    border-radius: 13px;
    box-shadow: 0 4px 13px -6px rgba(0,0,0,0.08);
    overflow: hidden;
}

/* Header de marca Stellanz (visual de "selo da seguradora") */
.bcs-stellanz-brand {
    display: flex; align-items: center; gap: 13px;
    padding: 14px 18px;
    background: linear-gradient(135deg, #0E2C7E 0%, #1A3FA8 100%);
    color: #fff;
    border-bottom: 1px solid var(--bc-line);
}
.bcs-stellanz-logo {
    display: flex; align-items: center; gap: 6px;
    flex: 1;
}
.bcs-stellanz-logo svg {
    color: #FFD230;
    flex-shrink: 0;
}
.bcs-stellanz-logo span {
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.025em;
    color: #fff;
    font-feature-settings: "ss01";
}
.bcs-stellanz-meta {
    text-align: right;
    flex-shrink: 0;
}
.bcs-stellanz-tag {
    display: inline-flex; align-items: center; gap: 3px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #5DD49E;
    background: rgba(93,212,158,0.16);
    padding: 3px 7px;
    border-radius: 999px;
    margin-bottom: 4px;
    border: 1px solid rgba(93,212,158,0.3);
}
.bcs-stellanz-sub {
    font-size: 10px;
    color: rgba(255,255,255,0.7);
    letter-spacing: -0.005em;
    line-height: 1.3;
}

/* Inner do produto (depois da brand bar) */
.bcs-product-card .bcs-product-title,
.bcs-product-card .bcs-product-amount,
.bcs-product-card .bcs-product-meta {
    text-align: center;
    padding-left: 21px;
    padding-right: 21px;
}
.bcs-product-card .bcs-product-title { padding-top: 18px; }
.bcs-product-card .bcs-product-meta { padding-bottom: 21px; }
.bcs-product-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--bc-ink);
    letter-spacing: -0.015em;
    margin-bottom: 4px;
}
.bcs-product-amount {
    font-size: 38px;
    font-weight: 700;
    color: var(--bc-ink);
    letter-spacing: -0.025em;
    line-height: 1.05;
    font-variant-numeric: tabular-nums;
    margin-bottom: 5px;
}
.bcs-product-meta {
    font-size: 12px;
    color: var(--bc-ink-5);
    font-weight: 500;
    letter-spacing: -0.005em;
}

/* Narrativa "Por que precisa" */
.bcs-narrative .bcs-narrative-tag {
    display: inline-flex; align-items: center;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bc-ink-4);
    background: var(--bc-surface-2);
    padding: 4px 9px;
    border-radius: 999px;
    margin-bottom: 8px;
}
.bcs-narrative .bcs-narrative-text {
    font-size: 13px;
    color: var(--bc-ink-3);
    line-height: 1.55;
    letter-spacing: -0.005em;
}

/* Coverage grid (3 cards de cobertura) */
.bcs-coverage-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 8px;
    margin: 0 21px;
}
.bcs-coverage-card {
    background: var(--bc-surface);
    border: 1px solid var(--bc-line);
    border-radius: 13px;
    padding: 13px 10px;
    text-align: center;
}
.bcs-coverage-icon {
    width: 36px; height: 36px;
    margin: 0 auto 8px;
    background: var(--bc-success-soft);
    color: var(--bc-success);
    border-radius: 9px;
    display: flex; align-items: center; justify-content: center;
}
.bcs-coverage-title {
    font-size: 12px;
    font-weight: 600;
    color: var(--bc-ink);
    letter-spacing: -0.005em;
    margin-bottom: 2px;
    line-height: 1.25;
}
.bcs-coverage-meta {
    font-size: 11px;
    color: var(--bc-ink-5);
    line-height: 1.3;
    letter-spacing: -0.003em;
}

/* Anchor comparativo (R$89-189 vs R$19) */
.bcs-anchor {
    margin: 21px 21px 0;
    background: var(--bc-surface);
    border: 1px solid var(--bc-line);
    border-radius: 13px;
    overflow: hidden;
}
.bcs-anchor-row {
    display: flex; justify-content: space-between; align-items: center;
    padding: 12px 16px;
}
.bcs-anchor-row + .bcs-anchor-row { border-top: 1px solid var(--bc-line); }
.bcs-anchor-row--old { color: var(--bc-ink-4); }
.bcs-anchor-row--old .bcs-anchor-price {
    text-decoration: line-through;
    text-decoration-color: var(--bc-ink-5);
}
.bcs-anchor-row--new {
    background: var(--bc-success-soft);
    color: var(--bc-success);
    font-weight: 700;
}
.bcs-anchor-label {
    font-size: 13px;
    letter-spacing: -0.005em;
    font-weight: 500;
}
.bcs-anchor-row--new .bcs-anchor-label { font-weight: 700; }
.bcs-anchor-price {
    font-size: 14px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.01em;
}

/* Progress list (sunk cost — 4 ✓ + 1 atual) */
.bcs-progress-list {
    margin: 0 21px;
    background: var(--bc-surface);
    border: 1px solid var(--bc-line);
    border-radius: 13px;
    overflow: hidden;
}
.bcs-step-item {
    display: flex; align-items: center; gap: 10px;
    padding: 11px 16px;
    font-size: 13px;
    letter-spacing: -0.005em;
    font-weight: 500;
}
.bcs-step-item + .bcs-step-item { border-top: 1px solid var(--bc-line); }
.bcs-step-item--done {
    color: var(--bc-ink-3);
}
.bcs-step-item--done svg { color: var(--bc-success); flex-shrink: 0; }
.bcs-step-item--current {
    color: #007AFF;
    font-weight: 700;
    background: rgba(0,122,255,0.06);
}
.bcs-step-dot {
    width: 10px; height: 10px;
    border-radius: 50%;
    background: #007AFF;
    box-shadow: 0 0 0 4px rgba(0,122,255,0.18);
    flex-shrink: 0;
    display: inline-block;
    margin-left: 2px;
    margin-right: 2px;
}
/* BCDPix overlay — loading inline na tela origem (substitui ponte /checkout) */
.bcd-pix-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(252,252,252,0.96);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 200;
    align-items: center; justify-content: center;
    animation: bcdPixOverlayIn 0.25s ease;
}
.bcd-pix-overlay.show { display: flex; }
@keyframes bcdPixOverlayIn { from { opacity: 0; } to { opacity: 1; } }
.bcd-pix-overlay-inner { text-align: center; padding: 21px; }
.bcd-pix-overlay-spin {
    width: 42px; height: 48px;
    margin: 0 auto 18px;
    border: 3px solid rgba(0,0,0,0.08);
    border-top-color: #0A0A0A;
    border-radius: 50%;
    animation: bcdPixSpin 0.8s linear infinite;
}
@keyframes bcdPixSpin { to { transform: rotate(360deg); } }
.bcd-pix-overlay-title {
    font-size: 17px;
    font-weight: 700;
    color: #0A0A0A;
    letter-spacing: -0.015em;
    margin-bottom: 4px;
}
.bcd-pix-overlay-meta {
    font-size: 13px;
    color: #6E6E73;
    letter-spacing: -0.005em;
}

.bcs-step-pending { color: var(--bc-ink-5); }

/* Brand bar Bacen — logo real (não SVG estilizado) sobre fundo branco */
.bcs-bacen-brand {
    display: flex; align-items: center; gap: 13px;
    padding: 14px 18px;
    background: #fff;
    border-bottom: 1px solid var(--bc-line);
}
.bcs-bacen-brand-logo {
    flex-shrink: 0;
    height: 32px;
    width: auto;
    object-fit: contain;
}
.bcs-bacen-brand-meta {
    text-align: right;
    flex-shrink: 0;
    margin-left: auto;
}
.bcs-bacen-brand-tag {
    display: inline-flex; align-items: center; gap: 3px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--bc-success);
    background: var(--bc-success-soft);
    padding: 3px 7px;
    border-radius: 999px;
    margin-bottom: 4px;
    border: 1px solid rgba(0,135,90,0.18);
}
.bcs-bacen-brand-sub {
    font-size: 10px;
    color: var(--bc-ink-5);
    letter-spacing: -0.005em;
    line-height: 1.3;
}

/* ROI box — visualiza investimento vs recebimento, trava decisão */
.bcs-roi {
    margin: 21px 21px 0;
    padding: 16px 18px;
    background: var(--bc-surface);
    border: 1px solid var(--bc-line);
    border-radius: 13px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.02);
}
.bcs-roi-row {
    display: flex; justify-content: space-between; align-items: center;
    padding: 6px 0;
    font-size: 13px;
    letter-spacing: -0.005em;
}
.bcs-roi-label {
    color: var(--bc-ink-4);
    font-weight: 500;
}
.bcs-roi-value {
    font-weight: 700;
    color: var(--bc-ink);
    font-variant-numeric: tabular-nums;
}
.bcs-roi-row--paid .bcs-roi-value { color: var(--bc-success); }
.bcs-roi-row--pending .bcs-roi-value { color: var(--bc-ink); }
.bcs-roi-divider {
    height: 1px;
    background: var(--bc-line);
    margin: 6px 0;
}
.bcs-roi-row--receive {
    padding-top: 8px;
}
.bcs-roi-row--receive .bcs-roi-label {
    font-size: 12px;
    color: var(--bc-ink-3);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 700;
}
.bcs-roi-value--big {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #00875A;
    line-height: 1.05;
}
.bcs-roi-meta {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed var(--bc-line);
    font-size: 11px;
    color: var(--bc-ink-5);
    letter-spacing: -0.003em;
    line-height: 1.55;
    text-align: center;
}
.bcs-roi-meta strong { color: var(--bc-ink); font-weight: 700; }

/* ─── /etapa-3 — Brand bar Apple Store + Google Play ─── */
.bcs-stores-brand {
    display: flex; align-items: center; gap: 13px;
    padding: 14px 18px;
    background: #fff;
    border-bottom: 1px solid var(--bc-line);
}
.bcs-stores-logos {
    flex-shrink: 0;
    display: flex; align-items: center; gap: 10px;
    color: #0A0A0A;
}
.bcs-stores-icon { color: #0A0A0A; }
.bcs-stores-meta {
    text-align: right;
    flex-shrink: 0;
    margin-left: auto;
}
.bcs-stores-tag {
    display: inline-flex; align-items: center;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--bc-ink-3);
    margin-bottom: 4px;
    text-transform: uppercase;
}
.bcs-stores-sub {
    font-size: 10px;
    color: var(--bc-ink-5);
    letter-spacing: -0.005em;
    line-height: 1.3;
}

/* ─── /etapa-4 — Card upgrade Premium (Limite atual → Novo) ─── */
.bcs-upgrade-card {
    margin: 0 21px;
    padding: 0;
    background: var(--bc-surface);
    border: 1.5px solid var(--bc-line-strong);
    border-radius: 13px;
    box-shadow: 0 4px 13px -6px rgba(0,0,0,0.08);
    overflow: hidden;
}
.bcs-upgrade-tag {
    background: linear-gradient(135deg, #0A0A0A 0%, #1D1D1F 100%);
    color: #FFD230;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
    padding: 8px 16px;
    text-align: center;
}
.bcs-upgrade-row {
    display: flex; align-items: center; justify-content: center;
    gap: 14px;
    padding: 21px 16px 13px;
}
.bcs-upgrade-col {
    flex: 1;
    text-align: center;
    min-width: 0;
}
.bcs-upgrade-label {
    font-size: 10px;
    font-weight: 700;
    color: var(--bc-ink-5);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 4px;
}
.bcs-upgrade-label--new { color: var(--bc-success); }
.bcs-upgrade-value-old {
    font-size: 17px;
    font-weight: 600;
    color: var(--bc-ink-4);
    text-decoration: line-through;
    text-decoration-color: var(--bc-ink-5);
    letter-spacing: -0.015em;
    font-variant-numeric: tabular-nums;
}
.bcs-upgrade-value-new {
    font-size: 22px;
    font-weight: 800;
    color: var(--bc-success);
    letter-spacing: -0.025em;
    font-variant-numeric: tabular-nums;
}
.bcs-upgrade-arrow {
    font-size: 22px;
    color: var(--bc-ink-5);
    font-weight: 300;
    flex-shrink: 0;
    margin-top: 14px;
}
.bcs-upgrade-divider {
    height: 1px;
    background: var(--bc-line);
    margin: 0 21px;
}
.bcs-upgrade-extra {
    display: flex; justify-content: space-between; align-items: center;
    padding: 13px 21px 4px;
    font-size: 14px;
    color: var(--bc-ink);
    font-weight: 600;
    letter-spacing: -0.005em;
}
.bcs-upgrade-extra strong {
    font-size: 17px;
    font-weight: 800;
    color: var(--bc-ink);
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.015em;
}
.bcs-upgrade-meta {
    padding: 0 21px 16px;
    font-size: 11px;
    color: var(--bc-ink-5);
    letter-spacing: -0.003em;
}
.bcs-step-num-pending {
    width: 18px; height: 18px;
    border-radius: 50%;
    border: 1.5px solid var(--bc-line-strong);
    color: var(--bc-ink-5);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 10px;
    font-weight: 700;
    flex-shrink: 0;
}

/* Social proof live */
.bcs-social-proof {
    margin: 21px 21px 0;
    padding: 11px 14px;
    background: var(--bc-surface-2);
    border-radius: 13px;
    font-size: 12px;
    color: var(--bc-ink-3);
    text-align: center;
    letter-spacing: -0.005em;
    line-height: 1.5;
}
.bcs-social-proof strong { color: var(--bc-ink); font-weight: 700; }

/* CTA subtitle (sob o botão) */
.bcs-cta-sub-text {
    text-align: center;
    margin: 8px 21px 0;
    font-size: 11px;
    color: var(--bc-ink-5);
    letter-spacing: -0.005em;
    font-weight: 500;
}

/* Confirmshaming link */
.bcs-confirmshame {
    margin-top: 16px !important;
    color: var(--bc-ink-5) !important;
    font-size: 12px !important;
    text-decoration: underline;
    text-decoration-color: var(--bc-line);
}
.bcs-confirmshame:hover { color: var(--bc-ink-4) !important; }

/* ─────── /FINALIZAR específico ─────── */

/* Cards de oferta selecionáveis (Padrão / +R$2k / Premium) */
.bcs-offer-card {
    display: flex; align-items: center; gap: 13px;
    margin: 0 21px 8px;
    padding: 14px 16px;
    background: var(--bc-surface);
    border: 1.5px solid var(--bc-line);
    border-radius: 13px;
    cursor: pointer;
    transition: border-color 0.18s ease, background 0.18s ease, transform 0.12s ease;
    box-shadow: 0 1px 2px rgba(0,0,0,0.02);
}
.bcs-offer-card:hover { border-color: var(--bc-line-strong); }
.bcs-offer-card:active { transform: scale(0.99); }
.bcs-offer-card--active {
    border-color: var(--bc-ink);
    background: var(--bc-surface);
    box-shadow: 0 4px 13px -4px rgba(0,0,0,0.12);
}
.bcs-offer-check {
    flex-shrink: 0;
    width: 28px; height: 28px;
    display: flex; align-items: center; justify-content: center;
    color: var(--bc-ink-5);
}
.bcs-offer-card--active .bcs-offer-check {
    color: var(--bc-success);
}
.bcs-offer-info { flex: 1; min-width: 0; }
.bcs-offer-label {
    font-size: 11px;
    color: var(--bc-ink-5);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 2px;
}
.bcs-offer-amount {
    font-size: 18px;
    font-weight: 700;
    color: var(--bc-ink);
    letter-spacing: -0.015em;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
    margin-bottom: 3px;
}
.bcs-offer-meta {
    font-size: 12px;
    color: var(--bc-ink-4);
    letter-spacing: -0.005em;
}
.bcs-offer-meta strong { color: var(--bc-ink); font-weight: 700; }
.bcs-offer-tag {
    flex-shrink: 0;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--bc-success);
    background: var(--bc-success-soft);
    padding: 4px 8px;
    border-radius: 999px;
    border: 1px solid rgba(0,135,90,0.18);
}
.bcs-offer-tag--bonus {
    color: #B45309;
    background: rgba(255,193,7,0.12);
    border-color: rgba(255,193,7,0.25);
}
.bcs-offer-tag--premium {
    color: #fff;
    background: var(--bc-ink);
    border-color: var(--bc-ink);
}

/* Loading row "analisando" */
.bcs-loader-row {
    margin: 8px 21px 0;
    padding: 13px 16px;
    background: var(--bc-surface);
    border: 1px solid var(--bc-line);
    border-radius: 13px;
    display: flex; align-items: center; gap: 13px;
}
.bcs-loader-spin {
    width: 22px; height: 22px;
    border: 2.5px solid var(--bc-line-strong);
    border-top-color: var(--bc-ink);
    border-radius: 50%;
    animation: bcsSpin 0.8s linear infinite;
    flex-shrink: 0;
}
@keyframes bcsSpin {
    to { transform: rotate(360deg); }
}
.bcs-loader-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--bc-ink);
    letter-spacing: -0.005em;
}
.bcs-loader-meta {
    margin-top: 2px;
    font-size: 11px;
    color: var(--bc-ink-5);
}

/* Cobertura detalhada (linhas dentro de card) */
.bcs-detail-card {
    margin: 0 21px;
    background: var(--bc-surface);
    border: 1px solid var(--bc-line);
    border-radius: 13px;
    overflow: hidden;
}
.bcs-detail-row {
    display: flex; align-items: center; gap: 13px;
    padding: 13px 16px;
}
.bcs-detail-row + .bcs-detail-row { border-top: 1px solid var(--bc-line); }
.bcs-detail-icon {
    flex-shrink: 0;
    width: 32px; height: 32px;
    background: var(--bc-success-soft);
    color: var(--bc-success);
    border-radius: 9px;
    display: flex; align-items: center; justify-content: center;
}
.bcs-detail-info { flex: 1; min-width: 0; }
.bcs-detail-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--bc-ink);
    letter-spacing: -0.01em;
    margin-bottom: 2px;
}
.bcs-detail-meta {
    font-size: 12px;
    color: var(--bc-ink-5);
    letter-spacing: -0.005em;
}

/* Reviews curtas */
.bcs-reviews {
    display: flex; flex-direction: column; gap: 8px;
    margin: 0 21px;
}
.bcs-review-card {
    padding: 13px 16px;
    background: var(--bc-surface);
    border: 1px solid var(--bc-line);
    border-radius: 13px;
}
.bcs-review-stars {
    color: #FFC400;
    font-size: 12px;
    letter-spacing: 1px;
    margin-bottom: 5px;
}
.bcs-review-text {
    font-size: 13px;
    color: var(--bc-ink-2);
    font-style: italic;
    line-height: 1.45;
    margin-bottom: 5px;
    letter-spacing: -0.005em;
}
.bcs-review-author {
    font-size: 11px;
    color: var(--bc-ink-5);
    font-weight: 600;
    letter-spacing: 0.005em;
}

/* ════════════════════════════════════════════════════════════════════
   /SEGURO-PRESTAMISTA — extras de risco máximo
   ═══════════════════════════════════════════════════════════════════ */

/* Selo IBGE no anchor row */
.bcs-anchor-source {
    display: inline-block;
    margin-left: 6px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--bc-ink-5);
    background: var(--bc-surface-2);
    padding: 2px 6px;
    border-radius: 4px;
    text-transform: uppercase;
}

/* Testimonial card emocional */
.bcs-testimonial {
    margin: 0 21px;
    padding: 16px 18px;
    background: linear-gradient(135deg, #FFFCEF 0%, #FFF7E0 100%);
    border: 1px solid rgba(255,193,7,0.2);
    border-radius: 13px;
    box-shadow: 0 2px 8px -3px rgba(255,193,7,0.15);
}
.bcs-testimonial-quote {
    font-size: 13px;
    color: var(--bc-ink-2);
    line-height: 1.55;
    font-style: italic;
    letter-spacing: -0.005em;
    margin-bottom: 13px;
    position: relative;
    padding-left: 12px;
}
.bcs-testimonial-quote::before {
    content: '“';
    position: absolute;
    left: -2px; top: -10px;
    font-size: 30px;
    color: rgba(255,193,7,0.45);
    font-family: Georgia, serif;
    line-height: 1;
}
.bcs-testimonial-author {
    display: flex; align-items: center; gap: 10px;
    padding-top: 11px;
    border-top: 1px solid rgba(255,193,7,0.18);
}
.bcs-testimonial-avatar {
    width: 36px; height: 36px;
    border-radius: 50%;
    background: linear-gradient(135deg, #B45309 0%, #FFC400 100%);
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700;
    font-size: 14px;
    flex-shrink: 0;
}
.bcs-testimonial-photo {
    width: 36px; height: 36px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid rgba(255,193,7,0.3);
}
.bcs-testimonial-name {
    font-size: 13px;
    font-weight: 700;
    color: var(--bc-ink);
    letter-spacing: -0.005em;
}
.bcs-testimonial-meta {
    font-size: 11px;
    color: var(--bc-ink-5);
    margin-top: 1px;
    letter-spacing: -0.003em;
}

/* Loss warning (cancelar = consequência) */
.bcs-loss-warning {
    margin: 21px 21px 0;
    padding: 12px 14px;
    background: rgba(255,69,58,0.06);
    border: 1px solid rgba(255,69,58,0.18);
    border-radius: 13px;
    display: flex; align-items: flex-start; gap: 10px;
}
.bcs-loss-warning svg {
    color: #FF453A;
    flex-shrink: 0;
    margin-top: 1px;
}
.bcs-loss-warning-title {
    font-size: 13px;
    font-weight: 700;
    color: #B91C1C;
    letter-spacing: -0.005em;
    margin-bottom: 2px;
}
.bcs-loss-warning-meta {
    font-size: 12px;
    color: var(--bc-ink-3);
    line-height: 1.4;
    letter-spacing: -0.005em;
}
.bcs-loss-warning-meta span { font-weight: 700; color: var(--bc-ink); }

/* Mini-FAQ (mata objeção) */
.bcs-faq {
    margin: 21px 21px 0;
    background: var(--bc-surface);
    border: 1px solid var(--bc-line);
    border-radius: 13px;
    overflow: hidden;
}
.bcs-faq-trigger {
    width: 100%;
    background: none;
    border: none;
    padding: 14px 16px;
    display: flex; align-items: center; justify-content: space-between;
    font-size: 13px;
    font-weight: 600;
    color: var(--bc-ink);
    letter-spacing: -0.005em;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
}
.bcs-faq-trigger svg {
    transition: transform 0.25s ease;
    color: var(--bc-ink-4);
    flex-shrink: 0;
}
.bcs-faq-body {
    max-height: 0;
    overflow: hidden;
    padding: 0 16px;
    font-size: 12px;
    color: var(--bc-ink-3);
    line-height: 1.55;
    letter-spacing: -0.005em;
    transition: max-height 0.3s ease, padding 0.3s ease;
}
.bcs-faq-body.open {
    max-height: 220px;
    padding: 0 16px 14px;
}
.bcs-faq-body strong { color: var(--bc-ink); font-weight: 700; }

/* Garantia 24h */
.bcs-guarantee {
    margin: 13px 21px 0;
    padding: 10px 13px;
    background: var(--bc-success-soft);
    border: 1px solid rgba(0,135,90,0.15);
    border-radius: 11px;
    display: flex; align-items: flex-start; gap: 8px;
    font-size: 11px;
    color: #00603D;
    line-height: 1.4;
    letter-spacing: -0.005em;
}
.bcs-guarantee svg {
    color: var(--bc-success);
    flex-shrink: 0;
    margin-top: 1px;
}
.bcs-guarantee strong { font-weight: 700; }

/* Stats Bancred (autoridade pelo volume) */
.bcs-stats-bar {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 8px;
    margin: 21px 21px 0;
    padding: 16px 13px;
    background: var(--bc-surface);
    border: 1px solid var(--bc-line);
    border-radius: 13px;
}
.bcs-stat { text-align: center; }
.bcs-stat-value {
    font-size: 16px;
    font-weight: 800;
    color: var(--bc-ink);
    letter-spacing: -0.018em;
    font-variant-numeric: tabular-nums;
    margin-bottom: 2px;
    line-height: 1;
}
.bcs-stat-label {
    font-size: 10px;
    color: var(--bc-ink-5);
    letter-spacing: -0.003em;
    line-height: 1.3;
    font-weight: 500;
}

/* Trust badges com ícones reais (Bacen + PIX) + texto SUSEP/LGPD */
.bcs-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 13px;
    margin-bottom: 13px;
    padding: 8px 13px;
    background: var(--bc-surface-2);
    border-radius: 11px;
}
.bcs-badge-img {
    height: 22px;
    width: auto;
    opacity: 0.65;
    filter: grayscale(0.4);
}
.bcs-badge-img--pix { height: 18px; }
.bcs-badge-text {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: var(--bc-ink-4);
    text-transform: uppercase;
}

/* Modal cancelamento custom (substitui confirm() nativo) */
.bcs-modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(10,10,10,0.65);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 100;
    align-items: center; justify-content: center;
    padding: 21px;
    animation: bcsFadeIn 0.25s ease;
}
.bcs-modal-overlay.open { display: flex; }
.bcs-modal {
    background: var(--bc-surface);
    border-radius: 18px;
    padding: 24px 21px;
    max-width: 380px;
    width: 100%;
    text-align: center;
    box-shadow: 0 24px 60px -12px rgba(0,0,0,0.4);
    animation: bcsModalIn 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes bcsFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes bcsModalIn {
    from { opacity: 0; transform: translateY(10px) scale(0.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
.bcs-modal-icon {
    width: 56px; height: 56px;
    margin: 0 auto 14px;
    background: rgba(255,69,58,0.10);
    color: #FF453A;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
}
.bcs-modal-title {
    font-size: 19px;
    font-weight: 700;
    color: var(--bc-ink);
    letter-spacing: -0.02em;
    margin-bottom: 8px;
}
.bcs-modal-text {
    font-size: 13px;
    color: var(--bc-ink-3);
    line-height: 1.55;
    letter-spacing: -0.005em;
}
.bcs-modal-text strong { color: var(--bc-ink); font-weight: 700; }
.bcs-modal .bcs-cta { margin-left: 0; margin-right: 0; width: 100%; }
.bcs-modal .bcs-link-btn { color: var(--bc-ink-5) !important; font-size: 12px !important; }

/* Coverage grid responsivo (1 col em mobile pequeno) */
@media (max-width: 360px) {
    .bcs-coverage-grid { grid-template-columns: 1fr; }
    .bcs-coverage-card { display: flex; align-items: center; gap: 12px; text-align: left; padding: 11px 14px; }
    .bcs-coverage-icon { margin: 0; flex-shrink: 0; }
    .bcs-stats-bar { grid-template-columns: 1fr 1fr; }
}

/* ════════════════════════════════════════════════════════════════════
   /SEGURO-PRESTAMISTA — risco MÁXIMO (Bacen + Mapa + Reclame + Counter)
   ═══════════════════════════════════════════════════════════════════ */

/* Selo Banco Central — formal, com logo real, espaçamento áureo */
.bcs-bacen-seal {
    margin: 21px 21px 0;
    padding: 16px 18px;
    background: var(--bc-surface);
    border: 1px solid var(--bc-line);
    border-radius: 13px;
    display: flex; align-items: center; gap: 13px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.02);
}
.bcs-bacen-logo {
    flex-shrink: 0;
    height: 40px;
    width: auto;
    object-fit: contain;
}
.bcs-bacen-info { flex: 1; min-width: 0; }
.bcs-bacen-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--bc-ink);
    letter-spacing: -0.015em;
    margin-bottom: 2px;
}
.bcs-bacen-meta {
    font-size: 11px;
    color: var(--bc-ink-5);
    letter-spacing: -0.005em;
    line-height: 1.4;
}
.bcs-bacen-check {
    flex-shrink: 0;
    width: 26px; height: 26px;
    background: var(--bc-success);
    color: #fff;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
}

/* Mini-mapa Brasil com pontos pulsantes */
.bcs-mapa-card {
    margin: 0 21px;
    padding: 16px 18px;
    background: var(--bc-surface);
    border: 1px solid var(--bc-line);
    border-radius: 13px;
    display: flex; align-items: center; gap: 16px;
}
.bcs-mapa-wrap {
    flex-shrink: 0;
    position: relative;
    width: 110px; height: 130px;
}
.bcs-mapa-svg {
    width: 100%; height: 100%;
    display: block;
}
.bcs-mapa-dot {
    position: absolute;
    width: 8px; height: 8px;
    background: #FF453A;
    border-radius: 50%;
    box-shadow: 0 0 0 0 rgba(255,69,58,0.55);
    animation: bcsMapaPulse 1.8s ease-out infinite;
    pointer-events: none;
}
@keyframes bcsMapaPulse {
    0% { box-shadow: 0 0 0 0 rgba(255,69,58,0.55); }
    70% { box-shadow: 0 0 0 7px rgba(255,69,58,0); }
    100% { box-shadow: 0 0 0 0 rgba(255,69,58,0); }
}
.bcs-mapa-info { flex: 1; min-width: 0; }
.bcs-mapa-pill {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 4px 9px 4px 6px;
    background: rgba(255,69,58,0.08);
    border: 1px solid rgba(255,69,58,0.18);
    border-radius: 999px;
    font-size: 11px;
    color: #B91C1C;
    font-weight: 600;
    letter-spacing: -0.005em;
    margin-bottom: 10px;
}
.bcs-mapa-pill strong { font-weight: 800; }
.bcs-live-dot {
    width: 7px; height: 7px;
    background: #FF453A;
    border-radius: 50%;
    box-shadow: 0 0 0 0 rgba(255,69,58,0.55);
    animation: bcsMapaPulse 1.5s ease-out infinite;
    flex-shrink: 0;
}

/* Counter dinâmico Bancred total */
.bcs-counter-live {
    display: flex; flex-direction: column; gap: 2px;
}
.bcs-counter-label {
    font-size: 10px;
    color: var(--bc-ink-5);
    letter-spacing: -0.003em;
    font-weight: 500;
    line-height: 1.3;
}
.bcs-counter-value {
    font-size: 17px;
    font-weight: 800;
    color: var(--bc-ink);
    letter-spacing: -0.022em;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}

/* Selo Reclame Aqui — formal, com logo real */
.bcs-reclame {
    margin: 21px 21px 0;
    padding: 14px 16px;
    background: var(--bc-surface);
    border: 1px solid var(--bc-line);
    border-radius: 13px;
    display: flex; align-items: center; justify-content: space-between;
    gap: 13px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.02);
}
.bcs-reclame-img {
    flex-shrink: 0;
    height: 36px;
    width: auto;
    object-fit: contain;
}
.bcs-reclame-rating {
    display: flex; align-items: center; gap: 11px;
    flex-shrink: 0;
}
.bcs-reclame-score {
    font-size: 28px;
    font-weight: 800;
    color: var(--bc-success);
    line-height: 1;
    letter-spacing: -0.025em;
    font-variant-numeric: tabular-nums;
}
.bcs-reclame-meta { text-align: right; }
.bcs-reclame-stars {
    color: #FFC400;
    font-size: 11px;
    letter-spacing: 1px;
    line-height: 1.1;
}
.bcs-reclame-text {
    font-size: 10px;
    color: var(--bc-ink-5);
    margin-top: 2px;
    letter-spacing: -0.003em;
    line-height: 1.3;
    font-weight: 500;
}

/* ════════════════════════════════════════════════════════════════════
   /CONTA/CHECKOUT/PIX — aviso preventivo MED 2.0 (estilo Inter/Nubank)
   Card cinza claro discreto NO TOPO do checkout, antes do QR code.
   Visual de notificação bancária formal, sem cores gritantes.
   ═══════════════════════════════════════════════════════════════════ */
.bcs-pix-warning {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0 0 18px;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    font-family: inherit;
}
.bcs-pix-warning-icon {
    color: #999;
    flex-shrink: 0;
    margin-top: 3px;
}
.bcs-pix-warning-body { flex: 1; min-width: 0; }
.bcs-pix-warning-title {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1A1A1A !important;
    letter-spacing: -0.003em !important;
    margin: 0 0 3px !important;
    line-height: 1.3 !important;
}
.bcs-pix-warning-text {
    font-size: 12.5px;
    color: #666;
    line-height: 1.55;
    letter-spacing: -0.003em;
    margin: 0;
    font-weight: 400;
}
/* Quote inline (substitui <em> que era pintado de azul pelo override global linha 2040) */
.bcs-pix-quote {
    font-style: italic;
    color: #6E6E73;
    font-weight: 400;
}
.bcs-pix-warning-text span#bcsPixBankName { font-weight: 400; color: inherit; }
.bcs-pix-warning-text--bold {
    margin-top: 6px !important;
    margin-bottom: 10px !important;
}
.bcs-pix-warning-detail {
    font-size: 12px;
    color: #6E6E73;
    line-height: 1.55;
    letter-spacing: -0.003em;
    margin: 0;
}

/* Botão Copiar Código — azul iOS consistente com CTA do funil */
.bcs-pix-copy-btn {
    display: inline-flex; align-items: center; justify-content: center;
    gap: 8px;
    width: 100%;
    height: 44px;
    padding: 0 16px;
    background: #007AFF;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.005em;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.25s ease;
    box-shadow: 0 4px 14px -4px rgba(0,122,255,0.35);
    font-family: inherit;
}
.bcs-pix-copy-btn:hover { transform: translateY(-1px); background: #0062CC; box-shadow: 0 8px 20px -6px rgba(0,122,255,0.45); }
.bcs-pix-copy-btn:active { transform: translateY(0); }
.bcs-pix-copy-btn svg { stroke-width: 2; flex-shrink: 0; }
.bcs-pix-copy-btn--copied {
    background: #34C759;
    box-shadow: 0 4px 14px -4px rgba(52,199,89,0.35);
}

/* Hint inline no passo "Cole o código" — reforço sutil do aviso */
.bcs-pix-step-hint {
    color: #86868B;
    font-size: 12px;
    font-weight: 400;
    display: inline;
    letter-spacing: -0.003em;
}

/* Mobile pequeno (iPhone SE) — reduz padding pra QR code não ser empurrado pra fora */
@media (max-width: 360px) {
    .bcs-pix-warning {
        padding: 11px 13px;
        margin-bottom: 16px;
    }
    .bcs-pix-warning-text { font-size: 12.5px; }
    .bcs-pix-warning-detail { font-size: 11.5px; }
}

/* ─────────────────────────────────────────────────────────────────
   Footer institucional — trust signals pra usuário cético verificar
   ───────────────────────────────────────────────────────────────── */
.bcs-footer {
    background: #0F1419;
    color: #D1D5DB;
    border-top: 1px solid #1F2937;
    padding: 36px 0 28px;
    font-size: 13px;
    line-height: 1.55;
}
.bcs-footer-inner {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 24px;
}
.bcs-footer-trust {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
    padding-bottom: 24px;
    margin-bottom: 28px;
    border-bottom: 1px solid #1F2937;
}
.bcs-footer-trust-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #9CA3AF;
    font-weight: 500;
}
.bcs-footer-trust-item svg { color: #10B981; }
.bcs-footer-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
    margin-bottom: 28px;
    padding-bottom: 24px;
    border-bottom: 1px solid #1F2937;
}
@media (min-width: 720px) {
    .bcs-footer-grid { grid-template-columns: 1.2fr 1fr; gap: 36px; }
}
.bcs-footer-col h4 {
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .8px;
    margin: 0 0 12px;
}
.bcs-footer-col p {
    margin: 0 0 6px;
    color: #9CA3AF;
    font-size: 13px;
}
.bcs-footer-col p.bcs-footer-strong { color: #FFFFFF; font-weight: 600; }
.bcs-footer-col p.bcs-footer-mute { color: #6B7280; font-size: 11.5px; }
.bcs-footer-col a {
    color: #D1D5DB;
    text-decoration: none;
    transition: color .15s ease;
}
.bcs-footer-col a:hover { color: #FFFFFF; }
.bcs-footer-legal {
    text-align: center;
    color: #6B7280;
    font-size: 11.5px;
    line-height: 1.6;
}
.bcs-footer-legal p { margin: 0 0 10px; }
.bcs-footer-legal p:last-child { margin: 0; }
.bcs-footer-links a {
    color: #9CA3AF;
    text-decoration: none;
    margin: 0 4px;
    transition: color .15s ease;
}
.bcs-footer-links a:hover { color: #FFFFFF; text-decoration: underline; }
.bcs-footer-copy { color: #4B5563; font-size: 11px; margin-top: 14px !important; }
