:root{
    --vip-bg:#0b0c10;
    --vip-card:#15171e;
    --vip-card-2:#1b1e27;
    --vip-line:#2a2e3a;
    --vip-text:#f7f8fb;
    --vip-muted:#9da5b4;
    --vip-pink:#ff2f67;
    --vip-pink-2:#ff6b91;
    --vip-gold:#ffd369;
    --vip-blue:#55a8ff;
}

*{box-sizing:border-box}

html,body{
    margin:0;
    min-height:100%;
    background:var(--vip-bg);
    color:var(--vip-text);
    font-family:Inter,Roboto,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

body.vip-modal-open{overflow:hidden}

.vip-v7{
    min-height:100vh;
    padding:56px 0 78px 72px;
    background:
        radial-gradient(circle at 78% 4%,rgba(255,47,103,.11),transparent 28%),
        radial-gradient(circle at 17% 22%,rgba(85,168,255,.06),transparent 24%),
        var(--vip-bg);
}

.vip-v7 main{
    width:min(1260px,calc(100% - 52px));
    margin:0 auto;
    padding:30px 0 70px;
}

.vip-topline{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin:0 0 18px;
}

.vip-topline-copy small,
.vip-kicker{
    display:block;
    color:#ff90ad;
    font-size:11px;
    font-weight:900;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.vip-topline-copy strong{
    display:block;
    margin-top:5px;
    font-size:15px;
}

.vip-top-actions{
    display:flex;
    align-items:center;
    gap:8px;
}

.vip-btn,
.vip-btn-soft{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    padding:0 18px;
    border:0;
    font-weight:900;
    font-size:13px;
    text-decoration:none;
    cursor:pointer;
}

.vip-btn{
    background:linear-gradient(135deg,var(--vip-pink),#d90a46);
    color:#fff;
    box-shadow:0 10px 28px rgba(255,47,103,.24);
}

.vip-btn-soft{
    border:1px solid var(--vip-line);
    background:#171922;
    color:#f4f5f8;
}

.vip-btn:disabled,
.vip-btn-soft:disabled{
    opacity:.45;
    cursor:not-allowed;
}

.vip-hero{
    position:relative;
    overflow:hidden;
    min-height:430px;
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
    gap:36px;
    align-items:center;
    padding:48px;
    border:1px solid #282c38;
    border-radius:28px;
    background:
        linear-gradient(120deg,rgba(255,47,103,.13),transparent 48%),
        linear-gradient(145deg,#171922,#11131a);
    box-shadow:0 28px 80px rgba(0,0,0,.24);
}

.vip-hero:after{
    content:"";
    position:absolute;
    width:430px;
    height:430px;
    right:-140px;
    top:-170px;
    border-radius:50%;
    background:rgba(255,47,103,.09);
    filter:blur(2px);
}

.vip-hero-copy,
.vip-hero-visual{
    position:relative;
    z-index:2;
}

.vip-hero h1{
    margin:12px 0 18px;
    max-width:760px;
    font-size:clamp(42px,5.5vw,78px);
    line-height:.98;
    letter-spacing:-.05em;
}

.vip-hero h1 span{color:var(--vip-pink-2)}

.vip-hero-lead{
    max-width:650px;
    margin:0 0 25px;
    color:#b8bfcb;
    font-size:17px;
    line-height:1.65;
}

.vip-offer-line{
    display:flex;
    align-items:end;
    gap:14px;
    flex-wrap:wrap;
    margin:0 0 20px;
}

.vip-offer-line strong{
    font-size:34px;
    letter-spacing:-.03em;
}

.vip-offer-line span{
    color:var(--vip-muted);
    font-size:13px;
}

.vip-hero-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.vip-trust{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    margin-top:20px;
    color:#8f98a7;
    font-size:11px;
}

.vip-hero-visual{
    min-height:300px;
    display:grid;
    place-items:center;
}

.vip-crown-card{
    width:min(330px,90%);
    aspect-ratio:1;
    display:grid;
    place-items:center;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.13);
    background:
        radial-gradient(circle,rgba(255,47,103,.20),rgba(255,47,103,.03) 50%,transparent 70%);
    box-shadow:inset 0 0 0 38px rgba(255,255,255,.015);
}

.vip-crown-card span{
    font-size:110px;
    color:#ff789a;
    filter:drop-shadow(0 0 26px rgba(255,47,103,.33));
}

.vip-active-box{
    max-width:540px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    margin:18px 0 22px;
}

.vip-active-box div{
    padding:14px;
    border-radius:14px;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.08);
}

.vip-active-box small{
    display:block;
    color:#a4adba;
    font-size:10px;
}

.vip-active-box strong{
    display:block;
    margin-top:5px;
    font-size:14px;
}

.vip-section{
    margin-top:18px;
    padding:28px;
    border:1px solid var(--vip-line);
    border-radius:22px;
    background:var(--vip-card);
}

.vip-section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px;
}

.vip-section-head h2{
    margin:5px 0 0;
    font-size:26px;
    letter-spacing:-.02em;
}

.vip-section-head p{
    max-width:650px;
    margin:5px 0 0;
    color:var(--vip-muted);
    font-size:13px;
    line-height:1.55;
}

.vip-benefit-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}

