/* Booking page specific styles */
.booking-hero { padding: var(--space-12) 0; }
.booking-hero__inner { display: grid; gap: var(--space-7); }
.booking-hero__content { color: #fff; }
.booking-hero__subtitle { color: #e6eefc; max-width: 60ch; }
.booking-hero__badges { display: flex; flex-wrap: wrap; gap: var(--space-4); margin-top: var(--space-5); }

.booking-vehicles .booking-vehicle__media { border-radius: var(--radius-md); overflow: hidden; margin-block: var(--space-4); }
.booking-vehicle__title { margin: 0; }
.booking-vehicle__desc { color: var(--gray-600); }
.select-vehicle { white-space: nowrap; }

.table-responsive { overflow-x: auto; }

.booking-locations { display: flex; flex-wrap: wrap; gap: var(--space-4); }
.location-chip {
  border: 1px solid var(--gray-300);
  background: #fff;
  color: var(--color-text);
  padding: 0.5rem 0.875rem;
  border-radius: var(--radius-pill);
  transition: background var(--transition-fast) var(--easing-standard), border-color var(--transition-fast) var(--easing-standard), transform var(--transition-fast) var(--easing-standard);
}
.location-chip:hover { background: var(--gray-50); }
.location-chip.is-active { border-color: var(--color-accent); box-shadow: var(--focus-ring); }

.booking-form fieldset { border: 0; padding: 0; margin-bottom: var(--space-8); }
.form-label { display: inline-block; margin-bottom: var(--space-3); font-weight: 600; }
.checkbox { display: flex; align-items: center; gap: var(--space-3); }
.terms-check { display: flex; align-items: center; }

.booking-summary { background: var(--gray-50); border-radius: var(--radius-lg); border: 1px solid var(--gray-200); }
.booking-summary__line { margin: 0 0 var(--space-3); font-size: var(--font-size-lg); }
.booking-summary__note { margin: 0; color: var(--gray-600); }
.form-error { color: var(--color-danger); margin-top: var(--space-5); min-height: 1.2em; }

.booking-confirmation__header h3 { margin-top: var(--space-5); }
.booking-confirmation__grid { align-items: start; }
.booking-details { margin: 0; padding-left: 1rem; }

/* Chat panel */
.chat-panel { border: 1px solid var(--gray-200); border-radius: var(--radius-lg); padding: var(--space-6); max-width: 420px; background: #fff; box-shadow: var(--shadow-sm); }
.chat-log { background: var(--gray-50); border: 1px solid var(--gray-200); border-radius: var(--radius-md); padding: var(--space-5); max-height: 220px; overflow: auto; margin-bottom: var(--space-4); }
.chat-form { display: grid; grid-template-columns: 1fr auto; gap: var(--space-4); }

/* Reviews */
.review__text { margin: 0 0 var(--space-3); }
.review__meta { margin: 0; color: var(--gray-600); }

/* Promo */
.promo { background: linear-gradient(180deg, #fff 0%, #F8FAFC 100%); }

/* Small tweaks for mobile spacing */
@media (max-width: 640px) {
  .booking-hero { padding: var(--space-11) 0; }
}
