/* UNITED GAMER 2.1.25: effects apply exclusively to desktop layout with a fine hover pointer.
   On mobile/tablet layouts, even enabled settings have no visual effect. */
@property --ug-fx-border-angle {syntax:'<angle>';initial-value:0deg;inherits:false}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
/* UNITED GAMER 2.1.24 — six independent, off-by-default NEON experiments.
   Source media, card opacity and product data are never modified. */

/* 1 — cursor-following soft light, behind product imagery. */
@media (hover:hover) and (pointer:fine) {
  body.home.united-style-neon.ug-fx-light :is(.catalog .product-card .prod-image,.united-neon-popular .ug-pop-image-link)::after {
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:radial-gradient(ellipse 48% 43% at var(--ug-fx-x,55%) var(--ug-fx-y,47%),
      rgba(var(--ug-glow-rgb,240,242,245),.16),
      rgba(var(--ug-glow-rgb,240,242,245),.06) 53%,
      transparent 75%);
    opacity:0;
    transition:opacity .32s ease;
  }
  body.home.united-style-neon.ug-fx-light :is(.catalog .product-card:hover .prod-image,.catalog .product-card:focus-within .prod-image,.united-neon-popular .ug-pop-card:hover .ug-pop-image-link,.united-neon-popular .ug-pop-card:focus-within .ug-pop-image-link)::after{
    opacity:1;
  }
}

/* 2 — orange moving glint. A masked stroke keeps the rounded corners intact. */
@media (hover:hover) and (pointer:fine) {
  body.home.united-style-neon.ug-fx-border :is(.catalog .product-card,.united-neon-popular .ug-pop-card)::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:8;
    border-radius:inherit;
    padding:1.5px;
    pointer-events:none;
    background:conic-gradient(from var(--ug-fx-border-angle,0deg),transparent 0deg,transparent 265deg,
      rgba(255,133,34,.13) 290deg,rgba(255,180,86,.85) 315deg,transparent 340deg);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    mask-composite:exclude;
    opacity:0;
    transition:opacity .25s ease;
  }
  body.home.united-style-neon.ug-fx-border :is(.catalog .product-card,.united-neon-popular .ug-pop-card):hover::before{
    opacity:.85;
    animation:ugFxBorderSpin 2.6s linear infinite;
  }
  body.home.united-style-neon.ug-fx-border :is(.catalog .product-card,.united-neon-popular .ug-pop-card):focus-within::before{
    opacity:.85;
  }
}

@keyframes ugFxBorderSpin{to{--ug-fx-border-angle:360deg}}

/* 3 — parallax only the inner photo; do not move the section mask or card layout.
   Existing CSS sets transform:none!important, so this targeted late rule overrides it. */
body.home.united-style-neon.ug-fx-parallax :is(.hero,.united-neon-popular,.categories,.catalog,.united-about-v15,.united-advantages-v15,.united-contacts-v15) > .united-section-background > img {
  transform:translate3d(0,var(--ug-fx-parallax,0px),0) scale(1.065)!important;
  transform-origin:center center!important;
  will-change:transform;
}

/* 4 — temporary copy of the previous photo; it dissolves when the next is loaded. */
body.home.united-style-neon.ug-fx-photos :is(.catalog .prod-image,.united-neon-popular .ug-pop-image-link) img.ug-fx-old-photo {
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0!important;
  object-fit:contain!important;
  z-index:5!important;
  opacity:1!important;
  transform:none!important;
  pointer-events:none!important;
  transition:opacity .3s ease,transform .3s ease!important;
}
body.home.united-style-neon.ug-fx-photos :is(.catalog .prod-image,.united-neon-popular .ug-pop-image-link) img.ug-fx-old-photo.ug-fx-old-photo--exit {
  opacity:0!important;
  transform:scale(1.012)!important;
}

/* 5 — reveal only after JS prepared the element. Never hide without scripting.
   Separate the fade from transforms of interactive product/category cards. */
body.home.united-style-neon.ug-fx-reveal .ug-fx-reveal-node {
  transition:opacity .65s cubic-bezier(.2,.75,.22,1),filter .65s ease,transform .65s cubic-bezier(.2,.75,.22,1);
  transition-delay:var(--ug-fx-delay,0ms);
}
body.home.united-style-neon.ug-fx-reveal .ug-fx-reveal-node.ug-fx-reveal-pending {
  opacity:0!important;
  filter:blur(3px)!important;
}
body.home.united-style-neon.ug-fx-reveal .ug-fx-reveal-node.ug-fx-reveal-pending.ug-fx-reveal-heading {
  transform:translateY(15px)!important;
}
body.home.united-style-neon.ug-fx-reveal .ug-fx-reveal-node.ug-fx-revealed {
  opacity:1;
  filter:none;
}

/* 6 — mild 3D for collection cards only; no effects on buttons or images. */
@media (hover:hover) and (pointer:fine) {
  body.home.united-style-neon.ug-fx-tilt .categories .cat-card {
    transform:perspective(1050px) rotateX(var(--ug-fx-tilt-x,0deg)) rotateY(var(--ug-fx-tilt-y,0deg)) translateY(var(--ug-fx-lift,0px))!important;
    transform-style:preserve-3d;
    transition:transform .16s ease-out,border-color .25s ease,box-shadow .25s ease!important;
  }
  body.home.united-style-neon.ug-fx-tilt .categories .cat-card:hover{
    --ug-fx-lift:-2px;
  }
}

@media (prefers-reduced-motion:reduce) {
  body.home.united-style-neon.ug-fx-light :is(.prod-image,.ug-pop-image-link)::after,
  body.home.united-style-neon.ug-fx-border :is(.product-card,.ug-pop-card)::before {display:none!important;animation:none!important}
  body.home.united-style-neon.ug-fx-parallax .united-section-background > img{transform:none!important;will-change:auto}
  body.home.united-style-neon.ug-fx-photos img.ug-fx-old-photo{display:none!important;transition:none!important}
  body.home.united-style-neon.ug-fx-reveal .ug-fx-reveal-node{opacity:1!important;filter:none!important;transform:none!important;transition:none!important}
  body.home.united-style-neon.ug-fx-tilt .cat-card{transform:none!important;transition:none!important}
}
}
