.mobile-bottom-nav-item { min-height: 54px; font-size: .75rem; }
.mobile-bottom-nav-item:focus-visible { outline: 3px solid #16899d; outline-offset: -3px; }
button.mobile-bottom-nav-item.active { background: #16899d14; }
.mobile-more-menu.offcanvas { height: auto; max-height: 80vh; border-radius: 20px 20px 0 0; padding-bottom: env(safe-area-inset-bottom, 0px); }
.mobile-more-menu .offcanvas-header, .mobile-more-menu .offcanvas-body { width: 100%; max-width: 640px; margin-inline: auto; }
.mobile-more-menu .offcanvas-body { padding-top: 0; }
.mobile-more-link { display: flex; align-items: center; gap: 14px; width: 100%; min-height: 52px; padding: 12px 16px; margin-bottom: 6px; border: 0; border-radius: 12px; background: transparent; color: #17417e; text-align: left; text-decoration: none; }
.mobile-more-link.active, .mobile-more-link:hover, .mobile-more-link:focus-visible { background: #eaf5f7; color: #11445d; }
.mobile-more-link i { font-size: 1.3rem; }
.booking-review { margin-top: 24px; padding: 20px; border: 1px solid #bdd9df; border-radius: 18px; background: linear-gradient(135deg, #edf8f8, #f8fbff); color: #173c58; }
.booking-review-heading { font-size: 1.05rem; font-weight: 700; margin-bottom: 12px; }
.booking-review-date { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-bottom: 10px; }
.booking-review-payment { font-size: 1.1rem; font-weight: 700; }
.booking-review-note { margin: 8px 0 0; font-size: .9rem; }
.booking-review-submit { margin-top: 16px; }
.booking-review-submit .btn { min-height: 48px; white-space: normal; }
@media (max-width: 991.98px) {
    body { padding-bottom: calc(var(--mobile-nav-height, 76px) + 16px); }
    .booking-review { padding: 16px; }
    .reservar-form-card input, .booking-review-submit { scroll-margin-bottom: calc(var(--mobile-nav-height, 76px) + 16px); }
}
