/* =========================================================
   Luniko Studio V6.30 stabilization layer
   Scope: homepage hero mockup + video showcase + captions only.
   Purpose: keep current warm V6 design, remove fragile video-layer conflicts,
   restore subtitles and real play overlay without touching backend/order logic.
   ========================================================= */

html.lnk-route-home #promo-video,
html.lnk-route-home #promo-video *{
  box-sizing:border-box;
}

/* HERO MOCKUP: keep existing floating cards, only make the screen visual real and language-neutral. */
html.lnk-route-home .lnk-v6-mock-main{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:linear-gradient(150deg,#2f241a 0%,#0f0b08 100%)!important;
}
html.lnk-route-home .lnk-v6-mock-main::before{
  content:""!important;
  position:absolute!important;
  inset:clamp(.78rem,1.2vw,1.1rem)!important;
  z-index:1!important;
  border-radius:clamp(1rem,1.45vw,1.35rem)!important;
  pointer-events:none!important;
  background:
    linear-gradient(180deg,rgba(255,248,239,.02),rgba(15,10,7,.20)),
    url('/assets/hero/luniko-family-premiere.webp') center center/cover no-repeat!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,248,239,.24),
    inset 0 -40px 72px rgba(31,20,13,.24),
    0 18px 46px rgba(43,31,20,.18)!important;
}
html.lnk-route-home .lnk-v6-mock-main::after{
  content:""!important;
  position:absolute!important;
  inset:clamp(.78rem,1.2vw,1.1rem)!important;
  z-index:2!important;
  border-radius:clamp(1rem,1.45vw,1.35rem)!important;
  pointer-events:none!important;
  background:
    radial-gradient(circle at 50% 8%,rgba(255,235,176,.30),transparent 30%),
    linear-gradient(105deg,rgba(255,255,255,.16),transparent 22%,transparent 70%,rgba(255,255,255,.09)),
    linear-gradient(180deg,transparent 58%,rgba(0,0,0,.16))!important;
  opacity:.78!important;
  mix-blend-mode:screen!important;
}
html.lnk-route-home .lnk-v6-play{z-index:6!important;}
html.lnk-route-home .lnk-v6-label{z-index:7!important;}
html.lnk-route-home .lnk-v6-float{z-index:8!important;}

/* VIDEO SHOWCASE: final stable section surface. */
html.lnk-route-home #promo-video.showcase-section-root{
  position:relative!important;
  padding:clamp(2rem,4.5vw,3.8rem) 1rem!important;
  background:linear-gradient(180deg,rgba(255,248,239,.62),rgba(247,233,215,.24) 42%,rgba(255,248,239,.62))!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
html.lnk-route-home #promo-video .promo-video-inner{
  max-width:min(1220px,calc(100vw - 2rem))!important;
  margin-inline:auto!important;
}
html.lnk-route-home #promo-video .promo-video-shell,
html.lnk-route-home #promo-video .showcase-shell{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  border-radius:clamp(1.35rem,2.3vw,2.2rem)!important;
  padding:clamp(1.35rem,3.2vw,2.9rem)!important;
  color:#fff8ef!important;
  background:
    radial-gradient(circle at 15% 0%,rgba(255,237,178,.14),transparent 17rem),
    radial-gradient(circle at 86% 3%,rgba(255,219,135,.13),transparent 18rem),
    linear-gradient(142deg,#3a281b 0%,#24160f 48%,#120b07 100%)!important;
  border:1px solid rgba(255,230,167,.24)!important;
  box-shadow:0 30px 92px rgba(45,28,14,.27),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
html.lnk-route-home #promo-video .promo-video-shell::before,
html.lnk-route-home #promo-video .promo-video-shell::after{
  content:none!important;
  display:none!important;
}
html.lnk-route-home #promo-video .showcase-bg,
html.lnk-route-home #promo-video .showcase-bg *{
  pointer-events:none!important;
  user-select:none!important;
}
html.lnk-route-home #promo-video .showcase-bg{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  overflow:hidden!important;
}
html.lnk-route-home #promo-video .showcase-bg::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  background:
    linear-gradient(90deg,rgba(255,238,181,.04) 0 1px,transparent 1px 100%),
    linear-gradient(180deg,rgba(255,238,181,.032) 0 1px,transparent 1px 100%)!important;
  background-size:88px 88px!important;
  opacity:.35!important;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent 88%)!important;
}
html.lnk-route-home #promo-video .showcase-beam{
  position:absolute!important;
  top:-2%!important;
  width:39%!important;
  height:58%!important;
  z-index:1!important;
  opacity:.28!important;
  mix-blend-mode:screen!important;
  filter:blur(.35px) saturate(1.03)!important;
}
html.lnk-route-home #promo-video .showcase-beam-left{left:-5.5%!important;}
html.lnk-route-home #promo-video .showcase-beam-right{right:-5.5%!important;}
html.lnk-route-home #promo-video .showcase-projector{
  position:absolute!important;
  top:clamp(.55rem,1.25vw,1.1rem)!important;
  width:clamp(4.7rem,6.9vw,7.25rem)!important;
  z-index:2!important;
  opacity:.72!important;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.34)) drop-shadow(0 0 14px rgba(233,189,94,.17))!important;
}
html.lnk-route-home #promo-video .showcase-projector-left{left:clamp(.5rem,1.1vw,1.4rem)!important;}
html.lnk-route-home #promo-video .showcase-projector-right{right:clamp(.5rem,1.1vw,1.4rem)!important;}
html.lnk-route-home #promo-video .showcase-film{
  position:absolute!important;
  bottom:-6%!important;
  width:clamp(6rem,10vw,10rem)!important;
  height:70%!important;
  z-index:1!important;
  opacity:.16!important;
  object-fit:cover!important;
  filter:drop-shadow(0 18px 26px rgba(0,0,0,.22))!important;
}
html.lnk-route-home #promo-video .showcase-film-left{left:-2.2rem!important;}
html.lnk-route-home #promo-video .showcase-film-right{right:-2.2rem!important;}
html.lnk-route-home #promo-video .promo-video-top,
html.lnk-route-home #promo-video .showcase-top,
html.lnk-route-home #promo-video .promo-video-showcase,
html.lnk-route-home #promo-video .showcase-grid{
  position:relative!important;
  z-index:5!important;
}
html.lnk-route-home #promo-video .showcase-grid,
html.lnk-route-home #promo-video .promo-video-showcase{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(280px,.82fr)!important;
  gap:clamp(1rem,2.2vw,1.55rem)!important;
  align-items:start!important;
}
html.lnk-route-home #promo-video .video-card,
html.lnk-route-home #promo-video .promo-video-card{
  position:relative!important;
  z-index:5!important;
  overflow:visible!important;
  isolation:isolate!important;
  padding:clamp(.95rem,1.45vw,1.25rem)!important;
  border-radius:clamp(1.05rem,1.4vw,1.35rem)!important;
  background:linear-gradient(145deg,rgba(255,248,239,.10),rgba(255,248,239,.045)),rgba(34,23,16,.63)!important;
  border:1px solid rgba(255,239,196,.18)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.07)!important;
}
html.lnk-route-home #promo-video .video-card::before,
html.lnk-route-home #promo-video .video-card::after,
html.lnk-route-home #promo-video .promo-video-card::before,
html.lnk-route-home #promo-video .promo-video-card::after{
  content:none!important;
  display:none!important;
}
html.lnk-route-home #promo-video .video-card__label,
html.lnk-route-home #promo-video .promo-video-card-kicker{
  display:inline-flex!important;
  align-items:center!important;
  margin:0 0 .55rem!important;
  padding:.36rem .62rem!important;
  border-radius:999px!important;
  background:rgba(255,246,222,.14)!important;
  border:1px solid rgba(255,240,202,.20)!important;
  color:#f7e3b6!important;
  font-weight:800!important;
  letter-spacing:.10em!important;
  text-shadow:none!important;
}
html.lnk-route-home #promo-video .video-card__title,
html.lnk-route-home #promo-video .promo-video-card h3{
  margin:0 0 .48rem!important;
  color:#fff8ef!important;
  line-height:1.08!important;
  text-shadow:0 1px 14px rgba(0,0,0,.20)!important;
}
html.lnk-route-home #promo-video .video-card__desc,
html.lnk-route-home #promo-video .promo-video-card-text{
  margin:0 0 .85rem!important;
  color:rgba(255,248,239,.76)!important;
  line-height:1.55!important;
}

