/* FAKE / PROTETOR - VIBEPOP
   Visual premium em tela cheia, baseado no layout aprovado do TopDaNet.
   Mantém rolagem normal do navegador e esconde o site público atrás do fake. */
html,
body{
    min-height:100%;
}

html.fake-active,
body.fake-active,
body.fake-page-open{
    margin:0;
    background:#070b18;
    overflow:auto !important;
}

body.fake-active > *:not(.fake-overlay):not(script):not(style),
body.fake-page-open > *:not(.fake-overlay):not(script):not(style){
    display:none !important;
}

body.fake-active footer,
body.fake-page-open footer,
body.fake-active .site-footer,
body.fake-page-open .site-footer,
body.fake-active #footer,
body.fake-page-open #footer{
    display:none !important;
}

.fake-overlay{
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:999999;
    width:100%;
    min-height:100vh;
    background:
        radial-gradient(circle at top left, rgba(124,58,237,.24), transparent 34%),
        radial-gradient(circle at 92% 8%, rgba(236,72,153,.13), transparent 28%),
        radial-gradient(circle at bottom right, rgba(59,130,246,.16), transparent 32%),
        linear-gradient(135deg, #070b18 0%, #0b1024 48%, #070b18 100%);
    display:block;
    overflow:visible;
    padding:0;
    color:#fff;
}

.fake-box{
    width:100%;
    min-height:100vh;
    overflow:visible;
    margin:0;
    color:#fff;
    border-radius:0;
    padding:34px clamp(16px, 3vw, 48px) 52px;
    position:relative;
    isolation:isolate;
    background:transparent;
    border:0;
    box-shadow:none;
    box-sizing:border-box;
}

.fake-box::before{
    content:"";
    position:absolute;
    inset:1px;
    z-index:-1;
    border-radius:0;
    background:linear-gradient(180deg, rgba(255,255,255,.06), transparent 38%);
    pointer-events:none;
}

.fake-header{
    text-align:center;
    padding:6px 12px 22px;
    margin:0 auto 10px;
}

.fake-premium-icon{
    width:82px;
    height:82px;
    margin:0 auto 18px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:34px;
    font-weight:900;
    color:#fff;
    background:linear-gradient(135deg,#8b5cf6,#6d28d9 52%,#ec4899);
    box-shadow:0 0 35px rgba(139,92,246,.48), inset 0 1px 0 rgba(255,255,255,.35);
}

.fake-title{
    margin:0 0 12px;
    text-align:center;
    font-size:clamp(26px, 3.2vw, 42px);
    line-height:1.08;
    font-weight:950;
    letter-spacing:-.04em;
    color:#fff;
    text-shadow:0 10px 35px rgba(0,0,0,.35);
}

.fake-sub{
    text-align:center;
    color:#d7dcff;
    margin:0 auto;
    max-width:760px;
    font-size:clamp(15px, 1.4vw, 18px);
    line-height:1.7;
    font-weight:700;
}

.fake-layout{
    width:100%;
    max-width:1540px;
    margin:0 auto;
    display:grid;
    grid-template-columns:160px minmax(0, 1fr) 300px;
    gap:clamp(16px, 2vw, 30px);
    align-items:start;
}

.fake-side{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    position:sticky;
    top:18px;
    min-height:600px;
}

.fake-main{
    width:100%;
    max-width:900px;
    margin:0 auto;
    min-width:0;
}

.fake-ad-section{
    display:grid;
    gap:14px;
    justify-items:center;
    margin:16px auto 22px;
    width:100%;
}

.fake-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px, 300px));
    justify-content:center;
    gap:18px;
    align-items:start;
}

.fake-grid-ads-top{
    margin:0 auto 24px;
}

.fake-grid-ads-bottom{
    margin:30px auto 28px;
}

.fake-bottom-megabanner{
    margin:34px auto 0;
    display:flex;
    justify-content:center;
    width:100%;
}

.fake-bottom-megabanner-extra{
    margin-top:18px;
}

.fake-ad-slot{
    margin:0 auto;
    border-radius:18px !important;
    border:1px solid rgba(255,255,255,.10) !important;
    background:linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.035)) !important;
    color:rgba(238,243,255,.72) !important;
    box-shadow:0 16px 42px rgba(0,0,0,.25) !important;
    backdrop-filter:blur(8px);
    max-width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    overflow:visible;
    box-sizing:border-box;
}

/* Quando existe anúncio real no slot, remove a aparência de placeholder
   para não aparecer borda/fundo em volta do banner e manter o tamanho exato. */
.fake-ad-slot.fake-ad-filled{
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
}

.fake-ad-slot span{
    color:rgba(255,255,255,.72);
    font-size:11px;
    letter-spacing:.14em;
    text-transform:uppercase;
    font-weight:900;
    padding:8px;
}

.fake-ad-code{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:visible;
}

.fake-ad-code iframe,
.fake-ad-code img,
.fake-ad-code ins,
.fake-ad-code object,
.fake-ad-code embed{
    display:block !important;
    max-width:100% !important;
    max-height:100% !important;
    visibility:visible !important;
    opacity:1 !important;
    margin:0 auto !important;
}

