/* Промо использует общие карточки и цвета магазина; стили ограничены её контейнером. */
.promo-page { padding-bottom: 2rem; }
.promo-intro { padding-top: clamp(2rem, 5vw, 4.5rem); padding-bottom: 2.5rem; }
.promo-eyebrow { font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; color: var(--ff-burgundy, #8c1238); margin-bottom: .85rem; }
.promo-intro h1 { max-width: 24ch; font-size: clamp(1.85rem, 4.2vw, 3.4rem); line-height: 1.12; margin-bottom: 1.25rem; }
.promo-copy { max-width: 75ch; line-height: 1.65; overflow-wrap: anywhere; }
.promo-registration { margin-top: 1.5rem; padding: 1.4rem 1.5rem; background: #f6f3ef; border-left: 3px solid var(--ff-burgundy, #8c1238); }
.promo-registration p { margin: 0 0 1rem; font-size: 1.05rem; }
.promo-registration .btn { white-space: normal; }
.promo-login { display: inline-block; margin: .75rem 0 .25rem 1rem; font-size: .9rem; }
.promo-showcase { margin-bottom: 3rem; }
.promo-showcase h2 { font-size: clamp(1.4rem, 2.6vw, 2rem); margin-bottom: 1.25rem; }
.promo-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.promo-product-grid .product-card { width: auto; min-width: 0; max-width: none; min-height: 0; max-height: none; margin: 0; }
.promo-product-grid .product-images { aspect-ratio: 4 / 5; height: auto; flex: 0 0 auto; }
.promo-product-grid .product-images img { width: 100%; height: 100%; object-fit: cover; }
.promo-product-grid .card-body { padding: 1rem 1rem .5rem; }
.promo-product-grid .card-footer { padding: .5rem 1rem 1rem; }
.promo-outro { padding-top: .5rem; padding-bottom: 1.5rem; }
.promo-empty { padding: 2rem 0; }
@media (max-width: 991.98px) { .promo-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767.98px) { .promo-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; } .promo-login { display: block; margin-left: 0; } }
@media (max-width: 374.98px) { .promo-product-grid { grid-template-columns: 1fr; } }
