/* Neon Luxe theme (scoped). Applies only when body has .theme-neon */

/* Base canvas and typography */
body.theme-neon{
  background: radial-gradient(120% 140% at 10% -10%, #0c1219, #0b0f14 40%);
  color: #d6dde6;
  line-height: 1.7;
}
body.theme-neon a{ color:#c7d3df; }
body.theme-neon a:hover{ color:#e4eaf1; text-shadow:0 0 8px rgba(41,227,255,.25); }

/* Header */
body.theme-neon .site-header{ background: color-mix(in srgb, #0b0f14, transparent 40%); border-bottom:1px solid color-mix(in srgb, #a9b3bf 14%, transparent); backdrop-filter: blur(6px); }
body.theme-neon .site-header a{ color:#e6ecf3; }
body.theme-neon .site-header nav a{ position:relative; padding-bottom:.15rem; }
body.theme-neon .site-header nav a::after{ content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; border-radius:2px; background: color-mix(in srgb, #29e3ff 60%, transparent); opacity:.8; transform: scaleX(0); transform-origin:left; transition: transform 180ms cubic-bezier(.2,.6,.2,1); box-shadow: 0 0 8px rgba(41,227,255,.18); }
body.theme-neon .site-header nav a:hover::after, body.theme-neon .site-header nav a:focus-visible::after{ transform: scaleX(1); }
body.theme-neon .site-header nav a[aria-current="page"]::after{ transform: scaleX(1); }

/* Hero (image-first hero stays, but balance spacing on dark) */
body.theme-neon .hero-sudoeste{ background: none; }
body.theme-neon .hero-sudoeste .hero-inner{ color:#d6dde6; position:relative; }
/* Subtle neon halo behind square logo (no retina burn) */
body.theme-neon .hero-sudoeste .hero-inner::before{
  content:"";
  position:absolute;
  inset:0;
  margin:auto;
  width:min(84vw, 640px);
  height:min(84vw, 640px);
  max-width:92%;
  max-height:92%;
  border-radius:.75rem; /* match square feel */
  pointer-events:none;
  z-index:1;
  /* layered, restrained halo using cyan/magenta */
  background:
    radial-gradient(50% 60% at 50% 50%, rgba(41,227,255,.12), rgba(41,227,255,0) 60%),
    radial-gradient(40% 50% at 60% 40%, rgba(255,94,219,.10), rgba(255,94,219,0) 70%);
  filter: blur(18px) saturate(105%);
}
/* Ensure logo sits above halo */
body.theme-neon .hero-sudoeste .hero-logo{ position:relative; z-index:2; }

/* Buttons */
body.theme-neon .btn{ background: linear-gradient(180deg, color-mix(in srgb, #121924, transparent 10%), #121924); border:1px solid color-mix(in srgb, #29e3ff 30%, transparent); color:#e8eef5; border-radius:.75rem; transition: transform 180ms cubic-bezier(.2,.6,.2,1), box-shadow 180ms cubic-bezier(.2,.6,.2,1), background 180ms cubic-bezier(.2,.6,.2,1); }
body.theme-neon .btn:hover{ transform: translateY(-1px); box-shadow: 0 2px 4px rgba(0,0,0,.55), 0 8px 18px rgba(0,0,0,.5), 0 0 22px rgba(41,227,255,.20); }
body.theme-neon .btn:active{ transform: translateY(0); box-shadow: 0 1px 2px rgba(0,0,0,.5), 0 2px 6px rgba(0,0,0,.45); }
body.theme-neon .btn:focus-visible{ outline: 2px solid color-mix(in srgb, #29e3ff 60%, transparent); outline-offset:2px; }

/* Cards/products */
body.theme-neon .card{ background:#121924; border:1px solid color-mix(in srgb, #a9b3bf 14%, transparent); box-shadow: 0 1px 2px rgba(0,0,0,.5), 0 2px 6px rgba(0,0,0,.45); }
body.theme-neon .card.product .product-media{ background:#0e141c; }
body.theme-neon .card:hover{ transform: translateY(-1px); box-shadow: 0 2px 4px rgba(0,0,0,.55), 0 8px 18px rgba(0,0,0,.5), 0 0 22px rgba(41,227,255,.20); }
body.theme-neon .product .price{ color:#e6ecf3; }
/* Ensure discounted price is readable on dark */
body.theme-neon .price .price-new{ color:#e6ecf3; }
body.theme-neon .price .price-old{ color: color-mix(in srgb, #a9b3bf 80%, transparent); opacity:.7; }

/* Features */
body.theme-neon .features .feature{ background:#121924; border:1px solid color-mix(in srgb, #a9b3bf 14%, transparent); border-radius:.75rem; padding:1rem; box-shadow: 0 1px 2px rgba(0,0,0,.5), 0 2px 6px rgba(0,0,0,.45); }

/* Forms */
body.theme-neon input, body.theme-neon textarea{ color:#e8eef5; background: color-mix(in srgb, #121924, transparent 6%); border:1px solid color-mix(in srgb, #a9b3bf 18%, transparent); border-radius:.75rem; padding:.7rem .8rem; box-shadow: inset 0 1px 1px rgba(0,0,0,.6), inset 0 2px 6px rgba(0,0,0,.25); }
body.theme-neon input::placeholder, body.theme-neon textarea::placeholder{ color: color-mix(in srgb, #a9b3bf 70%, transparent); }
body.theme-neon input:focus-visible, body.theme-neon textarea:focus-visible{ outline:none; border-color: color-mix(in srgb, #29e3ff 55%, transparent); box-shadow: 0 0 0 3px rgba(41,227,255,.22), inset 0 1px 1px rgba(0,0,0,.6); }

/* Footer */
body.theme-neon .site-footer{ background: color-mix(in srgb, #0b0f14, transparent 20%); border-top:1px solid color-mix(in srgb, #a9b3bf 14%, transparent); color:#a9b3bf; }

/* Testimonials: darken quote background for readability */
body.theme-neon .quote{ background:#121924; border:1px solid color-mix(in srgb, #a9b3bf 14%, transparent); color:#d6dde6; box-shadow: 0 1px 2px rgba(0,0,0,.5), 0 8px 18px rgba(0,0,0,.25); }
body.theme-neon .quote blockquote{ color:#e8eef5; }

/* 3D shadow helper for images (optional reuse) */
body.theme-neon .img-frame, body.theme-neon .product-media{
  box-shadow: 0 6px 10px rgba(0,0,0,.45), 0 16px 28px rgba(0,0,0,.40), 0 36px 60px rgba(0,0,0,.35);
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  body.theme-neon .btn, body.theme-neon .card{ transition: none !important; transform: none !important; box-shadow:none !important; }
}
