/* ============================================
   AGIRAPOP! — Components CSS
   Seções específicas + Hubs Marketplace
   ============================================ */

/* ====== SEÇÃO VÍDEO ====== */
.video-section{
    background:var(--black);padding:7rem 1.5rem;position:relative;overflow:hidden;
    border-top:5px solid var(--red);border-bottom:5px solid var(--red);
}
.video-section::before{
    content:'';position:absolute;inset:0;
    background-image:radial-gradient(circle,rgba(160,120,64,.06) 2px,transparent 2px);
    background-size:30px 30px;
}
.video-container{max-width:1100px;margin:0 auto;position:relative;z-index:2;text-align:center}
.video-frame{
    position:relative;width:100%;aspect-ratio:16/9;
    background:#000;
    border:4px solid var(--cream);border-radius:8px;overflow:hidden;
    box-shadow:12px 12px 0 var(--red),24px 24px 0 var(--bronze);
    transform:rotate(-1deg);cursor:pointer;transition:.4s var(--easing);margin-top:2rem;
}
.video-frame:hover{
    transform:rotate(0) translateY(-6px);
    box-shadow:16px 16px 0 var(--red),30px 30px 0 var(--bronze);
}
.video-poster{
    position:absolute;inset:0;z-index:1;
    background:radial-gradient(ellipse at center,rgba(107,15,26,.5) 0%,transparent 65%),
               linear-gradient(180deg,#1f1417 0%,#0a0508 100%);
    display:flex;align-items:center;justify-content:center;
}
.video-poster-img{
    position:absolute;inset:0;width:100%;height:100%;
    object-fit:cover;z-index:0;opacity:.55;
    filter:saturate(.85) contrast(1.05);
}
.video-poster::after{
    content:'';position:absolute;inset:0;
    background:
        radial-gradient(ellipse at center,transparent 35%,rgba(0,0,0,.55) 100%),
        repeating-linear-gradient(0deg,transparent 0px,transparent 3px,rgba(0,0,0,.12) 3px,rgba(0,0,0,.12) 4px);
    pointer-events:none;z-index:2;
}
.video-poster::before{
    content:'';position:absolute;inset:0;
    background-image:radial-gradient(circle,rgba(160,120,64,.1) 1.5px,transparent 1.5px);
    background-size:14px 14px;z-index:2;pointer-events:none;
}
.video-emoji-bg{
    position:absolute;font-size:18rem;line-height:1;opacity:.15;z-index:2;
    filter:drop-shadow(0 0 30px rgba(107,15,26,.6));pointer-events:none;
}
.video-play-btn{
    position:relative;width:120px;height:120px;background:var(--red);
    border:5px solid var(--cream);border-radius:50%;display:flex;align-items:center;justify-content:center;
    cursor:pointer;z-index:5;
    box-shadow:0 0 0 0 rgba(107,15,26,.7),8px 8px 0 var(--bronze);
    transition:.3s var(--easing);animation:pulsePlay 2s ease-in-out infinite;
}
@keyframes pulsePlay{
    0%,100%{box-shadow:0 0 0 0 rgba(107,15,26,.7),8px 8px 0 var(--bronze)}
    50%{box-shadow:0 0 0 18px rgba(107,15,26,0),8px 8px 0 var(--bronze)}
}
.video-play-btn:hover{transform:scale(1.1);background:var(--bronze)}
.video-play-btn::before{
    content:'';width:0;height:0;
    border-left:32px solid var(--cream);
    border-top:22px solid transparent;border-bottom:22px solid transparent;margin-left:8px;
}
.video-info{position:absolute;bottom:1.5rem;left:1.5rem;z-index:4;text-align:left}
.video-info-tag{
    display:inline-block;background:var(--red);color:var(--cream);
    font-family:var(--font-display);font-size:.75rem;padding:.3rem .8rem;
    border:2px solid var(--cream);border-radius:3px;margin-bottom:.5rem;
    letter-spacing:.1em;box-shadow:2px 2px 0 var(--black);
}
.video-info h4{
    font-family:var(--font-display);font-size:1.6rem;color:var(--cream);
    line-height:1;text-shadow:3px 3px 0 var(--red);letter-spacing:.02em;
}
.video-duration{
    position:absolute;bottom:1.5rem;right:1.5rem;z-index:4;
    background:rgba(0,0,0,.8);border:2px solid var(--bronze);color:var(--cream);
    font-family:var(--font-display);font-size:.95rem;padding:.3rem .7rem;
    border-radius:3px;letter-spacing:.05em;
}
.video-cta{margin-top:3rem;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.youtube-embed{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:5}

/* ====== NÚMEROS / DASHBOARD ====== */
.numbers-section{
    background:linear-gradient(180deg,var(--navy-deep) 0%,var(--navy) 50%,var(--navy-deep) 100%);
    padding:7rem 1.5rem;color:var(--cream);position:relative;overflow:hidden;
    border-top:5px solid var(--red);border-bottom:5px solid var(--red);
}
.numbers-section::before{
    content:'';position:absolute;inset:0;
    background-image:radial-gradient(circle,rgba(196,149,96,.08) 2px,transparent 2px);
    background-size:30px 30px;
}
.numbers-container{max-width:var(--container);margin:0 auto;position:relative;z-index:2}
.numbers-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem;
}
.number-card{
    background:var(--black);border:3px solid var(--cream);border-radius:8px;
    padding:2rem 1.5rem;text-align:center;
    box-shadow:6px 6px 0 var(--red),12px 12px 0 var(--bronze);
    transition:.35s var(--easing);position:relative;overflow:hidden;
}
.number-card::before{
    content:'';position:absolute;inset:0;
    background-image:radial-gradient(circle,rgba(160,120,64,.08) 1.5px,transparent 1.5px);
    background-size:14px 14px;pointer-events:none;
}
.number-card:hover{
    transform:translate(-3px,-3px);
    box-shadow:9px 9px 0 var(--red),18px 18px 0 var(--bronze);
}
.number-card-icon{
    width:60px;height:60px;background:var(--red);border:3px solid var(--cream);
    border-radius:50%;display:flex;align-items:center;justify-content:center;
    margin:0 auto 1rem;font-size:1.6rem;box-shadow:3px 3px 0 var(--bronze);
    position:relative;z-index:2;
}
.number-card-num{
    font-family:var(--font-display);font-size:3rem;line-height:1;
    color:var(--bronze-bright);text-shadow:3px 3px 0 var(--red);
    margin-bottom:.5rem;letter-spacing:.02em;position:relative;z-index:2;
}
.number-card-label{
    font-family:var(--font-display);font-size:.95rem;color:var(--cream);
    letter-spacing:.05em;position:relative;z-index:2;
}
.number-card-sub{
    font-size:.7rem;color:var(--gray-300);text-transform:uppercase;
    letter-spacing:.1em;margin-top:.5rem;font-weight:600;position:relative;z-index:2;
}
.number-card-trend{
    display:inline-block;margin-top:.8rem;background:rgba(196,149,96,.15);
    color:var(--bronze-bright);font-family:var(--font-display);font-size:.75rem;
    padding:.2rem .6rem;border-radius:100px;border:1px solid var(--bronze);
    letter-spacing:.05em;position:relative;z-index:2;
}

/* ====== CIDADES ====== */
.cidades-section{background:var(--cream-warm);padding:7rem 1.5rem;position:relative}
.cidades-grid{
    display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem 1rem;
    margin:3rem auto 0;max-width:1200px;
}
.cidade-card{
    background:var(--cream);border:3px solid var(--black);border-radius:8px;
    padding:1.6rem 1rem 1.2rem;text-align:center;
    box-shadow:5px 5px 0 var(--red);transition:.3s var(--easing);
    cursor:pointer;position:relative;
}
.cidade-card:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--red)}
.cidade-card.top1{background:var(--black);color:var(--cream);box-shadow:5px 5px 0 var(--bronze)}
.cidade-card.top1:hover{box-shadow:8px 8px 0 var(--bronze)}
.cidade-rank-badge{
    position:absolute;top:-12px;left:50%;transform:translateX(-50%);
    background:var(--bronze);color:var(--cream);border:2px solid var(--black);
    border-radius:100px;padding:.2rem .8rem;font-family:var(--font-display);
    font-size:.7rem;letter-spacing:.05em;box-shadow:2px 2px 0 var(--black);white-space:nowrap;
}
.cidade-card.top1 .cidade-rank-badge{background:var(--red)}
.cidade-num{
    font-family:var(--font-display);font-size:2rem;line-height:1;
    color:var(--red);text-shadow:2px 2px 0 var(--black);margin:.5rem 0;
}
.cidade-card.top1 .cidade-num{color:var(--bronze-bright);text-shadow:2px 2px 0 var(--red)}
.cidade-name{
    font-family:var(--font-display);font-size:.95rem;color:var(--black);
    line-height:1;letter-spacing:.02em;
}
.cidade-card.top1 .cidade-name{color:var(--cream)}
.cidade-uf{
    display:inline-block;margin-top:.4rem;font-size:.6rem;
    color:var(--gray-500);font-weight:700;letter-spacing:.1em;
}
.cidade-card.top1 .cidade-uf{color:var(--bronze-bright)}
.regioes-grid{
    display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem;
    margin:2.5rem auto 0;max-width:900px;
}
.regiao-pill{
    background:var(--navy);color:var(--cream);border:2px solid var(--black);
    border-radius:8px;padding:1rem .8rem;text-align:center;box-shadow:3px 3px 0 var(--bronze);
}
.regiao-pct{font-family:var(--font-display);font-size:1.6rem;color:var(--bronze-bright);line-height:1}
.regiao-name{
    display:block;font-size:.65rem;color:var(--cream);text-transform:uppercase;
    letter-spacing:.1em;margin-top:.3rem;font-weight:700;
}

