/* ============================================================
   kv2-ek.css — bu dosyayı style.css'e YAPIŞTIRMANA GEREK YOK.
   Doğrudan <link rel="stylesheet" href="assets/css/kv2-ek.css">
   olarak login.php / register.php / kurallar.php / gizlilik-politikasi.php
   / cerez-politikasi.php / dj-istatistikleri.php sayfalarına bağlı.
   Kapsar: çerez onay çubuğu, kural onay kutusu (register),
   yasal sayfalar, DJ istatistik sayfası, portal ana sayfa
   (navbar/hero/dj ızgarası/istatistik/footer).
   ============================================================ */

/* ---------- Çerez onay çubuğu ---------- */
.kv2-cookie-banner{
    position:fixed;left:16px;right:16px;bottom:16px;
    max-width:920px;margin:0 auto;
    background:var(--kv2-panel);
    border:1px solid var(--kv2-border);
    border-radius:14px;
    padding:16px 18px;
    display:flex;align-items:center;gap:16px;flex-wrap:wrap;
    box-shadow:0 12px 40px rgba(0,0,0,.5);
    z-index:500;
    opacity:0;
    transform:translateY(16px);
    transition:opacity .25s ease, transform .25s ease;
}
.kv2-cookie-banner.kv2-cookie-show{opacity:1;transform:translateY(0);}
.kv2-cookie-banner-text{flex:1 1 320px;font-size:13px;color:var(--kv2-muted);line-height:1.6;}
.kv2-cookie-banner-text a{color:var(--kv2-teal);}
.kv2-cookie-banner-actions{display:flex;gap:8px;flex:0 0 auto;}
@media (max-width:640px){
    .kv2-cookie-banner{flex-direction:column;align-items:stretch;left:10px;right:10px;bottom:10px;padding:14px;}
    .kv2-cookie-banner-actions{width:100%;}
    .kv2-cookie-banner-actions .kv2-btn{flex:1;}
}

/* ---------- Kural onay kutusu (register.php) ---------- */
.kv2-check-row{
    display:flex;align-items:flex-start;gap:10px;
    margin:16px 0 4px;
    font-size:12.5px;color:var(--kv2-muted);line-height:1.6;
}
.kv2-check-row input[type=checkbox]{
    width:18px;height:18px;flex:0 0 auto;margin-top:2px;
    accent-color:var(--kv2-teal);cursor:pointer;
}
.kv2-check-row label{margin:0;color:var(--kv2-muted);cursor:pointer;}
.kv2-check-row a{color:var(--kv2-teal);font-weight:600;}
.kv2-check-row a:hover{text-decoration:underline;}

