/* VFXRIO Video Grid 0.3.1 — uniform aligned cards and video lightbox */
.vfxvg-gallery{
  --vfxvg-columns:var(--vfxvg-desktop,4);--vfxvg-initial-rows:var(--vfxvg-rows-desktop,3);
  box-sizing:border-box;width:100%;min-width:0;margin:24px auto 34px;
  color:#f2f3f5;font:inherit;text-align:left;
}
.vfxvg-gallery *,.vfxvg-gallery *::before,.vfxvg-gallery *::after{box-sizing:border-box}
.vfxvg-gallery .vfxvg-grid{display:grid;grid-template-columns:repeat(var(--vfxvg-columns),minmax(0,1fr));gap:var(--vfxvg-gap,18px);width:100%;min-width:0;align-items:stretch;grid-auto-rows:1fr;margin-left:auto;margin-right:auto}

.vfxvg-gallery .vfxvg-card{
  position:relative;display:flex;flex-direction:column;min-width:0;height:100%;overflow:visible;background:#15171b;
  border:1px solid rgba(255,255,255,.12);border-radius:9px;text-align:left;
  box-shadow:0 12px 35px rgba(0,0,0,.19);
  transition:border-color .2s ease,box-shadow .2s ease;
}
.vfxvg-gallery .vfxvg-card:hover{border-color:rgba(252,33,155,.55);box-shadow:0 14px 40px rgba(0,0,0,.26)}
.vfxvg-gallery .vfxvg-card.vfxvg-share-open{z-index:10}
.vfxvg-gallery .vfxvg-card[hidden],.vfxvg-gallery .vfxvg-more[hidden]{display:none!important}

.vfxvg-gallery .vfxvg-player{width:100%;aspect-ratio:16/9;position:relative;background:#12151a;overflow:hidden;border-radius:8px 8px 0 0}
.vfxvg-gallery .vfxvg-play{display:block;position:relative;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;cursor:pointer;color:#fff}
.vfxvg-gallery .vfxvg-play img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:transform .35s ease}
.vfxvg-gallery .vfxvg-play:hover img{transform:scale(1.035)}
.vfxvg-gallery .vfxvg-play::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(0,0,0,.22),rgba(0,0,0,.03))}
.vfxvg-gallery .vfxvg-play-icon{
  display:grid;place-items:center;position:absolute;z-index:2;top:50%;left:50%;width:54px;height:54px;
  border:1px solid rgba(255,255,255,.78);border-radius:50%;background:rgba(14,14,17,.82);
  font-size:18px;line-height:1;transform:translate(-50%,-50%);padding-left:3px;
  transition:background .2s ease,transform .2s ease;
}
.vfxvg-gallery .vfxvg-play:hover .vfxvg-play-icon,.vfxvg-gallery .vfxvg-play:focus-visible .vfxvg-play-icon{background:#fc219b;transform:translate(-50%,-50%) scale(1.07)}
.vfxvg-gallery .vfxvg-no-poster{display:grid;place-items:center;width:100%;height:100%;letter-spacing:.15em;font-weight:650;font-size:15px;color:#a9aeba}
/* Fixed-height content panels keep all thumbnail/card edges and Share controls aligned,
   even if a video has no description or a much longer manually edited excerpt. */
.vfxvg-gallery .vfxvg-card-content{display:flex;flex-direction:column;flex:1 0 auto;height:214px;min-height:0;padding:16px 17px 15px;overflow:visible}
.vfxvg-gallery .vfxvg-card-content .vfxvg-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;flex:none}
.vfxvg-gallery .vfxvg-card-content .vfxvg-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;flex:none}

