.reservation-dialog{border:0;border-radius:24px;padding:38px;width:min(620px,calc(100vw - 32px));max-height:calc(100svh - 40px);background:#fff;color:var(--ink);box-shadow:0 32px 120px #0005;overflow-y:auto;overscroll-behavior:contain}.reservation-dialog::backdrop{background:#061522bc;backdrop-filter:blur(8px)}.reservation-dialog[open]{animation:booking-in .25s ease-out}@keyframes booking-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.reservation-close{position:absolute;right:18px;top:14px;border:0;background:#edf2f5;border-radius:50%;height:36px;width:36px;font-size:26px;font-weight:400;line-height:1;color:#47606f;cursor:pointer}.booking-topline{display:flex;align-items:center;justify-content:space-between;padding-right:22px;margin:5px 0 17px;gap:10px}.booking-topline .eyebrow{font-size:9px;letter-spacing:1.2px}.booking-topline>span:last-child{font-size:10px;color:#8a9ba6;white-space:nowrap}.reservation-dialog h2{font-size:32px;line-height:1.25;letter-spacing:-1.2px;margin:0 0 10px;font-weight:650}.booking-intro{font-size:13px;color:#647680;line-height:1.7;max-width:390px;margin:0 0 21px}.journey-summary{background:#f1f7fa;border:1px solid #e0edf3;border-radius:13px;padding:16px 18px;margin-bottom:22px}.journey-summary>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.journey-summary>div>span{font-size:9px;letter-spacing:1.3px;color:#557583;font-weight:700}.edit-trip{border:0;background:none;display:flex;align-items:center;gap:5px;font-size:10px;color:#2e6880;padding:0;cursor:pointer}.edit-trip .icon{width:13px;height:13px}.summary-route{display:block;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.summary-details{font-size:11px;color:#697e88;line-height:1.7;margin:5px 0 0}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-fields label{font-size:11px;font-weight:650;display:block;min-width:0}.booking-fields label>span{font-weight:400;font-size:9px;color:#88969e;margin-left:5px}.booking-fields input,.booking-fields textarea{display:block;width:100%;min-width:0;border:1px solid #dce5ea;border-radius:9px;padding:13px 12px;margin-top:7px;color:var(--ink);font:inherit;font-size:12px;font-weight:400;background:#fff;transition:border-color .2s,box-shadow .2s}.booking-fields input::placeholder,.booking-fields textarea::placeholder{color:#8c9aa2}.booking-fields textarea{resize:vertical;min-height:78px;max-height:180px;line-height:1.6}.booking-fields input:focus,.booking-fields textarea:focus{outline:0;border-color:#569cb8;box-shadow:0 0 0 3px #79c9e728}.booking-fields [aria-invalid=true]{border-color:#b45252}.wide-field{grid-column:1/-1}.booking-consent{display:flex;align-items:flex-start;gap:10px;margin:19px 0;font-size:11px;line-height:1.7;color:#627782}.booking-consent input{accent-color:#166180;flex:0 0 16px;width:16px;height:16px;margin:2px 0 0}.booking-privacy{display:inline;padding:0;border:0;background:none;color:#1b5e7b;font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.contact-submit{width:100%;justify-content:center;gap:25px}.contact-submit[disabled]{opacity:.6;cursor:wait}.booking-disclaimer{text-align:center;font-size:10px;line-height:1.6;color:#83919a;margin:12px auto 0;max-width:380px}.bot-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.booking-success{text-align:center;padding:20px 5px 4px}.success-seal{width:70px;height:70px;border-radius:50%;background:#e7f5f0;color:#2b8b68;display:grid;place-items:center;margin:0 auto 24px;box-shadow:0 0 0 9px #f5faf8}.success-seal svg{width:34px;height:34px}.booking-success>.eyebrow{font-size:9px;color:#558077;display:block;margin-bottom:12px}.booking-success h2{font-size:30px;outline:0}.booking-success>p{color:#6a7d87;font-size:13px;line-height:1.8}.success-reference{border:1px solid #dce7ec;border-radius:13px;background:#f8fafb;padding:20px;margin:26px 0;display:flex;flex-direction:column;gap:8px}.success-reference>span{font-size:9px;letter-spacing:1.2px;color:#7e949f}.success-reference strong{font-size:21px;letter-spacing:1px;font-weight:650}.success-reference small{font-size:10px;color:#70818d}.whatsapp-send{background:#1d7556;border-radius:11px;color:white;display:flex;align-items:center;justify-content:center;gap:20px;text-decoration:none;font-size:13px;font-weight:600;padding:17px}.whatsapp-send:hover{background:#165d45}.booking-success .whatsapp-instruction{font-size:11px;max-width:325px;margin:14px auto 23px}.new-reservation{border:0;background:none;color:#44697c;font-size:11px;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:7px}.reservation-dialog [hidden]{display:none!important}.location-option[aria-selected=true]{background:#eaf4f8}.location-option{font-family:inherit}.stepper button:disabled{opacity:.3;cursor:default}.return-fields[hidden]{display:none!important}@media(max-width:600px){.reservation-dialog{padding:30px 22px 24px;border-radius:20px;width:calc(100vw - 24px);max-height:calc(100svh - 24px)}.reservation-dialog h2{font-size:27px}.booking-topline .eyebrow{font-size:8px;letter-spacing:.8px}.booking-topline>span:last-child{display:none}.booking-fields{gap:15px 12px}.booking-fields input,.booking-fields textarea{font-size:16px;padding:12px 10px}.booking-fields label{font-size:11px}.booking-fields label>span{display:block;margin:2px 0 0;font-size:9px}.booking-intro{font-size:12px}.journey-summary{padding:14px}.summary-route{font-size:13px}.booking-consent{font-size:10px}.booking-success h2{font-size:27px}.success-reference strong{font-size:18px}.contact-submit{font-size:12px}.reservation-close{width:32px;height:32px;right:12px;top:12px}}@media(max-width:370px){.booking-fields{grid-template-columns:1fr}.wide-field{grid-column:auto}.booking-fields label>span{display:inline;margin-left:5px}.booking-topline{padding-right:18px}.reservation-dialog{padding:32px 18px 22px}.booking-success{padding-left:0;padding-right:0}.booking-success h2{font-size:25px}}@media(prefers-reduced-motion:reduce){.reservation-dialog[open]{animation:none}}
