.booking-page{background:#34261e;color:#f7f1e8}.booking-page .site-header{position:absolute;background:rgba(15,12,10,.24);border-bottom-color:rgba(255,255,255,.14)}
.booking-hero{min-height:360px;display:flex;align-items:flex-end;padding:138px 0 54px;background:radial-gradient(circle at 79% 18%,rgba(196,143,83,.2),transparent 30%),linear-gradient(118deg,#1d1511,#3b291f 58%,#503727);border-bottom:1px solid rgba(255,255,255,.13)}.booking-hero h1{margin:0;font:500 clamp(3.2rem,6vw,5.8rem)/.98 var(--serif);letter-spacing:-.04em}.booking-hero .eyebrow{color:#d9b783}.booking-hero p:last-child{max-width:690px;margin:15px 0 0;color:rgba(255,255,255,.74)}
.booking-assurance{background:#ded2c2;color:#2b211b}.booking-assurance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.booking-assurance-item{padding:19px 25px;border-right:1px solid rgba(79,55,36,.16)}.booking-assurance-item:first-child{padding-left:0}.booking-assurance-item:last-child{border:0}.booking-assurance-item span,.booking-assurance-item strong{display:block}.booking-assurance-item span{margin-bottom:4px;color:#75512e;font-size:.62rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.booking-assurance-item strong{font-size:.84rem;font-weight:400}
.booking-main{padding:46px 0 70px}.booking-shell{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:24px;align-items:start}.booking-panel{padding:26px;background:#281d17;border:1px solid rgba(255,255,255,.14)}.booking-panel h2{margin:0 0 8px;font:500 clamp(2rem,3.7vw,3.1rem)/1.05 var(--serif)}.booking-intro{margin:0 0 22px;color:rgba(255,255,255,.67);font-size:.88rem}.booking-step{padding:20px 0;border-top:1px solid rgba(255,255,255,.13)}.booking-step:first-of-type{border-top:0;padding-top:0}.booking-step-heading{display:flex;align-items:center;gap:11px;margin-bottom:12px}.booking-step-number{display:inline-flex;width:27px;height:27px;align-items:center;justify-content:center;border:1px solid #cda66f;border-radius:50%;color:#e7c596;font-size:.7rem}.booking-step h3{margin:0;font:500 1.28rem/1.2 var(--serif)}
.booking-field{display:grid;gap:6px}.booking-field>span,.booking-form>label>span,.booking-form legend{color:#d9b783;font-size:.65rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase}.booking-field select,.booking-field input,.booking-form input,.booking-form select{width:100%;min-height:48px;padding:10px 12px;border:1px solid rgba(255,255,255,.18);border-radius:0;background:#f7f1e8;color:#251b16;font:400 .88rem/1.3 var(--sans)}.booking-variant-grid,.booking-slot-grid{display:flex;flex-wrap:wrap;gap:8px}.booking-choice{min-height:42px;padding:9px 13px;border:1px solid rgba(217,183,131,.55);background:transparent;color:#e8c89b;font:500 .69rem/1.1 var(--sans);letter-spacing:.06em;cursor:pointer}.booking-choice:hover,.booking-choice.active{background:#cda66f;color:#1d1612;border-color:#cda66f}.booking-choice:disabled{opacity:.38;cursor:not-allowed}.booking-slot-grid{max-height:188px;overflow:auto;padding-right:5px}.booking-slot{min-width:72px}.booking-empty{margin:0;color:rgba(255,255,255,.62);font-size:.8rem}.booking-summary{position:sticky;top:18px;padding:24px;background:#ded2c2;color:#2b211b;border:1px solid rgba(79,55,36,.18)}.booking-summary .eyebrow{color:#75512e}.booking-summary h2{margin:0 0 17px;font:500 2rem/1.05 var(--serif)}.booking-summary-list{display:grid;gap:0;margin:0 0 19px}.booking-summary-list div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid rgba(79,55,36,.16)}.booking-summary-list dt{color:#6b5d51;font-size:.73rem}.booking-summary-list dd{margin:0;text-align:right;font-size:.78rem;font-weight:500}.booking-form{display:grid;gap:13px}.booking-form>label{display:grid;gap:6px}.booking-terms{display:flex!important;grid-template-columns:none;align-items:flex-start;gap:9px;padding-top:3px;color:#55483d;font-size:.75rem;line-height:1.4}.booking-terms input{width:18px;min-height:18px;margin:1px 0 0;flex:0 0 18px;accent-color:#75512e}.booking-terms a{text-decoration:underline}.booking-privacy{margin:0;color:#665b52;font-size:.71rem}.booking-privacy a{text-decoration:underline}.booking-submit{min-height:54px;padding:12px 18px;border:1px solid #cda66f;background:#cda66f;color:#171310;font:600 .7rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.booking-submit:disabled{cursor:not-allowed;opacity:.55}.booking-submit:not(:disabled):hover{background:#d7b786}.booking-result{display:none;margin:0;padding:11px;border:1px solid rgba(79,55,36,.2);font-size:.77rem}.booking-result.visible{display:block}.booking-result.error{background:rgba(153,67,50,.1)}.booking-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.booking-context{margin:-8px 0 20px;padding:10px 12px;border-left:2px solid #cda66f;background:rgba(205,166,111,.08);color:#e8d5b8;font-size:.76rem;line-height:1.45}
.booking-confirmation{padding:28px;background:#ded2c2;color:#2b211b;border:1px solid rgba(79,55,36,.18)}.booking-confirmation h2{font-size:2.35rem}.booking-confirmation-card{display:grid;gap:7px;margin:20px 0;padding:17px;background:#f4ede3}.booking-confirmation-card strong{font-size:1rem}.booking-confirmation-actions{display:flex;flex-wrap:wrap;gap:12px}.booking-confirmation .button{min-height:46px}.booking-confirmation .text-link{color:#684623;border-bottom-color:rgba(104,70,35,.4)}
.manage-card{max-width:780px;margin:auto}.manage-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.manage-form .booking-field-wide{grid-column:1/-1}.manage-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px}.manage-cancel{min-height:46px;padding:10px 16px;border:1px solid #8b5144;background:transparent;color:#8b5144;font:600 .67rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
@media(max-width:900px){.booking-shell{grid-template-columns:1fr}.booking-summary{position:static}.booking-panel{grid-row:1}.booking-summary{grid-row:2}}
@media(max-width:620px){.booking-hero{min-height:235px;padding:92px 0 29px}.booking-hero h1{font-size:2.7rem}.booking-hero p:last-child{margin-top:10px;font-size:.82rem;line-height:1.4}.booking-assurance-grid{grid-template-columns:1fr}.booking-assurance-item,.booking-assurance-item:first-child{padding:11px 0;border-right:0;border-bottom:1px solid rgba(79,55,36,.14)}.booking-assurance-item:last-child{border-bottom:0}.booking-main{padding:24px 0 38px}.booking-panel,.booking-summary,.booking-confirmation{padding:18px 15px}.booking-panel h2{font-size:2rem}.booking-step{padding:16px 0}.booking-slot-grid{max-height:230px}.booking-choice{min-height:44px}.booking-summary h2{font-size:1.75rem}.manage-form{grid-template-columns:1fr}.manage-form .booking-field-wide,.manage-actions{grid-column:auto}.booking-page .site-footer{padding-bottom:max(86px,calc(env(safe-area-inset-bottom) + 76px))}}
@media(orientation:landscape) and (max-height:500px){.booking-hero{min-height:185px;padding:78px 0 24px}.booking-hero h1{font-size:clamp(2.45rem,7vw,4rem)}.booking-main{padding-top:25px}}
