.public-search-page,.public-single-page{background:#fff;color:#071538}.results-search-bar{padding:28px 20px;background:#f4f7fb;border-bottom:1px solid #e1e6ee}.results-search-bar form{width:min(900px,100%);height:58px;margin:auto;display:flex;align-items:center;border:3px solid #ffc400;border-radius:5px;background:#fff;overflow:hidden}.results-search-bar form>span{margin-left:20px}.results-search-bar input{height:100%;flex:1;min-width:0;padding:0 16px;border:0;outline:0;font:15px Jost,sans-serif}.results-search-bar button{align-self:stretch;padding:0 35px;border:0;color:#fff;background:#0879bd;font:600 16px Jost,sans-serif}.results-shell,.single-shell{width:min(1300px,calc(100% - 64px));margin:auto;padding:55px 0 90px}.results-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:32px}.results-heading span{color:#737f96}.results-heading h1{margin:5px 0 0;font-size:32px}.results-heading select{min-width:210px;height:50px;padding:0 16px;border:1px solid #d8dce5;border-radius:4px;background:#fff}.results-layout{display:grid;grid-template-columns:250px 1fr;gap:32px}.results-filter{align-self:start;border:1px solid #dce1e9;border-radius:5px}.results-filter>h2{margin:0;padding:20px;border-bottom:1px solid #dce1e9;font-size:21px}.results-filter>div{display:grid;gap:12px;padding:20px;border-bottom:1px solid #e6e9ef}.results-filter>div:last-child{border-bottom:0}.results-filter h3{margin:0 0 5px;font-size:15px}.results-filter label{display:flex;gap:9px;align-items:center;color:#59667c;font-size:13px}.results-list{display:grid;gap:22px}.result-card{display:grid;grid-template-columns:285px 1fr 185px;min-height:230px;overflow:hidden;border:1px solid #dfe3ea;border-radius:6px;background:#fff;transition:box-shadow .2s}.result-card:hover{box-shadow:0 10px 30px rgba(7,29,67,.1)}.result-image{display:block;min-height:230px;background:#eef2f7}.result-image img{width:100%;height:100%;object-fit:cover}.result-image-fallback,.single-image-fallback{height:100%;display:grid;place-content:center;justify-items:center;gap:12px;color:#7b879b;background:linear-gradient(135deg,#edf2f7,#dce5f1)}.result-image-fallback>span:first-child{font-size:38px}.result-body{padding:24px}.result-type,.single-type{color:#2855d9;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.result-body h2{margin:5px 0 6px;font-size:22px}.result-body h2 a{color:#071538;text-decoration:none}.result-location{display:flex;gap:7px;margin:0 0 20px;color:#66738a;font-size:13px}.result-description{color:#6c788e;font-size:14px;line-height:1.65}.result-score{display:flex;align-items:center;gap:8px;margin-top:18px;font-size:13px}.result-score span{padding:6px 7px;border-radius:3px;color:#fff;background:#315bdd;font-weight:700}.result-action{padding:24px;display:flex;align-items:flex-end;flex-direction:column;justify-content:flex-end;border-left:1px solid #edf0f4;text-align:right}.result-action>span{color:#78849a;font-size:12px}.result-action strong{margin:4px 0;color:#2855d9;font-size:21px}.result-action a{width:100%;margin-top:23px;padding:13px 10px;border-radius:4px;color:#fff;background:#2855d9;font-weight:600;text-align:center;text-decoration:none}.results-empty{padding:75px 20px;border:1px dashed #cbd2df;text-align:center}.results-empty h2{margin:0 0 8px}.results-empty p{color:#737f96}.results-empty a{color:#2855d9;font-weight:600}.single-breadcrumb{display:flex;gap:8px;margin-bottom:28px;color:#77839a;font-size:13px}.single-breadcrumb a{color:#315bdd;text-decoration:none}.single-title-row{display:flex;align-items:end;justify-content:space-between;margin-bottom:25px}.single-title-row h1{margin:5px 0 6px;font-size:38px}.single-title-row p{display:flex;gap:8px;margin:0;color:#6f7b90}.single-share{padding:11px 25px;border:1px solid #315bdd;border-radius:4px;color:#315bdd;text-decoration:none}.single-gallery{height:500px;overflow:hidden;border-radius:7px;background:#eef2f7}.single-gallery>img{width:100%;height:100%;object-fit:cover}.single-layout{display:grid;grid-template-columns:1fr 350px;gap:60px;margin-top:55px}.single-content section{padding-bottom:35px;margin-bottom:35px;border-bottom:1px solid #e3e7ed}.single-content h2{margin:0 0 18px;font-size:25px}.single-content p{color:#657188;line-height:1.8}.single-details{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#e3e7ed;border:1px solid #e3e7ed}.single-details>div{padding:16px 18px;display:grid;gap:4px;background:#fff}.single-details span{color:#77839a;font-size:12px}.single-booking{align-self:start;position:sticky;top:25px;padding:28px;border:1px solid #dce1e9;border-radius:6px;box-shadow:0 12px 35px rgba(7,29,67,.1)}.single-booking>span{color:#77839a;font-size:12px}.single-booking>strong{display:block;margin:4px 0;color:#2855d9;font-size:28px}.single-booking form{display:grid;gap:14px;margin-top:25px}.single-booking label{display:grid;gap:6px;color:#5f6c82;font-size:13px}.single-booking input,.single-booking select{height:48px;padding:0 12px;border:1px solid #d8dce5;border-radius:4px;font:14px Jost,sans-serif}.single-booking button{height:50px;border:0;border-radius:4px;color:#fff;background:#2855d9;font:600 16px Jost,sans-serif}.single-booking p{margin:14px 0 0;color:#818b9d;font-size:11px;text-align:center}
/* Template-style filters */
.results-layout{grid-template-columns:310px minmax(0,1fr);gap:40px}.results-filter{border:0;border-radius:0}.results-filter>.filter-map{position:relative;display:block;padding:0 0 22px;border:0}.filter-map img{display:block;width:100%;height:180px;border-radius:5px;object-fit:cover}.filter-map button{position:absolute;left:50%;top:50%;display:flex;align-items:center;gap:8px;padding:12px 18px;transform:translate(-50%,-50%);border:0;border-radius:4px;background:#fff;color:#071538;font:600 14px Jost,sans-serif;box-shadow:0 6px 20px rgba(0,20,55,.16);white-space:nowrap}.filter-found{display:block;padding:0 0 18px;font-size:17px}.filter-keyword{height:52px;display:flex!important;align-items:center!important;gap:12px!important;margin-bottom:28px;padding:0 15px;border:1px solid #d7dce5;border-radius:4px}.filter-keyword>span{font-size:18px}.filter-keyword input{width:100%;height:100%;border:0;outline:0;font:14px Jost,sans-serif}.results-filter>div:not(.filter-map){padding:24px 0;border-width:1px 0 0;border-color:#dfe3e9}.results-filter>div:last-of-type{border-bottom:1px solid #dfe3e9}.results-filter h3{margin-bottom:15px;font-size:17px}.results-filter label:not(.filter-keyword){justify-content:flex-start;gap:10px;color:#071538;font-size:14px}.results-filter input[type="checkbox"],.results-filter input[type="radio"]{appearance:none;width:17px;min-width:17px;height:17px;margin:0;border:1px solid #0c2855;border-radius:3px;background:#fff}.results-filter input[type="radio"]{border-radius:50%}.results-filter input[type="checkbox"]:checked,.results-filter input[type="radio"]:checked{border:5px solid #315bdd}.filter-price-output{margin-bottom:12px;color:#071538;font-size:14px}.filter-range{appearance:none;width:100%;height:4px;border-radius:4px;background:#315bdd}.filter-range::-webkit-slider-thumb{appearance:none;width:20px;height:20px;border:2px solid #315bdd;border-radius:50%;background:#fff}.filter-stars{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.filter-stars label{display:grid!important;gap:7px!important;justify-items:center}.filter-stars label span{width:100%;padding:6px;border-radius:18px;background:#f2f4fc;color:#315bdd;text-align:center}.filter-stars input:checked+span{color:#fff;background:#315bdd}.filter-apply{display:block;margin:28px 0 0 auto;padding:14px 28px;border:0;border-radius:4px;color:#fff;background:#07183f;font:600 14px Jost,sans-serif}.result-card[hidden]{display:none!important}
@media(max-width:950px){.results-layout{grid-template-columns:270px minmax(0,1fr);gap:25px}.result-card{grid-template-columns:220px 1fr}.result-action{grid-column:2;padding-top:0;border-left:0;align-items:flex-start;text-align:left}.result-action a{width:auto;padding-inline:25px}.single-layout{grid-template-columns:1fr}.single-booking{position:static}.single-gallery{height:400px}}
@media(max-width:760px){.results-layout{grid-template-columns:1fr}.results-filter{display:block;order:2}.results-list{order:1}.filter-map{display:none!important}}
@media(max-width:640px){.results-shell,.single-shell{width:calc(100% - 28px);padding-block:40px 60px}.results-heading{align-items:stretch;flex-direction:column;gap:18px}.results-heading h1{font-size:27px}.results-heading select{width:100%}.result-card{grid-template-columns:1fr}.result-image{height:245px}.result-action{grid-column:1;padding:0 20px 22px}.result-body{padding:20px}.results-search-bar form{height:54px}.results-search-bar button{padding-inline:18px}.single-title-row{align-items:flex-start;flex-direction:column;gap:18px}.single-title-row h1{font-size:31px}.single-gallery{height:280px}.single-layout{margin-top:35px;gap:35px}.single-details{grid-template-columns:1fr}}

/* Full results search strip */
.results-search-bar{padding:0 20px 42px;background:#f5f5f5}.results-search-bar .results-module-search{position:relative;width:min(900px,100%);height:72px;margin:0 auto;display:grid;grid-template-columns:1fr 1.3fr 1.5fr 160px;align-items:stretch;overflow:visible;border:0;border-radius:5px;background:#fff;box-shadow:0 12px 35px rgba(7,29,67,.14)}.results-module-search>label{min-width:0;padding:10px 30px;display:grid;align-content:center;gap:3px;border-right:1px solid #d9dde4;background:#fff;color:#071538}.results-module-search>label strong{font-size:14px}.results-module-search>label span,.results-module-search>label input{overflow:hidden;color:#77839a;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.results-module-search>label input{width:100%;height:auto;padding:0}.results-search-bar .results-module-search>button{display:flex;align-items:center;justify-content:center;gap:10px;margin:10px;padding:0 22px;border:0;border-radius:4px;color:#071538;background:#ffd33f;font:600 15px Jost,sans-serif}.results-search-title{margin:43px 0 0;text-align:center;font-size:30px}.results-module-search .bh-search-popup{top:80px}.results-module-search .bh-date-popup{left:0}.results-module-search .bh-guest-popup{right:0}.results-search-bar .bh-popup-head button{align-self:auto;width:68px;height:38px;padding:0;border:0;color:#12213d;background:transparent;font:500 12px Jost,sans-serif}.results-search-bar .bh-counter-row button{align-self:auto;width:40px;height:40px;padding:0;border:1px solid #315bd8;border-radius:4px;color:#315bd8;background:#fff;font-size:20px}
@media(max-width:700px){.results-search-bar{padding:20px 14px 35px}.results-search-bar .results-module-search{height:auto;grid-template-columns:1fr}.results-module-search>label{min-height:61px;padding:8px 18px;border-right:0;border-bottom:1px solid #d9dde4}.results-search-bar .results-module-search>button{min-height:54px}.results-module-search .bh-search-popup{top:auto}.results-search-title{margin-top:28px;font-size:25px}}

/* Template horizontal result rows */
.results-heading{align-items:center;padding-bottom:28px;margin-bottom:30px;border-bottom:1px solid #dfe3e9}.results-found-title{display:flex;align-items:baseline;gap:6px;font-size:17px}.results-found-title strong{font-size:18px}.results-heading .results-sort{min-width:210px;height:42px;padding:0 20px;border:0;border-radius:22px;color:#315bdd;background:#f3f5fd}.results-list{display:block;align-self:start;height:auto;gap:0}.result-card{position:relative;display:grid;grid-template-columns:250px minmax(0,1fr) 195px;gap:20px;min-height:280px;padding:30px 0;overflow:visible;border:0;border-bottom:1px solid #dfe3e9;border-radius:0;background:#fff}.result-card:first-child{padding-top:0}.result-card:hover{box-shadow:none}.result-image{position:relative;height:250px;min-height:0;overflow:hidden;border-radius:4px}.result-favourite{position:absolute;top:16px;right:16px;display:grid;width:36px;height:36px;place-items:center;padding:0;border:0;border-radius:50%;color:#071538;background:#fff;box-shadow:0 4px 14px rgba(6,24,57,.16);cursor:pointer}.result-favourite.saved{color:#fff;background:#315bdd}.result-body{padding:5px 0}.result-name-row{display:flex;align-items:center;gap:12px}.result-name-row h2{margin:0;font-size:18px}.result-stars{color:#f3c62f;font-size:13px;letter-spacing:2px}.result-location{margin:12px 0 32px;flex-wrap:wrap}.result-location a{color:#315bdd;text-decoration:underline}.result-description{max-width:570px;margin:0;color:#68758c;line-height:1.8}.result-action{height:250px;padding:5px 0;align-items:flex-end;justify-content:flex-start;border-left:0}.result-review{display:flex;align-items:center;gap:10px}.result-review>div{display:grid;text-align:right}.result-review strong{font-size:13px}.result-review>div span{color:#77839a;font-size:11px}.result-review>span{display:grid;width:42px;height:42px;place-items:center;border-radius:4px;color:#fff;background:#315bdd;font-weight:700}.result-price{display:grid;justify-items:end;margin-top:14px}.result-price span:first-child{color:#536079;font-size:13px}.result-price span:last-child{color:#7b879a;font-size:11px}.result-action>a{width:auto;min-width:190px;margin-top:24px;padding:15px 20px;display:flex;align-items:center;justify-content:center;gap:20px;border-radius:4px;color:#fff;background:#3d5bd7}.result-action>a span:last-child{font-size:21px}.result-score{display:none}
@media(max-width:1050px){.result-card{grid-template-columns:220px minmax(0,1fr)}.result-image{height:220px}.result-action{grid-column:2;display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px}.result-review{grid-column:1}.result-price{grid-column:1;justify-items:start}.result-action>a{grid-column:2;grid-row:1/3;margin:0}.result-description{margin-bottom:15px}}
@media(max-width:640px){.result-card{grid-template-columns:1fr;padding:24px 0}.result-image{height:280px}.result-action{grid-column:1;display:flex;align-items:flex-start}.result-review{align-self:flex-end}.result-price{align-items:start}.result-action>a{min-width:0;width:100%;margin-top:15px}.result-name-row{align-items:flex-start;flex-direction:column;gap:5px}.result-location{margin-bottom:18px}}

/* Template single listing */
.single-search-strip{height:88px;background:#f5f5f5}.single-search-strip>form{position:relative;width:min(900px,calc(100% - 40px));height:76px;margin:auto;display:grid;grid-template-columns:1fr 1.3fr 1.5fr 165px;transform:translateY(0);border-radius:4px;background:#fff;box-shadow:0 12px 35px rgba(7,29,67,.14)}.single-search-strip>form>label{min-width:0;padding:10px 30px;display:grid;align-content:center;gap:3px;border-right:1px solid #d9dde5}.single-search-strip label strong{font-size:14px}.single-search-strip label span,.single-search-strip label input{overflow:hidden;color:#758197;font:14px Jost,sans-serif;text-overflow:ellipsis;white-space:nowrap}.single-search-strip label input{width:100%;border:0;outline:0}.single-search-strip>form>button{margin:10px;padding:0 20px;border:0;border-radius:4px;color:#071538;background:#ffd33f;font:600 15px Jost,sans-serif}.single-search-strip .bh-search-popup{top:80px}.single-search-strip .bh-date-popup{left:0}.single-search-strip .bh-guest-popup{right:0}.single-search-strip .bh-popup-head button{width:68px;height:38px;padding:0;border:0;color:#071538;background:transparent}.single-search-strip .bh-counter-row button{width:40px;height:40px;padding:0;border:1px solid #315bd8;color:#315bd8;background:#fff}.public-single-page .single-shell{padding-top:22px}.single-name-line{display:flex;align-items:center;gap:18px}.single-name-line h1{margin:0;font-size:31px}.single-name-line span{color:#f4c52f;letter-spacing:2px}.single-title-row p a{margin-left:10px;color:#315bdd;text-decoration:underline}.single-top-price{display:flex;align-items:center;gap:6px}.single-top-price>span{font-size:12px}.single-top-price>strong{font-size:21px}.single-top-price>a{margin-left:14px;padding:14px 22px;border-radius:4px;color:#fff;background:#3d5bd7;text-decoration:none}.single-gallery-grid{height:520px;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:10px}.single-gallery-grid img{width:100%;height:100%;object-fit:cover}.single-gallery-main{position:relative;grid-row:1/3;overflow:hidden;border-radius:5px}.single-gallery-main>button{position:absolute;top:20px;right:20px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;font-size:22px;appearance:none;-webkit-appearance:none;outline:0}.single-gallery-small{position:relative;overflow:hidden;border-radius:5px;background:#edf2f7}.single-all-photos>button{position:absolute;right:15px;bottom:15px;padding:12px 18px;border:0;border-radius:4px;background:#fff;font:600 13px Jost,sans-serif}.template-single-layout{grid-template-columns:minmax(0,1fr) 360px;gap:80px;margin-top:45px}.single-content section{padding-bottom:35px;margin-bottom:35px}.single-highlights>div{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;text-align:center}.single-highlights article>span{color:#315bdd;font-size:28px}.single-highlights article p{margin:10px 0 0;color:#071538;font-size:13px;line-height:1.4}.single-show-more{color:#315bdd;text-decoration:underline}.single-facilities>div{display:grid;grid-template-columns:1fr 1fr;gap:16px 40px}.single-facilities span{color:#071538}.single-demand{display:flex;align-items:center;gap:20px;padding:20px!important;border:0!important;border-radius:4px;background:#eafbe8}.single-demand>strong{display:grid;width:54px;height:54px;place-items:center;border-radius:50%;color:#f4c52f;background:#fff;font-size:28px}.single-demand h3,.single-demand p{margin:0}.single-sidebar{display:grid;align-self:start;gap:28px}.single-booking{position:static;padding:30px}.single-booking-head{display:flex;align-items:center;justify-content:space-between}.single-booking-head>div:first-child{display:grid}.single-booking-head>div:first-child strong{font-size:22px}.single-review-score{display:flex;align-items:center;gap:9px}.single-review-score>div{display:grid;text-align:right}.single-review-score>div strong{font-size:12px}.single-review-score>div span{color:#7b879a;font-size:10px}.single-review-score>span{display:grid;width:40px;height:40px;place-items:center;border-radius:4px;color:#fff;background:#315bdd;font-weight:700}.single-map-card{padding:30px;border:1px solid #dce1e9;border-radius:5px}.single-map-card>div{position:relative;height:190px}.single-map-card img{width:100%;height:100%;object-fit:cover}.single-map-card a{position:absolute;left:50%;top:50%;padding:12px 18px;transform:translate(-50%,-50%);color:#071538;background:#fff;font-weight:600;text-decoration:none;white-space:nowrap}.single-map-card p{margin:16px 0 0;color:#071538;font-size:13px}.single-rooms{margin-top:60px}.single-rooms>h2{margin:0 0 22px;font-size:24px}.single-rooms>article{padding:30px;border:1px solid #dce1e9;border-radius:5px}.single-rooms h3{margin:0 0 16px}.single-room-table{display:grid}.single-room-head,.single-room-body{display:grid;grid-template-columns:180px 1.4fr 90px 180px 170px}.single-room-head{padding:20px 28px;color:#fff;background:#173d82;font-weight:600}.single-room-body{min-height:220px;padding:20px 28px;align-items:start}.single-room-photo{display:grid;gap:12px}.single-room-photo img{width:150px;height:120px;object-fit:cover;border-radius:4px}.single-room-photo strong{font-size:12px}.single-room-benefits{display:grid;gap:10px}.single-room-benefits span{color:#009329;font-size:13px}.single-room-body>div:nth-child(4){display:grid;gap:5px}.single-room-body>div:nth-child(4)>span{color:#77839a;font-size:11px}.single-room-reserve{display:grid;gap:16px}.single-room-reserve select{width:60px;height:46px;padding:0 10px;border:1px solid #d8dce5}.single-room-reserve a{padding:14px;color:#fff;background:#3d5bd7;text-align:center;text-decoration:none}
@media(max-width:1050px){.single-gallery-grid{height:430px}.template-single-layout{grid-template-columns:1fr;gap:35px}.single-sidebar{grid-template-columns:1fr 1fr}.single-room-head,.single-room-body{grid-template-columns:150px 1fr 80px 140px 140px}.single-room-table{overflow-x:auto}}
@media(max-width:700px){.single-search-strip{height:auto;padding:15px}.single-search-strip>form{width:100%;height:auto;grid-template-columns:1fr;transform:none}.single-search-strip>form>label{min-height:60px;border-right:0;border-bottom:1px solid #d9dde5}.single-search-strip>form>button{min-height:54px}.single-search-strip .bh-search-popup{top:auto}.single-title-row{align-items:flex-start;flex-direction:column}.single-top-price{flex-wrap:wrap}.single-gallery-grid{height:460px;grid-template-columns:1fr 1fr;grid-template-rows:2fr 1fr}.single-gallery-main{grid-column:1/3;grid-row:1}.single-gallery-small:nth-of-type(n+4){display:none}.single-highlights>div{grid-template-columns:1fr 1fr}.single-facilities>div{grid-template-columns:1fr}.single-sidebar{grid-template-columns:1fr}.single-room-head{display:none}.single-room-body{min-width:760px}.single-rooms>article{padding:18px}}

/* OpenStreetMap result modal */
.osm-map-frame iframe{display:block;width:100%;height:100%;border:0}
.osm-map-frame{position:relative;overflow:hidden}.osm-tile-grid{position:absolute;left:50%;top:50%;width:1280px;height:1280px;transform:translate(-50%,-50%)}.osm-tile-grid img{position:absolute;width:256px;height:256px;max-width:none}.osm-property-marker{position:absolute;left:50%;top:50%;width:24px;height:24px;transform:translate(-50%,-100%) rotate(45deg);border:3px solid #fff;border-radius:50% 50% 50% 0;background:#315bdd;box-shadow:0 3px 10px rgba(0,0,0,.35)}.osm-property-marker::after{content:"";position:absolute;left:6px;top:6px;width:6px;height:6px;border-radius:50%;background:#fff}.osm-user-marker{position:absolute;left:50%;top:50%;z-index:2;width:18px;height:18px;transform:translate(-50%,-50%);border:4px solid #fff;border-radius:50%;background:#10a8e5;box-shadow:0 0 0 9px rgb(16 168 229 / 20%),0 3px 12px rgb(3 48 90 / 35%)}.osm-zoom-controls{position:absolute;left:14px;top:14px;display:grid;overflow:hidden;border-radius:4px;box-shadow:0 3px 12px rgba(0,0,0,.2)}.osm-zoom-controls button{width:38px;height:38px;border:0;border-bottom:1px solid #dce1e8;background:#fff;color:#071538;font-size:22px;cursor:pointer}.osm-attribution{position:absolute;right:5px;bottom:4px;padding:3px 6px;color:#315bdd;background:rgba(255,255,255,.9);font-size:10px;text-decoration:none}
.single-map-card button.single-map-open{position:absolute;left:50%;top:50%;padding:12px 18px;transform:translate(-50%,-50%);border:0;color:#071538;background:#fff;font:600 14px Jost,sans-serif;white-space:nowrap;cursor:pointer}
.single-title-map{margin-left:10px;padding:0;border:0;color:#315bdd;background:transparent;font:inherit;text-decoration:underline;cursor:pointer}
.result-location .result-map-open{padding:0;border:0;color:#315bdd;background:transparent;font:inherit;text-decoration:underline;cursor:pointer}.map-modal-open{overflow:hidden}.osm-modal{position:fixed;inset:0;z-index:1000}.osm-modal[hidden]{display:none}.osm-modal-backdrop{position:absolute;inset:0;background:rgba(3,18,47,.66);backdrop-filter:blur(2px)}.osm-modal-dialog{position:absolute;left:50%;top:50%;width:min(1000px,calc(100% - 40px));overflow:hidden;transform:translate(-50%,-50%);border-radius:7px;background:#fff;box-shadow:0 25px 80px rgba(0,0,0,.3)}.osm-modal-head{height:76px;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.osm-modal-head>div{display:grid;gap:2px}.osm-modal-head span{color:#315bdd;font-size:11px;font-weight:700;text-transform:uppercase}.osm-modal-head h2{margin:0;font-size:22px}.osm-modal-close{width:42px;height:42px;border:0;border-radius:50%;color:#071538;background:#f1f4f8;font-size:27px;cursor:pointer}.osm-map-frame{display:block;width:100%;height:min(620px,65vh);border:0;background:#e6edf5}.osm-modal-foot{min-height:62px;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.osm-map-address{color:#657188;font-size:13px}.osm-map-external{padding:10px 16px;border-radius:4px;color:#fff;background:#315bdd;text-decoration:none;font-size:13px}@media(max-width:600px){.osm-modal-dialog{width:calc(100% - 20px)}.osm-modal-head{height:66px;padding-inline:16px}.osm-modal-head h2{font-size:18px}.osm-map-frame{height:65vh}.osm-modal-foot{align-items:flex-start;flex-direction:column;padding:14px 16px}.osm-map-external{width:100%;text-align:center}}

/* Search results, ported to the template's own sidebar and card classes. The
   template drives its price slider and star pills with vendor JS this page does
   not load, so those two controls stay native inputs dressed to match. */
[data-result-card][hidden]{display:none!important}
.cardImage__content>a{position:relative;display:block;width:100%;height:100%;border-radius:inherit}
.cardImage__content>a>img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.result-image-empty{position:absolute;inset:0}
.results-star input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.results-star span{width:100%;justify-content:center}
.results-star input:checked+span{color:#fff;background:#003b95}
.result-wishlist{display:flex;align-items:center;justify-content:center;font-size:17px;line-height:1;color:#315bdd;transition:color .15s ease,transform .15s ease}
.result-wishlist:hover{transform:scale(1.08)}
.result-wishlist.saved{color:#e11d48}
.results-sort-wrap{position:relative;display:inline-flex;align-items:center}
.results-sort-icon{position:absolute;left:18px;top:50%;translate:0 -50%;font-size:14px;color:#315bdd;pointer-events:none}
select.results-sort{border:0;font-weight:500;cursor:pointer;text-align:left;text-align-last:left;padding-left:40px;padding-right:20px}
.sidebar .filter-range{appearance:none;width:100%;height:4px;border-radius:4px;background:#003b95}
.sidebar .filter-range::-webkit-slider-thumb{appearance:none;width:20px;height:20px;border:2px solid #003b95;border-radius:50%;background:#fff;cursor:pointer}
.sidebar .single-field input{width:100%}

/* The template's own mainSearch bar, shared by the results and listing pages. */
.listing-search{position:relative}
.listing-search .searchMenu-loc input{width:100%;border:0;outline:0;padding:0;background:transparent;font:15px Jost,sans-serif;color:#697488}
/* Without an explicit colour, this <select> falls back to the browser's own
   native control theme, which follows the visitor's OS colour scheme rather
   than the page's - on a dark-mode system that paints its text and arrow to
   match, invisible against this light card. */
.listing-search .searchMenu-loc select{width:100%;border:0;outline:0;padding:0;background:#fff;font:15px Jost,sans-serif;color:#697488;color-scheme:light}
.listing-search .bh-popup-trigger{cursor:pointer}
.listing-search .bh-search-popup{top:100%;margin-top:14px}
.listing-search .bh-date-popup{left:0}
.listing-search .bh-guest-popup{right:0}
.listing-search .bh-popup-head button{width:68px;height:38px;padding:0;border:0;color:#051036;background:transparent;font:500 12px Jost,sans-serif}
.listing-search .bh-counter-row button{width:40px;height:40px;padding:0;border:1px solid #003b95;border-radius:4px;color:#003b95;background:#fff;font-size:20px}
/* BookingsHub blue, not the template's navy: the search band and its button
   match the site header rather than the vendor palette. */
.listing-search-band{background-color:#003b95!important}
.listing-search .mainSearch__submit{color:#07183f!important;background-color:#ffd33f!important;border-color:#ffd33f!important}
.listing-search .mainSearch__submit:hover{color:#07183f!important;background-color:#ffc400!important;border-color:#ffc400!important}
/* One blue across the public pages: the brand's #003b95, not the vendor
   template's #3554d1. The template builds every .bg-blue-1, .text-blue-1 and
   .border-blue-1 from this variable, so redefining it on the page carries the
   colour to buttons, rating chips, links and progress bars alike. */
.public-search-page,.public-single-page{--color-blue-1:#003b95;color-scheme:light}
.public-search-page .bg-blue-1-05,.public-single-page .bg-blue-1-05{background-color:rgba(0,59,149,.06)}

/* ------------------------------------------------------- near a landmark --
   Shown when the search term turned out to be a place on the map rather than
   the name of a property - "Nawaloka Hospital", a university, a stadium. It
   says what was found and how close these results are, because a list that
   has silently changed meaning is worse than one that explains itself. */
.near-place {
  margin-top: 22px;
  padding: 13px 16px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  border: 1px solid #d6e6f8;
  border-left: 3px solid #0071c2;
  border-radius: 10px;
  background: #f2f8ff;
}
.near-place.is-hidden { display: none; }
.near-place strong { display: block; color: #05264e; font-size: 15px; }
.near-place-where { display: block; margin-top: 1px; color: #5c7086; font-size: 13px; }
.near-place-note { display: block; margin-top: 4px; color: #0071c2; font-size: 12px; font-weight: 600; }
.near-place-where:empty,
.near-place-note:empty { display: none; }

/* A map pin, drawn rather than loaded: one more request for one small mark on
   one banner is not worth it. */
.near-place-pin {
  flex: none;
  width: 22px;
  height: 22px;
  margin-top: 2px;
  background: #0071c2;
  mask: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center/contain no-repeat;
}

.near-distance {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 6px;
  padding: 3px 9px;
  border-radius: 999px;
  color: #0071c2;
  background: #eaf3ff;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}
.near-distance.is-hidden { display: none; }
.near-distance::before {
  content: "";
  width: 11px;
  height: 11px;
  background: currentColor;
  mask: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center/contain no-repeat;
}

@media (max-width: 575px) {
  .near-place { padding: 11px 13px; }
  .near-place strong { font-size: 14px; }
}

/* Mobile filter drawer. [data-results-filter] (Search by name, Popular
   Filters, Nightly Price, and the rest) is one shared block in
   results.noderframe - it isn't module-conditional, so every module (hotels,
   bus, vehicle, flights, etc.) renders the same sidebar and hits the same
   problem below the lg breakpoint where it stacks: a long filter panel
   sitting in-flow above the listings, pushing every result well below the
   fold before a visitor has scrolled at all. Collapse it behind a "Filters"
   button there and reopen it as a full-screen panel instead - see
   data-filter-open/data-filter-close wiring in results-filter.js. */
.bh-filter-open {
  display: none;
}

.bh-filter-panel-head {
  display: none;
}

@media (max-width: 991px) {
  .bh-filter-open {
    display: flex;
    align-items: center;
    height: 40px;
    padding: 0 18px;
    border: 0;
    border-radius: 100px;
    color: #315bdd;
    background: rgba(49, 91, 221, .05);
    font: 500 14px Jost, sans-serif;
    cursor: pointer;
  }

  [data-results-filter] {
    display: none;
  }

  [data-results-filter].is-open {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: block;
    overflow-y: auto;
    padding: 20px 24px 30px;
    background: #fff;
  }

  [data-results-filter].is-open .bh-filter-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 16px;
    border-bottom: 1px solid #e3e7ed;
  }

  .bh-filter-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    color: #071538;
    background: #f2f4f8;
    font-size: 15px;
    cursor: pointer;
  }

  body.bh-filter-locked {
    overflow: hidden;
  }
}

/* Boarding Houses: a listing whose rooms have all gone shows this in place of
   the live "See Availability" button - greyed out and not clickable. */
.button.is-fully-booked {
  background: #98a2b3;
  border-color: #98a2b3;
  color: #fff;
  opacity: .75;
  cursor: not-allowed;
  pointer-events: none;
}

/* List / Grid switch on the results page - toggled by results-view.js, which
   only flips .is-grid on [data-results-list]. Scoped to .results-section so the
   map panel (results-map.js moves the list into .map-modal__list) keeps its own
   compact list layout whichever view is picked. */
.results-view-toggle {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  height: 40px;
  padding: 3px;
  border: 1px solid #dfe3e9;
  border-radius: 100px;
  background: #f5f7fb;
}

.results-view-toggle__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 32px;
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: 100px;
  color: #536079;
  background: transparent;
  font: 500 14px Jost, sans-serif;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.results-view-toggle__btn:hover { color: #071538; }

.results-view-toggle__btn.is-active {
  border-color: #071538;
  color: #071538;
  background: #fff;
}

.results-view-toggle__btn:focus-visible {
  outline: 2px solid #315bdd;
  outline-offset: 2px;
}

.results-topbar > .col-auto.d-flex { flex-wrap: wrap; row-gap: 10px; }
.map-modal__list > .results-topbar .results-view-toggle { display: none; }

.results-section [data-results-list].is-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 24px;
  margin: 0;
}

.results-section [data-results-list].is-grid > * {
  grid-column: 1 / -1;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
}

.results-section [data-results-list].is-grid > [data-result-card] { grid-column: auto; }

.results-section [data-results-list].is-grid [data-result-card] > div {
  display: flex;
  flex-direction: column;
  height: 100%;
  /* !important: the template's .pt-30 utility is itself !important. */
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid #dfe3e9;
  border-radius: 8px;
  background: #fff;
}

.results-section [data-results-list].is-grid [data-result-card] > div > .row {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  flex-wrap: nowrap;
  margin: 0;
}

.results-section [data-results-list].is-grid [data-result-card] > div > .row > * {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}

.results-section [data-results-list].is-grid [data-result-card] .cardImage {
  width: 100%;
  border-radius: 0;
}

.results-section [data-results-list].is-grid [data-result-card] .cardImage::before { padding-bottom: 66.66667%; }
.results-section [data-results-list].is-grid [data-result-card] .cardImage .rounded-4 { border-radius: 0; }

.results-section [data-results-list].is-grid [data-result-card] > div > .row > .col-md { padding: 16px 16px 0; }

/* The long marketing line would stretch every tile; two lines is enough. */
.results-section [data-results-list].is-grid [data-result-card] .col-md > .lh-17 {
  display: -webkit-box;
  margin-top: 12px !important;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.results-section [data-results-list].is-grid [data-result-card] > div > .row > .col-md-auto:last-child {
  margin-top: auto;
  padding: 16px;
}

/* Guest rating (when present) on the left, price pinned to the right. */
.results-section [data-results-list].is-grid [data-result-card] .justify-end { justify-content: flex-start; }
.results-section [data-results-list].is-grid [data-result-card] .justify-end > .text-right {
  margin-left: auto;
  /* !important: the template's md:text-left (tablet) is itself !important. */
  text-align: right !important;
}

.results-section [data-results-list].is-grid [data-result-card] .mt-24 {
  width: 100%;
  margin-top: 14px !important;
  justify-content: center;
}

/* Phones stack both views into one column anyway, so the switch would only
   cost a row of toolbar there. */
@media (max-width: 575px) {
  .results-view-toggle { display: none; }
}
#single-map.is-inline{margin-top:0!important;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:0 30px;align-items:center}#single-map.is-inline>.ratio{grid-row:1/span 6;margin-bottom:0!important}#single-map.is-inline>.ratio:before{padding-bottom:50%}
