/* ============================================
   STANDARDIZED COUNTDOWN COMPONENT
   Sleek circular countdown with smooth animations
   ============================================ */

.countdown-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-lg);
}

.countdown-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--spacing-md);
}

.countdown-circle {
  width: 140px;
  height: 140px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.countdown-svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.countdown-svg-circle-bg {
  fill: none;
  stroke: var(--color-bg-tertiary);
  stroke-width: 10;
  r: 60;
  cx: 70;
  cy: 70;
}

.countdown-svg-circle-progress {
  fill: none;
  stroke: url(#countdown-gradient);
  stroke-width: 10;
  stroke-linecap: round;
  r: 60;
  cx: 70;
  cy: 70;
  stroke-dasharray: 377;
  stroke-dashoffset: 0;
  transition: stroke-dashoffset 0.3s linear;
}

/* Gradient definition for SVG */
.countdown-gradient-defs {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.countdown-number {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-4xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-primary);
  transition: all 0.3s ease;
  text-shadow: 0 2px 8px rgba(102, 126, 234, 0.2);
}

.countdown-number.animating {
  transform: scale(1.15);
  color: var(--color-secondary);
}

.countdown-number.complete {
  font-size: var(--font-size-2xl);
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.countdown-label {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  text-align: center;
  margin-top: var(--spacing-sm);
  font-weight: var(--font-weight-medium);
  letter-spacing: var(--letter-spacing-wide);
}

.countdown-label.complete {
  display: none;
}

/* Responsive Design */
@media (max-width: 768px) {
  .countdown-circle {
    width: 120px;
    height: 120px;
  }

  .countdown-svg-circle-bg,
  .countdown-svg-circle-progress {
    r: 50;
    cx: 60;
    cy: 60;
    stroke-width: 8;
    stroke-dasharray: 314;
  }

  .countdown-number {
    font-size: var(--font-size-3xl);
  }

  .countdown-number.complete {
    font-size: var(--font-size-xl);
  }
}

@media (max-width: 480px) {
  .countdown-circle {
    width: 100px;
    height: 100px;
  }

  .countdown-svg-circle-bg,
  .countdown-svg-circle-progress {
    r: 42;
    cx: 50;
    cy: 50;
    stroke-width: 7;
    stroke-dasharray: 264;
  }

  .countdown-number {
    font-size: var(--font-size-2xl);
  }

  .countdown-number.complete {
    font-size: var(--font-size-lg);
  }

  .countdown-label {
    font-size: var(--font-size-xs);
  }
}

/* Animation for pulse effect */
@keyframes countdown-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}

.countdown-number.pulse {
  animation: countdown-pulse 1s ease-in-out infinite;
}