/* Stable real frame: decoration stays outside the usable video surface. */
html.lnk-route-home #promo-video .video-frame{
  position:relative!important;
  z-index:5!important;
  overflow:visible!important;
  isolation:isolate!important;
  margin-top:.7rem!important;
  padding:clamp(.62rem,1.05vw,.86rem)!important;
  border-radius:1.25rem!important;
  border:1px solid rgba(255,236,185,.22)!important;
  background:
    radial-gradient(circle,rgba(255,228,143,.92) 0 .09rem,transparent .11rem) left .45rem center/.45rem 1.08rem repeat-y,
    radial-gradient(circle,rgba(255,228,143,.82) 0 .09rem,transparent .11rem) right .45rem center/.45rem 1.08rem repeat-y,
    linear-gradient(135deg,rgba(255,228,143,.62),rgba(152,95,34,.28) 28%,rgba(255,238,180,.48) 62%,rgba(116,73,34,.30)),
    linear-gradient(145deg,rgba(14,9,6,.84),rgba(61,39,24,.44))!important;
  box-shadow:0 18px 38px rgba(0,0,0,.25),0 0 0 1px rgba(255,230,152,.06),inset 0 1px 0 rgba(255,255,255,.10)!important;
}
html.lnk-route-home #promo-video .video-frame__marquee{
  display:none!important;
}
html.lnk-route-home #promo-video .video-frame__media{
  position:relative!important;
  z-index:4!important;
  overflow:hidden!important;
  margin:0!important;
  border-radius:calc(1.25rem - .42rem)!important;
  background:#050403!important;
  box-shadow:0 0 0 1px rgba(255,244,206,.14),inset 0 0 28px rgba(0,0,0,.28)!important;
}
html.lnk-route-home #promo-video .video-frame__video,
html.lnk-route-home #promo-video .video-frame video,
html.lnk-route-home #promo-video .video-frame iframe{
  position:relative!important;
  z-index:4!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  background:#000!important;
  transform:none!important;
  pointer-events:auto!important;
  filter:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
}
html.lnk-route-home #promo-video .video-frame--main .video-frame__media{
  aspect-ratio:16/9!important;
}
html.lnk-route-home #promo-video .video-frame--main .video-frame__video{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
html.lnk-route-home #promo-video .video-frame--real{
  width:min(100%,330px)!important;
  margin:clamp(.85rem,1vw,1rem) auto 1.1rem!important;
  padding:clamp(.58rem,.92vw,.76rem)!important;
}
html.lnk-route-home #promo-video .video-frame--real .video-frame__media{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  aspect-ratio:9/16!important;
  max-height:520px!important;
}
html.lnk-route-home #promo-video .video-frame--real .video-frame__video{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
html.lnk-route-home #promo-video .video-frame__realbadge{
  position:absolute!important;
  z-index:8!important;
  left:clamp(.62rem,.9vw,.86rem)!important;
  top:clamp(-.42rem,-.28vw,-.22rem)!important;
  width:clamp(4rem,5.2vw,4.9rem)!important;
  height:auto!important;
  pointer-events:none!important;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.24))!important;
}
html.lnk-route-home #promo-video .video-frame__ticket{
  position:absolute!important;
  z-index:8!important;
  left:clamp(.62rem,1vw,.88rem)!important;
  bottom:clamp(-.78rem,-.58vw,-.48rem)!important;
  width:clamp(5.45rem,7vw,6.8rem)!important;
  height:auto!important;
  pointer-events:none!important;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.25))!important;
}
html.lnk-route-home #promo-video .video-frame__play{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  z-index:9!important;
  width:clamp(2.95rem,4.05vw,3.9rem)!important;
  height:clamp(2.95rem,4.05vw,3.9rem)!important;
  transform:translate(-50%,-50%)!important;
  border-radius:999px!important;
  border:1px solid rgba(255,246,209,.58)!important;
  background:linear-gradient(135deg,#ffe28f,#d7a848)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.34),0 0 36px rgba(216,168,72,.32),inset 0 1px 0 rgba(255,255,255,.36)!important;
  cursor:pointer!important;
  opacity:1!important;
  visibility:visible!important;
  transition:opacity .18s ease,transform .18s ease!important;
  pointer-events:auto!important;
  -webkit-tap-highlight-color:transparent!important;
}
html.lnk-route-home #promo-video .video-frame__play:hover{transform:translate(-50%,-50%) scale(1.045)!important;}
html.lnk-route-home #promo-video .video-frame__play.is-hidden{opacity:0!important;pointer-events:none!important;visibility:hidden!important;}
html.lnk-route-home #promo-video .video-frame__play-icon{
  position:absolute!important;
  left:54%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:0!important;
  height:0!important;
  border-top:.56rem solid transparent!important;
  border-bottom:.56rem solid transparent!important;
  border-left:.84rem solid #20140d!important;
}

