/*
 * CheatWave Vortex Visual — ported from cheatwave визуал
 * SellAuth theme overrides. Logic untouched.
 */

:root {
  --cw-primary: 195 85% 60%;
  --cw-primary-dark: 195 75% 50%;
  --cw-primary-light: 195 90% 70%;
  --cw-bg: 0 0% 5%;
  --cw-bg-base: #0d0d0d;
  --cw-card: 0 0% 6%;
  --cw-muted-fg: 0 0% 65%;
  --cw-border: 195 15% 20%;
  --cw-fg: 0 0% 95%;
  --cw-fg-strong: 0 0% 98%;
  --cw-fg-soft: 0 0% 75%;
  --cw-surface-glass: 0 0% 4% / 0.82;
  --cw-surface-dock: 0 0% 4% / 0.82;
  --cw-radius: 0.75rem;
  --gradient-primary: linear-gradient(135deg, hsl(195 85% 60%) 0%, hsl(195 75% 50%) 100%);
  --gradient-bg: linear-gradient(180deg, hsl(0 0% 5%) 0%, hsl(195 5% 8%) 100%);
  --shadow-glow: 0 0 20px hsl(195 85% 60% / 0.2);
  --shadow-card: 0 10px 30px -5px hsl(0 0% 0% / 0.5);
  --shadow-button: 0 4px 15px hsl(195 85% 60% / 0.3);
  --transition-smooth: all 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  --transition-fast: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  --transition-slow: all 0.75s cubic-bezier(0.22, 1, 0.36, 1);
  --transition-transform: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  --transition-colors: color 0.45s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.45s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  --cw-dock-offset: 0.75rem;
  --cw-dock-height: 3.5rem;
  --cw-dock-space: calc(var(--cw-dock-offset) + var(--cw-dock-height) + 0.5rem);
  --cw-support-bottom: calc(var(--cw-dock-offset) + var(--cw-dock-height) - 1.875rem);
  --cw-support-right: 1.125rem;
}

html {
  scroll-behavior: auto;
  scroll-padding-bottom: var(--cw-dock-space);
  background: var(--cw-bg-base);
  font-size: 15px;
  overflow-x: hidden;
}

html.lenis,
html.lenis body {
  height: auto;
}

html.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

#products,
[id] {
  scroll-margin-bottom: var(--cw-dock-space);
}

body, .cw-body {
  background: linear-gradient(180deg, hsl(0 0% 5%) 0%, hsl(195 8% 10%) 100%) !important;
  background-attachment: fixed !important;
  font-size: 0.9375rem;
  line-height: 1.55;
  transition: background 0.35s ease, color 0.35s ease;
  overflow-x: hidden;
  max-width: 100%;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }

  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

.cw-grid-pattern {
  opacity: 0.04;
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: hsl(var(--cw-bg));
}

::-webkit-scrollbar-thumb {
  background: hsl(var(--cw-primary));
  border-radius: 9999px;
}

::-webkit-scrollbar-thumb:hover {
  background: hsl(var(--cw-primary) / 0.8);
}

/* Background layers */
#vortex-bg-wrap {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
  background: transparent;
}

#vortex-bg-wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 50% at 50% -20%, hsl(195 85% 60% / 0.1), transparent);
}

#vortex-bg-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.cw-grid-pattern {
  background-image:
    linear-gradient(hsl(195 15% 25% / 0.1) 1px, transparent 1px),
    linear-gradient(90deg, hsl(195 15% 25% / 0.1) 1px, transparent 1px);
  background-size: 20px 20px;
}

/* Layout */
#app {
  position: relative;
  z-index: 1;
  overflow-x: hidden;
  max-width: 100%;
}

.cw-page-wrap {
  padding-bottom: 0 !important;
}

/* Vortex components */
.vortex-card {
  background: linear-gradient(145deg, hsl(195 10% 8% / 0.4) 0%, hsl(195 15% 12% / 0.35) 100%);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid hsl(195 30% 30% / 0.3);
  box-shadow: var(--shadow-card);
  transition: var(--transition-smooth);
  position: relative;
  border-radius: 1rem;
}

.vortex-card::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg,
    hsl(195 85% 70% / 0.3) 0%,
    transparent 15%,
    transparent 85%,
    hsl(195 85% 70% / 0.3) 100%
  );
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  opacity: 0.6;
}

.vortex-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -10px hsl(0 0% 0% / 0.6), 0 0 25px hsl(195 85% 60% / 0.2);
  border-color: hsl(195 85% 60% / 0.4);
}

.vortex-card:hover::before {
  opacity: 1;
}

.vortex-button {
  background: var(--gradient-primary) !important;
  box-shadow: var(--shadow-button) !important;
  border: none !important;
  border-radius: 1rem !important;
  transition: var(--transition-smooth) !important;
  color: #fff !important;
}

.vortex-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px hsl(195 85% 60% / 0.35) !important;
}

.vortex-button svg {
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.vortex-button:hover svg {
  transform: translateX(3px);
}

.vortex-button-outline {
  border: 1px solid hsl(195 85% 60% / 0.25) !important;
  background: hsl(var(--cw-card) / 0.4) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 1rem !important;
  color: hsl(var(--cw-primary)) !important;
  transition: var(--transition-smooth) !important;
}

.vortex-button-outline:hover {
  background: hsl(195 85% 60% / 0.1) !important;
  border-color: hsl(195 85% 60% / 0.5) !important;
  box-shadow: 0 0 30px hsl(195 85% 60% / 0.15) !important;
}

.text-glow {
  text-shadow: 0 0 20px hsl(195 85% 60% / 0.5);
}

.cw-section-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  background: hsl(195 85% 60% / 0.1);
  border: 1px solid hsl(195 85% 60% / 0.2);
  color: hsl(var(--cw-primary));
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  backdrop-filter: blur(12px);
  box-shadow: 0 0 20px hsl(195 85% 60% / 0.1);
}

.cw-section-title {
  font-weight: 800;
  letter-spacing: -0.03em;
}

.cw-section-title-accent {
  color: hsl(var(--cw-primary));
}

.cw-stat-card {
  position: relative;
  padding: 1.25rem;
  border-radius: 1rem;
  background: linear-gradient(to bottom right, hsl(195 85% 60% / 0.2), hsl(195 75% 55% / 0.1));
  backdrop-filter: blur(4px);
  border: 1px solid hsl(var(--cw-border) / 0.3);
  transition: var(--transition-smooth);
}

.cw-stat-card:hover {
  transform: translateY(-4px) scale(1.01);
  border-color: hsl(195 85% 60% / 0.3);
}

.cw-stat-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, hsl(195 85% 60% / 0.4), transparent);
  opacity: 0;
  transition: opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-stat-card:hover::before {
  opacity: 1;
}

.cw-stat-card-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.cw-reviews-discord-card {
  border: 1px solid hsl(195 85% 60% / 0.12);
}

.cw-reviews-discord-icon {
  width: 4rem;
  height: 4rem;
  margin: 0 auto 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  background: hsl(235 86% 65% / 0.12);
  border: 1px solid hsl(235 86% 65% / 0.2);
  color: #5865f2;
  font-size: 1.75rem;
}

.cw-stat-value {
  font-size: 1.5rem;
  font-weight: 800;
  color: hsl(var(--cw-fg-strong));
  margin-bottom: 0.25rem;
}

.cw-stat-label {
  font-size: 0.75rem;
  color: hsl(var(--cw-muted-fg));
  font-weight: 500;
}

/* Navbar — floating bottom dock */
.cw-navbar {
  position: fixed !important;
  bottom: var(--cw-dock-offset) !important;
  left: 0 !important;
  right: 0 !important;
  top: auto !important;
  z-index: 10000 !important;
  display: flex !important;
  justify-content: center !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 env(safe-area-inset-right, 0) env(safe-area-inset-bottom, 0) env(safe-area-inset-left, 0) !important;
  background: transparent !important;
  border: none !important;
}

.cw-navbar-dock {
  position: relative;
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.6875rem 0.875rem;
  background: hsl(0 0% 4% / 0.82);
  backdrop-filter: blur(28px) saturate(160%);
  -webkit-backdrop-filter: blur(28px) saturate(160%);
  border: 1px solid hsl(195 85% 60% / 0.14);
  border-radius: 1.375rem;
  box-shadow:
    0 16px 48px hsl(0 0% 0% / 0.55),
    0 0 0 1px hsl(0 0% 100% / 0.05) inset,
    0 0 32px hsl(195 85% 60% / 0.07);
  max-width: calc(100vw - 1.5rem);
  flex-wrap: nowrap;
  justify-content: center;
}

.cw-navbar-dock::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, hsl(0 0% 100% / 0.04), transparent 45%);
  pointer-events: none;
}

.cw-navbar-dock .cw-nav-main,
.cw-navbar-dock .cw-nav-actions {
  display: flex;
  align-items: center;
  gap: 0.125rem;
}

.cw-navbar-dock.cw-nav-expanded {
  flex-wrap: wrap;
  justify-content: center;
  max-width: min(24rem, calc(100vw - 2rem));
}

.cw-navbar-dock .cw-nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.125rem;
  height: 3.125rem;
  padding: 0 0.8125rem;
  border-radius: 0.8125rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: hsl(var(--cw-muted-fg));
  transition: color 0.35s cubic-bezier(0.22, 1, 0.36, 1), background 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1), transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  white-space: nowrap;
}

.cw-navbar-dock .cw-nav-link:hover {
  color: hsl(var(--cw-primary));
  background: hsl(195 85% 60% / 0.1);
  transform: translateY(-1px);
}

.cw-navbar-dock .cw-nav-link.active {
  color: #fff;
  background: linear-gradient(135deg, hsl(195 85% 55%), hsl(200 90% 45%));
  box-shadow: 0 4px 16px hsl(195 85% 60% / 0.35);
}

.cw-navbar-dock .cw-nav-logo-link {
  width: auto !important;
  min-width: 3.375rem !important;
  padding: 0 0.5rem !important;
  margin-right: 0.125rem;
  position: relative;
  background: hsl(195 85% 60% / 0.06);
  border: 1px solid hsl(195 85% 60% / 0.12);
}

.cw-navbar-dock .cw-nav-logo-link.active {
  color: inherit;
  background: hsl(195 85% 60% / 0.06);
  box-shadow: none;
  transform: none;
}

.cw-navbar-dock .cw-nav-logo-link:hover {
  background: hsl(195 85% 60% / 0.12);
  border-color: hsl(195 85% 60% / 0.22);
  box-shadow: 0 0 20px hsl(195 85% 60% / 0.15);
  transform: translateY(-1px);
}

.cw-navbar-dock .cw-nav-currency {
  display: flex;
  align-items: center;
  height: 2.875rem;
}

.cw-navbar-dock .cw-nav-currency .choices {
  margin-bottom: 0;
  height: 2.875rem;
}

.cw-navbar-dock .cw-nav-currency .choices__inner {
  width: auto !important;
  min-width: 3rem !important;
  height: 2.875rem !important;
  min-height: 2.875rem !important;
  padding: 0 0.5rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 0.75rem !important;
  border: none !important;
  background: transparent !important;
  transition: var(--transition-smooth);
}

.cw-navbar-dock .cw-nav-currency .choices__inner:hover {
  background: hsl(195 85% 60% / 0.08) !important;
}

.cw-navbar-dock .cw-nav-currency .choices__inner .choices__item {
  max-width: none;
  padding: 0 !important;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: hsl(0 0% 88%) !important;
}

.cw-navbar-dock .cw-nav-currency .choices__inner .symbol {
  color: hsl(var(--cw-muted-fg)) !important;
}

.cw-navbar-dock .cw-nav-currency .choices__list.choices__list--dropdown {
  margin-left: -4.5rem;
  margin-top: 0.5rem;
}

.cw-nav-lang {
  gap: 0.125rem;
  height: 2.875rem;
  padding: 0 0.125rem;
}

.cw-lang-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.4375rem;
  border: 1px solid transparent;
  border-radius: 0.5rem;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: hsl(var(--cw-muted-fg));
  background: transparent;
  cursor: pointer;
  transition: color 0.2s, background 0.2s, border-color 0.2s;
}

.cw-lang-btn:hover {
  color: hsl(var(--cw-primary));
  background: hsl(195 85% 60% / 0.08);
}

.cw-lang-btn.is-active {
  color: hsl(var(--cw-primary));
  border-color: hsl(var(--cw-primary) / 0.35);
  background: hsl(195 85% 60% / 0.12);
}

.cw-theme-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 0.5rem;
  color: hsl(var(--cw-muted-fg));
  background: transparent;
  cursor: pointer;
  transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.cw-theme-btn:hover {
  color: hsl(var(--cw-primary));
  background: hsl(195 85% 60% / 0.08);
  border-color: hsl(var(--cw-primary) / 0.2);
}

.cw-theme-btn i {
  font-size: 0.8125rem;
  line-height: 1;
  pointer-events: none;
}

.cw-navbar-dock .cw-nav-icon-link i {
  font-size: 1.125rem;
  line-height: 1;
}

.cw-navbar-dock .cw-nav-divider {
  width: 1px;
  height: 1.5rem;
  background: linear-gradient(180deg, transparent, hsl(195 85% 60% / 0.2), transparent);
  margin: 0 0.1875rem;
  border-radius: 9999px;
  flex-shrink: 0;
}

.cw-brand-logo {
  display: block;
  object-fit: contain;
}

.cw-nav-logo-img {
  width: 2rem;
  height: 2rem;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 0 10px hsl(195 85% 60% / 0.35));
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), filter 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-nav-logo-link:hover .cw-nav-logo-img {
  transform: scale(1.06);
  filter: drop-shadow(0 0 14px hsl(195 85% 60% / 0.55));
}

.cw-nav-logo-mark {
  font-size: 0.875rem;
  font-weight: 800;
  color: hsl(var(--cw-primary));
}

@media (max-width: 1023px) {
  .cw-navbar-dock .cw-nav-lang,
  .cw-navbar-dock .cw-nav-currency {
    display: none !important;
  }

  .cw-navbar-mobile-toggle {
    display: none;
  }

  .cw-navbar-dock.cw-nav-expanded .cw-navbar-mobile-toggle {
    display: inline-flex;
  }
}

/* Hero */
.cw-hero {
  min-height: 85vh;
  position: relative;
  overflow: hidden;
}

.cw-hero-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 800px;
  height: 800px;
  background: radial-gradient(circle, hsl(195 85% 60% / 0.08) 0%, transparent 70%);
  pointer-events: none;
}

.cw-hero h1 {
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1.05;
}

.cw-hero-subtitle {
  color: hsl(var(--cw-muted-fg));
  line-height: 1.6;
  font-size: clamp(1.0625rem, 1.8vw, 1.375rem);
}

.cw-hero-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.75rem;
  margin-bottom: 2.5rem;
}

@media (min-width: 640px) {
  .cw-hero-actions {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
  }
}

.cw-hero-actions-social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}

.cw-hero-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6875rem;
  min-height: 3.25rem;
  padding: 0.8125rem 1.5rem;
  border-radius: 0.875rem;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.01em;
  white-space: nowrap;
  flex-shrink: 0;
  text-decoration: none;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1), background 0.35s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-hero-btn i {
  font-size: 0.9375rem;
  line-height: 1;
  flex-shrink: 0;
}

.cw-hero-btn-primary {
  background: var(--gradient-primary);
  color: #fff;
  box-shadow: var(--shadow-button);
  border: none;
}

.cw-hero-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px hsl(195 85% 60% / 0.35);
}

.cw-hero-btn-arrow {
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-hero-btn-primary:hover .cw-hero-btn-arrow {
  transform: translateX(3px);
}

.cw-hero-btn-social {
  min-width: 8.75rem;
  border: 1px solid hsl(195 85% 60% / 0.22);
  background: hsl(var(--cw-card) / 0.45);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: hsl(0 0% 92%);
}

.cw-hero-btn-social:hover {
  transform: translateY(-2px);
  background: hsl(195 85% 60% / 0.1);
  border-color: hsl(195 85% 60% / 0.45);
  box-shadow: 0 8px 24px hsl(195 85% 60% / 0.12);
}

.cw-hero-btn-discord i {
  color: #5865f2;
}

.cw-hero-btn-telegram i {
  color: #29a9eb;
}

/* Product card — 1:1 with cheatwave визуал ProductCard */
.cw-product-card {
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
  background: hsl(var(--cw-card) / 0.6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid hsl(var(--cw-border) / 0.5);
  transition: all 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  height: 100%;
  display: flex;
  flex-direction: column;
  cursor: pointer;
}

.cw-product-card:hover {
  transform: translateY(-8px);
  border-color: hsl(195 85% 60% / 0.4);
  box-shadow: 0 0 40px hsl(195 85% 60% / 0.15);
}

.cw-product-card .cw-product-image-wrap {
  position: relative;
  aspect-ratio: 16 / 9;
  width: 100%;
  overflow: hidden;
  flex-shrink: 0;
}

.cw-product-card .cw-product-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  image-rendering: auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-product-main-img,
.cw-product-media img,
.cw-product-thumb img {
  image-rendering: auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.cw-product-card:hover .cw-product-image {
  transform: scale(1.1);
}

.cw-product-image-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(
    180deg,
    #ffffff 0%,
    #f0f0f0 6%,
    #d4d4d4 14%,
    #737373 38%,
    #262626 62%,
    #0a0a0a 100%
  );
}

.cw-product-image-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, hsl(var(--cw-card)), transparent 55%);
  pointer-events: none;
  z-index: 1;
}

.cw-product-badges-stack {
  position: absolute;
  top: 0.625rem;
  left: 0.625rem;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
}

.cw-product-badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.1875rem 0.4375rem;
  border-radius: 9999px;
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  line-height: 1.2;
  text-transform: uppercase;
  color: hsl(0 0% 100% / 0.95);
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--badge-color, hsl(var(--cw-primary))) 88%, hsl(0 0% 100% / 0.08)),
    color-mix(in srgb, var(--badge-color, hsl(var(--cw-primary))) 72%, hsl(0 0% 0% / 0.35))
  );
  border: 1px solid color-mix(in srgb, var(--badge-color, hsl(var(--cw-primary))) 45%, hsl(0 0% 100% / 0.14));
  box-shadow:
    0 1px 3px hsl(0 0% 0% / 0.28),
    inset 0 1px 0 hsl(0 0% 100% / 0.12);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.cw-product-badge-pill i {
  font-size: 0.5rem;
  line-height: 1;
  opacity: 0.92;
}

.cw-product-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1.5rem;
  background: transparent;
}

.cw-product-card-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: hsl(var(--cw-fg-strong));
  margin-bottom: 1rem;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-product-card:hover .cw-product-card-title {
  color: hsl(var(--cw-primary));
}

.cw-product-price-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.375rem 0.5rem;
  margin-bottom: 1.25rem;
}

.cw-product-price-from {
  font-size: 0.8125rem;
  font-weight: 500;
  color: hsl(var(--cw-muted-fg));
  text-transform: lowercase;
}

.cw-product-price {
  display: inline-flex;
  align-items: baseline;
  gap: 0.2em;
  font-size: 1.5rem;
  font-weight: 900;
  color: hsl(var(--cw-primary));
  line-height: 1;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}

.cw-product-card .cw-product-price {
  gap: 0;
  background: linear-gradient(
    120deg,
    hsl(var(--cw-primary)) 0%,
    hsl(187 92% 58%) 55%,
    hsl(var(--cw-primary)) 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.cw-product-card .cw-product-price .cw-price-amount {
  font-size: 1.08em;
  font-weight: 900;
  -webkit-text-fill-color: transparent;
}

.cw-product-card .cw-product-price .cw-price-symbol,
.cw-product-card .cw-product-price .cw-price-symbol--suffix {
  margin: 0;
  font-size: 1em;
  font-weight: 900;
  -webkit-text-fill-color: transparent;
  opacity: 1;
}

.cw-product-price .cw-price-symbol {
  font-size: 0.78em;
  font-weight: 700;
  margin-right: 0.04em;
  vertical-align: 0.08em;
  color: inherit;
  -webkit-text-fill-color: currentColor;
  opacity: 0.88;
}

.cw-product-price .cw-price-symbol--suffix {
  margin-right: 0;
  margin-left: 0.12em;
  font-size: 0.72em;
  font-weight: 700;
  opacity: 0.82;
}

.cw-product-price .cw-price-amount {
  letter-spacing: -0.04em;
  color: inherit;
  -webkit-text-fill-color: currentColor;
}

.cw-product-price-old {
  font-size: 1rem;
  color: hsl(var(--cw-muted-fg));
  text-decoration: line-through;
  font-weight: 500;
}

.cw-product-price-old .cw-price-symbol {
  font-size: 0.82em;
  font-weight: 600;
  vertical-align: 0.06em;
  margin-right: 0.06em;
  -webkit-text-fill-color: currentColor;
}

.cw-product-card .cw-buy-btn {
  width: 100%;
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 2.75rem;
  padding: 0.625rem 1rem;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: 0.75rem !important;
}

.cw-product-card .cw-buy-btn-icon {
  width: 1rem;
  height: 1rem;
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-product-card:hover .cw-buy-btn-icon {
  transform: translateX(4px);
}

/* Category card — cyan banner style */
.cw-category-card {
  border-radius: 0.875rem;
  overflow: hidden;
  background: hsl(0 0% 4%);
  border: 1px solid hsl(var(--cw-primary) / 0.22);
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.4s ease, box-shadow 0.4s ease;
  display: block;
  height: 100%;
}

.cw-category-card:hover {
  transform: translateY(-6px);
  border-color: hsl(var(--cw-primary) / 0.45);
  box-shadow:
    0 16px 48px hsl(0 0% 0% / 0.35),
    0 0 32px hsl(var(--cw-primary) / 0.12);
}

.cw-category-card .cw-cat-image {
  position: relative;
  height: 11.5rem;
  overflow: hidden;
  background: hsl(195 45% 18%);
}

.cw-category-card .cw-cat-image picture {
  display: block;
  width: 100%;
  height: 100%;
}

.cw-category-card .cw-cat-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  image-rendering: auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-category-card:hover .cw-cat-image img {
  transform: scale(1.06);
}

.cw-category-card--has-image .cw-cat-image::after {
  display: none;
}

.cw-category-card--has-image .cw-cat-image {
  height: 13.5rem;
}

.cw-cat-image-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background: linear-gradient(135deg, hsl(195 45% 28%), hsl(195 40% 18%));
  padding: 1rem;
}

.cw-cat-ph-title {
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: hsl(0 0% 98%);
  text-transform: uppercase;
}

.cw-cat-ph-count {
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: hsl(var(--cw-primary-light));
  padding: 0.35rem 0.65rem;
  border-radius: 9999px;
  border: 1px solid hsl(var(--cw-primary) / 0.35);
  background: hsl(0 0% 0% / 0.35);
}

.cw-cat-footer {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.875rem 1rem;
  background: hsl(0 0% 3%);
  border-top: 1px solid hsl(var(--cw-primary) / 0.12);
}

.cw-cat-footer-name {
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: hsl(var(--cw-fg-strong));
  text-transform: uppercase;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cw-category-arrow {
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
  background: hsl(var(--cw-primary) / 0.12);
  border: 1px solid hsl(var(--cw-primary) / 0.28);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: hsl(var(--cw-primary));
  font-size: 0.75rem;
  transition: background 0.35s ease, color 0.35s ease, border-color 0.35s ease, transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-category-card:hover .cw-category-arrow {
  background: hsl(var(--cw-primary));
  border-color: hsl(var(--cw-primary));
  color: hsl(0 0% 100%);
  transform: translateX(4px);
}
.cw-footer {
  position: relative;
  width: 100%;
  border-top: 1px solid hsl(var(--cw-border) / 0.3);
  background: hsl(var(--cw-card) / 0.2);
  backdrop-filter: blur(4px);
  margin-top: 2rem;
  padding-bottom: var(--cw-dock-space);
}

.cw-footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 25%;
  right: 25%;
  height: 1px;
  background: linear-gradient(to right, transparent, hsl(195 85% 60% / 0.3), transparent);
}

.cw-footer-inner {
  max-width: 85rem;
  margin: 0 auto;
  padding: 3rem 1rem 1rem;
  color: hsl(var(--cl-t-primary));
}

@media (min-width: 768px) {
  .cw-footer-inner {
    padding: 4rem 1.5rem 1rem;
  }
}

.cw-footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  margin-bottom: 2.5rem;
  text-align: left;
}

@media (min-width: 640px) {
  .cw-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem 2.5rem;
  }

  .cw-footer-col-brand {
    grid-column: 1 / -1;
  }
}

@media (min-width: 1024px) {
  .cw-footer-grid {
    grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 1fr));
    gap: 2rem 3rem;
    margin-bottom: 3rem;
  }

  .cw-footer-col-brand {
    grid-column: auto;
  }
}

