/* Static Cheats — motion & polish overlay (loaded last) */

:root {
  --sc-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --sc-radius-sm: 12px;
  --sc-radius-md: 16px;
  --sc-radius-lg: 22px;
  --sc-radius-xl: 28px;
}

html {
  scroll-behavior: smooth;
}

/* -------------------------------------------------------------------------- */
/* Hide ALTCHA on the buy card (still runs in the background) */
/* -------------------------------------------------------------------------- */

.sc-pdp [x-show="!altchaPayload"],
.product-wrapper [x-show="!altchaPayload"],
.sc-pdp altcha-widget:not(.sc-altcha-keep) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* -------------------------------------------------------------------------- */
/* Page enter */
/* -------------------------------------------------------------------------- */

body.sc-tpl-product .sc-pdp,
body.sc-tpl-shop .sc-hero,
body.sc-tpl-products .sc-catalog,
body.sc-tpl-shop .sc-catalog {
  animation: scFadeUp 0.7s var(--sc-ease) both;
}

@keyframes scFadeUp {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

/* -------------------------------------------------------------------------- */
/* Product page */
/* -------------------------------------------------------------------------- */

.sc-pdp__gallery .carousel-inner {
  border-radius: var(--sc-radius-lg) !important;
  transition: transform 0.45s var(--sc-ease), box-shadow 0.45s var(--sc-ease) !important;
}

.sc-pdp__gallery:hover .carousel-inner {
  transform: translateY(-2px);
  box-shadow:
    0 22px 50px rgba(0, 0, 0, 0.48),
    0 0 28px rgba(77, 163, 255, 0.28) !important;
}

.sc-pdp__gallery .carousel-inner img {
  transition: transform 0.7s var(--sc-ease);
}

.sc-pdp__gallery:hover .carousel-inner img {
  transform: scale(1.035);
}

.sc-pdp__thumbs button {
  border-radius: var(--sc-radius-sm) !important;
  overflow: hidden;
  transition: transform 0.28s var(--sc-ease), box-shadow 0.28s ease, border-color 0.28s ease !important;
}

.sc-pdp__thumbs button:hover {
  transform: translateY(-3px) scale(1.03);
}

.sc-pdp__thumbs button img {
  transition: transform 0.45s var(--sc-ease);
}

.sc-pdp__thumbs button:hover img {
  transform: scale(1.08);
}

.sc-pdp__buy {
  position: relative;
  border-radius: var(--sc-radius-xl) !important;
  overflow: hidden;
  transition: transform 0.35s var(--sc-ease), box-shadow 0.35s ease, border-color 0.35s ease;
}

.sc-pdp__buy::after {
  content: "";
  position: absolute;
  inset: -40% auto auto -30%;
  width: 70%;
  height: 70%;
  pointer-events: none;
  background: radial-gradient(circle, rgba(77, 163, 255, 0.18), transparent 68%);
  animation: scGlowDrift 8s ease-in-out infinite;
}

.sc-pdp__buy:hover {
  transform: translateY(-3px);
  border-color: rgba(77, 163, 255, 0.34);
  box-shadow:
    0 28px 70px rgba(0, 0, 0, 0.48),
    0 0 32px rgba(77, 163, 255, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

@keyframes scGlowDrift {
  0%, 100% { transform: translate(0, 0); opacity: 0.85; }
  50% { transform: translate(18%, 12%); opacity: 1; }
}

.sc-pdp .variants .variant.sc-pdp__plan {
  border-radius: 14px !important;
  transition:
    transform 0.28s var(--sc-ease),
    background 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease !important;
}

.sc-pdp .variants .variant.sc-pdp__plan:hover {
  transform: translateX(4px);
}

.sc-pdp .variants .variant.sc-pdp__plan.active {
  box-shadow: 0 0 0 1px rgba(77, 163, 255, 0.35), 0 10px 24px rgba(37, 99, 235, 0.18) !important;
}

@keyframes scDotIn {
  0% { transform: scale(0.45); }
  58% { transform: scale(1.16); }
  100% { transform: scale(1); }
}

@keyframes scDotPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(77, 163, 255, 0.55); }
  70% { box-shadow: 0 0 0 7px rgba(77, 163, 255, 0); }
}

@keyframes scCheckDraw {
  0% { transform: scale(0.2); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}

.sc-pdp__plan-mark {
  border-radius: 50% !important;
  transform: none !important;
  color: transparent;
  transition: background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s var(--sc-ease), color 0.2s ease !important;
}

.sc-pdp .variants .variant.sc-pdp__plan:hover:not(.active) .sc-pdp__plan-mark {
  border-color: #4da3ff;
  transform: scale(1.12) !important;
}

.sc-pdp .variants .variant.sc-pdp__plan.active .sc-pdp__plan-mark {
  transform: none !important;
  color: #fff !important;
  animation: scDotIn 0.38s var(--sc-ease) both, scDotPulse 1.65s ease-out infinite 0.38s;
}

.sc-pdp .variants .variant.sc-pdp__plan.active .sc-pdp__plan-mark svg {
  animation: scCheckDraw 0.28s var(--sc-ease) 0.12s both;
}

.sc-pdp__cta .sc-pdp__buy-btn {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: transform 0.28s var(--sc-ease), box-shadow 0.28s ease, filter 0.28s ease !important;
}

.sc-pdp__cta .sc-pdp__buy-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, 0.28) 48%, transparent 66%);
  transform: translateX(-130%);
  transition: transform 0.7s var(--sc-ease);
  pointer-events: none;
}

