body{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.action-dock{position:fixed;z-index:60;bottom:calc(18px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:grid;grid-template-columns:150px 220px;gap:8px;padding:8px;background:rgba(255,255,255,.95);border:1px solid #dfe3e7;border-radius:22px;box-shadow:0 8px 36px #10182024;backdrop-filter:blur(18px)}.action-dock a{min-height:50px;display:flex;align-items:center;justify-content:center;gap:14px;font-size:14px;font-weight:600;border-radius:15px;text-decoration:none}.dock-call{color:#1d252d;background:#eef1f4}.dock-book{color:#fff;background:#0066cc}.action-dock a:focus-visible,.booking-dialog :focus-visible{outline:3px solid #2d88e5;outline-offset:4px}.booking-dialog{color:#1d252d;width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 40px);border:1px solid #e1e5e9;border-radius:26px;padding:36px;box-shadow:0 24px 100px #121c3033;overflow:auto;background:#fff}.booking-dialog::backdrop{background:#0a142b66;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.dialog-top .eyebrow{margin:0}.dialog-close{border:0;border-radius:50%;background:#f0f2f4;width:38px;height:38px;font-size:26px;line-height:1;cursor:pointer}.booking-dialog h2{font-size:40px;line-height:1.1;letter-spacing:-1.5px;margin:0 0 20px}.booking-dialog p{font-size:14px;line-height:1.7}.booking-dialog a{color:#0066cc}.booking-notice{border-left:3px solid #0066cc;padding:10px 14px;background:#f1f6fb;font-weight:600}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:26px 0}.booking-fields label{font-size:12px;font-weight:600;display:flex;flex-direction:column;gap:9px}.booking-fields label span{font-weight:400}.booking-fields input,.booking-fields select{width:100%;min-height:46px;background:#f7f8fa;border:1px solid #d7dce2;border-radius:10px;padding:10px;font:inherit;color:#1d252d}.booking-review{border:0;cursor:pointer;width:100%}.booking-summary{margin-top:20px;border:1px solid #d9e3ed;padding:16px;border-radius:12px;background:#f7fafc}.booking-footnote{color:#59616a;margin-top:25px!important;font-size:12px!important}html.dialog-open{overflow:hidden}@media(max-width:600px){.action-dock{bottom:calc(10px + env(safe-area-inset-bottom));width:calc(100% - 28px);grid-template-columns:1fr 1.4fr;max-width:400px;border-radius:19px}.action-dock a{font-size:13px;min-height:48px;gap:8px}.booking-dialog{padding:25px;border-radius:22px}.booking-dialog h2{font-size:34px}.booking-fields{gap:16px}.booking-fields input,.booking-fields select{font-size:16px}body{padding-bottom:calc(90px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.booking-dialog,.action-dock{scroll-behavior:auto}}

.booking-fields .booking-field-label{display:block;font:inherit;color:inherit;min-height:18px}.booking-field-label small{font-weight:400;font-size:inherit}.action-dock svg{flex:none}.booking-fields input{min-width:0}@media(max-width:600px){.booking-fields label:nth-child(-n+2){grid-column:1/-1}.booking-fields{gap:18px 12px}.booking-dialog h2{font-size:32px}}@media(max-width:350px){.booking-fields{grid-template-columns:1fr}.booking-fields label{grid-column:auto}.booking-dialog{padding:22px}.action-dock a{font-size:12px;gap:7px}}

.dialog-top{position:sticky;top:-36px;z-index:2;background:#fff;padding:8px 0 12px}@media(max-width:600px){.dialog-top{top:-25px}}@media(max-width:350px){.dialog-top{top:-22px}}
.booking-fields .field-wide{grid-column:1/-1}.booking-fields textarea{width:100%;resize:vertical;min-height:96px;background:#f7f8fa;border:1px solid #d7dce2;border-radius:10px;padding:12px;font:inherit;color:#1d252d}.booking-trap{display:none!important}.booking-privacy{color:#52606b;font-size:12px!important}.booking-review:disabled{opacity:.65;cursor:wait}.booking-summary[data-state="error"]{border-color:#b7392c;background:#fff5f3;color:#8b241b}.booking-summary[data-state="success"]{border-color:#28784b;background:#f1faf4;color:#205c3b}.dialog-close{min-width:44px;min-height:44px}@media(max-width:600px){.booking-fields textarea{font-size:16px}}
form[data-submitted="true"] .booking-review:disabled{cursor:default;opacity:.8}@media(max-width:600px){.booking-fields label:has(select){grid-column:1/-1}}