.cw-footer-col {
  min-width: 0;
  text-align: left;
}

.cw-footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
  color: inherit;
  transition: var(--transition-colors);
}

.cw-footer-brand:hover {
  color: hsl(var(--cw-primary));
}

.cw-footer-brand-logo {
  width: 2.25rem;
  height: 2.25rem;
  object-fit: contain;
  filter: drop-shadow(0 0 12px hsl(195 85% 60% / 0.25));
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), filter 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-footer-brand:hover .cw-footer-brand-logo {
  transform: scale(1.05);
  filter: drop-shadow(0 0 16px hsl(195 85% 60% / 0.4));
}

.cw-footer-brand-name {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-transform: capitalize;
}

.cw-footer-desc {
  max-width: 22rem;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: hsl(var(--cw-muted-fg));
  margin-bottom: 1.25rem;
}

.cw-footer-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.cw-footer-social {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.75rem;
  background: hsl(var(--cw-card) / 0.6);
  border: 1px solid hsl(var(--cw-border) / 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  color: hsl(var(--cw-muted-fg));
  transition: var(--transition-smooth);
}

.cw-footer-social:hover {
  color: hsl(var(--cw-primary));
  border-color: hsl(195 85% 60% / 0.3);
  box-shadow: 0 0 15px hsl(195 85% 60% / 0.15);
}

.cw-footer-heading {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: hsl(0 0% 100%);
  margin-bottom: 1rem;
}

.cw-footer-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
}

.cw-footer-link {
  display: block;
  font-size: 0.8125rem;
  font-weight: 500;
  color: hsl(var(--cw-muted-fg));
  transition: var(--transition-colors);
}

.cw-footer-link:hover {
  color: hsl(var(--cw-primary));
}

.cw-footer-link-icon {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.cw-footer-link-icon i {
  width: 1rem;
  text-align: center;
  opacity: 0.85;
}

.cw-footer-bottom {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 1.5rem;
  border-top: 1px solid hsl(var(--cw-border) / 0.25);
  text-align: center;
}

.cw-footer-copy {
  font-size: 0.75rem;
  color: hsl(var(--cw-muted-fg) / 0.75);
  margin: 0;
}

/* Announcement */
.cw-announcement {
  background: hsl(195 85% 60% / 0.15) !important;
  border-bottom: 1px solid hsl(195 85% 60% / 0.2) !important;
  backdrop-filter: blur(8px);
}

.cw-announcement p {
  color: hsl(var(--cw-primary)) !important;
}

/* Marquee */
@keyframes cw-marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.cw-trust-marquee {
  position: relative;
  overflow: hidden;
  padding: 1.75rem 0;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  border-top: 1px solid hsl(var(--cw-border) / 0.3);
  border-bottom: 1px solid hsl(var(--cw-border) / 0.3);
  background: hsl(var(--cw-card) / 0.2);
  backdrop-filter: blur(4px);
}

.cw-trust-marquee-track {
  display: flex;
  width: max-content;
  white-space: nowrap;
  animation: cw-marquee 45s linear infinite;
}

.cw-trust-marquee-item {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0 3.5rem;
  color: hsl(var(--cw-muted-fg));
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  flex-shrink: 0;
}

.cw-trust-marquee-item i {
  color: hsl(var(--cw-primary) / 0.75);
}

/* Searchbar */
.cw-searchbar {
  background: hsl(var(--cw-card) / 0.75) !important;
  border: 1px solid hsl(var(--cw-border) / 0.5) !important;
  border-radius: 0.75rem !important;
  backdrop-filter: blur(4px);
}

.cw-searchbar:focus-within {
  border-color: hsl(195 85% 60% / 0.5) !important;
  box-shadow: 0 0 20px hsl(195 85% 60% / 0.1) !important;
}

/* Section headers */
.cw-section-header hr {
  border-color: hsl(var(--cw-primary)) !important;
  opacity: 0.6;
}

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* === v2 — closer to cheatwave reference === */

.cw-hero-inner {
  width: 100%;
  max-width: min(80rem, 92vw);
}

.cw-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 2.75rem;
}

@media (min-width: 1024px) {
  .cw-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 3.5rem;
    align-items: center;
  }
}

@media (min-width: 1280px) {
  .cw-hero-grid {
    gap: 4rem;
  }
}

.cw-hero-copy {
  width: 100%;
  max-width: 40rem;
}

@media (min-width: 1024px) {
  .cw-hero-copy {
    max-width: none;
    justify-self: stretch;
  }
}

.cw-hero-media {
  width: 100%;
  justify-content: center;
  align-items: center;
}

@media (min-width: 1024px) {
  .cw-hero-media {
    justify-content: flex-end;
  }
}

.cw-hero .cw-section-badge {
  font-size: 0.8125rem;
  padding: 0.5625rem 1.125rem;
}

.cw-hero-title {
  font-size: clamp(2.5rem, 5.5vw, 4.25rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.05;
  text-transform: uppercase;
  min-height: 1.1em;
}

.cw-typewriter-cursor {
  color: hsl(var(--cw-primary));
  animation: cw-blink 1.4s ease-in-out infinite;
  margin-left: 2px;
}

@keyframes cw-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.15; }
}

.cw-hero-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  width: 100%;
}

.cw-hero-stat {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  min-height: 7.75rem;
  padding: 1.375rem;
  border-radius: 1rem;
  border: 1px solid hsl(var(--cw-border) / 0.35);
  backdrop-filter: blur(8px);
  transition: var(--transition-smooth);
}

.cw-hero-stat:hover {
  transform: translateY(-3px);
}

.cw-hero-stat-link {
  color: inherit;
  text-decoration: none;
}

.cw-hero-stat-link:hover {
  border-color: hsl(195 85% 60% / 0.35);
  box-shadow: 0 8px 24px hsl(195 85% 60% / 0.12);
}

.cw-hero-stat-gold { background: linear-gradient(135deg, hsl(45 80% 50% / 0.08), hsl(0 0% 6% / 0.95)); }
.cw-hero-stat-blue { background: linear-gradient(135deg, hsl(195 85% 60% / 0.1), hsl(0 0% 6% / 0.95)); }
.cw-hero-stat-green { background: linear-gradient(135deg, hsl(150 60% 45% / 0.08), hsl(0 0% 6% / 0.95)); }

.cw-hero-stat i {
  color: hsl(var(--cw-primary) / 0.5);
  font-size: 1rem;
  margin-bottom: 0.75rem;
}

.cw-hero-stat-value {
  font-size: clamp(1.35rem, 2.4vw, 1.625rem);
  font-weight: 800;
  color: hsl(var(--cw-fg-strong));
  line-height: 1.15;
}

.cw-hero-stat-label {
  font-size: 0.8125rem;
  color: hsl(var(--cw-muted-fg));
  font-weight: 500;
  margin-top: 0.375rem;
  line-height: 1.3;
}

.cw-hero-video-wrap {
  position: relative;
  width: 100%;
  max-width: 560px;
  aspect-ratio: 16 / 9;
  cursor: pointer;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

@media (min-width: 1024px) {
  .cw-hero-video-wrap {
    max-width: 100%;
  }
}

.cw-hero-video-wrap:hover {
  transform: translateY(-4px);
}

.cw-hero-video-glow {
  position: absolute;
  inset: -1rem;
  background: linear-gradient(135deg, hsl(195 85% 60% / 0.25), transparent, hsl(195 85% 60% / 0.15));
  border-radius: 1.5rem;
  filter: blur(24px);
  opacity: 0.5;
  transition: opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1), filter 0.55s cubic-bezier(0.22, 1, 0.36, 1), transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-hero-video-wrap:hover .cw-hero-video-glow {
  opacity: 0.95;
  filter: blur(32px);
  transform: scale(1.04);
}

.cw-hero-video-frame {
  position: relative;
  width: 100%;
  height: 100%;
  background: hsl(var(--cw-card) / 0.9);
  border: 1px solid hsl(195 85% 60% / 0.25);
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 25px 50px -12px hsl(0 0% 0% / 0.5);
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.cw-hero-video-wrap:hover .cw-hero-video-frame {
  transform: scale(1.02);
  border-color: hsl(195 85% 60% / 0.55);
  box-shadow:
    0 28px 56px -12px hsl(0 0% 0% / 0.55),
    0 0 40px hsl(195 85% 60% / 0.18),
    inset 0 0 0 1px hsl(195 85% 60% / 0.12);
}

.cw-hero-video-frame::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 30%, hsl(195 85% 60% / 0.12) 50%, transparent 70%);
  transform: translateX(-120%);
  transition: transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
  z-index: 2;
}

.cw-hero-video-wrap:hover .cw-hero-video-frame::after {
  transform: translateX(120%);
}

.cw-hero-video-frame lite-youtube,
.cw-hero-video-frame .cw-hero-lite-yt,
.cw-hero-video-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
  transition: filter 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-hero-video-wrap:hover .cw-hero-video-frame lite-youtube,
.cw-hero-video-wrap:hover .cw-hero-video-frame iframe {
  filter: brightness(1.08) saturate(1.1);
}

.cw-hero-scanlines {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(0deg, transparent, transparent 2px, hsl(195 85% 60% / 0.02) 2px, hsl(195 85% 60% / 0.02) 4px);
  opacity: 0.6;
  transition: opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 1;
}

.cw-hero-video-wrap:hover .cw-hero-scanlines {
  opacity: 1;
}

.cw-hero-video-corner {
  position: absolute;
  width: 2rem;
  height: 2rem;
  border-color: hsl(195 85% 60% / 0.45);
  border-style: solid;
  pointer-events: none;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.55s cubic-bezier(0.22, 1, 0.36, 1), width 0.55s cubic-bezier(0.22, 1, 0.36, 1), height 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-hero-video-wrap:hover .cw-hero-video-corner {
  border-color: hsl(195 85% 60% / 0.85);
  width: 2.375rem;
  height: 2.375rem;
}

.cw-hero-video-corner-tl { top: -0.5rem; left: -0.5rem; border-width: 2px 0 0 2px; border-radius: 0.75rem 0 0 0; }
.cw-hero-video-corner-tr { top: -0.5rem; right: -0.5rem; border-width: 2px 2px 0 0; border-radius: 0 0.75rem 0 0; }
.cw-hero-video-corner-bl { bottom: -0.5rem; left: -0.5rem; border-width: 0 0 2px 2px; border-radius: 0 0 0 0.75rem; }
.cw-hero-video-corner-br { bottom: -0.5rem; right: -0.5rem; border-width: 0 2px 2px 0; border-radius: 0 0 0.75rem 0; }

.cw-hero-video-wrap:hover .cw-hero-video-corner-tl { transform: translate(-3px, -3px); }
.cw-hero-video-wrap:hover .cw-hero-video-corner-tr { transform: translate(3px, -3px); }
.cw-hero-video-wrap:hover .cw-hero-video-corner-bl { transform: translate(-3px, 3px); }
.cw-hero-video-wrap:hover .cw-hero-video-corner-br { transform: translate(3px, 3px); }

.cw-hero-video-label {
  position: absolute;
  bottom: -1.5rem;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: hsl(var(--cw-card) / 0.85);
  border: 1px solid hsl(var(--cw-border) / 0.4);
  border-radius: 9999px;
  font-size: 0.75rem;
  color: hsl(var(--cw-muted-fg));
  white-space: nowrap;
  animation: cw-float-label 4.5s cubic-bezier(0.45, 0, 0.55, 1) infinite;
  transition: color 0.45s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.45s cubic-bezier(0.22, 1, 0.36, 1), background 0.45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-hero-video-wrap:hover .cw-hero-video-label {
  color: hsl(0 0% 96%);
  border-color: hsl(195 85% 60% / 0.45);
  background: hsl(195 85% 60% / 0.12);
  box-shadow: 0 0 24px hsl(195 85% 60% / 0.2);
  animation-play-state: paused;
}

.cw-hero-video-label i {
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), color 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-hero-video-wrap:hover .cw-hero-video-label i {
  transform: scale(1.15);
  color: hsl(var(--cw-primary));
}

@keyframes cw-float-label {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-2px); }
}

.cw-gradient-text {
  background: linear-gradient(135deg, hsl(var(--cw-primary)), hsl(195 90% 70%), hsl(var(--cw-primary)));
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: cw-gradient-shift 12s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

@keyframes cw-gradient-shift {
  0%, 100% { background-position: 0% center; }
  50% { background-position: 100% center; }
}

.cw-nav-icon-link {
  position: relative;
  width: 3.125rem !important;
  min-width: 3.125rem !important;
  padding: 0 !important;
}

.cw-nav-tooltip {
  position: absolute;
  bottom: calc(100% + 0.5rem);
  left: 50%;
  transform: translateX(-50%);
  padding: 0.375rem 0.625rem;
  background: hsl(var(--cw-card) / 0.95);
  border: 1px solid hsl(var(--cw-border) / 0.5);
  border-radius: 0.5rem;
  font-size: 0.625rem;
  font-weight: 600;
  color: hsl(0 0% 90%);
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 60;
}

.cw-nav-icon-link:hover .cw-nav-tooltip {
  opacity: 1;
  transform: translateX(-50%) translateY(-2px);
}

.cw-nav-mobile-menu {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding-top: 0.75rem;
  margin-top: 0.5rem;
  border-top: 1px solid hsl(var(--cw-border) / 0.3);
}

.cw-nav-mobile-item {
  padding: 0.625rem 1rem;
  border-radius: 0.5rem;
  color: hsl(var(--cw-muted-fg));
  font-size: 0.875rem;
  transition: var(--transition-smooth);
}

.cw-nav-mobile-item:hover {
  background: hsl(195 85% 60% / 0.08);
  color: hsl(var(--cw-primary));
}

.cw-nav-mobile-currency {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.5rem 1rem 0.75rem;
}

.cw-nav-mobile-currency-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: hsl(var(--cw-muted-fg));
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.cw-nav-mobile-currency-btns {
  display: flex;
  gap: 0.375rem;
}

.cw-nav-mobile-currency-btn {
  padding: 0.4375rem 0.75rem;
  border-radius: 0.5rem;
  border: 1px solid hsl(var(--cw-border));
  background: hsl(var(--cw-card));
  color: hsl(var(--cw-muted-fg));
  font-size: 0.75rem;
  font-weight: 700;
  transition: var(--transition-smooth);
}

.cw-nav-mobile-currency-btn.is-active,
.cw-nav-mobile-currency-btn:hover {
  border-color: hsl(var(--cw-primary) / 0.45);
  background: hsl(195 85% 60% / 0.12);
  color: hsl(var(--cw-primary));
}

.cw-cat-icon-badge {
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  z-index: 2;
  width: 2.75rem;
  height: 2.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: hsl(0 0% 5% / 0.65);
  backdrop-filter: blur(8px);
  border: 1px solid hsl(var(--cw-border) / 0.35);
  border-radius: 0.75rem;
  color: hsl(var(--cw-primary));
}

.cw-category-card .cw-cat-image {
  height: 13.5rem;
}

.cw-about-glow {
  background: radial-gradient(ellipse 60% 40% at 50% 50%, hsl(195 85% 60% / 0.05), transparent);
}

.cw-about-card {
  position: relative;
  padding: 2rem;
  border-radius: 1rem;
  background: hsl(var(--cw-card) / 0.35);
  backdrop-filter: blur(8px);
  border: 1px solid hsl(var(--cw-border) / 0.3);
  overflow: hidden;
  transition: var(--transition-smooth);
}

.cw-about-card:hover {
  transform: translateY(-4px);
  border-color: hsl(195 85% 60% / 0.35);
}

.cw-about-card-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.cw-about-card-featured {
  min-height: 280px;
}

.cw-about-icon {
  width: 3.5rem;
  height: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: hsl(195 85% 60% / 0.1);
  border-radius: 1rem;
  margin-bottom: 1.5rem;
  color: hsl(var(--cw-primary));
  font-size: 1.25rem;
  transition: var(--transition-smooth);
}

.cw-about-card:hover .cw-about-icon {
  background: hsl(195 85% 60% / 0.2);
  box-shadow: 0 0 25px hsl(195 85% 60% / 0.2);
}

/* Product card overrides */
.cw-product-card {
  background: hsl(var(--cw-card) / 0.6) !important;
  border-color: hsl(var(--cw-border) / 0.5) !important;
}

/* === Product page === */
.cw-product-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
}

.cw-product-crumb {
  color: hsl(var(--cw-muted-fg));
  transition: color 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

a.cw-product-crumb:hover {
  color: hsl(var(--cw-primary));
}

.cw-product-crumb-active {
  color: hsl(var(--cw-primary));
  font-weight: 600;
}

.cw-product-crumb-sep {
  font-size: 0.625rem;
  color: hsl(var(--cw-muted-fg) / 0.4);
}

.cw-product-media-wrap {
  position: relative;
}

.cw-product-media-glow {
  position: absolute;
  inset: -1rem;
  background: linear-gradient(135deg, hsl(195 85% 60% / 0.2), transparent, hsl(195 85% 60% / 0.12));
  border-radius: 1.5rem;
  filter: blur(28px);
  opacity: 0.45;
  pointer-events: none;
}

.cw-product-media {
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
  border: 1px solid hsl(195 85% 60% / 0.2);
  background: hsl(0 0% 6% / 0.95);
  box-shadow: 0 25px 50px -12px hsl(0 0% 0% / 0.6);
}

.cw-product-media-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, hsl(195 85% 60% / 0.05), hsl(0 0% 8%));
  color: hsl(var(--cw-primary) / 0.2);
  font-size: 4rem;
  min-height: 280px;
}

.cw-product-media-gradient {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 33%;
  background: linear-gradient(to top, hsl(0 0% 3% / 0.7), transparent);
  pointer-events: none;
}

.cw-product-status-badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 0.75rem;
  background: hsl(0 0% 6% / 0.85);
  backdrop-filter: blur(8px);
  border: 1px solid hsl(0 0% 100% / 0.08);
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--status-color, hsl(var(--cw-primary)));
  box-shadow: 0 4px 20px hsl(0 0% 0% / 0.4);
}

.cw-product-status-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 9999px;
  background: var(--status-color, hsl(var(--cw-primary)));
  animation: cw-pulse-dot 3s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

@keyframes cw-pulse-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.65; transform: scale(0.92); }
}

.cw-product-screenshots-head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: hsl(var(--cw-fg));
  margin-bottom: 0.75rem;
}

.cw-product-screenshots-head i { color: hsl(var(--cw-primary)); }
.cw-product-screenshots-count { color: hsl(var(--cw-muted-fg)); font-weight: 500; }

.cw-product-thumbs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(5rem, 1fr));
  gap: 0.5rem;
}

.cw-product-thumb {
  aspect-ratio: 16 / 10;
  border-radius: 0.625rem;
  overflow: hidden;
  border: 2px solid hsl(var(--cw-border) / 0.35);
  background: hsl(0 0% 6%);
  cursor: pointer;
  transition: var(--transition-smooth);
  padding: 0;
}

.cw-product-thumb:hover,
.cw-product-thumb.is-active {
  border-color: hsl(var(--cw-primary) / 0.6);
  box-shadow: 0 0 20px hsl(195 85% 60% / 0.15);
}

.cw-product-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cw-product-review-row {
  margin-top: -0.25rem;
}

.cw-product-video-thumb {
  position: relative;
}

.cw-product-video-thumb-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, hsl(0 0% 0% / 0.1), hsl(0 0% 0% / 0.45));
  transition: background 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-product-video-thumb:hover .cw-product-video-thumb-overlay {
  background: linear-gradient(180deg, hsl(195 85% 60% / 0.08), hsl(0 0% 0% / 0.55));
}

.cw-product-video-thumb-play {
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: hsl(195 85% 60% / 0.92);
  color: hsl(0 0% 8%);
  box-shadow: 0 0 24px hsl(195 85% 60% / 0.35);
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-product-video-thumb-play i {
  font-size: 0.6875rem;
  margin-left: 0.125rem;
}

.cw-product-video-thumb:hover .cw-product-video-thumb-play {
  transform: scale(1.08);
  box-shadow: 0 0 30px hsl(195 85% 60% / 0.5);
}

.cw-video-modal {
  position: fixed;
  inset: 0;
  z-index: 110;
  background: hsl(0 0% 0% / 0.92);
  backdrop-filter: blur(12px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.cw-video-modal-panel {
  width: min(100%, 56rem);
  aspect-ratio: 16 / 9;
  border-radius: 1rem;
  overflow: hidden;
  border: 1px solid hsl(var(--cw-border) / 0.45);
  background: hsl(0 0% 4%);
  box-shadow: 0 24px 80px -20px hsl(0 0% 0% / 0.85), 0 0 40px hsl(195 85% 60% / 0.12);
}

.cw-video-modal-iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.cw-product-tabs {
  border-radius: 1rem;
  border: 1px solid hsl(var(--cw-border) / 0.35);
  background: hsl(0 0% 6% / 0.5);
  backdrop-filter: blur(8px);
  overflow: hidden;
}

.cw-product-tabs-head {
  display: flex;
  border-bottom: 1px solid hsl(var(--cw-border) / 0.25);
  background: hsl(0 0% 5% / 0.5);
}

.cw-product-tab {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: hsl(var(--cw-muted-fg));
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition: var(--transition-smooth);
  margin-bottom: -1px;
}

.cw-product-tab:hover { color: hsl(var(--cw-fg)); }

.cw-product-tab.is-active {
  color: hsl(var(--cw-primary));
  border-bottom-color: hsl(var(--cw-primary));
}

.cw-product-tabs-body {
  padding: 1.5rem;
}

.cw-product-editor {
  color: hsl(var(--cw-fg-soft));
  line-height: 1.7;
  font-size: 0.9375rem;
}

.cw-product-sidebar {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.cw-product-title {
  font-size: 1.75rem;
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: hsl(var(--cw-fg-strong));
}

.cw-product-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-top: 0.625rem;
}

.cw-product-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.1875rem 0.4375rem;
  border-radius: 9999px;
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  line-height: 1.2;
  text-transform: uppercase;
  color: hsl(0 0% 100% / 0.95);
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--badge-color, hsl(var(--cw-primary))) 88%, hsl(0 0% 100% / 0.08)),
    color-mix(in srgb, var(--badge-color, hsl(var(--cw-primary))) 72%, hsl(0 0% 0% / 0.35))
  );
  border: 1px solid color-mix(in srgb, var(--badge-color, hsl(var(--cw-primary))) 45%, hsl(0 0% 100% / 0.14));
  box-shadow:
    0 1px 3px hsl(0 0% 0% / 0.22),
    inset 0 1px 0 hsl(0 0% 100% / 0.1);
}

