/* Entrada de página e micro-interações — respeita prefers-reduced-motion no main.css */

@keyframes ghPageIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes ghPanelIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes ghStepDot {
  from {
    transform: scale(0.85);
    opacity: 0.5;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

html.gh-page-in body {
  animation: ghPageIn var(--dur-page-in, 0.32s) var(--ease-ui, cubic-bezier(0.22, 1, 0.36, 1)) both;
}

html.gh-nav-leaving body {
  opacity: 0.94;
  transition: opacity var(--dur-fast, 0.14s) ease;
  pointer-events: none;
}

.checkout-panel:not([hidden]) {
  animation: ghPanelIn var(--dur-panel-in, 0.26s) var(--ease-ui, cubic-bezier(0.22, 1, 0.36, 1)) both;
}

.checkout-card .steps [data-step-dot].is-active {
  animation: ghStepDot var(--dur-fast, 0.18s) var(--ease-ui, cubic-bezier(0.22, 1, 0.36, 1)) both;
}

.drawer {
  transition: transform var(--dur-drawer, 0.22s) var(--ease-ui, cubic-bezier(0.22, 1, 0.36, 1));
}

.backdrop {
  transition: opacity var(--dur-fast, 0.18s) ease;
}

.modal__sheet,
.product-modal__sheet {
  transition: transform var(--dur-drawer, 0.28s) var(--ease-ui, cubic-bezier(0.22, 1, 0.36, 1));
}

.auth-panel:not([hidden]) {
  animation: ghPanelIn var(--dur-panel-in, 0.26s) var(--ease-ui, cubic-bezier(0.22, 1, 0.36, 1)) both;
}

@media (prefers-reduced-motion: reduce) {
  html.gh-page-in body,
  .checkout-panel:not([hidden]),
  .auth-panel:not([hidden]) {
    animation: none;
  }

  html.gh-nav-leaving body {
    opacity: 1;
    transition: none;
  }
}
