.booking-back{color:#eac775;text-decoration:none;font-weight:700}.booking-shell{max-width:1400px;margin:auto;padding:80px clamp(24px,6vw,90px) 100px}.booking-shell h1{font:800 clamp(3.5rem,7vw,7rem)/1 Manrope,sans-serif;letter-spacing:-.07em;margin:0 0 24px}.booking-lead{font-size:1.12rem;color:#d7cbb6}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:48px}.booking-card{display:flex;flex-direction:column;padding:clamp(25px,4vw,45px);background:linear-gradient(145deg,#212326,#141517);border:1px solid #917950;border-radius:9px}.booking-num{font:800 .78rem Manrope;letter-spacing:.16em;color:#d9cdb9}.booking-card h2{font-size:clamp(2rem,3.5vw,3rem);margin:35px 0 18px;max-width:14ch}.booking-card p{color:#dacebb}.booking-rate{font-size:1.1rem;font-weight:700;color:#efc878;margin:15px 0 25px}.booking-rate strong{font:800 3rem Manrope;letter-spacing:-.08em}.booking-card .booking-note{font-size:.88rem}.booking-card .button{margin-top:auto;align-self:flex-start}.booking-secondary{display:block;color:#edc778;margin-top:20px;font-weight:700}.npg-card{border-color:#d6b06d;background:radial-gradient(circle at top right,#383c41,#191b1d 65%)}.booking-bottom{border-top:1px solid #927a50;margin-top:45px;padding-top:25px;color:#dacebb}.booking-bottom a{color:#edc778;font-weight:700}@media(max-width:650px){.booking-shell{padding-top:55px}.booking-grid{grid-template-columns:1fr}.booking-card h2{margin-top:25px}.booking-card .button{width:100%;font-size:.85rem}}
.booking-back,.booking-num,.booking-rate,.booking-secondary,.booking-bottom a{color:#e1b86a}.booking-card{background:#1b1e1f;border-color:#625b4b;border-radius:2px}.booking-card p,.booking-lead,.booking-bottom{color:#c9c5bb}.npg-card{background:#25271f;border-color:#af8d52}.booking-bottom{border-color:#746443}

.booking-photo{display:block;width:100%;height:250px;object-fit:cover;object-position:50% 48%;margin-bottom:30px;border:1px solid #625b4b}.booking-card:first-child .booking-photo{object-fit:contain;background:#090b0c}@media(max-width:650px){.booking-photo{height:230px}}
/* On-site booking dialog */
.booking-card .button.gold{cursor:pointer}
.bk{width:min(640px,calc(100vw - 24px));max-height:calc(100vh - 32px);overflow:auto;padding:clamp(20px,4vw,36px);background:#15181a;color:#f1f0e9;border:1px solid #9b804f;border-radius:4px;box-shadow:0 30px 90px #000c}
.bk::backdrop{background:#050607cc;backdrop-filter:blur(3px)}
.bk-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.bk-head .eyebrow{margin-bottom:8px}.bk-title{font-size:clamp(1.6rem,4vw,2.2rem);margin:0 0 6px}.bk-meta{color:#c9c5bb;font-size:.92rem;margin:0}
.bk-close{background:none;border:1px solid #6b604a;color:#f1f0e9;border-radius:2px;cursor:pointer;padding:8px 12px;font-size:1rem}.button.gold.bk-close{border:0;background:#e1b86a;color:#151410;margin-top:10px;padding:15px 23px}
.bk-label{font:800 .78rem Manrope,sans-serif;letter-spacing:.16em;color:#e1b86a;text-transform:uppercase;margin:16px 0 10px}
.bk-days{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}
.bk-day{flex:0 0 72px;scroll-snap-align:start;padding:10px 4px;border:1px solid #6b604a;background:#101314;color:#f1f0e9;border-radius:2px;cursor:pointer;font:700 .8rem/1.3 'DM Sans',sans-serif}
.bk-day:disabled{opacity:.3;cursor:not-allowed}.bk-day.on{background:#e1b86a;color:#151410;border-color:#e1b86a}
.bk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:8px}
.bk-time{padding:12px 6px;border:1px solid #9b804f;background:#101314;color:#f1f0e9;border-radius:2px;cursor:pointer;font:700 .92rem 'DM Sans',sans-serif}.bk-time:hover,.bk-day:not(:disabled):hover{border-color:#f0cc88}
.bk-note{color:#c9c5bb;font-size:.9rem}.bk-note a{color:#e1b86a}
.bk-back{background:none;border:0;color:#e1b86a;font-weight:700;cursor:pointer;padding:0}
.bk-when{font:700 1.05rem Manrope,sans-serif;margin:14px 0 18px}
.bk-form{display:grid;gap:14px}.bk-form label{display:block;font-weight:700;font-size:.9rem}
.bk-form input,.bk-form textarea{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid #6b6250;background:#101314;color:#f1f0e9;border-radius:2px;font:inherit}
.bk-form input:focus,.bk-form textarea:focus{outline:2px solid #e1b86a;outline-offset:2px}
.bk-form .button{border:0;cursor:pointer;justify-self:start}.bk-form button[disabled]{opacity:.65;cursor:wait}
.bk-status{color:#f2bdac;min-height:1.4em;margin:0}
.bk-done-title{font-size:2rem;color:#e1b86a;margin:10px 0}