.cw-product-badge i {
  font-size: 0.5rem;
  line-height: 1;
  opacity: 0.92;
}

.cw-product-price-label {
  display: block;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: hsl(var(--cw-muted-fg));
  margin-bottom: 0.375rem;
}

.cw-product-price-row {
  display: flex;
  align-items: flex-end;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.cw-product-sidebar .cw-product-price {
  font-size: 2.25rem;
  font-weight: 900;
  background: linear-gradient(135deg, hsl(var(--cw-primary)), hsl(195 90% 70%));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 1;
}

.cw-product-sidebar .cw-product-price .cw-price-symbol {
  font-size: 0.82em;
  font-weight: 800;
  margin-right: 0.06em;
  vertical-align: 0.06em;
  -webkit-text-fill-color: transparent;
}

.cw-product-sidebar .cw-product-price .cw-price-amount {
  letter-spacing: -0.03em;
  -webkit-text-fill-color: transparent;
}

.cw-product-price-each .cw-price-symbol {
  font-size: 0.75em;
  vertical-align: 0.08em;
}

.cw-product-price-each {
  font-size: 0.8125rem;
  color: hsl(var(--cw-muted-fg));
  margin-bottom: 0.25rem;
}

.cw-product-in-stock { color: hsl(150 60% 50%); font-size: 0.8125rem; font-weight: 600; }
.cw-product-out-stock { color: hsl(0 70% 55%); font-size: 0.8125rem; font-weight: 600; }

.cw-product-category-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  width: fit-content;
  padding: 0.375rem 0.875rem;
  border-radius: 9999px;
  background: hsl(195 85% 60% / 0.12);
  border: 1px solid hsl(195 85% 60% / 0.25);
  color: hsl(var(--cw-primary));
  font-size: 0.8125rem;
  font-weight: 600;
  transition: var(--transition-smooth);
}

.cw-product-category-tag:hover {
  background: hsl(195 85% 60% / 0.2);
  box-shadow: 0 0 20px hsl(195 85% 60% / 0.15);
}

