/* =============================================================
   Home temporal — filas tipo Netflix (servicio-a-la-comunidad-style
   componentes propios de esta página, reutilizando los tokens del
   sitio definidos en styles.css)
   ============================================================= */

.home-hero{
  padding:64px 24px 40px;
  text-align:center;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  position:relative;
}
.home-hero .hero-logo-wrap{position:relative;margin-bottom:18px;}
.home-hero .hero-logo{
  width:132px;height:132px;border-radius:28px;object-fit:cover;
  box-shadow:0 0 60px rgba(139,47,214,0.45), 0 0 90px rgba(62,207,26,0.18);
  animation:float 6s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce){.home-hero .hero-logo{animation:none;}}
.home-hero .wordmark-big{
  font-family:var(--display);font-weight:400;text-transform:uppercase;
  font-size:clamp(1.8rem, 5vw, 3.2rem);letter-spacing:0.5px;margin:6px 0 4px;
}
.home-hero .home-tag{
  color:var(--text-dim);font-family:var(--mono);font-size:13px;
  letter-spacing:0.4px;text-transform:uppercase;max-width:520px;margin:0 auto;
}
.home-notice{
  max-width:640px;margin:22px auto 0;padding:12px 18px;border:1px dashed var(--panel-border);
  border-radius:10px;background:var(--bg-lift);color:var(--text-faint);
  font-family:var(--mono);font-size:11.5px;letter-spacing:0.3px;line-height:1.6;
}

.world-row{padding:34px 0;}
.world-row .wrap{max-width:1280px;}
.world-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap;}
.world-row-head h2{
  font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.4px;
  font-size:1.5rem;margin:0;
}
.world-row-head h2 .dot{color:var(--green);}
.world-row-head .world-sub{color:var(--text-faint);font-size:12.5px;font-family:var(--mono);margin:2px 0 0;}
.world-row-head .world-link{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--green);white-space:nowrap;}

.carousel{
  display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 24px 14px;
  margin:0 -24px;scrollbar-width:thin;scrollbar-color:var(--panel-border) transparent;
}
.carousel::-webkit-scrollbar{height:8px;}
.carousel::-webkit-scrollbar-thumb{background:var(--panel-border);border-radius:8px;}
.carousel::-webkit-scrollbar-track{background:transparent;}

.vid-card{
  flex:0 0 auto;width:240px;scroll-snap-align:start;cursor:pointer;
  background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.vid-card:hover, .vid-card:focus-visible{
  transform:translateY(-4px) scale(1.03);border-color:var(--purple-dim);
  box-shadow:0 18px 40px rgba(0,0,0,0.45);
}
.vid-card .vc-thumb{position:relative;aspect-ratio:16/9;background:var(--bg-lift);overflow:hidden;}
.vid-card .vc-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.vid-card .vc-thumb .vc-play{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg, rgba(10,3,18,0) 40%, rgba(10,3,18,0.75) 100%);
}
.vid-card .vc-play::after{
  content:"▶";color:#fff;font-size:13px;width:38px;height:38px;border-radius:50%;
  background:rgba(10,3,18,0.55);border:1.5px solid rgba(255,255,255,0.6);
  display:flex;align-items:center;justify-content:center;padding-left:3px;
  opacity:0;transform:scale(0.8);transition:opacity .2s, transform .2s;
}
.vid-card:hover .vc-play::after, .vid-card:focus-visible .vc-play::after{opacity:1;transform:scale(1);}
.vid-card .vc-body{padding:10px 12px 12px;}
.vid-card .vc-title{
  font-size:12.5px;line-height:1.35;color:var(--text);margin:0 0 4px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.vid-card .vc-meta{font-family:var(--mono);font-size:10.5px;color:var(--text-faint);letter-spacing:0.3px;text-transform:uppercase;}

.vid-card.vc-soon{cursor:default;}
.vid-card.vc-soon .vc-thumb{
  display:flex;align-items:center;justify-content:center;
  border-bottom:1px dashed var(--panel-border);
  background:radial-gradient(circle at 30% 20%, rgba(139,47,214,0.18), transparent 60%), var(--bg-lift);
}
.vid-card.vc-soon .vc-thumb .vc-soon-icon{font-family:var(--mono);font-size:11px;color:var(--text-faint);letter-spacing:1px;text-align:center;padding:0 14px;}
.vid-card.vc-soon:hover{transform:none;box-shadow:none;border-color:var(--panel-border);}

.playlist-spotlight{
  border:1px solid var(--panel-border);border-radius:12px;background:var(--panel);
  padding:16px;display:flex;flex-direction:column;gap:12px;max-width:720px;
}
.playlist-spotlight .ps-frame{position:relative;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:var(--bg-lift);}
.playlist-spotlight .ps-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.playlist-spotlight .ps-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.playlist-spotlight .ps-foot p{margin:0;color:var(--text-dim);font-size:12.5px;max-width:420px;}

/* Modal player */
.player-modal{
  position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;
  background:rgba(10,3,18,0.85);padding:20px;
}
.player-modal.is-open{display:flex;}
.player-modal .pm-inner{width:100%;max-width:900px;}
.player-modal .pm-frame{position:relative;aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,0.6);}
.player-modal .pm-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.player-modal .pm-close{
  margin:0 0 10px auto;display:block;background:var(--panel);border:1px solid var(--panel-border);
  color:var(--text);font-family:var(--mono);font-size:12px;text-transform:uppercase;
  padding:8px 14px;border-radius:6px;cursor:pointer;
}
.player-modal .pm-close:hover{border-color:var(--purple-dim);color:var(--green);}

@media (max-width:640px){
  .vid-card{width:200px;}
  .world-row{padding:26px 0;}
}
