body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

::selection {
  background: rgba(212, 175, 55, 0.35);
  color: #f4f1ea;
}

html {
  scroll-behavior: smooth;
}

.gold-ring {
  box-shadow: 0 0 0 1px rgba(212, 175, 55, 0.45), 0 0 40px rgba(212, 175, 55, 0.18);
}

.text-stroke-gold {
  -webkit-text-stroke: 1px rgba(212, 175, 55, 0.5);
  color: transparent;
}

@keyframes heroLine {
  from { transform: translateY(110%); }
  to { transform: translateY(0); }
}

.hero-line {
  animation: heroLine 0.8s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes heroFade {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

.hero-fade {
  animation: heroFade 0.7s ease both;
}

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

.animate-marquee {
  animation: marquee 55s linear infinite;
}

.no-scrollbar::-webkit-scrollbar {
  display: none;
}

.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

#cart-badge.show {
  display: flex;
}

#cart-drawer.open {
  transform: translateX(0);
}

#toast {
  border-color: rgba(212, 175, 55, 0.4);
}

#toast.error {
  border-color: rgba(248, 113, 113, 0.5);
  color: #fca5a5;
}

#toast.show {
  display: block;
  animation: toastIn 0.25s ease both;
}

@keyframes toastIn {
  from { opacity: 0; transform: translate(-50%, -8px); }
  to { opacity: 1; transform: translate(-50%, 0); }
}