.cw-product-form-inner {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.cw-product-form-label {
  display: block;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: hsl(var(--cw-muted-fg));
  margin-bottom: 0.625rem;
  text-transform: uppercase;
}

.cw-product-variants {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.cw-product-variant {
  display: flex;
  align-items: center;
  gap: 1rem;
  width: 100%;
  padding: 1rem 1.125rem;
  border-radius: 0.875rem;
  border: 2px solid hsl(var(--cw-border) / 0.35);
  background: hsl(0 0% 5% / 0.6);
  text-align: left;
  cursor: pointer;
  transition: var(--transition-smooth);
  color: hsl(var(--cw-fg-strong));
}

.cw-product-variant:hover:not(.is-disabled) {
  border-color: hsl(var(--cw-primary) / 0.35);
  background: hsl(195 85% 60% / 0.05);
}

.cw-product-variant.is-active {
  border-color: hsl(var(--cw-primary) / 0.55);
  background: hsl(195 85% 60% / 0.08);
  box-shadow: 0 0 25px hsl(195 85% 60% / 0.12), inset 0 1px 0 hsl(195 85% 60% / 0.08);
}

.cw-product-variant.is-best-deal {
  border-color: hsl(150 75% 52% / 0.7);
  background: linear-gradient(135deg, hsl(150 55% 38% / 0.1) 0%, hsl(0 0% 5% / 0.65) 100%);
  box-shadow:
    0 0 0 1px hsl(150 80% 45% / 0.3),
    0 0 22px hsl(150 70% 45% / 0.2),
    inset 0 1px 0 hsl(150 90% 70% / 0.12);
}

.cw-product-variant.is-best-deal:hover:not(.is-disabled) {
  border-color: hsl(150 78% 56% / 0.9);
  background: linear-gradient(135deg, hsl(150 55% 38% / 0.14) 0%, hsl(195 85% 60% / 0.04) 100%);
  box-shadow:
    0 0 0 1px hsl(150 80% 45% / 0.45),
    0 0 30px hsl(150 70% 45% / 0.3);
}

.cw-product-variant.is-best-deal.is-active {
  border-color: hsl(150 82% 58%);
  background: linear-gradient(135deg, hsl(150 55% 38% / 0.16) 0%, hsl(195 85% 60% / 0.07) 100%);
  box-shadow:
    0 0 0 1px hsl(150 80% 50% / 0.5),
    0 0 34px hsl(150 70% 45% / 0.35),
    0 0 18px hsl(195 85% 60% / 0.1),
    inset 0 1px 0 hsl(150 90% 70% / 0.18);
}

.cw-product-variant.is-best-deal .cw-product-variant-icon.is-hot {
  color: hsl(150 85% 68%);
  box-shadow: 0 0 20px hsl(150 70% 45% / 0.35);
}

.cw-product-variant.is-best-deal .cw-product-variant-radio.is-checked {
  border-color: hsl(150 75% 52%);
  background: hsl(150 75% 52%);
}

.cw-product-variant.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.cw-product-variant-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.625rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.875rem;
  color: hsl(var(--cw-muted-fg));
  background: hsl(0 0% 8% / 0.85);
  border: 1px solid hsl(var(--cw-border) / 0.35);
}

.cw-product-variant-icon.is-clock {
  color: hsl(0 0% 72%);
}

.cw-product-variant-icon.is-hot {
  color: hsl(150 80% 62%);
  background: hsl(150 55% 38% / 0.18);
  border-color: hsl(150 75% 52% / 0.55);
  box-shadow: 0 0 16px hsl(150 70% 45% / 0.25);
}

.cw-product-variant-daily {
  margin: 0.375rem 0 0;
  font-size: 0.75rem;
  line-height: 1.3;
  color: hsl(var(--cw-muted-fg) / 0.9);
}

.cw-product-variant-daily.is-best {
  color: hsl(150 75% 58%);
  font-weight: 600;
}

.cw-product-variant-radio {
  width: 1.125rem;
  height: 1.125rem;
  border-radius: 9999px;
  border: 2px solid hsl(var(--cw-muted-fg) / 0.4);
  flex-shrink: 0;
  position: relative;
  transition: var(--transition-smooth);
}

.cw-product-variant-radio.is-checked {
  border-color: hsl(var(--cw-primary));
  background: hsl(var(--cw-primary));
}

.cw-product-variant-radio.is-checked::after {
  content: '';
  position: absolute;
  inset: 3px;
  border-radius: 9999px;
  background: #fff;
}

.cw-product-variant-info { flex: 1; min-width: 0; }
.cw-product-variant-name { font-size: 0.875rem; font-weight: 700; line-height: 1.3; }
.cw-product-variant-desc { font-size: 0.6875rem; color: hsl(var(--cw-muted-fg)); margin-top: 0.5rem; }
.cw-product-variant-stock { font-size: 0.6875rem; color: hsl(var(--cw-muted-fg) / 0.8); margin-top: 0.25rem; }

.cw-product-variant-price {
  text-align: right;
  font-size: 0.875rem;
  font-weight: 700;
  color: hsl(var(--cw-primary));
  flex-shrink: 0;
}

.cw-product-variant-price-old {
  display: block;
  font-size: 0.6875rem;
  color: hsl(var(--cw-muted-fg));
  text-decoration: line-through;
  font-weight: 500;
}

.cw-product-qty {
  display: flex;
  overflow: hidden;
  border-radius: 0.75rem;
  border: 1px solid hsl(var(--cw-border) / 0.4);
  background: hsl(0 0% 5% / 0.8);
}

.cw-product-qty button {
  width: 2.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: hsl(0 0% 8%);
  color: hsl(0 0% 90%);
  border: none;
  cursor: pointer;
  transition: background 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-product-qty button:hover:not(:disabled) {
  background: hsl(var(--cw-primary));
  color: #fff;
}

.cw-product-qty input {
  flex: 1;
  text-align: center;
  background: transparent;
  border: none;
  color: hsl(0 0% 95%);
  font-size: 0.9375rem;
  font-weight: 600;
  padding: 0.625rem;
  outline: none;
}

.cw-product-actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 0.5rem;
}

.cw-product-btn {
  width: 100%;
  padding: 0.875rem 1.25rem !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  border-radius: 0.875rem !important;
}

.cw-product-btn-buy {
  min-height: 3rem;
}

.cw-product-support {
  padding: 1rem;
  border-radius: 0.875rem;
  border: 1px solid hsl(var(--cw-border) / 0.3);
  background: hsl(0 0% 5% / 0.5);
}

.cw-product-support-text {
  font-size: 0.8125rem;
  color: hsl(var(--cw-muted-fg));
  margin-bottom: 0.5rem;
}

.cw-product-support-online {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: hsl(150 60% 50%);
  margin-bottom: 0.75rem;
}

.cw-product-support-online span {
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 9999px;
  background: hsl(150 60% 50%);
  animation: cw-pulse-dot 3s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

.cw-product-support-links { display: flex; gap: 0.5rem; }

.cw-product-support-btn {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  padding: 0.5rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 600;
  transition: var(--transition-smooth);
}

.cw-product-support-discord {
  background: hsl(235 60% 55% / 0.15);
  border: 1px solid hsl(235 60% 55% / 0.3);
  color: hsl(235 80% 75%);
}

.cw-product-support-discord:hover {
  background: hsl(235 60% 55% / 0.25);
}

.cw-product-sale-toast {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  border-radius: 0.875rem;
  background: hsl(0 0% 8% / 0.95);
  border: 1px solid hsl(var(--cw-border) / 0.4);
  backdrop-filter: blur(12px);
  box-shadow: 0 8px 32px hsl(0 0% 0% / 0.5);
}

.cw-product-sale-toast-img {
  width: 3rem;
  height: 3rem;
  object-fit: cover;
  border-radius: 0.5rem;
  flex-shrink: 0;
}

.cw-product-form .mb-4.pb-4.border-b {
  border-color: hsl(var(--cw-border) / 0.2) !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.cw-product-form-custom {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.cw-product-form-custom .cw-product-period-block {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid hsl(var(--cw-border) / 0.22);
}

.cw-product-form-custom .cw-product-form-label {
  margin-bottom: 0.875rem;
}

.cw-product-form-custom .cw-product-btn-buy {
  margin-top: 0.25rem;
}

.cw-product-form select[name="variant"] {
  width: 100%;
  padding: 0.75rem 1rem;
  border-radius: 0.75rem;
  border: 1px solid hsl(var(--cw-border) / 0.4);
  background: hsl(0 0% 5% / 0.8);
  color: hsl(0 0% 95%);
}

/* Product — lightbox */
.cw-product-media-clickable {
  cursor: zoom-in;
}

.cw-product-zoom-hint {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  z-index: 4;
  width: 2.25rem;
  height: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  background: hsl(0 0% 0% / 0.55);
  backdrop-filter: blur(8px);
  color: hsl(0 0% 90%);
  font-size: 0.875rem;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-product-media-clickable:hover .cw-product-zoom-hint {
  opacity: 1;
}

.cw-lightbox {
  position: fixed;
  inset: 0;
  z-index: 100;
  background: hsl(0 0% 0% / 0.92);
  backdrop-filter: blur(12px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.cw-lightbox-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 110;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.75rem;
  border: 1px solid hsl(0 0% 100% / 0.12);
  background: hsl(0 0% 10% / 0.8);
  color: #fff;
  cursor: pointer;
  transition: background 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-lightbox-close:hover {
  background: hsl(0 0% 20% / 0.9);
}

.cw-lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 110;
  width: 3rem;
  height: 3rem;
  border-radius: 9999px;
  border: 1px solid hsl(0 0% 100% / 0.12);
  background: hsl(0 0% 10% / 0.75);
  color: #fff;
  cursor: pointer;
  transition: background 0.45s cubic-bezier(0.22, 1, 0.36, 1), transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-lightbox-nav:hover {
  background: hsl(195 85% 60% / 0.25);
  transform: translateY(-50%) scale(1.05);
}

.cw-lightbox-prev { left: 1rem; }
.cw-lightbox-next { right: 1rem; }

.cw-lightbox-stage {
  max-width: min(90vw, 72rem);
  max-height: 75vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cw-lightbox-image {
  max-width: 100%;
  max-height: 75vh;
  object-fit: contain;
  border-radius: 0.5rem;
  box-shadow: 0 25px 60px hsl(0 0% 0% / 0.6);
}

.cw-lightbox-counter {
  position: absolute;
  bottom: 5.5rem;
  left: 50%;
  transform: translateX(-50%);
  padding: 0.375rem 0.875rem;
  border-radius: 9999px;
  background: hsl(0 0% 0% / 0.7);
  backdrop-filter: blur(8px);
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 600;
}

.cw-lightbox-thumbs {
  position: absolute;
  bottom: 1.25rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 0.375rem;
  padding: 0.5rem;
  border-radius: 0.75rem;
  background: hsl(0 0% 0% / 0.65);
  backdrop-filter: blur(8px);
  max-width: calc(100vw - 2rem);
  overflow-x: auto;
}

.cw-lightbox-thumb {
  width: 3.5rem;
  height: 2.25rem;
  border-radius: 0.375rem;
  overflow: hidden;
  border: 2px solid transparent;
  padding: 0;
  cursor: pointer;
  opacity: 0.55;
  transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.45s cubic-bezier(0.22, 1, 0.36, 1), transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  flex-shrink: 0;
}

.cw-lightbox-thumb.is-active {
  opacity: 1;
  border-color: hsl(var(--cw-primary));
  transform: scale(1.08);
}

.cw-lightbox-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cw-lightbox-hint {
  position: absolute;
  top: 1rem;
  left: 1rem;
  font-size: 0.6875rem;
  color: hsl(0 0% 100% / 0.45);
}

/* Product — level bars & info cards */
.cw-product-levels {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.cw-product-level-card {
  padding: 1rem;
  border-radius: 0.875rem;
  border: 1px solid hsl(var(--cw-border) / 0.25);
}

.cw-product-level-security {
  background: linear-gradient(135deg, hsl(150 60% 45% / 0.06), hsl(0 0% 6% / 0.8));
  border-color: hsl(150 60% 45% / 0.15);
}

.cw-product-level-features {
  background: linear-gradient(135deg, hsl(195 85% 60% / 0.06), hsl(0 0% 6% / 0.8));
  border-color: hsl(195 85% 60% / 0.15);
}

.cw-product-level-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.625rem;
}

.cw-product-level-label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: hsl(var(--cw-muted-fg));
}

.cw-product-level-value {
  font-size: 0.6875rem;
  font-weight: 700;
  color: hsl(var(--cw-fg));
}

.cw-product-level-bars {
  display: flex;
  gap: 0.25rem;
}

.cw-product-level-bar {
  flex: 1;
  height: 0.375rem;
  border-radius: 9999px;
  background: hsl(0 0% 100% / 0.08);
  transition: background 0.4s ease;
}

.cw-product-level-bar.is-security {
  background: linear-gradient(90deg, hsl(150 60% 45%), hsl(150 70% 55%));
}

.cw-product-level-bar.is-features {
  background: linear-gradient(90deg, hsl(195 85% 55%), hsl(195 90% 65%));
}

.cw-product-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin-top: 0.75rem;
}

.cw-product-info-card {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem;
  border-radius: 0.875rem;
  border: 1px solid hsl(var(--cw-border) / 0.25);
  background: hsl(0 0% 5% / 0.5);
}

.cw-product-info-icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.625rem;
  background: hsl(195 85% 60% / 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: hsl(var(--cw-primary));
  flex-shrink: 0;
}

.cw-product-info-label {
  font-size: 0.6875rem;
  color: hsl(var(--cw-muted-fg));
  margin-bottom: 0.125rem;
}

.cw-product-info-value {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: hsl(0 0% 92%);
}

/* Product — requirements & features tabs (1:1 redline-cyber-forge) */
.cw-product-requirements,
.cw-product-features {
  min-height: 12rem;
}

.cw-req-grid {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.cw-req-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.875rem 1rem;
  border-radius: 0.875rem;
  border: 1px solid hsl(var(--cw-primary) / 0.12);
  background: linear-gradient(135deg, hsl(0 0% 6% / 0.85), hsl(0 0% 4% / 0.55));
  box-shadow: 0 0 0 1px hsl(var(--cw-border) / 0.08) inset;
  transition: background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.cw-req-item:hover {
  background: linear-gradient(135deg, hsl(0 0% 8% / 0.9), hsl(0 0% 5% / 0.65));
  border-color: hsl(var(--cw-primary) / 0.28);
  box-shadow: 0 0 18px hsl(var(--cw-primary) / 0.08);
}

.cw-req-icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.625rem;
  background: hsl(195 85% 60% / 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: hsl(var(--cw-primary));
  flex-shrink: 0;
  font-size: 0.875rem;
}

.cw-req-text {
  min-width: 0;
  flex: 1;
}

.cw-req-label {
  display: block;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: hsl(var(--cw-muted-fg));
  margin-bottom: 0.125rem;
}

.cw-req-value {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: hsl(0 0% 94%);
  line-height: 1.35;
}

.cw-feat-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

@media (min-width: 768px) {
  .cw-feat-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.25rem;
  }
}

.cw-feat-col-head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cw-feat-col--aim .cw-feat-col-head {
  color: hsl(185 90% 62%);
}

.cw-feat-col--aim .cw-feat-col-head i,
.cw-feat-col--aim li i {
  color: hsl(185 90% 62%);
}

.cw-feat-col--esp .cw-feat-col-head {
  color: hsl(210 90% 68%);
}

.cw-feat-col--esp .cw-feat-col-head i,
.cw-feat-col--esp li i {
  color: hsl(210 90% 68%);
}

.cw-feat-col--misc .cw-feat-col-head {
  color: hsl(150 65% 55%);
}

.cw-feat-col--misc .cw-feat-col-head i,
.cw-feat-col--misc li i {
  color: hsl(150 65% 55%);
}

.cw-feat-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.cw-feat-col li {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  padding: 0.625rem 0.75rem;
  border-radius: 0.625rem;
  font-size: 0.8125rem;
  line-height: 1.35;
  color: hsl(0 0% 88%);
  background: hsl(0 0% 5% / 0.35);
  border: 1px solid hsl(var(--cw-border) / 0.15);
  transition: background 0.2s ease, border-color 0.2s ease;
}

.cw-product-requirements .cw-req-grid,
.cw-product-features .cw-feat-grid {
  margin-top: 0.25rem;
}

.cw-product-requirements .editor .e-list-ul,
.cw-product-features .editor .e-list-ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.cw-feat-col--aim li {
  background: hsl(185 90% 62% / 0.05);
  border-color: hsl(185 90% 62% / 0.12);
}

.cw-feat-col--esp li {
  background: hsl(210 90% 68% / 0.05);
  border-color: hsl(210 90% 68% / 0.12);
}

.cw-feat-col--misc li {
  background: hsl(150 65% 55% / 0.05);
  border-color: hsl(150 65% 55% / 0.12);
}

.cw-feat-col li i {
  margin-top: 0.125rem;
  flex-shrink: 0;
  font-size: 0.8125rem;
}

.cw-feat-empty {
  font-size: 0.75rem;
  font-style: italic;
  color: hsl(var(--cw-muted-fg) / 0.55);
  margin: 0;
}

.cw-product-empty-tab {
  text-align: center;
  padding: 2.5rem 1rem;
  color: hsl(var(--cw-muted-fg));
}

.cw-product-empty-tab i {
  font-size: 2rem;
  color: hsl(var(--cw-primary) / 0.35);
  margin-bottom: 0.75rem;
}

.cw-product-empty-tab p {
  font-weight: 600;
  color: hsl(0 0% 80%);
  margin-bottom: 0.375rem;
}

.cw-product-empty-tab span {
  font-size: 0.8125rem;
}

.cw-product-support-telegram {
  background: hsl(200 80% 50% / 0.12) !important;
  border: 1px solid hsl(200 80% 50% / 0.28) !important;
  color: hsl(200 90% 70%) !important;
}

.cw-product-support-telegram:hover {
  background: hsl(200 80% 50% / 0.22) !important;
}

@media (max-width: 640px) {
  .cw-product-levels,
  .cw-product-info-grid {
    grid-template-columns: 1fr;
  }

  .cw-lightbox-nav {
    width: 2.5rem;
    height: 2.5rem;
  }

  .cw-lightbox-prev { left: 0.5rem; }
  .cw-lightbox-next { right: 0.5rem; }
}

/* Custom payment modal */
.cw-plan-best {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.625rem;
  border-radius: 9999px;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: hsl(150 80% 92%);
  background: hsl(150 55% 38% / 0.22);
  border: 1.5px solid hsl(150 75% 52%);
  box-shadow:
    0 0 0 1px hsl(150 80% 45% / 0.35),
    0 0 14px hsl(150 70% 45% / 0.28),
    inset 0 1px 0 hsl(150 90% 70% / 0.15);
}

.cw-pay-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem;
  pointer-events: none;
}

body.cw-pay-modal-open {
  overflow: hidden;
}

.cw-pay-modal-backdrop {
  position: fixed;
  inset: 0;
  pointer-events: auto;
  background:
    radial-gradient(ellipse 80% 60% at 50% 40%, hsl(195 85% 60% / 0.08), transparent 70%),
    hsl(0 0% 2% / 0.62);
  backdrop-filter: blur(22px) saturate(170%);
  -webkit-backdrop-filter: blur(22px) saturate(170%);
}

.cw-pay-modal-panel {
  position: relative;
  z-index: 1;
  pointer-events: auto;
  width: 100%;
  max-width: 26rem;
  max-height: min(90vh, 36rem);
  overflow-y: auto;
  border-radius: 1.125rem;
  border: 1px solid hsl(195 85% 60% / 0.12);
  background: hsl(0 0% 7% / 0.88);
  backdrop-filter: blur(24px) saturate(140%);
  -webkit-backdrop-filter: blur(24px) saturate(140%);
  box-shadow:
    0 0 0 1px hsl(0 0% 100% / 0.04) inset,
    0 32px 80px hsl(0 0% 0% / 0.65),
    0 0 60px hsl(195 85% 60% / 0.08);
  padding: 1.375rem 1.375rem 1.25rem;
  will-change: transform, opacity;
}

.cw-pay-modal-glow {
  position: absolute;
  top: 0;
  left: 15%;
  right: 15%;
  height: 1px;
  background: linear-gradient(90deg, transparent, hsl(195 85% 60% / 0.45), transparent);
  pointer-events: none;
}

.cw-pay-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.125rem;
}

.cw-pay-modal-head h3 {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.cw-pay-modal-head-brand {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.cw-pay-modal-logo {
  width: 1.375rem;
  height: 1.375rem;
  filter: drop-shadow(0 0 8px hsl(195 85% 60% / 0.35));
}

.cw-login-logo {
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  filter: drop-shadow(0 0 10px hsl(195 85% 60% / 0.3));
}

.cw-pay-modal-close {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.625rem;
  color: hsl(var(--cw-muted-fg));
  transition: color 0.35s cubic-bezier(0.22, 1, 0.36, 1), background 0.35s cubic-bezier(0.22, 1, 0.36, 1), transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-pay-modal-close:hover {
  color: hsl(var(--cw-primary));
  background: hsl(var(--cw-primary) / 0.1);
  transform: scale(1.05);
}

.cw-pay-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.125rem;
  margin-bottom: 1.125rem;
  border-radius: 0.875rem;
  border: 1px solid hsl(var(--cw-border) / 0.4);
  background: hsl(0 0% 10% / 0.55);
}

.cw-pay-summary-label {
  font-size: 0.625rem;
  color: hsl(var(--cw-muted-fg));
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 600;
  margin-bottom: 0.25rem;
}

.cw-pay-summary-value {
  font-size: 0.9375rem;
  font-weight: 600;
  color: hsl(0 0% 98%);
}

.cw-pay-summary-price {
  font-size: 1.25rem;
  font-weight: 800;
  color: hsl(var(--cw-primary));
  letter-spacing: -0.02em;
}

.cw-pay-methods-title {
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: hsl(var(--cw-muted-fg) / 0.85);
  margin-bottom: 0.875rem;
}

.cw-pay-method {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0.9375rem 1rem;
  margin-bottom: 0.625rem;
  border-radius: 0.875rem;
  border: 1.5px solid hsl(var(--cw-border) / 0.45);
  background: hsl(0 0% 9% / 0.65);
  text-align: left;
  transition:
    border-color 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-pay-method:hover {
  border-color: hsl(var(--cw-primary) / 0.35);
  background: hsl(0 0% 11% / 0.8);
  transform: translateY(-1px);
}

.cw-pay-method.is-active {
  border-color: hsl(var(--cw-primary) / 0.55);
  background: hsl(var(--cw-primary) / 0.07);
  box-shadow: 0 0 28px hsl(195 85% 60% / 0.14);
}

.cw-pay-method-icon {
  width: 2.625rem;
  height: 2.625rem;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: hsl(0 0% 14% / 0.9);
  border: 1px solid hsl(var(--cw-border) / 0.35);
  color: hsl(var(--cw-muted-fg));
  flex-shrink: 0;
  font-size: 1rem;
  transition: color 0.35s ease, border-color 0.35s ease;
}

.cw-pay-method.is-active .cw-pay-method-icon {
  color: hsl(var(--cw-primary));
  border-color: hsl(var(--cw-primary) / 0.35);
}

.cw-pay-method-text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.1875rem;
}

.cw-pay-method-text strong {
  font-size: 0.875rem;
  font-weight: 600;
  color: hsl(0 0% 96%);
}

.cw-pay-method-text small {
  font-size: 0.6875rem;
  color: hsl(var(--cw-muted-fg));
  line-height: 1.35;
}

.cw-pay-method-radio {
  width: 1.125rem;
  height: 1.125rem;
  border-radius: 9999px;
  border: 2px solid hsl(var(--cw-border) / 0.65);
  flex-shrink: 0;
  position: relative;
  transition: border-color 0.35s ease, transform 0.35s ease;
}

.cw-pay-method.is-active .cw-pay-method-radio {
  border-color: hsl(var(--cw-primary));
  transform: scale(1.05);
}

.cw-pay-method.is-active .cw-pay-method-radio::after {
  content: '';
  position: absolute;
  inset: 3px;
  border-radius: 9999px;
  background: hsl(var(--cw-primary));
  animation: cw-pay-radio-in 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes cw-pay-radio-in {
  from { transform: scale(0); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

.cw-pay-actions {
  margin-top: 0.875rem;
}

.cw-pay-email-field {
  margin-bottom: 0.75rem;
}

.cw-pay-email-label {
  display: block;
  margin-bottom: 0.375rem;
  font-size: 0.75rem;
  color: hsl(var(--cw-muted-fg));
}

.cw-pay-email-input {
  width: 100%;
  padding: 0.75rem 0.875rem;
  border-radius: 0.75rem;
  border: 1px solid hsl(var(--cw-border));
  background: hsl(var(--cw-card));
  color: hsl(var(--cw-fg));
  font-size: 0.875rem;
}

.cw-pay-email-input:focus {
  outline: none;
  border-color: hsl(var(--cw-primary));
}

.cw-pay-email-hint {
  margin-top: 0.375rem;
  font-size: 0.6875rem;
  color: hsl(var(--cw-muted-fg));
  line-height: 1.4;
}

.cw-pay-submit {
  padding: 0.9375rem 1rem;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  border-radius: 0.875rem !important;
}

.cw-pay-hint {
  margin-top: 0.75rem;
  font-size: 0.6875rem;
  text-align: center;
  color: hsl(var(--cw-muted-fg));
  line-height: 1.5;
}

.cw-pay-hint a {
  color: hsl(var(--cw-primary));
  transition: opacity 0.25s ease;
}

.cw-pay-hint a:hover {
  opacity: 0.85;
}

.cw-pay-error {
  margin-top: 0.625rem;
  font-size: 0.75rem;
  text-align: center;
  color: hsl(0 70% 62%);
}

.cw-pay-cancel {
  width: 100%;
  margin-top: 0.875rem;
  padding: 0.8125rem;
  border-radius: 0.875rem;
  border: 1px solid hsl(var(--cw-border) / 0.45);
  background: hsl(0 0% 8% / 0.5);
  color: hsl(var(--cw-muted-fg));
  font-size: 0.875rem;
  font-weight: 500;
  transition:
    color 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-pay-cancel:hover {
  color: hsl(0 0% 92%);
  border-color: hsl(var(--cw-border) / 0.65);
  background: hsl(0 0% 12% / 0.65);
}

/* Payment modal v2 — email top + method cards */
.cw-pay-modal-panel-v2 {
  max-width: 34rem;
  max-height: 96vh;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 1.125rem 1.375rem 1rem;
  isolation: isolate;
  border-color: hsl(195 85% 60% / 0.18);
  background:
    linear-gradient(165deg, hsl(0 0% 9% / 0.94) 0%, hsl(0 0% 6% / 0.97) 100%);
  box-shadow:
    0 0 0 1px hsl(0 0% 100% / 0.05) inset,
    0 0 0 1px hsl(195 85% 60% / 0.1),
    0 24px 64px hsl(0 0% 0% / 0.55),
    0 0 80px hsl(195 85% 60% / 0.12),
    0 0 120px hsl(270 55% 55% / 0.06);
  scrollbar-width: thin;
  scrollbar-color: hsl(var(--cw-border) / 0.8) transparent;
}

.cw-pay-modal-panel-v2 .cw-pay-modal-glow {
  left: 8%;
  right: 8%;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    hsl(195 85% 60% / 0.15),
    hsl(195 85% 70% / 0.65),
    hsl(195 85% 60% / 0.15),
    transparent
  );
  box-shadow: 0 0 18px hsl(195 85% 60% / 0.35);
}

.cw-pay-modal-ambient {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
  border-radius: inherit;
}

.cw-pay-modal-ambient::before,
.cw-pay-modal-ambient::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  filter: blur(40px);
  pointer-events: none;
}

.cw-pay-modal-ambient::before {
  top: -18%;
  left: -12%;
  width: 52%;
  height: 42%;
  background: radial-gradient(circle, hsl(195 85% 60% / 0.14), transparent 68%);
}

.cw-pay-modal-ambient::after {
  bottom: -22%;
  right: -10%;
  width: 48%;
  height: 40%;
  background: radial-gradient(circle, hsl(330 60% 55% / 0.1), transparent 70%);
}

.cw-pay-modal-panel-v2 > :not(.cw-pay-modal-glow):not(.cw-pay-modal-ambient) {
  position: relative;
  z-index: 1;
}

.cw-pay-modal-panel-v2::-webkit-scrollbar {
  width: 5px;
}

.cw-pay-modal-panel-v2::-webkit-scrollbar-track {
  background: transparent;
}

.cw-pay-modal-panel-v2::-webkit-scrollbar-thumb {
  background: hsl(var(--cw-border) / 0.75);
  border-radius: 9999px;
}

.cw-pay-modal-panel-v2 .cw-pay-modal-head {
  margin-bottom: 0.75rem;
}

.cw-pay-email-head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.cw-pay-email-head-icon {
  width: 1.75rem;
  height: 1.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  background: hsl(195 85% 60% / 0.12);
  color: hsl(195 88% 68%);
  font-size: 0.8125rem;
  box-shadow:
    0 0 16px hsl(195 85% 60% / 0.22),
    inset 0 1px 0 hsl(195 90% 80% / 0.12);
}

.cw-pay-email-head h3 {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0;
}

.cw-pay-summary-compact {
  margin-bottom: 0.625rem;
  padding: 0.625rem 0.75rem;
  border-color: hsl(195 85% 60% / 0.14);
  background: linear-gradient(135deg, hsl(0 0% 11% / 0.85), hsl(0 0% 8% / 0.92));
  box-shadow:
    inset 0 1px 0 hsl(0 0% 100% / 0.06),
    0 0 24px hsl(195 85% 60% / 0.07);
}

.cw-pay-summary-prices {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.125rem;
}

.cw-pay-summary-old {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 600;
  color: hsl(var(--cw-muted-fg) / 0.75);
  text-decoration: line-through;
}

.cw-pay-summary-discount {
  margin: -0.25rem 0 0.625rem;
  font-size: 0.6875rem;
  font-weight: 600;
  color: hsl(150 55% 62%);
}

.cw-pay-modal-panel-v2 .cw-pay-summary-price {
  text-shadow: 0 0 22px hsl(195 85% 60% / 0.45);
}

.cw-pay-email-block {
  margin-bottom: 0;
}

.cw-pay-email-block .cw-pay-email-hint {
  margin-top: 0.3125rem;
  font-size: 0.625rem;
  line-height: 1.35;
}

.cw-pay-email-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.cw-pay-email-input-wrap.has-error .cw-pay-email-input-v2 {
  border-color: hsl(0 65% 55% / 0.65);
}

.cw-pay-email-input-icon {
  position: absolute;
  left: 0.875rem;
  color: hsl(var(--cw-muted-fg) / 0.75);
  font-size: 0.8125rem;
  pointer-events: none;
}

.cw-pay-email-input-v2 {
  width: 100%;
  padding: 0.8125rem 0.875rem 0.8125rem 2.375rem;
  border-radius: 0.75rem;
  border: 1px solid hsl(var(--cw-border) / 0.5);
  background: hsl(0 0% 8% / 0.9);
  color: hsl(0 0% 98%);
  font-size: 0.875rem;
  font-weight: 600;
  box-shadow: inset 0 1px 0 hsl(0 0% 100% / 0.04);
  transition:
    border-color 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease;
}

.cw-pay-email-input-v2::placeholder {
  color: hsl(var(--cw-muted-fg) / 0.55);
  font-weight: 500;
}

.cw-pay-email-input-v2:focus {
  outline: none;
  border-color: hsl(195 85% 60% / 0.45);
  background: hsl(0 0% 10% / 0.96);
  box-shadow:
    0 0 0 3px hsl(195 85% 60% / 0.1),
    0 0 28px hsl(195 85% 60% / 0.12),
    inset 0 1px 0 hsl(0 0% 100% / 0.05);
}

.cw-pay-email-error {
  margin-top: 0.375rem;
  font-size: 0.6875rem;
  color: hsl(0 70% 62%);
  line-height: 1.4;
}

.cw-pay-divider {
  height: 1px;
  margin: 0.625rem 0 0.75rem;
  background: linear-gradient(
    90deg,
    transparent,
    hsl(195 85% 60% / 0.08),
    hsl(195 85% 60% / 0.35),
    hsl(195 85% 60% / 0.08),
    transparent
  );
  box-shadow: 0 0 14px hsl(195 85% 60% / 0.12);
}

.cw-pay-methods-head {
  margin-bottom: 0.5rem;
}

.cw-pay-methods-sub {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  color: hsl(var(--cw-muted-fg) / 0.85);
  line-height: 1.4;
}

.cw-pay-method-list {
  display: flex;
  flex-direction: column;
  gap: 0.4375rem;
}

.cw-pay-method-card {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.6875rem 0.75rem 0.6875rem 0.875rem;
  border-radius: 0.875rem;
  border: 1px solid hsl(var(--cw-border) / 0.38);
  background: linear-gradient(180deg, hsl(0 0% 10% / 0.82), hsl(0 0% 8% / 0.88));
  text-align: left;
  box-shadow:
    inset 0 1px 0 hsl(0 0% 100% / 0.05),
    0 2px 10px hsl(0 0% 0% / 0.18);
  transition:
    border-color 0.25s ease,
    background 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.cw-pay-method-card--ru:hover:not(:disabled) {
  border-color: hsl(330 58% 52% / 0.42);
  box-shadow:
    inset 0 1px 0 hsl(330 85% 78% / 0.08),
    0 0 28px hsl(330 70% 50% / 0.14),
    0 4px 14px hsl(0 0% 0% / 0.22);
}

.cw-pay-method-card--ru.is-active {
  border-color: hsl(330 58% 52% / 0.52);
  background: linear-gradient(180deg, hsl(330 42% 24% / 0.12), hsl(0 0% 8% / 0.9));
  box-shadow:
    inset 0 1px 0 hsl(330 85% 78% / 0.1),
    0 0 36px hsl(330 70% 50% / 0.2);
}

.cw-pay-method-card--eu:hover:not(:disabled) {
  border-color: hsl(195 85% 60% / 0.38);
  box-shadow:
    inset 0 1px 0 hsl(195 90% 80% / 0.08),
    0 0 28px hsl(195 85% 60% / 0.14),
    0 4px 14px hsl(0 0% 0% / 0.22);
}

.cw-pay-method-card--eu.is-active {
  border-color: hsl(195 85% 60% / 0.48);
  background: linear-gradient(180deg, hsl(195 85% 60% / 0.08), hsl(0 0% 8% / 0.9));
  box-shadow:
    inset 0 1px 0 hsl(195 90% 80% / 0.1),
    0 0 36px hsl(195 85% 60% / 0.2);
}

.cw-pay-method-card--ltc:hover:not(:disabled) {
  border-color: hsl(45 58% 48% / 0.42);
  box-shadow:
    inset 0 1px 0 hsl(45 90% 72% / 0.08),
    0 0 28px hsl(45 70% 50% / 0.14),
    0 4px 14px hsl(0 0% 0% / 0.22);
}

.cw-pay-method-card--ltc.is-active {
  border-color: hsl(45 58% 48% / 0.52);
  background: linear-gradient(180deg, hsl(45 42% 22% / 0.12), hsl(0 0% 8% / 0.9));
  box-shadow:
    inset 0 1px 0 hsl(45 90% 72% / 0.1),
    0 0 36px hsl(45 70% 50% / 0.2);
}

.cw-pay-method-card--btc:hover:not(:disabled) {
  border-color: hsl(28 58% 48% / 0.42);
  box-shadow:
    inset 0 1px 0 hsl(28 90% 72% / 0.08),
    0 0 28px hsl(28 70% 50% / 0.14),
    0 4px 14px hsl(0 0% 0% / 0.22);
}

.cw-pay-method-card--btc.is-active {
  border-color: hsl(28 58% 48% / 0.52);
  background: linear-gradient(180deg, hsl(28 42% 22% / 0.12), hsl(0 0% 8% / 0.9));
  box-shadow:
    inset 0 1px 0 hsl(28 90% 72% / 0.1),
    0 0 36px hsl(28 70% 50% / 0.2);
}

.cw-pay-method-card:hover:not(:disabled) {
  transform: translateY(-1px);
}

.cw-pay-method-card.is-active {
  transform: translateY(-1px);
}

.cw-pay-method-card.is-loading {
  opacity: 0.7;
  pointer-events: none;
}

.cw-pay-method-card-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.1875rem;
  padding-right: 0.25rem;
}

.cw-pay-method-card-body strong {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: hsl(0 0% 96%);
}

.cw-pay-method-meta {
  font-size: 0.6875rem;
  color: hsl(var(--cw-muted-fg) / 0.9);
  line-height: 1.35;
}

.cw-pay-method-card-body small {
  font-size: 0.6875rem;
  color: hsl(var(--cw-muted-fg) / 0.75);
  line-height: 1.35;
}

.cw-pay-method-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem;
  margin-top: 0.3125rem;
  margin-bottom: 0.0625rem;
}

.cw-pay-method-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.3125rem;
  padding: 0.1875rem 0.5625rem 0.1875rem 0.5rem;
  border-radius: 9999px;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.2;
  white-space: nowrap;
  color: hsl(0 0% 90%);
  background: linear-gradient(180deg, hsl(0 0% 17% / 0.98), hsl(0 0% 11% / 0.98));
  border: 1px solid hsl(0 0% 100% / 0.09);
  box-shadow:
    inset 0 1px 0 hsl(0 0% 100% / 0.07),
    0 1px 2px hsl(0 0% 0% / 0.22);
}

.cw-pay-method-tag i {
  font-size: 0.5625rem;
  opacity: 0.9;
}

.cw-pay-method-tag.is-sbp {
  color: hsl(330 82% 78%);
  background: linear-gradient(180deg, hsl(330 42% 24% / 0.72), hsl(330 38% 14% / 0.82));
  border-color: hsl(330 58% 52% / 0.38);
  box-shadow:
    inset 0 1px 0 hsl(330 85% 78% / 0.14),
    0 0 18px hsl(330 70% 50% / 0.22);
}

.cw-pay-method-tag.is-gpay {
  color: hsl(210 88% 78%);
  background: linear-gradient(180deg, hsl(210 38% 22% / 0.72), hsl(210 34% 14% / 0.82));
  border-color: hsl(210 55% 48% / 0.32);
  box-shadow:
    inset 0 1px 0 hsl(210 90% 80% / 0.1),
    0 0 16px hsl(210 70% 50% / 0.16);
}

.cw-pay-method-tag.is-card {
  color: hsl(0 0% 88%);
  background: linear-gradient(180deg, hsl(0 0% 19% / 0.95), hsl(0 0% 12% / 0.95));
  border-color: hsl(0 0% 100% / 0.1);
  box-shadow:
    inset 0 1px 0 hsl(0 0% 100% / 0.06),
    0 0 12px hsl(0 0% 100% / 0.04);
}

.cw-pay-method-tag.is-apple {
  color: hsl(0 0% 94%);
  background: linear-gradient(180deg, hsl(0 0% 22% / 0.95), hsl(0 0% 14% / 0.95));
  border-color: hsl(0 0% 100% / 0.14);
  box-shadow:
    inset 0 1px 0 hsl(0 0% 100% / 0.08),
    0 0 14px hsl(0 0% 100% / 0.06);
}

.cw-pay-method-tag.is-ltc {
  color: hsl(45 90% 68%);
  background: linear-gradient(180deg, hsl(45 42% 22% / 0.72), hsl(45 38% 13% / 0.82));
  border-color: hsl(45 58% 48% / 0.35);
  box-shadow:
    inset 0 1px 0 hsl(45 90% 72% / 0.12),
    0 0 20px hsl(45 70% 50% / 0.2);
}

.cw-pay-method-tag.is-btc {
  color: hsl(28 92% 68%);
  background: linear-gradient(180deg, hsl(28 42% 22% / 0.72), hsl(28 38% 13% / 0.82));
  border-color: hsl(28 58% 48% / 0.35);
  box-shadow:
    inset 0 1px 0 hsl(28 90% 72% / 0.12),
    0 0 20px hsl(28 70% 50% / 0.2);
}

.cw-pay-method-card:hover:not(:disabled) .cw-pay-method-tag.is-sbp,
.cw-pay-method-card.is-active .cw-pay-method-tag.is-sbp {
  box-shadow:
    inset 0 1px 0 hsl(330 85% 78% / 0.16),
    0 0 22px hsl(330 70% 50% / 0.28);
}

.cw-pay-method-card:hover:not(:disabled) .cw-pay-method-tag.is-ltc,
.cw-pay-method-card.is-active .cw-pay-method-tag.is-ltc {
  box-shadow:
    inset 0 1px 0 hsl(45 90% 72% / 0.14),
    0 0 22px hsl(45 70% 50% / 0.26);
}

.cw-pay-method-card:hover:not(:disabled) .cw-pay-method-tag.is-btc,
.cw-pay-method-card.is-active .cw-pay-method-tag.is-btc {
  box-shadow:
    inset 0 1px 0 hsl(28 90% 72% / 0.14),
    0 0 22px hsl(28 70% 50% / 0.26);
}

.cw-pay-method-arrow {
  flex-shrink: 0;
  font-size: 0.75rem;
  color: hsl(var(--cw-muted-fg) / 0.65);
  transition: color 0.2s ease, transform 0.2s ease;
}

.cw-pay-method-card:hover:not(:disabled) .cw-pay-method-arrow,
.cw-pay-method-card.is-active .cw-pay-method-arrow {
  color: hsl(0 0% 92%);
  transform: translateX(2px);
}

.cw-pay-method-badge {
  position: absolute;
  top: -0.4375rem;
  right: 0.75rem;
  padding: 0.125rem 0.4375rem;
  border-radius: 9999px;
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.4;
}

.cw-pay-method-badge.is-recommended {
  color: hsl(330 85% 72%);
  background: hsl(330 55% 45% / 0.25);
  box-shadow: 0 0 12px hsl(330 70% 55% / 0.25);
}

.cw-pay-method-badge.is-alt {
  color: hsl(270 75% 75%);
  background: hsl(270 55% 45% / 0.25);
  box-shadow: 0 0 12px hsl(270 70% 55% / 0.2);
}

.cw-pay-method-badge.is-crypto {
  color: hsl(45 90% 68%);
  background: hsl(45 55% 40% / 0.25);
  box-shadow: 0 0 12px hsl(45 70% 50% / 0.2);
}

.cw-pay-modal-panel-v2 .cw-pay-cancel {
  margin-top: 0.625rem;
  padding: 0.6875rem;
  border-color: hsl(var(--cw-border) / 0.35);
  background: hsl(0 0% 7% / 0.55);
  transition:
    color 0.2s ease,
    border-color 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease;
}

.cw-pay-modal-panel-v2 .cw-pay-cancel:hover {
  border-color: hsl(195 85% 60% / 0.22);
  box-shadow: 0 0 20px hsl(195 85% 60% / 0.08);
}

.cw-pay-modal-panel-v2 .cw-pay-error,
.cw-pay-modal-panel-v2 .cw-pay-loading {
  margin-top: 0.5rem;
}

.cw-pay-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
  font-size: 0.75rem;
  color: hsl(var(--cw-muted-fg));
}

.cw-pay-loading-spin {
  width: 0.875rem;
  height: 0.875rem;
  border: 2px solid hsl(var(--cw-primary) / 0.2);
  border-top-color: hsl(var(--cw-primary));
  border-radius: 50%;
  animation: cw-pay-spin 0.8s linear infinite;
}

@keyframes cw-pay-spin {
  to { transform: rotate(360deg); }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Upsell modal (pre-checkout) */
.cw-upsell-panel {
  max-width: 24rem;
  padding: 1.5rem 1.375rem 1.375rem;
}

.cw-upsell-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 2;
}

.cw-upsell-head {
  text-align: center;
  margin-bottom: 1.25rem;
  padding-right: 1.75rem;
}

.cw-upsell-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin-bottom: 0.875rem;
  padding: 0.3125rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: hsl(var(--cw-primary));
  background: hsl(195 85% 60% / 0.1);
  border: 1px solid hsl(195 85% 60% / 0.22);
}

.cw-upsell-title {
  margin: 0 0 0.5rem;
  font-size: 1.375rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.2;
  color: hsl(0 0% 98%);
}

.cw-upsell-subtitle {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.55;
  color: hsl(var(--cw-muted-fg) / 0.95);
}

.cw-upsell-list {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-bottom: 1rem;
}

.cw-upsell-card {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0.875rem 1rem;
  border-radius: 0.875rem;
  border: 1px solid hsl(var(--cw-border) / 0.35);
  background: hsl(0 0% 9% / 0.75);
  text-decoration: none;
  color: inherit;
  transition:
    border-color 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-upsell-card:hover {
  border-color: hsl(var(--cw-primary) / 0.45);
  background: hsl(195 85% 60% / 0.06);
  transform: translateY(-1px);
  box-shadow: 0 8px 24px hsl(0 0% 0% / 0.35);
}

.cw-upsell-card-thumb {
  position: relative;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.625rem;
  overflow: hidden;
  flex-shrink: 0;
  border: 1px solid hsl(var(--cw-border) / 0.35);
  background: hsl(0 0% 12% / 0.9);
}

.cw-upsell-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cw-upsell-card-thumb-fallback {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: hsl(var(--cw-primary));
  font-size: 0.9375rem;
  background: hsl(195 85% 60% / 0.08);
}

.cw-upsell-card-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.cw-upsell-card-top {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.375rem;
}

.cw-upsell-card-top strong {
  font-size: 0.875rem;
  font-weight: 700;
  color: hsl(0 0% 96%);
}

.cw-upsell-card-tag {
  display: inline-flex;
  padding: 0.125rem 0.4375rem;
  border-radius: 9999px;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: hsl(var(--cw-primary));
  background: hsl(195 85% 60% / 0.12);
  border: 1px solid hsl(195 85% 60% / 0.25);
}

.cw-upsell-card-price {
  font-size: 0.75rem;
  color: hsl(var(--cw-muted-fg));
}

.cw-upsell-card-arrow {
  flex-shrink: 0;
  font-size: 0.6875rem;
  color: hsl(var(--cw-muted-fg) / 0.65);
  transition: transform 0.3s ease, color 0.3s ease;
}

.cw-upsell-card:hover .cw-upsell-card-arrow {
  color: hsl(var(--cw-primary));
  transform: translateX(2px);
}

.cw-upsell-continue {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.9375rem 1rem;
  border-radius: 0.875rem;
  border: 1px solid hsl(0 0% 100% / 0.14);
  background: transparent;
  color: hsl(var(--cw-primary));
  font-size: 0.875rem;
  font-weight: 700;
  cursor: pointer;
  transition:
    color 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-upsell-continue:hover {
  border-color: hsl(var(--cw-primary) / 0.45);
  background: hsl(195 85% 60% / 0.08);
  box-shadow: 0 0 24px hsl(195 85% 60% / 0.12);
  transform: translateY(-1px);
}

.cw-upsell-continue i {
  font-size: 0.75rem;
  transition: transform 0.3s ease;
}

.cw-upsell-continue:hover i {
  transform: translateX(3px);
}

/* Legal pages */
.cw-legal-page .cw-legal-content h2 {
  margin: 0 0 1rem;
  font-size: 1.25rem;
  font-weight: 800;
  color: hsl(var(--cw-primary));
  letter-spacing: 0.01em;
}

.cw-legal-page .cw-legal-content h3 {
  margin: 1.25rem 0 0.5rem;
  font-size: 1rem;
  font-weight: 700;
  color: hsl(0 0% 95%);
}

.cw-legal-page .cw-legal-content p,
.cw-legal-page .cw-legal-content li {
  line-height: 1.75;
  color: hsl(var(--cw-muted-fg));
}

.cw-legal-page .cw-legal-content a {
  color: hsl(var(--cw-primary));
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cw-legal-page .cw-legal-content a:hover {
  color: hsl(195 85% 70%);
}

.cw-legal-notice {
  margin-top: 1rem;
  padding: 0.875rem 1rem;
  border-radius: 0.75rem;
  border: 1px solid hsl(195 85% 60% / 0.25);
  background: hsl(195 85% 60% / 0.08);
  color: hsl(0 0% 90%) !important;
}

.cw-legal-definitions {
  display: grid;
  gap: 0.875rem;
  margin: 1rem 0 1.25rem;
}

.cw-legal-definitions dt {
  font-weight: 700;
  color: hsl(0 0% 92%);
}

.cw-legal-definitions dd {
  margin: 0.25rem 0 0;
  padding-left: 0.75rem;
  border-left: 2px solid hsl(195 85% 60% / 0.25);
}

.cw-legal-list {
  margin: 0;
  padding-left: 1.25rem;
  display: grid;
  gap: 0.75rem;
}

/* === v3 — visual polish (revert: node scripts/restore-visual-polish.mjs) === */

@keyframes cw-hero-breathe {
  0%, 100% {
    opacity: 0.75;
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.08);
  }
}

@keyframes cw-badge-glow {
  0%, 100% {
    box-shadow: 0 0 20px hsl(var(--cw-primary) / 0.1);
  }
  50% {
    box-shadow: 0 0 28px hsl(var(--cw-primary) / 0.22);
  }
}

@keyframes cw-hero-enter {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes cw-dock-glow {
  0%, 100% {
    box-shadow:
      0 16px 48px hsl(0 0% 0% / 0.55),
      0 0 0 1px hsl(0 0% 100% / 0.05) inset,
      0 0 32px hsl(var(--cw-primary) / 0.07);
  }
  50% {
    box-shadow:
      0 16px 48px hsl(0 0% 0% / 0.55),
      0 0 0 1px hsl(0 0% 100% / 0.05) inset,
      0 0 40px hsl(var(--cw-primary) / 0.14);
  }
}

@keyframes cw-shimmer {
  0% { transform: translateX(-120%) skewX(-12deg); }
  100% { transform: translateX(220%) skewX(-12deg); }
}

@keyframes cw-divider-grow {
  from { transform: scaleX(0); opacity: 0; }
  to { transform: scaleX(1); opacity: 1; }
}

.cw-hero-glow {
  animation: cw-hero-breathe 10s ease-in-out infinite;
}

.cw-badge-glow {
  animation: cw-badge-glow 3.5s ease-in-out infinite;
}

.cw-hero-enter {
  opacity: 0;
  animation: cw-hero-enter 0.85s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: var(--cw-enter-delay, 0ms);
}

.cw-navbar-dock {
  animation: cw-dock-glow 6s ease-in-out infinite;
}

.cw-navbar-dock .cw-nav-link.active {
  position: relative;
}

.cw-navbar-dock .cw-nav-link.active::after {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  border: 1px solid hsl(var(--cw-primary) / 0.35);
  pointer-events: none;
  animation: cw-badge-glow 2.5s ease-in-out infinite;
}

.cw-btn-shine {
  position: relative;
  overflow: hidden;
}

.cw-btn-shine::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 40%, hsl(0 0% 100% / 0.22) 50%, transparent 60%);
  transform: translateX(-120%);
  transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}

.cw-btn-shine:hover::after {
  transform: translateX(120%);
}

.cw-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--cw-reveal-delay, 0ms);
}

.cw-reveal-visible {
  opacity: 1;
  transform: translateY(0);
}

.cw-section-divider {
  width: 5rem;
  height: 3px;
  margin: 1.25rem auto 0;
  border-radius: 9999px;
  background: linear-gradient(90deg, transparent, hsl(var(--cw-primary)), transparent);
  transform-origin: center;
}

.cw-section-divider-static {
  transform: scaleX(1);
  opacity: 1;
}

.cw-cat-shimmer {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(105deg, transparent 35%, hsl(var(--cw-primary) / 0.14) 50%, transparent 65%);
  transform: translateX(-120%) skewX(-12deg);
  opacity: 0;
  transition: opacity 0.35s ease;
}

.cw-category-card:hover .cw-cat-shimmer {
  opacity: 1;
  animation: cw-shimmer 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-trust-marquee-enhanced::before,
.cw-trust-marquee-enhanced::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 6rem;
  z-index: 2;
  pointer-events: none;
}

.cw-trust-marquee-enhanced::before {
  left: 0;
  background: linear-gradient(90deg, hsl(var(--cw-bg)), transparent);
}

.cw-trust-marquee-enhanced::after {
  right: 0;
  background: linear-gradient(270deg, hsl(var(--cw-bg)), transparent);
}

.cw-trust-marquee-enhanced:hover .cw-trust-marquee-track {
  animation-play-state: paused;
}

.cw-about-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, hsl(var(--cw-primary) / 0.6), transparent);
  opacity: 0;
  transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-about-card:hover::before {
  opacity: 1;
}

.cw-about-card:hover .cw-about-icon {
  transform: scale(1.08) rotate(-3deg);
}

.cw-about-icon {
  transition: var(--transition-smooth), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-hero-stat {
  position: relative;
  overflow: hidden;
}

.cw-hero-stat::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, hsl(var(--cw-primary) / 0.08), transparent 55%);
  opacity: 0;
  transition: opacity 0.45s ease;
  pointer-events: none;
}

.cw-hero-stat:hover::after {
  opacity: 1;
}

.cw-hero-stat-value {
  font-variant-numeric: tabular-nums;
}

.cw-nav-logo-link:hover .cw-nav-logo-img {
  animation: none;
  transform: scale(1.1) rotate(-4deg);
}

@media (prefers-reduced-motion: reduce) {
  .cw-hero-enter,
  .cw-reveal {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }

  .cw-hero-glow,
  .cw-badge-glow,
  .cw-navbar-dock {
    animation: none !important;
  }
}

/* Free Keys page */
.cw-free-keys-page {
  max-width: 56rem;
  margin: 0 auto;
}

.cw-free-keys-hero {
  text-align: center;
  margin-bottom: 2.5rem;
}

.cw-free-keys-subtitle {
  max-width: 32rem;
  margin: 0 auto;
  font-size: 1rem;
  line-height: 1.6;
  color: hsl(var(--cw-muted-fg));
}

.cw-free-keys-subtitle strong,
.cw-free-keys-detail-lead strong {
  color: hsl(var(--cw-primary));
  font-weight: 700;
}

.cw-free-keys-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-bottom: 2rem;
}

