#countdown-section {
  padding-block: 40px 28px;
  text-align: center;
  position: relative;
}

#countdown-section::before {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse 70% 80% at 50% 50%,
    rgba(92,26,46,.14) 0%, transparent 70%);
  animation: cdHalo 5s ease-in-out infinite alternate;
}
@keyframes cdHalo {
  0%   { opacity:.5; transform:scale(.95); }
  100% { opacity:1;  transform:scale(1.05); }
}

#countdown-grid {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 0;
  margin-block: 20px 14px;
}

.cdown-unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  position: relative;
  padding: 14px clamp(10px,3vw,20px) 10px;
  background: linear-gradient(160deg, rgba(92,26,46,.18) 0%, rgba(16,8,14,.85) 100%);
  border: 1px solid var(--border-gold);
  min-width: clamp(62px,16vw,80px);
  border-radius: 0;
}
.cdown-unit:first-of-type { border-radius: 14px 0 0 14px; }
.cdown-unit:last-of-type  { border-radius: 0 14px 14px 0; }

.cdown-unit::before {
  content: '';
  position: absolute; top: 0; left: 10%; right: 10%; height: 1.5px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: .6;
}

.cdown-num {
  font-family: var(--ff-queen);
  font-size: clamp(2.4rem, 11vw, 3.6rem);
  font-weight: 700;
  line-height: 1;
  display: block;
  letter-spacing: -.02em;
  background: linear-gradient(180deg, var(--gold-pale) 0%, var(--gold) 55%, var(--wine-light) 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
  filter: drop-shadow(0 0 8px rgba(201,168,76,.35));
  transition: transform .15s var(--ease-back);
}
.cdown-num.tick {
  animation: cdFlip .35s var(--ease-back);
}
@keyframes cdFlip {
  0%   { transform:translateY(-8px) scale(.9); opacity:.4; }
  60%  { transform:translateY(2px)  scale(1.06); }
  100% { transform:translateY(0)    scale(1); opacity:1; }
}

.cdown-label {
  font-family: var(--ff-body);
  font-size: .5rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--cream-50);
}

.cdown-sep { display: none; }   .cdown-unit + .cdown-unit {
  border-left: none;
  position: relative;
}
.cdown-unit + .cdown-unit::after {
  content: '·';
  position: absolute; left: -5px; top: 50%; transform: translateY(-55%);
  font-size: 1.1rem; color: var(--gold); opacity: .35;
  line-height: 1; pointer-events: none;
}

#countdown-event-label {
  font-family: var(--ff-grace);
  font-style: italic;
  font-size: .9rem;
  letter-spacing: .08em;
  color: var(--blush-muted);
  margin-top: 4px;
}
