/* Floating cart button — site-wide */

.floating-cart {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 60;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 3.4rem;
  padding: 0.65rem 1.1rem 0.65rem 0.95rem;
  border-radius: 999px;
  background: var(--yami-logo-coral);
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  box-shadow: 0 10px 28px rgba(22, 56, 44, 0.28);
  transition: transform 0.25s var(--ease), background 0.25s var(--ease), opacity 0.25s var(--ease);
  animation: floating-cart-in 0.45s var(--ease);
}

.floating-cart:hover {
  background: #d14c22;
  color: #fff;
  text-decoration: none;
  transform: translateY(-3px);
}

.floating-cart.is-hidden,
.floating-cart[hidden] {
  display: none !important;
}

.floating-cart__icon {
  display: inline-flex;
}

.floating-cart__text {
  font-size: 0.95rem;
}

.floating-cart__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.45rem;
  height: 1.45rem;
  padding: 0 0.35rem;
  border-radius: 999px;
  background: #fff;
  color: var(--yami-logo-coral);
  font-size: 0.8rem;
  font-weight: 800;
}

@keyframes floating-cart-in {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 640px) {
  .floating-cart {
    right: 1rem;
    bottom: 1rem;
    width: 3.4rem;
    height: 3.4rem;
    min-height: 3.4rem;
    padding: 0;
    justify-content: center;
  }

  .floating-cart__text {
    display: none;
  }

  .floating-cart__count {
    position: absolute;
    top: -0.2rem;
    right: -0.2rem;
  }
}

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