@media (min-width: 768px) {
  .cw-free-keys-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
  }
}

.cw-free-keys-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 2rem 1.5rem 1.75rem;
  min-height: 100%;
}

.cw-free-keys-card-icon {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 0.875rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  margin-bottom: 1.25rem;
}

.cw-free-keys-card-icon--media {
  color: hsl(var(--cw-primary));
  background: hsl(195 85% 60% / 0.12);
  border: 1px solid hsl(195 85% 60% / 0.25);
}

.cw-free-keys-card-icon--referral {
  color: hsl(150 70% 58%);
  background: hsl(150 55% 38% / 0.12);
  border: 1px solid hsl(150 70% 52% / 0.25);
}

.cw-free-keys-card-title {
  font-size: 1.375rem;
  font-weight: 800;
  color: hsl(0 0% 98%);
  margin-bottom: 0.75rem;
}

.cw-free-keys-card-text {
  flex: 1;
  font-size: 0.875rem;
  line-height: 1.65;
  color: hsl(var(--cw-muted-fg));
  margin-bottom: 1.5rem;
}

.cw-free-keys-card-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.875rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
}

.cw-free-keys-detail {
  padding: 1.75rem 1.5rem;
  margin-bottom: 1.5rem;
  scroll-margin-top: calc(var(--cw-dock-space) + 1rem);
}

@media (min-width: 768px) {
  .cw-free-keys-detail {
    padding: 2rem 2rem;
  }
}

.cw-free-keys-detail-head {
  text-align: center;
  margin-bottom: 1.75rem;
}

.cw-free-keys-detail-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.3125rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: hsl(var(--cw-primary));
  background: hsl(195 85% 60% / 0.1);
  border: 1px solid hsl(195 85% 60% / 0.25);
  margin-bottom: 0.875rem;
}

.cw-free-keys-detail-badge--referral {
  color: hsl(150 70% 58%);
  background: hsl(150 55% 38% / 0.1);
  border-color: hsl(150 70% 52% / 0.25);
}

.cw-free-keys-detail-title {
  font-size: 1.75rem;
  font-weight: 900;
  color: hsl(0 0% 98%);
  margin-bottom: 0.625rem;
}

.cw-free-keys-detail-lead {
  font-size: 0.9375rem;
  color: hsl(var(--cw-muted-fg));
}

.cw-free-keys-detail-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

@media (min-width: 768px) {
  .cw-free-keys-detail-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.cw-free-keys-mini-card {
  padding: 1.125rem;
  border-radius: 0.875rem;
  border: 1px solid hsl(var(--cw-border) / 0.3);
  background: hsl(0 0% 5% / 0.45);
}

.cw-free-keys-mini-icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: hsl(var(--cw-primary));
  background: hsl(195 85% 60% / 0.1);
  margin-bottom: 0.75rem;
}

.cw-free-keys-mini-card h3 {
  font-size: 0.9375rem;
  font-weight: 800;
  color: hsl(0 0% 96%);
  margin-bottom: 0.5rem;
}

.cw-free-keys-mini-card p {
  font-size: 0.8125rem;
  line-height: 1.55;
  color: hsl(var(--cw-muted-fg));
}

.cw-free-keys-benefits {
  padding: 1.25rem 1.125rem;
  border-radius: 0.875rem;
  border: 1px solid hsl(195 85% 60% / 0.18);
  background: linear-gradient(180deg, hsl(195 85% 60% / 0.04) 0%, hsl(0 0% 5% / 0.45) 100%);
  margin-bottom: 1.25rem;
}

.cw-free-keys-benefits--requirements {
  border-color: hsl(var(--cw-border) / 0.32);
  background: hsl(0 0% 5% / 0.35);
}

.cw-free-keys-benefits h3 {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9375rem;
  font-weight: 800;
  color: hsl(0 0% 95%);
  margin-bottom: 0.875rem;
}

.cw-free-keys-benefits h3 i {
  color: hsl(var(--cw-primary));
}

.cw-free-keys-benefits ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.cw-free-keys-benefits li {
  position: relative;
  padding-left: 1.125rem;
  font-size: 0.8125rem;
  line-height: 1.55;
  color: hsl(0 0% 82%);
}

.cw-free-keys-benefits li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.5rem;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 9999px;
  background: hsl(var(--cw-primary));
}

.cw-free-keys-benefits li strong {
  color: hsl(var(--cw-primary));
}

.cw-free-keys-referral-box {
  padding: 1.25rem 1.125rem;
  border-radius: 0.875rem;
  border: 1px solid hsl(150 70% 52% / 0.25);
  background: linear-gradient(135deg, hsl(150 55% 38% / 0.08), hsl(0 0% 5% / 0.35));
  margin-bottom: 1.5rem;
}

.cw-free-keys-referral-main {
  font-size: 0.9375rem;
  line-height: 1.7;
  color: hsl(0 0% 88%);
  margin: 0;
}

.cw-free-keys-referral-main strong {
  color: hsl(150 70% 62%);
}

.cw-free-keys-cta {
  text-align: center;
  padding: 1.5rem 1.125rem;
  border-radius: 0.875rem;
  border: 1px solid hsl(var(--cw-border) / 0.25);
  background: hsl(0 0% 4% / 0.55);
}

.cw-free-keys-cta-icon {
  width: 3rem;
  height: 3rem;
  margin: 0 auto 0.875rem;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: hsl(var(--cw-primary));
  background: hsl(195 85% 60% / 0.12);
  border: 1px solid hsl(195 85% 60% / 0.22);
}

.cw-free-keys-cta h3 {
  font-size: 1.125rem;
  font-weight: 800;
  color: hsl(0 0% 98%);
  margin-bottom: 0.5rem;
}

.cw-free-keys-cta p {
  max-width: 34rem;
  margin: 0 auto 1.125rem;
  font-size: 0.8125rem;
  line-height: 1.65;
  color: hsl(var(--cw-muted-fg));
}

.cw-free-keys-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.875rem 1.5rem;
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
}

/* Customer reviews marquee */
.cw-customer-reviews {
  position: relative;
}

.cw-reviews-marquee {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 1rem;
}

.cw-reviews-marquee::before,
.cw-reviews-marquee::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 6rem;
  z-index: 2;
  pointer-events: none;
}

.cw-reviews-marquee::before {
  left: 0;
  background: linear-gradient(90deg, hsl(var(--cw-bg)), transparent);
}

.cw-reviews-marquee::after {
  right: 0;
  background: linear-gradient(270deg, hsl(var(--cw-bg)), transparent);
}

.cw-reviews-marquee-track {
  display: flex;
  gap: 1rem;
  width: max-content;
  animation: cw-marquee 110s linear infinite;
}

.cw-reviews-marquee-track--reverse {
  animation-direction: reverse;
  animation-duration: 95s;
}

.cw-reviews-marquee:hover .cw-reviews-marquee-track {
  animation-play-state: paused;
}

.cw-review-card {
  flex-shrink: 0;
  width: 18.5rem;
  padding: 1.125rem 1.125rem 1rem;
  border-radius: 1rem;
  border: 1px solid hsl(var(--cw-border) / 0.35);
  background: linear-gradient(180deg, hsl(195 85% 60% / 0.05) 0%, hsl(0 0% 5% / 0.55) 100%);
  box-shadow: 0 8px 28px -12px hsl(0 0% 0% / 0.55);
}

.cw-review-card-stars {
  display: flex;
  gap: 0.125rem;
  margin-bottom: 0.75rem;
  color: hsl(45 95% 58%);
  font-size: 0.6875rem;
}

.cw-review-card-text {
  min-height: 4.5rem;
  margin: 0 0 1rem;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: hsl(0 0% 88%);
  white-space: normal;
}

.cw-review-card-foot {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding-top: 0.75rem;
  border-top: 1px solid hsl(var(--cw-border) / 0.25);
}

.cw-review-card-avatar {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.6875rem;
  font-weight: 800;
  color: hsl(var(--cw-primary));
  background: hsl(195 85% 60% / 0.12);
  border: 1px solid hsl(195 85% 60% / 0.25);
  flex-shrink: 0;
}

.cw-review-card-name {
  font-size: 0.8125rem;
  font-weight: 700;
  color: hsl(0 0% 94%);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
  .cw-reviews-marquee-track {
    animation: none !important;
    flex-wrap: wrap;
    width: auto;
    justify-content: center;
  }

  .cw-reviews-marquee--bottom {
    display: none;
  }
}

/* Customer dashboard */
.cw-customer-page {
  padding: calc(var(--cw-dock-space) + 1.25rem) 0 3rem;
}

.cw-customer-wrap {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 72rem;
  margin: 0 auto;
}

.cw-customer-hero,
.cw-customer-loyalty,
.cw-customer-nav,
.cw-customer-panel {
  border-radius: 1.25rem;
  border: 1px solid hsl(260 20% 22% / 0.55);
  background: linear-gradient(180deg, hsl(260 18% 12% / 0.92) 0%, hsl(260 16% 8% / 0.96) 100%);
  box-shadow: 0 12px 40px -20px hsl(0 0% 0% / 0.65);
}

.cw-customer-hero {
  padding: 1.25rem 1.5rem;
}

.cw-customer-hero-main {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
}

.cw-customer-profile {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}

.cw-customer-avatar {
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.375rem;
  font-weight: 800;
  color: hsl(var(--cw-primary));
  background: linear-gradient(135deg, hsl(195 85% 60% / 0.18), hsl(260 50% 40% / 0.25));
  border: 1px solid hsl(195 85% 60% / 0.35);
  flex-shrink: 0;
}

.cw-customer-name {
  margin: 0;
  font-size: 1.75rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  color: hsl(0 0% 98%);
  line-height: 1.1;
}

.cw-customer-email {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0.35rem 0 0;
  font-size: 0.8125rem;
  color: hsl(var(--cw-muted-fg));
}

.cw-customer-verified {
  color: hsl(142 70% 50%);
  font-size: 0.875rem;
}

.cw-customer-balance-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.cw-customer-balance-label {
  font-size: 0.75rem;
  color: hsl(var(--cw-muted-fg));
}

.cw-customer-balance-value {
  font-size: 0.9375rem;
  font-weight: 700;
  color: hsl(0 0% 96%);
}

.cw-customer-balance-add {
  width: 1.625rem;
  height: 1.625rem;
  border-radius: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: hsl(var(--cw-primary));
  background: hsl(195 85% 60% / 0.12);
  border: 1px solid hsl(195 85% 60% / 0.25);
  transition: var(--transition-smooth);
}

.cw-customer-balance-add:hover {
  background: hsl(195 85% 60% / 0.2);
}

.cw-customer-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 2rem;
}

.cw-customer-stat {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  min-width: 5.5rem;
}

.cw-customer-stat-label {
  font-size: 0.6875rem;
  color: hsl(var(--cw-muted-fg));
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.cw-customer-stat-value {
  font-size: 1.375rem;
  font-weight: 800;
  color: hsl(0 0% 96%);
  line-height: 1;
}

.cw-customer-stat-value--sm {
  font-size: 0.9375rem;
  font-weight: 700;
}

.cw-customer-loyalty {
  padding: 1.25rem 1.5rem 1rem;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  gap: 0.75rem 1rem;
  align-items: center;
}

.cw-customer-loyalty-main {
  grid-column: 1;
}

.cw-customer-loyalty-title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: hsl(0 0% 96%);
}

.cw-customer-loyalty-sub {
  margin: 0.375rem 0 0;
  font-size: 0.8125rem;
  color: hsl(var(--cw-muted-fg));
}