/* ---------- Yasal içerik sayfaları (kurallar/gizlilik/çerez) ---------- */
.kv2-legal-page{min-height:100vh;background:var(--kv2-bg-1);}
.kv2-legal-header{
    background:radial-gradient(circle at top,#1a2029,var(--kv2-bg-1));
    border-bottom:1px solid var(--kv2-border);
    padding:28px 20px;
}
.kv2-legal-header-inner{max-width:760px;margin:0 auto;}
.kv2-legal-back{font-size:13px;color:var(--kv2-muted);display:inline-block;margin-bottom:10px;}
.kv2-legal-header h1{font-size:26px;}
.kv2-legal-updated{color:var(--kv2-muted);font-size:12px;margin-top:6px;}
.kv2-legal-body{max-width:760px;margin:0 auto;padding:28px 20px 60px;font-size:14.5px;line-height:1.8;color:var(--kv2-text);}
.kv2-legal-body h2{font-size:17px;margin:26px 0 8px;color:var(--kv2-teal);}
.kv2-legal-body h2:first-child{margin-top:0;}
.kv2-legal-body p{margin:0 0 10px;color:#d7d9dd;}
.kv2-legal-nav{
    max-width:760px;margin:0 auto;padding:0 20px;
    display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;
}
.kv2-legal-nav a{
    font-size:12px;padding:6px 12px;border-radius:20px;
    background:rgba(255,255,255,.06);border:1px solid var(--kv2-border);
    color:var(--kv2-text);
}
.kv2-legal-nav a.active{background:var(--kv2-teal);color:#0b1015;border-color:var(--kv2-teal);font-weight:700;}

/* ---------- DJ İstatistikleri sayfası ---------- */
.kv2-stats-page{min-height:100vh;background:var(--kv2-bg-1);padding:28px 20px 60px;}
.kv2-stats-inner{max-width:960px;margin:0 auto;}
.kv2-stats-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:22px;}
.kv2-stats-header h1{font-size:24px;}
.kv2-live-now-card{
    display:flex;align-items:center;gap:14px;
    background:linear-gradient(100deg,rgba(230,57,70,.18),rgba(46,196,182,.08));
    border:1px solid var(--kv2-red);
    border-radius:14px;padding:18px 20px;margin-bottom:24px;
}
.kv2-live-now-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--kv2-red);flex:0 0 auto;}
.kv2-live-now-body strong{font-size:18px;display:block;}
.kv2-live-now-body span{color:var(--kv2-muted);font-size:13px;}
.kv2-stats-empty{color:var(--kv2-muted);font-size:14px;background:var(--kv2-bg-2);border:1px solid var(--kv2-border);border-radius:12px;padding:16px;margin-bottom:24px;}
.kv2-dj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;}
.kv2-dj-stat-card{
    background:var(--kv2-bg-2);border:1px solid var(--kv2-border);
    border-radius:14px;padding:16px;display:flex;gap:12px;align-items:center;
}
.kv2-dj-stat-card.kv2-dj-stat-live{border-color:var(--kv2-red);}
.kv2-dj-stat-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:0 0 auto;background:rgba(255,255,255,.08);}
.kv2-dj-stat-body{min-width:0;flex:1;}
.kv2-dj-stat-name{font-weight:800;font-size:14px;display:flex;align-items:center;gap:6px;}
.kv2-dj-stat-row{font-size:12px;color:var(--kv2-muted);margin-top:4px;display:flex;justify-content:space-between;gap:6px;}
.kv2-dj-stat-row b{color:var(--kv2-text);}
@media (max-width:640px){
    .kv2-legal-header,.kv2-legal-body,.kv2-legal-nav{padding-left:16px;padding-right:16px;}
}

/* ============================================================
   PORTAL ANA SAYFA (login.php) — navbar, hero, DJ ızgarası,
   istatistik kartları, giriş/üye-ol bölümü, footer.
   ============================================================ */
.kv2-portal{background:var(--kv2-bg-1);min-height:100vh;overflow-x:hidden;}

