#reservation-dialog{width:min(780px,calc(100% - 28px));max-height:calc(100dvh - 36px);padding:6px;border:1px solid #b58434;background:#faf0db;color:#30271d;overflow:auto}
#reservation-dialog::backdrop{background:#172b22aa}
.reservation-panel{position:relative;border:1px solid #d0b47e;padding:28px;text-align:center}
.close-reservation{position:absolute;right:5px;top:4px;border:0;background:transparent;color:#173b2c;width:44px;height:44px;font:30px/1 Georgia,serif;cursor:pointer}
.reservation-panel h2{font-size:30px;color:#173b2c;font-weight:400;margin:0 28px 18px;line-height:1.3}
.reservation-panel p{font-size:20px;line-height:1.5;margin:16px 0 22px}
.reservation-call,.reservation-online{display:block;padding:14px 12px;font-size:22px;line-height:1.4;text-decoration:none;margin-top:14px}
.reservation-call{background:#8d151a;color:#fff3db}
.reservation-online{border:1px solid #a89477;color:#173b2c}
.reservation-panel .reservation-note{font-size:17px;margin:18px 0 28px}
.reservation-hours{border-top:1px solid #cfac69;padding-top:23px}
.reservation-hours h3{font-size:23px;color:#173b2c;margin:0 0 10px}
.reservation-hours strong{display:block;color:#8d151a;font-size:38px;line-height:1.2}
.reservation-hours p{margin:10px 0 22px}
.reservation-hours b{display:block;border-radius:14px;background:#173b2c;color:#fff3db;padding:10px;font-size:17px;line-height:1.4}
@media(max-width:760px){.reservation-panel{padding:28px 16px 18px}
.reservation-panel h2{font-size:25px}
.reservation-panel p{font-size:18px}
.reservation-call,.reservation-online{font-size:20px}
.reservation-hours b{font-size:14px}
.reservation-hours strong{font-size:34px}}
.floating-reservation{display:none}
@media(max-width:760px){.floating-reservation{position:fixed;left:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:30;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 16px;border:1px solid #c5a164;border-radius:26px;background:#8c272c;color:#fff3db;box-shadow:0 3px 12px #30271d33;font:16px/1.4 Georgia,serif;cursor:pointer}
.floating-reservation svg{flex-shrink:0}}
@media(max-width:360px){.floating-reservation{left:12px;padding-inline:12px;font-size:15px}}
@media(max-width:760px){.floating-reservation{left:auto;right:18px;width:112px;height:48px;min-height:48px;padding:10px 8px;font:16px/1.4 Georgia,serif}
.floating-reservation{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
.floating-reservation svg{display:none}}
@media(max-width:760px){.floating-reservation{bottom:calc(76px + .5cm + env(safe-area-inset-bottom,0px))}}
.reservation-info{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid #cfac69;padding-top:23px;align-items:start}
.reservation-info .reservation-hours{border-top:0;padding-top:0}
.reservation-location h3{font-size:23px;color:#173b2c;margin:0 0 18px}
.reservation-location a{color:#173b2c;font-size:21px;text-decoration:none;line-height:1.5}
.reservation-location a:hover{text-decoration:underline}
.reservation-panel .reservation-location p{font-size:18px;margin:16px 0}
.reservation-info .reservation-hours strong{font-size:32px}
.reservation-info .reservation-hours b{font-size:14px}
@media(max-width:520px){.reservation-info{grid-template-columns:1fr;gap:22px}
.reservation-info .reservation-hours{border-top:1px solid #cfac69;padding-top:22px}}
#reservation-dialog{padding:22px;border:35px solid transparent;border-image-source:url('image1.png');border-image-slice:70;border-image-width:35px;border-image-repeat:round;background:#faebc9 url('parchment.webp') repeat;background-size:1200px 1200px;box-shadow:0 12px 40px #172b2240}
.reservation-panel{border:0;padding:10px 8px 6px}
.reservation-panel h2{color:#08703e;background:rgba(255,250,235,.72);border-block:1px solid rgba(174,131,60,.35);font-family:'Romance Fatal SR',Georgia,serif;font-weight:400;padding:9px 28px;margin:0 0 20px;font-size:32px}
.close-reservation{right:-17px;top:-26px;color:#08703e;background:#faf0db;border:1px solid #c7a76a;border-radius:50%;width:34px;height:34px;font-size:26px;z-index:1}
.reservation-info{gap:18px;padding-top:20px}
.reservation-location,.reservation-info .reservation-hours{background:rgba(255,250,235,.43);padding:16px 12px;border:1px solid rgba(174,131,60,.27);height:100%}
.reservation-location h3,.reservation-hours h3{color:#08703e;font-family:'Romance Fatal SR',Georgia,serif;font-size:25px;font-weight:400;letter-spacing:.025em;margin:0 0 14px}
.reservation-location a{font-size:20px;color:#31513e}
.reservation-info .reservation-hours p{font-size:18px}
.reservation-info .reservation-hours strong{font-size:30px}
.reservation-info .reservation-hours b{background:#315d43;font-size:12px;padding:8px 6px;border-radius:10px}
@media(max-width:760px){#reservation-dialog{padding:10px;border-width:22px;border-image-width:22px}
.reservation-panel{padding:8px 0}
.reservation-panel h2{font-size:27px;padding:8px 22px}
.close-reservation{right:-15px;top:-19px}
.reservation-info{gap:14px}
.reservation-location,.reservation-info .reservation-hours{padding:14px 10px}}
@media(max-width:520px){.reservation-info .reservation-hours{border:1px solid rgba(174,131,60,.27);padding-top:14px}}
#reservation-dialog{width:min(720px,calc(100vw - 28px));min-width:0;overflow-x:hidden;overflow-y:auto;max-width:calc(100vw - 28px)}
.reservation-panel,.reservation-info,.reservation-location,.reservation-hours{min-width:0}
.reservation-panel h2{background:rgba(255,250,235,.43);font-size:38px;line-height:1.2;padding:13px 24px;margin-bottom:18px}
.reservation-panel > p{font-size:18px;line-height:1.5;margin:14px 0 18px}
.reservation-call{font-size:24px;padding:12px 10px}
.reservation-online{font-size:20px;padding:11px 10px}
.reservation-panel .reservation-note{font-size:15px;color:#665b49;line-height:1.5;margin:16px 0 22px}
.reservation-location h3,.reservation-hours h3{font-family:Georgia,serif;font-size:18px;font-weight:700;letter-spacing:.06em}
.reservation-location a{font-size:20px;overflow-wrap:anywhere}
.reservation-panel .reservation-location p{font-size:16px}
.reservation-info .reservation-hours strong{font-size:32px;font-weight:700}
.reservation-info .reservation-hours p{font-size:16px;margin:10px 0 16px}
@media(max-width:760px){#reservation-dialog{width:min(640px,calc(100vw - 24px));max-width:calc(100vw - 24px)}
.reservation-panel h2{font-size:32px;padding:11px 18px}
.reservation-panel > p{font-size:17px}
.reservation-call{font-size:21px}
.reservation-online{font-size:19px}}
@media(max-width:520px){.reservation-panel h2{font-size:29px}
.reservation-info{grid-template-columns:minmax(0,1fr)}
.reservation-panel > p br{display:none}}
.reservation-online{background:rgba(255,250,235,.43)}
.reservation-location h3,.reservation-hours h3{font-family:'Romance Fatal SR',Georgia,serif;font-weight:400;font-size:25px;letter-spacing:.025em}
.reservation-info .reservation-hours b{background:rgba(49,93,67,.12);color:#315d43;border:1px solid rgba(49,93,67,.18);font-weight:400}
@media(min-width:761px){.floating-reservation{position:fixed;left:auto;right:24px;z-index:30;display:flex;align-items:center;justify-content:center;width:112px;height:48px;min-height:48px;padding:10px 8px;border:1px solid #c5a164;border-radius:26px;box-shadow:0 3px 12px #30271d33;font:16px/1.4 Georgia,serif;text-decoration:none;cursor:pointer}
.floating-reservation{bottom:95px;background:#8c272c;color:#fff3db}
.floating-reservation svg{display:none}}
.reservation-panel h2{border:0;border-top:1px solid rgba(174,131,60,.48);border-bottom:1px solid rgba(174,131,60,.48)}
.reservation-online{border:1px solid rgba(174,131,60,.27)}
.reservation-location{position:relative}
.reservation-location a::after{content:"";position:absolute;inset:0;cursor:pointer}
.reservation-location:focus-within{outline:3px solid #8e252b;outline-offset:3px}
#reservation-dialog,#reservation-dialog *,.floating-reservation{box-sizing:border-box}#reservation-dialog{font-family:Georgia,serif;line-height:1.6}.floating-reservation:focus-visible{outline:3px solid #8e252b;outline-offset:5px}@media(max-width:760px){.mobile-back-top{width:112px;height:48px;padding:10px 8px;bottom:calc(18px + .5cm + env(safe-area-inset-bottom,0px))}}