/* ====== VÍDEOS VIRAIS ====== */
.virais-section{background:var(--cream-warm);padding:7rem 1.5rem;position:relative}
.virais-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;
    max-width:1200px;margin:3rem auto 0;
}
.viral-card{
    background:var(--cream);border:3px solid var(--black);border-radius:8px;
    overflow:hidden;box-shadow:6px 6px 0 var(--red);
    transition:.3s var(--easing);cursor:pointer;transform:rotate(-1deg);
    display:block;color:inherit;
}
.viral-card:nth-child(2){transform:rotate(1deg)}
.viral-card:nth-child(3){transform:rotate(-1.5deg)}
.viral-card:hover{transform:rotate(0) translate(-3px,-3px);box-shadow:9px 9px 0 var(--red)}
.viral-thumb{
    position:relative;aspect-ratio:16/9;
    background:linear-gradient(135deg,#1a1a1a 0%,#0a0a0a 100%);overflow:hidden;
}
.viral-thumb::before{
    content:'';position:absolute;inset:0;
    background:radial-gradient(ellipse at center,rgba(107,15,26,.4) 0%,transparent 60%);
}
.viral-thumb::after{
    content:'';position:absolute;inset:0;
    background:repeating-linear-gradient(0deg,transparent 0px,transparent 3px,rgba(0,0,0,.15) 3px,rgba(0,0,0,.15) 4px);
}
.viral-emoji{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    font-size:6rem;line-height:1;z-index:2;
    filter:drop-shadow(0 8px 20px rgba(107,15,26,.6));
}
.viral-play{
    position:absolute;bottom:1rem;right:1rem;width:48px;height:48px;
    background:var(--red);border:3px solid var(--cream);border-radius:50%;
    display:flex;align-items:center;justify-content:center;z-index:3;
    box-shadow:3px 3px 0 var(--black);transition:.3s;
}
.viral-card:hover .viral-play{transform:scale(1.15);background:var(--bronze)}
.viral-play::before{
    content:'';width:0;height:0;
    border-left:14px solid var(--cream);
    border-top:9px solid transparent;border-bottom:9px solid transparent;margin-left:4px;
}
.viral-views-badge{
    position:absolute;top:1rem;left:1rem;background:var(--black);
    border:2px solid var(--bronze);color:var(--bronze-bright);
    font-family:var(--font-display);font-size:.85rem;padding:.3rem .7rem;
    border-radius:3px;z-index:3;letter-spacing:.05em;box-shadow:2px 2px 0 var(--cream);
}
.viral-rank{
    position:absolute;top:1rem;right:1rem;background:var(--red);color:var(--cream);
    font-family:var(--font-display);font-size:.85rem;padding:.25rem .55rem;
    border:2px solid var(--cream);border-radius:3px;z-index:3;box-shadow:2px 2px 0 var(--black);
}
.viral-info{padding:1.3rem 1.4rem 1.5rem}
.viral-title{
    font-family:var(--font-display);font-size:1.3rem;line-height:1;
    color:var(--black);margin-bottom:.6rem;letter-spacing:.02em;
}
.viral-meta{
    display:flex;align-items:center;gap:.6rem;font-size:.7rem;color:var(--gray-700);
    text-transform:uppercase;letter-spacing:.08em;font-weight:700;
}
.viral-meta-pill{
    background:linear-gradient(135deg,#833AB4 0%,#FD1D1D 50%,#FCAF45 100%);
    color:var(--cream);padding:.2rem .5rem;border-radius:3px;
    font-family:var(--font-display);letter-spacing:.05em;
}
.viral-meta-stat{color:var(--red);font-weight:800}
.viral-extra{display:flex;gap:1rem;margin-top:.6rem;font-size:.7rem;color:var(--gray-700);font-weight:700}

/* ====== COMENTÁRIOS ====== */
.comments-section{
    background:var(--black);padding:7rem 1.5rem;color:var(--cream);
    position:relative;overflow:hidden;border-top:5px solid var(--bronze);
}
.comments-section::before{
    content:'';position:absolute;inset:0;
    background-image:radial-gradient(circle,rgba(160,120,64,.06) 2px,transparent 2px);
    background-size:30px 30px;
}
.comments-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
    max-width:1200px;margin:3rem auto 0;position:relative;z-index:2;
}
.comment-card{
    background:var(--cream);border:3px solid var(--black);border-radius:8px;
    padding:1.5rem;box-shadow:5px 5px 0 var(--red);color:var(--black);
    transition:.3s var(--easing);position:relative;transform:rotate(-.5deg);
}
.comment-card:nth-child(2n){transform:rotate(.5deg);box-shadow:5px 5px 0 var(--bronze)}
.comment-card:nth-child(3n){transform:rotate(-1deg)}
.comment-card:hover{transform:rotate(0) translateY(-4px);box-shadow:8px 8px 0 var(--red)}
.comment-card:nth-child(2n):hover{box-shadow:8px 8px 0 var(--bronze)}
.comment-head{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}
.comment-avatar{
    width:44px;height:44px;background:var(--bronze);border:2px solid var(--black);
    border-radius:50%;display:flex;align-items:center;justify-content:center;
    color:var(--cream);font-family:var(--font-display);font-size:1.3rem;
    flex-shrink:0;box-shadow:2px 2px 0 var(--red);
}
.comment-user{flex:1;min-width:0}
.comment-name{
    font-family:var(--font-display);font-size:1rem;color:var(--black);
    line-height:1;margin-bottom:.2rem;letter-spacing:.02em;
}
.comment-handle{font-size:.7rem;color:var(--gray-500);font-weight:600}
.comment-platform{
    font-family:var(--font-display);font-size:.65rem;padding:.2rem .5rem;
    border-radius:3px;color:var(--cream);letter-spacing:.05em;
    border:1.5px solid var(--black);box-shadow:1.5px 1.5px 0 var(--black);
}
.comment-platform.ig{background:linear-gradient(135deg,#833AB4 0%,#FD1D1D 50%,#FCAF45 100%)}
.comment-platform.yt{background:#FF0000}
.comment-text{
    font-size:.88rem;color:var(--gray-700);line-height:1.5;margin-bottom:1rem;
    font-style:italic;position:relative;padding-left:1rem;border-left:2px solid var(--red);
}
.comment-foot{
    display:flex;align-items:center;justify-content:space-between;
    padding-top:.8rem;border-top:1px dashed var(--gray-300);
    font-size:.7rem;color:var(--gray-500);font-weight:600;
}
.comment-likes{
    color:var(--red);font-family:var(--font-display);font-size:.85rem;letter-spacing:.05em;
}

/* ====== TOP FANS / INFLUENCERS ====== */
.fans-section{
    background:linear-gradient(180deg,var(--cream-warm) 0%,var(--cream-soft) 100%);
    padding:7rem 1.5rem;position:relative;overflow:hidden;
}
.fans-container{max-width:900px;margin:0 auto;position:relative;z-index:2}
.fans-list{margin-top:3rem;display:flex;flex-direction:column;gap:.8rem}
.fan-row{
    display:grid;grid-template-columns:auto auto 1fr auto auto;gap:1.2rem;
    align-items:center;background:var(--cream);border:3px solid var(--black);
    border-radius:8px;padding:1rem 1.5rem;box-shadow:4px 4px 0 var(--red);
    transition:.25s var(--easing);cursor:pointer;
}
.fan-row:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--red)}
.fan-row.gold{
    background:linear-gradient(135deg,#fdf6e0 0%,var(--cream) 100%);
    box-shadow:4px 4px 0 var(--bronze);border-color:var(--bronze);
}
.fan-row.gold:hover{box-shadow:7px 7px 0 var(--bronze)}
.fan-rank{
    width:42px;height:42px;background:var(--bronze);color:var(--cream);
    border:3px solid var(--black);border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-family:var(--font-display);font-size:1.2rem;flex-shrink:0;box-shadow:2px 2px 0 var(--red);
}
.fan-row.gold .fan-rank{background:var(--red);box-shadow:2px 2px 0 var(--bronze)}
.fan-rank.medal{font-size:1.4rem}
.fan-avatar{
    width:48px;height:48px;background:var(--red);border:2px solid var(--black);
    border-radius:50%;display:flex;align-items:center;justify-content:center;
    color:var(--cream);font-family:var(--font-display);font-size:1.4rem;flex-shrink:0;
}
.fan-info{flex:1;min-width:0}
.fan-name{
    font-family:var(--font-display);font-size:1.2rem;color:var(--black);
    line-height:1;letter-spacing:.02em;
}
.fan-handle{font-size:.7rem;color:var(--gray-500);font-weight:600;margin-top:.2rem}
.fan-stats{display:flex;gap:1.5rem;text-align:center}
.fan-stat{font-size:.7rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.fan-stat strong{
    display:block;font-family:var(--font-display);font-size:1.2rem;
    color:var(--red);line-height:1;margin-bottom:.2rem;
}
.fan-badge{
    background:var(--navy);color:var(--cream);font-family:var(--font-display);
    font-size:.65rem;padding:.3rem .6rem;border:2px solid var(--black);
    border-radius:3px;letter-spacing:.05em;box-shadow:2px 2px 0 var(--bronze);
}
.fan-row.gold .fan-badge{background:var(--bronze);box-shadow:2px 2px 0 var(--red)}