.cw-customer-rank {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.cw-customer-rank-text {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.125rem;
}

.cw-customer-rank-name {
  font-size: 0.875rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: hsl(0 0% 94%);
}

.cw-customer-rank-level {
  font-size: 0.6875rem;
  color: hsl(var(--cw-muted-fg));
}

.cw-customer-rank-badge {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  font-weight: 900;
  color: hsl(var(--cw-primary));
  background: radial-gradient(circle at 30% 30%, hsl(195 85% 60% / 0.25), hsl(260 40% 20% / 0.5));
  border: 1px solid hsl(195 85% 60% / 0.35);
}

.cw-customer-progress {
  grid-column: 1 / -1;
  height: 0.375rem;
  border-radius: 9999px;
  background: hsl(260 15% 14%);
  overflow: hidden;
}

.cw-customer-progress-bar {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, hsl(195 85% 60%), hsl(260 60% 55%));
  transition: width 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-customer-nav {
  padding: 0.875rem 1rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.cw-customer-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

.cw-customer-tab {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5625rem 0.875rem;
  border-radius: 0.75rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: hsl(var(--cw-muted-fg));
  border: 1px solid transparent;
  transition: var(--transition-smooth);
}

.cw-customer-tab:hover {
  color: hsl(0 0% 94%);
  background: hsl(195 85% 60% / 0.06);
}

.cw-customer-tab.is-active {
  color: hsl(0 0% 98%);
  border-color: hsl(195 85% 60% / 0.35);
  background: hsl(195 85% 60% / 0.1);
}

.cw-customer-nav-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.cw-customer-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5625rem 0.875rem;
  border-radius: 0.75rem;
  font-size: 0.8125rem;
  font-weight: 700;
  border: 1px solid transparent;
  transition: var(--transition-smooth);
}

.cw-customer-btn--ghost {
  color: hsl(0 0% 90%);
  border-color: hsl(260 15% 24%);
  background: hsl(260 14% 10% / 0.8);
}

.cw-customer-btn--ghost:hover {
  border-color: hsl(195 85% 60% / 0.35);
  background: hsl(195 85% 60% / 0.08);
}

.cw-customer-btn--primary {
  color: hsl(0 0% 98%);
  background: linear-gradient(135deg, hsl(195 85% 55%), hsl(260 55% 50%));
  box-shadow: 0 8px 24px -8px hsl(195 85% 60% / 0.45);
}

.cw-customer-btn--primary:hover {
  filter: brightness(1.06);
}

.cw-customer-btn--danger {
  color: hsl(0 85% 65%);
  border-color: hsl(0 70% 45% / 0.45);
  background: hsl(0 60% 20% / 0.25);
}

.cw-customer-btn--danger:hover {
  background: hsl(0 60% 25% / 0.35);
}

.cw-customer-btn--logout {
  font-size: 0.75rem;
}

.cw-customer-body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.cw-customer-grid {
  display: grid;
  gap: 1rem;
}

.cw-customer-grid--profile {
  grid-template-columns: 1.35fr 1fr;
}

.cw-customer-grid--balance {
  grid-template-columns: 1fr 1fr;
}

.cw-customer-panel {
  padding: 0;
  overflow: hidden;
}

.cw-customer-panel--wide {
  min-height: 12rem;
}

.cw-customer-panel--full {
  width: 100%;
}

.cw-customer-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.125rem 1.25rem 0.875rem;
  border-bottom: 1px solid hsl(260 15% 18% / 0.8);
}

.cw-customer-panel-title {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9375rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: hsl(0 0% 96%);
}

.cw-customer-panel-title i {
  color: hsl(var(--cw-primary));
  font-size: 0.875rem;
}

.cw-customer-panel-sub {
  margin: 0.25rem 0 0;
  font-size: 0.75rem;
  color: hsl(var(--cw-muted-fg));
}

.cw-customer-panel-link {
  font-size: 0.75rem;
  font-weight: 700;
  color: hsl(var(--cw-primary));
  white-space: nowrap;
}

.cw-customer-panel-link:hover {
  filter: brightness(1.1);
}

.cw-customer-panel-body {
  padding: 1rem 1.25rem 1.25rem;
}

.cw-customer-order-card {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
  border-radius: 0.875rem;
  border: 1px solid hsl(260 15% 20% / 0.7);
  background: hsl(260 14% 9% / 0.65);
}

.cw-customer-order-name {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: hsl(0 0% 95%);
}

.cw-customer-order-variant,
.cw-customer-order-more {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: hsl(var(--cw-muted-fg));
}

.cw-customer-order-meta {
  margin: 0.5rem 0 0;
  font-size: 0.75rem;
  color: hsl(var(--cw-muted-fg));
}

.cw-customer-order-meta a {
  color: hsl(var(--cw-primary));
}

.cw-customer-order-side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.5rem;
  flex-shrink: 0;
}

.cw-customer-order-price {
  font-size: 1rem;
  font-weight: 800;
  color: hsl(0 0% 96%);
}

.cw-customer-badge {
  display: inline-flex;
  padding: 0.25rem 0.5rem;
  border-radius: 0.4375rem;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: capitalize;
  border: 1px solid transparent;
}

.cw-customer-badge--completed {
  color: hsl(142 70% 55%);
  background: hsl(142 60% 20% / 0.35);
  border-color: hsl(142 60% 35% / 0.35);
}

.cw-customer-badge--pending,
.cw-customer-badge--confirming {
  color: hsl(45 90% 58%);
  background: hsl(45 60% 20% / 0.35);
  border-color: hsl(45 60% 35% / 0.35);
}

.cw-customer-badge--refunded {
  color: hsl(180 60% 55%);
  background: hsl(180 40% 18% / 0.35);
  border-color: hsl(180 40% 30% / 0.35);
}

.cw-customer-summary-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.cw-customer-summary-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 0.875rem;
  border-radius: 0.75rem;
  background: hsl(260 14% 9% / 0.65);
  border: 1px solid hsl(260 15% 20% / 0.55);
  font-size: 0.8125rem;
  color: hsl(var(--cw-muted-fg));
}

.cw-customer-summary-list strong {
  color: hsl(0 0% 94%);
  font-weight: 800;
}

.cw-customer-empty {
  text-align: center;
  padding: 2rem 1rem;
  color: hsl(var(--cw-muted-fg));
  font-size: 0.875rem;
}

.cw-customer-empty-sub {
  margin-top: 0.375rem;
  font-size: 0.75rem;
}

.cw-customer-empty-link {
  display: inline-block;
  margin-top: 0.75rem;
  font-size: 0.8125rem;
  font-weight: 700;
  color: hsl(var(--cw-primary));
}

.cw-customer-account-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
}

.cw-customer-table-wrap {
  overflow-x: auto;
}

.cw-customer-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.cw-customer-table thead th {
  padding: 0.625rem 0.75rem;
  text-align: left;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: hsl(var(--cw-muted-fg));
  border-bottom: 1px solid hsl(260 15% 20%);
}

.cw-customer-table tbody td {
  padding: 0.875rem 0.75rem;
  color: hsl(0 0% 88%);
  border-bottom: 1px solid hsl(260 15% 16% / 0.8);
  vertical-align: top;
}

.cw-customer-table-link,
.cw-customer-table-action {
  color: hsl(var(--cw-primary));
  font-weight: 600;
}

.cw-customer-table-date {
  display: block;
  margin-top: 0.125rem;
  font-size: 0.6875rem;
  color: hsl(var(--cw-muted-fg));
}

.cw-customer-table-product {
  max-width: 14rem;
}

.cw-customer-notice {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  padding: 0.875rem 1rem;
  border-radius: 0.875rem;
  border: 1px solid hsl(195 85% 60% / 0.2);
  background: hsl(195 85% 60% / 0.06);
  font-size: 0.8125rem;
  color: hsl(0 0% 88%);
}

.cw-customer-notice i {
  color: hsl(var(--cw-primary));
  margin-top: 0.125rem;
}

.cw-customer-notice a {
  color: hsl(var(--cw-primary));
  font-weight: 700;
}

.cw-customer-balance-big {
  margin: 0;
  font-size: 2rem;
  font-weight: 900;
  color: hsl(0 0% 96%);
  line-height: 1.1;
}

.cw-customer-topup-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.cw-customer-topup-btn {
  position: relative;
  min-width: 4.5rem;
  padding: 0.625rem 0.875rem;
  border-radius: 0.75rem;
  font-size: 0.8125rem;
  font-weight: 700;
  color: hsl(0 0% 92%);
  border: 1px solid hsl(260 15% 22%);
  background: hsl(260 14% 10%);
  transition: var(--transition-smooth);
}

.cw-customer-topup-btn:hover:not(:disabled) {
  border-color: hsl(195 85% 60% / 0.4);
  background: hsl(195 85% 60% / 0.08);
}

.cw-customer-topup-loading {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: hsl(var(--cw-primary));
}

.cw-customer-affiliate-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.875rem 1rem;
  border-radius: 0.75rem;
  border: 1px solid hsl(260 15% 22%);
  background: hsl(260 14% 9%);
}

.cw-customer-affiliate-link code {
  font-size: 0.75rem;
  color: hsl(0 0% 88%);
  word-break: break-all;
}

.cw-customer-affiliate-actions {
  display: flex;
  gap: 0.375rem;
  flex-shrink: 0;
}

.cw-customer-icon-btn {
  width: 2rem;
  height: 2rem;
  border-radius: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: hsl(0 0% 90%);
  border: 1px solid hsl(260 15% 22%);
  background: hsl(260 14% 12%);
  transition: var(--transition-smooth);
}

.cw-customer-icon-btn:hover {
  border-color: hsl(195 85% 60% / 0.35);
  color: hsl(var(--cw-primary));
}

.cw-customer-modal {
  border-radius: 1rem;
  border: 1px solid hsl(260 15% 22%);
  background: hsl(260 16% 8%);
}

.cw-customer-ticket {
  overflow: hidden;
}

.cw-customer-ticket-head .cw-customer-panel-title {
  text-transform: none;
  letter-spacing: 0;
  font-size: 1.0625rem;
}

.cw-customer-ticket-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin-top: 0.5rem;
  font-size: 0.75rem;
  color: hsl(var(--cw-muted-fg));
}

.cw-customer-ticket-meta a {
  color: hsl(var(--cw-primary));
}

.cw-customer-ticket-chat {
  position: relative;
  min-height: 24rem;
  background: hsl(260 14% 7% / 0.85);
}

.cw-customer-ticket-chat .hide-scrollbar {
  height: calc(100vh - 28rem);
  min-height: 18rem;
  max-height: 32rem;
}

@media (max-width: 900px) {
  .cw-customer-grid--profile,
  .cw-customer-grid--balance {
    grid-template-columns: 1fr;
  }

  .cw-customer-nav {
    flex-direction: column;
    align-items: stretch;
  }

  .cw-customer-nav-actions {
    justify-content: stretch;
  }

  .cw-customer-nav-actions .cw-customer-btn {
    flex: 1;
  }

  .cw-customer-table thead {
    display: none;
  }

  .cw-customer-table tbody tr {
    display: block;
    padding: 0.75rem 0;
    border-bottom: 1px solid hsl(260 15% 16%);
  }

  .cw-customer-table tbody td {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.375rem 0;
    border: 0;
  }

  .cw-customer-table tbody td::before {
    content: attr(data-label);
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    color: hsl(var(--cw-muted-fg));
    flex-shrink: 0;
  }
}

/* === v4 — site-wide visual polish === */

@keyframes cw-orb-float {
  0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.45; }
  33% { transform: translate(3%, -2%) scale(1.06); opacity: 0.65; }
  66% { transform: translate(-2%, 3%) scale(0.96); opacity: 0.5; }
}

@keyframes cw-page-in {
  from { opacity: 0.92; }
  to { opacity: 1; }
}

html.cw-page-ready .cw-page-wrap,
html.cw-page-ready .cw-footer {
  animation: cw-page-in 0.65s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

#vortex-bg-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 55% 40% at 15% 20%, hsl(var(--cw-primary) / 0.07), transparent 60%),
    radial-gradient(ellipse 45% 35% at 85% 75%, hsl(195 75% 50% / 0.05), transparent 55%),
    radial-gradient(ellipse 30% 25% at 50% 50%, hsl(var(--cw-primary) / 0.03), transparent 50%);
  animation: cw-orb-float 18s ease-in-out infinite;
}

#cw-scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  z-index: 9999;
  pointer-events: none;
  background: hsl(var(--cw-primary) / 0.08);
}

#cw-scroll-progress::after {
  content: '';
  display: block;
  height: 100%;
  width: var(--cw-scroll-pct, 0%);
  background: linear-gradient(90deg, hsl(var(--cw-primary) / 0.5), hsl(var(--cw-primary)), hsl(var(--cw-primary-light) / 0.8));
  box-shadow: 0 0 12px hsl(var(--cw-primary) / 0.55), 0 0 24px hsl(var(--cw-primary) / 0.25);
  transition: width 0.12s linear;
  border-radius: 0 2px 2px 0;
}

#cw-ambient-glow {
  position: fixed;
  top: 0;
  left: 0;
  width: min(42vw, 520px);
  height: min(42vw, 520px);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  opacity: 0;
  background: radial-gradient(circle, hsl(var(--cw-primary) / 0.07) 0%, transparent 68%);
  transition: opacity 0.5s ease;
  will-change: transform;
}

#cw-ambient-glow.cw-ambient-glow--active {
  opacity: 1;
}

.cw-reveal-visible {
  filter: blur(0);
}

/* Cards — always visible, no scroll reveal */
.cw-stat-card,
.cw-category-card,
.cw-product-card,
.cw-footer-col,
.cw-faq-item,
.cw-about-card,
.cw-free-keys-card,
.cw-free-keys-detail {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

.cw-section-divider:not(.cw-section-divider-static) {
  transform: scaleX(0);
  opacity: 0;
}

.cw-section-divider-animated {
  animation: cw-divider-grow 0.85s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: 0.15s;
}

.cw-gradient-text {
  background-size: 200% auto;
}

.cw-product-card::after {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, hsl(var(--cw-primary) / 0.45), transparent 40%, transparent 60%, hsl(var(--cw-primary) / 0.35));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}

.cw-product-card:hover::after {
  opacity: 1;
}

.cw-category-card {
  position: relative;
}

.cw-category-card::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, hsl(var(--cw-primary) / 0.5), transparent 50%, hsl(var(--cw-primary) / 0.3));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
  z-index: 1;
}

.cw-category-card:hover::before {
  opacity: 1;
}

.cw-stat-card {
  overflow: hidden;
}

.cw-stat-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at var(--cw-mouse-x, 50%) var(--cw-mouse-y, 50%), hsl(var(--cw-primary) / 0.12), transparent 55%);
  opacity: 0;
  transition: opacity 0.45s ease;
  pointer-events: none;
}

.cw-stat-card:hover::after {
  opacity: 1;
}

.cw-stat-card i {
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), color 0.45s ease;
}

.cw-stat-card:hover i {
  transform: scale(1.15) translateY(-2px);
  color: hsl(var(--cw-primary)) !important;
}

.cw-footer-link {
  position: relative;
}

.cw-footer-link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 1px;
  background: linear-gradient(90deg, hsl(var(--cw-primary)), transparent);
  transition: width 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-footer-link:hover::after {
  width: 100%;
}

.cw-footer-social {
  position: relative;
  overflow: hidden;
}

.cw-footer-social::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle, hsl(var(--cw-primary) / 0.25), transparent 70%);
  opacity: 0;
  transition: opacity 0.35s ease;
}

.cw-footer-social:hover::before {
  opacity: 1;
}

.cw-faq-item {
  transition: var(--transition-smooth);
  overflow: hidden;
}

.cw-faq-item:hover {
  transform: translateY(-2px);
  border-color: hsl(var(--cw-primary) / 0.35) !important;
  box-shadow: 0 12px 32px hsl(0 0% 0% / 0.25), 0 0 24px hsl(var(--cw-primary) / 0.08);
}

.cw-faq-item button svg {
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), color 0.35s ease;
}

.cw-faq-item [x-ref="content"] {
  transition: max-height 0.45s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease !important;
}

.cw-searchbar {
  transition: var(--transition-smooth);
  border: 1px solid hsl(var(--cw-border) / 0.4);
  border-radius: 1rem;
  background: hsl(var(--cw-card) / 0.5);
  backdrop-filter: blur(8px);
}

.cw-searchbar:focus-within {
  border-color: hsl(var(--cw-primary) / 0.45);
  box-shadow: 0 0 24px hsl(var(--cw-primary) / 0.12);
  transform: translateY(-1px);
}

.vortex-button,
.cw-hero-btn-primary,
.cw-buy-btn {
  position: relative;
  overflow: hidden;
}

.vortex-button:active,
.cw-hero-btn-primary:active,
.cw-buy-btn:active {
  transform: translateY(0) scale(0.98) !important;
}

.cw-nav-link,
.cw-nav-icon-link {
  transition: var(--transition-smooth) !important;
}

.cw-nav-link:hover,
.cw-nav-icon-link:hover {
  text-shadow: 0 0 12px hsl(var(--cw-primary) / 0.35);
}

.cw-customer-card,
.cw-customer-stat,
.cw-customer-panel {
  transition: var(--transition-smooth);
}

.cw-customer-card:hover,
.cw-customer-stat:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px hsl(0 0% 0% / 0.35), 0 0 28px hsl(var(--cw-primary) / 0.1);
}

.cw-customer-nav-link {
  transition: var(--transition-colors);
  position: relative;
}

.cw-customer-nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background: hsl(var(--cw-primary));
  transition: width 0.4s cubic-bezier(0.22, 1, 0.36, 1), left 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  border-radius: 9999px;
  box-shadow: 0 0 8px hsl(var(--cw-primary) / 0.5);
}

.cw-customer-nav-link:hover::after,
.cw-customer-nav-link.active::after {
  width: 70%;
  left: 15%;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid hsl(var(--cw-primary) / 0.65);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px hsl(var(--cw-primary) / 0.15);
}

@media (prefers-reduced-motion: reduce) {
  html.cw-page-ready .cw-page-wrap,
  html.cw-page-ready .cw-footer {
    opacity: 1 !important;
    animation: none !important;
  }

  #vortex-bg-wrap::after,
  #cw-ambient-glow {
    animation: none !important;
    display: none !important;
  }

  .cw-reveal {
    filter: none !important;
  }

  #cw-scroll-progress {
    display: none;
  }
}

/* Support chat widget */
@keyframes cw-support-panel-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.cw-support-chat {
  position: fixed;
  right: calc(var(--cw-support-right) + env(safe-area-inset-right, 0px));
  bottom: calc(var(--cw-support-bottom) + env(safe-area-inset-bottom, 0px));
  z-index: 10001;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.75rem;
  pointer-events: none;
}

.cw-support-chat-toggle,
.cw-support-chat-panel,
.cw-support-chat-nudge {
  pointer-events: auto;
}

