[hidden]{display:none!important}.booking-page{background:var(--paper)}.booking-page .header{border-bottom:1px solid var(--line);height:100px}.booking-shell{max-width:1220px;margin:auto;padding:32px 40px 100px}.demo-banner{color:var(--ocean);background:#edf1eb;border:1px solid #c8d3cc;border-radius:4px;padding:14px 20px;font-size:11px;line-height:1.7}.booking-steps{color:#68716b;gap:42px;margin:0;padding:30px 0 45px;font-size:12px;list-style:none;display:flex}.booking-steps li{align-items:center;gap:12px;display:flex}.booking-steps [aria-current]{color:var(--ocean);font-weight:600}.booking-steps .completed{color:var(--ocean)}.booking-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:75px;display:grid}.booking-layout h1{letter-spacing:-1.5px;max-width:570px;margin-bottom:18px;font-size:45px;line-height:1.2}.booking-layout h1 em{color:var(--ocean)}.booking-lead{margin-bottom:28px;font-size:13px}.booking-layout .eyebrow{margin-bottom:18px}.date-inputs{grid-template-columns:1fr 1fr;gap:16px;display:grid}.booking-page label{gap:9px;font-size:11px;font-weight:600;display:grid}.booking-page input,.booking-page select,.booking-page textarea{font:14px var(--body);color:var(--ink);background:#fcfcf8;border:1px solid #acb7ad;border-radius:4px;width:100%;min-width:0;min-height:48px;padding:14px 12px}.booking-page input:focus,.booking-page select:focus,.booking-page textarea:focus{outline:2px solid var(--ocean);outline-offset:2px}.booking-page textarea{resize:vertical}.booking-page label span{color:var(--muted);font-weight:400}.date-inputs .reset-dates{text-underline-offset:4px;grid-column:1/-1;justify-self:end;min-height:32px;font-size:11px;text-decoration:underline}.date-status{min-height:43px;color:var(--ocean);font-size:11px;line-height:1.7}.date-status.has-error{color:#993d2d}.calendar-toolbar{justify-content:space-between;align-items:center;margin:15px 0;display:flex}.calendar-toolbar h2{font:600 15px var(--body)}.calendar-toolbar button{width:44px;height:44px;font-size:23px}.booking-page button:disabled{opacity:.42;cursor:not-allowed}.booking-page button:disabled:hover{background:var(--ocean)}.calendar-toolbar button:disabled:hover{background:0 0}#calendar table{border-collapse:separate;border-spacing:0 5px;table-layout:fixed;width:100%}#calendar th{color:var(--muted);height:32px;font-size:10px;font-weight:400}#calendar td{text-align:center;height:44px}.booking-page .day{border:1px solid #0000;border-radius:3px;width:100%;min-height:44px;font-size:12px}.day.available{color:#264f45;background:#e8eee7}.day.unavailable{color:#70766f;cursor:default;text-decoration:line-through}.day.available:hover{border-color:var(--ocean)}.booking-page .day.selected{background:var(--ocean);color:var(--paper);text-decoration:none}#calendar .in-range{background:#dce7de}.calendar-legend{gap:25px;margin:15px 0 28px;font-size:10px;display:flex}.calendar-legend span:first-child:before{content:"";background:#e8eee7;border:1px solid #c2cebf;width:10px;height:10px;margin-right:7px;display:inline-block}.calendar-legend span:last-child{color:var(--muted);text-decoration:line-through}.guest-controls{border-top:1px solid var(--line);grid-template-columns:1fr 85px 85px;align-items:center;gap:18px;padding-top:25px;display:grid}.guest-controls h2{font:600 14px var(--body);margin-bottom:4px}.guest-controls p{font-size:10px}.booking-next{justify-content:space-between;width:100%;min-height:52px;margin-top:28px}.small-note{color:var(--muted);margin-top:12px;font-size:10px;line-height:1.8}.stay-summary{border:1px solid var(--line);background:#fcfcf8;border-radius:5px;position:sticky;top:25px;overflow:hidden}.stay-summary>img{object-position:center 55%;width:100%;height:195px}.summary-content{padding:25px}.summary-content .eyebrow{margin-bottom:10px;font-size:8px}.summary-content h2{letter-spacing:-1px;font-size:30px}.summary-content>p{font-size:10px}.summary-dates{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 12px;padding-top:20px;display:grid}.summary-dates span{letter-spacing:1px;margin-bottom:7px;font-size:8px;display:block}.summary-dates strong{font-size:11px;font-weight:600}#price-breakdown{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}#price-breakdown>p{font-size:11px}#price-breakdown dl{gap:14px;margin:0;display:grid}#price-breakdown dl>div{justify-content:space-between;gap:15px;font-size:11px;display:flex}#price-breakdown dd{white-space:nowrap;margin:0}#price-breakdown .price-total{border-top:1px solid var(--line);margin-top:4px;padding-top:18px;font-size:17px;font-weight:600}.price-total span{font-size:10px;font-weight:400}.form-fields{grid-template-columns:1fr 1fr;gap:22px 16px;display:grid}.full-field{grid-column:1/-1}#back-stay,#back-details{margin-bottom:32px}.review-section{border-bottom:1px solid var(--line);padding:22px 0}.review-section h2{font:600 14px var(--body);margin-bottom:12px}.review-section p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.review-section .text-link{margin-top:16px;font-size:11px}.finish-home{margin-top:28px;display:table}@media (width<=1000px){.booking-layout{grid-template-columns:minmax(0,1fr) 290px;gap:35px}.booking-shell{padding:24px}.booking-layout h1{font-size:38px}.summary-content{padding:20px}}@media (width<=760px){.booking-page .header{height:86px}.booking-page .header>.text-link{gap:8px;font-size:10px}.booking-shell{padding:18px 6% 55px}.demo-banner{padding:12px 14px;font-size:10px}.booking-steps{gap:24px;padding:25px 0 32px;font-size:10px}.booking-steps li{gap:7px}.booking-layout{flex-direction:column;gap:35px;display:flex}.booking-layout>div,.stay-summary{width:100%}.booking-layout h1{font-size:39px}.date-inputs{gap:12px}.booking-page input{padding:12px 8px;font-size:16px}.booking-page select,.booking-page textarea{font-size:16px}.guest-controls{grid-template-columns:1fr 70px 75px;gap:12px}.guest-controls p{font-size:9px}.stay-summary{position:static}.stay-summary>img{height:180px}.booking-next{position:static}.form-fields{grid-template-columns:1fr}.summary-content{padding:24px}.booking-layout .small-note{font-size:10px}.booking-lead{font-size:12px}}.booking-beds{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:24px;padding:16px 0}.booking-beds summary{cursor:pointer;align-content:center;min-height:32px;font-size:12px}.booking-beds summary:focus-visible{outline:2px solid var(--ocean);outline-offset:4px}.booking-beds .sleeping-arrangements{border:0;grid-template-columns:1fr 1fr;gap:20px;margin:12px 0;padding:0}.booking-beds .sleeping-note{margin:16px 0 0;font-size:11px}.booking-page .day.minimum-stay,.booking-page .day.restricted-date{color:#53645a;cursor:help;background:#f0f2ec;border-bottom:2px dotted #a3b5a6;border-radius:0;text-decoration:none}.booking-page .day.minimum-stay{color:#365345;background:#e5ece3}.booking-page .day.selected{background:var(--ocean);color:var(--paper);border:1px solid #0000;border-radius:3px;text-decoration:none}.calendar-legend{flex-wrap:wrap;gap:10px 20px}.minimum-legend:before{content:"";background:#e5ece3;border-bottom:2px dotted #a3b5a6;width:12px;height:10px;margin-right:7px;display:inline-block}.calendar-legend .minimum-legend{text-decoration:none}.calendar-legend .unavailable-legend{text-decoration:line-through}#reserve-challenge{margin-top:20px}#step-done #start-again{margin-top:24px}