/* --- Navbar --- */
.kv2-portal-nav{
    position:sticky;top:0;z-index:100;
    display:flex;align-items:center;justify-content:space-between;
    gap:12px;padding:12px 24px;
    background:rgba(13,17,23,.85);backdrop-filter:blur(10px);
    border-bottom:1px solid var(--kv2-border);
}
.kv2-portal-nav-brand{display:flex;align-items:center;gap:10px;min-width:0;}
.kv2-portal-nav-brand img{height:34px;width:auto;border-radius:6px;flex:0 0 auto;}
.kv2-portal-nav-brand strong{font-family:var(--font-display);font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.kv2-portal-nav-links{display:flex;align-items:center;gap:22px;}
.kv2-portal-nav-links a{color:var(--kv2-muted);font-size:13px;font-weight:600;white-space:nowrap;}
.kv2-portal-nav-links a:hover{color:var(--kv2-text);text-decoration:none;}
.kv2-portal-nav-cta{display:flex;gap:8px;flex:0 0 auto;}
.kv2-portal-nav-cta .kv2-btn{padding:8px 16px;font-size:12.5px;white-space:nowrap;}
.kv2-portal-nav-burger{display:none;background:none;border:1px solid var(--kv2-border);color:var(--kv2-text);border-radius:8px;width:38px;height:38px;font-size:16px;cursor:pointer;}

/* --- Hero --- */
.kv2-hero{
    position:relative;
    padding:64px 24px 70px;
    text-align:center;
    background-color:var(--kv2-bg-1);
    background-size:cover;background-position:center;
    overflow:hidden;
}
.kv2-hero::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(8,10,14,.55) 0%,rgba(8,10,14,.88) 65%,var(--kv2-bg-1) 100%);
    z-index:0;
}
.kv2-hero-inner{position:relative;z-index:1;max-width:720px;margin:0 auto;}
.kv2-hero .kv2-onair{font-size:12px;padding:5px 14px;}
.kv2-hero h1{font-size:clamp(32px,6vw,54px);margin:14px 0 8px;letter-spacing:-.01em;}
.kv2-hero-tagline{color:var(--kv2-muted);font-size:15px;max-width:520px;margin:0 auto 26px;line-height:1.6;}
.kv2-hero-cta{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:30px;}
.kv2-hero-cta .kv2-btn{padding:13px 26px;font-size:14px;}
.kv2-hero-live-card{
    display:inline-flex;align-items:center;gap:14px;
    background:rgba(20,24,32,.75);backdrop-filter:blur(8px);
    border:1px solid var(--kv2-red);border-radius:16px;
    padding:12px 20px;max-width:100%;
}
.kv2-hero-live-card img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid var(--kv2-red);flex:0 0 auto;}
.kv2-hero-live-text{text-align:left;}
.kv2-hero-live-text .kv2-tag{font-size:10.5px;font-weight:800;color:#ff8a8a;letter-spacing:.06em;display:flex;align-items:center;gap:5px;}
.kv2-hero-live-text strong{font-size:15px;display:block;margin-top:1px;}
.kv2-hero-idle-card{
    display:inline-flex;align-items:center;gap:10px;
    background:rgba(255,255,255,.05);border:1px solid var(--kv2-border);
    border-radius:16px;padding:12px 20px;color:var(--kv2-muted);font-size:13px;
}
.kv2-hero-player{margin-top:22px;display:flex;align-items:center;justify-content:center;gap:10px;}
.kv2-hero-player audio{display:none;}
.kv2-hero-player-btn{
    background:var(--kv2-teal);border:0;color:#0b1015;
    width:52px;height:52px;border-radius:50%;font-size:18px;
    cursor:pointer;display:flex;align-items:center;justify-content:center;
    box-shadow:0 6px 22px rgba(46,196,182,.35);
}
.kv2-hero-player-label{font-size:12.5px;color:var(--kv2-muted);}

/* --- İstatistik şeridi --- */
.kv2-portal-stats{
    display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
    background:var(--kv2-border);
    border-top:1px solid var(--kv2-border);border-bottom:1px solid var(--kv2-border);
}
.kv2-portal-stat{background:var(--kv2-bg-2);padding:22px 14px;text-align:center;}
.kv2-portal-stat b{display:block;font-family:var(--font-display);font-size:26px;color:var(--kv2-teal);}
.kv2-portal-stat span{font-size:12px;color:var(--kv2-muted);}

/* --- Bölüm ortak başlık --- */
.kv2-portal-section{max-width:1080px;margin:0 auto;padding:54px 24px;}
.kv2-portal-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:22px;flex-wrap:wrap;}
.kv2-portal-section-head h2{font-size:22px;}
.kv2-portal-section-head a{font-size:12.5px;color:var(--kv2-teal);font-weight:700;}

