/* Movimento baseado nos tempos e curvas da referência Rezende.
   Nenhuma regra de entrada esconde conteúdo antes do aprimoramento por JavaScript. */
html { scroll-behavior: smooth; }
[data-header] { transition: background-color 300ms, color 300ms, padding 300ms, box-shadow 300ms; }
[data-header] img { transition: width 300ms, height 300ms, filter 300ms; }
.product-entering {
  transform: translateX(var(--product-enter-x, 0%));
  opacity: var(--product-enter-opacity, 1);
  will-change: transform, opacity;
}
[data-carousel-track] { scroll-behavior: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
[data-carousel-slide] { scroll-snap-align: start; scroll-snap-stop: normal; }
[data-carousel-prev], [data-carousel-next], [data-carousel-pause], [data-carousel-dots], [data-carousel-status] { display: none; }
.carousel-ready [data-carousel-prev], .carousel-ready [data-carousel-next], .carousel-ready [data-carousel-pause], .carousel-ready [data-carousel-status] { display: inline-flex; }
.carousel-ready [data-carousel-dots] { display: flex; align-items: center; justify-content: center; }
[data-carousel-dots] button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 12px 8px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  cursor: pointer;
}
[data-carousel-dots] button::before { content: none; }
[data-carousel-dots] button span { width: 8px; height: 8px; border-radius: 999px; background: currentColor; opacity: .35; transition: width 300ms, opacity 300ms; }
[data-carousel-dots] button.is-active span { width: 28px; opacity: 1; }
[data-carousel-prev], [data-carousel-next] { min-width: 48px; min-height: 48px; align-items: center; justify-content: center; }
[data-carousel-pause] { min-height: 44px; align-items: center; justify-content: center; }
[data-carousel-prev]:disabled, [data-carousel-next]:disabled, [data-carousel-pause]:disabled { opacity: .55; cursor: default; }
[data-carousel-track]:focus-visible { outline: 2px solid var(--gold, #c9a242); outline-offset: 6px; }
[data-motion-toggle] { display: none; }
[data-motion-toggle].is-paused .icon { display: none; }
[data-motion-toggle].is-paused::before { content: ""; display: block; width: 12px; height: 14px; background: currentColor; clip-path: polygon(0 0, 100% 50%, 0 100%); }
[data-marquee-clone] { display: none; }
[data-floating-cta] { transition: opacity 500ms, transform 500ms; }
[data-floating-cta].is-suppressed { opacity: 0; transform: translateY(16px); pointer-events: none; }
[data-copy-address] { display: none; }
[data-copy-address].copy-ready { display: inline-flex; }
[data-copy-feedback] { user-select: text; }
[data-occasion-picker] .occasion-options { display: none; }
[data-occasion-picker].occasion-ready .occasion-options { display: flex; }
[data-occasion-message] { overflow-wrap: break-word; }
.motion-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media (hover: hover) and (pointer: fine) {
  [data-hover-zoom] { transition: transform 700ms cubic-bezier(0,0,.2,1); }
  .product-row [data-hover-zoom] { transition-duration: 500ms; }
  [data-hover-zoom]:hover { transform: scale(1.05); }
}
@media (max-width: 639px) {
  .motion-ready [data-marquee-track] {
    display: flex;
    width: max-content;
    gap: 0;
    animation: lisboa-benefits-marquee 26s linear infinite;
    will-change: transform;
  }
  .motion-ready [data-marquee-track] > * { flex: 0 0 auto; }
  .motion-ready [data-marquee-clone] { display: flex; }
  .motion-ready.motion-paused [data-marquee-track] { animation-play-state: paused; }
  .motion-ready [data-motion-toggle] { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
  [data-floating-cta].is-suppressed { transform: translateY(100%); }
}
@keyframes lisboa-benefits-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition-duration: .001ms !important; }
  .product-entering { transform: none !important; opacity: 1 !important; will-change: auto; }
  .motion-ready [data-marquee-track] { width: 100%; animation: none; transform: none; will-change: auto; }
  .motion-ready [data-marquee-clone] { display: none; }
  .motion-ready [data-motion-toggle] { display: none; }
[data-motion-toggle].is-paused .icon { display: none; }
[data-motion-toggle].is-paused::before { content: ""; display: block; width: 12px; height: 14px; background: currentColor; clip-path: polygon(0 0, 100% 50%, 0 100%); }
  [data-hero-visual], [data-hover-zoom] { transform: none !important; }
}

/* V10: controle aparece somente depois de um frame real reproduzido. */
[data-hero-video-toggle] { display: none; }
[data-hero-video-toggle].is-ready { display: inline-flex; }
@media (max-width: 767px) { [data-hero-video-toggle] { display: none !important; } }
@media (prefers-reduced-motion: reduce) { [data-hero-video-toggle] { display: none !important; } }
