.promo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.promo-card { position: relative; display: flex; flex-direction: column; min-height: 450px; padding: 32px; background: #fff; border: 1px solid #e2dbd3; border-radius: 26px; overflow: hidden; }
.promo-card-primary { background: #ff7a22; border-color: #ff7a22; }
.promo-card-dark { background: #21160f; color: #fff; border-color: #493427; }
.promo-card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 34px; }
.promo-number { font-size: 12px; letter-spacing: .12em; opacity: .7; }
.promo-symbol { font: 600 46px/1 var(--font-display); color: #bc4d08; letter-spacing: -.05em; }
.promo-card-primary .promo-symbol { color: #21160f; }
.promo-card h3 { margin-bottom: 18px; max-width: 280px; }
.promo-description { font-size: 14px; line-height: 1.7; }
.promo-conditions { font-size: 12px; line-height: 1.7; color: #74675b; margin: 16px 0 30px; }
.promo-card-primary .promo-conditions { color: #412713; }
.promo-card-dark .promo-conditions { color: #c9b9ac; }
.promo-card .info-button { margin-top: auto; width: 100%; }
.promo-card-primary .info-button { background: #fff; }
.promo-card-primary .info-button:hover { background: #ffeddf; }
.promo-card-btn-dark .info-button { background: #21160f; color: #fff !important; }
.promo-card-btn-dark .info-button:hover { background: #493427; }
.promo-expired { margin-top: auto; font-weight: 600; color: #74675b; }
.promo-card.is-expired { border-style: dashed; }
.promo-clarification { margin-top: 32px; max-width: 800px; font-size: 13px; color: #6c6259; }
@media (max-width: 1050px) { .promo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .promo-grid { grid-template-columns: 1fr; gap: 18px; } .promo-card { padding: 28px; min-height: 390px; } }
