/* The embedded reservation platform owns all fields and live search results. */
.dx-search-panel[data-official-ready]{position:relative;z-index:2;width:100%;height:auto!important;min-height:0!important;margin:0 auto!important;padding:28px max(4%,20px) 20px!important;background:#f4faff;text-align:left;box-sizing:border-box}
.dx-search-panel[data-official-ready] *{box-sizing:border-box}
.dx-live-heading{max-width:1280px;margin:0 auto 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.dx-live-heading>div>span{font:600 10px/1.4 'Darwin Pro',Arial,sans-serif;letter-spacing:1.6px;color:#0590d1}
.dx-live-heading h2{font:700 31px/1.1 'Darwin Pro',Arial,sans-serif!important;color:#17385e;margin:5px 0 0!important;text-transform:none!important}
.dx-live-heading>a,.dx-live-foot a{font:600 12px/1.4 'Darwin Pro',Arial,sans-serif;color:#087bb6;text-decoration:none}
.dx-live-heading>a:hover,.dx-live-foot a:hover{text-decoration:underline}
.dx-live-heading>a:focus-visible,.dx-live-foot a:focus-visible{outline:2px solid #087bb6;outline-offset:4px}
.dx-live-embed{max-width:1280px;margin:auto;background:white;border:1px solid #e2ecf3;border-radius:14px;overflow:hidden;box-shadow:0 5px 22px #17385e10}
.dx-search-panel .dx-live-embed iframe.dx-search-frame{display:block!important;width:100%!important;max-width:none!important;height:490px!important;min-height:0!important;margin:0!important;border:0!important;border-radius:0!important;background:white;aspect-ratio:auto!important}
.dx-live-foot{max-width:1280px;margin:12px auto 0;display:flex;align-items:center;justify-content:space-between;gap:16px;font:400 11px/1.4 'Darwin Pro',Arial,sans-serif;color:#657887}
@media(min-width:1500px){.dx-search-panel .dx-live-embed iframe.dx-search-frame{height:390px!important}}
@media(max-width:760px){.dx-search-panel[data-official-ready]{padding:24px 4% 18px!important}.dx-live-heading{display:block;margin-bottom:16px}.dx-live-heading h2{font-size:29px!important}.dx-live-heading>a{display:inline-block;margin-top:10px}.dx-search-panel .dx-live-embed iframe.dx-search-frame{height:670px!important}.dx-live-foot{display:block;line-height:1.5}.dx-live-foot a{display:inline-block;margin-top:8px}}

/* Compact visual frame: keep the live booking form and its own controls intact. */
.dx-search-panel[data-official-ready]{padding:24px max(4%,20px) 22px!important}
.dx-live-heading,.dx-live-foot{max-width:1040px}
.dx-live-heading{margin-bottom:14px}
.dx-live-heading h2{font-size:28px!important}
.dx-live-embed{width:100%;max-width:1040px;border:0;border-radius:0;background:transparent;box-shadow:none}
.dx-search-panel .dx-live-embed iframe.dx-search-frame{height:355px!important;background:transparent}
.dx-live-foot{margin-top:8px;font-size:11px}
@media(min-width:1500px){.dx-search-panel .dx-live-embed iframe.dx-search-frame{height:355px!important}}
@media(min-width:761px) and (max-width:1100px){.dx-search-panel .dx-live-embed iframe.dx-search-frame{height:420px!important}}
@media(max-width:760px){.dx-search-panel[data-official-ready]{padding:20px 3% 16px!important}.dx-live-heading{margin-bottom:10px}.dx-live-heading>div>span{font-size:9px;letter-spacing:1px}.dx-live-heading h2{font-size:26px!important}.dx-live-heading>a{margin-top:8px;font-size:11px}.dx-search-panel .dx-live-embed iframe.dx-search-frame{height:575px!important}.dx-live-foot{font-size:10px}}

/* The provider renders a 920px card with 10px gutters inside the wider frame.
   Center that visible card while preserving the provider's viewport and form. */
.dx-live-embed{container-type:inline-size;overflow:visible}
@media(min-width:1101px){.dx-search-panel .dx-live-embed iframe.dx-search-frame{transform:translateX(max(0px,calc((100cqw - 940px)/2)))}}

/* Tighten the space below the desktop form without changing its viewport width. */
@media(min-width:1101px){.dx-search-panel .dx-live-embed iframe.dx-search-frame{height:275px!important}}
.dx-search-panel[data-official-ready]{padding-bottom:14px!important}
.dx-live-foot{margin-top:4px}

/* Responsive booking frame: legible links, touch targets and no page overflow. */
.dx-live-heading>div{min-width:0}
.dx-live-heading,.dx-live-foot{min-width:0;flex-wrap:wrap}
.dx-live-heading a,.dx-live-foot a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;font-size:13px;line-height:1.4;overflow-wrap:anywhere;padding:8px 0}
.dx-live-foot>span{flex:1 1 340px;font-size:12px;line-height:1.5}
.dx-live-foot>a{flex:0 1 auto}
.dx-live-embed{min-width:0}
@media(max-width:1100px){.dx-search-panel .dx-live-embed iframe.dx-search-frame{transform:none!important}}
@media(max-width:760px){.dx-live-heading{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-bottom:6px}.dx-live-heading>a{margin:0}.dx-live-heading>div>span{font-size:10px;line-height:1.5;letter-spacing:.8px}.dx-live-heading h2{font-size:26px!important;line-height:1.2!important}.dx-search-panel .dx-live-embed iframe.dx-search-frame{height:640px!important}.dx-live-foot{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:6px}.dx-live-foot>span{flex:0 1 auto;font-size:12px}.dx-live-foot>a{margin:0;font-size:13px}}
@media(max-width:360px){.dx-search-panel[data-official-ready]{padding-left:10px!important;padding-right:10px!important}.dx-live-heading h2{font-size:24px!important}.dx-search-panel .dx-live-embed iframe.dx-search-frame{height:700px!important}}
@media(min-width:761px) and (max-width:900px){.dx-search-panel .dx-live-embed iframe.dx-search-frame{height:520px!important}}
/* Match the observed mobile form instead of reserving an empty extra panel. */
@media(max-width:760px){.dx-search-panel .dx-live-embed iframe.dx-search-frame{height:455px!important}}
@media(max-width:360px){.dx-search-panel .dx-live-embed iframe.dx-search-frame{height:500px!important}}