.cw-support-chat-nudge {
  position: relative;
  max-width: 16.5rem;
  cursor: pointer;
  animation: cw-support-nudge-in 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-support-chat-nudge-shell {
  position: relative;
  overflow: hidden;
  padding: 0.8125rem 2rem 0.8125rem 0.8125rem;
  border-radius: 0.875rem;
  border: 1px solid hsl(0 0% 100% / 0.08);
  background:
    linear-gradient(180deg, hsl(220 16% 11% / 0.97) 0%, hsl(220 14% 8% / 0.99) 100%);
  box-shadow:
    0 20px 48px -16px hsl(0 0% 0% / 0.82),
    0 0 0 1px hsl(0 0% 100% / 0.04) inset;
  backdrop-filter: blur(18px);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.cw-support-chat-nudge:hover .cw-support-chat-nudge-shell {
  border-color: hsl(var(--cw-primary) / 0.22);
  box-shadow:
    0 22px 52px -14px hsl(0 0% 0% / 0.86),
    0 0 0 1px hsl(var(--cw-primary) / 0.08) inset,
    0 0 24px hsl(var(--cw-primary) / 0.06);
  transform: translateY(-1px);
}

.cw-support-chat-nudge-accent {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    90deg,
    hsl(var(--cw-primary) / 0.15) 0%,
    hsl(var(--cw-primary) / 0.85) 50%,
    hsl(var(--cw-primary) / 0.15) 100%
  );
}

.cw-support-chat-nudge-main {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  gap: 0.6875rem;
}

.cw-support-chat-nudge-icon {
  flex-shrink: 0;
  width: 2.125rem;
  height: 2.125rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.625rem;
  border: 1px solid hsl(var(--cw-primary) / 0.18);
  background: linear-gradient(145deg, hsl(var(--cw-primary) / 0.14), hsl(var(--cw-primary) / 0.06));
  color: hsl(195 85% 72%);
  font-size: 0.8125rem;
}

.cw-support-chat-nudge-copy {
  min-width: 0;
  padding-top: 0.0625rem;
}

.cw-support-chat-nudge-online {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin-bottom: 0.3125rem;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: hsl(142 62% 68%);
}

.cw-support-chat-nudge-dot {
  width: 0.4375rem;
  height: 0.4375rem;
  border-radius: 9999px;
  background: hsl(142 76% 50%);
  box-shadow: 0 0 8px hsl(142 76% 50% / 0.65);
  animation: cw-blink 2s ease-in-out infinite;
}

.cw-support-chat-nudge-title {
  margin: 0 0 0.1875rem;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: hsl(0 0% 96%);
}

.cw-support-chat-nudge-text {
  margin: 0;
  font-size: 0.6875rem;
  line-height: 1.45;
  color: hsl(var(--cw-muted-fg));
}

.cw-support-chat-nudge-arrow {
  position: absolute;
  right: 1.5rem;
  bottom: -0.4375rem;
  width: 0.75rem;
  height: 0.75rem;
  border-right: 1px solid hsl(0 0% 100% / 0.08);
  border-bottom: 1px solid hsl(0 0% 100% / 0.08);
  background: hsl(220 14% 8% / 0.99);
  transform: rotate(45deg);
  box-shadow: 4px 4px 12px hsl(0 0% 0% / 0.25);
}

.cw-support-chat-nudge[hidden] {
  display: none !important;
}

.cw-support-chat-nudge-close {
  position: absolute;
  top: 0.4375rem;
  right: 0.4375rem;
  z-index: 2;
  width: 1.375rem;
  height: 1.375rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 0.375rem;
  background: transparent;
  color: hsl(var(--cw-muted-fg));
  font-size: 0.6875rem;
  cursor: pointer;
  transition: color 0.2s ease, background-color 0.2s ease;
}

.cw-support-chat-nudge-close:hover {
  color: hsl(0 0% 92%);
  background: hsl(0 0% 100% / 0.06);
}

@keyframes cw-support-nudge-in {
  from {
    opacity: 0;
    transform: translateY(10px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.cw-support-chat-toggle {
  position: relative;
  flex-shrink: 0;
  width: 4.25rem;
  height: 4.25rem;
  padding: 0;
  border-radius: 9999px;
  border: 1px solid hsl(var(--cw-primary) / 0.4);
  background: linear-gradient(145deg, hsl(195 82% 58%), hsl(200 88% 46%));
  color: #fff;
  box-shadow:
    0 12px 32px hsl(0 0% 0% / 0.5),
    0 0 24px hsl(var(--cw-primary) / 0.22);
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, border-color 0.25s ease;
  overflow: visible;
}

.cw-support-chat-toggle-icon {
  font-size: 1.625rem;
  width: 1.625rem;
  height: 1.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.cw-support-chat-toggle:hover {
  transform: translateY(-2px);
  box-shadow:
    0 14px 34px hsl(0 0% 0% / 0.52),
    0 0 28px hsl(var(--cw-primary) / 0.28);
}

.cw-support-chat-toggle.is-open {
  background: linear-gradient(145deg, hsl(0 0% 14%), hsl(0 0% 9%));
  border-color: hsl(var(--cw-primary) / 0.28);
  transform: none;
  box-shadow:
    0 10px 28px hsl(0 0% 0% / 0.45),
    0 0 18px hsl(var(--cw-primary) / 0.15);
}

.cw-support-chat-toggle.has-unread {
  box-shadow:
    0 12px 32px hsl(0 0% 0% / 0.5),
    0 0 28px hsl(var(--cw-primary) / 0.32);
}

.cw-support-chat-badge {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(15%, -15%);
  min-width: 1.125rem;
  height: 1.125rem;
  padding: 0 0.28rem;
  border-radius: 9999px;
  background: #ef4444;
  color: #fff;
  font-size: 0.625rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid hsl(0 0% 5%);
  line-height: 1;
}

.cw-support-chat-panel {
  width: min(26rem, calc(100vw - 1.25rem));
  height: min(34rem, calc(100vh - var(--cw-support-bottom) - 6rem));
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  border-radius: 1.125rem;
  overflow: hidden;
  background: hsl(0 0% 4% / 0.96);
  backdrop-filter: blur(28px) saturate(170%);
  -webkit-backdrop-filter: blur(28px) saturate(170%);
  border: 1px solid hsl(var(--cw-primary) / 0.18);
  box-shadow:
    0 24px 60px hsl(0 0% 0% / 0.6),
    0 0 36px hsl(var(--cw-primary) / 0.1),
    inset 0 1px 0 hsl(0 0% 100% / 0.05);
}

.cw-support-chat--open .cw-support-chat-panel {
  animation: cw-support-panel-in 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.cw-support-chat-panel[hidden] {
  display: none !important;
}

.cw-support-chat-header {
  display: grid;
  grid-template-columns: 2.5rem 1fr 2.5rem;
  align-items: center;
  gap: 0.5rem;
  padding: 1.0625rem 1rem 0.9375rem;
  border-bottom: 1px solid hsl(var(--cw-primary) / 0.1);
  background: linear-gradient(180deg, hsl(var(--cw-primary) / 0.07), transparent);
}

.cw-support-chat-header-center {
  grid-column: 2;
  text-align: center;
  min-width: 0;
}

.cw-support-chat-back {
  grid-column: 1;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.6875rem;
  border: 1px solid hsl(var(--cw-primary) / 0.15);
  background: hsl(0 0% 100% / 0.04);
  color: hsl(var(--cw-muted-fg));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition-fast);
}

.cw-support-chat-back[hidden] {
  visibility: hidden;
  pointer-events: none;
}

.cw-support-chat-back:hover {
  color: #fff;
  border-color: hsl(var(--cw-primary) / 0.35);
  background: hsl(var(--cw-primary) / 0.12);
}

.cw-support-chat-title {
  font-size: 1.125rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: hsl(0 0% 98%);
  margin: 0;
  line-height: 1.2;
}

.cw-support-chat-subtitle {
  font-size: 0.6875rem;
  color: hsl(var(--cw-muted-fg));
  margin: 0.15rem 0 0;
}

.cw-support-chat-close {
  grid-column: 3;
  justify-self: end;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.6875rem;
  border: none;
  background: hsl(0 0% 100% / 0.05);
  color: hsl(var(--cw-muted-fg));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition-fast);
}

.cw-support-chat-close:hover {
  color: #fff;
  background: hsl(var(--cw-primary) / 0.15);
}

.cw-support-chat-body {
  position: relative;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

.cw-support-chat-view {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  padding: 1.0625rem 1rem 1rem;
  opacity: 0;
  visibility: hidden;
  transform: translateX(10px);
  transition:
    opacity 0.3s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0.3s;
  pointer-events: none;
}

.cw-support-chat-view.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  pointer-events: auto;
}

.cw-support-chat-view--chat {
  padding: 0;
}

.cw-support-chat-status {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4375rem 0.75rem;
  border-radius: 9999px;
  background: hsl(142 70% 45% / 0.1);
  border: 1px solid hsl(142 70% 45% / 0.2);
  margin-bottom: 1.0625rem;
  font-size: 0.8125rem;
  color: hsl(142 70% 72%);
  font-weight: 600;
}

.cw-support-chat-status-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 9999px;
  background: hsl(142 76% 50%);
  box-shadow: 0 0 8px hsl(142 76% 50% / 0.7);
  animation: cw-blink 2s ease-in-out infinite;
}

.cw-support-chat-actions {
  display: flex;
  flex-direction: column;
  gap: 0.6875rem;
}

.cw-support-chat-action {
  display: grid;
  grid-template-columns: 2.625rem 1fr 1rem;
  align-items: center;
  gap: 0.8125rem;
  width: 100%;
  padding: 0.9375rem 1rem;
  border-radius: 0.875rem;
  border: 1px solid hsl(var(--cw-primary) / 0.14);
  background: linear-gradient(145deg, hsl(0 0% 100% / 0.04), hsl(0 0% 100% / 0.02));
  color: hsl(0 0% 95%);
  text-align: left;
  transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}

.cw-support-chat-action:hover {
  border-color: hsl(var(--cw-primary) / 0.32);
  background: linear-gradient(145deg, hsl(var(--cw-primary) / 0.1), hsl(var(--cw-primary) / 0.04));
  box-shadow: 0 8px 20px hsl(0 0% 0% / 0.22);
}

.cw-support-chat-action-icon {
  width: 2.625rem;
  height: 2.625rem;
  border-radius: 0.75rem;
  background: linear-gradient(135deg, hsl(var(--cw-primary) / 0.25), hsl(var(--cw-primary) / 0.1));
  border: 1px solid hsl(var(--cw-primary) / 0.2);
  color: hsl(var(--cw-primary-light));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
}

.cw-support-chat-action-icon--muted {
  background: hsl(0 0% 100% / 0.05);
  border-color: hsl(0 0% 100% / 0.08);
  color: hsl(var(--cw-muted-fg));
}

.cw-support-chat-action-text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.cw-support-chat-action-text strong {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.25;
}

.cw-support-chat-action-text small {
  font-size: 0.75rem;
  color: hsl(var(--cw-muted-fg));
  line-height: 1.3;
}

.cw-support-chat-action-arrow {
  color: hsl(var(--cw-muted-fg));
  font-size: 0.75rem;
  justify-self: end;
}

.cw-support-chat-action:hover .cw-support-chat-action-arrow {
  color: hsl(var(--cw-primary));
}

.cw-support-chat-status--offline {
  background: hsl(0 72% 50% / 0.1);
  border-color: hsl(0 72% 50% / 0.22);
  color: hsl(0 72% 72%);
}

.cw-support-chat-status--offline .cw-support-chat-status-dot {
  background: hsl(0 72% 55%);
  box-shadow: 0 0 8px hsl(0 72% 55% / 0.7);
  animation: none;
}

.cw-support-chat-action.is-disabled,
.cw-support-chat-action:disabled {
  opacity: 0.45;
  pointer-events: none;
}

.cw-support-offline {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.875rem;
  padding: 1rem 0.5rem 2rem;
}

.cw-support-offline-icon {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.375rem;
  color: hsl(0 72% 68%);
  background: hsl(0 72% 50% / 0.12);
  border: 1px solid hsl(0 72% 50% / 0.22);
  margin-bottom: 0.25rem;
}

.cw-support-offline-title {
  margin: 0;
  font-size: 1.0625rem;
  font-weight: 800;
  color: hsl(0 0% 96%);
}

.cw-support-offline-text {
  margin: 0;
  max-width: 18rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: hsl(var(--cw-muted-fg));
}

.cw-support-discord-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  margin-top: 0.375rem;
  padding: 0.8125rem 1.25rem;
  border-radius: 0.875rem;
  background: linear-gradient(135deg, #5865f2, #4752c4);
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 700;
  text-decoration: none;
  border: 1px solid hsl(235 86% 70% / 0.35);
  box-shadow:
    0 10px 24px hsl(235 86% 40% / 0.35),
    0 0 20px hsl(235 86% 60% / 0.15);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.cw-support-discord-btn:hover {
  color: #fff;
  transform: translateY(-2px);
  box-shadow:
    0 12px 28px hsl(235 86% 40% / 0.42),
    0 0 24px hsl(235 86% 60% / 0.22);
}

.cw-support-discord-btn i {
  font-size: 1.25rem;
}

.cw-support-chat-topics-label {
  font-size: 0.875rem;
  color: hsl(var(--cw-muted-fg));
  margin: 0 0 0.9375rem;
}

.cw-support-chat-topics {
  display: flex;
  flex-direction: column;
  gap: 0.5625rem;
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}

.cw-support-chat-topic {
  display: grid;
  grid-template-columns: 2.375rem 1fr 0.875rem;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding: 0.875rem 0.9375rem;
  border-radius: 0.8125rem;
  border: 1px solid hsl(var(--cw-primary) / 0.12);
  background: hsl(0 0% 100% / 0.03);
  color: hsl(0 0% 94%);
  text-align: left;
  transition: border-color 0.25s ease, background 0.25s ease;
}

.cw-support-chat-topic:hover {
  border-color: hsl(var(--cw-primary) / 0.3);
  background: hsl(var(--cw-primary) / 0.08);
}

.cw-support-chat-topic-icon {
  width: 2.375rem;
  height: 2.375rem;
  border-radius: 0.625rem;
  background: hsl(var(--cw-primary) / 0.12);
  color: hsl(var(--cw-primary-light));
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cw-support-chat-topic-label {
  font-size: 0.875rem;
  font-weight: 600;
}

.cw-support-chat-topic-arrow {
  font-size: 0.6875rem;
  color: hsl(var(--cw-muted-fg));
  justify-self: end;
}

.cw-support-chat-messages {
  flex: 1;
  overflow-y: auto;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.6875rem;
  min-height: 0;
}

.cw-support-chat-msg {
  display: flex;
  flex-direction: column;
  max-width: 88%;
}

.cw-support-chat-msg--visitor {
  align-self: flex-end;
  align-items: flex-end;
}

.cw-support-chat-msg--admin {
  align-self: flex-start;
  align-items: flex-start;
}

.cw-support-chat-msg--system {
  align-self: center;
  max-width: 100%;
  font-size: 0.8125rem;
  color: hsl(var(--cw-muted-fg));
  text-align: center;
  padding: 0.4375rem 0.75rem;
  border-radius: 9999px;
  background: hsl(0 0% 100% / 0.03);
}

.cw-support-chat-bubble {
  padding: 0.6875rem 0.875rem;
  border-radius: 1rem;
  font-size: 0.875rem;
  line-height: 1.45;
  word-break: break-word;
}

.cw-support-chat-msg--visitor .cw-support-chat-bubble {
  background: linear-gradient(135deg, hsl(195 85% 55%), hsl(200 90% 45%));
  color: #fff;
  border-bottom-right-radius: 0.3rem;
}

.cw-support-chat-msg--admin .cw-support-chat-bubble {
  background: hsl(0 0% 100% / 0.06);
  border: 1px solid hsl(var(--cw-primary) / 0.14);
  color: hsl(0 0% 92%);
  border-bottom-left-radius: 0.3rem;
}

.cw-support-chat-time {
  font-size: 0.6875rem;
  color: hsl(var(--cw-muted-fg));
  margin-top: 0.25rem;
}

.cw-support-chat-form {
  display: grid;
  grid-template-columns: 1fr 3rem;
  gap: 0.5625rem;
  padding: 0.875rem 1rem;
  border-top: 1px solid hsl(var(--cw-primary) / 0.1);
  background: hsl(0 0% 3% / 0.75);
  align-items: end;
}

.cw-support-chat-input {
  width: 100%;
  resize: none;
  border: 1px solid hsl(var(--cw-primary) / 0.14);
  border-radius: 0.8125rem;
  background: hsl(0 0% 100% / 0.04);
  color: hsl(0 0% 95%);
  padding: 0.6875rem 0.8125rem;
  font-size: 0.875rem;
  line-height: 1.4;
  transition: var(--transition-fast);
}

.cw-support-chat-input:focus {
  outline: none;
  border-color: hsl(var(--cw-primary) / 0.45);
  box-shadow: 0 0 0 3px hsl(var(--cw-primary) / 0.12);
}

.cw-support-chat-send {
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: none;
  border-radius: 0.8125rem;
  background: linear-gradient(135deg, hsl(195 85% 55%), hsl(200 90% 45%));
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 16px hsl(var(--cw-primary) / 0.22);
  transition: opacity 0.2s ease, box-shadow 0.2s ease;
}

.cw-support-chat-send:hover {
  box-shadow: 0 8px 18px hsl(var(--cw-primary) / 0.3);
}

.cw-support-chat-send:disabled {
  opacity: 0.55;
}

@media (max-width: 640px) {
  :root {
    --cw-support-right: 0.875rem;
    --cw-support-bottom: calc(var(--cw-dock-offset) + var(--cw-dock-height) - 1.6875rem);
  }

  .cw-support-chat-panel {
    width: min(24rem, calc(100vw - 1rem));
    height: min(30rem, calc(100vh - var(--cw-support-bottom) - 5.5rem));
  }

  .cw-support-chat-toggle {
    width: 3.875rem;
    height: 3.875rem;
  }
}

/* === v5 — unified headers, pagination, category page, perf === */

::selection {
  background: hsl(var(--cw-primary) / 0.35);
  color: hsl(0 0% 98%);
}

/* FAQ — accordion polish */
.cw-faq-item {
  transition: var(--transition-smooth);
}

.cw-faq-item:hover {
  border-color: hsl(var(--cw-primary) / 0.35);
}

.cw-faq-item.is-open {
  border-color: hsl(var(--cw-primary) / 0.45);
  box-shadow: 0 14px 36px hsl(0 0% 0% / 0.45), 0 0 24px hsl(var(--cw-primary) / 0.1);
}

.cw-faq-chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
  background: hsl(var(--cw-primary) / 0.1);
  border: 1px solid hsl(var(--cw-primary) / 0.22);
  color: hsl(var(--cw-primary));
  transition: var(--transition-smooth);
}

.cw-faq-item.is-open .cw-faq-chevron {
  transform: rotate(180deg);
  background: hsl(var(--cw-primary) / 0.2);
  box-shadow: 0 0 14px hsl(var(--cw-primary) / 0.25);
}

/* Category page — header */
.cw-cat-page-head .cw-section-divider {
  margin-bottom: 1.25rem;
}

.cw-cat-head-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
}

.cw-cat-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4375rem 0.875rem;
  border-radius: 9999px;
  background: hsl(var(--cw-card) / 0.55);
  border: 1px solid hsl(var(--cw-primary) / 0.16);
  color: hsl(var(--cw-muted-fg));
  font-size: 0.8125rem;
  font-weight: 600;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.cw-cat-chip i {
  color: hsl(var(--cw-primary));
  font-size: 0.75rem;
}

.cw-cat-chip-num {
  color: hsl(var(--cw-primary));
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.cw-cat-chip-link {
  transition: var(--transition-colors);
}

.cw-cat-chip-link:hover {
  color: hsl(0 0% 95%);
  border-color: hsl(var(--cw-primary) / 0.4);
  box-shadow: 0 0 18px hsl(var(--cw-primary) / 0.12);
}

/* Search — empty state */
.cw-search-empty {
  text-align: center;
  padding: 3.5rem 1rem;
}

.cw-search-empty i {
  font-size: 2.25rem;
  color: hsl(var(--cw-primary) / 0.45);
  margin-bottom: 1rem;
}

.cw-search-empty-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: hsl(0 0% 92%);
  margin-bottom: 0.375rem;
}

.cw-search-empty-desc {
  font-size: 0.875rem;
  color: hsl(var(--cw-muted-fg));
}

/* Pagination — theme style */
.cw-pagination {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.875rem;
}

.cw-pagination-info {
  font-size: 0.8125rem;
  color: hsl(var(--cw-muted-fg));
  font-variant-numeric: tabular-nums;
}

.cw-pagination-info-num {
  color: hsl(0 0% 92%);
  font-weight: 700;
}

.cw-pagination-pages {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.375rem;
}

.cw-page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 0.625rem;
  border-radius: 0.75rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: hsl(var(--cw-muted-fg));
  background: hsl(var(--cw-card) / 0.55);
  border: 1px solid hsl(var(--cw-primary) / 0.14);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: var(--transition-colors);
}

.cw-page-btn i {
  font-size: 0.75rem;
}

a.cw-page-btn:hover {
  color: hsl(0 0% 95%);
  border-color: hsl(var(--cw-primary) / 0.45);
  background: hsl(var(--cw-primary) / 0.1);
  box-shadow: 0 0 16px hsl(var(--cw-primary) / 0.12);
}

.cw-page-btn.is-active {
  color: #fff;
  background: var(--gradient-primary);
  border-color: transparent;
  box-shadow: var(--shadow-button);
  cursor: default;
}

.cw-page-btn.is-disabled {
  opacity: 0.4;
  cursor: default;
  pointer-events: none;
}

.cw-page-ellipsis {
  background: transparent;
  border-color: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Product page — visual polish */
.cw-product-page .cw-product-media-glow {
  inset: -1.5rem;
  opacity: 0.55;
  filter: blur(36px);
  background: linear-gradient(135deg, hsl(195 85% 60% / 0.24), transparent 45%, hsl(195 85% 60% / 0.14));
}

.cw-product-page .cw-product-media {
  border-color: hsl(195 85% 60% / 0.22);
  box-shadow:
    0 0 0 1px hsl(195 85% 60% / 0.08),
    0 28px 56px hsl(0 0% 0% / 0.55),
    0 0 52px hsl(195 85% 60% / 0.1);
}

.cw-product-page .cw-product-screenshots {
  padding: 0.875rem 1rem;
  border-radius: 0.875rem;
  border: 1px solid hsl(var(--cw-border) / 0.22);
  background: linear-gradient(180deg, hsl(0 0% 6% / 0.55), hsl(0 0% 4% / 0.65));
  box-shadow:
    inset 0 1px 0 hsl(0 0% 100% / 0.04),
    0 8px 24px hsl(0 0% 0% / 0.2);
}

.cw-product-page .cw-product-tabs {
  border-color: hsl(195 85% 60% / 0.12);
  background: linear-gradient(180deg, hsl(0 0% 7% / 0.72), hsl(0 0% 5% / 0.82));
  box-shadow:
    0 0 0 1px hsl(0 0% 100% / 0.03) inset,
    0 16px 40px hsl(0 0% 0% / 0.32),
    0 0 44px hsl(195 85% 60% / 0.06);
}

.cw-product-page .cw-product-tabs-head {
  background: hsl(0 0% 4% / 0.55);
}

.cw-product-page .cw-product-tab.is-active {
  background: linear-gradient(180deg, hsl(195 85% 60% / 0.06), transparent);
  text-shadow: 0 0 14px hsl(195 85% 60% / 0.35);
}

.cw-product-page .cw-product-level-security {
  box-shadow:
    inset 0 1px 0 hsl(150 60% 45% / 0.12),
    0 0 28px hsl(150 60% 45% / 0.08);
}

.cw-product-page .cw-product-level-features {
  box-shadow:
    inset 0 1px 0 hsl(195 85% 60% / 0.12),
    0 0 28px hsl(195 85% 60% / 0.08);
}

.cw-product-page .cw-product-level-bar.is-security {
  box-shadow: 0 0 10px hsl(150 60% 45% / 0.45);
}

.cw-product-page .cw-product-level-bar.is-features {
  box-shadow: 0 0 10px hsl(195 85% 60% / 0.4);
}

.cw-product-page .cw-product-info-card {
  background: linear-gradient(180deg, hsl(0 0% 7% / 0.82), hsl(0 0% 5% / 0.92));
  box-shadow: inset 0 1px 0 hsl(0 0% 100% / 0.05);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.cw-product-page .cw-product-info-card:hover {
  border-color: hsl(195 85% 60% / 0.2);
  box-shadow:
    inset 0 1px 0 hsl(0 0% 100% / 0.06),
    0 0 20px hsl(195 85% 60% / 0.08);
}

.cw-product-page .cw-product-info-icon {
  box-shadow:
    0 0 16px hsl(195 85% 60% / 0.16),
    inset 0 1px 0 hsl(195 90% 80% / 0.1);
}

.cw-product-page .cw-product-sidebar.vortex-card {
  overflow: visible;
  background: linear-gradient(145deg, hsl(195 10% 8% / 0.42) 0%, hsl(195 15% 12% / 0.38) 100%);
  border-color: hsl(195 30% 30% / 0.32);
  box-shadow:
    0 16px 40px -14px hsl(0 0% 0% / 0.55),
    0 0 0 1px hsl(195 85% 60% / 0.07);
}

.cw-product-page .cw-product-sidebar.vortex-card::after {
  display: none;
  content: none;
}

.cw-product-page .cw-product-sidebar.vortex-card:hover {
  transform: none;
  border-color: hsl(195 85% 60% / 0.26);
  box-shadow:
    0 16px 40px -14px hsl(0 0% 0% / 0.55),
    0 0 28px hsl(195 85% 60% / 0.08);
}

.cw-product-page .cw-product-sidebar.vortex-card > * {
  position: relative;
  z-index: auto;
}

.cw-product-page .cw-product-price-block {
  padding-bottom: 0.5rem;
  margin-bottom: 0.125rem;
  border-bottom: 1px solid hsl(var(--cw-border) / 0.16);
}

.cw-product-page .cw-product-sidebar .cw-product-price {
  filter: none;
}

.cw-product-page .cw-product-badge {
  box-shadow:
    0 1px 3px hsl(0 0% 0% / 0.22),
    inset 0 1px 0 hsl(0 0% 100% / 0.1);
}

.cw-product-page .cw-product-category-tag {
  box-shadow: none;
}

.cw-product-page .cw-product-variant {
  background: hsl(0 0% 5% / 0.6);
  box-shadow: none;
}

.cw-product-page .cw-product-variant.is-active:not(.is-best-deal) {
  box-shadow:
    0 0 22px hsl(195 85% 60% / 0.12),
    inset 0 1px 0 hsl(195 85% 60% / 0.08);
}

.cw-product-page .cw-product-support {
  background: hsl(0 0% 5% / 0.5);
  border-color: hsl(var(--cw-border) / 0.3);
  box-shadow: none;
}

.cw-product-page .cw-product-form-custom .cw-product-period-block {
  border-bottom-color: hsl(var(--cw-border) / 0.2);
}

/* Perf — skip offscreen rendering for below-the-fold blocks */
.cw-footer {
  content-visibility: auto;
  contain-intrinsic-size: auto 460px;
}

/* Promo toast + checkout promo */
.cw-promo-toast {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 5rem;
  z-index: 55;
  display: flex;
  justify-content: center;
  padding: 0 1rem;
  pointer-events: none;
}

.cw-promo-toast-shell {
  position: relative;
  overflow: hidden;
  width: min(100%, 25rem);
  padding: 1.125rem 1.125rem 1rem;
  border-radius: 0.875rem;
  border: 1px solid hsl(0 0% 100% / 0.07);
  background:
    linear-gradient(180deg, hsl(220 16% 11% / 0.96) 0%, hsl(220 14% 8% / 0.98) 100%);
  box-shadow:
    0 24px 60px -24px hsl(0 0% 0% / 0.85),
    0 0 0 1px hsl(0 0% 100% / 0.04) inset;
  backdrop-filter: blur(18px);
  pointer-events: auto;
}

.cw-promo-toast-shell::before {
  content: '';
  position: absolute;
  top: 0;
  left: 1.25rem;
  right: 1.25rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, hsl(0 0% 100% / 0.14), transparent);
  pointer-events: none;
}

.cw-promo-toast-glow {
  position: absolute;
  top: -3rem;
  left: -1rem;
  width: 8rem;
  height: 8rem;
  border-radius: 9999px;
  background: hsl(195 85% 60% / 0.07);
  filter: blur(24px);
  pointer-events: none;
}

@media (min-width: 768px) {
  .cw-promo-toast {
    justify-content: flex-start;
    left: 1.5rem;
    right: auto;
    padding: 0;
  }

  .cw-promo-toast-shell {
    width: min(23rem, calc(100vw - 3rem));
  }
}

.cw-promo-toast-close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 2;
  width: 1.75rem;
  height: 1.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 0.5rem;
  background: hsl(0 0% 100% / 0.03);
  color: hsl(var(--cw-muted-fg) / 0.8);
  font-size: 0.75rem;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.cw-promo-toast-close:hover {
  color: hsl(0 0% 92%);
  background: hsl(0 0% 100% / 0.06);
}

.cw-promo-toast-main {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding-right: 1.75rem;
}

.cw-promo-toast-badge {
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: baseline;
  justify-content: center;
  padding-top: 0.6875rem;
  border-radius: 0.75rem;
  background: linear-gradient(145deg, hsl(0 0% 100% / 0.06) 0%, hsl(0 0% 100% / 0.02) 100%);
  border: 1px solid hsl(0 0% 100% / 0.08);
  box-shadow: inset 0 1px 0 hsl(0 0% 100% / 0.06);
}

.cw-promo-toast-percent {
  font-size: 1.125rem;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: hsl(0 0% 96%);
  line-height: 1;
}

.cw-promo-toast-percent-suffix {
  font-size: 0.6875rem;
  font-weight: 700;
  color: hsl(var(--cw-muted-fg));
  margin-left: 0.0625rem;
}

.cw-promo-toast-content {
  min-width: 0;
  padding-top: 0.1875rem;
}

.cw-promo-toast-label {
  margin: 0 0 0.25rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: hsl(var(--cw-primary) / 0.78);
}

.cw-promo-toast-title {
  margin: 0 0 0.375rem;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: hsl(0 0% 97%);
  line-height: 1.25;
}

.cw-promo-toast-desc {
  margin: 0;
  font-size: 0.6875rem;
  line-height: 1.5;
  color: hsl(var(--cw-muted-fg) / 0.9);
}

.cw-promo-toast-code-btn {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: stretch;
  width: 100%;
  margin-top: 1rem;
  padding: 0;
  border-radius: 0.6875rem;
  border: 1px solid hsl(0 0% 100% / 0.08);
  background: hsl(0 0% 0% / 0.22);
  color: hsl(0 0% 94%);
  overflow: hidden;
  text-align: left;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    box-shadow 0.2s ease;
}

.cw-promo-toast-code-btn:hover {
  border-color: hsl(var(--cw-primary) / 0.28);
  background: hsl(195 85% 60% / 0.04);
  box-shadow: 0 0 0 1px hsl(var(--cw-primary) / 0.08) inset;
}

.cw-promo-toast-code-btn.is-copied {
  border-color: hsl(150 45% 42% / 0.35);
  background: hsl(150 35% 20% / 0.1);
  box-shadow: 0 0 0 1px hsl(150 45% 42% / 0.1) inset;
}

.cw-promo-toast-code-value {
  flex: 1;
  min-width: 0;
  padding: 0.75rem 0.875rem;
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  font-variant-numeric: tabular-nums;
}

.cw-promo-toast-code-divider {
  width: 1px;
  align-self: stretch;
  background: hsl(0 0% 100% / 0.08);
}

.cw-promo-toast-code-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  min-width: 5.5rem;
  padding: 0 0.875rem;
  font-size: 0.6875rem;
  font-weight: 600;
  color: hsl(var(--cw-muted-fg));
  background: hsl(0 0% 100% / 0.03);
  white-space: nowrap;
  transition: color 0.2s ease, background-color 0.2s ease;
}

.cw-promo-toast-code-btn:hover .cw-promo-toast-code-action {
  color: hsl(0 0% 90%);
  background: hsl(0 0% 100% / 0.05);
}

.cw-promo-toast-code-btn.is-copied .cw-promo-toast-code-action {
  color: hsl(150 55% 68%);
  background: hsl(150 35% 20% / 0.08);
}

.cw-promo-toast-code-action i {
  font-size: 0.6875rem;
  opacity: 0.9;
}

.cw-pay-promo-block,
.cw-cart-promo {
  margin-top: 0.25rem;
}

.cw-pay-promo-label,
.cw-cart-promo-label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(var(--cw-muted-fg));
}

.cw-pay-promo-row,
.cw-cart-promo-row {
  display: flex;
  gap: 0.5rem;
}

.cw-pay-promo-input,
.cw-cart-promo-input {
  flex: 1;
  min-width: 0;
  padding: 0.6875rem 0.875rem;
  border-radius: 0.625rem;
  border: 1px solid hsl(var(--cw-border) / 0.45);
  background: hsl(0 0% 5% / 0.75);
  color: hsl(0 0% 94%);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.cw-pay-promo-input:focus,
.cw-cart-promo-input:focus {
  outline: none;
  border-color: hsl(var(--cw-primary) / 0.45);
  box-shadow: 0 0 0 2px hsl(var(--cw-primary) / 0.12);
}

.cw-pay-promo-btn,
.cw-cart-promo-btn {
  flex-shrink: 0;
  padding: 0.6875rem 0.875rem;
  border-radius: 0.625rem;
  border: 1px solid hsl(var(--cw-primary) / 0.35);
  background: hsl(195 85% 60% / 0.12);
  color: hsl(var(--cw-primary));
  font-size: 0.75rem;
  font-weight: 700;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.cw-pay-promo-btn:hover,
.cw-cart-promo-btn:hover {
  background: hsl(195 85% 60% / 0.2);
  border-color: hsl(var(--cw-primary) / 0.5);
}

.cw-pay-promo-applied,
.cw-cart-promo-applied {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem;
  margin: 0.5rem 0 0;
  font-size: 0.75rem;
  color: hsl(150 55% 62%);
}

.cw-pay-promo-applied i,
.cw-cart-promo-applied i {
  font-size: 0.75rem;
}

.cw-pay-promo-remove,
.cw-cart-promo-remove {
  margin-left: 0.25rem;
  padding: 0;
  border: none;
  background: none;
  color: hsl(var(--cw-muted-fg));
  font-size: 0.6875rem;
  font-weight: 600;
  text-decoration: underline;
  cursor: pointer;
}

.cw-pay-promo-remove:hover,
.cw-cart-promo-remove:hover {
  color: hsl(0 0% 88%);
}

.cw-pay-promo-error,
.cw-cart-promo-error {
  margin: 0.375rem 0 0;
  font-size: 0.75rem;
  color: hsl(0 70% 62%);
}

.cw-cart-promo {
  padding-top: 0.75rem;
  margin-bottom: 0.75rem;
  border-top: 1px solid hsl(var(--cw-border) / 0.2);
}

/* Light theme — html[data-theme="light"] */
[data-theme="light"] {
  color-scheme: light;
  --cw-bg: 220 14% 96%;
  --cw-bg-base: #f4f5f7;
  --cw-card: 0 0% 100%;
  --cw-border: 220 14% 86%;
  --cw-fg: 220 18% 14%;
  --cw-fg-strong: 220 22% 10%;
  --cw-fg-soft: 220 12% 32%;
  --cw-muted-fg: 220 10% 38%;
  --cw-surface-glass: 0 0% 100% / 0.9;
  --cw-surface-dock: 0 0% 100% / 0.94;
  --gradient-bg: linear-gradient(180deg, hsl(220 14% 97%) 0%, hsl(220 16% 93%) 100%);
  --shadow-card: 0 10px 30px -5px hsl(220 25% 20% / 0.08);
  --shadow-glow: 0 0 20px hsl(195 85% 60% / 0.12);
  --cl-background: 244 245 247;
  --cl-card: 255 255 255;
  --cl-t-primary: 28 32 38;
  --cl-t-accent: 28 32 38;
}

[data-theme="light"] html { background: var(--cw-bg-base); }

[data-theme="light"] body.cw-body {
  background: linear-gradient(180deg, hsl(220 14% 97%) 0%, hsl(220 16% 92%) 100%) !important;
  color: hsl(var(--cw-fg));
}

[data-theme="light"] #vortex-bg-wrap { opacity: 0.35; }

[data-theme="light"] #vortex-bg-wrap::before {
  background: radial-gradient(ellipse 80% 50% at 50% -20%, hsl(195 85% 60% / 0.07), transparent);
}

[data-theme="light"] .cw-grid-pattern { opacity: 0.025; }

[data-theme="light"] .cw-page-wrap,
[data-theme="light"] .cw-footer { color: hsl(var(--cw-fg)); }

[data-theme="light"] .cw-page-wrap :is(
  h1, h2, h3, h4,
  .cw-section-title,
  .cw-stat-value,
  .cw-product-title,
  .cw-category-name,
  .cw-faq-question,
  .cw-cart-title,
  .cw-pay-modal-head h3,
  .cw-pay-summary-value,
  .cw-pay-method-text strong,
  .cw-support-chat-title,
  .cw-support-chat-action-text strong,
  .cw-promo-toast-title
) { color: hsl(var(--cw-fg-strong)); }

[data-theme="light"] .cw-navbar-dock {
  background: hsl(var(--cw-surface-dock));
  border-color: hsl(var(--cw-border) / 0.95);
  box-shadow: 0 12px 40px hsl(220 25% 20% / 0.1), 0 0 0 1px hsl(0 0% 100% / 0.85) inset;
}

[data-theme="light"] .cw-navbar-dock::before {
  background: linear-gradient(180deg, hsl(0 0% 100% / 0.65), transparent 50%);
}

[data-theme="light"] .cw-navbar-dock .cw-nav-divider {
  background: linear-gradient(180deg, transparent, hsl(var(--cw-border)), transparent);
}

[data-theme="light"] .cw-navbar-dock .cw-nav-currency .choices__inner {
  background: hsl(220 14% 94%);
  border-color: hsl(var(--cw-border));
  color: hsl(var(--cw-fg));
}

[data-theme="light"] .cw-navbar-dock .cw-nav-currency .choices__list.choices__list--dropdown {
  background: hsl(var(--cw-card));
  border-color: hsl(var(--cw-border));
}

[data-theme="light"] .cw-nav-mobile-menu {
  background: hsl(var(--cw-card));
  border-color: hsl(var(--cw-border));
  box-shadow: 0 16px 40px hsl(220 25% 20% / 0.12);
}

[data-theme="light"] .cw-nav-mobile-item { color: hsl(var(--cw-fg)); }

[data-theme="light"] .cw-nav-mobile-item:hover {
  background: hsl(195 85% 60% / 0.08);
  color: hsl(var(--cw-primary));
}

[data-theme="light"] .cw-nav-mobile-currency-btn {
  background: hsl(220 14% 94%);
  border-color: hsl(var(--cw-border));
  color: hsl(var(--cw-fg));
}

[data-theme="light"] .vortex-card {
  background: linear-gradient(145deg, hsl(0 0% 100% / 0.95) 0%, hsl(220 14% 97% / 0.9) 100%);
  border-color: hsl(var(--cw-border) / 0.9);
  box-shadow: var(--shadow-card);
}

[data-theme="light"] .cw-stat-card {
  background: linear-gradient(to bottom right, hsl(195 85% 60% / 0.1), hsl(0 0% 100% / 0.95));
  border-color: hsl(var(--cw-border) / 0.85);
}

[data-theme="light"] .cw-category-card,
[data-theme="light"] .cw-product-card,
[data-theme="light"] .cw-review-card,
[data-theme="light"] .cw-hero-stat-gold,
[data-theme="light"] .cw-hero-stat-blue,
[data-theme="light"] .cw-hero-stat-green {
  background: hsl(var(--cw-card));
  border-color: hsl(var(--cw-border) / 0.9);
  box-shadow: var(--shadow-card);
}

[data-theme="light"] .cw-category-card:hover,
[data-theme="light"] .cw-product-card:hover {
  border-color: hsl(var(--cw-primary) / 0.35);
  box-shadow: 0 16px 40px hsl(220 25% 20% / 0.1), 0 0 24px hsl(var(--cw-primary) / 0.08);
}

[data-theme="light"] .cw-footer {
  background: hsl(var(--cw-card) / 0.7);
  border-top-color: hsl(var(--cw-border) / 0.8);
}

[data-theme="light"] .cw-faq-item,
[data-theme="light"] .cw-cart-panel,
[data-theme="light"] .cw-cart-item {
  background: hsl(var(--cw-card));
  border-color: hsl(var(--cw-border) / 0.85);
}

[data-theme="light"] .cw-pay-modal-panel,
[data-theme="light"] .cw-pay-summary,
[data-theme="light"] .cw-pay-method {
  background: hsl(var(--cw-card));
  border-color: hsl(var(--cw-border) / 0.85);
  color: hsl(var(--cw-fg));
}

[data-theme="light"] .cw-pay-modal-backdrop { background: hsl(220 20% 20% / 0.35); }

[data-theme="light"] .cw-pay-email-input,
[data-theme="light"] .cw-cart-promo-input,
[data-theme="light"] .cw-pay-promo-input {
  background: hsl(220 14% 96%);
  border-color: hsl(var(--cw-border));
  color: hsl(var(--cw-fg));
}

[data-theme="light"] .cw-support-chat-panel,
[data-theme="light"] .cw-support-chat-nudge-shell {
  background: linear-gradient(180deg, hsl(0 0% 100% / 0.98) 0%, hsl(220 14% 97% / 0.99) 100%);
  border-color: hsl(var(--cw-border) / 0.9);
  box-shadow: 0 20px 48px hsl(220 25% 20% / 0.12);
}

[data-theme="light"] .cw-support-chat-action,
[data-theme="light"] .cw-support-chat-topic {
  background: hsl(220 14% 96%);
  border-color: hsl(var(--cw-border) / 0.85);
  color: hsl(var(--cw-fg));
}

[data-theme="light"] .cw-support-chat-bubble--admin {
  background: hsl(220 14% 94%);
  color: hsl(var(--cw-fg));
}

[data-theme="light"] .cw-support-chat-input {
  background: hsl(220 14% 96%);
  border-color: hsl(var(--cw-border));
  color: hsl(var(--cw-fg));
}

[data-theme="light"] .cw-support-chat-nudge-title { color: hsl(var(--cw-fg)); }
[data-theme="light"] .cw-support-chat-nudge-text { color: hsl(var(--cw-muted-fg)); }

[data-theme="light"] .cw-support-chat-nudge-arrow {
  background: hsl(220 14% 97% / 0.99);
  border-color: hsl(var(--cw-border) / 0.9);
}

[data-theme="light"] .cw-promo-toast-shell {
  background: linear-gradient(180deg, hsl(0 0% 100% / 0.98) 0%, hsl(220 14% 97% / 0.99) 100%);
  border-color: hsl(var(--cw-border) / 0.9);
  box-shadow: 0 24px 60px -24px hsl(220 25% 20% / 0.18);
}

[data-theme="light"] .cw-promo-toast-desc,
[data-theme="light"] .cw-promo-toast-label { color: hsl(var(--cw-muted-fg)); }

[data-theme="light"] .cw-trust-marquee-item,
[data-theme="light"] .cw-reviews-marquee-item {
  background: hsl(var(--cw-card));
  border-color: hsl(var(--cw-border) / 0.85);
  color: hsl(var(--cw-fg));
}

[data-theme="light"] ::-webkit-scrollbar-track { background: hsl(220 14% 94%); }

[data-theme="light"] .text-t-primary { color: rgba(var(--cl-t-primary), 1) !important; }
[data-theme="light"] .bg-background { background-color: rgba(var(--cl-background), 1) !important; }
[data-theme="light"] .bg-card { background-color: rgba(var(--cl-card), 1) !important; }

/* Light theme — contrast fixes */
[data-theme="light"] .cw-trust-marquee {
  background: hsl(var(--cw-card) / 0.85);
  border-color: hsl(var(--cw-border) / 0.8);
}

[data-theme="light"] .cw-trust-marquee-item {
  color: hsl(var(--cw-muted-fg));
  font-weight: 600;
}

[data-theme="light"] .cw-trust-marquee-item i {
  color: hsl(var(--cw-primary));
}

[data-theme="light"] .cw-hero-stat-value,
[data-theme="light"] .cw-stat-value {
  color: hsl(var(--cw-fg-strong));
}

[data-theme="light"] .cw-cat-footer {
  background: hsl(220 14% 96%);
  border-top-color: hsl(var(--cw-border) / 0.85);
}

[data-theme="light"] .cw-cat-footer-name {
  color: hsl(var(--cw-fg-strong));
}

[data-theme="light"] .cw-category-card {
  background: hsl(var(--cw-card));
}

[data-theme="light"] .cw-product-crumb,
[data-theme="light"] .cw-product-crumb-sep {
  color: hsl(var(--cw-muted-fg));
}

[data-theme="light"] .cw-product-crumb-active,
[data-theme="light"] a.cw-product-crumb:hover {
  color: hsl(195 75% 36%);
}

[data-theme="light"] .cw-product-page .cw-product-sidebar.vortex-card {
  background: hsl(var(--cw-card));
  border-color: hsl(var(--cw-border) / 0.9);
  box-shadow: var(--shadow-card);
}

[data-theme="light"] .cw-product-page .cw-product-sidebar.vortex-card:hover {
  border-color: hsl(var(--cw-primary) / 0.3);
  box-shadow: 0 16px 40px hsl(220 25% 20% / 0.1);
}

[data-theme="light"] .cw-product-page .cw-product-screenshots,
[data-theme="light"] .cw-product-page .cw-product-tabs,
[data-theme="light"] .cw-product-tabs {
  background: hsl(var(--cw-card));
  border-color: hsl(var(--cw-border) / 0.9);
  box-shadow: var(--shadow-card);
}

[data-theme="light"] .cw-product-page .cw-product-tabs-head,
[data-theme="light"] .cw-product-tabs-head {
  background: hsl(220 14% 94%);
  border-bottom-color: hsl(var(--cw-border) / 0.85);
}

[data-theme="light"] .cw-product-tab {
  color: hsl(var(--cw-muted-fg));
}

[data-theme="light"] .cw-product-tab:hover,
[data-theme="light"] .cw-product-tab.is-active {
  color: hsl(195 75% 36%);
}

[data-theme="light"] .cw-product-page .cw-product-tab.is-active {
  background: hsl(195 85% 60% / 0.08);
  text-shadow: none;
}

[data-theme="light"] .cw-product-title,
[data-theme="light"] .cw-product-card-title,
[data-theme="light"] .cw-product-screenshots-head,
[data-theme="light"] .cw-product-variant,
[data-theme="light"] .cw-product-variant-name,
[data-theme="light"] .cw-product-variant-price,
[data-theme="light"] .cw-product-level-label,
[data-theme="light"] .cw-product-info-title,
[data-theme="light"] .cw-product-info-text,
[data-theme="light"] .cw-product-support-text {
  color: hsl(var(--cw-fg-strong));
}

[data-theme="light"] .cw-product-editor,
[data-theme="light"] .cw-product-variant-meta,
[data-theme="light"] .cw-product-form-label,
[data-theme="light"] .cw-product-price-label,
[data-theme="light"] .cw-product-price-each {
  color: hsl(var(--cw-muted-fg));
}

[data-theme="light"] .cw-product-page .cw-product-variant,
[data-theme="light"] .cw-product-variant {
  background: hsl(220 14% 96%);
  border-color: hsl(var(--cw-border) / 0.9);
  color: hsl(var(--cw-fg-strong));
}

[data-theme="light"] .cw-product-page .cw-product-variant.is-active:not(.is-best-deal),
[data-theme="light"] .cw-product-variant.is-active {
  background: hsl(195 85% 60% / 0.08);
  border-color: hsl(var(--cw-primary) / 0.45);
}

[data-theme="light"] .cw-product-variant-icon {
  background: hsl(var(--cw-card));
  border-color: hsl(var(--cw-border));
  color: hsl(var(--cw-muted-fg));
}

[data-theme="light"] .cw-product-page .cw-product-support,
[data-theme="light"] .cw-product-support {
  background: hsl(220 14% 96%);
  border-color: hsl(var(--cw-border) / 0.85);
  color: hsl(var(--cw-fg));
}

[data-theme="light"] .cw-product-page .cw-product-info-card,
[data-theme="light"] .cw-product-info-card {
  background: hsl(var(--cw-card));
  border-color: hsl(var(--cw-border) / 0.85);
}

[data-theme="light"] .cw-product-media,
[data-theme="light"] .cw-product-page .cw-product-media {
  background: hsl(var(--cw-card));
  border-color: hsl(var(--cw-border) / 0.9);
  box-shadow: var(--shadow-card);
}

[data-theme="light"] .cw-product-thumb {
  background: hsl(220 14% 94%);
  border-color: hsl(var(--cw-border));
}

[data-theme="light"] .cw-product-card,
[data-theme="light"] .cw-product-card .cw-product-body {
  color: hsl(var(--cw-fg));
}

[data-theme="light"] .cw-searchbar {
  background: hsl(var(--cw-card)) !important;
  border-color: hsl(var(--cw-border)) !important;
}

[data-theme="light"] .cw-section-title,
[data-theme="light"] .cw-hero h1,
[data-theme="light"] .text-t-primary {
  color: hsl(var(--cw-fg-strong)) !important;
}

[data-theme="light"] .cw-reviews-marquee-item {
  color: hsl(var(--cw-fg));
}

[data-theme="light"] .vortex-card,
[data-theme="light"] .cw-faq-item {
  color: hsl(var(--cw-fg));
}
