/* =========================================================
   Chorts Universal 1.0.5
   Feed vertical inspirado en reproductores tipo TikTok.
   ========================================================= */
.chu-feed,
.chu-feed *{box-sizing:border-box}

.chu-feed{
  --chu-accent:#fe2c55;
  --chu-button-bg:rgba(24,24,24,.86);
  --chu-button-bg-hover:rgba(38,38,38,.94);
  position:relative;
  width:100%;
  max-width:none;
  height:100dvh;
  margin:0 auto;
  overflow-y:auto;
  overflow-x:hidden;
  scroll-snap-type:y mandatory;
  overscroll-behavior-y:contain;
  scrollbar-width:none;
  background:#000;
}
.chu-feed::-webkit-scrollbar{display:none}

.chu-short{
  position:relative;
  width:100%;
  height:100dvh;
  min-height:600px;
  display:flex;
  align-items:center;
  justify-content:center;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  background:#000;
}

.chu-stage{
  position:relative;
  width:min(100%,500px);
  height:min(100dvh,940px);
  max-height:100%;
  overflow:hidden;
  isolation:isolate;
  background:#070707;
  color:#fff;
  border-radius:14px;
  box-shadow:0 0 0 1px rgba(255,255,255,.04);
}

.chu-video,
.chu-poster{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  background:#000;
}

.chu-gradient{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(to bottom,rgba(0,0,0,.36) 0,rgba(0,0,0,0) 18%),
    linear-gradient(to top,rgba(0,0,0,.78) 0,rgba(0,0,0,.28) 25%,rgba(0,0,0,0) 48%);
}

/* Publicidad pre-roll MP4 dentro del reproductor */
.chu-preroll{
  position:absolute;
  inset:0;
  z-index:20;
  display:none;
  overflow:hidden;
  background:#000;
}
.chu-stage.is-preroll .chu-preroll{display:block}
.chu-preroll.is-finished{display:none!important}
.chu-preroll-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  background:#000;
}
.chu-preroll-shade{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(0,0,0,.35),transparent 20%,transparent 65%,rgba(0,0,0,.62));
}
.chu-ad-badge{
  position:absolute;
  top:14px;
  left:14px;
  padding:5px 9px;
  border-radius:5px;
  color:#fff;
  background:rgba(0,0,0,.66);
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.02em;
}
.chu-ad-controls{
  position:absolute;
  left:12px;
  right:12px;
  bottom:15px;
  display:flex;
  align-items:center;
  gap:8px;
  z-index:2;
}
.chu-ad-sound,
.chu-ad-skip,
.chu-ad-visit{
  min-height:38px!important;
  border:0!important;
  border-radius:7px!important;
  padding:9px 12px!important;
  color:#fff!important;
  background:rgba(22,22,22,.82)!important;
  box-shadow:0 2px 10px rgba(0,0,0,.25)!important;
  font:700 12px/1.2 inherit!important;
  text-decoration:none!important;
  cursor:pointer;
}
.chu-ad-sound{
  width:40px!important;
  min-width:40px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  font-size:17px!important;
}
.chu-ad-sound-on{display:none}
.chu-ad-sound-off{display:inline}
.chu-ad-sound.is-unmuted .chu-ad-sound-on{display:inline}
.chu-ad-sound.is-unmuted .chu-ad-sound-off{display:none}
.chu-ad-visit{margin-right:auto!important;display:inline-flex!important;align-items:center!important}
.chu-ad-skip{margin-left:auto!important;white-space:nowrap}
.chu-ad-skip:disabled{opacity:.75!important;cursor:default!important}
.chu-stage.is-preroll .chu-caption,
.chu-stage.is-preroll .chu-actions,
.chu-stage.is-preroll .chu-gradient,
.chu-stage.is-preroll .chu-topbar,
.chu-stage.is-preroll .chu-center-play{visibility:hidden!important;opacity:0!important;pointer-events:none!important}

