/* Destination Hub Collage 3.2 — unified design, rather than a floating style add-on.
   The engine controls hotel data, filters, amounts, and booking actions. */
:root{--dh31-navy:#102d4a;--dh31-teal:#007f98;--dh31-teal-deep:#006e85;--dh31-gray:#637a8b;--dh31-line:#dfeaf0;--dh31-bg:#f7fbfe;--dh31-shadow:0 5px 20px rgba(11,54,76,.08);--dh31-radius:12px}
html body.dh-collage-v31{font-family:Inter,'Segoe UI',Arial,sans-serif;font-size:14px;line-height:1.47;color:var(--dh31-navy);background:#fff;overflow-x:clip;-webkit-font-smoothing:antialiased}
html body.dh-collage-v31 *,html body.dh-collage-v31 *::before,html body.dh-collage-v31 *::after{box-sizing:border-box}
html body.dh-collage-v31 :is(button,input,select,textarea){font-family:inherit}
html body.dh-collage-v31 :is(button,[role=button],a,summary){-webkit-tap-highlight-color:transparent}
html body.dh-collage-v31 :is(button,a,select,input,textarea,summary):focus-visible{outline:3px solid rgba(0,145,174,.35)!important;outline-offset:2px}
html body.dh-collage-v31 [hidden]{display:none!important}

/* Keep accessibility shortcut available to keyboard users ONLY. Never delete it. */
html body.dh-collage-v31 .screen-reader-text,html body.dh-collage-v31 .dh-skip-link{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;min-width:1px!important;min-height:1px!important;padding:0!important;margin:0!important;border:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;clip-path:inset(50%)!important;z-index:100000}
html body.dh-collage-v31 .dh-skip-link:focus{position:fixed!important;top:10px!important;left:10px!important;clip:auto!important;clip-path:none!important;width:auto!important;height:auto!important;padding:12px 18px!important;margin:0!important;overflow:visible!important;background:#fff!important;color:var(--dh31-navy)!important;border:2px solid var(--dh31-teal)!important;border-radius:10px;white-space:normal!important;box-shadow:0 9px 22px rgba(0,0,0,.16)}
html body.dh-collage-v31 .dh-skip-target{display:block;position:relative;height:0;overflow:hidden}

/* Coherent action styles shared by search, filters, attraction, and hotel pages. */
html body.dh-collage-v31 :is(.btn,.btn-primary,.live-search-submit,.location-view-btn,.rate-book-btn,.dh-mobile-filter-done,.dh-show-room-rates,.location-load-more button,.popular-hotel-action,.dh9-rate-primary,.booking-submit,#mobileFiltersToggle,#mobileSortToggle,.destination-card-actions a,.attraction-result-card .btn){appearance:none;border-radius:9px!important;font-size:13px!important;font-weight:750!important;line-height:1.2!important;letter-spacing:0!important;box-shadow:none!important;transform:none!important;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}
html body.dh-collage-v31 :is(.btn-primary,.live-search-submit,.location-view-btn,.rate-book-btn,.dh-mobile-filter-done,.popular-hotel-action,.dh9-rate-primary,.booking-submit){background:var(--dh31-teal)!important;color:white!important;border:1px solid var(--dh31-teal)!important;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none!important;min-height:39px;padding:10px 16px!important}
html body.dh-collage-v31 :is(.btn-primary,.live-search-submit,.location-view-btn,.rate-book-btn,.dh-mobile-filter-done,.popular-hotel-action,.dh9-rate-primary,.booking-submit):hover{background:var(--dh31-teal-deep)!important;border-color:var(--dh31-teal-deep)!important;color:#fff!important}
html body.dh-collage-v31 :is(.btn-secondary,.dh-show-room-rates,.dh9-rate-policy,.dh9-all-rates-link,#mobileFiltersToggle,#mobileSortToggle,.location-load-more button){background:#fff!important;color:var(--dh31-teal-deep)!important;border:1px solid #c7dfe9!important;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none!important;padding:10px 15px!important;min-height:38px}
html body.dh-collage-v31 :is(.btn-secondary,.dh-show-room-rates,.dh9-rate-policy,.dh9-all-rates-link,#mobileFiltersToggle,#mobileSortToggle,.location-load-more button):hover{background:#f0f9fc!important;border-color:#91cbd9!important}
html body.dh-collage-v31 :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){background:#fff;color:var(--dh31-navy);border:1px solid #d9e6ed;border-radius:10px;box-shadow:none;min-width:0}
html body.dh-collage-v31 select{cursor:pointer}
html body.dh-collage-v31 :is(h1,h2,h3,h4){letter-spacing:-.025em;color:var(--dh31-navy)}

/* Header: unboxed white transparent logo and balanced tap targets. */
html body.dh-collage-v31 .dhcs-global-header{background:linear-gradient(108deg,#00677f,#00859b)!important;border:0!important;box-shadow:none!important;position:relative;z-index:850}
html body.dh-collage-v31 .dhcs-global-nav{max-width:1380px;width:calc(100% - 50px);height:68px;min-height:68px!important;gap:16px;display:flex;align-items:center}
html body.dh-collage-v31 .dhcs-global-logo{max-width:190px;min-width:145px;margin-right:auto!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
html body.dh-collage-v31 .dhcs-global-logo img{width:177px!important;height:auto!important;max-width:100%!important;object-fit:contain}
html body.dh-collage-v31 .dhcs-global-links{display:flex;align-items:center;gap:clamp(14px,2.4vw,29px)}
html body.dh-collage-v31 .dhcs-global-links a{font-size:13px;white-space:nowrap;color:#fff;font-weight:700}
html body.dh-collage-v31 .dhcs-global-actions{display:flex;gap:13px;align-items:center}
html body.dh-collage-v31 .dhcs-menu-toggle{appearance:none;border:0!important;box-shadow:none!important;background:transparent!important;min-width:36px;height:37px;padding:7px!important;color:#fff;border-radius:8px}
html body.dh-collage-v31 .dhcs-menu-toggle span{background:#fff!important;height:2px!important}
html body.dh-collage-v31 .dhcs-mobile-nav{box-shadow:0 12px 22px rgba(5,39,60,.16);background:#fff;border-radius:0 0 12px 12px;z-index:990}

/* Homepage composition: photo hero + a single compact raised search surface. */
html body.dh-collage-v31.dh-studio-home .search-first-hero{height:333px!important;min-height:333px!important;position:relative;background-size:cover!important;background-position:center 42%!important}
html body.dh-collage-v31.dh-studio-home .search-first-copy{padding:0!important;max-width:650px}
html body.dh-collage-v31.dh-studio-home .search-first-copy h1{max-width:600px;margin:0 0 10px!important;font-size:clamp(37px,4.2vw,58px)!important;line-height:1.05!important;color:#fff!important;font-weight:800;letter-spacing:-.04em}
html body.dh-collage-v31.dh-studio-home .search-first-lead{margin:0!important;color:#fff!important;font-size:15px!important;line-height:1.35}
html body.dh-collage-v31.dh-studio-home .live-search-section{position:relative;margin-top:-115px!important;z-index:35}
html body.dh-collage-v31.dh-studio-home .live-search-shell{padding:14px 16px 16px!important;border-radius:15px!important;border:1px solid #e6eef2!important;box-shadow:0 12px 33px rgba(12,56,77,.14)!important;background:#fff!important;overflow:visible!important;min-height:0!important}
html body.dh-collage-v31.dh-studio-home :is(.live-search-head,.live-search-foot){display:none!important}
html body.dh-collage-v31.dh-studio-home .search-mode-toggle{display:inline-flex!important;gap:4px;align-items:stretch;margin:0 0 10px!important;padding:3px!important;background:#f0f6f9;border-radius:9px!important;width:auto!important;overflow:hidden}
html body.dh-collage-v31.dh-studio-home .search-mode-btn{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:7px!important;min-width:90px!important;min-height:33px!important;padding:7px 14px!important;font-size:12px!important;font-weight:750!important;color:#526d83!important;line-height:1.2;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
html body.dh-collage-v31.dh-studio-home .search-mode-btn.is-active{background:var(--dh31-teal)!important;color:#fff!important}
html body.dh-collage-v31.dh-studio-home .search-mode-btn:disabled{color:#a1b4c1!important;cursor:not-allowed}
html body.dh-collage-v31.dh-studio-home .live-search-grid{display:grid!important;grid-template-columns:minmax(215px,2fr) minmax(135px,1.1fr) minmax(135px,1.1fr) minmax(155px,1.1fr) minmax(140px,.87fr)!important;align-items:end!important;gap:9px!important}
html body.dh-collage-v31.dh-studio-home .live-search-grid>.live-field{min-width:0!important;margin:0!important}
html body.dh-collage-v31.dh-studio-home .live-search-grid>.live-field label{display:block!important;font-size:11px!important;color:#5b788c;font-weight:700!important;margin:0 0 5px!important;line-height:1.35!important;letter-spacing:0!important;text-transform:none!important}
html body.dh-collage-v31.dh-studio-home .live-field input,html body.dh-collage-v31.dh-studio-home .live-field select{width:100%!important;height:44px!important;min-height:44px!important;max-height:44px!important;border:1px solid #d9e6ed!important;border-radius:9px!important;background:#fff!important;box-shadow:none!important;padding:9px 12px!important;font-size:12px!important;line-height:1.25!important;color:#324c64!important}
html body.dh-collage-v31.dh-studio-home .live-field.hotel-name input{padding-left:36px!important}
html body.dh-collage-v31.dh-studio-home .dh-collage-date-field input{font-size:12px!important;padding:10px 10px!important}
html body.dh-collage-v31.dh-studio-home .dh-v8-guest-select{grid-column:auto!important;display:block!important;position:relative;min-width:0;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
html body.dh-collage-v31.dh-studio-home .dh-v8-guest-select>summary{display:flex!important;align-items:center;gap:7px;width:100%!important;height:44px!important;min-height:44px!important;max-height:44px!important;white-space:nowrap;list-style:none;overflow:hidden;background:white!important;border:1px solid #d9e6ed!important;border-radius:9px!important;box-shadow:none!important;padding:0 9px!important;font-size:12px!important;color:#294b62}
html body.dh-collage-v31.dh-studio-home .dh-v8-guest-select>summary::-webkit-details-marker{display:none}
html body.dh-collage-v31.dh-studio-home .dh-v8-guest-select>summary::after{content:none!important;display:none!important}
html body.dh-collage-v31.dh-studio-home .dh-v8-guest-icon{display:inline-flex!important;width:20px!important;min-width:20px!important;height:20px!important;align-items:center;justify-content:center;color:var(--dh31-teal)!important;font-size:0!important;background:none!important}
html body.dh-collage-v31.dh-studio-home .dh-v8-guest-icon svg{width:19px;height:19px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
html body.dh-collage-v31.dh-studio-home #dhV8GuestCount{display:block;flex:1;overflow:hidden;text-overflow:ellipsis;min-width:0;font-weight:700;white-space:nowrap}
html body.dh-collage-v31.dh-studio-home .dh-v8-guest-arrow{font-size:15px!important;margin:0!important;padding:0!important;min-width:12px}
html body.dh-collage-v31.dh-studio-home .dh-v8-guest-fields{position:absolute;top:calc(100% + 6px)!important;left:0;right:auto;width:min(330px,calc(100vw - 30px));border:1px solid #dce9f0;border-radius:12px;box-shadow:0 12px 28px rgba(14,58,81,.15);padding:14px;z-index:800;background:#fff!important}
html body.dh-collage-v31.dh-studio-home .dh-v8-guest-fields .dh-guest-field-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
html body.dh-collage-v31.dh-studio-home .live-search-submit{grid-column:5!important;width:100%!important;min-height:44px!important;height:44px!important;margin:0!important;border-radius:9px!important;padding:9px 10px!important;font-size:12px!important;white-space:nowrap}
html body.dh-collage-v31.dh-studio-home .dh-collage-advanced{border:0!important;box-shadow:none!important;background:transparent!important;margin:7px 0 0!important;padding:0!important;max-width:100%!important;position:relative}
html body.dh-collage-v31.dh-studio-home .dh-collage-advanced>summary{list-style:none;background:transparent!important;box-shadow:none!important;border:0!important;display:inline-flex!important;align-items:center;justify-content:flex-start;gap:7px!important;width:auto!important;height:auto!important;min-height:22px!important;padding:0!important;margin:0!important;font-size:11px!important;color:var(--dh31-teal-deep)!important;font-weight:750}
html body.dh-collage-v31.dh-studio-home .dh-collage-advanced>summary::-webkit-details-marker{display:none}
html body.dh-collage-v31.dh-studio-home .dh-collage-advanced .dh-search-advanced-fields{position:absolute!important;right:auto!important;left:0!important;top:calc(100% + 7px)!important;z-index:850;display:flex;flex-direction:column;width:min(335px,calc(100vw - 30px))!important;padding:14px!important;border:1px solid #dfeaf0;border-radius:11px;background:#fff;box-shadow:0 15px 40px rgba(20,65,88,.18)!important}
html body.dh-collage-v31.dh-studio-home .dh-collage-advanced:not([open]) .dh-search-advanced-fields{display:none!important}
html body.dh-collage-v31.dh-studio-home .child-ages:not(:empty){display:flex!important;gap:10px!important;flex-wrap:wrap;margin-top:8px!important}
html body.dh-collage-v31.dh-studio-home .child-ages :is(label,select){margin:0!important}

/* Results: filter sidebar stays left; engine-created nodes keep their IDs and listeners. */
html body.dh-collage-v31 .dh9-results-stage{padding:18px 0 25px!important;background:#fff!important;scroll-margin-top:16px!important}
html body.dh-collage-v31 .dh-studio-results-grid{display:grid!important;grid-template-columns:215px minmax(0,1fr)!important;gap:20px!important;align-items:start!important}
html body.dh-collage-v31 .dh-studio-results-aside{display:block!important;position:sticky;top:16px;min-width:0!important;max-height:calc(100dvh - 32px);overflow:auto;padding:14px 16px 12px 0;border:0!important;border-right:1px solid #eaf0f3!important;box-shadow:none!important;background:#fff!important}
html body.dh-collage-v31 #locationAdvancedFilters{display:block!important;position:relative!important;transform:none!important;inset:auto!important;background:white!important;box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important;max-width:100%!important;max-height:none!important;overflow:visible!important}
html body.dh-collage-v31 #locationAdvancedFilters .dh-filter-sheet-head{display:flex!important;align-items:center;justify-content:space-between;padding:0 0 12px!important;margin:0!important;border:0!important}
html body.dh-collage-v31 #locationAdvancedFilters .dh-filter-sheet-head strong{font-size:15px!important;font-weight:800!important;line-height:1.3;color:var(--dh31-navy)!important}
html body.dh-collage-v31 #locationFiltersClose{display:none!important}
html body.dh-collage-v31 #locationAdvancedFilters .dh-filter-fields{display:flex!important;flex-direction:column!important;gap:14px!important;align-items:stretch!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:0!important;margin:0!important}
html body.dh-collage-v31 #locationAdvancedFilters .dh-filter-fields > :is(label,.dh-multi-filter-field){width:100%!important;min-width:0!important;margin:0!important;max-width:none!important;align-self:stretch!important;border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important}
html body.dh-collage-v31 #locationAdvancedFilters .dh-filter-fields > :is(label,.dh-multi-filter-field) > :is(span,.dh-filter-control-title){display:block!important;color:#375971!important;margin:0 0 6px!important;font-size:12px!important;font-weight:760!important;letter-spacing:0!important;text-transform:none!important;white-space:normal!important}
html body.dh-collage-v31 #locationAdvancedFilters :is(.location-filter-wrap,.location-sort-wrap){display:block!important;font-size:12px!important;color:#3e5c72!important}
html body.dh-collage-v31 #locationAdvancedFilters :is(.location-filter-wrap select,.location-sort-wrap select){width:100%!important;max-width:100%!important;min-width:0!important;height:39px!important;min-height:39px!important;padding:8px 10px!important;background:#fff!important;border:1px solid #d7e6ee!important;border-radius:9px!important;box-shadow:none!important;font-size:12px!important;font-weight:600!important;color:#2b4e67!important}
html body.dh-collage-v31 #locationAdvancedFilters .dh-multi-filter-field .dh-filter-control-title{margin:0 0 6px!important}
html body.dh-collage-v31 #locationAdvancedFilters .location-multi-filter{display:block!important;width:100%!important;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;margin:0!important;min-height:0!important}
html body.dh-collage-v31 #locationAdvancedFilters .location-multi-filter>summary{display:none!important}
html body.dh-collage-v31 #locationAdvancedFilters .location-multi-filter-panel{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:5px!important;position:static!important;inset:auto!important;transform:none!important;opacity:1!important;visibility:visible!important;width:100%!important;max-height:none!important;overflow:visible!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html body.dh-collage-v31 #locationAdvancedFilters .location-multi-filter-head,html body.dh-collage-v31 #locationAdvancedFilters .location-filter-help{display:none!important}
html body.dh-collage-v31 #locationAdvancedFilters .location-multi-filter-panel>label{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;width:100%!important;margin:0!important;padding:3px 0!important;border:0!important;box-shadow:none!important;border-radius:0!important;background:transparent!important;color:#577188!important;font-size:12px!important;line-height:1.25!important;font-weight:500!important;text-transform:none!important;letter-spacing:0!important;white-space:normal!important}
html body.dh-collage-v31 #locationAdvancedFilters .location-multi-filter-panel>label input[type=checkbox]{appearance:auto;accent-color:var(--dh31-teal);width:15px!important;height:15px!important;min-width:15px!important;min-height:15px!important;margin:0!important;padding:0!important;border-radius:3px}
html body.dh-collage-v31 #locationAdvancedFilters .location-multi-filter-panel>label span{font-size:12px!important;min-width:0!important;white-space:normal!important}
html body.dh-collage-v31 #locationAdvancedFilters .dh-mobile-filter-done{display:none!important}
html body.dh-collage-v31 .mobile-results-toolbar{display:none!important}
html body.dh-collage-v31 .location-results-head{margin:0 0 12px!important}
html body.dh-collage-v31 .location-hotel-list{display:grid!important;gap:10px!important;min-width:0!important;width:100%!important}
html body.dh-collage-v31 .location-hotel-card{display:grid!important;grid-template-columns:190px minmax(0,1fr) 161px!important;grid-template-rows:1fr!important;gap:0!important;align-items:stretch!important;width:100%!important;min-width:0!important;min-height:153px!important;height:auto!important;border-radius:10px!important;border:1px solid #e1eaf0!important;box-shadow:none!important;background:#fff!important;overflow:hidden!important}
html body.dh-collage-v31 .location-hotel-media{width:190px!important;height:153px!important;min-height:153px!important;max-height:none!important;max-width:none!important;min-width:0!important;position:relative!important;display:block!important;overflow:hidden!important;border-radius:0!important;grid-column:1;grid-row:1}
html body.dh-collage-v31 .location-hotel-media>.location-card-carousel{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;aspect-ratio:auto!important;max-width:none!important;max-height:none!important;margin:0!important;overflow:hidden!important}
html body.dh-collage-v31 .location-hotel-media :is(img,.location-hotel-carousel-image),html body.dh-collage-v31 .location-hotel-media>.location-card-carousel>img{display:block!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;margin:0!important;aspect-ratio:auto!important;position:absolute!important;inset:0!important}
html body.dh-collage-v31 .location-card-image-nav{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;width:30px!important;height:30px!important;min-height:30px!important;padding:0!important;border:0!important;border-radius:50%!important;background:rgba(255,255,255,.94)!important;color:var(--dh31-navy)!important;box-shadow:0 2px 8px rgba(1,35,57,.17)!important;z-index:3}
html body.dh-collage-v31 .location-card-image-nav.is-prev{left:7px!important}
html body.dh-collage-v31 .location-card-image-nav.is-next{right:7px!important}
html body.dh-collage-v31 .location-card-image-count{position:absolute!important;right:8px!important;bottom:8px!important;left:auto!important;z-index:3;border-radius:6px!important;color:#fff;background:rgba(5,39,55,.78)!important;padding:3px 6px!important;font-size:10px!important}
html body.dh-collage-v31 .location-hotel-copy{min-width:0!important;padding:12px 14px!important;display:flex!important;flex-direction:column!important;gap:6px!important;justify-content:flex-start!important;align-items:flex-start!important;grid-column:2;grid-row:1}
html body.dh-collage-v31 .location-hotel-name{font-size:15px!important;font-weight:800!important;margin:0!important;line-height:1.24!important;order:0!important;color:var(--dh31-navy)!important}
html body.dh-collage-v31 .location-hotel-meta{order:1!important;display:flex;flex-wrap:wrap;gap:6px;margin:0!important;align-items:center}
html body.dh-collage-v31 .location-hotel-address{order:2!important;line-height:1.4!important;font-size:11px!important;color:#5d7889!important;overflow-wrap:anywhere}
html body.dh-collage-v31 .location-distance-note{order:3!important;font-size:11px!important;color:#527484!important;font-weight:700!important;margin:0!important}
html body.dh-collage-v31 .location-hotel-amenities{order:4!important;margin:4px 0 0!important;display:flex;flex-wrap:wrap;gap:5px}
html body.dh-collage-v31 .location-hotel-amenities :is(span,small){font-size:10px!important;padding:4px 7px;border-radius:6px;background:#edf7fa!important;color:#3f6579!important;white-space:normal}
html body.dh-collage-v31 .location-hotel-price{display:flex!important;flex-direction:column!important;gap:9px!important;align-items:stretch!important;justify-content:center!important;grid-column:3;grid-row:1;min-width:0!important;margin:0!important;border:0!important;border-left:1px solid #e9eff3!important;border-radius:0!important;padding:12px 11px!important;text-align:right!important;background:#fbfdfe!important}
html body.dh-collage-v31 .location-hotel-price strong{font-size:22px!important;line-height:1.15!important;color:var(--dh31-navy)!important;white-space:normal!important}
html body.dh-collage-v31 .location-hotel-price .from-label{display:block;font-size:10px!important;font-weight:700!important;letter-spacing:.025em!important;color:#728a99!important}
html body.dh-collage-v31 .location-card-actions{display:block!important;grid-column:auto!important;width:100%!important;margin:0!important}
html body.dh-collage-v31 .location-card-actions .btn{display:flex!important;width:100%!important;min-height:36px!important;padding:8px 7px!important;font-size:11px!important;white-space:nowrap;gap:5px!important}
html body.dh-collage-v31 .location-load-more{padding:18px 0}

/* Hotel: tidy gallery, details, live-rate summary and guest selectors. */
html body.dh-collage-v31.dhcs-hotel-page .hero-grid{grid-template-columns:minmax(0,1fr) 310px!important;gap:16px!important;grid-template-areas:'media sidebar' 'summary sidebar'!important}
html body.dh-collage-v31.dhcs-hotel-page .hero-media{height:405px!important}
html body.dh-collage-v31.dhcs-hotel-page .hero-media img{object-fit:cover!important;max-width:100%!important;max-height:100%!important}
html body.dh-collage-v31.dhcs-hotel-page .media-card{border-radius:12px!important;box-shadow:none!important}
html body.dh-collage-v31.dhcs-hotel-page .thumbs{padding:9px!important;gap:9px!important;scrollbar-width:thin}
html body.dh-collage-v31.dhcs-hotel-page .thumbs button{flex:0 0 75px!important;height:54px!important;border-radius:8px!important;padding:0!important}
html body.dh-collage-v31.dhcs-hotel-page .summary-card{padding:15px 17px!important;box-shadow:none!important;border-radius:12px!important}
html body.dh-collage-v31.dhcs-hotel-page .summary-card h1{font-size:22px!important;line-height:1.2!important;margin:5px 0 7px!important}
html body.dh-collage-v31.dhcs-hotel-page .dh9-rate-overview{max-height:650px!important;overflow:auto!important;position:sticky;top:14px;padding:16px!important;border:1px solid #e0eaf0!important;border-radius:12px!important;background:#fff;box-shadow:none!important}
html body.dh-collage-v31.dhcs-hotel-page .dh9-rate-primary,html body.dh-collage-v31.dhcs-hotel-page .dh9-rate-policy{display:flex!important;width:100%!important;min-height:40px!important;margin-top:8px!important}
html body.dh-collage-v31.dhcs-hotel-page .dh9-teaser{width:100%!important;display:grid!important;grid-template-columns:52px minmax(0,1fr) auto!important;gap:7px!important;align-items:center!important;margin:0!important;padding:10px 0!important;border:0!important;border-bottom:1px solid #e9eff3!important;background:transparent!important;min-width:0!important;text-align:left}
html body.dh-collage-v31.dhcs-hotel-page .dh9-teaser img{width:52px!important;height:49px!important;object-fit:cover;border-radius:7px}
html body.dh-collage-v31.dhcs-hotel-page .dh9-teaser span{min-width:0!important}
html body.dh-collage-v31.dhcs-hotel-page .dh9-teaser strong{display:block;font-size:11px!important;line-height:1.25!important;overflow-wrap:anywhere}
html body.dh-collage-v31.dhcs-hotel-page .dh9-teaser-price{font-size:12px!important;font-weight:800!important;color:var(--dh31-teal-deep)!important;white-space:nowrap}
html body.dh-collage-v31.dhcs-hotel-page .dh-ref-availability-anchor{display:flex!important;align-items:baseline!important;gap:10px!important;padding:20px 0 8px!important;flex-wrap:wrap}
html body.dh-collage-v31.dhcs-hotel-page .dh-ref-availability-anchor>span{display:block;font-size:22px!important;line-height:1.2}
html body.dh-collage-v31.dhcs-hotel-page .availability-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;margin:0 0 15px!important}
html body.dh-collage-v31.dhcs-hotel-page .availability-head h2{font-size:20px!important;margin:6px 0!important}
html body.dh-collage-v31.dhcs-hotel-page .availability-head p{font-size:12px!important;line-height:1.4!important;margin:0!important}
html body.dh-collage-v31.dhcs-hotel-page .availability-card{padding:18px!important;border-radius:12px!important}
html body.dh-collage-v31.dhcs-hotel-page .form-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr)) auto!important;gap:10px!important;align-items:end!important}
html body.dh-collage-v31.dhcs-hotel-page .form-grid .field{min-width:0!important}
html body.dh-collage-v31.dhcs-hotel-page .form-grid :is(input,select){min-height:42px!important;border-radius:9px!important;font-size:13px!important}
html body.dh-collage-v31.dhcs-hotel-page .room-list{margin:12px 0!important}
html body.dh-collage-v31.dhcs-hotel-page .room-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr)) auto!important;gap:10px!important;align-items:end!important;padding:12px!important}
html body.dh-collage-v31.dhcs-hotel-page .room-group{overflow:hidden!important;border:1px solid #e1ebf0!important;border-radius:11px!important;margin-bottom:12px!important}
html body.dh-collage-v31.dhcs-hotel-page .room-group-header{background:#f0f9fc!important}
html body.dh-collage-v31.dhcs-hotel-page .group-head{display:flex;gap:10px;align-items:center;padding:12px 14px!important}
html body.dh-collage-v31.dhcs-hotel-page .group-head h3{margin:0!important;font-size:15px!important}
html body.dh-collage-v31.dhcs-hotel-page .room-group-gallery{padding:10px 14px!important;display:flex;overflow:auto;gap:9px!important}
html body.dh-collage-v31.dhcs-hotel-page .room-group-gallery .room-image-open{flex:0 0 128px;height:89px;border-radius:9px!important;overflow:hidden}
html body.dh-collage-v31.dhcs-hotel-page .room-group-gallery img{width:100%;height:100%;object-fit:cover}
html body.dh-collage-v31.dhcs-hotel-page .rate-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important;padding:12px!important}
html body.dh-collage-v31.dhcs-hotel-page .rate-card{padding:12px!important;min-width:0;border:1px solid #e1eaf0!important;border-radius:10px!important;background:white!important;box-shadow:none!important;display:grid;gap:12px}
html body.dh-collage-v31.dhcs-hotel-page .rate-book-btn{width:auto!important;min-height:35px!important;padding:9px 12px!important;font-size:11px!important}
html body.dh-collage-v31.dhcs-hotel-page .dh-show-room-rates{display:flex!important;align-items:center;justify-content:center;margin:8px auto 14px!important;border:1px solid #c8e1ea!important;border-radius:9px!important;padding:9px 15px!important;min-height:37px!important;background:#fff!important;color:var(--dh31-teal-deep)!important;box-shadow:none!important;font-size:12px!important;font-weight:750!important}
html body.dh-collage-v31.dhcs-hotel-page .dh-show-room-rates:hover{background:#f0f9fc!important}
html body.dh-collage-v31 .booking-modal.is-open{z-index:100550!important}
html body.dh-collage-v31 .hotel-policy-modal.is-open{z-index:100650!important}

/* Footer: the reference's compact columns, no giant gaps or floating privacy button. */
html body.dh-collage-v31 .dh-studio-footer{background:#103748!important;margin-top:32px!important;border-top:3px solid #0e92a3!important;padding:32px 26px 20px!important}
html body.dh-collage-v31 .dh-studio-footer-inner{width:min(1280px,100%);display:grid!important;grid-template-columns:1.2fr .82fr .93fr 1.15fr!important;gap:24px!important;align-items:start!important}
html body.dh-collage-v31 .dh-studio-footer-brand img{width:175px!important;height:auto!important;margin-bottom:12px!important}
html body.dh-collage-v31 .dh-studio-footer :is(h3){font-size:12px!important;line-height:1.35!important;font-weight:800!important;margin:0 0 12px!important;letter-spacing:.06em!important;text-transform:uppercase;color:white!important}
html body.dh-collage-v31 .dh-studio-footer :is(p,a,button){font-size:12px!important;line-height:1.55!important;color:#d4e6ef!important}
html body.dh-collage-v31 .dh-studio-footer :is(.dh-studio-footer-links){display:flex!important;flex-direction:column!important;gap:8px!important;align-items:flex-start!important;margin:0!important}
html body.dh-collage-v31 .dh-studio-footer-links :is(a,button){border:0!important;padding:0!important;margin:0!important;min-height:0!important;background:transparent!important;display:block!important;text-align:left!important;box-shadow:none!important;white-space:normal;cursor:pointer}
html body.dh-collage-v31 .dh-studio-footer-bottom{width:min(1280px,100%);margin:25px auto 0!important;border-top:1px solid rgba(255,255,255,.2);padding-top:15px!important;font-size:11px!important}

@media(max-width:1080px) and (min-width:761px){
 html body.dh-collage-v31 .dhcs-global-nav{width:calc(100% - 36px)}
 html body.dh-collage-v31 .dhcs-global-links{gap:13px}
 html body.dh-collage-v31 .dhcs-global-links a{font-size:11px}
 html body.dh-collage-v31.dh-studio-home .live-search-grid{grid-template-columns:1.65fr 1fr 1fr!important}
 html body.dh-collage-v31.dh-studio-home .dh-v8-guest-select{grid-column:1!important}
 html body.dh-collage-v31.dh-studio-home .live-search-submit{grid-column:2/4!important}
 html body.dh-collage-v31 .dh-studio-results-grid{grid-template-columns:190px minmax(0,1fr)!important;gap:13px!important}
 html body.dh-collage-v31 .location-hotel-card{grid-template-columns:155px minmax(0,1fr) 142px!important}
 html body.dh-collage-v31 .location-hotel-media{width:155px!important}
 html body.dh-collage-v31.dhcs-hotel-page .hero-grid{grid-template-columns:minmax(0,1fr) 265px!important}
}
@media(max-width:760px){
 html body.dh-collage-v31{font-size:13px!important;overflow-x:clip}
 html body.dh-collage-v31 .wrap{width:calc(100% - 26px)!important;max-width:none!important}
 html body.dh-collage-v31 .dhcs-global-header{min-height:59px}
 html body.dh-collage-v31 .dhcs-global-nav{height:59px!important;min-height:59px!important;width:calc(100% - 26px)!important;gap:12px!important}
 html body.dh-collage-v31 .dhcs-global-logo{min-width:0;max-width:160px}
 html body.dh-collage-v31 .dhcs-global-logo img{width:155px!important;height:auto!important}
 html body.dh-collage-v31 :is(.dhcs-global-links,.dh-studio-header-account,.dh-studio-header-currency,.dh-studio-header-search){display:none!important}
 html body.dh-collage-v31 .dhcs-menu-toggle{display:flex!important;align-items:center;justify-content:center;flex-direction:column;gap:5px!important;background:rgba(255,255,255,.10)!important;min-width:39px;height:39px!important;margin-left:auto;border-radius:9px!important}
 html body.dh-collage-v31.dh-studio-home .search-first-hero{height:287px!important;min-height:287px!important;background-position:center 40%!important}
 html body.dh-collage-v31.dh-studio-home .search-first-layout{padding:27px 0 0!important}
 html body.dh-collage-v31.dh-studio-home .search-first-copy{width:100%!important;max-width:none!important;text-align:center!important;margin:0!important}
 html body.dh-collage-v31.dh-studio-home .search-first-copy h1{width:min(350px,100%);font-size:27px!important;line-height:1.08!important;margin:0 auto 9px!important;text-align:center!important;color:#fff!important}
 html body.dh-collage-v31.dh-studio-home .search-first-copy .search-first-lead{width:min(300px,100%);font-size:13px!important;line-height:1.4!important;text-align:center!important;margin:0 auto!important}
 html body.dh-collage-v31.dh-studio-home .live-search-section{margin-top:-101px!important}
 html body.dh-collage-v31.dh-studio-home .live-search-shell{padding:11px!important;border-radius:15px!important;box-shadow:0 8px 25px rgba(15,53,77,.16)!important;max-width:100%!important}
 html body.dh-collage-v31.dh-studio-home .search-mode-toggle{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:3px!important;width:100%!important;max-width:100%!important;padding:3px!important;margin:0 0 10px!important}
 html body.dh-collage-v31.dh-studio-home .search-mode-btn{min-width:0!important;width:100%!important;max-width:none!important;padding:8px 3px!important;min-height:33px!important;font-size:11px!important;text-align:center!important;overflow:hidden!important;text-overflow:ellipsis;white-space:nowrap!important}
 html body.dh-collage-v31.dh-studio-home .live-search-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;align-items:end!important}
 html body.dh-collage-v31.dh-studio-home .live-search-grid>.live-field.hotel-name{grid-column:1/-1!important}
 html body.dh-collage-v31.dh-studio-home .live-field label{font-size:10px!important;margin-bottom:5px!important;line-height:1.25!important}
 html body.dh-collage-v31.dh-studio-home .live-field input,html body.dh-collage-v31.dh-studio-home .live-field select{height:46px!important;min-height:46px!important;max-height:46px!important;font-size:12px!important;border-radius:9px!important}
 html body.dh-collage-v31.dh-studio-home .dh-v8-guest-select{grid-column:1/-1!important;width:100%!important;margin:0!important}
 html body.dh-collage-v31.dh-studio-home .dh-v8-guest-select>summary{height:44px!important;min-height:44px!important;max-height:44px!important;padding:0 12px!important}
 html body.dh-collage-v31.dh-studio-home .dh-v8-guest-fields{width:100%!important;max-width:none!important;top:calc(100% + 6px)!important;left:0!important;right:0!important;z-index:850}
 html body.dh-collage-v31.dh-studio-home .live-search-submit{grid-column:1/-1!important;order:10!important;width:100%!important;height:44px!important;min-height:44px!important;font-size:13px!important;margin:0!important}
 html body.dh-collage-v31.dh-studio-home .dh-collage-advanced{grid-column:1/-1!important;order:11!important;margin:0!important;padding:1px 1px 0!important;line-height:1.3}
 html body.dh-collage-v31.dh-studio-home .dh-collage-advanced>summary{font-size:11px!important;min-height:20px!important}
 html body.dh-collage-v31.dh-studio-home .dh-collage-advanced .dh-search-advanced-fields{left:0!important;right:auto!important;max-width:100%!important;width:100%!important}
 html body.dh-collage-v31 .dh9-results-stage{padding:13px 0!important}
 html body.dh-collage-v31 .dh-studio-results-grid{display:block!important;grid-template-columns:none!important}
 html body.dh-collage-v31 .dh-studio-results-aside{display:none!important}
 html body.dh-collage-v31 .mobile-results-toolbar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:0 0 12px!important;padding:0!important;position:relative!important;top:auto!important;z-index:30!important}
 html body.dh-collage-v31 .mobile-results-toolbar :is(#mobileFiltersToggle,#mobileSortToggle){display:flex!important;width:100%!important;min-height:42px!important;color:var(--dh31-navy)!important;font-size:12px!important;box-shadow:none!important}
 html body.dh-collage-v31 #locationAdvancedFilters{display:none!important}
 html body.dh-collage-v31.dh-filters-visible #locationAdvancedFilters,html body.dh-collage-v31 #locationAdvancedFilters.dh-filter-sheet-open{display:block!important;position:fixed!important;inset:0 0 0 auto!important;transform:none!important;z-index:100500!important;width:min(360px,100vw)!important;height:100dvh!important;max-height:100dvh!important;overflow:auto!important;padding:18px 18px calc(82px + env(safe-area-inset-bottom))!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:-14px 0 55px rgba(9,38,56,.25)!important}
 html body.dh-collage-v31 #locationAdvancedFilters .dh-filter-sheet-head{margin-bottom:15px!important}
 html body.dh-collage-v31 #locationAdvancedFilters #locationFiltersClose{display:flex!important;align-items:center;justify-content:center;appearance:none;border:1px solid #d9e6ed!important;border-radius:8px!important;background:#fff!important;color:var(--dh31-navy)!important;padding:0!important;width:34px;height:34px!important;min-height:34px!important;font-size:18px!important}
 html body.dh-collage-v31 #locationAdvancedFilters .dh-filter-fields{gap:18px!important}
 html body.dh-collage-v31 #locationAdvancedFilters .location-multi-filter>summary{display:flex!important;align-items:center;justify-content:space-between;min-height:40px;padding:9px 10px!important;margin:0!important;border:1px solid #d7e6ee!important;border-radius:9px!important;background:#fff!important;font-size:12px!important}
 html body.dh-collage-v31 #locationAdvancedFilters .location-multi-filter-panel{display:none!important;padding:10px 3px 2px!important}
 html body.dh-collage-v31 #locationAdvancedFilters .location-multi-filter[open] .location-multi-filter-panel{display:grid!important}
 html body.dh-collage-v31 #locationAdvancedFilters .dh-mobile-filter-done{position:sticky!important;bottom:0!important;z-index:3!important;display:flex!important;width:100%!important;margin-top:22px!important;min-height:44px!important}
 html body.dh-collage-v31 .location-hotel-list{gap:11px!important;min-width:0}
 html body.dh-collage-v31 .location-hotel-card{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;grid-template-rows:none!important;min-height:0!important;max-height:none!important;width:100%!important;overflow:hidden!important;border-radius:12px!important;gap:0!important}
 html body.dh-collage-v31 .location-hotel-media{display:block!important;position:relative!important;flex:0 0 auto!important;width:100%!important;min-width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:16/9!important;margin:0!important;grid-column:auto!important;grid-row:auto!important;overflow:hidden!important;background:#e6f2f6!important}
 html body.dh-collage-v31 .location-hotel-media>.location-card-carousel{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-height:100%!important;max-width:none!important;aspect-ratio:auto!important;transform:none!important}
 html body.dh-collage-v31 .location-hotel-media :is(img,.location-hotel-carousel-image),html body.dh-collage-v31 .location-hotel-media>.location-card-carousel>img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;aspect-ratio:auto!important}
 html body.dh-collage-v31 .location-hotel-copy{grid-column:auto!important;grid-row:auto!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:7px!important;padding:12px 14px 10px!important;width:100%!important;min-width:0!important}
 html body.dh-collage-v31 .location-hotel-name{font-size:15px!important;line-height:1.25!important;margin:0!important}
 html body.dh-collage-v31 .location-hotel-meta{gap:6px!important}
 html body.dh-collage-v31 .location-hotel-address{font-size:12px!important;line-height:1.45!important}
 html body.dh-collage-v31 .location-distance-note{font-size:11px!important}
 html body.dh-collage-v31 .location-hotel-price{grid-column:auto!important;grid-row:auto!important;display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:flex-end!important;gap:10px!important;width:100%!important;min-height:67px!important;padding:11px 13px!important;border:0!important;border-top:1px solid #e6eff3!important;text-align:left!important;background:#fff!important}
 html body.dh-collage-v31 .location-hotel-price .location-price-summary{min-width:0!important;flex:1 1 auto!important}
 html body.dh-collage-v31 .location-hotel-price strong{font-size:23px!important}
 html body.dh-collage-v31 .location-card-actions{flex:0 0 auto!important;width:auto!important;min-width:0!important;margin-left:auto!important}
 html body.dh-collage-v31 .location-card-actions .btn{width:auto!important;min-width:115px!important;max-width:150px!important;min-height:39px!important;white-space:nowrap!important;padding:10px 12px!important;font-size:12px!important}
 html body.dh-collage-v31.dhcs-hotel-page .hero-grid{display:flex!important;flex-direction:column!important;gap:11px!important}
 html body.dh-collage-v31.dhcs-hotel-page .hero-media{height:260px!important;aspect-ratio:16/10;max-width:none!important}
 html body.dh-collage-v31.dhcs-hotel-page .thumbs button{flex:0 0 63px!important;height:46px!important}
 html body.dh-collage-v31.dhcs-hotel-page .summary-card{padding:14px!important}
 html body.dh-collage-v31.dhcs-hotel-page .summary-card h1{font-size:19px!important}
 html body.dh-collage-v31.dhcs-hotel-page .dh9-rate-overview{position:static!important;top:auto!important;max-height:none!important;overflow:visible!important;padding:14px!important;margin:0!important}
 html body.dh-collage-v31.dhcs-hotel-page .dh9-rate-teasers{max-height:none!important}
 html body.dh-collage-v31.dhcs-hotel-page .content-grid{display:flex!important;flex-direction:column!important;gap:12px!important}
 html body.dh-collage-v31.dhcs-hotel-page .availability-card{padding:14px!important}
 html body.dh-collage-v31.dhcs-hotel-page .availability-head h2{font-size:18px!important}
 html body.dh-collage-v31.dhcs-hotel-page .form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 html body.dh-collage-v31.dhcs-hotel-page .form-grid>div:nth-child(n+3){grid-column:1/-1}
 html body.dh-collage-v31.dhcs-hotel-page .room-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 html body.dh-collage-v31.dhcs-hotel-page .rate-grid{grid-template-columns:1fr!important;gap:9px!important;padding:10px!important}
 html body.dh-collage-v31.dhcs-hotel-page .room-group-gallery .room-image-open{flex:0 0 110px;height:79px}
 html body.dh-collage-v31.dhcs-hotel-page .rate-card{padding:12px!important;grid-template-columns:minmax(0,1fr) auto!important;gap:9px!important}
 html body.dh-collage-v31 .dh-studio-footer{padding:28px 16px 22px!important;margin-top:24px!important}
 html body.dh-collage-v31 .dh-studio-footer-inner{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px 17px!important}
 html body.dh-collage-v31 .dh-studio-footer-brand{grid-column:1/-1}
 html body.dh-collage-v31 .dh-studio-footer-company{grid-column:1/-1}
 html body.dh-collage-v31 .dh-studio-footer-brand img{width:165px!important}
 html body.dh-collage-v31 .dh-studio-footer-links{gap:9px!important}
 html body.dh-collage-v31 .dh-studio-footer :is(p,a,button){font-size:11px!important;line-height:1.6!important}
 html body.dh-collage-v31 .dh-ref-bottom-nav{display:grid!important;position:fixed!important;left:0;right:0;bottom:0;z-index:850;height:calc(62px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;box-shadow:0 -4px 15px rgba(6,45,65,.07);background:#fff!important;padding:4px 6px env(safe-area-inset-bottom)!important;border-top:1px solid #e1edf2}
 html body.dh-collage-v31 .dh-ref-bottom-nav a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;min-width:0!important;color:#526b7f;font-size:10px;font-weight:600;text-decoration:none}
 html body.dh-collage-v31 .dh-ref-bottom-nav a[aria-current=page]{color:var(--dh31-teal)!important}
 html body.dh-collage-v31 .dh-ref-bottom-nav svg{width:20px!important;height:20px!important}
 html body.dh-collage-v31{padding-bottom:calc(62px + env(safe-area-inset-bottom))!important}
}

/* Desktop/mobile shared search engine includes legacy ultra-specific media
   constraints. These selectors intentionally win over those constraints. */
@media(max-width:760px){
html body.dh-collage-v31 .live-results .location-hotel-list .location-hotel-card:not(.attraction-result-card)>.location-hotel-media,
html body.dh-collage-v31 .dh-studio-results-grid .location-hotel-card:not(.attraction-result-card)>.location-hotel-media{display:block!important;position:relative!important;width:100%!important;min-width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:16/9!important;flex:0 0 auto!important;grid-column:auto!important;grid-row:auto!important;margin:0!important;padding:0!important;overflow:hidden!important;align-self:stretch!important}
html body.dh-collage-v31 .live-results .location-hotel-card:not(.attraction-result-card)>.location-hotel-media .location-card-carousel{display:block!important;position:absolute!important;inset:0!important;width:100%!important;min-width:100%!important;max-width:100%!important;height:100%!important;min-height:100%!important;max-height:100%!important;aspect-ratio:auto!important;grid-column:auto!important;grid-row:auto!important;transform:none!important}
html body.dh-collage-v31 .live-results .location-hotel-card:not(.attraction-result-card)>.location-hotel-media :is(img,.location-hotel-carousel-image){display:block!important;position:absolute!important;inset:0!important;width:100%!important;min-width:100%!important;max-width:100%!important;height:100%!important;min-height:100%!important;max-height:100%!important;object-fit:cover!important;aspect-ratio:auto!important}
}
/* Native hotel policy controls, image actions, and mobile filter scrim. */
html body.dh-collage-v31.dhcs-hotel-page button[data-dh-policy-open],html body.dh-collage-v31.dhcs-hotel-page a[data-dh-policy-open]{appearance:none!important;display:inline-flex!important;align-items:center;justify-content:center;gap:7px;min-height:39px!important;margin:3px 0!important;padding:9px 14px!important;border:1px solid #c7e0e9!important;border-radius:9px!important;color:var(--dh31-teal-deep)!important;background:#fff!important;box-shadow:none!important;font-weight:750!important;font-size:12px!important;cursor:pointer}
html body.dh-collage-v31.dhcs-hotel-page button[data-dh-policy-open]:hover{background:#eef9fc!important}
html body.dh-collage-v31 .dh-mobile-filter-backdrop{position:fixed!important;inset:0!important;z-index:100400!important;background:rgba(9,28,43,.53)!important;border:0!important;box-shadow:none!important;cursor:pointer}
@media(max-width:760px){
html body.dh-collage-v31:not(.dh-studio-privacy-ready) :is(.cky-btn-revisit-wrapper,#cookie-law-info-again,#cmplz-manage-consent,.osano-cm-widget,#ot-sdk-btn-floating){bottom:calc(77px + env(safe-area-inset-bottom))!important;right:9px!important}
}

/* Destination Hub Collage 3.2 — measured layout repairs.
   Resolve defects in the core theme sheet, not in a must-use add-on. */
html body.dh-collage-v32,html body.dh-collage-v32 *{box-sizing:border-box}
html body.dh-collage-v32{width:100%;max-width:100%;overflow-x:clip}
html body.dh-collage-v32 main{max-width:100%;min-width:0}
html body.dh-collage-v32 :is(.live-search-grid,.form-grid,.rate-grid,.room-row,.location-hotel-card,.dh-studio-results-grid){min-width:0}
html body.dh-collage-v32 :is(h1,h2,h3,h4,p){overflow-wrap:break-word}

/* Date controls: a normal label ABOVE the native field. No pseudo calendar
   icon, duplicated placeholder or absolute text on a real <input type=date>. */
html body.dh-collage-v32.dh-studio-home .dh-collage-date-field{
 display:flex!important;flex-direction:column!important;align-items:stretch!important;
 justify-content:flex-end!important;position:relative!important;min-width:0!important;
 padding:0!important;margin:0!important;overflow:visible!important;gap:5px!important
}
html body.dh-collage-v32.dh-studio-home .dh-collage-date-field>label{
 display:block!important;position:static!important;inset:auto!important;transform:none!important;
 width:100%!important;min-height:15px!important;height:auto!important;padding:0!important;
 margin:0!important;color:#546e83!important;font-size:11px!important;
 font-weight:700!important;line-height:1.35!important;letter-spacing:0!important;
 pointer-events:auto!important
}
html body.dh-collage-v32.dh-studio-home .dh-collage-date-field::before,
html body.dh-collage-v32.dh-studio-home .dh-collage-date-field::after{
 display:none!important;content:none!important
}
html body.dh-collage-v32.dh-studio-home .dh-collage-date-field input[type=date]{
 display:block!important;position:static!important;width:100%!important;min-width:0!important;
 height:44px!important;min-height:44px!important;max-height:none!important;
 margin:0!important;padding:0 11px!important;line-height:44px!important;font-size:12px!important;
 font-weight:600!important;text-align:left!important;color:#2d4b63!important;
 background:#fff!important;border:1px solid #d7e6ed!important;border-radius:9px!important;
 box-shadow:none!important;appearance:auto!important;-webkit-appearance:auto!important
}
html body.dh-collage-v32.dh-studio-home .dh-collage-date-field input[type=date]::-webkit-datetime-edit{color:#2d4b63!important;padding:0!important;line-height:normal!important}
html body.dh-collage-v32.dh-studio-home .dh-collage-date-field input[type=date]::-webkit-calendar-picker-indicator{
 opacity:1!important;width:16px!important;height:16px!important;margin:0!important;padding:0!important;cursor:pointer
}
html body.dh-collage-v32.dh-studio-home .dh-collage-date-field input:focus-visible{outline:2px solid #19a3b7!important;outline-offset:2px!important}

/* Advanced search is a genuine details disclosure, not a floating duplicate
   plus sign. On mobile the fields expand inline so they remain clickable. */
html body.dh-collage-v32.dh-studio-home .dh-collage-advanced{
 grid-column:1/-1!important;order:20!important;position:relative!important;inset:auto!important;
 width:100%!important;max-width:100%!important;min-width:0!important;margin:5px 0 0!important;
 padding:0!important;overflow:visible!important;z-index:40!important
}
html body.dh-collage-v32.dh-studio-home .dh-collage-advanced>summary{
 display:flex!important;align-items:center!important;justify-content:space-between!important;
 list-style:none!important;position:relative!important;z-index:2!important;
 color:#087f95!important;cursor:pointer!important;font-size:12px!important;
 font-weight:750!important;line-height:1.4!important;min-height:34px!important;
 width:100%!important;height:auto!important;margin:0!important;padding:7px 9px!important;
 background:#f3fafc!important;border:1px solid #dcebf0!important;border-radius:8px!important;
 pointer-events:auto!important;white-space:normal!important;opacity:1!important
}
html body.dh-collage-v32.dh-studio-home .dh-collage-advanced>summary::-webkit-details-marker{display:none!important}
html body.dh-collage-v32.dh-studio-home .dh-collage-advanced>summary::after{content:none!important;display:none!important}
html body.dh-collage-v32.dh-studio-home .dh-collage-advanced>summary>span{font-size:16px!important;line-height:1!important;font-weight:800!important}
html body.dh-collage-v32.dh-studio-home .dh-collage-advanced[open]>summary>span{transform:rotate(45deg)}
html body.dh-collage-v32.dh-studio-home .dh-collage-advanced>.dh-search-advanced-fields{
 position:static!important;inset:auto!important;transform:none!important;z-index:auto!important;
 width:100%!important;max-width:100%!important;min-width:0!important;
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
 align-items:end!important;gap:11px!important;padding:12px!important;margin:6px 0 0!important;
 border:1px solid #dfeaf0!important;border-radius:10px!important;background:#fff!important;
 box-shadow:none!important;visibility:visible!important;opacity:1!important
}
html body.dh-collage-v32.dh-studio-home .dh-collage-advanced:not([open])>.dh-search-advanced-fields{display:none!important}
html body.dh-collage-v32.dh-studio-home .dh-collage-advanced .live-field{min-width:0!important}
html body.dh-collage-v32.dh-studio-home .dh-collage-advanced :is(input,select){width:100%!important;min-width:0!important}

/* Hotel image containers must shrink to the viewport, not inherit intrinsic
   thumbnail-strip widths as a flex item's min-content width. */
html body.dh-collage-v32.dhcs-hotel-page :is(.hero-shell,.hero-grid,.media-card,.hero-media,.hero-image-button,.summary-card,.dh9-rate-overview,.content-grid,.availability-card,.availability-wrap){min-width:0!important;max-width:100%!important}
html body.dh-collage-v32.dhcs-hotel-page .hero-grid{width:min(1280px,calc(100% - 36px))!important;min-width:0!important;max-width:100%!important;margin-inline:auto!important}
html body.dh-collage-v32.dhcs-hotel-page .hero-grid>.media-card,
html body.dh-collage-v32.dhcs-hotel-page .hero-grid>.summary-card,
html body.dh-collage-v32.dhcs-hotel-page .hero-grid>.dh9-rate-overview{min-width:0!important;width:100%!important;max-width:100%!important;justify-self:stretch!important}
html body.dh-collage-v32.dhcs-hotel-page .hero-media{width:100%!important;overflow:hidden!important}
html body.dh-collage-v32.dhcs-hotel-page .hero-media .hero-image-button,
html body.dh-collage-v32.dhcs-hotel-page .hero-media #heroImage{width:100%!important;max-width:100%!important;height:100%!important;min-width:0!important;object-fit:cover!important}
html body.dh-collage-v32.dhcs-hotel-page .thumbs{display:flex!important;flex-wrap:nowrap!important;min-width:0!important;max-width:100%!important;width:100%!important;overflow-x:auto!important;overscroll-behavior-x:contain;scrollbar-width:thin;gap:8px!important;padding:9px!important}
html body.dh-collage-v32.dhcs-hotel-page .thumbs>button{flex:0 0 78px!important;min-width:0!important;max-width:78px!important;height:56px!important;margin:0!important}
html body.dh-collage-v32.dhcs-hotel-page .thumbs>button>img{width:100%!important;height:100%!important;object-fit:cover!important}
html body.dh-collage-v32.dhcs-hotel-page .summary-card :is(h1,.lead,.location){overflow-wrap:anywhere!important;max-width:100%!important}
html body.dh-collage-v32.dhcs-hotel-page .dh-ref-availability-anchor{display:block!important;width:min(1280px,calc(100% - 36px))!important;max-width:100%!important;margin:10px auto!important;padding:16px 0 4px!important}
html body.dh-collage-v32.dhcs-hotel-page .dh-ref-availability-anchor h2{display:block!important;font-size:23px!important;line-height:1.22!important;letter-spacing:-.025em!important;font-weight:850!important;color:#102d4a!important;margin:0 0 6px!important}
html body.dh-collage-v32.dhcs-hotel-page .dh-ref-availability-anchor p{display:block!important;font-size:12px!important;line-height:1.5!important;font-weight:400!important;color:#637d8d!important;margin:0!important}

/* Prices and call-to-action have their own lines, never collide. */
html body.dh-collage-v32.dhcs-hotel-page .room-group-gallery{display:block!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;padding:10px 13px!important}
html body.dh-collage-v32.dhcs-hotel-page .room-group-gallery-label{display:block!important;width:100%!important;margin:0 0 8px!important;line-height:1.3!important}
html body.dh-collage-v32.dhcs-hotel-page .room-group-gallery .room-media-strip{width:100%!important;max-width:100%!important;display:flex!important;min-width:0!important;overflow-x:auto!important;gap:9px!important;padding:0 0 6px!important}
html body.dh-collage-v32.dhcs-hotel-page .room-group{min-width:0!important;max-width:100%!important}
html body.dh-collage-v32.dhcs-hotel-page .rate-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important;min-width:0!important;max-width:100%!important}
html body.dh-collage-v32.dhcs-hotel-page .rate-card{display:grid!important;grid-template-columns:minmax(0,1fr) 142px!important;align-items:center!important;gap:15px!important;min-width:0!important;padding:14px!important;overflow:hidden!important}
html body.dh-collage-v32.dhcs-hotel-page .rate-card>div:first-child{min-width:0!important;max-width:100%!important;overflow-wrap:anywhere!important}
html body.dh-collage-v32.dhcs-hotel-page .rate-price{display:flex!important;flex-direction:column!important;align-items:flex-end!important;justify-content:center!important;gap:6px!important;min-width:0!important;width:142px!important;max-width:100%!important;text-align:right!important}
html body.dh-collage-v32.dhcs-hotel-page .rate-price>span{display:block!important;font-size:10px!important;line-height:1.2!important;margin:0!important}
html body.dh-collage-v32.dhcs-hotel-page .rate-price>strong{display:block!important;font-size:20px!important;line-height:1.16!important;white-space:nowrap!important;margin:0!important}
html body.dh-collage-v32.dhcs-hotel-page .rate-price>.rate-book-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:normal!important;max-width:100%!important;min-width:128px!important;width:auto!important;min-height:37px!important;margin:0!important;padding:9px 12px!important;line-height:1.25!important}
html body.dh-collage-v32.dhcs-hotel-page .room-row>.room-age-field[hidden]{display:none!important}
html body.dh-collage-v32.dhcs-hotel-page .room-row{min-width:0!important;max-width:100%!important}
html body.dh-collage-v32.dhcs-hotel-page .room-row .room-age-field:not([hidden]){grid-column:1/-1!important}
html body.dh-collage-v32.dhcs-hotel-page .room-row .room-age-field .child-ages{display:flex;flex-wrap:wrap;gap:9px}
html body.dh-collage-v32.dhcs-hotel-page .form-grid>.field{min-width:0!important}
html body.dh-collage-v32.dhcs-hotel-page .form-grid :is(input,select){width:100%!important;max-width:100%!important;min-width:0!important}

/* Density changes at standard tablet and mobile sizes. */
@media(max-width:1090px){
 html body.dh-collage-v32.dhcs-hotel-page .rate-grid{grid-template-columns:1fr!important}
 html body.dh-collage-v32.dhcs-hotel-page .rate-card{grid-template-columns:minmax(0,1fr) 142px!important}
}
@media(max-width:760px){
 html body.dh-collage-v32.dh-studio-home .dh-collage-advanced>.dh-search-advanced-fields{grid-template-columns:1fr!important}
 html body.dh-collage-v32.dh-studio-home .live-search-grid{gap:11px!important}
 html body.dh-collage-v32.dh-studio-home .dh-collage-date-field input[type=date]{height:47px!important;min-height:47px!important;line-height:normal!important;font-size:12px!important;padding:0 9px!important}
 html body.dh-collage-v32.dhcs-hotel-page .hero-grid{display:flex!important;flex-direction:column!important;width:calc(100% - 26px)!important;max-width:calc(100% - 26px)!important;min-width:0!important;margin:0 auto!important;gap:12px!important}
 html body.dh-collage-v32.dhcs-hotel-page .hero-grid>.media-card,
 html body.dh-collage-v32.dhcs-hotel-page .hero-grid>.summary-card,
 html body.dh-collage-v32.dhcs-hotel-page .hero-grid>.dh9-rate-overview{flex:0 0 auto!important;min-width:0!important;max-width:100%!important;width:100%!important}
 html body.dh-collage-v32.dhcs-hotel-page .hero-media{width:100%!important;height:228px!important;max-width:100%!important;aspect-ratio:auto!important}
 html body.dh-collage-v32.dhcs-hotel-page .hero-media img{max-width:100%!important}
 html body.dh-collage-v32.dhcs-hotel-page .thumbs{max-width:100%!important;overflow-x:auto!important}
 html body.dh-collage-v32.dhcs-hotel-page .summary-card{padding:13px!important}
 html body.dh-collage-v32.dhcs-hotel-page .dh-ref-availability-anchor{width:calc(100% - 26px)!important;max-width:calc(100% - 26px)!important;padding:12px 0 4px!important}
 html body.dh-collage-v32.dhcs-hotel-page .dh-ref-availability-anchor h2{font-size:20px!important}
 html body.dh-collage-v32.dhcs-hotel-page .availability-wrap>.wrap{min-width:0!important;width:calc(100% - 26px)!important;max-width:calc(100% - 26px)!important}
 html body.dh-collage-v32.dhcs-hotel-page .availability-card{min-width:0!important;width:100%!important;padding:12px!important}
 html body.dh-collage-v32.dhcs-hotel-page .rate-grid{grid-template-columns:minmax(0,1fr)!important;gap:9px!important;padding:9px!important}
 html body.dh-collage-v32.dhcs-hotel-page .rate-card{grid-template-columns:minmax(0,1fr)!important;gap:10px!important;padding:12px!important}
 html body.dh-collage-v32.dhcs-hotel-page .rate-price{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;column-gap:10px!important;row-gap:4px!important;align-items:end!important;justify-items:start!important;width:100%!important;max-width:100%!important;min-width:0!important;border-top:1px solid #e5eef2!important;padding:11px 0 0!important;text-align:left!important}
 html body.dh-collage-v32.dhcs-hotel-page .rate-price>span{grid-column:1!important;grid-row:1!important;text-align:left!important}
 html body.dh-collage-v32.dhcs-hotel-page .rate-price>strong{grid-column:1!important;grid-row:2!important;text-align:left!important;font-size:20px!important}
 html body.dh-collage-v32.dhcs-hotel-page .rate-price>.rate-book-btn{grid-column:2!important;grid-row:1/3!important;min-width:115px!important;max-width:138px!important;font-size:11px!important;align-self:center!important;justify-self:end!important}
 html body.dh-collage-v32.dhcs-hotel-page .room-group-gallery{padding:10px!important}
 html body.dh-collage-v32.dhcs-hotel-page .room-group-gallery .room-image-open{flex:0 0 96px!important;height:70px!important}
 html body.dh-collage-v32.dhcs-hotel-page .form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 html body.dh-collage-v32.dhcs-hotel-page .form-grid>.field:nth-child(n+3){grid-column:1/-1!important}
 html body.dh-collage-v32.dhcs-hotel-page .room-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 html body.dh-collage-v32.dhcs-hotel-page .room-row .room-age-field:not([hidden]){grid-column:1/-1!important}
 html body.dh-collage-v32.dhcs-hotel-page .room-row .field{min-width:0!important}
 html body.dh-collage-v32.dhcs-hotel-page .room-row .field :is(select,input){width:100%!important;min-width:0!important}
}
@media(max-width:375px){
 html body.dh-collage-v32.dh-studio-home .dh-collage-date-field input[type=date]{font-size:11px!important;padding:0 5px!important}
 html body.dh-collage-v32.dhcs-hotel-page .rate-price>.rate-book-btn{max-width:123px!important;min-width:110px!important;padding:8px!important}
}

/* Attraction-result heading: preserve search sort listeners while restoring
   padding and an independent type block on every viewport. */
html body.dh-collage-v32 .location-results-head:has(.attraction-result-head-tools){
 display:flex!important;flex-wrap:wrap!important;align-items:center!important;
 justify-content:space-between!important;gap:14px!important;min-width:0!important;
 width:100%!important;max-width:100%!important;border-radius:12px!important;
 background:#153d48!important;color:white!important;padding:15px 18px!important;margin:14px 0 12px!important
}
html body.dh-collage-v32 .location-results-head:has(.attraction-result-head-tools)>div:first-child{flex:1 1 260px;min-width:0!important;max-width:100%!important}
html body.dh-collage-v32 .location-results-head:has(.attraction-result-head-tools) :is(.location-results-kicker,h3,p){
 display:block!important;position:static!important;margin:0 0 5px!important;padding:0!important;
 text-align:left!important;white-space:normal!important;overflow-wrap:anywhere!important;color:#fff!important
}
html body.dh-collage-v32 .location-results-head:has(.attraction-result-head-tools) .location-results-kicker{font-size:12px!important;font-weight:650!important;opacity:.8}
html body.dh-collage-v32 .location-results-head:has(.attraction-result-head-tools) h3{font-size:20px!important;line-height:1.25!important;font-weight:820!important}
html body.dh-collage-v32 .location-results-head:has(.attraction-result-head-tools) p{font-size:12px!important;line-height:1.4!important;opacity:.85}
html body.dh-collage-v32 .attraction-result-head-tools{flex:0 1 205px!important;min-width:0!important;max-width:100%!important}
html body.dh-collage-v32 .attraction-result-sort{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;min-width:0!important;color:#fff!important;font-size:11px!important;font-weight:750!important;line-height:1.3!important;text-transform:none!important}
html body.dh-collage-v32 .attraction-result-sort select{width:100%!important;min-width:0!important;max-width:100%!important;min-height:41px!important;padding:8px 11px!important;border:1px solid #dae9ed!important;border-radius:8px!important;background:#fff!important;color:#1c4053!important;font-size:12px!important}
@media(max-width:760px){
 html body.dh-collage-v32 .location-results-head:has(.attraction-result-head-tools){display:block!important;padding:14px!important}
 html body.dh-collage-v32 .attraction-result-head-tools{width:100%!important;margin-top:12px!important}
}

/* ======================================================================
   COLLAGE 3.3 - HOTEL GALLERY + CITY CARD + EMPTY RATE STATE
   Applied to the actual supplier templates, not fake/duplicate result cards.
   ====================================================================== */
html body.dh-collage-v33{overflow-x:clip}
html body.dh-collage-v33 .media-card{min-width:0!important;max-width:100%!important}
html body.dh-collage-v33.dhcs-hotel-page .hero-media{position:relative!important;isolation:isolate;overflow:hidden!important;max-width:100%!important;min-width:0!important}
html body.dh-collage-v33.dhcs-hotel-page .hero-media .hero-image-button{width:100%!important;height:100%!important;min-width:0!important;max-width:100%!important}
html body.dh-collage-v33.dhcs-hotel-page .hero-media #heroImage{width:100%!important;height:100%!important;max-width:100%!important;object-fit:cover!important}
html body.dh-collage-v33 .dh33-gallery-arrow{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;z-index:4!important;display:grid!important;place-items:center!important;width:42px!important;height:42px!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.85)!important;background:rgba(255,255,255,.96)!important;color:#19364f!important;box-shadow:0 4px 18px rgba(11,45,57,.2)!important;cursor:pointer!important;transition:background .18s,transform .18s!important;padding:0!important;line-height:1!important}
html body.dh-collage-v33 .dh33-gallery-arrow span{display:block!important;font-size:36px!important;font-weight:450!important;line-height:.8!important;margin-top:-3px!important}
html body.dh-collage-v33 .dh33-gallery-prev{left:13px!important}
html body.dh-collage-v33 .dh33-gallery-next{right:13px!important}
html body.dh-collage-v33 .dh33-gallery-arrow:is(:focus-visible,:hover){background:#e6f9fc!important;outline:3px solid #49b5c8!important;outline-offset:2px!important}
html body.dh-collage-v33 .dh33-gallery-counter{position:absolute!important;right:12px!important;bottom:12px!important;z-index:4!important;padding:5px 10px!important;border-radius:20px!important;color:white!important;background:rgba(15,44,56,.76)!important;font-size:12px!important;font-weight:750!important;pointer-events:none!important;line-height:1.3!important}
html body.dh-collage-v33 .thumbs{max-width:100%!important;min-width:0!important;overflow-x:auto!important;overscroll-behavior-inline:contain!important;scroll-snap-type:x proximity}
html body.dh-collage-v33 .thumbs button{scroll-snap-align:start}
html body.dh-collage-v33 .thumbs button:focus-visible{outline:3px solid #0083a0!important;outline-offset:-3px!important}
/* No-rates pages should not pretend a price has been returned. */
html body.dh-collage-v33.dhcs-hotel-page .dh9-rate-overview{min-width:0!important;max-width:100%!important;box-sizing:border-box!important;overflow:hidden!important}
html body.dh-collage-v33.dhcs-hotel-page.dh33-no-rates .dh9-rate-overview{display:flex!important;flex-direction:column!important;gap:11px!important;justify-content:flex-start!important;align-items:stretch!important;padding:19px!important;min-height:0!important}
html body.dh-collage-v33.dhcs-hotel-page.dh33-no-rates .dh9-rate-from{margin:0!important;padding:4px 0 6px!important;min-height:0!important;max-width:100%!important}
html body.dh-collage-v33.dhcs-hotel-page.dh33-no-rates .dh9-rate-from>span{display:none!important}
html body.dh-collage-v33.dhcs-hotel-page.dh33-no-rates #dh9LiveFromPrice{font-size:20px!important;font-weight:800!important;line-height:1.2!important;white-space:normal!important;color:#12324e!important;overflow-wrap:break-word!important}
html body.dh-collage-v33.dhcs-hotel-page.dh33-no-rates #dh9LivePriceNote{font-size:13px!important;line-height:1.5!important;color:#577080!important;margin:6px 0 0!important}
html body.dh-collage-v33.dhcs-hotel-page.dh33-no-rates .dh9-rate-teasers,
html body.dh-collage-v33.dhcs-hotel-page.dh33-no-rates .dh9-all-rates-link{display:none!important}
html body.dh-collage-v33.dhcs-hotel-page.dh33-no-rates .dh9-rate-primary{width:100%!important;max-width:100%!important;min-width:0!important;min-height:44px!important;margin:0!important;white-space:normal!important;line-height:1.3!important;text-align:center!important}
html body.dh-collage-v33.dhcs-hotel-page.dh33-no-rates .dh9-rate-policy{width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;min-height:42px!important}
html body.dh-collage-v33.dhcs-hotel-page .dh-ref-availability-anchor{display:block!important;min-width:0!important;max-width:100%!important;margin:0 auto!important}
html body.dh-collage-v33.dhcs-hotel-page .dh-ref-availability-anchor h2{display:block!important;font-size:clamp(20px,2.1vw,27px)!important;line-height:1.25!important;margin:0 0 6px!important;letter-spacing:-.02em!important}
html body.dh-collage-v33.dhcs-hotel-page .dh-ref-availability-anchor p{display:block!important;position:static!important;margin:0!important;font-size:13px!important;line-height:1.55!important;color:#5a7080!important}
html body.dh-collage-v33 .dh33-rates-empty{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:14px!important;max-width:100%!important;padding:18px!important;border:1px solid #d7e6ec!important;border-radius:14px!important;background:#f6fbfc!important;margin:16px 0!important;color:#415e6c!important;font-size:14px!important;line-height:1.5!important}
html body.dh-collage-v33 .dh33-rates-empty p{margin:0!important;max-width:60ch!important;line-height:1.5!important}
html body.dh-collage-v33 .dh33-rates-empty .btn{max-width:100%!important;min-height:42px!important;padding:10px 16px!important}
/* Keep the city guides for SEO and users without pushing live search below the fold. */
html body.dh-collage-v33.city-hotels .seo-collection-nav{margin:0 auto!important;padding:6px 0 12px!important}
html body.dh-collage-v33.city-hotels .dh33-guide-details{border:1px solid #dce9ed!important;border-radius:13px!important;background:#f7fcfd!important;overflow:hidden!important}
html body.dh-collage-v33.city-hotels .dh33-guide-details>summary{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:12px 15px!important;min-height:46px!important;cursor:pointer!important;color:#174756!important;font-size:13px!important;font-weight:800!important;list-style:none!important}
html body.dh-collage-v33.city-hotels .dh33-guide-details>summary::-webkit-details-marker{display:none!important}
html body.dh-collage-v33.city-hotels .dh33-guide-details>summary:after{content:'+';font-size:22px;font-weight:500;color:#07839d}
html body.dh-collage-v33.city-hotels .dh33-guide-details[open]>summary:after{content:'-'}
html body.dh-collage-v33.city-hotels .dh33-guide-details .seo-collection-box{border:0!important;border-top:1px solid #dae9ec!important;border-radius:0!important;padding:12px!important;margin:0!important}
/* Preserve a compact desktop filter column, with cards that can grow. */
html body.dh-collage-v33.city-hotels .dh-ref-city-layout.is-hotel-results{min-width:0!important}
html body.dh-collage-v33.city-hotels #cityResultGrid{min-width:0!important;max-width:100%!important}
html body.dh-collage-v33.city-hotels #cityResultGrid>.card{box-sizing:border-box!important;min-width:0!important;max-width:100%!important}
@media(max-width:760px){
 html body.dh-collage-v33.dhcs-hotel-page .hero-grid{display:flex!important;flex-direction:column!important;width:calc(100% - 26px)!important;max-width:calc(100% - 26px)!important;gap:13px!important;min-width:0!important}
 html body.dh-collage-v33.dhcs-hotel-page .hero-grid>.media-card,
 html body.dh-collage-v33.dhcs-hotel-page .hero-grid>.summary-card,
 html body.dh-collage-v33.dhcs-hotel-page .hero-grid>.dh9-rate-overview{width:100%!important;min-width:0!important;max-width:100%!important;flex:0 0 auto!important;margin:0!important}
 html body.dh-collage-v33 .dh33-gallery-arrow{width:38px!important;height:38px!important}
 html body.dh-collage-v33 .dh33-gallery-prev{left:9px!important}
 html body.dh-collage-v33 .dh33-gallery-next{right:9px!important}
 html body.dh-collage-v33.dhcs-hotel-page .hero-media{height:240px!important;max-width:100%!important;touch-action:pan-y}
 html body.dh-collage-v33.dhcs-hotel-page .hero-media #heroImage{object-fit:cover!important;max-width:100%!important}
 /* Each mobile city hotel is a PHOTO-FIRST card, not a 116px thumbnail and empty space. */
 html body.dh-collage-v33.dh-studio-v10.dhopt2-city.city-hotels .dh-v8-browse #cityResultGrid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;width:100%!important;max-width:100%!important;min-width:0!important}
 html body.dh-collage-v33.dh-studio-v10.dhopt2-city.city-hotels .dh-v8-browse #cityResultGrid>.card{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;grid-template-rows:none!important;align-items:stretch!important;gap:0!important;min-width:0!important;width:100%!important;max-width:100%!important;min-height:0!important;margin:0!important;border:1px solid #e0e9ec!important;border-radius:16px!important;background:#fff!important;box-shadow:0 3px 12px rgba(24,68,82,.06)!important;overflow:hidden!important}
 html body.dh-collage-v33.dh-studio-v10.dhopt2-city.city-hotels .dh-v8-browse #cityResultGrid>.card>.card-media{display:block!important;grid-column:auto!important;grid-row:auto!important;flex:0 0 auto!important;width:100%!important;min-width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:16/9!important;overflow:hidden!important;border-radius:0!important}
 html body.dh-collage-v33.dh-studio-v10.dhopt2-city.city-hotels .dh-v8-browse #cityResultGrid>.card>.card-media>img{display:block!important;width:100%!important;min-width:100%!important;max-width:100%!important;height:100%!important;min-height:0!important;object-fit:cover!important;object-position:center!important;aspect-ratio:16/9!important}
 html body.dh-collage-v33.dh-studio-v10.dhopt2-city.city-hotels .dh-v8-browse #cityResultGrid>.card>.card-body{display:flex!important;flex-direction:column!important;gap:7px!important;grid-column:auto!important;grid-row:auto!important;flex:1 1 auto!important;width:100%!important;min-width:0!important;max-width:100%!important;padding:15px!important;box-sizing:border-box!important}
 html body.dh-collage-v33.dh-studio-v10.dhopt2-city.city-hotels #cityResultGrid>.card h3{margin:1px 0 0!important;font-size:17px!important;line-height:1.3!important;white-space:normal!important;overflow-wrap:break-word!important;color:#153850!important}
 html body.dh-collage-v33.dh-studio-v10.dhopt2-city.city-hotels #cityResultGrid>.card .hotel-address{font-size:13px!important;line-height:1.45!important;max-height:none!important;min-height:0!important;-webkit-line-clamp:2!important}
 html body.dh-collage-v33.dh-studio-v10.dhopt2-city.city-hotels #cityResultGrid>.card .hotel-live-panel{display:flex!important;flex-direction:column!important;gap:5px!important;padding:10px 0 0!important;border:0!important;border-top:1px solid #ebf0f2!important;border-radius:0!important;margin:8px 0 0!important;min-height:0!important;min-width:0!important;width:100%!important;max-width:100%!important;background:transparent!important}
 html body.dh-collage-v33.dh-studio-v10.dhopt2-city.city-hotels #cityResultGrid>.card .hotel-card-actions{display:block!important;width:100%!important;max-width:100%!important;margin:7px 0 0!important}
 html body.dh-collage-v33.dh-studio-v10.dhopt2-city.city-hotels #cityResultGrid>.card .hotel-card-actions>.btn{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;max-width:100%!important;min-height:43px!important;background:#0084a0!important;border:0!important;border-radius:10px!important;color:white!important;font-weight:750!important;font-size:13px!important;text-align:center!important;padding:10px!important}
 html body.dh-collage-v33.dh-studio-v10.dhopt2-city.city-hotels .hero-box{padding:22px!important;min-height:0!important}
 html body.dh-collage-v33.dh-studio-v10.dhopt2-city.city-hotels .hero-box h1{font-size:28px!important;line-height:1.2!important;white-space:normal!important;color:#143850!important}
}