.sc-pdp__cta .sc-pdp__buy-btn:hover {
  transform: translateY(-2px) scale(1.015);
  box-shadow: 0 14px 30px rgba(59, 130, 246, 0.38);
  filter: brightness(1.06);
}

.sc-pdp__cta .sc-pdp__buy-btn:hover::before {
  transform: translateX(130%);
}

.sc-pdp__cta .sc-pdp__buy-btn:active {
  transform: translateY(1px) scale(0.99);
}

.sc-pdp__shot-badge,
.sc-pdp__detect {
  animation: scPulseSoft 2.8s ease-in-out infinite;
}

@keyframes scPulseSoft {
  0%, 100% { box-shadow: 0 0 0 0 rgba(52, 211, 153, 0.18); }
  50% { box-shadow: 0 0 0 6px rgba(52, 211, 153, 0); }
}

.sc-pdp__ops,
.sc-pdp__access {
  border-radius: var(--sc-radius-md) !important;
  transition: transform 0.3s var(--sc-ease), border-color 0.3s ease;
}

.sc-pdp__ops:hover,
.sc-pdp__access:hover {
  transform: translateY(-2px);
  border-color: rgba(77, 163, 255, 0.32);
}

/* -------------------------------------------------------------------------- */
/* Catalog / shop cards */
/* -------------------------------------------------------------------------- */

a.card.sc-shop-card,
.component[data-component-id="products"] .card,
.products .card {
  border-radius: var(--sc-radius-lg) !important;
  overflow: hidden;
  transition: transform 0.4s var(--sc-ease), box-shadow 0.4s ease, border-color 0.4s ease !important;
}

a.card.sc-shop-card:hover,
.component[data-component-id="products"] .card:hover,
.products .card:hover {
  transform: translateY(-8px) scale(1.015);
  box-shadow:
    0 24px 48px rgba(0, 0, 0, 0.42),
    0 0 24px rgba(77, 163, 255, 0.16) !important;
}

.products .card .card-img-top img,
.sc-shop-card img,
.component[data-component-id="products"] .aspect-product-card-image img {
  transition: transform 0.7s var(--sc-ease) !important;
}

.products .card:hover .card-img-top img,
.sc-shop-card:hover img,
.component[data-component-id="products"] .card:hover img {
  transform: scale(1.06);
}

/* -------------------------------------------------------------------------- */
/* Buttons, nav, inputs */
/* -------------------------------------------------------------------------- */

.sc-btn,
.sc-nav .btn,
header.sc-header .btn,
.btn-primary,
.sc-hero__actions .sc-btn {
  transition: transform 0.28s var(--sc-ease), box-shadow 0.28s ease, filter 0.28s ease, background 0.28s ease !important;
}

.sc-btn:hover,
header.sc-header .btn:hover,
.btn-primary:hover {
  transform: translateY(-2px);
}

.sc-btn:active,
.btn-primary:active {
  transform: translateY(0) scale(0.98);
}

header.sc-header nav.sc-nav {
  transition: background 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease, backdrop-filter 0.35s ease;
}

/* -------------------------------------------------------------------------- */
/* Checkout modal */
/* -------------------------------------------------------------------------- */

.sc-pay-modal__dialog {
  border-radius: 20px !important;
}

.sc-pay-modal__method {
  border-radius: 16px !important;
  transition: transform 0.28s var(--sc-ease), border-color 0.28s ease, background 0.28s ease, box-shadow 0.28s ease !important;
}

.sc-pay-modal__method:hover:not(:disabled) {
  transform: translateY(-2px);
}

.sc-pay-modal__close {
  border-radius: 12px !important;
  transition: transform 0.22s var(--sc-ease), background 0.22s ease, color 0.22s ease !important;
}

