/* GWATCH EXTRA UI + TRANSITIONS V9 */
:root{
  --gw-accent:#d8b65b;
  --gw-bg:#050914;
  --gw-panel:#0d1420;
  --gw-line:#202a39;
  --gw-soft:rgba(216,182,91,.16);
}

/* PAGE ENTRY / EXIT */
body{
  opacity:1;
  transition:opacity .34s ease,filter .34s ease,transform .34s ease;
}
body.gw-page-enter{
  opacity:0;
  filter:blur(5px);
  transform:translateY(8px);
}
body.gw-page-exit{
  opacity:0;
  filter:blur(7px);
  transform:scale(.992);
}
#gwPageCurtain{
  position:fixed;inset:0;z-index:99999;pointer-events:none;
  background:
    radial-gradient(circle at 50% 45%,rgba(216,182,91,.07),transparent 32%),
    #050914;
  opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease;
}
#gwPageCurtain.show{opacity:1;visibility:visible}
#gwPageCurtain:after{
  content:"GWATCH";
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.94);
  color:#fff;font-weight:950;font-size:20px;letter-spacing:.08em;
  opacity:0;transition:.25s;
}
#gwPageCurtain.show:after{opacity:1;transform:translate(-50%,-50%) scale(1)}

/* HEADER */
header,.gw-header{
  backdrop-filter:blur(22px)!important;
  box-shadow:0 10px 45px rgba(0,0,0,.18);
}
header:after,.gw-header:after{
  content:"";position:absolute;left:0;bottom:-1px;height:1px;
  width:var(--gw-scroll,0%);
  background:linear-gradient(90deg,var(--gw-accent),rgba(255,255,255,.82));
  transition:width .08s linear;
}

/* HERO + TITLE HERO */
.hero,.titleHero{
  transform:translateZ(0);
  overflow:hidden;
}
.hero:after,.titleHero:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at var(--gw-x,70%) var(--gw-y,35%),rgba(216,182,91,.07),transparent 28%),
    linear-gradient(to top,rgba(5,9,20,.22),transparent 48%);
}
.hero>*,
.titleHero>*{position:relative;z-index:2}
.hero h1,.titleHero h1{
  text-shadow:0 18px 45px rgba(0,0,0,.34);
}
.hero-actions a,.hero-actions button,.titleActions button,.titleActions a{
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease!important;
}
.hero-actions a:hover,.hero-actions button:hover,.titleActions button:hover,.titleActions a:hover{
  transform:translateY(-2px) scale(1.015);
  box-shadow:0 16px 40px rgba(0,0,0,.26);
}

/* CATALOG SECTIONS */
.rail,.g3-rail,.g5-related-rail{
  scroll-behavior:smooth;
  scroll-snap-type:x proximity;
}
.card,.g3-card,.g5-card{
  position:relative;
  transform:translateY(20px) scale(.985);
  opacity:0;
  filter:blur(3px);
  transition:
    transform .55s cubic-bezier(.16,.8,.24,1),
    opacity .55s ease,
    filter .55s ease,
    box-shadow .3s ease,
    border-color .3s ease!important;
  scroll-snap-align:start;
}
.card.gw-in,.g3-card.gw-in,.g5-card.gw-in{
  opacity:1;
  filter:none;
  transform:none;
}
.card:hover,.g3-card:hover,.g5-card:hover{
  transform:translateY(-8px) scale(1.025)!important;
  z-index:8;
  box-shadow:0 25px 70px rgba(0,0,0,.44),0 0 30px rgba(216,182,91,.06);
}
.card:before,.g3-card:before,.g5-card:before{
  content:"";position:absolute;z-index:5;inset:0;border-radius:inherit;
  pointer-events:none;
  border:1px solid transparent;
  transition:border-color .25s ease,background .25s ease;
}
.card:hover:before,.g3-card:hover:before,.g5-card:hover:before{
  border-color:rgba(216,182,91,.26);
  background:linear-gradient(135deg,rgba(255,255,255,.025),transparent 45%);
}
.poster,.g3-poster,.g5-poster{
  transition:transform .55s cubic-bezier(.16,.8,.24,1),filter .4s ease!important;
}
.card:hover .poster,.g3-card:hover .g3-poster,.g5-card:hover .g5-poster{
  transform:scale(1.035);
  filter:brightness(1.06) saturate(1.05);
}
.meta,.g3-card-meta{
  transition:transform .3s ease;
}
.card:hover .meta,.g3-card:hover .g3-card-meta{transform:translateY(-2px)}

