/* Atrozix Galaxy: progressive enhancement, no layout or content replacement. */
body.axp-polish {
  --axp-glow: #ab7dff;
  position: relative;
  isolation: isolate;
  background-color: #100b20;
  background-image: radial-gradient(ellipse at 7% 32%, #6432a519 0, transparent 48%), radial-gradient(ellipse at 98% 76%, #6b2f9614 0, transparent 42%);
}
.axp-polish .axp-sky {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
  contain: strict;
}
.axp-polish .axp-aurora {
  position: absolute;
  top: 4%;
  right: -18%;
  width: min(94vw, 1000px);
  height: min(90vh, 800px);
  background: radial-gradient(ellipse at 52% 38%, #a75aff20 0, #6f37ba0c 36%, transparent 66%);
  transform: rotate(-12deg);
}
.axp-polish .axp-constellation {
  display: block;
  width: 100%;
  height: 100%;
  opacity: .52;
}
.axp-polish.axp-motion-on .axp-aurora { animation: axp-drift 24s ease-in-out infinite alternate; }
.axp-polish.axp-motion-paused .axp-aurora { animation-play-state: paused; }
@keyframes axp-drift {
  from { transform: translate3d(0, 0, 0) rotate(-12deg); opacity: .65; }
  to { transform: translate3d(-3%, 2%, 0) rotate(-7deg); opacity: 1; }
}

.axp-polish .ax-header {
  background: linear-gradient(110deg, #100b20f5, #1e1236cc 68%, #100b20f5);
  border-bottom-color: #c7a5ff23;
  box-shadow: 0 12px 32px #08040f20;
}
.axp-polish .ax-topbar { border-bottom-color: #b58bff20; }
.axp-polish .ax-categories a,
.axp-polish .ax-navigation a,
.axp-polish .ax-footer nav a { transition: color .2s ease, text-shadow .2s ease; }
.axp-polish .ax-eyebrow { color: #c7b5e0; }
.axp-polish .ax-hero h1 em {
  background: linear-gradient(100deg, #d0b2ff 0, #b286ff 62%, #dfcaff 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
.axp-polish .ax-product,
.axp-polish ul.products li.product {
  border-color: #c1a0ff26;
  background: linear-gradient(145deg, #251a36, #191126 68%);
  box-shadow: 0 8px 24px #08040e26, inset 0 1px 0 #ddc7ff06;
  transition: box-shadow .28s ease, border-color .28s ease, transform .28s ease;
}
.axp-polish .ax-product-image { background: #21122f; }
.axp-polish .ax-product-bottom { border-color: #c1a0ff22; }
.axp-polish .ax-steps article { border-top-color: #b58bff4d; }
.axp-polish .ax-steps article > span { color: #c2a0ff; }
.axp-polish .ax-launch-card,
.axp-polish .ax-about-banner {
  border-color: #b88aff38;
  box-shadow: inset 0 1px 0 #e4c9ff08, 0 16px 44px #08040f24;
}
.axp-polish .ax-footer {
  background: radial-gradient(ellipse at 15% 0, #37204740, transparent 48%), #0b0815;
  border-top-color: #b58bff30;
}
.axp-polish .ax-footer-bottom { border-top-color: #b58bff22; }
.axp-polish .woocommerce-product-gallery img { border: 1px solid #c1a0ff26; }
.axp-polish .woocommerce-tabs ul.tabs li.active { box-shadow: inset 2px 0 #b58bff; }
.axp-polish .ax-button,
.axp-polish .single_add_to_cart_button,
.axp-polish ul.products .button { transition: box-shadow .2s ease, background-color .2s ease; }
.axp-polish a:focus-visible,
.axp-polish button:focus-visible { outline-color: #d0ff8b; outline-offset: 5px; }

/* A failed/disabled script never hides a product or a text block. The original
   theme's reveal can still observe these nodes but cannot make them invisible. */
.axp-polish .ax-waiting,
.axp-polish .ax-revealed { opacity: 1; transform: none; }
.axp-polish [data-reveal] { transition-property: border-color, box-shadow, background-color; }

@media (hover: hover) and (pointer: fine) {
  .axp-polish .ax-product:hover,
  .axp-polish ul.products li.product:hover {
    transform: translateY(-4px);
    border-color: #bb92ff7a;
    box-shadow: 0 18px 40px #05020b4a, 0 0 26px #9355ff13;
  }
  .axp-polish .ax-button:hover,
  .axp-polish .single_add_to_cart_button:hover,
  .axp-polish ul.products .button:hover { box-shadow: 0 0 0 4px #b58bff16, 0 7px 24px #ae7bff20; }
  .axp-polish .ax-categories a:hover,
  .axp-polish .ax-navigation a:hover,
  .axp-polish .ax-footer nav a:hover { text-shadow: 0 0 16px #b58bff55; }
}
@media (max-width: 600px) {
  .axp-polish .axp-constellation { opacity: .3; }
  .axp-polish .axp-aurora { width: 100vw; height: 70vh; right: -25%; }
  .axp-polish .ax-product,
  .axp-polish ul.products li.product { box-shadow: 0 6px 18px #08040e26; }
}
@media (max-width: 800px) {
  .axp-polish .ax-topbar > .ax-wrap { justify-content: flex-start; }
  .axp-polish .ax-categories {
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    scrollbar-color: #78539d transparent;
  }
}
@media (prefers-reduced-motion: reduce) {
  .axp-polish .axp-aurora { animation: none !important; }
  .axp-polish .ax-product,
  .axp-polish ul.products li.product,
  .axp-polish .ax-button,
  .axp-polish .ax-product-image img { transform: none !important; transition: none !important; }
}
.axp-polish.axp-motion-off .axp-aurora { animation: none !important; }
.axp-polish.axp-motion-off .ax-product,
.axp-polish.axp-motion-off ul.products li.product,
.axp-polish.axp-motion-off .ax-button,
.axp-polish.axp-motion-off .ax-product-image img { transform: none !important; transition: none !important; }
@media print {
  .axp-polish .axp-sky { display: none; }
  body.axp-polish { background: white; }
  .axp-polish .ax-hero h1 em { color: black; background: none; }
}
