/* =========================================================
   Belvasta Vize — v2: yorumlar, canlı istatistik, GSAP efektleri
   ========================================================= */


.stars{display:inline-flex;gap:2px;vertical-align:-3px}
.stars svg{width:17px;height:17px;fill:#d3d3d3}
.stars svg.on{fill:var(--gold)}
.sec--dark .stars svg{fill:rgba(255,255,255,.18)}
.sec--dark .stars svg.on{fill:var(--gold-2)}


.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2fd17a;box-shadow:0 0 0 0 rgba(47,209,122,.6);animation:livePing 1.8s infinite;vertical-align:middle;margin-left:4px}
@keyframes livePing{70%{box-shadow:0 0 0 8px rgba(47,209,122,0)}100%{box-shadow:0 0 0 0 rgba(47,209,122,0)}}
.stat--live b{color:var(--gold-2)}
.stat span em{font-style:normal}
.bump{animation:bump .9s var(--ease)}
@keyframes bump{30%{transform:scale(1.18);color:#2fd17a}}
.chip-live{background:rgba(47,209,122,.1);border:1px solid rgba(47,209,122,.3);padding:6px 12px;border-radius:999px;color:#e8e8e8!important}
.chip-live b{color:#fff}
.chip-live .live-dot{margin:0 6px 0 0}


.rv{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:12px;transition:transform .45s var(--ease),box-shadow .45s var(--ease);position:relative;overflow:hidden}
.rv::before{content:"\201C";position:absolute;right:18px;top:-6px;font-family:var(--f-display);font-size:6rem;line-height:1;color:var(--gold-3);pointer-events:none}
.rv:hover{transform:translateY(-5px);box-shadow:var(--sh-2)}
.rv__head{display:flex;gap:12px;align-items:center;position:relative}
.rv__head .flag{margin-left:auto;width:28px;height:21px}
.rv__head b{display:block;color:var(--ink);font-size:1rem}
.rv__head small{color:var(--muted);font-size:.8rem}
.rv__av{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex:none;background: var(--grad-inv);color: var(--on-inv);font-family:var(--f-display);font-weight:700;font-size:1.15rem}
.rv p{margin:0;color:var(--text);font-size:.97rem;flex:1;position:relative}
.rv__type{display:inline-flex;gap:8px;align-items:center;font-size:.8rem;font-weight:700;color:var(--ink-3);background:var(--paper);padding:7px 12px;border-radius:999px;align-self:flex-start}
.rv--dark{background:rgba(255,255,255,0.022);border-color:rgba(255,255,255,0.1);backdrop-filter:blur(6px)}
.rv--dark::before{color:rgba(255,255,255,0.054)}
.rv--dark p{color:#dadada}
.rv--dark .rv__head b{color:#fff}
.rv--dark .rv__head small{color:#9a9a9a}
.rv--dark .rv__type{background:rgba(255,255,255,0.045);color:var(--gold-2)}
.rv-sec{overflow:hidden}
.rv-swiper{overflow:visible!important;padding-bottom:50px!important}
.rv-swiper .swiper-slide{height:auto;width:min(380px,86vw)}
.rv-swiper .swiper-pagination-bullet{background:rgba(255,255,255,0.22);opacity:1}
.rv-swiper .swiper-pagination-bullet-active{background:var(--inv);width:24px;border-radius:5px;transition:width .3s;color:var(--on-inv)}
.rv-nav{display:flex;gap:10px;align-items:center}
.rv-nav button{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,0.2);background:transparent;color:#fff;display:grid;place-items:center;transition:.3s var(--ease)}
.rv-nav button:hover{background:var(--inv);border-color:var(--gold);color: var(--on-inv)}
.no-swiper .rv-swiper .swiper-wrapper{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.rv-empty{text-align:center;padding:50px 20px;border:1px dashed rgba(255,255,255,0.18);border-radius:var(--r);color:#b3b3b3}
.rv-empty .ico{width:40px;height:40px;color:var(--gold-2);margin:0 auto 10px;display:block}


.rv-top{display:grid;grid-template-columns:340px 1fr;gap:22px;margin-bottom:40px}
@media(max-width:860px){.rv-top{grid-template-columns:1fr}}
.rv-score{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.rv-score__n{font-family:var(--f-display);font-size:4rem;line-height:1;color:var(--ink)}
.rv-score .stars svg{width:22px;height:22px}
.rv-bars{width:100%;display:grid;gap:6px;margin-top:10px}
.rv-bars div{display:grid;grid-template-columns:14px 1fr 28px;gap:10px;align-items:center;font-size:.82rem;color:var(--muted)}
.rv-bars i{height:7px;border-radius:7px;background:var(--paper-2);overflow:hidden}
.rv-bars em{display:block;height:100%;background: var(--grad-inv);border-radius:7px;color:var(--on-inv)}
.live-board__head{display:flex;align-items:center;gap:8px;font-weight:700;color:#fff;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase}
.live-board__head .live-dot{margin:0}
.live-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0 10px}
.live-grid b{display:block;font-family:var(--f-display);font-size:clamp(2.2rem,5vw,3.4rem);line-height:1;color:var(--gold-2);font-variant-numeric:tabular-nums}
.live-grid span{font-size:.86rem;color:#b3b3b3}
.live-note{font-size:.8rem;color:#8c8c8c;margin:0}
@media(max-width:560px){.live-grid{grid-template-columns:1fr}}
.rv-grid{columns:3 320px;column-gap:20px}
.rv-grid .rv{break-inside:avoid;margin-bottom:20px}
.ap-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.ap{display:flex;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:14px 16px;transition:.3s var(--ease)}
.ap:hover{transform:translateY(-3px);box-shadow:var(--sh-1)}
.ap .flag{width:32px;height:24px}
.ap b{display:block;color:var(--ink);font-size:.95rem}
.ap span{font-size:.84rem;color:var(--muted)}
.ap small{margin-left:auto;color:var(--muted);font-size:.78rem;white-space:nowrap}
.ap__ok{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,0.06);color:var(--teal)!important;display:grid;place-items:center;flex:none}
.ap__ok .ico{width:14px;height:14px}


.rate{display:inline-flex;flex-direction:row-reverse;gap:4px}
.rate input{position:absolute;opacity:0;pointer-events:none}
.rate label{cursor:pointer}
.rate svg{width:34px;height:34px;fill:#dcdcdc;transition:transform .2s var(--ease),fill .2s}
.rate label:hover svg,.rate label:hover~label svg,.rate input:checked~label svg{fill:var(--gold)}
.rate label:hover svg{transform:scale(1.15) rotate(-8deg)}
.rate input:focus-visible+label svg{outline:2px solid var(--gold);border-radius:4px}


.ticker{position:fixed;left:20px;bottom:20px;z-index:55;display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 16px 12px 12px;box-shadow:var(--sh-2);max-width:330px;transform:translateY(140%);opacity:0;transition:transform .7s var(--ease),opacity .7s var(--ease)}
.ticker.show{transform:none;opacity:1}
.ticker .flag{width:36px;height:27px}
.ticker b{display:block;font-size:.88rem;color:var(--ink);line-height:1.3}
.ticker span{font-size:.78rem;color:var(--muted)}
.ticker__x{position:absolute;top:4px;right:6px;border:0;background:none;color:var(--muted);font-size:1rem;line-height:1}
@media(max-width:640px){.ticker{left:12px;right:84px;bottom:16px;max-width:none}}


.cursor-glow{position:fixed;left:0;top:0;width:420px;height:420px;margin:-210px 0 0 -210px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(circle,rgba(255,255,255,0.059),transparent 65%);opacity:0;transition:opacity .4s;mix-blend-mode:screen}
.hero:hover~* .cursor-glow,.has-glow .cursor-glow{opacity:1}
@media(pointer:coarse){.cursor-glow{display:none}}


.split-reveal .ch{display:inline-block;will-change:transform}
.split-reveal .w{display:inline-block;white-space:nowrap}


.post__cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.post:hover .post__cover img{transform:scale(1.06)}
.post__cover.has-img::after{background:linear-gradient(180deg,transparent 50%,rgba(15,15,15,0.35))}
.post-hero-img{border-radius:var(--r);overflow:hidden;margin-bottom:34px;aspect-ratio:16/8;box-shadow:var(--sh-2)}
.post-hero-img img{width:100%;height:100%;object-fit:cover}


.magnetic{will-change:transform}


.scroll-bar{position:fixed;left:0;top:0;height:3px;width:100%;z-index:90;transform-origin:0 50%;transform:scaleX(0);background: var(--grad-inv);color:var(--on-inv)}
.stat span span{display:inline;margin:0;opacity:1}
.ap>div{flex:1;min-width:0}
.rate{justify-self:start}
