.yt-hub-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:24px;
}

.yt-card {
  background:#111;
  border-radius:16px;
  overflow:hidden;
  cursor:pointer;
  transition:.3s;
}

.yt-card:hover {
  transform:translateY(-4px);
}

.yt-thumb {
  position:relative;
  padding-top:56.25%;
  background-size:cover;
  background-position:center;
}

/* PLAY ICON */
.yt-play {
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  width:70px;
  height:70px;
  background:rgba(0,0,0,0.75);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 30px rgba(0,0,0,0.6);
  transition:.3s;
}

.yt-play::before {
  content:'';
  border-left:22px solid #fff;
  border-top:14px solid transparent;
  border-bottom:14px solid transparent;
  margin-left:4px;
}

.yt-card:hover .yt-play {
  background:#ff0000;
  transform:translate(-50%, -50%) scale(1.12);
}

/* DURAÇÃO */
.yt-duration {
  position:absolute;
  bottom:8px;
  right:8px;
  background:rgba(0,0,0,.85);
  color:#fff;
  font-size:12px;
  padding:3px 6px;
  border-radius:4px;
}

/* INFO */
.yt-info {
  padding:14px;
}

.yt-info h3 {
  font-size:16px;
  color:#fff;
  margin:0 0 6px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* CANAL */
.yt-channel {
  display:block;
  font-size:13px;
  color:#aaa;
  text-decoration:none;
  margin-bottom:4px;
}

.yt-channel:hover {
  color:#fff;
  text-decoration:underline;
}

/* META (VIEWS + TEMPO) */
.yt-meta {
  font-size:12px;
  color:#888;
  line-height:1.4;
}

/* MODAL */
#yt-modal {
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.85);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
}

#yt-modal.active {
  display:flex;
}

.yt-modal-content {
  background:#000;
  width:90%;
  max-width:900px;
  position:relative;
}

.yt-player iframe {
  width:100%;
  height:500px;
}

.yt-close {
  position:absolute;
  top:-40px;
  right:0;
  font-size:32px;
  color:#fff;
  cursor:pointer;
}

/* Grid responsivo */
.yt-feed-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:20px;
}

/* Player responsivo */
.yt-modal iframe {
  width:100%;
  height:auto;
  aspect-ratio:16 / 9;
}

/* Remove qualquer overlay escuro da thumbnail */
.yt-thumb::before,
.yt-thumb::after,
.yt-thumb .overlay {
  display:none !important;
  content:none !important;
}

/* Garante imagem sem filtro */
.yt-thumb img {
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
}


.yt-live-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  background: #e10600;
  color: #fff;
  font-size: 11px;
  padding: 4px 6px;
  border-radius: 4px;
  font-weight: bold;
}