/* === VISUAL OVERRIDE - Premium Enhancements === */
.vg-page-hero--support,.vg-page-hero--faq,.vg-page-hero--contact,.vg-page-hero--ranking,.vg-page-hero--guide{background-size:200% 200%!important;animation:vg-gradient-shift 8s ease infinite!important}
.vg-section-divider{display:block;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--c1s,#ffe0b2),transparent);margin:40px 0;position:relative}
.vg-section-divider::after{content:'';position:absolute;left:50%;top:-3px;transform:translateX(-50%);width:40px;height:7px;background:var(--c1,#e65100);border-radius:4px}
.vg-animate-in{animation:vg-fade-in-up 0.6s ease forwards;opacity:0}
.vg-btn-primary{position:relative;overflow:hidden;z-index:1}
.vg-btn-primary::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);transition:left 0.5s ease;z-index:-1}
.vg-btn-primary:hover::before{left:100%}

/* === HERO ANIMATION === */
.vg-fp-hero{animation:vg-fade-in-up 0.8s ease}
.vg-fp-hero__title{animation:vg-fade-in-up 0.6s ease 0.1s backwards}
.vg-fp-hero__desc{animation:vg-fade-in-up 0.6s ease 0.2s backwards}
.vg-fp-hero__btn{animation:vg-fade-in-up 0.6s ease 0.3s backwards}

/* === BUTTON GLOSS EFFECT === */
.vg-fp-hero__btn::after{content:'';position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,0.15),transparent);border-radius:50px 50px 0 0;pointer-events:none}
.vg-game-card__dl-btn::after{content:'';position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,0.1),transparent);border-radius:16px 16px 0 0;pointer-events:none;opacity:0;transition:opacity 0.2s}
.vg-game-card__dl-btn:hover::after{opacity:1}

/* === CARD HOVER TOP PROGRESS BAR === */
.vg-game-card{position:relative;overflow:hidden}
.vg-game-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--c1),var(--c1d));transform:scaleX(0);transform-origin:left;transition:transform 0.35s cubic-bezier(0.4,0,0.2,1);z-index:3}
.vg-game-card:hover::before{transform:scaleX(1)}
.vg-fp-scroll__card{position:relative;overflow:hidden}
.vg-fp-scroll__card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--c1),var(--c1d));transform:scaleX(0);transform-origin:left;transition:transform 0.35s cubic-bezier(0.4,0,0.2,1);z-index:3}
.vg-fp-scroll__card:hover::before{transform:scaleX(1)}
.vg-fp-cat-card{position:relative;overflow:hidden}
.vg-fp-cat-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--c1),var(--c1d));transform:scaleX(0);transform-origin:left;transition:transform 0.35s cubic-bezier(0.4,0,0.2,1);z-index:3}
.vg-fp-cat-card:hover::before{transform:scaleX(1)}

/* === SOCIAL LINK HOVER PULSE GLOW === */
.vg-footer__social-btn:hover{animation:vg-pulse-glow 1s ease}
.vg-appbar-emoji-strip__icon:hover{animation:vg-pulse-glow 0.8s ease}

/* === RANKING ITEM STAGGER ANIMATION === */
.vg-fp-ranking__item{animation:vg-slide-right 0.3s ease backwards}
.vg-fp-ranking__item:nth-child(1){animation-delay:0.02s}
.vg-fp-ranking__item:nth-child(2){animation-delay:0.04s}
.vg-fp-ranking__item:nth-child(3){animation-delay:0.06s}
.vg-fp-ranking__item:nth-child(4){animation-delay:0.08s}
.vg-fp-ranking__item:nth-child(5){animation-delay:0.1s}
.vg-fp-ranking__item:nth-child(6){animation-delay:0.12s}
.vg-fp-ranking__item:nth-child(7){animation-delay:0.14s}
.vg-fp-ranking__item:nth-child(8){animation-delay:0.16s}
.vg-fp-ranking__item:nth-child(9){animation-delay:0.18s}
.vg-fp-ranking__item:nth-child(10){animation-delay:0.2s}

/* === CHIP HOVER ANIMATION === */
.vg-fp-catbar__chip{transition:all 0.25s cubic-bezier(0.4,0,0.2,1)}
.vg-fp-catbar__chip:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(230,81,0,0.15)}

/* === STAT CARD GLOW === */
.vg-footer__stat{transition:all 0.3s ease}
.vg-footer__stat:hover{background:rgba(255,255,255,0.1);transform:translateY(-2px)}

/* === BACK TO TOP PULSE === */
.vg-back-to-top.visible{animation:vg-pulse-glow 2s ease infinite}

@keyframes vg-chip-bounce{0%{transform:translateY(0)}30%{transform:translateY(-3px)}50%{transform:translateY(-1px)}70%{transform:translateY(-2px)}100%{transform:translateY(-3px)}}
@keyframes vg-get-btn-pop{0%{transform:scale(1)}40%{transform:scale(1.12)}60%{transform:scale(0.95)}80%{transform:scale(1.05)}100%{transform:scale(1.1)}}
@keyframes vg-badge-pulse{0%,100%{box-shadow:0 0 0 0 rgba(76,175,80,0.4)}50%{box-shadow:0 0 0 8px rgba(76,175,80,0)}}

.vg-fp-today__card{overflow:hidden;position:relative}
.vg-fp-today__card .vg-fp-today__img{transition:transform 0.5s cubic-bezier(0.4,0,0.2,1)}
.vg-fp-today__card:hover .vg-fp-today__img{transform:scale(1.05)}

.vg-fp-catbar__chip{transition:all 0.25s cubic-bezier(0.4,0,0.2,1)}
.vg-fp-catbar__chip:hover{animation:vg-chip-bounce 0.4s ease forwards;transform:translateY(-3px);box-shadow:0 4px 14px rgba(230,81,0,0.2)}

.vg-card__action{transition:all 0.25s cubic-bezier(0.4,0,0.2,1)}
.vg-card__action:hover{animation:vg-get-btn-pop 0.4s ease forwards;transform:scale(1.1)}

.vg-fp-scroll{position:relative}
.vg-fp-scroll::after{content:'';position:absolute;bottom:0;right:0;width:60px;height:100%;background:linear-gradient(90deg,transparent,var(--color-bg-page,#f4f4f4));pointer-events:none;z-index:2}

.vg-card__badge--high{animation:vg-badge-pulse 2s ease infinite;background:#4caf50;color:#fff;border-radius:4px;padding:2px 6px;font-weight:700;font-size:11px}