/* Restore readable native subtitles. */
html.lnk-route-home #promo-video video::cue{
  color:#fff!important;
  background:rgba(0,0,0,.66)!important;
  font-size:clamp(14px,2.2vw,22px)!important;
  line-height:1.25!important;
  text-shadow:0 1px 2px rgba(0,0,0,.85)!important;
}

@media(hover:hover){
  html.lnk-route-home #promo-video .video-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;}
  html.lnk-route-home #promo-video .video-card:hover{transform:translateY(-3px)!important;border-color:rgba(255,222,143,.28)!important;box-shadow:0 24px 54px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.08)!important;}
}
@media(min-width:900px){
  html.lnk-route-home #promo-video .video-card--real .video-card__desc{min-height:3.1em!important;}
}
@media(max-width:899px){
  html.lnk-route-home #promo-video .promo-video-showcase,
  html.lnk-route-home #promo-video .showcase-grid{grid-template-columns:1fr!important;}
  html.lnk-route-home #promo-video .video-frame--real{width:min(100%,325px)!important;}
  html.lnk-route-home #promo-video .video-frame--real .video-frame__media{max-height:520px!important;}
  html.lnk-route-home #promo-video .showcase-projector{width:4.55rem!important;opacity:.46!important;}
  html.lnk-route-home #promo-video .showcase-projector-left{left:-.75rem!important;top:.35rem!important;}
  html.lnk-route-home #promo-video .showcase-projector-right{right:-.75rem!important;top:.35rem!important;}
  html.lnk-route-home #promo-video .showcase-beam{opacity:.18!important;height:42%!important;width:52%!important;}
  html.lnk-route-home #promo-video .showcase-film{opacity:.13!important;width:5.8rem!important;height:46%!important;}
}
@media(max-width:680px){
  html.lnk-route-home #promo-video.showcase-section-root{padding:1.25rem .7rem!important;}
  html.lnk-route-home #promo-video .promo-video-inner{max-width:100%!important;}
  html.lnk-route-home #promo-video .promo-video-shell,
  html.lnk-route-home #promo-video .showcase-shell{padding:1.05rem .82rem 1.25rem!important;border-radius:1.2rem!important;}
  html.lnk-route-home #promo-video .showcase-badge{font-size:.66rem!important;line-height:1.25!important;padding:.46rem .66rem!important;letter-spacing:.07em!important;}
  html.lnk-route-home #promo-video .showcase-title{font-size:clamp(1.9rem,9.2vw,2.55rem)!important;line-height:1!important;}
  html.lnk-route-home #promo-video .showcase-subtitle{font-size:.9rem!important;line-height:1.53!important;}
  html.lnk-route-home #promo-video .video-card{padding:.82rem!important;border-radius:1.05rem!important;}
  html.lnk-route-home #promo-video .video-card__label{font-size:.62rem!important;padding:.35rem .5rem!important;}
  html.lnk-route-home #promo-video .video-card__title{font-size:1.18rem!important;}
  html.lnk-route-home #promo-video .video-card__desc{font-size:.85rem!important;line-height:1.5!important;}
  html.lnk-route-home #promo-video .video-frame{padding:.44rem!important;margin-top:.62rem!important;border-radius:1rem!important;}
  html.lnk-route-home #promo-video .video-frame__media{border-radius:.72rem!important;}
  html.lnk-route-home #promo-video .video-frame--real{width:min(100%,300px)!important;margin-top:1rem!important;margin-bottom:1rem!important;}
  html.lnk-route-home #promo-video .video-frame--real .video-frame__media{max-height:480px!important;}
  html.lnk-route-home #promo-video .video-frame__realbadge{width:3.55rem!important;left:.46rem!important;top:-.30rem!important;}
  html.lnk-route-home #promo-video .video-frame__ticket{width:4.85rem!important;left:.46rem!important;bottom:-.58rem!important;}
  html.lnk-route-home #promo-video .video-frame__play{width:2.82rem!important;height:2.82rem!important;}
  html.lnk-route-home #promo-video .video-frame__play-icon{border-top:.48rem solid transparent!important;border-bottom:.48rem solid transparent!important;border-left:.72rem solid #20140d!important;}
  html.lnk-route-home #promo-video .showcase-projector{display:block!important;width:3.85rem!important;opacity:.30!important;top:.35rem!important;}
  html.lnk-route-home #promo-video .showcase-projector-left{left:-1.15rem!important;}
  html.lnk-route-home #promo-video .showcase-projector-right{right:-1.15rem!important;}
  html.lnk-route-home #promo-video .showcase-beam{opacity:.13!important;width:58%!important;height:36%!important;}
  html.lnk-route-home #promo-video .showcase-film{display:block!important;opacity:.10!important;width:4.8rem!important;height:35%!important;bottom:0!important;}
}
@media(max-width:390px){
  html.lnk-route-home #promo-video .video-frame--real{width:min(100%,290px)!important;}
  html.lnk-route-home #promo-video .showcase-title{font-size:clamp(1.75rem,8.8vw,2.25rem)!important;}
}
@media(prefers-reduced-motion:reduce){
  html.lnk-route-home #promo-video .video-frame__play,
  html.lnk-route-home #promo-video .video-card{transition:none!important;}
}


