.booking {
    padding: 104px var(--gutter) 112px;
    background: #f5eee9;
    scroll-margin-top: 0;
}

.booking:focus { outline: none; }
.booking-inner { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: clamp(48px, 7vw, 116px); max-width: 1640px; margin-inline: auto; }
.booking-copy { min-width: 0; }
.booking-copy h1 { margin: 22px 0 30px; font-family: var(--serif); font-size: clamp(60px, 5.8vw, 88px); font-weight: 400; line-height: .98; letter-spacing: -.04em; }
.booking h1 em, .booking h2 em { font-weight: 400; }
.booking-location { display: flex; align-items: center; gap: 12px; font-size: 14px; line-height: 1.7; }
.booking-location .icon { font-size: 22px; flex: 0 0 22px; width: 22px; height: 22px; }
.booking-travel { max-width: 550px; margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--line); }
.booking-travel h2 { margin: 0 0 14px; font-family: var(--serif); font-size: 36px; font-weight: 400; line-height: 1.15; letter-spacing: -.02em; }
.booking-travel p { color: var(--muted); font-size: 16px; line-height: 1.85; }
.booking-travel p + p { margin-top: 14px; }
.booking-travel strong { color: var(--burgundy); font-weight: 600; }
.booking-contact { min-width: 0; padding: clamp(30px, 4vw, 60px); color: #f6eee8; background: var(--burgundy); }
.booking-contact h2 { margin: 0 0 20px; font-family: var(--serif); font-size: clamp(40px, 3.8vw, 58px); font-weight: 400; line-height: 1.06; letter-spacing: -.025em; }
.booking-contact h2 em { display: block; }
.booking-instructions { color: #e5d5cd; font-size: 16px; line-height: 1.85; }
.booking-whatsapp { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 56px; margin-top: 27px; padding: 16px; color: #073b20; background: #25d366; font-size: 14px; font-weight: 600; line-height: 1.6; transition: background .2s ease; }
.booking-whatsapp .icon { font-size: 24px; flex: 0 0 24px; width: 24px; height: 24px; }
.booking-whatsapp:hover { background: #20bd5a; }
.booking-contact a:focus-visible { outline-color: #f6eee8; outline-offset: 5px; }
.booking-alternatives { margin-top: 26px; color: #e5d5cd; font-size: 13px; line-height: 1.8; }
.booking-contact-links { margin-top: 9px; }
.booking-contact-links a { display: flex; align-items: center; gap: 15px; min-height: 76px; padding-block: 14px; border-bottom: 1px solid rgb(246 238 232 / 25%); }
.booking-contact-links .icon { font-size: 22px; flex: 0 0 22px; width: 22px; height: 22px; }
.booking-contact-links a > span { min-width: 0; }
.booking-contact-label { display: block; margin-bottom: 4px; color: #e5d5cd; font-size: 12px; line-height: 1.5; }
.booking-contact-value { display: block; overflow-wrap: anywhere; font-size: 16px; line-height: 1.6; }
.booking-contact-links a:hover .booking-contact-value { text-decoration: underline; text-underline-offset: 4px; }

@media (min-width: 701px) and (max-width: 1100px) {
    .booking-inner { grid-template-columns: 1fr 1fr; gap: 36px; }
    .booking-contact { padding: 32px 26px; }
    .booking-contact-value { font-size: 14px; }
}

@media (max-width: 850px) {
    .booking-inner { grid-template-columns: 1fr; gap: 36px; }
    .booking-travel { max-width: none; }
    .booking-contact { width: 100%; }
}

@media (max-width: 700px) {
    .booking { padding-top: 66px; padding-bottom: 96px; }
    .booking-copy h1 { margin-top: 20px; margin-bottom: 25px; font-size: clamp(50px, 12vw, 72px); }
    .booking-travel { margin-top: 25px; padding-top: 24px; }
    .booking-travel h2 { font-size: 32px; }
    .booking-contact { padding: 32px 24px; }
    .booking-contact h2 { font-size: 40px; }
    .booking-contact-links a { gap: 12px; }
    .booking-contact-value { font-size: 14px; }
}

@media (max-width: 360px) {
    .booking-contact { padding-inline: 20px; }
    .booking-whatsapp { padding-inline: 12px; gap: 10px; }
}