.sc-pay-modal__close:hover {
  transform: rotate(90deg);
}

.sc-pay-modal__method-check {
  border-radius: 50% !important;
  color: transparent !important;
  transition: background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, transform 0.25s var(--sc-ease) !important;
}

.sc-pay-modal__method-check svg {
  display: block;
  width: 11px;
  height: 11px;
}

.sc-pay-modal__method.is-active .sc-pay-modal__method-check {
  color: #fff !important;
  animation: scDotIn 0.38s var(--sc-ease) both, scDotPulse 1.65s ease-out infinite 0.38s;
}

.sc-pay-modal__method.is-active .sc-pay-modal__method-check svg {
  animation: scCheckDraw 0.28s var(--sc-ease) 0.12s both;
}

.sc-pay-modal__ltc.is-active .sc-pay-modal__method-check {
  animation: scDotIn 0.38s var(--sc-ease) both, scDotPulseGold 1.65s ease-out infinite 0.38s;
}

@keyframes scDotPulseGold {
  0%, 100% { box-shadow: 0 0 0 0 rgba(191, 187, 79, 0.5); }
  70% { box-shadow: 0 0 0 7px rgba(191, 187, 79, 0); }
}

/* -------------------------------------------------------------------------- */
/* Global selection + ambient canvas */
/* -------------------------------------------------------------------------- */

::selection {
  background: rgba(77, 163, 255, 0.35);
  color: #fff;
}

.sc-site-bg::after {
  content: "" !important;
  position: absolute;
  inset: -20%;
  pointer-events: none;
  background:
    radial-gradient(ellipse 42rem 32rem at 22% 18%, rgba(77, 163, 255, 0.14), transparent 70%),
    radial-gradient(ellipse 36rem 28rem at 82% 72%, rgba(99, 102, 241, 0.1), transparent 72%);
  animation: scAmbient 16s ease-in-out infinite alternate;
}

@keyframes scAmbient {
  from { transform: translate3d(0, 0, 0) scale(1); opacity: 0.7; }
  to { transform: translate3d(-3%, 2%, 0) scale(1.06); opacity: 1; }
}

/* -------------------------------------------------------------------------- */
/* Hero */
/* -------------------------------------------------------------------------- */

.sc-hero__beam {
  animation: scBeamSweep 9s ease-in-out infinite;
}

@keyframes scBeamSweep {
  0%, 100% { opacity: 0.55; transform: rotate(24deg) translateX(0); }
  50% { opacity: 1; transform: rotate(24deg) translateX(-8%); }
}

.sc-eyebrow {
  backdrop-filter: blur(10px);
  transition: transform 0.3s var(--sc-ease), border-color 0.3s ease, box-shadow 0.3s ease;
}

.sc-eyebrow:hover {
  transform: translateY(-1px);
  box-shadow: 0 0 18px rgba(77, 163, 255, 0.18);
}

.sc-hero__title {
  margin-bottom: 0.75rem !important;
}

.sc-hero__accent {
  display: block;
  background-image: linear-gradient(135deg, #8ec8ff 0%, #4da3ff 45%, #67e8f9 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: #4da3ff;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
  filter: drop-shadow(0 0 18px rgba(77, 163, 255, 0.35));
}

.sc-hero__accent .sc-letter {
  background-image: linear-gradient(135deg, #8ec8ff 0%, #4da3ff 45%, #67e8f9 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.sc-hero__actions .sc-btn {
  border-radius: 999px !important;
  position: relative;
  overflow: hidden;
}

.sc-hero__actions .sc-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 25%, rgba(255, 255, 255, 0.22) 48%, transparent 70%);
  transform: translateX(-120%);
  pointer-events: none;
}

.sc-hero__actions .sc-btn:hover::after {
  transform: translateX(120%);
  transition: transform 0.7s var(--sc-ease);
}

/* -------------------------------------------------------------------------- */
/* Catalog: search, game tiles, filters */
/* -------------------------------------------------------------------------- */

.sc-catalog__search input {
  border-radius: 999px !important;
  height: 52px;
  transition: border-color 0.28s ease, box-shadow 0.28s ease, background 0.28s ease, transform 0.28s var(--sc-ease);
}

.sc-catalog__search input:focus {
  background: rgba(8, 16, 34, 0.92);
  box-shadow:
    0 0 0 4px rgba(77, 163, 255, 0.16),
    0 12px 32px rgba(0, 0, 0, 0.28) !important;
}

.sc-catalog__search button {
  border-radius: 999px !important;
  transition: transform 0.25s var(--sc-ease), background-color 0.25s ease !important;
}

.sc-catalog__search button:hover {
  transform: scale(1.06);
}

