/* Difusor V126 · Reproductor visualmente idéntico en toda la web */
.difusor-unified-viewer,
.project-viewer-v80,
.v74-home-viewer.project-viewer-v80{
  width:min(1220px,calc(100% - 38px))!important;
  max-width:1220px!important;
  max-height:calc(100svh - 34px)!important;
  padding:0!important;
  border-radius:22px!important;
  border:1px solid rgba(159,219,241,.28)!important;
  background:linear-gradient(135deg,rgba(17,54,69,.97),rgba(11,36,47,.96))!important;
  color:#fff!important;
  box-shadow:0 36px 110px rgba(0,0,0,.42),0 0 2px rgba(191,236,251,.52),0 0 18px rgba(116,211,242,.30),0 0 54px rgba(75,170,207,.18)!important;
}
.difusor-unified-viewer::backdrop,
.project-viewer-v80::backdrop{
  background:rgba(2,12,18,.90)!important;
  backdrop-filter:blur(10px)!important;
}
.difusor-unified-viewer .project-viewer-inner,
.project-viewer-v80 .project-viewer-inner{
  display:grid!important;
  width:100%!important;
  min-width:0!important;
  padding:0!important;
  grid-template-columns:minmax(0,1.58fr) minmax(330px,.82fr)!important;
  grid-template-areas:"top top" "media copy"!important;
  border-radius:22px!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,rgba(12,43,55,.78),rgba(8,30,40,.82))!important;
}
.difusor-unified-viewer .project-viewer-topbar,
.project-viewer-v80 .project-viewer-topbar{
  grid-area:top!important;
  min-height:66px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:0 20px 0 22px!important;
  background:linear-gradient(90deg,rgba(255,255,255,.055),rgba(255,255,255,.018))!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
}
.difusor-unified-viewer .project-viewer-brand,
.project-viewer-v80 .project-viewer-brand{display:flex!important;align-items:center!important;gap:10px!important}
.difusor-unified-viewer .project-viewer-brand img,
.project-viewer-v80 .project-viewer-brand img{width:108px!important;height:auto!important;opacity:1!important;filter:drop-shadow(0 0 16px rgba(105,200,232,.18))!important}
.difusor-unified-viewer .project-viewer-brand span,
.project-viewer-v80 .project-viewer-brand span{font-size:8px!important;font-weight:800!important;line-height:1.2!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:rgba(225,241,247,.60)!important}
.difusor-unified-viewer .project-viewer-close,
.project-viewer-v80 .project-viewer-close{
  margin-left:auto!important;flex:0 0 auto!important;width:38px!important;height:38px!important;display:grid!important;place-items:center!important;border-radius:50%!important;
  border:1px solid rgba(255,255,255,.22)!important;background:rgba(255,255,255,.055)!important;color:#fff!important;font-size:22px!important;cursor:pointer!important;
}
.difusor-unified-viewer .project-viewer-media,
.project-viewer-v80 .project-viewer-media{
  grid-area:media!important;margin:20px!important;width:auto!important;min-width:0!important;aspect-ratio:16/9!important;align-self:center!important;
  border-radius:14px!important;overflow:hidden!important;border:1px solid rgba(170,220,239,.17)!important;background:#030708!important;
  box-shadow:0 18px 46px rgba(0,0,0,.20),0 0 24px rgba(94,190,223,.06)!important;
}
.difusor-unified-viewer .project-viewer-media iframe,
.difusor-unified-viewer .project-viewer-media video,
.difusor-unified-viewer .project-viewer-youtube,
.difusor-unified-viewer .project-viewer-youtube iframe,
.project-viewer-v80 .project-viewer-media iframe,
.project-viewer-v80 .project-viewer-media video,
.project-viewer-v80 .project-viewer-youtube,
.project-viewer-v80 .project-viewer-youtube iframe{
  display:block!important;width:100%!important;height:100%!important;border:0!important;background:#000!important;object-fit:contain!important;
}
.difusor-unified-viewer .project-viewer-media [hidden],
.project-viewer-v80 .project-viewer-media [hidden]{display:none!important}
.difusor-unified-viewer .project-viewer-copy,
.project-viewer-v80 .project-viewer-copy{
  grid-area:copy!important;margin:20px 20px 20px 0!important;padding:31px 30px 28px!important;border:1px solid rgba(255,255,255,.075)!important;border-radius:14px!important;
  background:radial-gradient(circle at 28% 22%,rgba(107,205,237,.075),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015))!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:stretch!important;min-width:0!important;min-height:0!important;height:auto!important;
}
.difusor-unified-viewer .project-viewer-kicker,
.project-viewer-v80 .project-viewer-kicker{display:block!important;align-self:auto!important;margin:0!important;font-size:8px!important;font-weight:850!important;line-height:1.2!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:#9bd9ef!important}
.difusor-unified-viewer h2,
.project-viewer-v80 h2{display:block!important;align-self:auto!important;margin:9px 0 9px!important;min-height:0!important;max-height:none!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;-webkit-line-clamp:unset!important;-webkit-box-orient:initial!important;font-size:clamp(29px,3.2vw,43px)!important;font-weight:800!important;line-height:1.02!important;letter-spacing:-.035em!important;color:#fff!important}
.difusor-unified-viewer .v80-viewer-meta,
.project-viewer-v80 .v80-viewer-meta{display:flex!important;align-self:auto!important;flex-wrap:wrap!important;gap:0!important;margin:0 0 15px!important;color:rgba(228,241,246,.72)!important;font-size:8px!important;letter-spacing:.06em!important}
.difusor-unified-viewer .v80-viewer-meta span+span:before,
.project-viewer-v80 .v80-viewer-meta span+span:before{content:"|";margin:0 9px;color:rgba(255,255,255,.28)}
.difusor-unified-viewer .project-viewer-description,
.project-viewer-v80 .project-viewer-description{
  display:block!important;align-self:auto!important;width:100%!important;max-width:none!important;margin:0!important;min-height:7.2em!important;max-height:12.2em!important;overflow:auto!important;padding-right:5px!important;
  text-overflow:clip!important;-webkit-line-clamp:unset!important;-webkit-box-orient:initial!important;
  font-size:11.5px!important;font-weight:400!important;line-height:1.62!important;color:rgba(235,245,248,.86)!important;white-space:pre-line!important;
}
.difusor-unified-viewer .v80-viewer-tags,
.project-viewer-v80 .v80-viewer-tags{display:flex!important;align-self:auto!important;flex-wrap:wrap!important;gap:6px!important;margin-top:17px!important}
.difusor-unified-viewer .v80-viewer-tags span,
.project-viewer-v80 .v80-viewer-tags span{padding:6px 9px!important;border:1px solid rgba(155,216,238,.23)!important;border-radius:999px!important;background:rgba(255,255,255,.035)!important;color:rgba(228,241,246,.78)!important;font-size:8px!important}
.difusor-unified-viewer .project-viewer-nav,
.project-viewer-v80 .project-viewer-nav{display:flex!important;align-self:stretch!important;width:100%!important;justify-content:space-between!important;gap:7px!important;margin-top:24px!important;padding-top:17px!important;border-top:1px solid rgba(255,255,255,.10)!important}
.difusor-unified-viewer .project-viewer-nav button,
.project-viewer-v80 .project-viewer-nav button{min-height:36px!important;padding:0 11px!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:999px!important;background:rgba(255,255,255,.035)!important;color:rgba(228,241,246,.78)!important;font-size:9px!important;font-weight:780!important;cursor:pointer!important}
.difusor-unified-viewer .project-viewer-nav button:hover,
.project-viewer-v80 .project-viewer-nav button:hover{background:rgba(255,255,255,.06)!important;color:#fff!important}
.difusor-unified-viewer .project-viewer-nav button:disabled,
.project-viewer-v80 .project-viewer-nav button:disabled{opacity:.3!important;cursor:default!important}
@media(max-width:850px){
  .difusor-unified-viewer,
  .project-viewer-v80{width:min(760px,calc(100% - 18px))!important;max-width:760px!important;max-height:calc(100svh - 18px)!important}
  .difusor-unified-viewer .project-viewer-inner,
  .project-viewer-v80 .project-viewer-inner{grid-template-columns:1fr!important;grid-template-areas:"top" "media" "copy"!important;max-height:100svh!important;overflow:auto!important}
  .difusor-unified-viewer .project-viewer-media,
  .project-viewer-v80 .project-viewer-media{margin:14px!important}
  .difusor-unified-viewer .project-viewer-copy,
  .project-viewer-v80 .project-viewer-copy{margin:0 14px 14px!important;min-height:260px!important;height:auto!important;align-items:stretch!important}
  .difusor-unified-viewer .project-viewer-description,
  .project-viewer-v80 .project-viewer-description{display:block!important;min-height:6.4em!important;max-height:none!important;-webkit-line-clamp:unset!important;-webkit-box-orient:initial!important}
}


/* V126 · blindaje contra reglas históricas de Portafolio */
body.portfolio-page .difusor-unified-viewer{max-width:1220px!important}
body.portfolio-page .difusor-unified-viewer .project-viewer-copy{align-items:stretch!important;height:auto!important;min-height:0!important}
body.portfolio-page .difusor-unified-viewer .project-viewer-copy > *{align-self:auto!important}
body.portfolio-page .difusor-unified-viewer h2{display:block!important;min-height:0!important;overflow:visible!important;text-overflow:clip!important;-webkit-line-clamp:unset!important;-webkit-box-orient:initial!important}
body.portfolio-page .difusor-unified-viewer .project-viewer-description{display:block!important;width:100%!important;max-width:none!important;overflow:auto!important;-webkit-line-clamp:unset!important;-webkit-box-orient:initial!important}
body.portfolio-page .difusor-unified-viewer .project-viewer-nav{align-self:stretch!important;width:100%!important;justify-content:space-between!important}


/* ======================================================================
   V127 · DIMENSIONES EXTERNAS FIJAS EN TODOS LOS VIDEOS
   El contenido puede desplazarse internamente, pero el modal no cambia.
   ====================================================================== */
@media (min-width:851px){
  .difusor-unified-viewer,
  .project-viewer-v80,
  .v74-home-viewer.project-viewer-v80{
    box-sizing:border-box!important;
    width:min(1220px,calc(100% - 38px))!important;
    max-width:1220px!important;
    height:min(640px,calc(100svh - 34px))!important;
    min-height:0!important;
    max-height:calc(100svh - 34px)!important;
  }
  .difusor-unified-viewer .project-viewer-inner,
  .project-viewer-v80 .project-viewer-inner{
    box-sizing:border-box!important;
    height:100%!important;
    min-height:0!important;
    grid-template-rows:66px minmax(0,1fr)!important;
  }
  .difusor-unified-viewer .project-viewer-copy,
  .project-viewer-v80 .project-viewer-copy{
    align-self:stretch!important;
    height:auto!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  .difusor-unified-viewer .project-viewer-description,
  .project-viewer-v80 .project-viewer-description{
    min-height:0!important;
    max-height:none!important;
    flex:1 1 auto!important;
    overflow:auto!important;
  }
}

@media (max-width:850px){
  .difusor-unified-viewer,
  .project-viewer-v80,
  .v74-home-viewer.project-viewer-v80{
    box-sizing:border-box!important;
    width:min(760px,calc(100% - 18px))!important;
    height:calc(100svh - 18px)!important;
    min-height:0!important;
    max-height:calc(100svh - 18px)!important;
  }
  .difusor-unified-viewer .project-viewer-inner,
  .project-viewer-v80 .project-viewer-inner{
    height:100%!important;
    max-height:none!important;
    overflow:auto!important;
  }
}
