#reservation-form{--rtr-primary:#ffcf00;--rtr-primary-dark:#e5b900;--rtr-border:#dedbdd;--rtr-text:#29272a;--rtr-muted:#666167;box-sizing:border-box;width:min(100%,680px);margin:18px auto;padding:clamp(18px,4vw,32px);border:1px solid var(--rtr-border);border-top:6px solid var(--rtr-primary);border-radius:18px;background:#fff;color:var(--rtr-text);box-shadow:0 12px 32px rgba(41,39,42,.11)}
#reservation-form *,#reservation-form *::before,#reservation-form *::after{box-sizing:border-box}
#reservation-form .form-step{margin:0!important;text-align:center}
#reservation-form .form-step h4{margin:0 0 22px;color:var(--rtr-text);font-size:clamp(21px,5vw,28px);line-height:1.25}
#reservation-form .guest-selection{display:grid!important;grid-template-columns:repeat(5,minmax(48px,1fr));gap:10px!important;width:100%!important;max-width:480px;margin:0 auto}
#reservation-form .guest-selection p{grid-column:1/-1;margin:10px 0 0;color:var(--rtr-muted);line-height:1.5}
#reservation-form .guest-btn,#reservation-form .time-btn,#reservation-form .next-step,#reservation-form .prev-step,#reservation-form input[type=submit]{min-height:48px;padding:10px 16px!important;border:1px solid var(--rtr-border)!important;border-radius:10px!important;background:#fff!important;color:var(--rtr-text)!important;font-size:16px!important;font-weight:650;line-height:1.25;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease}
#reservation-form .guest-btn:hover,#reservation-form .time-btn:hover{border-color:var(--rtr-primary)!important;background:#edf6f3!important;transform:translateY(-1px)}
#reservation-form .guest-btn:focus-visible,#reservation-form .time-btn:focus-visible,#reservation-form .next-step:focus-visible,#reservation-form .prev-step:focus-visible,#reservation-form input:focus-visible{outline:3px solid rgba(255,207,0,.35);outline-offset:2px}
#reservation-form .time-btn.selected,#reservation-form .guest-btn:focus{border-color:#c9a200!important;background:var(--rtr-primary)!important;color:#29272a!important;font-weight:750}
#reservation-form .next-step,#reservation-form input[type=submit]{border-color:#c9a200!important;background:var(--rtr-primary)!important;color:#29272a!important;font-weight:750}
#reservation-form .next-step:hover,#reservation-form input[type=submit]:hover{background:var(--rtr-primary-dark)!important}
#reservation-form .prev-step{background:#f2f5f4!important}
#reservation-form button:disabled{opacity:.45;cursor:not-allowed;transform:none!important}
#reservation-form .time-slots{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
#reservation-form #time-slot-selection h5{margin:15px 0 8px;color:var(--rtr-muted);font-size:14px;letter-spacing:.06em;text-transform:uppercase}
#reservation-form label{display:block;width:min(100%,480px);margin:12px auto 6px;font-weight:650;text-align:left}
#reservation-form input[type=text],#reservation-form input[type=email],#reservation-form input[type=tel],#reservation-form input[type=number]{width:min(100%,480px);min-height:48px;margin:0 auto 8px;padding:10px 12px;border:1px solid var(--rtr-border);border-radius:10px;background:#fff;color:var(--rtr-text);font-size:16px}
#reservation-form hr{margin:22px 0;border:0;border-top:1px solid var(--rtr-border)}
#reservation-form .flatpickr-calendar{max-width:100%;margin:0 auto;border:0;border-radius:12px;box-shadow:none}
#reservation-form .flatpickr-rContainer,#reservation-form .flatpickr-days,#reservation-form .dayContainer{max-width:100%;min-width:0;width:100%}
#reservation-form .flatpickr-day.selected{border-color:var(--rtr-primary);background:var(--rtr-primary)}
@media(max-width:600px){#reservation-form{margin:12px 0;padding:18px 14px;border-radius:14px}#reservation-form .guest-selection{grid-template-columns:repeat(5,1fr);gap:8px!important}#reservation-form .guest-btn{min-width:0;padding:8px!important}#reservation-form .time-btn{min-width:72px}#reservation-form .next-step,#reservation-form .prev-step,#reservation-form input[type=submit]{min-width:118px}}
@media(max-width:360px){#reservation-form .guest-selection{grid-template-columns:repeat(2,1fr)}}