/* ======================================================================
   V6.32 FINAL USER PNG FRAME OVERRIDE
   This file loads after luniko-v6.css, so these rules intentionally win.
   Goal: the user-supplied gold PNG frames sit around the actual videos,
   while the playable video remains aligned, usable and not covered.
   ====================================================================== */
html.lnk-route-home #promo-video .video-frame{
  position:relative!important;
  z-index:5!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:.78rem auto 0!important;
  padding:0!important;
  border:0!important;
  border-radius:1.25rem!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  isolation:isolate!important;
}
html.lnk-route-home #promo-video .video-frame--main{
  aspect-ratio:1672 / 941!important;
}
html.lnk-route-home #promo-video .video-frame--real{
  aspect-ratio:941 / 1672!important;
  width:min(100%,344px)!important;
  max-width:344px!important;
  margin:.88rem auto .95rem!important;
}
html.lnk-route-home #promo-video .video-frame::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:4!important;
  width:100%!important;
  height:100%!important;
  pointer-events:none!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:100% 100%!important;
  filter:drop-shadow(0 14px 24px rgba(0,0,0,.26))!important;
}
html.lnk-route-home #promo-video .video-frame--main::before{
  background-image:url('/assets/cinema/frame-horizontal-user.png')!important;
}
html.lnk-route-home #promo-video .video-frame--real::before{
  background-image:url('/assets/cinema/frame-vertical-user.png')!important;
}
html.lnk-route-home #promo-video .video-frame__marquee{
  display:none!important;
}
html.lnk-route-home #promo-video .video-frame__media{
  position:absolute!important;
  z-index:2!important;
  display:block!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:#050403!important;
  box-shadow:0 8px 18px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,243,206,.16)!important;
}
html.lnk-route-home #promo-video .video-frame--main .video-frame__media{
  left:7.48%!important;
  right:7.54%!important;
  top:12.33%!important;
  bottom:12.55%!important;
  border-radius:clamp(.55rem,1vw,1rem)!important;
  aspect-ratio:auto!important;
  max-height:none!important;
}
html.lnk-route-home #promo-video .video-frame--real .video-frame__media{
  left:10.52%!important;
  right:10.62%!important;
  top:6.58%!important;
  bottom:6.74%!important;
  border-radius:clamp(.85rem,1.1vw,1.35rem)!important;
  aspect-ratio:auto!important;
  max-height:none!important;
}
html.lnk-route-home #promo-video .video-frame__video,
html.lnk-route-home #promo-video .video-frame video,
html.lnk-route-home #promo-video .video-frame iframe{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#000!important;
  transform:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  pointer-events:auto!important;
  filter:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
}
html.lnk-route-home #promo-video .video-frame__play{
  display:none!important;
}
html.lnk-route-home #promo-video .video-frame__realbadge{
  display:block!important;
  position:absolute!important;
  z-index:7!important;
  top:2.05%!important;
  left:7.15%!important;
  width:20.5%!important;
  max-width:4.8rem!important;
  height:auto!important;
  pointer-events:none!important;
  filter:drop-shadow(0 7px 12px rgba(0,0,0,.22))!important;
}
html.lnk-route-home #promo-video .video-frame__ticket{
  display:block!important;
  position:absolute!important;
  z-index:7!important;
  left:1.25%!important;
  bottom:2.42%!important;
  width:24%!important;
  max-width:6.3rem!important;
  height:auto!important;
  pointer-events:none!important;
  filter:drop-shadow(0 7px 12px rgba(0,0,0,.25))!important;
}
html.lnk-route-home #promo-video .video-frame__realtext{
  position:absolute!important;
  z-index:7!important;
  top:2.75%!important;
  left:7.85%!important;
  width:18%!important;
  text-align:center!important;
  color:#76501e!important;
  font-weight:900!important;
  font-size:clamp(.62rem,.78vw,.82rem)!important;
  line-height:1!important;
  letter-spacing:.24em!important;
  text-transform:uppercase!important;
  text-shadow:0 1px 0 rgba(255,255,255,.36)!important;
  pointer-events:none!important;
}
html.lnk-route-home #promo-video .video-frame__tickettext{
  position:absolute!important;
  z-index:7!important;
  left:2.05%!important;
  bottom:3.08%!important;
  width:21.5%!important;
  text-align:center!important;
  color:#684318!important;
  font-weight:900!important;
  font-size:clamp(.43rem,.52vw,.58rem)!important;
  line-height:1.04!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
  transform:rotate(-8deg)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.35)!important;
  pointer-events:none!important;
}
html.lnk-route-home #promo-video video::cue{
  color:#fff!important;
  background:rgba(0,0,0,.68)!important;
  font-size:clamp(14px,2vw,20px)!important;
  line-height:1.25!important;
  text-shadow:0 1px 2px rgba(0,0,0,.9)!important;
}
@media(min-width:900px){
  html.lnk-route-home #promo-video .showcase-grid,
  html.lnk-route-home #promo-video .promo-video-showcase{
    align-items:start!important;
  }
  html.lnk-route-home #promo-video .video-frame--real{
    width:min(100%,318px)!important;
    max-width:318px!important;
  }
}
@media(max-width:899px){
  html.lnk-route-home #promo-video .video-frame--real{
    width:min(100%,330px)!important;
    max-width:330px!important;
  }
}
@media(max-width:680px){
  html.lnk-route-home #promo-video .video-frame{margin-top:.66rem!important;border-radius:1rem!important;}
  html.lnk-route-home #promo-video .video-frame--real{width:min(100%,300px)!important;max-width:300px!important;margin:.9rem auto .95rem!important;}
  html.lnk-route-home #promo-video .video-frame--main .video-frame__media{border-radius:.72rem!important;}
  html.lnk-route-home #promo-video .video-frame--real .video-frame__media{border-radius:.92rem!important;}
  html.lnk-route-home #promo-video .video-frame__realtext{font-size:.60rem!important;letter-spacing:.20em!important;top:2.95%!important;}
  html.lnk-route-home #promo-video .video-frame__tickettext{font-size:.38rem!important;bottom:3.05%!important;}
}
@media(max-width:390px){
  html.lnk-route-home #promo-video .video-frame--real{width:min(100%,288px)!important;max-width:288px!important;}
  html.lnk-route-home #promo-video .video-frame__tickettext{font-size:.36rem!important;}
}

