/* ===================== HERO ===================== */
.hero { padding-top: 2.2rem; padding-bottom: 1.4rem; }
.hero h1 { font-weight: 800; letter-spacing: .4px; }

/* ===================== STREAM PLAYER ===================== */
.stream-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.02);
}
.stream-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* ===================== CHAT ===================== */
.stream-chat {
  aspect-ratio: auto;
  height: 100%;
  min-height: 420px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.10);
}
@media (max-width: 1199px) {
  .stream-chat { min-height: 380px; }
}

/* ===================== JUEGOS STRIP ===================== */
.game-card {
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  width: 180px;
  flex-shrink: 0;
  scroll-snap-align: start;
}
.game-cover {
  width: 100%;
  aspect-ratio: 4/5;
  display: block;
  object-fit: cover;
}
.game-name { font-weight: 600; font-size: .9rem; }

.games-strip {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 8px;
  scroll-snap-type: x mandatory;
}
.games-strip::-webkit-scrollbar { height: 8px; }
.games-strip::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.12);
  border-radius: 999px;
}