.sc-gcard {
  border-radius: 26px !important;
  transition: transform 0.4s var(--sc-ease), border-color 0.4s ease, box-shadow 0.4s ease !important;
}

.sc-gcard:hover {
  transform: translateY(-10px) scale(1.015) !important;
}

.sc-gcard__art img {
  border-radius: 28% !important;
  transition: transform 0.5s var(--sc-ease), filter 0.5s ease !important;
}

.sc-gcard:hover .sc-gcard__art img {
  filter: brightness(1.08) saturate(1.08);
}

.sc-gcard__price .sc-gcard__soon {
  animation: scSoonPulse 2.4s ease-in-out infinite;
}

@keyframes scSoonPulse {
  0%, 100% { opacity: 0.72; }
  50% { opacity: 1; }
}

.sc-filters {
  border-radius: 24px !important;
}

.sc-filters__item {
  border-radius: 14px !important;
  transition: transform 0.25s var(--sc-ease), border-color 0.25s ease, background 0.25s ease !important;
}

.sc-filters__item:hover {
  transform: translateX(4px);
}

/* -------------------------------------------------------------------------- */
/* Why choose / support / footer */
/* -------------------------------------------------------------------------- */

.sc-why-choose__item {
  border-radius: 22px !important;
  transition: transform 0.35s var(--sc-ease), border-color 0.35s ease, box-shadow 0.35s ease, background 0.35s ease !important;
}

.sc-why-choose__item:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(77, 163, 255, 0.4) !important;
  box-shadow:
    0 0 28px rgba(77, 163, 255, 0.14),
    0 20px 40px rgba(0, 0, 0, 0.28) !important;
}

.sc-why-choose__num {
  transition: transform 0.3s var(--sc-ease), box-shadow 0.3s ease;
}

.sc-why-choose__item:hover .sc-why-choose__num {
  transform: scale(1.08);
  box-shadow: 0 0 16px rgba(77, 163, 255, 0.35);
}

.sc-support-banner__inner {
  border-radius: 24px !important;
  border-style: solid !important;
  transition: transform 0.35s var(--sc-ease), border-color 0.35s ease, box-shadow 0.35s ease;
}

.sc-support-banner__inner:hover {
  transform: translateY(-3px);
  border-color: rgba(77, 163, 255, 0.45) !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
}

.sc-support-banner__btn,
.sc-pdp__ops a,
.sc-pdp__side a.btn {
  border-radius: 999px !important;
  transition: transform 0.25s var(--sc-ease), box-shadow 0.25s ease, background 0.25s ease !important;
}

.sc-support-banner__btn:hover,
.sc-pdp__ops a:hover {
  transform: translateY(-2px);
}

footer.footer {
  border-top-color: rgba(77, 163, 255, 0.12) !important;
}

footer.footer a,
.sc-pdp__crumb a,
.sc-pdp__access-bar a {
  position: relative;
  transition: color 0.22s ease, opacity 0.22s ease;
}

footer.footer .nav li a:hover {
  color: #8ec8ff !important;
}

.sc-legal {
  animation: scFadeUp 0.65s var(--sc-ease) both;
}

.sc-legal h2,
.sc-canvas--page .card,
.sc-canvas--page .container > .card {
  border-radius: 20px;
}

/* -------------------------------------------------------------------------- */
/* Nav chips */
/* -------------------------------------------------------------------------- */

header.sc-header .sc-nav a,
header.sc-header .sc-nav button {
  transition: transform 0.25s var(--sc-ease), background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease !important;
}

header.sc-header .sc-nav a:hover,
header.sc-header .sc-nav button:hover {
  transform: translateY(-1px);
}

/* -------------------------------------------------------------------------- */
/* Pay CTA inside modal */
/* -------------------------------------------------------------------------- */

.sc-pay-modal .sc-pay-modal__submit {
  border-radius: 999px !important;
}

.sc-pay-modal input[type="email"],
.sc-pay-modal input[type="text"] {
  border-radius: 14px !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.sc-pay-modal input:focus {
  box-shadow: 0 0 0 3px rgba(77, 163, 255, 0.18);
}

/* -------------------------------------------------------------------------- */
/* Hide leftover ALTCHA chrome */
/* -------------------------------------------------------------------------- */

.sc-altcha-hidden,
.sc-altcha-hidden *,
body > #app > .sc-altcha-hidden {
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  overflow: hidden !important;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }

  .sc-pdp__gallery:hover .carousel-inner,
  .sc-pdp__buy:hover,
  a.card.sc-shop-card:hover,
  .products .card:hover,
  .sc-gcard:hover,
  .sc-why-choose__item:hover {
    transform: none !important;
  }
}