/* Interação complementar dos carrosséis de departamentos.
   Preserva a paleta, tipografia, cards e espaçamentos do frontend. */
.department-carousel-track {
  scroll-behavior: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  cursor: grab;
  user-select: none;
  touch-action: pan-y;
  overscroll-behavior-inline: contain;
}
.department-carousel-track::-webkit-scrollbar {
  display: none;
}
.department-carousel-track.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}
.department-carousel-card {
  min-width: calc(50% - 0.5rem);
  scroll-snap-align: start;
  -webkit-user-drag: none;
}
@media (min-width: 768px) {
  .department-carousel-card {
    min-width: calc(25% - 0.75rem);
  }
}
@media (prefers-reduced-motion: reduce) {
  .department-carousel-track {
    scroll-behavior: auto;
  }
}

/* Ajustes funcionais sem alteração da identidade visual. */
.site-header-logo {
  display: block;
  height: 34px;
  width: auto;
  max-width: 175px;
}
@media (min-width: 640px) {
  .site-header-logo {
    height: 38px;
    max-width: 195px;
  }
}
.site-hero-section {
  background: var(--brand-primary-dark, #020a2e);
}
.site-hero-video {
  object-fit: contain !important;
  object-position: center center;
}
@keyframes phone-blue-pulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 8px 22px rgba(8, 27, 102, 0.28), 0 0 0 0 rgba(8, 27, 102, 0.28);
  }
  50% {
    transform: scale(1.025);
    box-shadow: 0 10px 26px rgba(8, 27, 102, 0.34), 0 0 0 9px rgba(8, 27, 102, 0);
  }
}
.floating-phone-button {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 50;
  display: grid;
  width: 56px;
  height: 56px;
  place-items: center;
  border-radius: 9999px;
  background: var(--brand-primary, #081b66);
  color: #fff;
  box-shadow: 0 8px 22px rgba(8, 27, 102, 0.28);
  transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
  animation: phone-blue-pulse 2.8s ease-in-out infinite;
}
.floating-phone-button:hover,
.floating-phone-button:focus-visible {
  transform: translateY(-2px) scale(1.035);
  background: var(--brand-primary-dark, #020a2e);
  outline: none;
}
.mobile-cart-launcher {
  left: 1.25rem;
  right: auto;
}
@media (prefers-reduced-motion: reduce) {
  .floating-phone-button { animation: none; }
}
