/* Promotions page styles (lean, building on base.css) */
.promo-hero {
  background: radial-gradient(1200px 600px at 10% -10%, rgba(46,107,255,.12), transparent),
              linear-gradient(180deg, rgba(57,255,20,.06), transparent 40%);
}
.hero-grid {
  grid-template-columns: 1.1fr .9fr;
  gap: var(--space-8);
}
.hero-copy p { color: var(--color-muted); }
.hero-actions { display: flex; gap: var(--space-3); margin-top: var(--space-4); flex-wrap: wrap; }
.hero-media { aspect-ratio: 16/10; border-radius: var(--radius-xl); overflow: hidden; box-shadow: var(--shadow-xl); }
.hero-img { object-position: center; }

.promo-index .index-list { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.promo-index .index-list a { display: inline-block; padding: .45rem .75rem; border: 1px solid var(--gray-300); border-radius: var(--radius-full); color: var(--color-text); background: var(--color-surface); }
.promo-index .index-list a:hover { text-decoration: none; background: var(--gray-100); }

.limited-grid { grid-template-columns: 1.1fr .9fr; }
.limited-media, .birthday-media { aspect-ratio: 4/3; border-radius: var(--radius-xl); overflow: hidden; box-shadow: var(--shadow-lg); }
.round-media { border-radius: var(--radius-xl); }

.code-card { display: grid; gap: var(--space-3); }
.code-line { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-3); background: var(--gray-100); border-radius: var(--radius-md); }
.code-line code { font-weight: 700; letter-spacing: .05em; }

.countdown { margin-top: var(--space-3); font-weight: 700; font-family: var(--font-display); }
.flash-row { display: flex; align-items: center; gap: var(--space-4); flex-wrap: wrap; }

.newsletter-form .newsletter-grid { grid-template-columns: 1.2fr .8fr; align-items: end; }
.newsletter-form .actions { display: flex; justify-content: flex-start; }
.nl-status { margin-top: var(--space-3); color: var(--color-success); font-weight: 600; }

.final-cta .card { border-left: 6px solid var(--color-primary); }

/* Responsive */
@media (max-width: 900px) {
  .hero-grid, .limited-grid, .birthday-grid, .newsletter-form .newsletter-grid { grid-template-columns: 1fr; }
}
