/**
 * Closed Sessions - Custom Styles
 */

/* Countdown Badges */
.countdown-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1rem;
  border-radius: 0.75rem;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.025em;
  transition: all 0.3s ease;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #F2F2F2;
  min-width: fit-content;
}

/* Digital countdown display */
.countdown-display {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.countdown-unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 2.5rem;
}

.countdown-number {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  font-family: 'Courier New', monospace;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.countdown-label {
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-top: 0.125rem;
  opacity: 0.8;
  font-weight: 500;
}

.countdown-separator {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  opacity: 0.6;
  margin: 0 0.125rem;
  animation: blink 1s ease-in-out infinite;
}

@keyframes blink {
  0%, 100% { opacity: 0.6; }
  50% { opacity: 0.2; }
}

.countdown-ended {
  font-size: 0.875rem;
  font-weight: 600;
  opacity: 0.7;
}

/* Normal (more than 3 days) */
.countdown-badge {
  background: rgba(58, 130, 247, 0.15);
  border-color: rgba(58, 130, 247, 0.4);
  color: #3A82F7;
}

.countdown-badge .countdown-number {
  color: #3A82F7;
}

/* Soon (less than 3 days) */
.countdown-soon {
  background: rgba(245, 158, 11, 0.15);
  border-color: rgba(245, 158, 11, 0.5);
  color: #F59E0B;
  animation: pulse-soon 2s ease-in-out infinite;
}

.countdown-soon .countdown-number {
  color: #F59E0B;
}

/* Urgent (less than 24 hours) */
.countdown-urgent {
  background: rgba(229, 9, 20, 0.2);
  border-color: rgba(229, 9, 20, 0.6);
  color: #E50914;
  animation: pulse-urgent 1.5s ease-in-out infinite;
}

.countdown-urgent .countdown-number {
  color: #E50914;
}

.countdown-urgent .countdown-separator {
  animation: blink-urgent 0.8s ease-in-out infinite;
}

@keyframes blink-urgent {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

/* Past event */
.countdown-past {
  background: rgba(107, 114, 128, 0.15);
  border-color: rgba(107, 114, 128, 0.3);
  color: #6B7280;
  opacity: 0.7;
}

/* Animations */
@keyframes pulse-soon {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.4);
  }
  50% {
    transform: scale(1.02);
    box-shadow: 0 0 0 4px rgba(245, 158, 11, 0);
  }
}

@keyframes pulse-urgent {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(229, 9, 20, 0.5);
  }
  50% {
    transform: scale(1.05);
    box-shadow: 0 0 0 8px rgba(229, 9, 20, 0);
  }
}

/* Countdown on hover */
.countdown-badge:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* Large Countdown (for session detail pages) */
.countdown-large {
  padding: 1.5rem 2rem;
  border-radius: 1rem;
}

.countdown-large .countdown-unit {
  min-width: 4rem;
}

.countdown-large .countdown-number {
  font-size: 3rem;
}

.countdown-large .countdown-label {
  font-size: 0.75rem;
  margin-top: 0.25rem;
}

.countdown-large .countdown-separator {
  font-size: 2.5rem;
  margin: 0 0.5rem;
}

/* Countdown Grid (for detail page breakdown) */
.countdown-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-top: 1rem;
}

.countdown-unit {
  text-align: center;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.countdown-number {
  display: block;
  font-size: 2rem;
  font-weight: 700;
  color: #E50914;
  line-height: 1;
  margin-bottom: 0.25rem;
}

.countdown-label {
  display: block;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #9CA3AF;
}

/* Mobile responsive */
@media (max-width: 640px) {
  .countdown-badge {
    padding: 0.5rem 0.75rem;
  }
  
  .countdown-unit {
    min-width: 2rem;
  }
  
  .countdown-number {
    font-size: 1.25rem;
  }
  
  .countdown-label {
    font-size: 0.5rem;
  }
  
  .countdown-separator {
    font-size: 1.25rem;
    margin: 0 0.125rem;
  }
  
  .countdown-large {
    padding: 1rem 1.25rem;
  }
  
  .countdown-large .countdown-unit {
    min-width: 3rem;
  }
  
  .countdown-large .countdown-number {
    font-size: 2rem;
  }
  
  .countdown-large .countdown-label {
    font-size: 0.625rem;
  }
  
  .countdown-large .countdown-separator {
    font-size: 1.75rem;
    margin: 0 0.25rem;
  }
  
  .countdown-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
