.rsv-modal{z-index:10000;opacity:0;visibility:hidden;justify-content:center;align-items:center;padding:1rem;transition:opacity .25s,visibility .25s;display:flex;position:fixed;inset:0}.rsv-modal.is-open{opacity:1;visibility:visible;overscroll-behavior:contain}.rsv-modal__overlay{background:#00000080;position:absolute;inset:0}.rsv-modal__container{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:520px;max-height:90vh;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #0003}.rsv-modal__header{border-bottom:1px solid #f0f0f0;flex-shrink:0;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.rsv-modal__step-label{letter-spacing:.08em;color:#556b2f;text-transform:uppercase;background:#556b2f14;border-radius:4px;padding:.2rem .5rem;font-size:.6875rem;font-weight:600}.rsv-modal__title{color:#1a1a1a;letter-spacing:.02em;flex:1;margin:0;font-size:1rem;font-weight:600}.rsv-modal__close{cursor:pointer;color:#999;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;transition:color .2s,background .2s;display:flex}.rsv-modal__close:hover{color:#1a1a1a;background:#f5f5f5}.rsv-modal__progress{background:#f0f0f0;flex-shrink:0;height:2px}.rsv-modal__progress-bar{background:#556b2f;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.rsv-modal__body{overscroll-behavior:contain;flex:1;padding:1.25rem;overflow-y:auto}.rsv-modal__step{display:none}.rsv-modal__step.is-active{display:block}.rsv-modal__instruction{color:#666;margin:0 0 1.25rem;font-size:.875rem;line-height:1.6}.rsv-modal__store-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.rsv-modal__store-card{cursor:pointer;text-align:left;background:#fff;border:1.5px solid #e8e8e8;border-radius:12px;padding:0;transition:border-color .25s,box-shadow .25s,transform .2s;display:block;position:relative;overflow:hidden}.rsv-modal__store-card:hover{border-color:#556b2f;transform:translateY(-2px);box-shadow:0 8px 24px #556b2f1a}.rsv-modal__store-card.is-selected{border-color:#556b2f;box-shadow:0 0 0 1px #556b2f,0 8px 24px #556b2f1f}.rsv-modal__store-img{aspect-ratio:16/9;width:100%;max-height:128px;overflow:hidden}.rsv-modal__store-img:after{content:"";background:linear-gradient(#0000 32%,#00000040 58%,#000000ad 100%);position:absolute;inset:0}.rsv-modal__store-img img{object-fit:cover;width:100%;height:100%;display:block}.rsv-modal__store-info{flex-direction:column;gap:.1rem;padding:.625rem .75rem;display:flex;position:absolute;bottom:0;left:0;right:0}.rsv-modal__store-name{color:#fff;text-shadow:0 1px 3px #00000080;font-size:.9375rem;font-weight:700;line-height:1.3}.rsv-modal__store-address{color:#ffffffeb;text-shadow:0 1px 3px #00000080;font-size:.6875rem;line-height:1.4}.rsv-modal__store-card.is-selected:after{content:"✓";color:#fff;background:#556b2f;border-radius:50%;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.8125rem;font-weight:700;display:flex;position:absolute;top:.5rem;right:.5rem}.rsv-modal__field{margin-bottom:1.25rem}.rsv-modal__field label{color:#333;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.8125rem;font-weight:500;display:flex}.rsv-modal__required{color:#fff;letter-spacing:.04em;background:#556b2f;border-radius:3px;padding:.1rem .35rem;font-size:.625rem;font-weight:600}.rsv-modal__optional{color:#999;border:1px solid #ddd;border-radius:3px;padding:.1rem .35rem;font-size:.625rem;font-weight:500}.rsv-modal__field input[type=text],.rsv-modal__field input[type=email],.rsv-modal__field input[type=tel],.rsv-modal__field textarea{color:#1a1a1a;background:0 0;border:none;border-bottom:1.5px solid #e0e0e0;border-radius:0;outline:none;width:100%;padding:.75rem 0;font-family:inherit;font-size:.9375rem;transition:border-color .25s}.rsv-modal__field input:focus,.rsv-modal__field textarea:focus{border-bottom-color:#556b2f}.rsv-modal__field input::placeholder,.rsv-modal__field textarea::placeholder{color:#bbb}.rsv-modal__error{color:#d32f2f;min-height:1rem;margin-top:.35rem;font-size:.75rem;display:block}.rsv-modal__optional-fields{margin-top:.25rem;margin-bottom:.5rem}.rsv-modal__optional-summary{color:#555;cursor:pointer;user-select:none;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.8125rem;list-style:none;display:flex}.rsv-modal__optional-summary::-webkit-details-marker{display:none}.rsv-modal__optional-summary:before{content:"+";color:#888;border:1px solid #d0d0d0;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.8rem;line-height:1;display:inline-flex}.rsv-modal__optional-fields[open] .rsv-modal__optional-summary:before{content:"−"}.rsv-modal__optional-fields[open] .rsv-modal__optional-summary{margin-bottom:.5rem}.rsv-modal__consent-note{color:#777;text-align:left;margin:1.25rem 0 0;font-size:.75rem;line-height:1.6}.rsv-modal__privacy-link{color:#556b2f;text-underline-offset:2px;text-decoration:underline}.rsv-modal__privacy-link:hover{color:#3f5122;text-decoration-thickness:2px}.rsv-modal__turnstile{margin-top:1.25rem}.rsv-modal__actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.rsv-modal__actions--center{justify-content:center}.rsv-modal__btn{cursor:pointer;border:none;border-radius:8px;padding:.625rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:500;transition:all .2s}.rsv-modal__btn--back{color:#888;background:0 0;border:1px solid #e0e0e0}.rsv-modal__btn--back:hover{color:#555;background:#f8f8f8}.rsv-modal__btn--next{color:#fff;background:#1a1a1a}.rsv-modal__btn--next:hover{background:#333}.rsv-modal__btn--next:disabled{color:#999;cursor:not-allowed;background:#d0d0d0}.rsv-modal__btn--submit{color:#fff;background:#556b2f;padding:.75rem 1.5rem;font-weight:600}.rsv-modal__btn--submit:hover{background:#4a5d28}.rsv-modal__btn--submit:disabled{cursor:not-allowed;background:#b0b0b0}.rsv-modal__calendar-nav{gap:.5rem;margin-bottom:1rem;display:flex}.rsv-modal__nav-btn{cursor:pointer;color:#555;background:#fff;border:1px solid #e0e0e0;border-radius:6px;flex:1 1 0;justify-content:center;align-items:center;gap:.25rem;padding:.625rem .5rem;font-family:inherit;font-size:.8125rem;transition:all .2s;display:inline-flex}.rsv-modal__nav-btn:hover{background:#f5f5f5;border-color:#ccc}.rsv-modal__nav-btn:disabled{opacity:.4;cursor:not-allowed}.rsv-modal__calendar-container{-webkit-overflow-scrolling:touch;min-height:200px;overflow-x:auto}.rsv-modal__loading{color:#999;flex-direction:column;justify-content:center;align-items:center;padding:3rem 1rem;font-size:.8125rem;display:flex}.rsv-modal__spinner{border:2px solid #e0e0e0;border-top-color:#556b2f;border-radius:50%;width:24px;height:24px;margin-bottom:.75rem;animation:.7s linear infinite rsv-spin}@keyframes rsv-spin{to{transform:rotate(360deg)}}.rsv-modal__selected-slot{color:#3d5220;background:#556b2f0f;border:1px solid #556b2f26;border-radius:8px;margin-top:.75rem;padding:.625rem .875rem;font-size:.8125rem;display:none}.rsv-modal__selected-slot.is-visible{display:block}.rsv-cal-grid{border:1px solid #e8e8e8;border-radius:10px;flex-direction:column;font-size:.75rem;display:flex;overflow:hidden}.rsv-cal-header{background:#fafafa;border-bottom:1px solid #e8e8e8;grid-template-columns:34px repeat(7,minmax(0,1fr));display:grid}.rsv-cal-time-col{color:#555;text-align:center;border-right:1px solid #e8e8e8;justify-content:center;align-items:center;padding:.4rem .15rem;font-size:.625rem;font-weight:600;display:flex}.rsv-cal-day-header{text-align:center;border-right:1px solid #f0f0f0;padding:.5rem .25rem}.rsv-cal-day-header:last-child{border-right:none}.rsv-cal-day-name{color:#555;font-size:.6875rem;font-weight:600}.rsv-cal-day-date{color:#999;margin-top:.15rem;font-size:.6875rem}.rsv-cal-day-date.is-today{color:#fff;background:#1a1a1a;border-radius:10px;padding:.125rem .375rem;display:inline-block}.rsv-cal-body{flex-direction:column;display:flex}.rsv-cal-row{border-bottom:1px solid #f5f5f5;grid-template-columns:34px repeat(7,minmax(0,1fr));display:grid}.rsv-cal-row:last-child{border-bottom:none}.rsv-cal-time{color:#999;text-align:center;border-right:1px solid #f0f0f0;justify-content:center;align-items:center;min-height:32px;padding:.25rem .1rem;font-size:.625rem;display:flex}.rsv-cal-slot{cursor:default;border-right:1px solid #f5f5f5;justify-content:center;align-items:center;min-height:32px;font-size:.75rem;transition:background .15s;display:flex}.rsv-cal-slot:last-child{border-right:none}.rsv-cal-slot.available{cursor:pointer;color:#556b2f;background:#556b2f0f;font-weight:500}.rsv-cal-slot.available:hover{background:#556b2f24}.rsv-cal-slot.available.is-selected{color:#fff;background:#556b2f}.rsv-cal-slot.unavailable{color:#d0d0d0;background:#fafafa}.rsv-modal__confirm-body{margin-bottom:1rem}.rsv-confirm-dl{margin:0;font-size:.875rem}.rsv-confirm-dl dt{color:#999;letter-spacing:.04em;margin-top:1rem;font-size:.75rem;font-weight:500}.rsv-confirm-dl dt:first-child{margin-top:0}.rsv-confirm-dl dd{color:#1a1a1a;border-bottom:1px solid #f0f0f0;margin:.25rem 0 0;padding-bottom:.75rem;font-weight:500}.rsv-modal__result-message{border-radius:10px;margin:0 0 1.25rem;padding:1rem;font-size:.875rem;line-height:1.7}.rsv-modal__result-message.is-success{color:#3d5220;background:#556b2f0f;border:1px solid #556b2f26}.rsv-modal__result-message.is-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.rsv-complete-modal__overlay{background:#00000080;position:absolute;inset:0}.rsv-complete-modal__container{background:#fff;border-radius:12px;width:100%;max-width:400px;position:relative;box-shadow:0 20px 60px #0003}.rsv-complete-modal__body{text-align:center;padding:2.5rem 1.5rem 2rem}.rsv-complete-modal__icon{margin-bottom:1.25rem}.rsv-complete-modal__title{color:#1a1a1a;margin:0 0 .75rem;font-size:1.125rem;font-weight:600}.rsv-complete-modal__message{color:#666;margin:0 0 1.5rem;font-size:.8125rem;line-height:1.7}.rsv-calendar-error{text-align:center;color:#999;padding:2rem 1rem;font-size:.8125rem}@media (width<=480px){.rsv-modal{padding:.5rem}.rsv-modal__store-grid{gap:.625rem}}.rsv-day-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.375rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.rsv-day-tabs::-webkit-scrollbar{display:none}.rsv-day-tab{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;flex:1 0 auto;justify-content:center;align-items:center;gap:.125rem;min-width:3.75rem;min-height:3.75rem;padding:.5rem .25rem;transition:background .15s,border-color .15s;display:flex}.rsv-day-tab__dow{color:#64748b;font-size:.7rem}.rsv-day-tab__date{font-size:.95rem;font-weight:700;line-height:1.1}.rsv-day-tab__count{color:#94a3b8;font-size:.65rem}.rsv-day-tab.is-active{color:#556b2f;background:#f2f5ea;border-color:#556b2f}.rsv-day-tab.is-active .rsv-day-tab__count{color:#556b2f}.rsv-day-tab:disabled{opacity:.35;cursor:not-allowed}.rsv-slot-panel{display:none}.rsv-slot-panel.is-active{grid-template-columns:repeat(2,1fr);gap:.5rem;padding-top:.5rem;display:grid}.rsv-slot-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.125rem;min-height:3.25rem;padding:.5rem;display:flex}.rsv-slot-btn__time{font-size:1rem;font-weight:700}.rsv-slot-btn__range{color:#94a3b8;font-size:.7rem}.rsv-slot-btn:active{background:#f2f5ea}.rsv-slot-btn.is-selected{color:#fff;background:#556b2f;border-color:#556b2f}.rsv-slot-btn.is-selected .rsv-slot-btn__range{color:#ffffffd9}.rsv-slot-empty{text-align:center;color:#64748b;padding:2rem 1rem}.rsv-slot-empty__hint{color:#94a3b8;margin-top:.5rem;font-size:.8rem}.rsv-modal--onepage .rsv-modal__step-label,.rsv-modal--onepage .rsv-modal__progress{display:none}.rsv-modal__stepper{border-bottom:1px solid #f0f0f0;flex-shrink:0;justify-content:space-between;margin:0;padding:.25rem 2rem .75rem;list-style:none;display:flex}.rsv-modal__stepper-item{color:#999;flex-direction:column;flex:1;align-items:center;gap:.25rem;font-size:.6875rem;display:flex;position:relative}.rsv-modal__stepper-item+.rsv-modal__stepper-item:before{content:"";background:#ddd;width:calc(100% - 2.2rem);height:1px;position:absolute;top:.8125rem;right:calc(50% + 1.1rem)}.rsv-modal__stepper-num{background:#fff;border:1px solid #ccc;border-radius:50%;justify-content:center;align-items:center;width:1.625rem;height:1.625rem;font-size:.75rem;font-weight:600;display:flex}.rsv-modal__stepper-item.is-active,.rsv-modal__stepper-item.is-done{color:#556b2f}.rsv-modal__stepper-item.is-active .rsv-modal__stepper-num{color:#fff;background:#556b2f;border-color:#556b2f}.rsv-modal__stepper-item.is-done .rsv-modal__stepper-num{border-color:#556b2f}.rsv-modal__stepper-item.is-active .rsv-modal__stepper-label{font-weight:600}.rsv-modal--onepage .rsv-modal__header{text-align:center;border-bottom:none;flex-direction:column;gap:0;padding:1.5rem 3rem 1rem;position:relative}.rsv-modal--onepage .rsv-modal__close{position:absolute;top:.625rem;right:.75rem}.rsv-modal--onepage .rsv-modal__title{letter-spacing:.08em;margin:.625rem 0 0;font-size:1.125rem;font-weight:700;line-height:1.4}.rsv-modal__brand{flex-direction:column;align-items:center;display:flex}.rsv-modal__brand-logo{width:auto;height:44px;display:block}.rsv-modal__brand-store{color:#556b2f;letter-spacing:.05em;white-space:nowrap;background:#fff;border:1px solid #b9c4a4;border-radius:12px;margin:.625rem 0 0;padding:3px 12px;font-size:.72rem;font-weight:700;line-height:1.5;display:inline-block}.rsv-modal__sameday{color:#374151;background:#fffaf0;border:2px solid #d4af37;border-radius:10px;margin:12px 0;padding:12px 14px;font-size:.85rem;line-height:1.6}.rsv-modal__sameday p{margin:0}.rsv-modal__sameday-title{color:#556b2f;font-weight:700;margin-bottom:4px!important}.rsv-modal__sameday-summary{color:#556b2f;font-weight:700;margin-top:4px!important}.rsv-modal__sameday-note{color:#6b7280;font-size:.75rem;margin-top:2px!important}.rsv-modal__menu-card{color:#fff;text-align:center;background:#556b2f;border-radius:10px;margin-bottom:1rem;padding:.875rem 1rem}.rsv-modal__menu-card p{color:#fff}.rsv-modal__menu-name{margin:0;font-size:1rem;font-weight:600}.rsv-modal__menu-meta{opacity:.9;margin:.25rem 0 0;font-size:.75rem}.rsv-modal__policy{color:#555;background:#f7f7f2;border-radius:8px;margin:1rem 0 0;padding:.75rem 1rem;font-size:.75rem;line-height:1.7}.rsv-modal__policy p{margin:0}.rsv-modal--onepage .rsv-modal__step.is-active{margin-bottom:2rem}.rsv-modal--onepage #rsv-step2.is-active{margin-top:1.75rem;margin-bottom:0}.rsv-modal--onepage .rsv-day-tabs{grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;display:grid;overflow-x:visible}.rsv-modal--onepage .rsv-day-tab{border-radius:8px;min-width:0;padding:.5rem 0}.rsv-modal--onepage .rsv-day-tab__date{letter-spacing:-.02em;font-size:.8125rem}.rsv-modal--onepage .rsv-day-tab__count{font-size:.625rem}.rsv-modal--onepage .rsv-modal__selected-slot{margin-bottom:0}.rsv-modal--onepage #rsv-slot-error:empty,.rsv-modal--onepage .rsv-modal__actions--datetime,.rsv-modal--onepage .rsv-back-to-1{display:none}.rsv-modal--onepage .rsv-cal-grid{max-height:360px;overflow-y:auto}.rsv-modal--onepage .rsv-cal-header{z-index:1;position:sticky;top:0}.rsv-modal--onepage #rsv-next-2,.rsv-modal--onepage #rsv-submit{flex:1;padding-top:.875rem;padding-bottom:.875rem;font-size:.9375rem;font-weight:600}.rsv-modal__section-title{color:#1a1a1a;border-left:3px solid #556b2f;align-items:center;gap:.5rem;margin:0 0 1.25rem;padding-left:.625rem;font-size:.875rem;font-weight:600;display:flex}#rsv-form .rsv-modal__section-title{margin-bottom:1.75rem}.rsv-modal__policy-title{color:#333;font-weight:600}