.vip-benefit{
    min-height:150px;
    padding:20px;
    border-radius:16px;
    background:var(--vip-card-2);
    border:1px solid #242833;
}

.vip-benefit i{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#242833;
    color:#ff8daa;
    font-style:normal;
    font-weight:900;
}

.vip-benefit h3{
    margin:16px 0 7px;
    font-size:15px;
}

.vip-benefit p{
    margin:0;
    color:var(--vip-muted);
    font-size:12px;
    line-height:1.55;
}

.vip-showcase{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

.vip-showcase article{
    overflow:hidden;
    border-radius:16px;
    background:#1a1d25;
    border:1px solid #292d38;
}

.vip-showcase-art{
    aspect-ratio:16/9;
    background:#20242e;
}

.vip-showcase-art img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.vip-showcase-copy{
    padding:12px 13px 14px;
}

.vip-showcase-copy strong{
    display:block;
    font-size:13px;
    line-height:1.35;
}

.vip-showcase-copy a{
    display:inline-block;
    margin-top:8px;
    color:#ff89a6;
    font-size:11px;
    font-weight:800;
    text-decoration:none;
}

.vip-kpis{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-top:18px;
}

.vip-kpi{
    padding:18px;
    border:1px solid var(--vip-line);
    border-radius:18px;
    background:var(--vip-card);
}

.vip-kpi small{
    display:block;
    color:var(--vip-muted);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.vip-kpi strong{
    display:block;
    margin-top:8px;
    font-size:25px;
}

.vip-diamond-balance{
    display:flex;
    align-items:center;
    gap:10px;
}

.vip-diamond-balance b{
    width:35px;
    height:35px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:#2a2433;
    color:#d8a9ff;
}

.vip-search-shell{
    position:relative;
}

.vip-search{
    width:100%;
    height:52px;
    padding:0 48px 0 16px;
    border:1px solid #333846;
    border-radius:15px;
    background:#101218;
    color:#fff;
    outline:none;
    font-size:14px;
}

.vip-search:focus{
    border-color:#ff507b;
    box-shadow:0 0 0 4px rgba(255,47,103,.10);
}

.vip-search-spinner{
    position:absolute;
    right:17px;
    top:17px;
    width:18px;
    height:18px;
    border:2px solid #3b404c;
    border-top-color:#ff507b;
    border-radius:50%;
    animation:vipspin .7s linear infinite;
}

.vip-search-spinner[hidden]{display:none}

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

.vip-search-results{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:12px;
}

.vip-search-empty{
    grid-column:1/-1;
    padding:18px;
    border-radius:14px;
    background:#1b1e26;
    color:#9ea7b5;
    font-size:12px;
    text-align:center;
}

.vip-search-item{
    display:grid;
    grid-template-columns:86px minmax(0,1fr);
    gap:12px;
    padding:10px;
    border:1px solid #292d38;
    border-radius:15px;
    background:#1a1d25;
}

.vip-search-item img,
.vip-search-placeholder{
    width:86px;
    height:86px;
    border-radius:11px;
    object-fit:cover;
    background:#242832;
}

.vip-search-placeholder{
    display:grid;
    place-items:center;
    color:#697383;
}

.vip-search-copy{
    min-width:0;
}

.vip-search-copy strong{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:13px;
}

.vip-search-copy small{
    display:block;
    margin-top:4px;
    color:#929baa;
    font-size:10px;
}

.vip-search-copy button{
    margin-top:10px;
    min-height:34px;
    border:0;
    border-radius:999px;
    padding:0 12px;
    background:#f4f5f7;
    color:#111319;
    font-weight:900;
    font-size:10px;
    cursor:pointer;
}

.vip-search-copy button[disabled]{
    background:#2b2f39;
    color:#7f8896;
    cursor:not-allowed;
}

.vip-inline-message{
    margin:12px 0 0;
    padding:11px 13px;
    border-radius:12px;
    background:#20242d;
    color:#b8c0cb;
    font-size:11px;
}

.vip-inline-message.success{
    background:#10291f;
    color:#9ee6bf;
}

.vip-inline-message.error{
    background:#34151c;
    color:#ffb2c1;
}

.vip-owned-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}

.vip-owned-card{
    padding:14px;
    border-radius:15px;
    background:#1b1e26;
    border:1px solid #292d38;
}

.vip-owned-card strong{
    display:block;
    font-size:12px;
    line-height:1.4;
}

.vip-owned-card small{
    display:block;
    margin-top:5px;
    color:#8f98a7;
    font-size:9px;
}

.vip-order-list{
    display:grid;
    gap:8px;
}

.vip-order{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    gap:12px;
    align-items:center;
    padding:12px 14px;
    border-radius:13px;
    background:#1b1e26;
    border:1px solid #292d38;
    font-size:11px;
}

.vip-order span{color:#a3acba}
.vip-order strong{font-size:11px}

.vip-empty{
    padding:18px;
    border-radius:14px;
    background:#1b1e26;
    color:#929baa;
    font-size:12px;
}

.vip-auth-modal{
    position:fixed;
    inset:0;
    z-index:2147483000;
    display:grid;
    place-items:center;
    padding:18px;
}

.vip-auth-modal[hidden]{display:none!important}

.vip-auth-backdrop{
    position:absolute;
    inset:0;
    border:0;
    background:rgba(0,0,0,.77);
    backdrop-filter:blur(10px);
}

.vip-auth-dialog{
    position:relative;
    z-index:2;
    width:min(470px,100%);
    max-height:min(760px,calc(100vh - 36px));
    overflow:auto;
    padding:28px;
    border:1px solid #333846;
    border-radius:24px;
    background:#151820;
    box-shadow:0 30px 100px rgba(0,0,0,.50);
}

.vip-auth-close{
    position:absolute;
    right:15px;
    top:15px;
    width:36px;
    height:36px;
    border:1px solid #343845;
    border-radius:50%;
    background:#1d2029;
    color:#fff;
    font-size:20px;
    cursor:pointer;
}

.vip-auth-dialog h2{
    margin:6px 0 7px;
    font-size:28px;
}

.vip-auth-dialog>p{
    margin:0 0 20px;
    color:#9ca5b4;
    font-size:12px;
    line-height:1.55;
}

.vip-auth-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:5px;
    padding:5px;
    border-radius:13px;
    background:#0f1117;
    margin-bottom:16px;
}

.vip-auth-tabs button{
    height:38px;
    border:0;
    border-radius:10px;
    background:transparent;
    color:#929baa;
    font-weight:900;
    cursor:pointer;
}

.vip-auth-tabs button.is-active{
    background:#242833;
    color:#fff;
}

.vip-auth-form{
    display:grid;
    gap:12px;
}

.vip-auth-form[hidden]{display:none!important}

.vip-auth-form label{
    display:grid;
    gap:6px;
    color:#c6ccd6;
    font-size:11px;
    font-weight:800;
}

.vip-auth-form input{
    width:100%;
    height:48px;
    border:1px solid #343946;
    border-radius:12px;
    background:#0e1016;
    color:#fff;
    padding:0 13px;
    outline:none;
}

.vip-auth-form input:focus{
    border-color:#ff4b78;
    box-shadow:0 0 0 4px rgba(255,47,103,.10);
}

.vip-auth-error{
    margin-bottom:12px;
    padding:11px 12px;
    border-radius:11px;
    background:#381720;
    color:#ffb3c2;
    font-size:11px;
}

.vip-auth-error[hidden]{display:none!important}

.vip-auth-submit{
    height:48px;
    border:0;
    border-radius:12px;
    background:linear-gradient(135deg,var(--vip-pink),#d90844);
    color:#fff;
    font-weight:900;
    cursor:pointer;
}

.vip-auth-submit:disabled{opacity:.55}

@media(max-width:1050px){
    .vip-benefit-grid,
    .vip-showcase,
    .vip-owned-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .vip-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
    .vip-hero{grid-template-columns:1fr}
    .vip-hero-visual{display:none}
}

@media(max-width:700px){
    .vip-v7{padding:52px 0 78px}
    .vip-v7 main{width:calc(100% - 24px);padding-top:14px}
    .vip-topline{align-items:flex-start;flex-direction:column}
    .vip-top-actions{width:100%}
    .vip-top-actions .vip-btn,
    .vip-top-actions .vip-btn-soft{flex:1}
    .vip-hero{padding:28px 20px;border-radius:20px;min-height:0}
    .vip-hero h1{font-size:43px}
    .vip-hero-lead{font-size:14px}
    .vip-hero-actions{display:grid;grid-template-columns:1fr}
    .vip-hero-actions .vip-btn,
    .vip-hero-actions .vip-btn-soft{width:100%}
    .vip-active-box{grid-template-columns:1fr}
    .vip-section{padding:20px 16px;border-radius:18px}
    .vip-section-head{align-items:flex-start;flex-direction:column}
    .vip-benefit-grid,
    .vip-showcase,
    .vip-owned-grid,
    .vip-kpis,
    .vip-search-results{grid-template-columns:1fr}
    .vip-order{grid-template-columns:1fr}
    .vip-auth-modal{place-items:end center;padding:0}
    .vip-auth-dialog{
        width:100%;
        max-height:92dvh;
        border-radius:22px 22px 0 0;
        padding:27px 20px max(26px,env(safe-area-inset-bottom));
    }
}


/* DD VIP V8 - PIX + SOLO SEARCH */
.vip-solo-section{
    background:
        linear-gradient(120deg,rgba(85,168,255,.06),transparent 45%),
        var(--vip-card);
}
.vip-search-actions{
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
    margin-top:10px;
}
.vip-search-actions button,
.vip-search-detail{
    min-height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:999px;
    padding:0 12px;
    background:#f4f5f7;
    color:#111319;
    font-size:10px;
    font-weight:900;
    text-decoration:none;
    cursor:pointer;
}
.vip-search-actions button.is-diamond{
    background:#2a2433;
    color:#d9b3ff;
    border:1px solid #42344f;
}
.vip-search-actions button:disabled{
    background:#2b2f39;
    color:#7f8896;
    cursor:not-allowed;
}
.vip-search-detail{
    background:transparent;
    color:#ff8eaa;
    border:1px solid #343946;
}
.vip-pix-modal{
    position:fixed;
    inset:0;
    z-index:2147483001;
    display:grid;
    place-items:center;
    padding:18px;
}
.vip-pix-modal[hidden]{display:none!important}
.vip-pix-dialog{
    position:relative;
    z-index:2;
    width:min(510px,100%);
    max-height:min(820px,calc(100vh - 36px));
    overflow:auto;
    padding:30px;
    border:1px solid #343946;
    border-radius:24px;
    background:#151820;
    box-shadow:0 30px 100px rgba(0,0,0,.55);
}
.vip-pix-dialog h2{margin:7px 0 7px;font-size:28px}
.vip-pix-dialog>p{
    margin:0 0 20px;
    color:#9da5b4;
    font-size:12px;
    line-height:1.55;
}
.vip-pix-cpf-form{display:grid;gap:12px}
.vip-pix-cpf-form[hidden]{display:none!important}
.vip-pix-cpf-form label{
    display:grid;
    gap:7px;
    color:#c9cfda;
    font-size:11px;
    font-weight:800;
}
.vip-pix-cpf-form input{
    width:100%;
    height:50px;
    border:1px solid #343946;
    border-radius:12px;
    background:#0e1016;
    color:#fff;
    padding:0 14px;
    outline:none;
    font-size:15px;
}
.vip-pix-cpf-form input:focus{
    border-color:#ff4b78;
    box-shadow:0 0 0 4px rgba(255,47,103,.10);
}
.vip-pix-result{
    display:grid;
    justify-items:center;
    gap:14px;
}
.vip-pix-result[hidden]{display:none!important}
.vip-pix-status{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 14px;
    border-radius:13px;
    background:#1d212a;
    border:1px solid #2d323d;
}
.vip-pix-status strong{font-size:12px}
.vip-pix-status span{
    color:#ff8eaa;
    font-size:12px;
    font-weight:900;
}
.vip-pix-qr{
    width:min(280px,80vw);
    aspect-ratio:1;
    display:block;
    border-radius:18px;
    background:#fff;
    padding:10px;
}
.vip-pix-qr[hidden]{display:none!important}
.vip-pix-code{
    width:100%;
    min-height:92px;
    resize:none;
    border:1px solid #343946;
    border-radius:12px;
    background:#0d0f14;
    color:#dce2eb;
    padding:12px;
    font-size:11px;
    line-height:1.4;
}
.vip-pix-code[hidden]{display:none!important}
.vip-pix-wait{
    display:flex;
    align-items:center;
    gap:10px;
    color:#9aa4b2;
    font-size:10px;
}
.vip-pix-wait .vip-search-spinner{
    position:static;
    display:inline-block;
    width:15px;
    height:15px;
}
@media(max-width:700px){
    .vip-pix-modal{
        place-items:end center;
        padding:0;
    }
    .vip-pix-dialog{
        width:100%;
        max-height:92dvh;
        border-radius:22px 22px 0 0;
        padding:27px 20px max(26px,env(safe-area-inset-bottom));
    }
    .vip-search-actions{
        align-items:stretch;
        flex-direction:column;
    }
    .vip-search-actions button,
    .vip-search-detail{
        width:100%;
    }
}
