/* =========================================================
   Professional Clean Theme - Minimal, Modern, No 3D Effects
   ========================================================= */

:root {
  /* Colors - Clean Dark Theme */
  --color-bg: #000000;
  --color-brighter-bg: #0a0a0a;
  --color-surface: #111111;
  --color-border: rgba(255, 255, 255, 0.08);
  --color-text: #ffffff;
  --color-text-secondary: #a0a0a0;
  --color-text-muted: #6b6b6b;
  
  /* Accent - Electric Blue */
  --color-primary: #0070f3;
  --color-primary-hover: #0051cc;
  --color-primary-text: #ffffff;
  
  /* Typography */
  --font-sans: 'Inter', system-ui, -apple-system, sans-serif;
  --font-display: var(--ms-font, "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  
  /* Spacing */
  --radius-sm: 6px;
  --radius-md: 12px;
}

/* ——— Reset excessive animations ——— */
* {
  animation: none !important;
}

/* Remove 3D transforms */

html, body {
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-sans);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
}

body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    linear-gradient(rgba(0, 112, 243, 0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 112, 243, 0.02) 1px, transparent 1px);
  background-size: 40px 40px;
  pointer-events: none;
  z-index: 0;
}

body > * {
  position: relative;
  z-index: 1;
}

/* ——— Clean Navigation ——— */
.site-navigation {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(0, 0, 0, 0.92);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--color-border);
}

/* Hide the old header - we only want the new navigation */
.site-header-inner {
  display: none !important;
}

.site-header {
  border-bottom: none !important;
}

.nav-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 32px;
  height: 72px;
  display: flex;
  align-items: center;
  gap: 48px;
}

.nav-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: var(--color-text);
  font-weight: 600;
  font-size: 16px;
  letter-spacing: -0.02em;
  transition: opacity 0.2s;
}

.nav-brand:hover {
  opacity: 0.8;
}

.nav-mark {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  background: var(--color-primary);
  color: var(--color-primary-text);
  font-weight: 700;
  font-size: 16px;
  border-radius: 4px;
  flex-shrink: 0;
}

.navigation-list {
  display: flex;
  align-items: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1;
}

.navigation-list > li > a {
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  color: var(--color-text-secondary);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: color 0.2s;
  position: relative;
}

.navigation-list > li > a:hover,
.navigation-list > li.is-active > a {
  color: var(--color-text);
}

.navigation-list > li.is-active > a::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 16px;
  right: 16px;
  height: 2px;
  background: var(--color-primary);
}

/* Remove bracket decorations */
.navigation-list > li.is-active > a::before,
.navigation-list > li > a::before {
  content: none !important;
}

.nav-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

.nav-signin,
.nav-cart {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  color: var(--color-text-secondary);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s;
  border-radius: var(--radius-sm);
}

.nav-signin:hover,
.nav-cart:hover {
  color: var(--color-text);
  background: var(--color-surface);
}

.nav-cart-count {
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 10px;
  background: var(--color-primary);
  color: var(--color-primary-text);
  font-size: 11px;
  font-weight: 700;
  display: inline-grid;
  place-items: center;
}

/* ——— Hero Section ——— */

/* Code background pattern */

.hero-eyebrow .accent {
  color: var(--color-primary);
  position: relative;
}

.hero-eyebrow .accent::after {
  content: none;
}

.hero-headline .accent {
  background: linear-gradient(135deg, var(--color-primary), #00a3ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 800;
}

.hero-cta.btn-primary {
  background: var(--color-primary);
  color: var(--color-primary-text);
  box-shadow: 0 4px 14px rgba(0, 112, 243, 0.4);
}

.hero-cta.btn-primary:hover {
  background: var(--color-primary-hover);
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(0, 112, 243, 0.5);
}

.hero-cta.is-secondary {
  background: rgba(255, 255, 255, 0.05);
  color: var(--color-text);
  border: 1px solid rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
}

.hero-cta.is-secondary:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--color-primary);
  box-shadow: 0 4px 14px rgba(0, 112, 243, 0.2);
}

/* ——— Features Section ——— */

.feature-card {
  display: flex;
  gap: 16px;
}

.feature-card:hover .feature-icon {
  background: rgba(0, 112, 243, 0.1);
  box-shadow: 0 0 20px rgba(0, 112, 243, 0.3);
}

.feature-card:hover .feature-icon::before {
  opacity: 0.1;
}

/* ——— Buttons ——— */
.btn-primary,
a.btn-primary,
button.btn-primary {
  background: var(--color-primary) !important;
  color: var(--color-primary-text) !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  padding: 12px 24px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  transition: all 0.2s !important;
  box-shadow: 0 0 0 0 rgba(0, 112, 243, 0) !important;
  text-shadow: none !important;
  position: relative;
  overflow: hidden;
}

.btn-primary::before,
a.btn-primary::before,
button.btn-primary::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
}

.btn-primary:hover::before,
a.btn-primary:hover::before,
button.btn-primary:hover::before {
  width: 300px;
  height: 300px;
}

