/* Vernon Assistência - estilos extra */
:root {
  --brand-500: #0052FF;
}
[x-cloak] { display: none !important; }

html { -webkit-text-size-adjust: 100%; }
body { text-rendering: optimizeLegibility; }

/* Hero texture */
.hero-grid {
  background-image:
    linear-gradient(to right, rgba(0, 82, 255, .08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0, 82, 255, .08) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse 60% 50% at 50% 40%, #000 40%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 60% 50% at 50% 40%, #000 40%, transparent 100%);
}

.dark .hero-grid {
  background-image:
    linear-gradient(to right, rgba(0, 229, 255, .08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0, 229, 255, .08) 1px, transparent 1px);
}

/* Glow abstrato atrás do hero */
.hero-glow::before {
  content: '';
  position: absolute;
  width: 60%;
  height: 80%;
  top: 10%;
  right: -10%;
  background: radial-gradient(ellipse at center, rgba(0,82,255,.35) 0%, transparent 70%);
  filter: blur(80px);
  z-index: 0;
  pointer-events: none;
}
.dark .hero-glow::before {
  background: radial-gradient(ellipse at center, rgba(0,82,255,.5) 0%, rgba(0,229,255,.15) 50%, transparent 70%);
}

/* Card hover */
.card-hover { transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.card-hover:hover { transform: translateY(-4px); }

/* Marquee brands (legado) */
@keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.marquee { animation: marquee 30s linear infinite; }

/* Lettering marquee (novo — hero) */
.brands-marquee {
  mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}
.brands-marquee__track {
  animation: brands-marquee-scroll linear infinite;
  will-change: transform;
}
.brands-marquee:hover .brands-marquee__track {
  animation-play-state: paused;
}
@keyframes brands-marquee-scroll {
  from { transform: translate3d(0, 0, 0); }
  to   { transform: translate3d(-50%, 0, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .brands-marquee__track { animation: none; }
}

/* Hide scrollbar on slider */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { scrollbar-width: none; }

/* Utility: focus ring brand */
.focus-brand:focus-visible { outline: 2px solid var(--brand-500); outline-offset: 2px; }

/* Price strikethrough */
.price-old { position: relative; }
.price-old::after {
  content: ''; position: absolute; left: 0; right: 0; top: 50%;
  height: 1.5px; background: currentColor; transform: rotate(-4deg);
}
