/* Booking page specific styles — minimal additions, leveraging base.css */

.page-hero { padding-block: var(--space-12); color: #fff; }
.hero-grid { display: grid; gap: var(--space-8); grid-template-columns: 1.1fr 0.9fr; align-items: center; }
.hero-actions { display: flex; gap: var(--space-4); margin-top: var(--space-5); }
.hero-media img { border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
@media (max-width: 960px) { .hero-grid { grid-template-columns: 1fr; } }

.section { padding-block: var(--space-12); }
.section-alt { background: var(--gray-50); }
.section-head { margin-bottom: var(--space-6); }
.section-sub { color: var(--color-muted); }
.section-figure { margin-top: var(--space-8); }
.section-figure img { border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }

.card-actions { margin-top: var(--space-4); }
.deal-card { border-left: 4px solid color-mix(in oklab, var(--color-primary) 80%, transparent); }
.deal-actions { margin-top: var(--space-4); }

.step-list { display: grid; gap: var(--space-6); grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
.step-list h3 { font-size: var(--fs-lg); margin-bottom: var(--space-2); }

.faq-list details { background: var(--color-surface); border: 1px solid var(--gray-200); border-radius: var(--radius-md); padding: var(--space-4); box-shadow: var(--shadow-sm); }
.faq-list details + details { margin-top: var(--space-4); }
.faq-list summary { cursor: pointer; font-weight: 700; }
.faq-list p { margin-top: var(--space-3); }

.safety-list { display: grid; gap: var(--space-3); }

.newsletter { display: grid; gap: var(--space-4); }
.newsletter-form { display: grid; gap: var(--space-4); max-width: 34rem; }
.newsletter-actions { display: flex; gap: var(--space-3); }