.btn-primary:hover,
a.btn-primary:hover,
button.btn-primary:hover {
  background: var(--color-primary-hover) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(0, 112, 243, 0.3) !important;
}

/* ——— Product Cards ——— */
.store-products-images .store-product-card,
.product-card,
.package-card {
  background: var(--color-surface) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: none !important;
  position: relative;
}

.store-products-images .store-product-card::after,
.product-card::after,
.package-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--color-primary), transparent);
  opacity: 0;
  transition: opacity 0.3s;
}

.store-products-images .store-product-card:hover,
.product-card:hover,
.package-card:hover {
  border-color: rgba(0, 112, 243, 0.5) !important;
  transform: translateY(-6px) !important;
  box-shadow: 0 12px 40px rgba(0, 112, 243, 0.15) !important;
}

.store-products-images .store-product-card:hover::after,
.product-card:hover::after,
.package-card:hover::after {
  opacity: 1;
}

/* Remove all 3D transforms */
.store-product-card,
.product-card,
.package-card,
.feature-card,
.card {
  perspective: none !important;
  transform-style: flat !important;
}

.store-product-card *,
.product-card *,
.package-card *,
.feature-card *,
.card * {
  perspective: none !important;
  transform-style: flat !important;
  backface-visibility: visible !important;
}

/* ——— Section Titles ——— */
.section-title,
.featured-scripts-section h2 {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 16px;
}

/* ——— Clean Grid ——— */
.featured-scripts-grid,
.store-products-images {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 24px;
  padding: 0;
}

/* ——— Remove text shadows and excessive effects ——— */
* {
  text-shadow: none !important;
}

/* Remove rotating/scaling animations */
@keyframes scale-up4,
@keyframes rotate {
  from, to {
    transform: none;
  }
}

/* Clean badges */
.card-badge,
.badge,
.package-badge {
  background: linear-gradient(135deg, var(--color-primary), rgba(0, 112, 243, 0.8)) !important;
  color: #ffffff !important;
  border-radius: 4px !important;
  padding: 4px 10px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  box-shadow: 0 2px 8px rgba(0, 112, 243, 0.3) !important;
  border: 1px solid rgba(0, 112, 243, 0.3) !important;
}

/* ——— Footer ——— */
.site-footer {
  border-top: 1px solid var(--color-border);
  padding: 48px 0;
  margin-top: 120px;
}

/* ——— Sort Select Styling ——— */

.sort-select:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(0, 112, 243, 0.1);
}

/* ——— Enhanced Visual Details with Blue ——— */

.category-search input {
  background: var(--color-brighter-bg);
  border: 1px solid var(--color-border);
  color: var(--color-text);
  padding: 8px 16px;
  border-radius: var(--radius-sm);
  font-size: 14px;
  min-width: 200px;
  transition: all 0.2s;
}

.category-search input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(0, 112, 243, 0.1);
}

.category-search input::placeholder {
  color: var(--color-text-muted);
}

/* Chip styling with blue accent */

.chip.is-active {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #ffffff;
}

/* Product cards with blue accents */
.store-product-card,
.product-card {
  position: relative;
}

.store-product-card::before,
.product-card::before {
  content: '';
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  background: linear-gradient(135deg, var(--color-primary) 0%, transparent 50%);
  border-radius: var(--radius-md);
  opacity: 0;
  transition: opacity 0.3s;
  z-index: -1;
}

.store-product-card:hover::before,
.product-card:hover::before {
  opacity: 0.1;
}

/* Code-like background for sections */

/* ——— Clean Reviews - No 3D Effects ——— */

.reviews-carousel {
  cursor: default !important;
  overflow: visible !important;
}

.reviews-carousel::before,
.reviews-carousel::after {
  display: none !important;
}

.reviews-container {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
  gap: 24px !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 1 !important;
}

.reviews-container.dragging {
  cursor: default !important;
}

.review-card {
  background: var(--color-surface) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  padding: 24px !important;
  min-width: auto !important;
  width: 100% !important;
  margin: 0 !important;
  transition: all 0.2s !important;
  perspective: none !important;
  transform: none !important;
  position: relative !important;
  z-index: 1 !important;
}

.review-card:hover {
  border-color: var(--color-text-muted) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3) !important;
}

.review-card.center {
  transform: none !important;
}

.review-card p {
  color: var(--color-text-secondary) !important;
  line-height: 1.6 !important;
  margin-bottom: 16px !important;
  font-size: 14px !important;
}

.review-card span {
  color: var(--color-text) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}

/* ——— Clean Recent Purchases Widget ——— */
.widget.widget-recent {
  background: var(--color-surface) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  padding: 24px !important;
}

.widget.widget-recent .widget-title {
  font-size: 16px !important;
  font-weight: 600 !important;
  margin-bottom: 20px !important;
  color: var(--color-text) !important;
}

.widget.widget-recent .widget-title::before,
.widget.widget-recent .widget-title::after {
  display: none !important;
}