.vfxvg-gallery h3.vfxvg-title{font:inherit!important;color:#f9f9fa!important;margin:0 0 8px!important;padding:0!important;font-size:16px!important;font-weight:700!important;line-height:1.36!important;text-transform:none!important;letter-spacing:normal!important;overflow-wrap:anywhere}
.vfxvg-gallery p.vfxvg-description{color:#bfc3cb!important;margin:0 0 17px!important;padding:0!important;font:inherit!important;font-size:13px!important;line-height:1.6!important;text-align:left!important;overflow-wrap:anywhere}
.vfxvg-gallery .vfxvg-card-footer{margin-top:auto;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid rgba(255,255,255,.085)}
.vfxvg-gallery .vfxvg-provider{display:inline-block;color:#fc219b;font-size:10px;font-weight:750;line-height:1.4;letter-spacing:.09em;text-transform:uppercase}
.vfxvg-gallery .vfxvg-card-share-wrap{position:relative;margin-left:auto}
.vfxvg-gallery .vfxvg-share-toggle{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:33px;min-width:80px;
  border:1px solid rgba(255,255,255,.15);border-radius:5px;background:#1c1f26;
  padding:5px 10px;color:#d9dce3;font:inherit;font-size:12px;font-weight:600;line-height:1.3;
  letter-spacing:normal;text-transform:none;cursor:pointer;transition:color .17s ease,border-color .17s ease;
}
.vfxvg-gallery .vfxvg-share-toggle:hover,.vfxvg-gallery .vfxvg-share-toggle[aria-expanded="true"]{color:#fff;border-color:#fc219b}
.vfxvg-gallery .vfxvg-share-menu{
  position:absolute;z-index:30;right:0;bottom:calc(100% + 7px);width:166px;
  padding:6px;background:#232730;border:1px solid rgba(255,255,255,.19);
  border-radius:7px;box-shadow:0 12px 34px rgba(0,0,0,.5);
}
.vfxvg-gallery .vfxvg-share-menu[hidden]{display:none!important}
.vfxvg-gallery .vfxvg-share-menu a,.vfxvg-gallery .vfxvg-share-menu button{
  display:block;width:100%;margin:0;padding:9px 10px;border:0;border-radius:4px;
  background:transparent;color:#f0f1f3;font:inherit;font-size:12px;font-weight:500;
  line-height:1.25;letter-spacing:normal;text-decoration:none;text-transform:none;text-align:left;cursor:pointer;
}
.vfxvg-gallery .vfxvg-share-menu a:hover,.vfxvg-gallery .vfxvg-share-menu button:hover{background:rgba(252,33,155,.14);color:#ff6fc3}
.vfxvg-gallery .vfxvg-more{display:block;margin:26px auto 4px;padding:10px 22px;border:1px solid #fc219b;border-radius:5px;background:transparent;color:#fff;font:inherit;font-size:13px;font-weight:650;line-height:1.4;cursor:pointer;transition:background .18s ease}
.vfxvg-gallery .vfxvg-more:hover{background:#fc219b;color:#fff}
.vfxvg-gallery .vfxvg-play:focus-visible,.vfxvg-gallery .vfxvg-share-toggle:focus-visible,.vfxvg-gallery .vfxvg-more:focus-visible,.vfxvg-gallery .vfxvg-share-menu a:focus-visible,.vfxvg-gallery .vfxvg-share-menu button:focus-visible{outline:2px solid #fc219b;outline-offset:3px}
@media(max-width:1024px){.vfxvg-gallery{--vfxvg-columns:var(--vfxvg-tablet,2);--vfxvg-initial-rows:var(--vfxvg-rows-tablet,3)}}
@media(max-width:640px){.vfxvg-gallery{--vfxvg-columns:var(--vfxvg-mobile,1);--vfxvg-initial-rows:var(--vfxvg-rows-mobile,3);margin:16px auto 22px}.vfxvg-gallery .vfxvg-card-content{height:207px;padding:14px 14px 13px}.vfxvg-gallery h3.vfxvg-title{font-size:15px!important}}

/* Fullscreen overlay: generated under body, never nested in a WPBakery row. */
body.vfxvg-modal-open{overflow:hidden!important}
.vfxvg-lightbox,.vfxvg-lightbox *,.vfxvg-lightbox *::before,.vfxvg-lightbox *::after{box-sizing:border-box}
.vfxvg-lightbox[hidden],.vfxvg-lightbox [hidden]{display:none!important}
.vfxvg-lightbox{
  position:fixed!important;inset:0!important;z-index:2147483000!important;
  display:flex;align-items:center;justify-content:center;width:100vw;height:100vh;height:100dvh;
  margin:0;padding:clamp(10px,2.5vw,25px);overflow-y:auto;overscroll-behavior:contain;
  background:rgba(0,0,0,.9);color:#f5f5f7;text-align:left;
  font-family:inherit;font-size:14px;line-height:1.5;
}
.vfxvg-lightbox-dialog{
  display:flex;flex-direction:column;align-items:stretch;
  width:min(100%,1090px);max-width:100%;max-height:calc(100dvh - 22px);min-width:0;
  flex:0 1 1090px;margin:auto;padding:clamp(12px,1.4vw,19px);
  background:#14161b;border:1px solid rgba(255,255,255,.19);border-radius:10px;
  box-shadow:0 28px 100px rgba(0,0,0,.75);outline:0;overflow:hidden;
}
.vfxvg-lightbox-top{display:flex;align-items:flex-start;gap:15px;justify-content:space-between;min-width:0}
.vfxvg-lightbox-heading{min-width:0;flex:1}
.vfxvg-lightbox-eyebrow{display:block;color:#fc219b;font-size:10px;font-weight:750;line-height:1.4;letter-spacing:.11em;text-transform:uppercase}
.vfxvg-lightbox-count{color:#aeb3bf;margin-left:9px;letter-spacing:.04em;font-weight:550}
.vfxvg-lightbox-heading h2{color:#fff!important;font-family:inherit!important;font-size:clamp(17px,1.7vw,23px)!important;font-weight:700!important;line-height:1.3!important;margin:5px 0 0!important;padding:0!important;text-transform:none!important;letter-spacing:normal!important;overflow-wrap:anywhere}
.vfxvg-lightbox-close,.vfxvg-lightbox-prev,.vfxvg-lightbox-next,.vfxvg-lightbox-share a,.vfxvg-lightbox-share button{
  appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.22);border-radius:5px;background:#20232b;
  color:#fff;font-family:inherit;font-size:12px;font-weight:650;line-height:1.3;
  text-decoration:none;text-transform:none;letter-spacing:normal;cursor:pointer;
  transition:background .16s ease,color .16s ease,border-color .16s ease;
}
.vfxvg-lightbox-close{flex:0 0 auto;width:37px;height:37px;padding:0;font-size:27px;font-weight:400;line-height:1}
.vfxvg-lightbox-stage{
  display:block;position:relative;flex:0 1 auto;align-self:center;
  width:min(100%,calc((100dvh - 285px) * 16 / 9),calc(55dvh * 16 / 9));aspect-ratio:16/9;
  margin:12px auto 12px;min-width:0;background:#050505;
  border:1px solid rgba(255,255,255,.13);border-radius:5px;overflow:hidden;
}
.vfxvg-lightbox-stage iframe{display:block;position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;background:#000}
.vfxvg-lightbox-bottom{min-height:0;display:flex;flex-direction:column;gap:12px}
.vfxvg-lightbox-description{
  display:block;min-height:0;max-height:min(15dvh,130px);overflow:auto;white-space:pre-line;
  color:#c5c8d0;font-size:13px;font-weight:400;line-height:1.57;padding-right:9px;
  scrollbar-color:#626773 transparent;
}
.vfxvg-lightbox-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding-top:9px;border-top:1px solid rgba(255,255,255,.12)}
.vfxvg-lightbox-share-label{color:#aeb3be;font-size:11px;font-weight:650;white-space:nowrap}
.vfxvg-lightbox-share{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
.vfxvg-lightbox-share a,.vfxvg-lightbox-share button{min-height:32px;padding:7px 11px;font-size:11px}
.vfxvg-lightbox-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid rgba(255,255,255,.10);margin-top:12px;padding-top:11px;min-height:46px}
.vfxvg-lightbox-prev,.vfxvg-lightbox-next{min-height:34px;padding:7px 13px}
.vfxvg-lightbox-prev span,.vfxvg-lightbox-next span{color:#fc219b;font-size:16px;padding:0 5px}
.vfxvg-lightbox-next{margin-left:auto}
.vfxvg-lightbox-close:hover,.vfxvg-lightbox-prev:hover,.vfxvg-lightbox-next:hover,.vfxvg-lightbox-share a:hover,.vfxvg-lightbox-share button:hover{background:#fc219b;color:#fff;border-color:#fc219b}
.vfxvg-lightbox-prev:hover span,.vfxvg-lightbox-next:hover span{color:#fff}
.vfxvg-lightbox-close:focus-visible,.vfxvg-lightbox-prev:focus-visible,.vfxvg-lightbox-next:focus-visible,.vfxvg-lightbox-share a:focus-visible,.vfxvg-lightbox-share button:focus-visible{outline:2px solid #fc219b;outline-offset:3px}
@media(max-width:640px){
  .vfxvg-lightbox{padding:8px}
  .vfxvg-lightbox-dialog{padding:10px;max-height:calc(100dvh - 14px);border-radius:7px}
  .vfxvg-lightbox-top{gap:7px}
  .vfxvg-lightbox-close{width:32px;height:32px}
  .vfxvg-lightbox-heading h2{font-size:16px!important}
  .vfxvg-lightbox-stage{width:100%;max-height:40dvh;margin:10px auto}
  .vfxvg-lightbox-description{max-height:min(17dvh,95px);font-size:12px}
  .vfxvg-lightbox-bottom{gap:9px}
  .vfxvg-lightbox-tools{gap:7px}
  .vfxvg-lightbox-share-label{flex:1 0 100%}
  .vfxvg-lightbox-share{gap:5px}
  .vfxvg-lightbox-share a,.vfxvg-lightbox-share button{min-height:30px;padding:5px 8px;font-size:11px}
  .vfxvg-lightbox-nav{margin-top:7px;padding-top:9px}
}
@media(max-height:520px){
  .vfxvg-lightbox-stage{max-height:39dvh;width:min(100%,calc(39dvh * 16 / 9));margin:6px auto}
  .vfxvg-lightbox-description{max-height:45px}
  .vfxvg-lightbox-tools{padding-top:5px}
  .vfxvg-lightbox-nav{margin-top:5px;padding-top:5px}
}
@media(prefers-reduced-motion:reduce){.vfxvg-gallery *,.vfxvg-lightbox *{transition:none!important;animation:none!important}}
/* 0.4.0 — video-first watch landing pages and crawlable detail links. */
.vfxvg-watch {max-width:1060px;margin:12px auto 22px;width:100%;color:#eef0f2;}
.vfxvg-watch-player {position:relative;aspect-ratio:16/9;background:#050505;width:100%;border:1px solid #34383e;border-radius:9px;overflow:hidden;}
.vfxvg-watch-player iframe {position:absolute;inset:0;width:100%;height:100%;border:0;}
.vfxvg-watch-actions {display:flex;gap:18px;flex-wrap:wrap;padding:14px 0;font-size:14px;}
.vfxvg-watch-actions a,.vfxvg-watch-link a {color:#fc219b!important;text-decoration:underline;text-underline-offset:3px;}
.vfxvg-watch-description {line-height:1.75;max-width:1060px;margin:0 auto;}
.vfxvg-watch-link {font-size:12px;margin:5px 0 10px;}

.vfxvg-watch-heading{max-width:1060px;margin:26px auto 17px;}
.vfxvg-watch-heading h1{font-size:clamp(24px,3.3vw,42px);font-weight:700;line-height:1.16;letter-spacing:-.025em;color:#fff;margin:0;}

/* VFXRIO watch page bilingual navigation (only when both counterparts are public). */
.vfxvg-watch-languages{max-width:1060px;margin:0 auto 15px;display:flex;align-items:center;gap:10px;font-size:14px;color:#e9edf0}
.vfxvg-watch-languages a{color:#e9edf0;text-decoration:underline;text-underline-offset:3px}
.vfxvg-watch-languages a[aria-current="page"]{color:#fc219b;font-weight:700;text-decoration:none}
