/* Promotions page specific styles (kept minimal and complementary to base.css) */
.hero { padding: var(--space-12) 0 var(--space-10); }
.hero__grid { display: grid; gap: var(--space-8); align-items: center; grid-template-columns: 1.1fr 1fr; }
.hero__content { max-width: 56ch; }
.hero__actions { display: flex; gap: var(--space-4); margin-top: var(--space-4); flex-wrap: wrap; }
.hero__note { color: var(--gray-700); margin-top: var(--space-3); }
.hero__media img { border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }

@media (max-width: 960px) {
  .hero { padding: var(--space-10) 0; }
  .hero__grid { grid-template-columns: 1fr; }
}

.promo-grid { align-items: stretch; }
.promo-featured { grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr)); }

.countdown { font-family: var(--font-sans); font-weight: 600; color: var(--color-danger); }

/* Rewards */
.rewards-grid { display: grid; gap: var(--space-8); grid-template-columns: 1.2fr 1fr; align-items: center; }
.rewards-visual img { border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }

@media (max-width: 960px) {
  .rewards-grid { grid-template-columns: 1fr; }
}

/* Newsletter */
.newsletter-grid { grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }

/* Events */
.events-grid { display: grid; gap: var(--space-8); grid-template-columns: 1.2fr 1fr; align-items: start; }
.events-visual img { border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }

@media (max-width: 960px) {
  .events-grid { grid-template-columns: 1fr; }
}

/* Details/summary enhancements */
#terms details summary { cursor: pointer; list-style: none; }
#terms details summary::-webkit-details-marker { display: none; }
#terms details summary::after { content: '\25BC'; font-size: 0.8em; margin-left: var(--space-3); color: var(--gray-600); transition: transform var(--duration-normal) var(--easing-standard); }
#terms details[open] summary::after { transform: rotate(-180deg); }