.widget.widget-recent .purchases-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(56px, 1fr)) !important;
  gap: 16px !important;
  position: relative !important;
  z-index: 1 !important;
}

.widget.widget-recent .purchase-card-avatar,
.widget.widget-recent .purchase-item {
  width: 56px !important;
  height: 56px !important;
  position: relative;
  z-index: 1 !important;
}

.widget.widget-recent .purchase-card-avatar img,
.widget.widget-recent .purchase-item img,
.widget.widget-recent .avatar {
  width: 100% !important;
  height: 100% !important;
  border-radius: var(--radius-sm) !important;
  object-fit: cover !important;
  border: 2px solid var(--color-border) !important;
  transition: all 0.2s !important;
  box-shadow: none !important;
  filter: none !important;
}

.widget.widget-recent .purchase-card-avatar img:hover,
.widget.widget-recent .purchase-item img:hover,
.widget.widget-recent .avatar:hover {
  border-color: var(--color-primary) !important;
  transform: none !important;
  box-shadow: 0 4px 12px rgba(0, 255, 170, 0.15) !important;
}

/* Simplify tooltip - just show on hover, no complex animations */
.widget.widget-recent .tooltip {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  background: var(--color-brighter-bg) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-sm) !important;
  padding: 12px !important;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s !important;
  z-index: 10;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
}

.widget.widget-recent .tooltip::before,
.widget.widget-recent .tooltip::after {
  display: none !important;
}

.widget.widget-recent .purchase-item:hover .tooltip,
.widget.widget-recent .purchase-card-avatar:hover .tooltip {
  opacity: 1;
}

.widget.widget-recent .tooltip .ign {
  font-weight: 600 !important;
  color: var(--color-text) !important;
  font-size: 13px !important;
  display: block;
  margin-bottom: 4px;
}

.widget.widget-recent .tooltip small {
  color: var(--color-text-secondary) !important;
  font-size: 12px !important;
}

/* Hide unnecessary elements */
.widget.widget-recent .tooltip .purchase-action,
.widget.widget-recent .tooltip .tooltip-price {
  display: none !important;
}

/* ——— Responsive ——— */
@media (max-width: 960px) {
  .nav-inner {
    padding: 0 24px;
    height: 64px;
    gap: 24px;
  }
  
  
  
  
  
  
  
  .featured-scripts-grid,
  .store-products-images {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 16px;
  }

  .reviews-container {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

@media (max-width: 640px) {
  
  
  
  
  
  
  .featured-scripts-grid,
  .store-products-images {
    grid-template-columns: 1fr;
  }

  .reviews-container {
    grid-template-columns: 1fr !important;
  }
}

/* Override any JS-added inline styles for reviews */
.review-card[style] {
  transform: none !important;
  margin: 0 !important;
  min-width: auto !important;
}

/* Scanning line effect (subtle) */
@keyframes scan {
  0% {
    top: -100%;
  }
  100% {
    top: 100%;
  }
}

body::after {
  content: '';
  position: fixed;
  top: -100%;
  left: 0;
  right: 0;
  height: 100px;
  background: linear-gradient(
    to bottom,
    transparent,
    rgba(0, 112, 243, 0.03),
    transparent
  );
  pointer-events: none;
  z-index: 9999;
  animation: scan 15s linear infinite;
  opacity: 0.5;
}

/* Enhanced link hover effects */
a {
  position: relative;
  transition: color 0.2s;
}

/* (removed: blue animated underline on every link hover) */

/* Glowing cursor effect on interactive elements */
button:not(:disabled),
input:not(:disabled),
select:not(:disabled),
.btn-primary,
.hero-cta {
  cursor: pointer;
  position: relative;
}

/* Loading state shimmer */
@keyframes shimmer {
  0% {
    background-position: -1000px 0;
  }
  100% {
    background-position: 1000px 0;
  }
}

.loading {
  background: linear-gradient(
    90deg,
    var(--color-surface) 0%,
    rgba(0, 112, 243, 0.1) 50%,
    var(--color-surface) 100%
  );
  background-size: 1000px 100%;
  animation: shimmer 2s infinite;
}

/* Package card excerpt: description HTML is flattened to text by main.js; clamp it meanwhile */
.product-card__excerpt { margin: 8px 0 12px; font-size: 13px; line-height: 1.45; opacity: .75; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.product-card__excerpt * { display: inline; margin: 0; padding: 0; font-size: inherit; font-weight: inherit; }
.product-card__excerpt img, .product-card__excerpt video, .product-card__excerpt iframe, .product-card__excerpt br { display: none; }

/* Animations are disabled above, so cards must not rely on cleanCardEntrance to become visible */
.product-card, article.product,
.product-card.animate-in, article.product.animate-in { opacity: 1 !important; }
.product-card:not(:hover), article.product:not(:hover) { transform: none; }

/* ——— Category page hero (markup from category.html; styles were only in the unused theme-dark-neon.css) ——— */
.category-hero { padding: 24px 0 8px; }

