/* Cabeçalho escuro e sistema de movimento comercial */
.topbar {
  background: #050506;
  border-bottom: 1px solid #252527;
}

.header {
  color: #fff;
  background: rgba(11, 11, 12, .96);
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  box-shadow: 0 10px 35px rgba(0, 0, 0, .12);
  transition: height .3s ease, background .3s ease, box-shadow .3s ease;
}

.header.scrolled {
  height: 72px;
  background: rgba(5, 5, 6, .985);
  box-shadow: 0 16px 38px rgba(0, 0, 0, .28);
}

.header .brand img {
  height: 62px;
  transition: height .3s ease, transform .3s ease;
}

.header.scrolled .brand img {
  height: 54px;
}

.header .nav a {
  color: #f4f4f5;
  position: relative;
}

.header .nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -9px;
  height: 2px;
  background: var(--orange);
  transition: right .25s ease;
}

.header .nav a:hover,
.header .nav a.active {
  color: var(--orange);
}

.header .nav a:hover::after,
.header .nav a.active::after {
  right: 0;
}

.menu-toggle span {
  background: #fff;
}

.scroll-progress {
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--orange), #ff9a4f);
  box-shadow: 0 0 12px rgba(255, 101, 0, .65);
  pointer-events: none;
}

.motion-ready .reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .7s cubic-bezier(.2,.65,.25,1), transform .7s cubic-bezier(.2,.65,.25,1);
  transition-delay: var(--reveal-delay, 0ms);
}

.motion-ready .reveal.from-left {
  transform: translateX(-34px);
}

.motion-ready .reveal.from-right {
  transform: translateX(34px);
}

.motion-ready .reveal.in-view {
  opacity: 1;
  transform: translate(0, 0);
}

.category-card,
.product-card,
.testimonial-grid blockquote,
.benefit-grid article {
  will-change: transform;
}

.category-card::before,
.product-image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(115deg, transparent 25%, rgba(255,255,255,.14) 46%, transparent 67%);
  transform: translateX(-120%);
  transition: transform .75s ease;
  pointer-events: none;
}

.category-card:hover::before,
.product-card:hover .product-image::after {
  transform: translateX(120%);
}

.btn {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.btn::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(100deg, transparent 20%, rgba(255,255,255,.3) 48%, transparent 75%);
  transform: translateX(-130%);
  transition: transform .65s ease;
}

.btn:hover::after {
  transform: translateX(130%);
}

.hero-bg {
  transform: scale(1.045) translate3d(0, var(--hero-shift, 0px), 0);
  transition: transform .08s linear;
  will-change: transform;
}

.hero-content > * {
  animation: heroEnter .75s both cubic-bezier(.2,.7,.2,1);
}

.hero-content > :nth-child(2) { animation-delay: .1s; }
.hero-content > :nth-child(3) { animation-delay: .2s; }
.hero-content > :nth-child(4) { animation-delay: .3s; }
.hero-content > :nth-child(5) { animation-delay: .42s; }

@keyframes heroEnter {
  from { opacity: 0; transform: translateY(25px); }
  to { opacity: 1; transform: translateY(0); }
}

.whatsapp-float {
  transition: transform .25s ease, box-shadow .25s ease;
  animation: whatsappAttention 7s 2.5s infinite;
}

.whatsapp-float:hover {
  transform: translateY(-4px) scale(1.03);
  box-shadow: 0 18px 38px rgba(37, 211, 102, .28);
}

@keyframes whatsappAttention {
  0%, 82%, 100% { transform: scale(1); }
  86% { transform: scale(1.06); }
  90% { transform: scale(1); }
  94% { transform: scale(1.04); }
}

@media (max-width: 1050px) {
  .header .nav.open {
    color: #fff;
    background: rgba(5, 5, 6, .985);
    border-bottom-color: #2c2c2f;
  }

  .header .nav a::after {
    display: none;
  }
}

@media (max-width: 760px) {
  .header .brand img,
  .header.scrolled .brand img {
    height: 52px;
  }

  .hero-bg {
    transform: scale(1.03);
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
  .motion-ready .reveal {
    opacity: 1;
    transform: none;
  }
}
