/* Booking page specific styles (lean, leveraging base.css) */
.hero-media img { border-radius: var(--radius-lg); box-shadow: var(--glow-purple), var(--shadow-lg); }

.booking-grid { align-items: start; }
.summary-sticky { position: sticky; top: var(--space-6); }

/* Availability badge colors */
.badge.available-high { background-color: rgba(16,185,129,0.15); color: var(--color-success); border-color: var(--color-success); }
.badge.available-limited { background-color: rgba(245,158,11,0.15); color: var(--color-warning); border-color: var(--color-warning); }
.badge.available-none { background-color: rgba(239,68,68,0.15); color: var(--color-danger); border-color: var(--color-danger); }

/* Chat panel */
.chat-panel { margin-top: var(--space-6); background: var(--color-bg-secondary); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-lg); box-shadow: var(--glow-blue), var(--shadow-lg); overflow: hidden; }
.chat-header { padding: var(--space-4) var(--space-6); border-bottom: 1px solid var(--color-border-subtle); background: linear-gradient(135deg, rgba(14,165,233,0.1), rgba(6,182,212,0.1)); }
.chat-body { padding: var(--space-4) var(--space-6); max-height: 280px; overflow: auto; }
.chat-log { display: flex; flex-direction: column; gap: var(--space-3); margin-top: var(--space-3); }
.chat-msg { padding: var(--space-3) var(--space-4); border-radius: var(--radius-base); max-width: 85%; box-shadow: var(--shadow-sm); }
.chat-msg.user { align-self: flex-end; background: rgba(178,75,243,0.15); border: 1px solid var(--color-border-primary); }
.chat-msg.agent { align-self: flex-start; background: rgba(14,165,233,0.12); border: 1px solid var(--color-border-secondary); }
.chat-input { display: flex; gap: var(--space-3); padding: var(--space-4) var(--space-6); border-top: 1px solid var(--color-border-subtle); }

/* Small helpers */
.hidden { display: none !important; }

@media (max-width: 768px) {
  .summary-sticky { position: static; }
}
