.booking-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.booking-card { min-width: 0; padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: var(--white); overflow-wrap: anywhere; }
.booking-card h2 { margin: 16px 0 8px; font-size: 24px; }
.booking-card .button { margin-top: 16px; }
.booking-card .detail-list { margin: 16px 0; }
.booking-demo { padding: 12px 16px; background: #fff2b7; border-radius: 8px; font-size: 14px; }
.booking-detail { max-width: 1120px; }
.review-form { display: grid; gap: 16px; margin-top: 20px; }
.review-form > label:not(.guest-account-consent) { display: grid; gap: 8px; font-weight: 600; }
.review-form input:not([type=checkbox]), .review-form select, .review-form textarea { width: 100%; min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); color: var(--ink); }
.stay-review-card { padding: 16px 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .booking-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .booking-card { padding: 20px; }
}