/* SECTION REVEAL */
section,.gw-catalog-row,.detailSection{
  transition:opacity .7s ease,transform .7s cubic-bezier(.16,.8,.24,1),filter .7s ease;
}
section.gw-section-pending,.gw-catalog-row.gw-section-pending,.detailSection.gw-section-pending{
  opacity:0;transform:translateY(28px);filter:blur(4px);
}
section.gw-section-in,.gw-catalog-row.gw-section-in,.detailSection.gw-section-in{
  opacity:1;transform:none;filter:none;
}

/* PLAYER CINEMATIC SHELL */
.gw-watch-page{
  position:relative;
}
.gw-player-shell{
  position:relative;
  isolation:isolate;
  transform:translateY(20px) scale(.985);
  opacity:0;
  transition:opacity .75s ease,transform .75s cubic-bezier(.16,.8,.24,1),box-shadow .35s ease!important;
  box-shadow:0 24px 80px rgba(0,0,0,.52)!important;
}
.gw-player-shell.gw-player-in{
  opacity:1;
  transform:none;
}
.gw-player-shell:before{
  content:"";position:absolute;inset:-22px;z-index:-2;border-radius:28px;
  background:radial-gradient(circle at 50% 55%,rgba(216,182,91,.12),transparent 58%);
  filter:blur(22px);opacity:.6;
}
.gw-player-shell:after{
  content:"";position:absolute;inset:0;z-index:8;pointer-events:none;border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);
}
.gw-player-shell:hover{
  box-shadow:0 32px 100px rgba(0,0,0,.62)!important;
}
.gw-controls{
  transition:opacity .25s ease,transform .25s ease,background .25s ease!important;
}
.gw-player-shell:not(:hover) .gw-controls{
  transform:translateY(3px);
}
.gw-big-play{
  transition:transform .22s ease,background .22s ease,box-shadow .22s ease!important;
  box-shadow:0 12px 35px rgba(0,0,0,.35);
}
.gw-big-play:hover{
  transform:translate(-50%,-50%) scale(1.09)!important;
  box-shadow:0 18px 50px rgba(0,0,0,.48),0 0 0 8px rgba(255,255,255,.035);
}
.gw-seek,.progress{
  cursor:pointer;
}
.gw-seek:hover,.progress:hover{
  filter:brightness(1.22);
}

/* WATCH COPY + EPISODES */
.gw-watch-copy,.g5-episode,.episodeList>*{
  opacity:0;transform:translateY(18px);
  transition:opacity .5s ease,transform .5s cubic-bezier(.16,.8,.24,1),background .25s ease,border-color .25s ease!important;
}
.gw-watch-copy.gw-in,.g5-episode.gw-in,.episodeList>*.gw-in{
  opacity:1;transform:none;
}
.g5-episode:hover,.episodeList>*:hover{
  transform:translateX(5px)!important;
}

/* BUTTON RIPPLE */
.gw-ripple-host{position:relative!important;overflow:hidden!important}
.gw-ripple{
  position:absolute;border-radius:50%;pointer-events:none;
  background:rgba(255,255,255,.20);
  transform:scale(0);animation:gwRipple .58s ease-out forwards;
}
@keyframes gwRipple{to{transform:scale(4);opacity:0}}

/* FLOATING BACK TOP */
#gwBackTop{
  position:fixed;right:18px;bottom:18px;z-index:90;
  width:44px;height:44px;border-radius:50%;
  border:1px solid #364151;background:rgba(12,18,27,.88);
  color:#fff;backdrop-filter:blur(14px);
  opacity:0;transform:translateY(12px) scale(.94);
  transition:.3s ease;cursor:pointer;
}
#gwBackTop.show{opacity:1;transform:none}

/* MICRO SCANLINE / PREMIUM TEXTURE */
#gwTexture{
  position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.045;
  background:repeating-linear-gradient(to bottom,rgba(255,255,255,.13) 0,rgba(255,255,255,.13) 1px,transparent 1px,transparent 4px);
  mix-blend-mode:overlay;
}

/* LOADING PULSE */
.gw-loading-pulse{
  animation:gwPulse 1.45s ease-in-out infinite;
}
@keyframes gwPulse{50%{opacity:.56}}

/* MOBILE */
@media(max-width:760px){
  #gwTexture{opacity:.025}
  .card:hover,.g3-card:hover,.g5-card:hover{transform:none!important;box-shadow:none}
  .gw-player-shell:before{inset:-8px;filter:blur(12px)}
  #gwBackTop{width:40px;height:40px;right:12px;bottom:14px}
}

/* ACCESSIBILITY */
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important
  }
}
