/* Animações (equivalentes às do framer-motion no original) */
:root { --ease: cubic-bezier(0.16, 1, 0.3, 1); }
[hidden] { display: none !important; }

/* Cards de produto alinhados (mesma altura, nomes e links na mesma linha) */
.self-start { align-self: flex-start; }
.min-h-\[2em\] { min-height: 2em; }
@media (min-width: 768px) { .md\:items-stretch { align-items: stretch; } }

/* Reveal ao rolar */
.js [data-reveal] { opacity: 0; transform: translateY(40px); transition: opacity .9s var(--ease) var(--d, 0s), transform .9s var(--ease) var(--d, 0s); }
.js [data-reveal].is-in { opacity: 1; transform: none; }

/* Hero */
.js .hero-line { transform: translateY(110%) rotate(4deg); transition: transform 1.1s var(--ease) var(--d, 0s); }
.js .hero-fade { opacity: 0; transition: opacity .6s ease var(--d, 0s); }
.js .hero-rise { opacity: 0; transform: translateY(16px); transition: opacity .8s ease var(--d, 0s), transform .8s ease var(--d, 0s); }
.js .hero-tag { opacity: 0; transform: translateX(20px); transition: opacity .8s ease 1.6s, transform .8s ease 1.6s; }
.js .hero-frame-anim { clip-path: inset(100% 0 0 0); transition: clip-path 1.4s var(--ease) .5s; }
.js .hero-img { transform: scale(1.25); transition: transform 2s var(--ease) .5s; }

.loaded .hero-line { transform: none; }
.loaded .hero-fade, .loaded .hero-rise, .loaded .hero-tag { opacity: 1; transform: none; }
.loaded .hero-frame-anim { clip-path: inset(0% 0 0 0); }
.loaded .hero-img { transform: scale(1.02); }

/* Card de produto: sobe 6px no hover (efeito mola) */
.product-card { transition: transform .5s cubic-bezier(.34,1.4,.64,1), border-color .5s; }
.product-card:hover { transform: translateY(-6px); }

/* Galeria: transição de 1.2s na imagem */
.gallery-img, .product-img { transition: transform 1.2s cubic-bezier(0, 0, 0.2, 1); }

/* Lightbox */
#lightbox { opacity: 0; transition: opacity .3s ease; }
#lightbox.open { opacity: 1; }
#lightbox img { transform: scale(.92); opacity: 0; transition: transform .4s var(--ease), opacity .4s ease; }
#lightbox.open img { transform: scale(1); opacity: 1; }

/* Menu mobile */
#nav-toggle .icon-close { display: none; }
#nav-toggle[aria-expanded="true"] .icon-open { display: none; }
#nav-toggle[aria-expanded="true"] .icon-close { display: block; }

@media (prefers-reduced-motion: reduce) {
  .js [data-reveal], .js .hero-line, .js .hero-fade, .js .hero-rise, .js .hero-tag, .js .hero-frame-anim, .js .hero-img {
    transition: none !important; opacity: 1 !important; transform: none !important; clip-path: none !important;
  }
}