/* ======================================================================
   MUSIC SECTION CLEANUP — legacy image-based music styling removed.
   The final music section is now controlled by assets/song-preview.js only.
   No legacy PNG dependencies remain here.
   ====================================================================== */


/* ======================================================================
   V6.40 VIDEO FRAME FIT PATCH
   Purpose: make the gold marquee frames and real video elements fit together
   cleanly. The frame is now decorative around the video, not an overlay that
   can cover native controls. Scope: homepage promo-video section only.
   ====================================================================== */
html.lnk-route-home #promo-video .video-card,
html.lnk-route-home #promo-video .promo-video-card{
  padding:clamp(.86rem,1.15vw,1.08rem)!important;
}

html.lnk-route-home #promo-video .video-frame{
  position:relative!important;
  overflow:visible!important;
  isolation:isolate!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

html.lnk-route-home #promo-video .video-frame::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:100% 100%!important;
  filter:drop-shadow(0 16px 28px rgba(0,0,0,.32)) drop-shadow(0 0 12px rgba(245,184,68,.16))!important;
}

html.lnk-route-home #promo-video .video-frame--main{
  width:min(100%,660px)!important;
  max-width:660px!important;
  aspect-ratio:16/9!important;
  margin:clamp(.95rem,1.15vw,1.12rem) auto 0!important;
}

html.lnk-route-home #promo-video .video-frame--main::before{
  background-image:url('/assets/cinema/frame-horizontal-user.png')!important;
}

html.lnk-route-home #promo-video .video-frame--real{
  width:min(100%,365px)!important;
  max-width:365px!important;
  aspect-ratio:9/16!important;
  margin:clamp(.9rem,1.15vw,1.12rem) auto 1.05rem!important;
}

html.lnk-route-home #promo-video .video-frame--real::before{
  background-image:url('/assets/cinema/frame-vertical-user.png')!important;
}

html.lnk-route-home #promo-video .video-frame__media{
  position:absolute!important;
  z-index:3!important;
  display:block!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:#050403!important;
  box-shadow:0 7px 16px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,241,204,.12)!important;
}

/* Same-percent insets preserve the 16:9 media ratio and keep controls away from the frame. */
html.lnk-route-home #promo-video .video-frame--main .video-frame__media{
  left:7.25%!important;
  right:7.25%!important;
  top:7.25%!important;
  bottom:7.25%!important;
  border-radius:clamp(.46rem,.75vw,.82rem)!important;
}

/* Slightly deeper top/bottom insets leave room for the integrated REAL and ticket details. */
html.lnk-route-home #promo-video .video-frame--real .video-frame__media{
  left:9.1%!important;
  right:9.1%!important;
  top:10.4%!important;
  bottom:9.2%!important;
  border-radius:clamp(.72rem,1vw,1.08rem)!important;
}

html.lnk-route-home #promo-video .video-frame__video,
html.lnk-route-home #promo-video .video-frame video,
html.lnk-route-home #promo-video .video-frame iframe{
  position:relative!important;
  z-index:3!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:0!important;
  background:#000!important;
  pointer-events:auto!important;
}

