
/* ===============================================================
   VAIO Gaming — Premium Motion Design System
   Scope: final polish layer, no layout rewrite, no image replacement.
   =============================================================== */
:root{
  --vaio-motion-fast: .18s;
  --vaio-motion: .32s;
  --vaio-motion-slow: .72s;
  --vaio-ease: cubic-bezier(.2,.75,.2,1);
  --vaio-ease-bounce: cubic-bezier(.18,.88,.32,1.22);
  --vaio-glow-cyan: 0 0 28px rgba(34,211,238,.34);
  --vaio-glow-purple: 0 0 34px rgba(124,58,237,.38);
  --vaio-card-lift: translate3d(0,-7px,0);
}

/* Global transition language */
.vaio-btn,
.vaio-btn-primary,
.vaio-btn-secondary,
.button,
button,
input[type="submit"],
.add_to_cart_button,
.single_add_to_cart_button,
.checkout-button,
.vaio-product-card,
.vaio-cat-card,
.vaio-char-card,
.vaio-banner,
.vaio-trust-card,
.vaio-stat-card,
.woocommerce .product,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  transition:
    transform var(--vaio-motion) var(--vaio-ease),
    border-color var(--vaio-motion) var(--vaio-ease),
    box-shadow var(--vaio-motion) var(--vaio-ease),
    background var(--vaio-motion) var(--vaio-ease),
    opacity var(--vaio-motion) var(--vaio-ease),
    filter var(--vaio-motion) var(--vaio-ease);
}

/* Premium cards hover, shared across homepage, shop, related products */
.vaio-product-card,
.woocommerce ul.products li.product,
.vaio-cat-card,
.vaio-char-card,
.vaio-banner{
  position: relative;
  overflow: hidden;
  transform-style: preserve-3d;
  will-change: transform;
}
.vaio-product-card::before,
.woocommerce ul.products li.product::before,
.vaio-cat-card::before,
.vaio-char-card::before,
.vaio-banner::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background: radial-gradient(circle at var(--vaio-mx, 50%) var(--vaio-my, 20%), rgba(34,211,238,.18), transparent 34%),
              linear-gradient(125deg, transparent 0%, rgba(255,255,255,.12) 42%, transparent 58%);
  opacity:0;
  transform: translateX(-18%);
  transition: opacity var(--vaio-motion) var(--vaio-ease), transform .9s var(--vaio-ease);
  z-index:2;
}
.vaio-product-card::after,
.woocommerce ul.products li.product::after,
.vaio-cat-card::after,
.vaio-char-card::after,
.vaio-banner::after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(34,211,238,.0);
  border-radius:inherit;
  pointer-events:none;
  box-shadow: inset 0 0 0 1px rgba(124,58,237,.12), 0 0 0 rgba(34,211,238,0);
  opacity:.9;
  z-index:3;
}
.vaio-product-card:hover,
.woocommerce ul.products li.product:hover,
.vaio-cat-card:hover,
.vaio-char-card:hover,
.vaio-banner:hover{
  transform: var(--vaio-card-lift) rotateX(var(--vaio-tilt-y,0deg)) rotateY(var(--vaio-tilt-x,0deg));
  box-shadow: var(--vaio-glow-cyan), var(--vaio-glow-purple), 0 20px 60px rgba(0,0,0,.36);
}
.vaio-product-card:hover::before,
.woocommerce ul.products li.product:hover::before,
.vaio-cat-card:hover::before,
.vaio-char-card:hover::before,
.vaio-banner:hover::before{
  opacity:1;
  transform: translateX(18%);
}
.vaio-product-card:hover::after,
.woocommerce ul.products li.product:hover::after,
.vaio-cat-card:hover::after,
.vaio-char-card:hover::after,
.vaio-banner:hover::after{
  border-color: rgba(34,211,238,.35);
  animation: vaioEnergyBorder 1.9s linear infinite;
}
.vaio-product-card img,
.woocommerce ul.products li.product img,
.vaio-char-card img,
.vaio-banner img{
  transition: transform .65s var(--vaio-ease), filter .65s var(--vaio-ease);
}
.vaio-product-card:hover img,
.woocommerce ul.products li.product:hover img,
.vaio-char-card:hover img,
.vaio-banner:hover img{
  transform: scale(1.045);
  filter: saturate(1.14) contrast(1.05);
}

@keyframes vaioEnergyBorder{
  0%{ box-shadow: inset 0 0 0 1px rgba(34,211,238,.22), 0 0 14px rgba(34,211,238,.12); }
  50%{ box-shadow: inset 0 0 0 1px rgba(124,58,237,.42), 0 0 28px rgba(124,58,237,.22); }
  100%{ box-shadow: inset 0 0 0 1px rgba(34,211,238,.22), 0 0 14px rgba(34,211,238,.12); }
}

