/* ------ keep  */
.action-bar-overlay {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1040; /* Higher than sticky-nav (1020), lower than modal (1055) */
}

.glass-morphic {
  /* 1. Semi-transparent background */
  background: rgba(255, 255, 255, 0.2);

  /* 2. The "Frosted" blur effect */
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px); /* Safari support */

  /* 3. Subtle border to define the edges */
  border: 1px solid rgba(255, 255, 255, 0.3);

  /* 4. Rounded corners (standard for this look) */
  border-radius: 16px;

  /* 5. Soft shadow for depth */
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}

/* When HTMX is preparing to remove an element, fade it out and shrink it */
.htmx-swapping {
  opacity: 0;
  transform: scale(0.95);
  transition: all 300ms ease-out;
}

#cart-items-subtotal {
  view-transition-name: cart-subtotal;
}

#checkout-btn {
  view-transition-name: cart-checkout;
}

/* -- Fix for modal displaying in the background - */
.modal {
  background: rgba(0, 0, 0, 0.5);
}
.modal-backdrop {
  display: none;
}

.marquee-container {
}

.marquee-content {
  display: flex;
  width: max-content;
  animation: marquee 60s linear infinite;
  will-change: transform;
  backface-visibility: hidden;
}

.marquee-set {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-around;
}

.marquee-item {
  flex: 0 0 auto;
  padding: 0 20px;
  font-size: 1.2rem;
  color: #495057;
}

@keyframes marquee {
  from { transform: translate3d(0, 0, 0); }
  to   { transform: translate3d(-50%, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .marquee-content { animation: none; }
}

/* Optional: Pause animation on hover */
.marquee-container:hover .marquee-content {
  animation-play-state: paused;
}
