/* Destination Hub Collage 3.5 — city photos, functional filters, room and ticket controls */
:root{--dh35-teal:#007e96;--dh35-deep:#103848;--dh35-ink:#102d4a;--dh35-line:#d9e8ee}
html body.dh-collage-v35{overflow-x:clip}
html body.dh-collage-v35 :is(button,input,select,textarea){font-family:inherit}
html body.dh-collage-v35 [hidden]{display:none!important}
html body.dh-collage-v35 .screen-reader-text:not(:focus):not(:active){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;overflow:hidden!important;border:0!important}

/* The same readable, photographic destination hero serves hotel and attraction cities. */
html body.dh-collage-v35.dhopt2-city .hero.dh35-city-hero{display:flex!important;align-items:center!important;position:relative!important;isolation:isolate!important;min-height:280px!important;padding:35px 0!important;background:linear-gradient(112deg,#0b5c75,#137c8e)!important;overflow:hidden!important;color:#fff!important;margin:0!important;border-radius:0!important}
html body.dh-collage-v35.dhopt2-city .dh35-city-hero-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;z-index:-2!important;max-width:none!important}
html body.dh-collage-v35.dhopt2-city .hero.dh35-city-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(92deg,rgba(0,34,53,.87),rgba(0,59,79,.51) 65%,rgba(0,38,60,.18))}
html body.dh-collage-v35.dhopt2-city .dh35-city-hero>.wrap{width:min(1250px,calc(100% - 48px))!important;max-width:1250px!important;margin:auto!important;position:relative!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:25px!important;z-index:1!important}
html body.dh-collage-v35.dhopt2-city .dh35-city-hero-content{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:10px!important;max-width:760px!important;min-width:0!important}
html body.dh-collage-v35.dhopt2-city .dh35-city-hero-content :is(h1,.lead,.kicker){color:#fff!important;text-shadow:0 1px 10px rgba(0,19,27,.36)!important;margin:0!important;opacity:1!important;visibility:visible!important}
html body.dh-collage-v35.dhopt2-city .dh35-city-hero-content h1{font-size:clamp(29px,4vw,52px)!important;line-height:1.08!important;font-weight:850!important;letter-spacing:-.035em!important}
html body.dh-collage-v35.dhopt2-city .dh35-city-hero-content .lead{font-size:clamp(14px,1.5vw,17px)!important;line-height:1.5!important;max-width:640px!important}
html body.dh-collage-v35.dhopt2-city .dh35-city-hero-content .kicker{font-size:12px!important;color:#cdf7fb!important;letter-spacing:.07em!important}
html body.dh-collage-v35.dhopt2-city .dh35-city-hero .btn{box-shadow:none!important;background:#fff!important;color:#075a70!important;border:1px solid rgba(255,255,255,.6)!important;padding:10px 16px!important;border-radius:10px!important;min-height:42px!important;font-size:13px!important}
html body.dh-collage-v35.dhopt2-city .dh35-city-hero-count{display:grid!important;gap:6px!important;flex:0 0 180px!important;padding:18px!important;background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.35)!important;border-radius:15px!important;backdrop-filter:blur(8px)!important;text-align:center!important;color:#fff!important}
html body.dh-collage-v35.dhopt2-city .dh35-city-hero-count strong{font-size:34px!important;line-height:1.1!important;color:#fff!important}
html body.dh-collage-v35.dhopt2-city .dh35-city-hero-count span{font-size:12px!important;line-height:1.4!important;color:#fff!important}
html body.dh-collage-v35.dhopt2-city .dh35-photo-credit{position:absolute!important;bottom:6px!important;right:18px!important;z-index:2!important;color:#fff!important;font-size:10px!important;text-shadow:0 1px 6px #000!important;opacity:.83!important}
/* City date search is a separate white, legible panel rather than dim controls on pale teal. */
html body.dh-collage-v35.dhopt2-city .search-strip{background:#f4fbfd!important;padding:20px 0!important}
html body.dh-collage-v35.dhopt2-city .search-card{max-width:1240px!important;width:100%!important;background:#fff!important;border:1px solid var(--dh35-line)!important;box-shadow:0 10px 32px rgba(18,66,83,.07)!important;padding:18px!important;border-radius:16px!important;align-items:end!important}
html body.dh-collage-v35.dhopt2-city .search-card :is(input,select){font-size:14px!important;min-height:47px!important;width:100%!important;border:1px solid #d3e3e9!important;border-radius:10px!important;background:#fff!important;color:#173d50!important}
html body.dh-collage-v35.dhopt2-city .search-card .btn{min-height:47px!important;border-radius:10px!important;background:var(--dh35-teal)!important;color:#fff!important;box-shadow:none!important}
html body.dh-collage-v35.dhopt2-city .quick-date{color:#07536a!important;border:1px solid #cce2e7!important;background:#fff!important;border-radius:999px!important;font-weight:750!important;padding:7px 13px!important}
html body.dh-collage-v35.dhopt2-city .quick-dates{display:flex!important;gap:8px!important;margin:0 auto 12px!important;max-width:1240px!important;flex-wrap:wrap!important}

/* City hotel results: same clean horizontal cards as destination search. */
html body.dh-collage-v35.city-hotels .dh-ref-city-layout.is-hotel-results{display:grid!important;grid-template-columns:minmax(218px,245px) minmax(0,1fr)!important;gap:20px!important;width:min(1240px,calc(100% - 36px))!important;max-width:1240px!important;margin:26px auto 60px!important;align-items:start!important}
html body.dh-collage-v35.city-hotels .dh-ref-results-sidebar{position:sticky!important;top:94px!important;padding:0!important;border:0!important;box-shadow:none!important;max-width:100%!important;min-width:0!important;grid-column:1!important}
html body.dh-collage-v35.city-hotels .dh-v8-browse{grid-column:2!important;padding:0!important;margin:0!important;min-width:0!important}
html body.dh-collage-v35.city-hotels .dh-v8-browse .section-head{margin:0 0 16px!important;padding:0!important}
html body.dh-collage-v35.city-hotels .dh-v8-browse .section-head h2{margin:0 0 6px!important;font-size:clamp(22px,2vw,28px)!important;line-height:1.18!important}
html body.dh-collage-v35.city-hotels .dh-v8-browse .section-head p{margin:0!important;font-size:13px!important;line-height:1.5!important}
html body.dh-collage-v35.city-hotels .dh-v8-browse .grid{grid-template-columns:minmax(0,1fr)!important;gap:13px!important}
html body.dh-collage-v35.city-hotels .dh-v8-browse .card{display:grid!important;grid-template-columns:215px minmax(0,1fr)!important;grid-template-rows:auto!important;border-radius:13px!important;min-height:165px!important;max-width:100%!important;overflow:hidden!important}
html body.dh-collage-v35.city-hotels .dh-v8-browse .card-media{grid-column:1!important;grid-row:1!important;width:215px!important;min-height:165px!important;height:100%!important;max-width:none!important;aspect-ratio:auto!important}
html body.dh-collage-v35.city-hotels .dh-v8-browse .card-media img{height:100%!important;width:100%!important;max-width:100%!important;object-fit:cover!important}
html body.dh-collage-v35.city-hotels .dh-v8-browse .card-body{grid-column:2!important;grid-row:1!important;min-width:0!important;padding:15px 16px!important;display:flex!important;flex-direction:column!important;gap:5px!important}
html body.dh-collage-v35.city-hotels .dh-v8-browse .card h3{font-size:16px!important;line-height:1.28!important;margin:0!important}
html body.dh-collage-v35.city-hotels .dh-v8-browse .card .hotel-address{font-size:12px!important;line-height:1.35!important}
html body.dh-collage-v35.city-hotels .dh-v8-browse .card .hotel-live-panel{margin:5px 0 0!important;padding:0!important;background:transparent!important;border:none!important}
html body.dh-collage-v35.city-hotels .dh-v8-browse .card .hotel-card-actions{margin-top:auto!important;display:flex!important;justify-content:flex-end!important}
html body.dh-collage-v35.city-hotels .dh-v8-browse .card .hotel-card-actions .btn{font-size:12px!important;min-height:40px!important;border-radius:9px!important;padding:9px 18px!important;background:var(--dh35-teal)!important;color:#fff!important}
html body.dh-collage-v35.city-hotels .dh-v8-browse .card[hidden]{display:none!important}
html body.dh-collage-v35 .dh35-no-matches{border:1px dashed #c6e1e8;border-radius:14px;background:#f4fbfd;color:#41616b;text-align:center;padding:30px;font-size:14px}
/* City filter controls – one consistent structural interface for web and phone. */
html body.dh-collage-v35.city-hotels .dh35-filter-shell{display:block!important;max-width:100%!important;width:100%!important;border:1px solid var(--dh35-line)!important;border-radius:14px!important;background:#fff!important;margin:0!important;overflow:visible!important;box-shadow:0 8px 28px rgba(17,56,72,.06)!important}
html body.dh-collage-v35.city-hotels .dh35-filter-shell>summary{display:none!important}
html body.dh-collage-v35.city-hotels .dh35-filter-inner{display:block!important;padding:0 14px 12px!important;min-width:0!important}
html body.dh-collage-v35.city-hotels .dh35-filter-heading{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important;padding:16px 0!important;border-bottom:1px solid #e5edf1!important;margin-bottom:13px!important}
html body.dh-collage-v35.city-hotels .dh35-filter-heading>strong{color:var(--dh35-ink)!important;font-size:16px!important}
html body.dh-collage-v35.city-hotels #dh35FilterClose{display:none!important}
html body.dh-collage-v35.city-hotels .dh35-filter-controls{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:15px!important;min-width:0!important;padding:0!important;overflow:visible!important}
html body.dh-collage-v35.city-hotels .dh35-filter-controls>label,html body.dh-collage-v35.city-hotels .dh35-filter-fieldset{min-width:0!important;width:100%!important;max-width:100%!important;margin:0!important;grid-column:auto!important;font:inherit!important}
html body.dh-collage-v35.city-hotels .dh35-filter-fieldset{border:0!important;padding:0!important;display:grid!important;gap:5px!important}
html body.dh-collage-v35.city-hotels .dh35-filter-fieldset legend,html body.dh-collage-v35.city-hotels .dh35-filter-select>span{font-size:12px!important;font-weight:850!important;letter-spacing:.02em!important;color:#183a51!important;margin:0 0 7px!important;padding:0!important;line-height:1.5!important}
html body.dh-collage-v35.city-hotels .dh35-check-row{display:flex!important;align-items:center!important;gap:9px!important;font-size:13px!important;color:#38556a!important;padding:6px 2px!important;font-weight:600!important;line-height:1.35!important;cursor:pointer!important;max-width:100%!important}
html body.dh-collage-v35.city-hotels .dh35-check-row input{appearance:auto!important;-webkit-appearance:checkbox!important;flex:0 0 17px!important;width:17px!important;height:17px!important;accent-color:var(--dh35-teal)!important;margin:0!important;min-height:0!important}
html body.dh-collage-v35.city-hotels .dh35-stars{color:#f0a31d!important;letter-spacing:2px!important;white-space:nowrap!important}
html body.dh-collage-v35.city-hotels .dh35-filter-select{display:grid!important;gap:4px!important}
html body.dh-collage-v35.city-hotels .dh35-filter-select select{min-height:42px!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:8px 11px!important;border:1px solid #d7e6eb!important;border-radius:9px!important;background:#fff!important;color:#183b51!important;font-size:12px!important;box-shadow:none!important}
html body.dh-collage-v35.city-hotels .dh35-filter-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;padding:17px 0 0!important;position:static!important;background:#fff!important}
html body.dh-collage-v35.city-hotels .dh35-filter-actions>button{min-height:42px!important;border-radius:9px!important;font-size:12px!important;font-weight:800!important;cursor:pointer!important}
html body.dh-collage-v35.city-hotels #dh35ClearFilters{background:#fff!important;border:1px solid #c8dfe7!important;color:#17657c!important}
html body.dh-collage-v35.city-hotels #dhFilterDone{background:var(--dh35-teal)!important;color:#fff!important;border:0!important}
/* Hotel city filter drawer must not compete with the independent live-search drawer. */
html body.dh-collage-v35.city-hotels .dh35-filter-shell[open] .dh35-filter-inner{display:block!important}
/* Rooms: show exactly two per group until users explicitly expand. */
html body.dh-collage-v35.dhcs-hotel-page .room-group:not(.dh-rates-expanded) .rate-grid>.rate-card.dh35-collapsed-rate{display:none!important}
html body.dh-collage-v35.dhcs-hotel-page .room-group.dh-rates-expanded .rate-grid>.rate-card.dh35-collapsed-rate{display:grid!important}
html body.dh-collage-v35.dhcs-hotel-page .dh-ref-availability-anchor{box-sizing:border-box!important;width:min(1312px,calc(100% - 38px))!important;max-width:1312px!important;margin:28px auto 0!important;padding:0 0 14px!important;display:flex!important;flex-direction:column!important;gap:6px!important;min-width:0!important}
html body.dh-collage-v35.dhcs-hotel-page .dh-ref-availability-anchor h2{font-size:clamp(24px,3vw,32px)!important;line-height:1.2!important;font-weight:850!important;letter-spacing:-.025em!important;color:var(--dh35-ink)!important;margin:0!important}
html body.dh-collage-v35.dhcs-hotel-page .dh-ref-availability-anchor p{margin:0!important;font-size:14px!important;line-height:1.5!important;color:#597282!important;display:block!important}
html body.dh-collage-v35.dhcs-hotel-page .availability-head{margin:0 0 17px!important;padding:0!important}
html body.dh-collage-v35.dhcs-hotel-page .availability-head h2{margin:5px 0 6px!important;font-size:clamp(21px,2vw,27px)!important;line-height:1.2!important}
html body.dh-collage-v35.dhcs-hotel-page .availability-head p{display:block!important;margin:0!important;font-size:13px!important;line-height:1.45!important}
html body.dh-collage-v35.dhcs-hotel-page .dh-show-room-rates{appearance:none!important;-webkit-appearance:none!important;display:inline-flex!important;justify-content:center!important;align-items:center!important;gap:8px!important;min-height:40px!important;max-width:100%!important;border:1px solid #a9d7e1!important;background:#f8fdff!important;color:#006880!important;font-weight:800!important;font-size:13px!important;padding:10px 18px!important;border-radius:10px!important;cursor:pointer!important;box-shadow:none!important}
html body.dh-collage-v35.dhcs-hotel-page .rate-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
html body.dh-collage-v35.dhcs-hotel-page .rate-card{min-width:0!important;min-height:0!important;gap:12px!important;align-items:center!important;grid-template-columns:minmax(0,1fr) auto!important}
html body.dh-collage-v35.dhcs-hotel-page .rate-card .rate-price{min-width:134px!important;max-width:100%!important;display:grid!important;justify-items:end!important;gap:4px!important;text-align:right!important}
html body.dh-collage-v35.dhcs-hotel-page .rate-card .rate-price strong{font-size:clamp(18px,2vw,24px)!important;line-height:1.2!important}
html body.dh-collage-v35.dhcs-hotel-page .rate-card .rate-book-btn{min-height:40px!important;white-space:normal!important;border-radius:9px!important;padding:8px 12px!important;font-size:13px!important}
/* Attraction Bókun ticket quantity steps use the same design as booking buttons. */
html body.dh-collage-v35 #attractionTicketUnitRows{display:grid!important;gap:11px!important;margin:14px 0!important}
html body.dh-collage-v35 .attraction-ticket-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:15px!important;padding:14px 17px!important;border-radius:13px!important;border:1px solid #dbe8ee!important;background:#fff!important;min-height:72px!important}
html body.dh-collage-v35 .attraction-ticket-copy{min-width:0!important;flex:1!important}
html body.dh-collage-v35 .attraction-ticket-copy strong{font-size:15px!important;line-height:1.4!important;overflow-wrap:anywhere!important}
html body.dh-collage-v35 .attraction-ticket-stepper{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;padding:5px!important;background:#f1f9fb!important;border:1px solid #d3e5eb!important;border-radius:11px!important;flex:none!important}
html body.dh-collage-v35 .attraction-ticket-stepper button{box-sizing:border-box!important;appearance:none!important;-webkit-appearance:none!important;width:40px!important;height:40px!important;min-height:40px!important;min-width:40px!important;display:grid!important;place-items:center!important;padding:0!important;border-radius:8px!important;background:#fff!important;border:1px solid #cfe4e9!important;color:var(--dh35-teal)!important;font-size:23px!important;font-weight:800!important;line-height:1!important;cursor:pointer!important;box-shadow:none!important}
html body.dh-collage-v35 .attraction-ticket-stepper button:focus-visible{outline:3px solid #78d9e6!important;outline-offset:1px!important}
html body.dh-collage-v35 .attraction-ticket-stepper button:disabled{opacity:.4!important;cursor:not-allowed!important}
html body.dh-collage-v35 .attraction-ticket-stepper strong{display:block!important;text-align:center!important;min-width:22px!important;font-variant-numeric:tabular-nums!important;color:#193c51!important;font-size:16px!important}
/* City attractions – legible card galleries and date/sort controls. */
html body.dh-collage-v35.city-attractions .dh-v8-browse .section-head h2{margin:0 0 7px!important;line-height:1.2!important;font-size:clamp(23px,2.7vw,32px)!important}
html body.dh-collage-v35.city-attractions .dh-v8-browse .section-head p{margin:0!important;font-size:14px!important;line-height:1.5!important}
html body.dh-collage-v35.city-attractions .attraction-toolbar-wrap{padding:15px 0!important;border:0!important;background:#f5fbfc!important}
html body.dh-collage-v35.city-attractions .attraction-toolbar{display:flex!important;align-items:end!important;gap:12px!important;flex-wrap:wrap!important;max-width:1240px!important;margin:auto!important}
html body.dh-collage-v35.city-attractions .attraction-toolbar label{display:grid!important;gap:6px!important;min-width:180px!important;font-size:12px!important;color:#254457!important;font-weight:800!important}
html body.dh-collage-v35.city-attractions .attraction-toolbar select{min-height:42px!important;padding:7px 11px!important;border-radius:9px!important;border:1px solid #cadfe6!important}
html body.dh-collage-v35.city-attractions .dh-v8-browse .card-media img{object-fit:cover!important;width:100%!important;height:100%!important}
/* Common results banner: avoid the old edge-flush city and date lines. */
html body.dh-collage-v35 .location-results-head{box-sizing:border-box!important;padding:22px 26px!important;border-radius:15px!important;min-height:110px!important;background:#123e4a!important;display:flex!important;align-items:center!important;overflow:hidden!important}
html body.dh-collage-v35 .location-results-head>div{min-width:0!important;display:grid!important;gap:4px!important}
html body.dh-collage-v35 .location-results-head .result-kicker{display:block!important;margin:0!important;font-size:12px!important;font-weight:900!important;letter-spacing:.07em!important;color:#cbeef3!important;text-transform:uppercase!important;line-height:1.4!important}
html body.dh-collage-v35 .location-results-head h3{font-size:clamp(23px,2.8vw,29px)!important;color:#fff!important;line-height:1.16!important;margin:0!important;letter-spacing:-.02em!important}
html body.dh-collage-v35 .location-results-head p{color:#d6edf0!important;font-size:13px!important;line-height:1.4!important;margin:0!important;white-space:normal!important}
/* Live-search filter sheet shares the same card/control language as city-page filters. */
html body.dh-collage-v35 #locationAdvancedFilters .dh-filter-sheet-head{padding:14px 18px!important;background:#fff!important;border-bottom:1px solid #e2ecef!important}
html body.dh-collage-v35 #locationAdvancedFilters .dh-filter-fields{min-width:0!important;max-width:100%!important;gap:15px!important}
html body.dh-collage-v35 #locationAdvancedFilters .dh-filter-control-title,html body.dh-collage-v35 #locationAdvancedFilters :is(.location-filter-wrap,.location-sort-wrap)>span{display:block!important;margin-bottom:7px!important;color:#274b5e!important;font-weight:850!important;font-size:12px!important;line-height:1.45!important}
html body.dh-collage-v35 #locationAdvancedFilters .location-multi-filter-panel label{font-size:13px!important;line-height:1.35!important;font-weight:650!important}
html body.dh-collage-v35 #locationAdvancedFilters .location-multi-filter-panel input[type=checkbox]{appearance:auto!important;accent-color:var(--dh35-teal)!important;width:16px!important;height:16px!important;min-height:0!important;margin:0!important}
html body.dh-collage-v35 #locationAdvancedFilters select{min-height:43px!important;width:100%!important;max-width:100%!important;border:1px solid #d6e5ea!important;border-radius:9px!important;background:#fff!important;color:#21435b!important;padding:8px 11px!important;font-size:13px!important;box-shadow:none!important}
@media(max-width:1024px){
 html body.dh-collage-v35.city-hotels .dh-ref-city-layout.is-hotel-results{grid-template-columns:220px minmax(0,1fr)!important;gap:14px!important}
 html body.dh-collage-v35.dhcs-hotel-page .rate-grid{grid-template-columns:1fr!important}
}
@media(max-width:760px){
 html body.dh-collage-v35.dhopt2-city .hero.dh35-city-hero{min-height:265px!important;padding:28px 0!important}
 html body.dh-collage-v35.dhopt2-city .dh35-city-hero>.wrap{width:calc(100% - 30px)!important;display:block!important}
 html body.dh-collage-v35.dhopt2-city .dh35-city-hero-content{gap:8px!important}
 html body.dh-collage-v35.dhopt2-city .dh35-city-hero-content h1{font-size:clamp(29px,7.6vw,38px)!important}
 html body.dh-collage-v35.dhopt2-city .dh35-city-hero-content .lead{font-size:14px!important}
 html body.dh-collage-v35.dhopt2-city .dh35-city-hero-count{display:none!important}
 html body.dh-collage-v35.dhopt2-city .dh35-photo-credit{font-size:9px!important;right:12px!important}
 html body.dh-collage-v35.dhopt2-city .search-strip{padding:15px 0!important}
 html body.dh-collage-v35.dhopt2-city .search-card{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:13px!important;gap:10px!important}
 html body.dh-collage-v35.dhopt2-city .search-card>.field:nth-child(3),html body.dh-collage-v35.dhopt2-city .search-card>.field:nth-child(4){grid-column:auto!important}
 html body.dh-collage-v35.dhopt2-city .search-card>.btn{grid-column:1/-1!important;width:100%!important}
 /* City pages use the same modal bottom-sheet convention as live hotel search. */
 html body.dh-collage-v35.city-hotels .dh-ref-city-layout.is-hotel-results{display:block!important;width:calc(100% - 24px)!important;margin:18px auto 40px!important}
 html body.dh-collage-v35.city-hotels .dh-ref-results-sidebar{position:static!important;max-width:100%!important;margin:0 0 16px!important;padding:0!important;border:0!important}
 html body.dh-collage-v35.city-hotels .dh-v8-browse{padding:0!important;margin:0!important}
 html body.dh-collage-v35.city-hotels .dh35-filter-shell{border:0!important;box-shadow:none!important;background:transparent!important;overflow:visible!important}
 html body.dh-collage-v35.city-hotels .dh35-filter-shell>summary{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;cursor:pointer!important;list-style:none!important;padding:12px 15px!important;border:1px solid #d3e2e7!important;border-radius:12px!important;background:#fff!important;color:#18394f!important;min-height:48px!important}
 html body.dh-collage-v35.city-hotels .dh35-filter-shell>summary::-webkit-details-marker{display:none!important}
 html body.dh-collage-v35.city-hotels .dh35-filter-shell>summary .dh-filter-hint{font-size:10px!important;text-align:right!important;line-height:1.3!important;max-width:44%!important;color:#637f89!important}
 html body.dh-collage-v35.city-hotels .dh35-filter-shell:not([open]) .dh35-filter-inner{display:none!important}
 html body.dh-collage-v35.city-hotels .dh35-filter-shell[open]{position:fixed!important;inset:auto 0 0 0!important;z-index:110300!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;max-width:100%!important;width:100%!important;max-height:90dvh!important;margin:0!important;padding:0!important;border:0!important;border-radius:20px 20px 0 0!important;background:#fff!important;box-shadow:0 -15px 50px rgba(5,36,48,.22)!important}
 html body.dh-collage-v35.city-hotels .dh35-filter-shell[open]>summary{display:none!important}
 html body.dh-collage-v35.city-hotels .dh35-filter-shell[open] .dh35-filter-inner{padding:0 18px max(12px,env(safe-area-inset-bottom))!important;display:flex!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important}
 html body.dh-collage-v35.city-hotels .dh35-filter-shell[open] .dh35-filter-heading{position:sticky!important;top:0!important;background:#fff!important;z-index:2!important;padding:18px 0 14px!important;margin:0!important;flex:none!important}
 html body.dh-collage-v35.city-hotels .dh35-filter-shell[open] .dh35-filter-controls{overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;min-height:0!important;flex:1 1 auto!important;padding:15px 2px!important;scrollbar-gutter:stable!important}
 html body.dh-collage-v35.city-hotels .dh35-filter-shell[open] .dh35-filter-actions{position:sticky!important;bottom:0!important;z-index:2!important;display:flex!important;gap:10px!important;flex:none!important;padding:12px 0 4px!important;background:#fff!important;border-top:1px solid #e8f0f3!important}
 html body.dh-collage-v35.city-hotels .dh35-filter-shell[open] .dh35-filter-actions #dhFilterDone{flex:1!important;min-width:0!important;font-size:12px!important}
 html body.dh-collage-v35.city-hotels .dh35-filter-shell[open] .dh35-filter-actions #dh35ClearFilters{flex:0 0 auto!important;padding:8px 12px!important}
 html body.dh-collage-v35.city-hotels #dh35FilterClose{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;border-radius:50%!important;border:0!important;background:#eef7fa!important;color:#284a5e!important;font-size:24px!important;cursor:pointer!important}
 html body.dh-collage-v35.dh-city-filters-visible{overflow:hidden!important}
 html body.dh-collage-v35.dh-city-filters-visible:before{content:""!important;position:fixed!important;inset:0!important;z-index:110299!important;background:rgba(11,34,49,.48)!important;pointer-events:auto!important}
 html body.dh-collage-v35.city-hotels .dh-v8-browse .card{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;min-width:0!important;width:100%!important;border-radius:14px!important;gap:0!important;overflow:hidden!important}
 html body.dh-collage-v35.city-hotels .dh-v8-browse .card-media{display:block!important;grid-column:auto!important;grid-row:auto!important;flex:0 0 auto!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;aspect-ratio:16/9!important;border-radius:0!important;overflow:hidden!important}
 html body.dh-collage-v35.city-hotels .dh-v8-browse .card-media img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
 html body.dh-collage-v35.city-hotels .dh-v8-browse .card-body{display:flex!important;grid-column:auto!important;grid-row:auto!important;flex:1!important;flex-direction:column!important;min-width:0!important;padding:14px!important;gap:7px!important}
 html body.dh-collage-v35.city-hotels .dh-v8-browse .card h3{font-size:17px!important}
 html body.dh-collage-v35.city-hotels .dh-v8-browse .card .hotel-live-panel{margin:7px 0!important;padding:8px 0 0!important}
 html body.dh-collage-v35.city-hotels .dh-v8-browse .card .hotel-card-actions{display:flex!important;margin:8px 0 0!important;width:100%!important}
 html body.dh-collage-v35.city-hotels .dh-v8-browse .card .hotel-card-actions .btn{min-height:45px!important;width:100%!important;font-size:13px!important}
 html body.dh-collage-v35.dhcs-hotel-page .dh-ref-availability-anchor{width:calc(100% - 24px)!important;margin:23px auto 0!important;padding:0 0 12px!important}
 html body.dh-collage-v35.dhcs-hotel-page .rate-grid{grid-template-columns:1fr!important}
 html body.dh-collage-v35.dhcs-hotel-page .rate-card{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;padding:14px!important}
 html body.dh-collage-v35.dhcs-hotel-page .rate-card .rate-price{width:100%!important;min-width:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;justify-items:start!important;gap:6px!important;text-align:left!important}
 html body.dh-collage-v35.dhcs-hotel-page .rate-card .rate-price>span{grid-column:1!important;font-size:11px!important}
 html body.dh-collage-v35.dhcs-hotel-page .rate-card .rate-price>strong{grid-column:1!important;font-size:21px!important}
 html body.dh-collage-v35.dhcs-hotel-page .rate-card .rate-price>.rate-book-btn{grid-column:2!important;grid-row:1/span 2!important;min-height:44px!important;font-size:12px!important;min-width:115px!important;max-width:145px!important}
 html body.dh-collage-v35 .attraction-ticket-row{align-items:flex-start!important;flex-direction:column!important;padding:13px!important;gap:11px!important}
 html body.dh-collage-v35 .attraction-ticket-stepper{align-self:flex-start!important}
 html body.dh-collage-v35 #locationAdvancedFilters{width:min(100vw,460px)!important;max-width:100vw!important;max-height:90dvh!important;border-radius:20px 20px 0 0!important;overflow-y:auto!important;overflow-x:hidden!important;padding:0 15px max(15px,env(safe-area-inset-bottom))!important}
 html body.dh-collage-v35 #locationAdvancedFilters .dh-filter-fields{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:15px!important;padding:14px 0!important}
 html body.dh-collage-v35 #locationAdvancedFilters .location-multi-filter-panel{max-width:100%!important;width:100%!important;overflow:visible!important;position:static!important;transform:none!important;box-shadow:none!important;border:0!important;padding:10px 0!important}
 html body.dh-collage-v35 #locationAdvancedFilters .location-multi-filter:not([open]) .location-multi-filter-panel{display:none!important}
 html body.dh-collage-v35 #locationAdvancedFilters .location-multi-filter[open] .location-multi-filter-panel{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:6px!important}
 html body.dh-collage-v35 #locationAdvancedFilters .location-multi-filter>summary{min-height:46px!important;padding:10px 12px!important;border:1px solid #d4e5eb!important;border-radius:9px!important;background:#f7fbfd!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
 html body.dh-collage-v35 #locationAdvancedFilters .location-multi-filter>summary .dh-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important}
 html body.dh-collage-v35 #locationAdvancedFilters .location-multi-filter-panel label{display:flex!important;align-items:center!important;gap:10px!important;width:100%!important;padding:8px!important;margin:0!important;min-height:40px!important;flex-direction:row!important}
 html body.dh-collage-v35 #locationAdvancedFilters .dh-mobile-filter-done{position:sticky!important;bottom:0!important;z-index:3!important;margin:5px 0!important;width:100%!important;min-height:48px!important;background:var(--dh35-teal)!important;color:#fff!important;border:0!important;border-radius:9px!important}
 html body.dh-collage-v35 .location-results-head{padding:18px 20px!important;min-height:95px!important}
 html body.dh-collage-v35.city-attractions .dh-v8-browse .grid{grid-template-columns:1fr!important;gap:14px!important}
 html body.dh-collage-v35.city-attractions .dh-v8-browse .card{border-radius:14px!important}
 html body.dh-collage-v35.city-attractions .dh-v8-browse .card-media{height:auto!important;aspect-ratio:16/9!important;max-height:none!important}
 html body.dh-collage-v35.city-attractions .dh-v8-browse .card-body{padding:15px!important}
 html body.dh-collage-v35.city-attractions .dh-v8-browse .card h3{font-size:17px!important;line-height:1.28!important}
 html body.dh-collage-v35.city-attractions .dh-v8-browse .card-foot{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px!important;flex-wrap:wrap!important}
 html body.dh-collage-v35.city-attractions .dh-v8-browse .card-foot .btn{font-size:12px!important;min-height:40px!important;padding:10px!important}
}

/* Compact, accessible hotel review summary: details are on-demand. */
html body.dh-collage-v35.dhcs-hotel-page .hotel-reviews-section{padding:12px 0!important}
html body.dh-collage-v35.dhcs-hotel-page .hotel-reviews-card{padding:14px 18px!important;max-width:100%!important;min-width:0!important}
html body.dh-collage-v35.dhcs-hotel-page .hotel-reviews-head{display:grid!important;grid-template-columns:72px minmax(0,1fr) auto!important;align-items:center!important;gap:14px!important;margin:0!important;min-width:0!important}
html body.dh-collage-v35.dhcs-hotel-page .hotel-review-score{display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;min-width:0!important;width:72px!important;min-height:66px!important;padding:9px 7px!important;border-radius:12px!important;gap:3px!important;box-shadow:none!important}
html body.dh-collage-v35.dhcs-hotel-page .hotel-review-score strong{font-size:24px!important;line-height:1.1!important}
html body.dh-collage-v35.dhcs-hotel-page .hotel-review-score span{margin:0!important;font-size:10px!important;line-height:1.25!important;text-align:center!important}
html body.dh-collage-v35.dhcs-hotel-page .hotel-reviews-copy{min-width:0!important}
html body.dh-collage-v35.dhcs-hotel-page .hotel-reviews-copy h2{font-size:18px!important;line-height:1.25!important;margin:0 0 5px!important}
html body.dh-collage-v35.dhcs-hotel-page .hotel-reviews-copy p{margin:0!important;font-size:12px!important;line-height:1.45!important}
html body.dh-collage-v35.dhcs-hotel-page .hotel-reviews-toggle{white-space:nowrap!important;box-shadow:none!important;border:1px solid #bddbe3!important;background:#fff!important;color:#006f85!important;border-radius:9px!important;font-size:12px!important;font-weight:800!important;padding:9px 13px!important;min-height:39px!important;text-decoration:none!important}
html body.dh-collage-v35.dhcs-hotel-page .hotel-reviews-toggle:hover{background:#effbfe!important}
html body.dh-collage-v35.dhcs-hotel-page .hotel-review-details{margin-top:15px!important;padding-top:15px!important;border-top:1px solid #e1eaef!important}
html body.dh-collage-v35.dhcs-hotel-page .hotel-review-details[hidden]{display:none!important}
html body.dh-collage-v35.dhcs-hotel-page .hotel-rating-bars:empty,html body.dh-collage-v35.dhcs-hotel-page .hotel-review-list:empty{display:none!important}
html body.dh-collage-v35.dhcs-hotel-page .hotel-review-load-more{margin-top:14px!important;font-size:12px!important;padding:10px 15px!important}
@media(max-width:600px){
 html body.dh-collage-v35.dhcs-hotel-page .hotel-reviews-card{padding:12px!important}
 html body.dh-collage-v35.dhcs-hotel-page .hotel-reviews-head{grid-template-columns:62px minmax(0,1fr)!important;gap:10px!important}
 html body.dh-collage-v35.dhcs-hotel-page .hotel-review-score{width:62px!important;min-height:61px!important;padding:7px 4px!important}
 html body.dh-collage-v35.dhcs-hotel-page .hotel-review-score strong{font-size:21px!important}
 html body.dh-collage-v35.dhcs-hotel-page .hotel-reviews-copy h2{font-size:16px!important}
 html body.dh-collage-v35.dhcs-hotel-page .hotel-reviews-toggle{grid-column:1/-1!important;justify-self:stretch!important;justify-content:center!important;margin:0!important}
}
html body.dh-collage-v35.dhcs-hotel-page .hotel-review-score{background:#087c93!important;color:#fff!important}
html body.dh-collage-v35.dhcs-hotel-page .hotel-review-score strong,html body.dh-collage-v35.dhcs-hotel-page .hotel-review-score span{color:#fff!important}

/* Keep browser hidden states meaningful, even under legacy !important card rules. */
html body.dh-collage-v35.city-hotels .dh-v8-browse #cityResultGrid .card[hidden],
html body.dh-collage-v35.city-attractions .dh-v8-browse #cityResultGrid .card[hidden],
html body.dh-collage-v35 .dh35-no-matches[hidden],
html body.dh-collage-v35 .attraction-toolbar-wrap[hidden] {display:none!important}
/* Make rate-group expansion explicit, rather than relying on old display overrides. */
html body.dh-collage-v35.dhcs-hotel-page .room-group:not(.dh-rates-expanded) .rate-grid>.rate-card[hidden]{display:none!important}
html body.dh-collage-v35.dhcs-hotel-page .room-group.dh-rates-expanded .rate-grid>.rate-card[hidden]{display:grid!important}
/* Correct safe responsive layout of city filter controls and labels. */
html body.dh-collage-v35 .dh35-filter-shell .dh35-check-row{position:relative!important;overflow:hidden!important}
html body.dh-collage-v35 .dh35-filter-shell .dh35-check-row input[type=checkbox]{position:relative!important;opacity:1!important;pointer-events:auto!important}
@media(max-width:760px){
 html body.dh-collage-v35.city-hotels .dh35-filter-shell[open] .dh35-filter-inner{max-height:90dvh!important}
 html body.dh-collage-v35.city-hotels .dh35-filter-shell[open] .dh35-filter-controls{scrollbar-gutter:auto!important}
 html body.dh-collage-v35 .dh35-city-hero-content .lead{max-width:95%!important}
}
/* Keep all hotel star/amenity choices on one line; legacy city form label styles stacked them. */
html body.dh-collage-v35.city-hotels .dh35-filter-controls .dh35-filter-fieldset .dh35-check-row{
 display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;
 justify-content:flex-start!important;gap:10px!important;padding:6px 3px!important;
 color:#284a5e!important;font-weight:650!important;min-height:34px!important;
}
html body.dh-collage-v35.city-hotels .dh35-filter-controls .dh35-check-row>span{
 display:inline-flex!important;align-items:center!important;max-width:calc(100% - 28px)!important;
 flex:0 1 auto!important;margin:0!important;line-height:1.3!important;
 font-size:13px!important;white-space:normal!important;text-transform:none!important;letter-spacing:0!important;
}
html body.dh-collage-v35.city-hotels .dh35-filter-controls .dh35-check-row>.dh35-stars{
 color:#efa315!important;letter-spacing:1px!important;font-size:13px!important;white-space:nowrap!important;
}
html body.dh-collage-v35.city-hotels .dh35-filter-controls .dh35-check-row>input[type=checkbox]{
 width:17px!important;height:17px!important;flex:0 0 17px!important;margin:0!important;min-height:0!important;
}