/* --- DJ ızgarası --- */
.kv2-portal-dj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;}
.kv2-portal-dj-card{
    background:var(--kv2-bg-2);border:1px solid var(--kv2-border);border-radius:16px;
    padding:18px;text-align:center;position:relative;
}
.kv2-portal-dj-card.kv2-portal-dj-live{border-color:var(--kv2-red);}
.kv2-portal-dj-avatar{
    width:64px;height:64px;border-radius:50%;object-fit:cover;
    margin:0 auto 10px;display:block;background:rgba(255,255,255,.08);
    border:2px solid var(--kv2-border);
}
.kv2-portal-dj-card.kv2-portal-dj-live .kv2-portal-dj-avatar{border-color:var(--kv2-red);}
.kv2-portal-dj-initial{
    width:64px;height:64px;border-radius:50%;margin:0 auto 10px;
    display:flex;align-items:center;justify-content:center;
    font-family:var(--font-display);font-size:24px;font-weight:800;
    background:linear-gradient(135deg,#2EC4B6,#1b6f68);color:#fff;
}
.kv2-portal-dj-name{font-weight:800;font-size:14px;}
.kv2-portal-dj-role{font-size:11px;color:var(--kv2-muted);margin-top:2px;text-transform:uppercase;letter-spacing:.04em;}
.kv2-portal-dj-live-pill{
    position:absolute;top:10px;right:10px;
    background:var(--kv2-red);color:#fff;font-size:9.5px;font-weight:800;
    padding:2px 8px;border-radius:20px;letter-spacing:.03em;
}

/* --- Neden üye ol bölümü --- */
.kv2-portal-why{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;}
.kv2-portal-why li{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;color:#d7d9dd;line-height:1.6;}
.kv2-portal-why li span{font-size:20px;flex:0 0 auto;line-height:1;}

/* --- Giriş/Üye-ol ikili bölüm --- */
.kv2-portal-auth-wrap{
    display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;
}
.kv2-portal-auth-side h2{font-size:22px;margin-bottom:6px;}
.kv2-portal-auth-side p{color:var(--kv2-muted);font-size:13.5px;margin-bottom:18px;}
.kv2-portal-auth-card{background:var(--kv2-panel);border:1px solid var(--kv2-border);border-radius:16px;padding:28px;}
.kv2-portal-auth-card h3{font-size:18px;margin-bottom:16px;}
.kv2-portal-auth-card form{display:flex;flex-direction:column;}
.kv2-portal-auth-card label{font-size:13px;color:var(--kv2-muted);margin:10px 0 4px;}
.kv2-portal-auth-card input{width:100%;}
.kv2-portal-auth-card button[type=submit]{
    margin-top:20px;background:var(--kv2-teal);border:0;color:#0b1015;
    font-weight:700;font-size:14px;padding:12px;border-radius:8px;cursor:pointer;
}
.kv2-portal-auth-card button[type=submit]:disabled{opacity:.5;cursor:not-allowed;}
.kv2-portal-auth-card button[type=submit]:not(:disabled):hover{background:#27b0a3;}

/* --- Footer --- */
.kv2-portal-footer{border-top:1px solid var(--kv2-border);background:var(--kv2-bg-2);}
.kv2-portal-footer-inner{max-width:1080px;margin:0 auto;padding:36px 24px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.kv2-portal-footer-brand strong{font-family:var(--font-display);font-size:18px;display:block;margin-bottom:6px;}
.kv2-portal-footer-brand p{color:var(--kv2-muted);font-size:12.5px;max-width:320px;line-height:1.6;}
.kv2-portal-footer-links{display:flex;gap:36px;flex-wrap:wrap;}
.kv2-portal-footer-links div strong{display:block;font-size:12px;color:var(--kv2-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;}
.kv2-portal-footer-links a{display:block;font-size:13px;color:var(--kv2-text);margin-bottom:8px;}
.kv2-portal-footer-bottom{border-top:1px solid var(--kv2-border);padding:16px 24px;text-align:center;font-size:11.5px;color:var(--kv2-muted);}

/* --- Mobil --- */
@media (max-width:860px){
    .kv2-portal-auth-wrap{grid-template-columns:1fr;}
}
@media (max-width:760px){
    .kv2-portal-nav-links{display:none;}
    .kv2-portal-nav-burger{display:flex;align-items:center;justify-content:center;}
    .kv2-portal-stats{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
    .kv2-hero{padding:46px 16px 50px;}
    .kv2-portal-section{padding:40px 16px;}
    .kv2-portal-nav{padding:10px 14px;}
    .kv2-portal-auth-card{padding:20px;}
}
