/* Refinamientos de conversión y legibilidad para Marana. */
.topbar { scroll-margin-top: 86px; }
section[id] { scroll-margin-top: 86px; }
.brand img { object-fit: contain; }
.booking { background: #fff; padding: 42px clamp(24px, 8vw, 130px) 54px; border-bottom: 1px solid #eee4d6; }
.booking-heading { max-width: 1100px; margin: 0 auto 22px; }
.booking-heading h2 { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(2rem, 3vw, 3rem); letter-spacing: -.035em; }
.booking-heading p:last-child { color: #605653; margin: 9px 0 0; }
.booking-form { max-width: 1100px; margin: auto; display: grid; grid-template-columns: 1fr 1fr .8fr auto; gap: 12px; align-items: end; }
.booking-form label { display: grid; gap: 7px; font-weight: 700; font-size: .87rem; color: #443631; }
.booking-form input, .booking-form select { width: 100%; height: 52px; padding: 10px 12px; color: #241c19; background: #fff; border: 1px solid #bcb1a4; border-radius: 3px; font: inherit; font-weight: 500; }
.booking-form input:focus-visible, .booking-form select:focus-visible, a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #d9a62e; outline-offset: 3px; }
.booking-form button { height: 52px; border: 0; cursor: pointer; justify-content: center; white-space: nowrap; }
.booking-error { grid-column: 1 / -1; color: #9b1f25; font-weight: 700; margin: 2px 0 0; }
.booking-error[hidden] { display: none; }
.map-wrap iframe { max-width: 100%; }
.whatsapp { gap: 9px; }
.whatsapp svg { flex: none; }
@media (max-width: 900px) { .booking-form { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) {
  .booking { padding-top: 40px; padding-bottom: 48px; }
  .booking-form { grid-template-columns: 1fr; }
  .booking-form button { width: 100%; }
  .whatsapp { width: 54px; height: 54px; }
  .whatsapp svg { width: 26px; height: 26px; }
  .hero-actions .button { justify-content: center; }
}
