/* Reservation location picker (reserve-picker.js) */
.rp-fab{position:fixed;right:24px;bottom:24px;z-index:9990;background:#e93735;color:#fff;border:0;border-radius:999px;
  padding:14px 28px;font-family:'Oswald','Poppins',sans-serif;font-size:15px;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.4);transition:transform .2s,background-color .2s}
.rp-fab:hover,.rp-fab:focus-visible{transform:translateY(-2px);background:#d42a28}
html.rp-open .rp-fab{display:none}
html.rp-open,html.rp-open body{overflow:hidden}

.rp-overlay{position:fixed;inset:0;z-index:2147483000;background:rgba(0,0,0,.82);display:flex;align-items:center;
  justify-content:center;padding:24px}
.rp-overlay[hidden]{display:none}
.rp-sheet{background:#0b0b0b;color:#fff;border:1px solid #2b2b2b;border-radius:14px;width:100%;max-width:520px;
  max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden}
.rp-sheet.is-booking{height:min(860px,calc(100vh - 48px))}

.rp-head{display:flex;align-items:center;gap:10px;padding:14px 16px 14px 20px;border-bottom:1px solid #2b2b2b}
.rp-title{flex:1;margin:0;font-family:'Oswald','Poppins',sans-serif;font-weight:500;text-transform:uppercase;
  letter-spacing:.12em;font-size:17px;line-height:1.3;color:#fff}
.rp-back,.rp-close{background:none;border:0;color:#bfbfbc;cursor:pointer;font-family:'Poppins',sans-serif;padding:6px}
.rp-back{font-size:13px;white-space:nowrap}
.rp-close{font-size:30px;line-height:1}
.rp-back:hover,.rp-close:hover,.rp-back:focus-visible,.rp-close:focus-visible{color:#fff}
.rp-back[hidden]{display:none}

.rp-list{list-style:none;margin:0;padding:4px 20px 10px;overflow-y:auto}
.rp-list li{border-bottom:1px solid #2b2b2b}
.rp-list li:last-child{border-bottom:0}
.rp-venue{display:block;width:100%;text-align:left;background:none;border:0;color:#fff;padding:18px 40px 18px 0;
  cursor:pointer;position:relative;font:inherit}
.rp-venue::after{content:"\2192";position:absolute;right:6px;top:50%;transform:translateY(-50%);color:#8d8d8a;
  font-size:20px;transition:transform .2s,color .2s}
.rp-name{display:block;font-family:'Oswald','Poppins',sans-serif;text-transform:uppercase;letter-spacing:.08em;
  font-size:19px;line-height:1.3;transition:color .2s}
.rp-addr{display:block;margin-top:4px;color:#8d8d8a;font-family:'Poppins',sans-serif;font-size:13px;font-weight:300}
.rp-venue:hover .rp-name,.rp-venue:focus-visible .rp-name{color:#e93735}
.rp-venue:hover::after,.rp-venue:focus-visible::after{color:#e93735;transform:translate(4px,-50%)}

.rp-book{position:relative;flex:1;min-height:0;background:#1a1f2b}
.rp-book[hidden]{display:none}
.rp-book iframe{position:relative;z-index:1;display:block;width:100%;height:100%;border:0}
.rp-book iframe[hidden]{display:none}
.rp-loader{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;gap:10px;color:#bfbfbc;
  font-family:'Poppins',sans-serif;font-size:13px;pointer-events:none}
.rp-loader::before{content:"";width:18px;height:18px;border:2px solid #555;border-top-color:#fff;border-radius:50%;
  animation:rp-spin .8s linear infinite}
@keyframes rp-spin{to{transform:rotate(360deg)}}

@media (max-width:600px){
  .rp-overlay{padding:0}
  .rp-sheet,.rp-sheet.is-booking{max-width:none;height:100vh;height:100dvh;max-height:none;border:0;border-radius:0}
  .rp-fab{right:16px;bottom:16px;padding:12px 22px;font-size:14px}
}