/* Button sweep + premium press feedback */
.vaio-btn-primary,
.single_add_to_cart_button,
.checkout-button,
.add_to_cart_button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  min-height:44px;
}
.vaio-btn-primary::after,
.single_add_to_cart_button::after,
.checkout-button::after,
.add_to_cart_button::after,
.woocommerce a.button::after,
.woocommerce button.button::after,
.woocommerce input.button::after{
  content:"";
  position:absolute;
  top:-35%; bottom:-35%; left:-45%; width:34%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent);
  transform:skewX(-18deg) translateX(-140%);
  transition:transform .72s var(--vaio-ease);
  z-index:-1;
}
.vaio-btn-primary:hover::after,
.single_add_to_cart_button:hover::after,
.checkout-button:hover::after,
.add_to_cart_button:hover::after,
.woocommerce a.button:hover::after,
.woocommerce button.button:hover::after,
.woocommerce input.button:hover::after{ transform:skewX(-18deg) translateX(460%); }
.vaio-btn-primary:active,
.single_add_to_cart_button:active,
.checkout-button:active,
.add_to_cart_button:active{ transform:scale(.985); }

/* WooCommerce notices as glass gaming toasts/blocks */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  border:1px solid rgba(34,211,238,.22) !important;
  background:linear-gradient(135deg, rgba(17,24,39,.92), rgba(11,16,32,.88)) !important;
  color:#fff !important;
  border-radius:18px !important;
  box-shadow:0 18px 48px rgba(0,0,0,.28), 0 0 24px rgba(34,211,238,.12) !important;
  backdrop-filter: blur(14px);
}
.vaio-toast-stack{position:fixed;z-index:99999;right:18px;bottom:18px;display:grid;gap:10px;max-width:min(360px,calc(100vw - 28px));}
body.rtl .vaio-toast-stack{right:auto;left:18px;}
.vaio-toast{
  background:linear-gradient(135deg, rgba(17,24,39,.92), rgba(11,16,32,.88));
  color:#fff;border:1px solid rgba(34,211,238,.24);border-radius:16px;
  padding:13px 16px;box-shadow:0 18px 48px rgba(0,0,0,.32), 0 0 22px rgba(124,58,237,.18);
  backdrop-filter:blur(14px);animation:vaioToastIn .32s var(--vaio-ease-bounce) both;
}
.vaio-toast.is-error{border-color:rgba(248,113,113,.45);box-shadow:0 18px 48px rgba(0,0,0,.32),0 0 22px rgba(248,113,113,.18)}
@keyframes vaioToastIn{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}

/* Skeleton loading utility for async/product grids */
.vaio-skeleton{position:relative;overflow:hidden;background:rgba(255,255,255,.055);border-radius:18px;min-height:120px;}
.vaio-skeleton::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:translateX(-100%);animation:vaioSkeleton 1.45s ease-in-out infinite;}
@keyframes vaioSkeleton{to{transform:translateX(100%)}}

/* Premium ambient cursor */
.vaio-cursor-dot,
.vaio-cursor-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:100000;opacity:0;transition:opacity .2s ease, transform .12s linear;mix-blend-mode:screen;}
.vaio-cursor-dot{width:6px;height:6px;border-radius:99px;background:#22d3ee;box-shadow:0 0 18px rgba(34,211,238,.9)}
.vaio-cursor-ring{width:34px;height:34px;border-radius:99px;border:1px solid rgba(124,58,237,.55);box-shadow:0 0 24px rgba(124,58,237,.28)}
html.vaio-cursor-ready .vaio-cursor-dot,
html.vaio-cursor-ready .vaio-cursor-ring{opacity:1}
html.vaio-cursor-active .vaio-cursor-ring{transform:scale(1.55)!important;border-color:rgba(34,211,238,.7)}
@media (hover:none), (pointer:coarse){.vaio-cursor-dot,.vaio-cursor-ring{display:none!important}}

/* Scroll reveal enhancement */
.vaio-reveal{opacity:0;transform:translateY(18px);transition:opacity .65s var(--vaio-ease), transform .65s var(--vaio-ease);}
.vaio-reveal.is-visible{opacity:1;transform:none;}

/* Reduce motion accessibility */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
  .vaio-cursor-dot,.vaio-cursor-ring{display:none!important}
}

@media (max-width: 768px){
  .vaio-product-card:hover,
  .woocommerce ul.products li.product:hover,
  .vaio-cat-card:hover,
  .vaio-char-card:hover,
  .vaio-banner:hover{transform:translate3d(0,-4px,0);}
  .vaio-toast-stack{right:12px;left:12px;bottom:12px;max-width:none;}
}