/* Do not draw old duplicate text/badge/ticket layers if the frame image already contains them. */
html.lnk-route-home #promo-video .video-frame__realbadge,
html.lnk-route-home #promo-video .video-frame__ticket,
html.lnk-route-home #promo-video .video-frame__realtext,
html.lnk-route-home #promo-video .video-frame__tickettext{
  display:none!important;
}

/* Keep custom overlay disabled here; native controls/play remain usable and do not fight the frame. */
html.lnk-route-home #promo-video .video-frame__play{
  display:none!important;
}

@media(min-width:900px){
  html.lnk-route-home #promo-video .showcase-grid,
  html.lnk-route-home #promo-video .promo-video-showcase{
    grid-template-columns:minmax(0,1.04fr) minmax(285px,.82fr)!important;
    align-items:start!important;
  }
  html.lnk-route-home #promo-video .video-card--main .video-frame--main{
    width:min(100%,680px)!important;
    max-width:680px!important;
  }
  html.lnk-route-home #promo-video .video-card--real .video-frame--real{
    width:min(100%,360px)!important;
    max-width:360px!important;
  }
}

@media(max-width:899px){
  html.lnk-route-home #promo-video .video-frame--main{
    width:min(100%,620px)!important;
    max-width:620px!important;
  }
  html.lnk-route-home #promo-video .video-frame--real{
    width:min(100%,340px)!important;
    max-width:340px!important;
  }
}

@media(max-width:680px){
  html.lnk-route-home #promo-video .video-card,
  html.lnk-route-home #promo-video .promo-video-card{
    padding:.78rem!important;
  }
  html.lnk-route-home #promo-video .video-frame--main{
    width:100%!important;
    max-width:100%!important;
    margin-top:.78rem!important;
  }
  html.lnk-route-home #promo-video .video-frame--main .video-frame__media{
    left:7.6%!important;
    right:7.6%!important;
    top:7.6%!important;
    bottom:7.6%!important;
    border-radius:.58rem!important;
  }
  html.lnk-route-home #promo-video .video-frame--real{
    width:min(100%,326px)!important;
    max-width:326px!important;
    margin:.86rem auto 1rem!important;
  }
  html.lnk-route-home #promo-video .video-frame--real .video-frame__media{
    left:9.25%!important;
    right:9.25%!important;
    top:10.8%!important;
    bottom:9.6%!important;
    border-radius:.82rem!important;
  }
}

@media(max-width:390px){
  html.lnk-route-home #promo-video .video-frame--real{
    width:min(100%,308px)!important;
    max-width:308px!important;
  }
}


/* ======================================================================
   V6.41 FRAME ALIGNMENT FIX
   Problem fixed: videos were visually sitting above the uploaded frame PNGs.
   Correct layering: video is inside/behind the transparent frame window, frame
   stays visible on top, and native controls remain inside the safe inner area.
   Scope: homepage promo-video section only. No backend/order/pricing logic.
   ====================================================================== */
html.lnk-route-home #promo-video .video-frame{
  overflow:visible!important;
  isolation:isolate!important;
  background:transparent!important;
}

html.lnk-route-home #promo-video .video-frame::before{
  z-index:8!important;
  pointer-events:none!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:100% 100%!important;
  filter:drop-shadow(0 14px 26px rgba(0,0,0,.30)) drop-shadow(0 0 10px rgba(245,184,68,.13))!important;
}

html.lnk-route-home #promo-video .video-frame__media{
  z-index:2!important;
  pointer-events:auto!important;
  background:#000!important;
  box-shadow:none!important;
}

html.lnk-route-home #promo-video .video-frame__video,
html.lnk-route-home #promo-video .video-frame video,
html.lnk-route-home #promo-video .video-frame iframe{
  z-index:2!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  pointer-events:auto!important;
  background:#000!important;
}

/* Horizontal frame: the uploaded marquee has a thick top/bottom body.
   These insets keep the video and native controls away from the gold frame. */
html.lnk-route-home #promo-video .video-frame--main .video-frame__media{
  left:9.8%!important;
  right:9.8%!important;
  top:18.8%!important;
  bottom:18.8%!important;
  border-radius:clamp(.42rem,.72vw,.78rem)!important;
}

/* Vertical frame: video can sit slightly behind the gold sides because the
   frame layer now masks it cleanly, while the controls stay safely visible. */
html.lnk-route-home #promo-video .video-frame--real .video-frame__media{
  left:11.8%!important;
  right:11.8%!important;
  top:11.6%!important;
  bottom:11.6%!important;
  border-radius:clamp(.78rem,1vw,1.05rem)!important;
}

/* Native video controls only; no extra duplicated custom play button. */
html.lnk-route-home #promo-video .video-frame__play{
  display:none!important;
}

html.lnk-route-home #promo-video .video-frame__marquee{
  display:none!important;
}

@media(min-width:900px){
  html.lnk-route-home #promo-video .video-card--main .video-frame--main{
    width:min(100%,700px)!important;
    max-width:700px!important;
  }
  html.lnk-route-home #promo-video .video-card--real .video-frame--real{
    width:min(100%,355px)!important;
    max-width:355px!important;
  }
}

@media(max-width:899px){
  html.lnk-route-home #promo-video .video-frame--main .video-frame__media{
    left:9.7%!important;
    right:9.7%!important;
    top:18.4%!important;
    bottom:18.4%!important;
  }
  html.lnk-route-home #promo-video .video-frame--real{
    width:min(100%,332px)!important;
    max-width:332px!important;
  }
  html.lnk-route-home #promo-video .video-frame--real .video-frame__media{
    left:11.6%!important;
    right:11.6%!important;
    top:11.2%!important;
    bottom:11.6%!important;
  }
}

