:root {
  /* Brand */
  --brand-primary: #2c3d43;
  --brand-secondary: #2dc20b;
  --brand-whitespace: #ffffff;

  /* Surfaces / Background */
  --surface-bg: #ffffff;
  --surface-card: #f5f5f5;

  /* Text */
  --text-primary: #2c3d43;
  --text-secondary: rgba(44, 61, 67, 0.8);
  --text-inverse: #ffffff;

  /* Border */
  --border-default: rgba(0, 0, 0, 0.16);

  /* UI */
  --ui-success: #2dc20b;
  --ui-danger: #ff3838;
}

/* Urgency animations */
@keyframes pulse-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.85); }
}
@keyframes pulse-ring {
  0% { transform: scale(1); opacity: 0.5; }
  100% { transform: scale(5); opacity: 0; }
}
@keyframes stock-bars {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}
.pulse-dot {
  position: relative;
  animation: pulse-dot 2s ease-in-out infinite;
}
.pulse-dot::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: inherit;
  animation: pulse-ring 2s ease-out infinite;
}
.stock-bar-1 { animation: stock-bars 1.5s ease-in-out infinite; }
.stock-bar-2 { animation: stock-bars 1.5s ease-in-out 0.3s infinite; }
.stock-bar-3 { animation: stock-bars 1.5s ease-in-out 0.6s infinite; }

/* Lightning flash animation on sale text emoji */
@keyframes lightning-flash {
  0%, 100% { text-shadow: none; filter: none; }
  10% { text-shadow: 0 0 8px rgba(255,200,0,0.8), 0 0 20px rgba(255,160,0,0.5); filter: brightness(1.4); }
  20% { text-shadow: none; filter: none; }
  30% { text-shadow: 0 0 12px rgba(255,200,0,0.9), 0 0 30px rgba(255,160,0,0.6); filter: brightness(1.6); }
  40% { text-shadow: none; filter: none; }
}
.flash-sale-text {
  animation: lightning-flash 3s ease-in-out infinite;
}

/* CTA button hover */
a[class*="cta-green"] {
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}
a[class*="cta-green"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  filter: brightness(1.06);
}
a[class*="cta-green"]:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}