.fake-ad-code script{
    display:none !important;
}

.fake-ad-970x250{width:100%;max-width:970px;height:190px;}
.fake-ad-728x90{width:100%;max-width:728px;height:90px;}
.fake-ad-320x100{width:100%;max-width:320px;height:100px;}
.fake-ad-300x250{width:300px;max-width:300px;height:250px;}
.fake-ad-300x250-top-1,
.fake-ad-300x250-top-2,
.fake-ad-300x250-bottom-1,
.fake-ad-300x250-bottom-2{width:300px;max-width:300px;height:250px;}
.fake-ad-300x600{width:300px;max-width:300px;height:600px;}
.fake-ad-160x600{width:160px;max-width:160px;height:600px;}
.fake-ad-side-skyscraper{width:160px;max-width:160px;height:600px;}
.fake-ad-side-splitscreen{width:300px;max-width:300px;height:600px;}
.fake-ad-intext{width:100%;max-width:728px;min-height:115px;margin:16px auto;}
.fake-ad-footer-slide{width:100%;max-width:728px;height:90px;}

.fake-center{
    width:min(620px, 100%);
    margin:22px auto;
    padding:22px;
    text-align:center;
    border-radius:26px;
    background:linear-gradient(145deg, rgba(255,255,255,.98), rgba(238,242,255,.96));
    border:1px solid rgba(255,255,255,.55);
    box-shadow:0 18px 50px rgba(0,0,0,.32);
    color:#111827;
    box-sizing:border-box;
}

.fake-center-label{
    font-size:13px;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.12em;
    color:#64748b;
}

.fake-count{
    font-size:58px;
    font-weight:950;
    color:#6d28d9;
    line-height:1;
    margin:12px 0;
    text-shadow:0 0 24px rgba(109,40,217,.22);
}

