html.tongaw-modal-open{overflow:hidden;overscroll-behavior:none}
#booking-journey,.tongaw-contact-modal{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:calc(100dvh - 24px);scroll-padding-top:72px;touch-action:pan-y}
.reservation-entry,.tongaw-contact-modal{--form-label-gap:8px;--form-field-gap:20px;--form-group-gap:28px;font-family:'DM Sans',sans-serif}
.reservation-entry .journey-block,.reservation-entry #stay-fields,.tongaw-contact-modal .request-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--form-field-gap);align-items:start}
.reservation-entry .journey-block{padding:20px 0 0;margin:0 0 var(--form-group-gap)}
.reservation-entry .journey-block label,.tongaw-contact-modal form label{display:block;margin:0;font:400 13px/1.5 'DM Sans',sans-serif;color:#c4c2bb;min-width:0}
.reservation-entry .journey-block :is(input,select),.tongaw-contact-modal form :is(input,select,textarea){box-sizing:border-box;display:block;width:100%;max-width:100%;min-width:0;height:46px;min-height:46px;margin:var(--form-label-gap) 0 0;padding:10px 12px;border:1px solid #444;border-radius:5px;background:#111;color:#f3f1ea;font:400 16px/1.4 'DM Sans',sans-serif;scroll-margin:76px 0 24px}
.tongaw-contact-modal form textarea{height:120px;resize:vertical}
.reservation-entry .journey-block p,.reservation-entry #stay-fields p,.tongaw-contact-modal .request-privacy{font-size:12px;line-height:1.7;margin:0;color:#aaa9a4}
.reservation-entry .journey-block #stay-fields{margin:0;padding-top:4px}
.reservation-entry .journey-block .wide{grid-column:1/-1}
.reservation-entry .journey-block :is(p:empty,[hidden]){display:none!important}
.reservation-entry .participant-stepper input{margin:0;width:50px;min-height:42px;height:42px;padding:8px 0;border:0;background:transparent;text-align:center}
.reservation-entry .participant-control{gap:var(--form-label-gap)}
.reservation-entry #summary:not(:empty){display:grid;gap:20px;margin-top:28px;padding-top:24px}
.reservation-entry #summary>*{margin:0}
.reservation-entry #summary label:has(input[type=checkbox]){display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.reservation-entry #summary input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:none;margin:3px 0 0}
.reservation-entry #summary .error:empty,.reservation-receipt .error:empty{display:none}
.reservation-entry .quote-totals{margin:0}.reservation-entry .quote-totals>div{padding:12px 0}.reservation-entry .quote-totals dt{overflow-wrap:anywhere}
.reservation-entry .reservation-receipt{display:flex;flex-direction:column;gap:20px;margin:0;padding:0;min-width:0}
.reservation-entry .reservation-receipt>*{margin:0;max-width:100%}
.reservation-entry .reservation-receipt h1{font-size:clamp(26px,4vw,38px);line-height:1.2}
.reservation-entry .reservation-receipt p{line-height:1.7;font-size:14px}
.reservation-entry .reservation-receipt .receipt-welcome{font-size:18px}
.reservation-entry .reservation-receipt .primary{align-self:flex-start;margin-top:4px}
.reservation-entry .reservation-receipt #refresh-booking{align-self:flex-start}
.reservation-entry .reservation-receipt .table-wrap{width:100%}
.reservation-entry .reservation-receipt table{width:100%}
.reservation-entry .primary,.tongaw-contact-modal .request-send{font:500 14px/1.5 'DM Sans',sans-serif;min-height:46px;padding:12px 20px;border:1px solid #f3f1ea;border-radius:5px;background:#f3f1ea;color:#090909;text-decoration:none;cursor:pointer}
.tongaw-contact-modal{box-sizing:border-box;width:min(800px,calc(100vw - 48px));padding:0 32px 32px;background:#101010;color:#f3f1ea;border:1px solid #ffffff26;border-radius:14px;box-shadow:0 24px 100px #0008}
.tongaw-contact-modal::backdrop{background:#0005;backdrop-filter:blur(2px)}
.tongaw-contact-modal[open]{animation:form-enter .28s ease both}
.tongaw-contact-modal .request-toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;min-height:58px;margin:0 -32px 24px;padding:8px 32px;background:#101010f5;border:0;border-bottom:1px solid #ffffff15}
.tongaw-contact-modal .request-toolbar [data-dismiss]{position:static;width:auto;min-height:38px;padding:6px 0;background:none;color:inherit;border:0;font:400 13px/1.5 'DM Sans',sans-serif}
.tongaw-contact-modal .request-logo{width:98px;margin:0 0 20px}
.tongaw-contact-modal h2{font:500 clamp(24px,3vw,34px)/1.2 'Space Grotesk','DM Sans',sans-serif;letter-spacing:-.045em;margin:0 0 14px}
.tongaw-contact-modal h2:focus{outline:none}
.tongaw-contact-modal>p{font-size:14px;line-height:1.7;margin:0 0 26px;color:#aaa9a4}
.tongaw-contact-modal form{display:grid;gap:var(--form-field-gap)}
.tongaw-contact-modal form .request-send{margin:4px 0 0;justify-self:start}
.tongaw-contact-modal form [role=alert]{margin:0;line-height:1.6}.tongaw-contact-modal [role=alert]:empty{display:none}
.tongaw-contact-modal .request-honey{display:none}
@keyframes form-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:600px){.reservation-entry .journey-block,.reservation-entry #stay-fields,.tongaw-contact-modal .request-grid{grid-template-columns:1fr}.tongaw-contact-modal{width:calc(100vw - 20px);padding:0 20px 28px;border-radius:10px}.tongaw-contact-modal .request-toolbar{margin:0 -20px 22px;padding:8px 20px}.tongaw-contact-modal form .request-send{width:100%}.reservation-entry .reservation-receipt .primary{width:100%}}
@media(prefers-reduced-motion:reduce){.tongaw-contact-modal[open]{animation:none}}

.contact-entry #main{max-width:800px;margin:auto;padding:28px 24px}.contact-entry #main>.login{max-width:none}.contact-entry form{display:grid;gap:20px}.contact-entry form label{display:block;margin:0;font:400 13px/1.5 'DM Sans',sans-serif}.contact-entry form :is(input,textarea){display:block;box-sizing:border-box;width:100%;margin:8px 0 0;min-height:46px;padding:10px 12px;border:1px solid #444;border-radius:5px;background:#111;color:#f3f1ea;font:400 16px/1.4 'DM Sans',sans-serif}.contact-entry form textarea{min-height:120px}.contact-entry form .error:empty{display:none}.contact-entry form .primary{justify-self:start;padding:12px 20px;min-height:46px;border-radius:5px}.contact-entry form p{margin:0}