/* Barra superior del reproductor */
.chu-topbar{
  position:absolute;
  z-index:7;
  top:0;
  left:0;
  right:0;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:8px 12px;
  pointer-events:none;
  text-shadow:0 1px 4px rgba(0,0,0,.9);
}
.chu-site-logo{
  position:absolute;
  z-index:25;
  top:9px;
  left:50%;
  transform:translateX(-50%);
  width:max-content;
  max-width:calc(100% - 120px);
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:auto;
  text-decoration:none;
}
.chu-site-logo-image{
  display:block;
  width:auto;
  height:auto;
  max-width:132px;
  max-height:38px;
  object-fit:contain;
  filter:drop-shadow(0 1px 4px rgba(0,0,0,.75));
}
.chu-site-logo-text{
  display:block;
  max-width:132px;
  overflow:hidden;
  color:#fff;
  font-size:15px;
  line-height:1.2;
  font-weight:800;
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-shadow:0 1px 5px rgba(0,0,0,.95);
}
.chu-banner-ad{
  position:absolute;
  z-index:22;
  top:56px;
  left:50%;
  transform:translateX(-50%);
  width:min(468px,calc(100% - 24px));
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:5px;
  background:rgba(0,0,0,.72);
  box-shadow:0 2px 12px rgba(0,0,0,.45);
}
.chu-banner-image{display:block;width:100%;max-height:72px;object-fit:contain}
.chu-banner-link{display:block;width:100%;line-height:0}
.chu-banner-label{position:absolute;left:4px;bottom:3px;z-index:2;padding:2px 4px;border-radius:2px;color:#fff;background:rgba(0,0,0,.7);font-size:9px;line-height:1}
.chu-banner-close{position:absolute;z-index:3;top:2px;right:2px;width:24px!important;height:24px!important;min-width:24px!important;padding:0!important;border:0!important;border-radius:50%!important;color:#fff!important;background:rgba(0,0,0,.72)!important;font-size:19px!important;line-height:1!important;cursor:pointer}
.chu-for-you{
  color:#fff;
  font-size:15px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.01em;
  pointer-events:none;
}
.chu-caret{font-size:15px;margin-left:2px}
.chu-fullscreen{
  position:absolute!important;
  right:12px;
  top:9px;
  width:40px!important;
  min-width:40px!important;
  height:40px!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-radius:50%!important;
  outline:0!important;
  color:#fff!important;
  background:rgba(0,0,0,.18)!important;
  box-shadow:none!important;
  cursor:pointer;
  pointer-events:auto;
}
.chu-fullscreen:hover{background:rgba(0,0,0,.35)!important}
.chu-fullscreen svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Botón central */
.chu-center-play{
  position:absolute!important;
  z-index:6;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  min-width:0!important;
  width:118px!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  outline:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:10px!important;
  color:#fff!important;
  background:transparent!important;
  box-shadow:none!important;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transition:opacity .18s ease,visibility .18s ease;
}
.chu-stage.is-paused .chu-center-play{opacity:1;visibility:visible}
.chu-play-icon{
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  padding-left:5px;
  border-radius:50%;
  color:#fff;
  background:rgba(24,24,24,.62);
  box-shadow:0 3px 18px rgba(0,0,0,.2);
  font-size:31px;
  line-height:1;
}
.chu-play-label{
  white-space:nowrap;
  font-size:13px;
  line-height:1.2;
  font-weight:600;
  color:rgba(255,255,255,.92);
  text-shadow:0 1px 4px rgba(0,0,0,.95);
}

/* Texto inferior */
.chu-caption{
  position:absolute;
  z-index:4;
  left:16px;
  right:88px;
  bottom:26px;
  color:#fff;
  text-shadow:0 1px 4px rgba(0,0,0,.96);
}
.chu-caption-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px;
  margin:0 0 7px;
  font-size:13px;
  line-height:1.25;
  color:rgba(255,255,255,.82);
}
.chu-caption-meta a{
  color:#fff!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.chu-caption h2{
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-size:15px!important;
  line-height:1.34!important;
  font-weight:700!important;
  text-shadow:0 1px 4px rgba(0,0,0,.96)!important;
}
.chu-caption p{
  margin:6px 0 0!important;
  padding:0!important;
  color:rgba(255,255,255,.94)!important;
  font-size:13px!important;
  line-height:1.42!important;
}

/* Columna de acciones - estilo de la referencia */
.chu-actions{
  position:absolute;
  z-index:8;
  right:11px;
  bottom:26px;
  width:58px;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:11px;
}
.chu-actions>*{visibility:visible!important;opacity:1!important}
.chu-action{
  width:58px!important;
  min-width:58px!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  outline:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  color:#fff!important;
  background:transparent!important;
  box-shadow:none!important;
  text-decoration:none!important;
  cursor:pointer;
  font-family:inherit!important;
}
.chu-circle{
  width:49px;
  height:49px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:var(--chu-button-bg)!important;
  box-shadow:0 2px 10px rgba(0,0,0,.28)!important;
  transition:transform .14s ease,background .14s ease;
}
.chu-action:hover .chu-circle{background:var(--chu-button-bg-hover)!important;transform:scale(1.035)}
.chu-circle svg{
  width:26px;
  height:26px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.chu-comments .chu-circle svg circle{fill:currentColor;stroke:none}
.chu-share .chu-circle svg{fill:currentColor;stroke:none;width:27px;height:27px}
.chu-action small{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-size:11px!important;
  line-height:1.05!important;
  font-weight:800!important;
  text-align:center!important;
  text-shadow:0 1px 4px rgba(0,0,0,.98)!important;
}
.chu-like.is-liked .chu-circle svg{fill:var(--chu-accent);stroke:var(--chu-accent);color:var(--chu-accent)}
.chu-save.is-saved .chu-circle svg{fill:#fff;stroke:#fff}

/* Perfil circular con + rojo */
.chu-profile{
  position:relative!important;
  width:52px!important;
  min-width:52px!important;
  height:52px!important;
  margin:0 0 4px!important;
  padding:0!important;
  display:block!important;
  overflow:visible!important;
  border:2px solid #fff!important;
  border-radius:50%!important;
  background:#222!important;
  box-shadow:0 2px 10px rgba(0,0,0,.4)!important;
  text-decoration:none!important;
}
.chu-profile img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  border-radius:50%!important;
}
.chu-profile b{
  position:absolute!important;
  z-index:2;
  left:50%;
  bottom:-9px;
  transform:translateX(-50%);
  width:23px!important;
  height:23px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:50%!important;
  color:#fff!important;
  background:var(--chu-accent)!important;
  box-shadow:0 0 0 2px rgba(0,0,0,.12)!important;
  font-size:20px!important;
  font-weight:400!important;
  line-height:1!important;
}

/* Sonido */
.chu-sound{
  width:43px!important;
  min-width:43px!important;
  height:43px!important;
  min-height:43px!important;
  padding:0!important;
  margin:1px 0 0!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-radius:50%!important;
  color:#fff!important;
  background:var(--chu-button-bg)!important;
  box-shadow:0 2px 10px rgba(0,0,0,.28)!important;
  cursor:pointer;
}
.chu-sound svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.chu-sound .chu-sound-on{display:none}
.chu-sound .chu-sound-off{display:block}
.chu-sound.is-unmuted .chu-sound-on{display:block}
.chu-sound.is-unmuted .chu-sound-off{display:none}

.chu-empty,
.chu-no-shorts{
  display:grid;
  place-items:center;
  min-height:400px;
  color:#fff;
  background:#111;
  padding:20px;
  text-align:center;
}

/* Evitar que estilos del tema pinten fondos/bordes sobre los controles. */
.chu-feed button:focus,
.chu-feed a:focus{outline:none}
.chu-feed button:focus-visible,
.chu-feed a:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:2px}

@media(max-width:600px){
  .chu-feed{height:100dvh;width:100%;max-width:none}
  .chu-short{height:100dvh;min-height:0}
  .chu-stage{width:100%;height:100dvh;max-height:none;border-radius:0;box-shadow:none}
  .chu-actions{right:7px;bottom:19px;width:54px;gap:9px}
  .chu-action{width:54px!important;min-width:54px!important}
  .chu-circle{width:47px;height:47px}
  .chu-profile{width:50px!important;min-width:50px!important;height:50px!important}
  .chu-caption{left:12px;right:72px;bottom:18px}
  .chu-caption h2{font-size:14px!important}
  .chu-caption p{font-size:12px!important}
  .chu-fullscreen{right:8px}
}

@media(max-height:700px){
  .chu-actions{gap:7px}
  .chu-circle{width:43px;height:43px}
  .chu-circle svg{width:23px;height:23px}
  .chu-profile{width:46px!important;min-width:46px!important;height:46px!important}
  .chu-sound{width:39px!important;min-width:39px!important;height:39px!important;min-height:39px!important}
  .chu-caption{bottom:17px}
}

/* =========================================================
   Shortcode en cuadrícula - se conserva el diseño 5 columnas
   de la versión anterior.
   ========================================================= */
.chu-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;width:100%;max-width:1500px;margin:0 auto;padding:12px;box-sizing:border-box;background:transparent!important;height:auto!important;overflow:visible!important;scroll-snap-type:none!important}
.chu-grid-card{min-width:0;margin:0;background:transparent;color:inherit}
.chu-grid-media{position:relative;display:block;width:100%;aspect-ratio:9/16;overflow:hidden;border-radius:12px;background:#080808;text-decoration:none;box-shadow:0 3px 14px rgba(0,0,0,.18)}
.chu-grid-media img,.chu-grid-media video{display:block;width:100%;height:100%;object-fit:cover;background:#000}
.chu-grid-placeholder{display:grid;place-items:center;width:100%;height:100%;color:#aaa;font-size:13px;font-weight:800;letter-spacing:.08em;background:#111}
.chu-grid-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.42);color:#fff;font-size:18px;padding-left:3px;opacity:.92;transition:transform .18s ease,background .18s ease}
.chu-grid-media:hover .chu-grid-play{transform:translate(-50%,-50%) scale(1.08);background:rgba(0,0,0,.62)}
.chu-grid-stats{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:8px;padding:28px 10px 9px;color:#fff;font-size:12px;font-weight:800;text-shadow:0 1px 3px #000;background:linear-gradient(transparent,rgba(0,0,0,.8))}
.chu-grid-stats>span{display:flex;align-items:center;gap:5px;min-width:0}
.chu-grid-stats svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.chu-grid-title{margin:8px 2px 0!important;font-size:14px!important;line-height:1.3!important;font-weight:700!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.chu-grid-title a{color:inherit!important;text-decoration:none!important}
.chu-grid-empty{grid-column:1/-1;padding:30px;text-align:center}
@media(max-width:1100px){.chu-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}}
@media(max-width:780px){.chu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:10px}.chu-grid-title{font-size:13px!important}}
@media(max-width:520px){.chu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:8px}.chu-grid-media{border-radius:9px}.chu-grid-stats{font-size:11px;padding-left:7px;padding-right:7px}.chu-grid-stats svg{width:15px;height:15px}}

/* En las páginas propias de Chorts, el reproductor ocupa la ventana como en la referencia. */
body.single-chorts .chu-feed,
body.post-type-archive-chorts .chu-feed{
  position:fixed;
  inset:0;
  z-index:99990;
}
body.admin-bar.single-chorts .chu-feed,
body.admin-bar.post-type-archive-chorts .chu-feed{
  top:32px;
  height:calc(100dvh - 32px);
}
body.admin-bar.single-chorts .chu-short,
body.admin-bar.post-type-archive-chorts .chu-short{
  height:calc(100dvh - 32px);
}
body.admin-bar.single-chorts .chu-stage,
body.admin-bar.post-type-archive-chorts .chu-stage{
  height:min(calc(100dvh - 32px),940px);
}
@media(max-width:782px){
  body.admin-bar.single-chorts .chu-feed,
  body.admin-bar.post-type-archive-chorts .chu-feed{top:46px;height:calc(100dvh - 46px)}
  body.admin-bar.single-chorts .chu-short,
  body.admin-bar.post-type-archive-chorts .chu-short{height:calc(100dvh - 46px)}
  body.admin-bar.single-chorts .chu-stage,
  body.admin-bar.post-type-archive-chorts .chu-stage{height:calc(100dvh - 46px)}
}

@media(max-width:480px){.chu-site-logo{max-width:calc(100% - 104px)}.chu-site-logo-image{max-width:112px;max-height:34px}.chu-site-logo-text{max-width:112px;font-size:13px}.chu-banner-ad{top:52px}}
