.book-hero { padding-bottom: 2rem; }
.book-section { padding-top: 1rem; padding-bottom: 5rem; max-width: 720px; }

.book-form {
    background: var(--black-card);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius);
    padding: 2rem;
}
.book-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
}
.form-group-full { grid-column: 1 / -1; }
.form-hint {
    font-size: 0.85rem;
    color: var(--gold);
    margin-top: 0.4rem;
}
.book-submit {
    width: 100%;
    justify-content: center;
    margin-top: 1.5rem;
    padding: 1rem;
    font-size: 1.05rem;
}

.book-success {
    text-align: center;
    background: var(--black-card);
    border: 1px solid rgba(212, 175, 55, 0.35);
    border-radius: 16px;
    padding: 3rem 2rem;
    max-width: 560px;
    margin: 0 auto;
}
.book-success-icon { font-size: 4rem; color: var(--gold); margin-bottom: 1rem; }
.book-success h2 { font-family: var(--font-display); color: var(--white); font-size: 2rem; margin-bottom: 0.5rem; }
.book-ref { color: var(--gray); font-size: 0.9rem; margin-bottom: 0.5rem; }
.booking-number-display {
    font-family: var(--font-display);
    font-size: 2rem;
    color: var(--gold);
    letter-spacing: 0.08em;
    margin-bottom: 1.5rem;
    padding: 0.75rem 1.5rem;
    background: rgba(212, 175, 55, 0.1);
    border-radius: 8px;
    display: inline-block;
}
.book-summary {
    text-align: left;
    background: var(--black-soft);
    border-radius: var(--radius);
    padding: 1.25rem 1.5rem;
    margin: 0 auto 1rem;
    max-width: 400px;
}
.book-summary p { margin-bottom: 0.5rem; color: var(--gray-light); font-size: 0.95rem; }
.book-summary strong { color: var(--white); }
.book-sms-note { color: var(--gray); font-size: 0.9rem; margin-top: 1rem; }
.book-sms-note i { color: var(--gold); margin-right: 0.35rem; }

@media (max-width: 600px) {
    .book-form-grid { grid-template-columns: 1fr; }
}
