/* AniNexus 10.3 — season identity, anchored filters and clean carousel */

/* Seasonal identities */
body[data-nx-season-theme="WINTER"],
.nx-season[data-season="WINTER"]{
  --accent:#6cc8ff;
  --accent2:#397dff;
  --glow:83,176,255;
}
body[data-nx-season-theme="SPRING"],
.nx-season[data-season="SPRING"]{
  --accent:#ff6ca5;
  --accent2:#e83d7b;
  --glow:255,93,157;
}
body[data-nx-season-theme="SUMMER"],
.nx-season[data-season="SUMMER"]{
  --accent:#ffb33f;
  --accent2:#ff6d28;
  --glow:255,142,52;
}
body[data-nx-season-theme="FALL"],
.nx-season[data-season="FALL"]{
  --accent:#e98a43;
  --accent2:#ad4d2d;
  --glow:222,112,54;
}

body[data-nx-season-theme] .nx-season-hero,
body[data-nx-season-theme] .nx-v10-seasonbar{
  transition:background .32s ease,border-color .32s ease,box-shadow .32s ease,color .32s ease;
}
body[data-nx-season-theme] .nx-season-icon,
body[data-nx-season-theme] .nx-v10-seasonbar__icon{
  color:var(--accent)!important;
  filter:drop-shadow(0 0 14px rgba(var(--glow),.26));
}
body[data-nx-season-theme] .nx-season-title h1 em,
body[data-nx-season-theme] .nx-v10-seasonbar__title em,
body[data-nx-season-theme] .nx-season-title p,
body[data-nx-season-theme] .nx-v10-seasonbar__sub{
  color:var(--accent)!important;
}
body[data-nx-season-theme] .nx-season-tabs button.active,
body[data-nx-season-theme] .nx-v10-seasonbar__seasons button.active{
  background:linear-gradient(135deg,var(--accent),var(--accent2))!important;
  box-shadow:0 7px 20px rgba(var(--glow),.22)!important;
}
body[data-nx-season-theme] .nx-filter-pill.selected,
body[data-nx-season-theme] .nx-v10-seasonbar__btn.has-filter{
  border-color:rgba(var(--glow),.5)!important;
  background:rgba(var(--glow),.11)!important;
}

/* Fixed-control popovers must be anchored to the visible fixed button, not the offscreen original. */
body.nx-v11-fixed-popover .nx-popover{
  left:var(--v11-left)!important;
  top:var(--v11-top)!important;
  width:var(--v11-width)!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  transform-origin:top center!important;
}

/* Still airing: true horizontal carousel, no ugly scrollbar */
.nx-still{
  position:relative;
  overflow:hidden;
}
.nx-still .nx-section-title{
  margin-bottom:0!important;
}
.nx-still-nav{
  display:flex;
  align-items:center;
  gap:10px;
  margin:14px 0 18px;
}
.nx-still-nav button{
  width:34px;
  height:34px;
  padding:0;
  border:0;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:transparent;
  color:#aaa0af;
  cursor:pointer;
  transition:color .18s ease,background .18s ease,transform .18s ease,opacity .18s ease;
}
.nx-still-nav button:hover:not(:disabled){
  color:#fff;
  background:rgba(255,255,255,.055);
  transform:translateY(-1px);
}
.nx-still-nav button:active:not(:disabled){transform:scale(.94)}
.nx-still-nav button:disabled{opacity:.26;cursor:default}
.nx-still-nav svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.nx-still-rail{
  display:flex!important;
  grid-template-columns:none!important;
  gap:16px!important;
  width:100%;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:0 2px 10px!important;
  margin:0!important;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:2px;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  touch-action:pan-x pan-y;
}
.nx-still-rail::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.nx-still-rail article{
  flex:0 0 154px!important;
  min-width:0!important;
  scroll-snap-align:start;
  scroll-snap-stop:normal;
}
.nx-still-rail article strong{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

@media(max-width:720px){
  .nx-still{margin-top:38px!important;padding-top:4px!important}
  .nx-still-nav{margin:12px 0 16px;padding-left:1px}
  .nx-still-nav button{width:32px;height:32px;border-radius:8px}
  .nx-still-rail{gap:14px!important;padding-right:18px!important}
  .nx-still-rail article{flex-basis:128px!important}
  .nx-still-rail article strong{font-size:14px!important;line-height:1.25!important;margin-top:8px!important}
  .nx-still-rail .nx-related-poster{border-radius:10px!important}
}

@media(prefers-reduced-motion:reduce){
  .nx-still-rail{scroll-behavior:auto!important}
  .nx-still-nav button,
  body[data-nx-season-theme] .nx-season-hero,
  body[data-nx-season-theme] .nx-v10-seasonbar{transition:none!important}
}
