.promotion-price { display: flex; flex-direction: column; gap: 5px; }
.promotion-price--end { align-items: flex-end; text-align: right; }
.promotion-price__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.promotion-price--end .promotion-price__meta { justify-content: flex-end; }
.promotion-price__final { font-size: 24px; font-weight: 700; line-height: 1.15; letter-spacing: -0.02em; }
.promotion-price__badge { display: inline-flex; align-self: flex-start; padding: 5px 10px; border-radius: 100px; font-size: 12px; font-weight: 600; }
.promotion-price__meta .promotion-price__badge { align-self: center; }
.promotion-price__original { text-decoration: line-through; margin-right: 5px; }
.promotion-price__meta .promotion-price__original { margin-right: 0; font-size: 14px; line-height: 1.2; }
.promotion-price__saving { font-size: 14px; font-weight: 600; }
.promotion-price__details { font-size: 13px; text-align: left; }
.promotion-price__details summary { cursor: pointer; }
.promotion-price__details summary:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; border-radius: 4px; }
.promotion-price__details ul { margin: 5px 0; padding-left: 20px; }
.promotion-price__details p { margin: 5px 0 0; }
.cardImage__mealBadge { display: inline-flex; align-items: center; gap: 6px; max-width: 200px; }
.cardImage__mealBadge i { font-size: 14px; line-height: 1; }
button.rd-room-card__image { padding: 0; border: 0; text-align: inherit; }
button.rd-room-card__image:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
@media (max-width: 767px) {
    .promotion-price, .rd-room-price-area { align-items: flex-start; flex-wrap: wrap; text-align: left; width: 100%; }
    .promotion-price--end { align-items: flex-start; text-align: left; }
    .promotion-price--end .promotion-price__meta { justify-content: flex-start; }
    .promotion-price__details { width: 100%; }
    .promotion-price__final { font-size: 22px; }
    .cardImage__mealBadge { max-width: 160px; }
}
