*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --blue: #4f7fff; --navy: #07071a;
  --bg: #07071a; --card-bg: #0f1022; --card-bg2: #141830;
  --text: #eeeeff; --muted: rgba(238,238,255,0.5);
  --border: rgba(255,255,255,0.08); --border-hover: rgba(79,127,255,0.4);
  --red: #ff5e5e; --green: #10d98a; --radius: 14px;
  --shadow: 0 8px 32px rgba(0,0,0,0.4);
}
body {
  font-family: 'Plus Jakarta Sans', sans-serif;
  background: var(--bg); color: var(--text);
  -webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4 { font-family: 'Syne', sans-serif; }

/* NAV */
.nav {
  background: rgba(7,7,26,0.85); backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
  padding: 0 32px; height: 64px;
  display: flex; align-items: center; position: sticky; top: 0; z-index: 100;
}
.nav-inner { display: flex; align-items: center; justify-content: space-between; width: 100%; max-width: 1200px; margin: 0 auto; }
.logo { font-family: 'Syne', sans-serif; font-size: 1.4rem; font-weight: 800; color: var(--text); text-decoration: none; letter-spacing: -0.02em; }
.logo-f { color: var(--blue); text-shadow: 0 0 16px rgba(79,127,255,0.5); }
.nav-right { display: flex; align-items: center; gap: 20px; }
.nav-link { color: var(--muted); text-decoration: none; font-size: 0.9rem; font-weight: 500; transition: color 0.2s; }
.nav-link:hover { color: var(--text); }
.btn-outline-sm {
  padding: 7px 16px; border: 1.5px solid var(--border);
  color: var(--text); border-radius: 8px; text-decoration: none;
  font-size: 0.85rem; font-weight: 600; transition: all 0.2s;
}
.btn-outline-sm:hover { border-color: rgba(255,255,255,0.25); background: rgba(255,255,255,0.06); }
.btn-primary-sm {
  padding: 7px 16px; background: var(--blue); color: #fff;
  border-radius: 8px; text-decoration: none;
  font-size: 0.85rem; font-weight: 700; transition: background 0.2s, box-shadow 0.2s;
}
.btn-primary-sm:hover { background: #3d68ff; box-shadow: 0 4px 16px rgba(79,127,255,0.4); }

/* HERO */
.live-hero {
  background: linear-gradient(135deg, #07071a 0%, #0d0a28 50%, #07071a 100%);
  border-bottom: 1px solid var(--border);
  padding: 64px 32px 56px; text-align: center; position: relative; overflow: hidden;
}
.live-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 60% 70% at 50% 0%, rgba(79,127,255,0.12), transparent);
  pointer-events: none;
}
.live-hero-inner { max-width: 700px; margin: 0 auto; position: relative; z-index: 1; }
.live-hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,94,94,0.12); color: #ff8080;
  border: 1px solid rgba(255,94,94,0.25);
  padding: 6px 16px; border-radius: 50px;
  font-size: 0.82rem; font-weight: 700; margin-bottom: 20px; letter-spacing: 0.06em;
}
.live-hero h1 { font-size: 3rem; font-weight: 800; color: var(--text); margin-bottom: 16px; letter-spacing: -0.03em; }
.live-hero p { color: var(--muted); font-size: 1.1rem; max-width: 520px; margin: 0 auto; }
.gradient {
  background: linear-gradient(90deg, var(--blue), #b05fff);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}

/* LIVE DOT */
.live-dot {
  display: inline-block; width: 8px; height: 8px;
  background: var(--red); border-radius: 50%;
  animation: pulse-dot 1.2s ease-in-out infinite;
}
@keyframes pulse-dot { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(1.3)} }

/* PAGE */
.page-content { max-width: 1200px; margin: 0 auto; padding: 48px 32px; }
.content-section { margin-bottom: 60px; }
.section-head { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
.section-head h2 { font-size: 1.4rem; font-weight: 800; display: flex; align-items: center; gap: 8px; color: var(--text); }
.count-badge { background: var(--blue); color: #fff; padding: 3px 12px; border-radius: 50px; font-size: 0.78rem; font-weight: 700; }

/* CARDS GRID */
.cards-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }

/* LIVE CARD */
.live-card {
  background: var(--card-bg); border-radius: var(--radius);
  overflow: hidden; border: 1px solid var(--border);
  transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
}
.live-card:hover { box-shadow: 0 12px 40px rgba(0,0,0,0.5); transform: translateY(-2px); border-color: var(--border-hover); }
.live-card-thumb { position: relative; height: 180px; overflow: hidden; }
.live-thumb-bg { width: 100%; height: 100%; background: linear-gradient(135deg, #0d0a28, #1a1060); }
.live-badge-live {
  position: absolute; top: 12px; left: 12px;
  display: flex; align-items: center; gap: 6px;
  background: var(--red); color: #fff;
  padding: 4px 10px; border-radius: 6px;
  font-size: 0.78rem; font-weight: 800; letter-spacing: 0.06em;
}
.live-viewers {
  position: absolute; top: 12px; right: 12px;
  background: rgba(0,0,0,0.7); backdrop-filter: blur(4px);
  color: var(--text); padding: 4px 10px; border-radius: 6px; font-size: 0.78rem;
}
.live-vendor {
  position: absolute; bottom: 12px; left: 12px;
  background: rgba(0,0,0,0.7); backdrop-filter: blur(4px);
  color: var(--text); padding: 4px 12px; border-radius: 6px;
  font-size: 0.82rem; font-weight: 600;
}
.live-card-info { padding: 16px 20px; }
.live-card-info h3 { font-size: 1rem; font-weight: 700; margin-bottom: 6px; color: var(--text); }
.live-card-info p { font-size: 0.85rem; color: var(--muted); margin-bottom: 12px; }
.live-card-meta { display: flex; align-items: center; justify-content: space-between; }
.meta-shop { font-size: 0.82rem; color: var(--muted); }
.btn-watch { padding: 7px 16px; background: var(--red); color: #fff; border-radius: 8px; text-decoration: none; font-size: 0.82rem; font-weight: 700; transition: opacity 0.2s; }
.btn-watch:hover { opacity: 0.85; }
.btn-watch.disabled { background: rgba(255,255,255,0.06); color: var(--muted); cursor: default; }

/* SCHEDULED CARD */
.scheduled-card {
  background: var(--card-bg); border-radius: var(--radius);
  border: 1px solid var(--border); padding: 20px;
  display: flex; gap: 16px; align-items: flex-start;
  transition: border-color 0.2s;
}
.scheduled-card:hover { border-color: var(--border-hover); }
.scheduled-icon { font-size: 2rem; }
.scheduled-info h3 { font-size: 1rem; font-weight: 700; margin-bottom: 4px; color: var(--text); }
.scheduled-info .shop-name { font-size: 0.85rem; color: var(--muted); margin-bottom: 4px; }
.scheduled-info .sched-time { font-size: 0.85rem; color: var(--blue); font-weight: 600; margin-bottom: 6px; }
.scheduled-info p { font-size: 0.85rem; color: var(--muted); }

/* VIDEO GRID */
.video-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; }
.video-card {
  background: var(--card-bg); border-radius: var(--radius);
  overflow: hidden; border: 1px solid var(--border);
  cursor: pointer; transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
}
.video-card:hover { box-shadow: 0 8px 30px rgba(0,0,0,0.5); transform: translateY(-2px); border-color: var(--border-hover); }
.video-thumb-wrap { position: relative; aspect-ratio: 16/9; overflow: hidden; background: #0d0a28; }
.video-thumb-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; }
.video-card:hover .video-thumb-wrap img { transform: scale(1.04); }
.play-btn { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.4); opacity: 0; transition: opacity 0.2s; }
.video-card:hover .play-btn { opacity: 1; }
.play-btn svg { filter: drop-shadow(0 2px 8px rgba(0,0,0,0.6)); }
.video-views-badge { position: absolute; bottom: 8px; right: 8px; background: rgba(0,0,0,0.75); color: var(--text); padding: 3px 8px; border-radius: 6px; font-size: 0.75rem; }
.video-card-info { padding: 14px 16px; }
.video-card-info h3 { font-size: 0.95rem; font-weight: 700; margin-bottom: 4px; color: var(--text); }
.video-card-info p { font-size: 0.82rem; color: var(--muted); margin-bottom: 10px; }
.video-meta { display: flex; align-items: center; justify-content: space-between; font-size: 0.78rem; color: var(--muted); }

/* FILTERS */
.filter-row { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 28px; }
.filter-btn {
  padding: 7px 18px; border-radius: 50px;
  border: 1px solid var(--border); background: transparent;
  color: var(--muted); font-family: inherit; font-size: 0.82rem;
  cursor: pointer; transition: all 0.15s;
}
.filter-btn.active { background: var(--blue); border-color: var(--blue); color: #fff; }
.filter-btn:hover:not(.active) { border-color: rgba(255,255,255,0.2); color: var(--text); }

/* EMPTY STATE */
.empty-state { text-align: center; padding: 64px 20px; color: var(--muted); }
.empty-state .empty-icon { font-size: 3rem; margin-bottom: 16px; opacity: 0.5; }
.empty-state h3 { color: rgba(238,238,255,0.6); font-size: 1.1rem; margin-bottom: 8px; }
.empty-state p { font-size: 0.88rem; }