@media(max-width:680px){
  html.lnk-route-home #promo-video .video-frame--main{
    width:100%!important;
    max-width:100%!important;
  }
  html.lnk-route-home #promo-video .video-frame--main .video-frame__media{
    left:9.9%!important;
    right:9.9%!important;
    top:19.2%!important;
    bottom:19.2%!important;
    border-radius:.48rem!important;
  }
  html.lnk-route-home #promo-video .video-frame--real{
    width:min(100%,318px)!important;
    max-width:318px!important;
  }
  html.lnk-route-home #promo-video .video-frame--real .video-frame__media{
    left:11.7%!important;
    right:11.7%!important;
    top:11.8%!important;
    bottom:11.8%!important;
    border-radius:.78rem!important;
  }
}

@media(max-width:390px){
  html.lnk-route-home #promo-video .video-frame--real{
    width:min(100%,300px)!important;
    max-width:300px!important;
  }
}

/* ======================================================================
   V6.42 FINAL FRAME FIT FROM PUBLIC_HTML_6
   Scope: homepage promo-video section only.
   Purpose: use exact-ratio local frame assets and fit real videos inside
   the open frame window. No backend, Stripe, admin, email, order, pricing,
   translation or form logic changed.
   ====================================================================== */
html.lnk-route-home #promo-video .video-frame{
  position:relative!important;
  overflow:visible!important;
  isolation:isolate!important;
  margin-left:auto!important;
  margin-right:auto!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

html.lnk-route-home #promo-video .video-frame::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:9!important;
  display:block!important;
  pointer-events:none!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:100% 100%!important;
  filter:drop-shadow(0 14px 24px rgba(0,0,0,.34)) drop-shadow(0 0 10px rgba(255,190,70,.13))!important;
}

html.lnk-route-home #promo-video .video-frame__marquee{
  display:none!important;
}

html.lnk-route-home #promo-video .video-frame--main{
  width:min(100%, 665px)!important;
  max-width:665px!important;
  aspect-ratio:16 / 9!important;
  margin-top:clamp(.95rem,1.2vw,1.15rem)!important;
}
html.lnk-route-home #promo-video .video-frame--main::before{
  background-image:url('/assets/cinema/frame-horizontal-user.png')!important;
}

html.lnk-route-home #promo-video .video-frame--real{
  width:min(100%, 350px)!important;
  max-width:350px!important;
  aspect-ratio:9 / 16!important;
  margin-top:clamp(.95rem,1.2vw,1.15rem)!important;
  margin-bottom:1.05rem!important;
}
html.lnk-route-home #promo-video .video-frame--real::before{
  background-image:url('/assets/cinema/frame-vertical-user.png')!important;
}

html.lnk-route-home #promo-video .video-frame__media{
  position:absolute!important;
  z-index:2!important;
  display:block!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:#020202!important;
  box-shadow:0 8px 18px rgba(0,0,0,.38)!important;
  pointer-events:auto!important;
}

/* Horizontal frame safe window. It fills the open area without leaking over
   the bulbs or rounded gold corners. */
html.lnk-route-home #promo-video .video-frame--main .video-frame__media{
  left:8.95%!important;
  right:8.95%!important;
  top:14.15%!important;
  bottom:13.95%!important;
  border-radius:clamp(.52rem,.8vw,.82rem)!important;
}

/* Vertical frame safe window. Extra bottom clearance protects the native
   controls from the Premiere Moment ticket. */
html.lnk-route-home #promo-video .video-frame--real .video-frame__media{
  left:12.45%!important;
  right:12.15%!important;
  top:9.35%!important;
  bottom:11.15%!important;
  border-radius:clamp(.78rem,1.2vw,1.02rem)!important;
}

html.lnk-route-home #promo-video .video-frame__video,
html.lnk-route-home #promo-video .video-frame video,
html.lnk-route-home #promo-video .video-frame iframe{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:#020202!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:0!important;
  pointer-events:auto!important;
}

/* No duplicate custom play overlay. The browser-native video play/control
   layer stays responsible for interaction. */
html.lnk-route-home #promo-video .video-frame__play{
  display:none!important;
}

@media(min-width:900px){
  html.lnk-route-home #promo-video .showcase-grid,
  html.lnk-route-home #promo-video .promo-video-showcase{
    grid-template-columns:minmax(0,1.08fr) minmax(310px,.82fr)!important;
    align-items:start!important;
  }
  html.lnk-route-home #promo-video .video-card--main .video-frame--main{
    width:min(100%, 690px)!important;
    max-width:690px!important;
  }
  html.lnk-route-home #promo-video .video-card--real .video-frame--real{
    width:min(100%, 360px)!important;
    max-width:360px!important;
  }
}

@media(max-width:899px){
  html.lnk-route-home #promo-video .video-frame--main{
    width:min(100%, 650px)!important;
    max-width:650px!important;
  }
  html.lnk-route-home #promo-video .video-frame--real{
    width:min(100%, 338px)!important;
    max-width:338px!important;
  }
}

@media(max-width:680px){
  html.lnk-route-home #promo-video .video-card,
  html.lnk-route-home #promo-video .promo-video-card{
    padding:.78rem!important;
  }
  html.lnk-route-home #promo-video .video-frame--main{
    width:100%!important;
    max-width:100%!important;
  }
  html.lnk-route-home #promo-video .video-frame--main .video-frame__media{
    left:9.1%!important;
    right:9.1%!important;
    top:14.45%!important;
    bottom:14.2%!important;
    border-radius:.56rem!important;
  }
  html.lnk-route-home #promo-video .video-frame--real{
    width:min(100%, 324px)!important;
    max-width:324px!important;
  }
  html.lnk-route-home #promo-video .video-frame--real .video-frame__media{
    left:12.55%!important;
    right:12.25%!important;
    top:9.55%!important;
    bottom:11.35%!important;
    border-radius:.78rem!important;
  }
}

