.booking-page{width:calc(100% - 112px);max-width:1140px;margin:0 auto;padding:45px 0 70px;min-height:65vh}.booking-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.booking-page .booking-title{margin:0 0 32px}.booking-page .booking-title h1{font-size:35px;font-weight:500;margin:12px 0 10px}.booking-page .booking-title p{font-size:14px;color:#92816d;margin:0}.booking-page h2[tabindex="-1"]:focus{outline:none}.booking-page .booking-steps{list-style:none;display:flex;padding:0;margin:0 0 32px;max-width:760px}.booking-page .booking-steps li{display:flex;align-items:center;gap:9px;color:#8f7f69;font-size:13px;flex:1 1;white-space:nowrap}.booking-page .booking-steps li:after{content:"";height:1px;background:#e3d7c6;flex:1 1;margin:0 16px}.booking-page .booking-steps li:last-child{flex:0 1}.booking-page .booking-steps li:last-child:after{display:none}.booking-page .booking-steps li>span:first-child{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border:1px solid #dbcdb9;border-radius:50%;font-size:12px;background:#faf7f1}.booking-page .booking-steps li.is-current{color:#6a4c33;font-weight:600}.booking-page .booking-steps li.is-current>span:first-child{background:#826247;border-color:#826247;color:white}.booking-page .booking-steps li.is-complete{color:#5f6d4c}.booking-page .booking-steps li.is-complete>span:first-child{border-color:#a3ad91;background:#edf0e6;color:#687950}.booking-page .booking-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(290px,1fr);grid-gap:30px;gap:30px;align-items:start}.booking-page .booking-panel{background:#fffcf7;border:1px solid #e9dfd0;border-radius:12px;padding:34px;min-width:0}.booking-page .booking-panel h2{font-size:25px;font-weight:500;margin:11px 0 12px}.booking-page .booking-lead{color:#8a7964;font-size:14px;line-height:1.85;margin-bottom:27px}.booking-page .field{font-size:13px;color:#665340;min-width:0}.booking-page .field>input{font-size:15px;background:#fffefa;border-color:#dfd2be;min-height:46px;width:100%}.booking-page .field>input[aria-invalid=true]{border-color:#b5533b;box-shadow:0 0 0 1px #b5533b}.booking-page .field small{font-size:12px;color:#8f7d66;line-height:1.6}.booking-page .form-grid{gap:20px}.booking-page .booking-field-error{color:#a34e31;font-size:13px;font-weight:500;line-height:1.6}.booking-page .booking-warm-note{display:flex;gap:18px;border:1px solid #e6dac5;background:#f5efdf;padding:20px;border-radius:8px;margin:26px 0 20px;color:#7c6849}.booking-page .booking-warm-note>span{font-size:25px;line-height:1.2}.booking-page .booking-warm-note strong{font-size:14px;font-weight:500}.booking-page .booking-warm-note p{font-size:13px;line-height:1.9;margin:5px 0 0;color:#8e7859}.booking-page .booking-availability-box{margin-top:24px}.booking-page .booking-availability-title{font-size:13px;font-weight:500;color:#6a4c33;margin:0 0 8px}.booking-page .booking-availability-box ul{list-style:none;padding:0;margin:0;display:grid;grid-gap:6px;gap:6px}.booking-page .booking-availability-box li{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;padding:10px 14px;border:1px solid #e7ddcb;border-radius:6px;background:#f9f5ec;color:#6f5a41}.booking-page .booking-availability-box li strong{font-weight:500;color:#5f6d4c}.booking-page .booking-availability-box li.is-full strong{color:#a5603d}.booking-page .booking-small{font-size:12px;color:#8a7862;line-height:1.85;margin:15px 0}.booking-page .booking-form-actions{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #e7ddcd;padding-top:25px;margin-top:27px}.booking-page .booking-form-actions .btn{font-size:14px;border-radius:6px}.booking-page .booking-summary{position:-webkit-sticky;position:sticky;top:24px;background:#f0e7d8;border:1px solid #e5d6bf;border-radius:12px;padding:30px 26px;min-width:0}.booking-page .booking-summary .eyebrow{font-size:10px;color:#8a6d46}.booking-page .booking-summary h2{font-weight:500;font-size:24px;margin:10px 0 22px}.booking-page .booking-summary-dates{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:23px;border-bottom:1px solid #daceb9}.booking-page .booking-summary-dates>div{display:flex;flex-direction:column;gap:5px}.booking-page .booking-summary-dates small,.booking-page .booking-summary-dates span{font-size:11px;color:#8f7a5c}.booking-page .booking-summary-dates strong{font-size:14px;font-weight:500;color:#6b553c}.booking-page .booking-record-items,.booking-page .booking-summary-items{list-style:none;padding:13px 0;margin:0}.booking-page .booking-summary-items>li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;font-size:13px;color:#735b40}.booking-page .booking-summary-items small{display:block;font-size:11px;line-height:1.8;color:#8f7a5c;margin-top:3px}.booking-page .booking-summary-items strong{font-size:14px;white-space:nowrap;font-weight:500}.booking-page .booking-summary-empty{font-size:13px;color:#8f7a5c;text-align:center;padding:25px 0;margin:0}.booking-page .booking-summary-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #daceb9;padding:20px 0 10px;font-size:14px;color:#735f45}.booking-page .booking-summary-total strong{font-size:27px;font-weight:500;color:#695137}.booking-page .booking-summary-deposit{display:flex;justify-content:space-between;align-items:center;background:#e3d5bf;border-radius:6px;padding:12px 15px;font-size:13px;margin:9px 0}.booking-page .booking-summary-deposit strong{font-size:18px;font-weight:500}.booking-page .booking-summary-note{font-size:12px;line-height:1.9;color:#8a7457;margin:16px 0 20px}.booking-page .booking-help{display:block;border-top:1px solid #deceb5;padding-top:17px;font-size:13px;color:#7f6446;text-decoration:underline}.booking-page .booking-error{border:1px solid #ead0bf;background:#fff0e7;color:#a34e31;padding:12px 15px;font-size:14px;line-height:1.8;border-radius:6px;margin:20px 0 0}.booking-page .booking-error .booking-state-note{margin:0}.booking-page .booking-options{display:grid;grid-gap:13px;gap:13px;margin-bottom:25px}.booking-page .booking-option{display:grid;grid-template-columns:95px 1fr auto;align-items:center;grid-gap:18px;gap:18px;background:#f9f5ec;border:1px solid #e7ddcb;border-radius:8px;padding:12px}.booking-page .booking-option-image{width:95px;height:100px;position:relative;border-radius:4px;overflow:hidden}.booking-page .booking-option-image img{height:100%;width:100%;object-fit:cover}.booking-page .booking-option-image small{position:absolute;bottom:3px;left:3px;right:3px;font-size:9px;line-height:1.4;background:#382a21b0;color:#f7efdf;padding:2px 4px}.booking-page .booking-option h3{font-size:16px;font-weight:500;margin:0 0 5px}.booking-page .booking-option strong{font-size:18px;font-weight:500}.booking-page .booking-option strong small{font-size:12px;color:#8f7b60;font-weight:400}.booking-page .booking-option p{font-size:12px;color:#8a765b;line-height:1.8;margin:4px 0}.booking-page .booking-availability{font-size:12px;color:#5f6d4c;display:inline-block}.booking-page .booking-availability:before{content:"● "}.booking-page .booking-availability.is-full{color:#a5603d}.booking-page .booking-availability.is-full:before{content:"○ "}.booking-page .booking-option .btn{font-size:13px;background:#fffcf6;min-height:44px;border-radius:6px}.booking-page .booking-guest-list{display:grid;grid-gap:17px;gap:17px}.booking-page .booking-guest-row{border:1px solid #e4d8c5;border-radius:8px;padding:20px;margin:0;min-width:0}.booking-page .booking-guest-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:15px}.booking-page .booking-guest-heading h3{font-size:15px;font-weight:500;margin:0}.booking-page .booking-remove{border:0;background:transparent;color:#8a6f4f;font-size:13px;padding:8px;min-height:44px}.booking-page .booking-select-note{font-size:13px;color:#8f7c62;text-align:center;background:#f6f0e4;padding:20px;border-radius:6px}.booking-page .booking-contact-fields{display:grid;grid-gap:20px;gap:20px}.booking-page .booking-consent-wrap{margin-top:24px}.booking-page .booking-consent{display:flex;align-items:flex-start;gap:12px;background:#f4eddc;border:1px solid #e6d8bc;padding:16px;border-radius:6px;font-size:14px;line-height:1.8;color:#6f5a3e;margin-bottom:6px}.booking-page .booking-consent input{flex-shrink:0;margin-top:4px;width:20px;height:20px}.booking-page .booking-consent input[aria-invalid=true]{outline:2px solid #b5533b;outline-offset:2px}.booking-page .booking-consent a{color:#6a4c33;text-decoration:underline}.booking-page .booking-review-dates{font-size:15px;color:#6a4c33;margin:0}.booking-page .booking-review-contact{border-top:1px solid #e6dbc9;padding:14px 0;margin:0;display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#8a7457}.booking-page .booking-review-contact dd{margin:0;text-align:right;color:#5e4a35;font-size:14px;overflow-wrap:anywhere}.booking-page .booking-review-contact small{display:block;font-size:12px;color:#8a7457}.booking-page .booking-policy{margin:24px 0 8px;border-top:1px solid #e3d7c3;padding-top:24px}.booking-page .booking-policy h3{font-size:15px;font-weight:500}.booking-page .booking-policy ul{font-size:13px;color:#7f6c55;line-height:2;padding-left:18px}.booking-page .booking-mock-banner{display:flex;flex-direction:column;gap:4px;max-width:850px;margin:0 auto 28px;padding:18px 20px;border:2px solid #b5533b;border-radius:10px;background:#fff1ed;color:#8c2f1f;text-align:center}.booking-page .booking-mock-banner strong{font-size:20px;font-weight:700}.booking-page .booking-mock-banner span{font-size:13px}.booking-page .booking-success{text-align:center;max-width:680px;margin:0 auto 36px}.booking-page .booking-success-mark{width:58px;height:58px;background:#e9eddc;border:1px solid #cbd5b7;border-radius:50%;color:#5f6d4c;font-size:27px;display:flex;align-items:center;justify-content:center;margin:0 auto 23px}.booking-page .booking-success h1{font-weight:500;font-size:32px;margin:12px 0}.booking-page .booking-success p{font-size:14px;color:#85725a}.booking-page .booking-record{background:#fffcf7;border:1px solid #e8dcca;border-radius:12px;padding:34px;max-width:850px;margin:auto}.booking-page .booking-record-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:22px;border-bottom:1px solid #e6dbc9}.booking-page .booking-record-head h2{font-size:26px;font-weight:600;letter-spacing:.04em;margin:8px 0;overflow-wrap:anywhere}.booking-page .booking-record-head p{font-size:13px;color:#85725a;margin:0}.booking-page .booking-record-head .badge{margin-top:5px;font-size:13px}.booking-page .booking-copy-code{border:0;background:transparent;padding:8px 0;min-height:44px;color:#7f6446;font-size:13px;text-decoration:underline}.booking-page .booking-record-items{padding:13px 0 23px}.booking-page .booking-record-items>li{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 0;font-size:14px;color:#6f5a3e}.booking-page .booking-record-items small{display:block;font-size:12px;color:#8f7a5c;margin-top:5px}.booking-page .booking-record-items strong{font-size:17px;font-weight:500;white-space:nowrap}.booking-page .booking-money-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;background:#f2eadb;border:1px solid #e4d4ba;border-radius:8px;padding:23px;margin:0 0 25px}.booking-page .booking-money-grid>div{display:flex;flex-direction:column;gap:7px;min-width:0}.booking-page .booking-money-grid dt{font-size:12px;color:#8a7050}.booking-page .booking-money-grid dd{margin:0;font-size:22px;font-weight:500;color:#725734}.booking-page .booking-payment{border:1px solid #e2d3b7;border-radius:8px;padding:25px;background:#faf4e6;margin:25px 0}.booking-page .booking-payment-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;flex-wrap:wrap;margin:10px 0 14px}.booking-page .booking-payment-heading h3{font-size:15px;font-weight:500;margin:0}.booking-page .booking-payment-heading h3 strong{display:inline-block;font-size:26px;font-weight:600;margin-left:6px}.booking-page .booking-payment-heading>span{font-size:13px;color:#8a6838;line-height:1.8}.booking-page .booking-countdown{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#6a4c33}.booking-page .booking-countdown.is-over{color:#a34e31}.booking-page .booking-transfer{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:24px;gap:24px;align-items:center;padding:18px;background:#fff;border:1px solid #eadfcb;border-radius:8px}.booking-page .booking-qr{margin:0;text-align:center;font-size:12px;color:#7c6849}.booking-page .booking-qr img{width:200px;height:200px;max-width:100%;margin:0 auto 6px;image-rendering:pixelated}.booking-page .booking-bank{margin:0;display:grid;grid-gap:10px;gap:10px}.booking-page .booking-bank>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;border-bottom:1px dashed #eadfcb;padding-bottom:8px}.booking-page .booking-bank dt{color:#8a7457}.booking-page .booking-bank dd{margin:0;font-weight:600;color:#5e4a35;overflow-wrap:anywhere}.booking-page .booking-slip-form{margin-top:24px}.booking-page .booking-slip-form h3{font-size:15px;font-weight:500;margin:0 0 4px}.booking-page .booking-slip-actions{display:flex;gap:12px;margin:14px 0 0;flex-wrap:wrap}.booking-page .booking-slip-actions .btn{font-size:14px;border-radius:6px}.booking-page .booking-file-label{position:relative;overflow:hidden;cursor:pointer}.booking-page .booking-file-label input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0}.booking-page .booking-file-label:focus-within{outline:3px solid #c29258;outline-offset:3px}.booking-page .booking-slip-name{font-size:13px;color:#6f5a3e;margin:10px 0 0;overflow-wrap:anywhere}.booking-page .booking-slip-preview{max-width:220px;max-height:300px;object-fit:contain;margin:12px 0 0;border:1px solid #e5d7bf;border-radius:6px}.booking-page .booking-review-message{font-size:13px;color:#a5603d;margin:5px 0 16px}.booking-page .booking-state-note{display:flex;gap:17px;align-items:flex-start;padding:22px;background:#eef0e4;border:1px solid #d8ddc7;border-radius:8px;color:#5f6d4c;margin:22px 0}.booking-page .booking-state-note>span{font-size:27px;line-height:1.1}.booking-page .booking-state-note h1,.booking-page .booking-state-note strong{font-size:15px;font-weight:600;margin:0;letter-spacing:0}.booking-page .booking-state-note p{font-size:13px;line-height:1.8;margin:6px 0 0;color:#6c7559}.booking-page .booking-state-note.is-warning{background:#f7eadc;border-color:#e5cdb0;color:#8a5a28}.booking-page .booking-state-note.is-warning p{color:#8a6a44}.booking-page .booking-state-note .btn{margin-top:15px}.booking-page .booking-success-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:30px 0 0}.booking-page .booking-success-links .btn{font-size:14px}@media (max-width:1100px){.booking-page{width:calc(100% - 72px)}.booking-page .booking-layout{gap:22px;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr)}.booking-page .booking-panel{padding:27px}.booking-page .booking-summary{padding:27px 22px}.booking-page .booking-option{grid-template-columns:70px 1fr auto;gap:12px;padding:10px}.booking-page .booking-option-image{width:70px;height:94px}}@media (max-width:850px){.booking-page{padding-top:35px}.booking-page .booking-layout{grid-template-columns:minmax(0,1fr)}.booking-page .booking-summary{position:static;padding:25px}.booking-page .booking-summary-dates{justify-content:flex-start;gap:35px}.booking-page .booking-panel{padding:30px}.booking-page .booking-option{grid-template-columns:95px 1fr auto;gap:20px;padding:14px}.booking-page .booking-option-image{width:95px;height:100px}.booking-page .booking-record{padding:27px}}@media (max-width:650px){.booking-page{width:calc(100% - 32px);padding:28px 0 45px}.booking-page .booking-title{margin-bottom:22px}.booking-page .booking-title h1{font-size:28px;margin:9px 0}.booking-page .booking-steps{margin-bottom:22px}.booking-page .booking-steps li{font-size:13px;gap:7px}.booking-page .booking-steps li:after{margin:0 8px}.booking-page .booking-steps li:not(.is-current) .booking-step-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.booking-page .booking-steps li.is-current{flex:0 0 auto}.booking-page .booking-steps li.is-current:after{min-width:12px}.booking-page .booking-panel{padding:23px 18px}.booking-page .booking-panel h2{font-size:22px;margin-top:9px}.booking-page .booking-lead{font-size:13px;margin-bottom:22px}.booking-page .form-grid{grid-template-columns:1fr;gap:18px}.booking-page .booking-warm-note{padding:16px;gap:12px}.booking-page .booking-form-actions{gap:10px;padding-top:22px;margin-top:24px}.booking-page .booking-form-actions .btn{padding:11px 14px;min-height:48px;white-space:normal;text-align:center}.booking-page .booking-form-actions .btn-primary{flex:1 1}.booking-page .booking-summary{padding:22px 18px}.booking-page .booking-summary-dates{gap:18px}.booking-page .booking-summary-dates>div{flex:1 1}.booking-page .booking-option{grid-template-columns:70px minmax(0,1fr);gap:12px;padding:11px}.booking-page .booking-option-image{width:70px;height:94px;grid-row:1/3}.booking-page .booking-option .btn{grid-column:2;justify-self:start}.booking-page .booking-guest-row{padding:16px 14px}.booking-page .booking-guest-row .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.booking-page .booking-record{padding:22px 16px}.booking-page .booking-record-head{gap:12px;flex-wrap:wrap}.booking-page .booking-record-items>li{align-items:flex-start}.booking-page .booking-money-grid{grid-template-columns:1fr;gap:10px;padding:16px}.booking-page .booking-money-grid>div{flex-direction:row;justify-content:space-between;align-items:baseline}.booking-page .booking-money-grid dd{font-size:19px}.booking-page .booking-payment{padding:20px 14px}.booking-page .booking-transfer{grid-template-columns:1fr;padding:14px}.booking-page .booking-slip-actions .btn{flex:1 1;min-height:48px}.booking-page .booking-success h1{font-size:26px}.booking-page .booking-success-links{flex-direction:column}.booking-page .booking-mock-banner strong{font-size:18px}}