.booking-active { padding-bottom: calc(var(--booking-bar-height, 90px) + var(--booking-keyboard-inset, 0px) + 28px); }
.booking-active .mobile-bottom-bar { display: none; }
.booking-active .nav-buttons {
    position: fixed; inset: auto 0 var(--booking-keyboard-inset, 0px); z-index: 10000;
    margin: 0; padding: 12px max(16px, calc((100vw - 900px)/2)) calc(12px + env(safe-area-inset-bottom));
    gap: 16px; background: #111; border-top: 1px solid #6d6041;
    box-shadow: 0 -4px 20px #0008;
}
.nav-buttons .btn { min-height: 52px; white-space: normal; }
.nav-buttons .btn-prev { color: #ddd; }
.nav-buttons .btn:disabled { opacity: .45; cursor: default; }
.tab_reservation h2 { scroll-margin-top: 105px; }
.consent-area { padding: 12px; margin-top: 20px; border: 1px solid #84754d; border-radius: 8px; color: #eee; font-size: 17px; line-height: 1.6; }
.consent-label { display: flex; gap: 16px; align-items: flex-start; padding: 12px 4px; min-height: 64px; cursor: pointer; }
.consent-label input[type="checkbox"] { appearance: auto; display: block; width: 32px; height: 32px; flex: 0 0 32px; margin: 0; accent-color: #d4af37; }
.consent-area a { display: inline-block; padding: 12px 4px; color: #e7c75f; text-decoration: underline; }
.consent-area:focus-within, [data-choice]:focus-visible, .time-slot-input:focus-visible + label, .date-card:focus-visible { outline: 3px solid #e7c75f; outline-offset: 4px; }
.time-slot-input { display: block !important; position: absolute; opacity: 0; width: 1px; height: 1px; }
@media (max-width: 600px) {
    .nav-buttons .btn { padding: 12px 18px; letter-spacing: 0; font-size: 13px; }
    .nav-buttons .btn-next { flex: 1; }
}
@media (prefers-reduced-motion: reduce) { .tab_reservation, .day-container { animation: none !important; } }

#appointment_form input.form-control,#appointment_form select,#appointment_form textarea{font-size:16px!important}
.remember-details{padding:16px;border:1px solid #645a3e;border-radius:8px;background:#d4af3709}.remember-details label{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer;color:#eee;font-size:16px}.remember-details input{width:24px;height:24px;accent-color:#d4af37;flex-shrink:0}.remember-details p{font-size:13px;line-height:1.6;color:#bbb;margin:8px 0}.remember-details button{background:none;border:0;color:#e7c75f;text-decoration:underline;min-height:44px;padding:6px 0;font-size:14px;cursor:pointer}.remember-details [hidden]{display:none!important}