@media(max-width:390px){
  html.lnk-route-home #promo-video .video-frame--real{
    width:min(100%, 306px)!important;
    max-width:306px!important;
  }
}

/* ======================================================================
   V6.43 TIGHT FRAME FIT PATCH
   Scope: homepage promo-video section only.
   Purpose: pull the real videos closer to the usable opening of the local
   gold frame PNGs without letting the media leak outside the frame.
   This does not touch pricing, Stripe, forms, admin, email, orders or backend.
   ====================================================================== */
html.lnk-route-home #promo-video .video-frame{
  position:relative!important;
  overflow:visible!important;
  isolation:isolate!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

html.lnk-route-home #promo-video .video-frame::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:12!important;
  display:block!important;
  pointer-events:none!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:100% 100%!important;
  filter:drop-shadow(0 14px 26px rgba(0,0,0,.34)) drop-shadow(0 0 10px rgba(255,190,70,.12))!important;
}

html.lnk-route-home #promo-video .video-frame--main{
  aspect-ratio:16/9!important;
  width:min(100%,690px)!important;
  max-width:690px!important;
}
html.lnk-route-home #promo-video .video-frame--main::before{
  background-image:url('/assets/cinema/frame-horizontal-user.png')!important;
}

html.lnk-route-home #promo-video .video-frame--real{
  aspect-ratio:9/16!important;
  width:min(100%,360px)!important;
  max-width:360px!important;
}
html.lnk-route-home #promo-video .video-frame--real::before{
  background-image:url('/assets/cinema/frame-vertical-user.png')!important;
}

html.lnk-route-home #promo-video .video-frame__marquee{
  display:none!important;
}

html.lnk-route-home #promo-video .video-frame__media{
  position:absolute!important;
  z-index:3!important;
  display:block!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:#030303!important;
  box-shadow:0 8px 18px rgba(0,0,0,.38)!important;
  pointer-events:auto!important;
}

/* Horizontal frame: closer to the true inner opening, but still inside the gold body. */
html.lnk-route-home #promo-video .video-frame--main .video-frame__media{
  left:8.55%!important;
  right:8.55%!important;
  top:13.45%!important;
  bottom:13.45%!important;
  border-radius:clamp(.54rem,.85vw,.88rem)!important;
}

/* Vertical frame: fills more of the real opening; the frame remains above the video. */
html.lnk-route-home #promo-video .video-frame--real .video-frame__media{
  left:10.85%!important;
  right:10.85%!important;
  top:8.25%!important;
  bottom:9.65%!important;
  border-radius:clamp(.86rem,1.25vw,1.16rem)!important;
}

html.lnk-route-home #promo-video .video-frame__video,
html.lnk-route-home #promo-video .video-frame video,
html.lnk-route-home #promo-video .video-frame iframe{
  position:relative!important;
  z-index:3!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#030303!important;
  object-fit:cover!important;
  object-position:center center!important;
  pointer-events:auto!important;
}

/* Keep only native browser controls; no duplicate custom play button. */
html.lnk-route-home #promo-video .video-frame__play{
  display:none!important;
}

html.lnk-route-home #promo-video .video-frame__realbadge,
html.lnk-route-home #promo-video .video-frame__ticket,
html.lnk-route-home #promo-video .video-frame__realtext,
html.lnk-route-home #promo-video .video-frame__tickettext{
  display:none!important;
}

@media(min-width:900px){
  html.lnk-route-home #promo-video .showcase-grid,
  html.lnk-route-home #promo-video .promo-video-showcase{
    grid-template-columns:minmax(0,1.08fr) minmax(310px,.82fr)!important;
    align-items:start!important;
  }
  html.lnk-route-home #promo-video .video-card--main .video-frame--main{
    width:min(100%,700px)!important;
    max-width:700px!important;
  }
  html.lnk-route-home #promo-video .video-card--real .video-frame--real{
    width:min(100%,360px)!important;
    max-width:360px!important;
  }
}

@media(max-width:899px){
  html.lnk-route-home #promo-video .video-frame--main{
    width:min(100%,650px)!important;
    max-width:650px!important;
  }
  html.lnk-route-home #promo-video .video-frame--real{
    width:min(100%,338px)!important;
    max-width:338px!important;
  }
}

@media(max-width:680px){
  html.lnk-route-home #promo-video .video-card,
  html.lnk-route-home #promo-video .promo-video-card{
    padding:.78rem!important;
  }
  html.lnk-route-home #promo-video .video-frame--main{
    width:100%!important;
    max-width:100%!important;
  }
  html.lnk-route-home #promo-video .video-frame--main .video-frame__media{
    left:8.7%!important;
    right:8.7%!important;
    top:13.65%!important;
    bottom:13.65%!important;
    border-radius:.62rem!important;
  }
  html.lnk-route-home #promo-video .video-frame--real{
    width:min(100%,330px)!important;
    max-width:330px!important;
  }
  html.lnk-route-home #promo-video .video-frame--real .video-frame__media{
    left:10.95%!important;
    right:10.95%!important;
    top:8.45%!important;
    bottom:9.9%!important;
    border-radius:.9rem!important;
  }
}

@media(max-width:390px){
  html.lnk-route-home #promo-video .video-frame--real{
    width:min(100%,312px)!important;
    max-width:312px!important;
  }
}