.fake-btn{
    width:100%;
    border:0;
    border-radius:18px;
    background:linear-gradient(135deg,#767d92,#545b70);
    color:#fff;
    padding:17px 22px;
    font-size:18px;
    font-weight:950;
    cursor:not-allowed;
    box-shadow:0 12px 28px rgba(0,0,0,.20);
    transition:transform .22s ease, filter .22s ease, box-shadow .22s ease;
}

.fake-btn.is-ready{
    background:linear-gradient(135deg,#7c3aed,#ec4899);
    cursor:pointer;
    box-shadow:0 16px 36px rgba(236,72,153,.30), 0 0 26px rgba(124,58,237,.28);
}

.fake-btn.is-ready:hover{
    filter:brightness(1.06);
    transform:translateY(-1px);
}

.fake-player-area{margin:18px 0;}

.player-shell{
    background:#050713;
    border-radius:22px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.12);
    margin:18px 0;
    box-shadow:0 18px 45px rgba(0,0,0,.35);
}

.player-shell iframe{
    display:block;
    width:100%;
    height:min(62vh,520px);
    border:0;
}

.fake-global-scripts{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    opacity:0;
    pointer-events:none;
}

@media(max-width:1240px){
    .fake-layout{
        display:block;
        max-width:100%;
    }

    .fake-side{
        display:none !important;
    }

    .fake-main{
        max-width:100%;
    }
}

@media(max-width:900px){
    .fake-box{padding:22px 14px 38px;}
    .fake-box::before{border-radius:0;}
    .fake-grid,.fake-bottom-megabanner-extra{margin-top:18px;}
    .fake-ad-970x250{height:130px;}
    .fake-ad-300x600{height:260px;}
    .fake-ad-160x600,
    .fake-ad-side-skyscraper,
    .fake-ad-side-splitscreen{display:none !important;}
    .fake-center{padding:18px;border-radius:22px;}
    .fake-count{font-size:48px;}
}

@media(max-width:520px){
    .fake-box{width:100%;padding:16px 10px 34px;border-radius:0;}
    .fake-box::before{border-radius:0;}
    .fake-header{padding:4px 2px 16px;}
    .fake-premium-icon{width:66px;height:66px;font-size:28px;margin-bottom:14px;}
    .fake-title{font-size:24px;letter-spacing:-.03em;}
    .fake-sub{font-size:14px;line-height:1.6;font-weight:650;}
    .fake-ad-section{gap:10px;margin:10px auto 14px;}
    .fake-ad-slot{border-radius:14px !important;}
    .fake-ad-970x250{height:112px;}
    .fake-ad-728x90{height:86px;}
    .fake-ad-300x250{height:220px;}
    .fake-ad-300x600{height:240px;}
    .fake-ad-160x600,
    .fake-ad-side-skyscraper,
    .fake-ad-side-splitscreen{display:none !important;}
    .fake-center{margin:16px auto;padding:16px;}
    .fake-center-label{font-size:11px;}
    .fake-count{font-size:42px;}
    .fake-btn{font-size:15px;padding:15px 16px;border-radius:15px;}
    .player-shell iframe{height:300px;}
}

/* Ajuste final: no mobile mantém o slot dentro da tela, no PC mantém tamanho real. */
@media(max-width:520px){
    .fake-ad-300x250{width:100%;max-width:300px;}
}

/* Estado liberado no topo: troca a mensagem inicial por botão verde, mantendo o botão principal abaixo */
.fake-success-state{
    display:none;
    width:min(720px,100%);
    margin:0 auto;
    text-align:center;
    padding:4px 0 2px;
}

.fake-success-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:min(420px,100%);
    min-height:58px;
    padding:16px 24px;
    border:0;
    border-radius:18px;
    background:linear-gradient(135deg,#16a34a,#22c55e);
    color:#fff;
    font-size:18px;
    font-weight:950;
    letter-spacing:.02em;
    text-transform:uppercase;
    cursor:pointer;
    box-shadow:0 16px 42px rgba(34,197,94,.35), 0 0 28px rgba(34,197,94,.28);
    transition:transform .22s ease, filter .22s ease, box-shadow .22s ease;
}

.fake-success-btn:hover{
    filter:brightness(1.06);
    transform:translateY(-1px);
    box-shadow:0 20px 48px rgba(34,197,94,.42), 0 0 34px rgba(34,197,94,.32);
}

.fake-success-btn:active{
    transform:translateY(0) scale(.99);
}

.fake-success-sub{
    margin:14px auto 0;
    max-width:680px;
    color:#dfffe9;
    font-size:clamp(14px,1.4vw,18px);
    line-height:1.6;
    font-weight:800;
}

.fake-box.is-released .fake-wait-state{
    display:none !important;
}

.fake-box.is-released .fake-success-state{
    display:block !important;
}

@media(max-width:520px){
    .fake-success-state{padding:2px 4px 0;}
    .fake-success-btn{
        width:min(320px,100%);
        min-height:50px;
        font-size:15px;
        border-radius:14px;
        padding:14px 16px;
    }
    .fake-success-sub{
        font-size:14px;
        line-height:1.55;
        margin-top:12px;
    }
}

/* ORGANIZAÇÃO RESPONSIVA FINAL DOS SLOTS DO FAKE
   Mantém 728x90/970x250 no PC e troca para 320x100 no celular. */
.fake-ad-section,
.fake-grid,
.fake-bottom-megabanner,
.fake-bottom-megabanner-extra{
    max-width:100%;
    box-sizing:border-box;
}
.fake-ad-slot,
.fake-ad-code{
    box-sizing:border-box;
}
.fake-ad-320x100{
    display:none;
}
.fake-ad-970x250{
    width:970px;
    max-width:100%;
    height:250px;
}
.fake-ad-728x90{
    width:728px;
    max-width:100%;
    height:90px;
}
.fake-ad-300x250,
.fake-ad-300x250-top-1,
.fake-ad-300x250-top-2,
.fake-ad-300x250-bottom-1,
.fake-ad-300x250-bottom-2{
    width:300px;
    max-width:100%;
    height:250px;
}
.fake-ad-code iframe,
.fake-ad-code img,
.fake-ad-code ins,
.fake-ad-code object,
.fake-ad-code embed{
    max-width:100% !important;
}
@media(max-width:1200px){
    .fake-layout{
        grid-template-columns:minmax(0,1fr);
        max-width:960px;
    }
    .fake-side{
        display:none !important;
    }
    .fake-main{
        max-width:900px;
    }
}
@media(max-width:768px){
    .fake-box{
        padding:18px 12px 38px !important;
        overflow:hidden;
    }
    .fake-header{
        padding:4px 4px 14px;
    }
    .fake-layout{
        display:block;
        width:100%;
        max-width:100%;
    }
    .fake-main{
        width:100%;
        max-width:100%;
        overflow:hidden;
    }
    .fake-ad-section{
        width:100%;
        max-width:100%;
        gap:14px;
        margin:12px auto 18px;
        padding:0;
    }
    .fake-grid{
        grid-template-columns:1fr;
        width:100%;
        gap:16px;
        justify-items:center;
    }
    .fake-ad-970x250,
    .fake-ad-728x90,
    .fake-ad-intext,
    .fake-ad-footer,
    .fake-ad-footer-slide{
        display:none !important;
    }
    .fake-ad-320x100{
        display:flex !important;
        width:320px !important;
        max-width:calc(100vw - 24px) !important;
        height:100px !important;
        min-height:100px !important;
        margin:12px auto !important;
        overflow:hidden !important;
        border-radius:14px !important;
    }
    .fake-ad-300x250,
    .fake-ad-300x250-top-1,
    .fake-ad-300x250-top-2,
    .fake-ad-300x250-bottom-1,
    .fake-ad-300x250-bottom-2{
        display:flex !important;
        width:300px !important;
        max-width:calc(100vw - 24px) !important;
        height:250px !important;
        min-height:250px !important;
        margin:0 auto !important;
        overflow:hidden !important;
        border-radius:14px !important;
    }
    .fake-center{
        width:100%;
        max-width:calc(100vw - 24px);
        margin:18px auto !important;
        padding:18px 14px !important;
        box-sizing:border-box;
    }
    .fake-bottom-megabanner,
    .fake-bottom-megabanner-extra{
        display:none !important;
    }
    .fake-ad-code{
        width:100%;
        height:100%;
        overflow:hidden !important;
    }
}
