[hidden]{display:none!important}.card-rating{font-size:15px;font-weight:700;margin:20px 0 10px;color:#315661}.card-price{display:flex;flex-direction:column;gap:5px}.card-price strong{font-size:20px;color:#203c45}.card-price small{font-size:13px;line-height:1.5}.card-bottom{gap:12px}.map-toggle-bar{display:flex;gap:20px;align-items:center;margin:0 0 24px}.map-toggle-bar button{border:1px solid #00bfff;border-radius:32px;padding:13px 24px;background:#ecf9fd;font:600 15px Manrope;color:#244e5c}.map-toggle-bar span{font-size:13px;color:#617b81}.with-map{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:26px;align-items:start}.with-map #results-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.with-map .card h3{font-size:21px}.with-map .card-body{padding:20px}.with-map .card-bottom{flex-direction:column;align-items:start}.with-map .spec{flex-wrap:wrap;gap:10px}.with-map .photo{height:200px}#results-map-panel{position:sticky;top:20px;padding:0}#results-map{height:76vh;min-height:420px;border-radius:22px;z-index:1;background:#e3eff0}#results-map-panel>p{font-size:13px;color:#68858a;line-height:1.6;margin:12px 4px}.stay-marker{background:none;border:0}.stay-marker>span{display:flex;align-items:center;justify-content:center;background:white;border:1px solid #00bfff;border-radius:30px;box-shadow:0 2px 12px #163e4729;min-width:34px;height:36px;padding:0 8px;font:700 13px Manrope;white-space:nowrap;color:#203c45}.stay-marker svg{height:27px;width:24px;fill:#009ed0}.stay-marker:hover>span{background:#ecf9fd;transform:scale(1.08)}.map-property{display:block;color:#203c45!important;text-decoration:none}.map-property img{width:100%;height:150px;object-fit:cover;border-radius:12px 12px 0 0}.map-property>div{padding:14px}.map-property strong{font:700 16px/1.5 Manrope}.map-property p{font:400 13px/1.7 Manrope;margin:7px 0}.map-property b{font:700 16px Manrope}.map-property small{font-weight:400;font-size:12px}.leaflet-popup-content{margin:0!important;width:260px!important}.leaflet-popup-content-wrapper{padding:0!important;overflow:hidden;border-radius:14px!important}.review-headline{display:inline-flex;gap:8px;align-items:center;color:#234c59;font-size:17px;font-weight:600;margin:12px 0}.review-headline:hover{text-decoration:underline}.reviews-summary{font-size:24px;font-weight:700;color:#254955;margin:20px 0}.review-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.guest-review{padding:24px;border:1px solid #e0e9e9;border-radius:18px;background:#fcfdfc}.guest-review header{display:flex;justify-content:space-between;align-items:center;padding:0;gap:12px}.guest-review header strong{font-size:18px}.guest-review small{font-size:13px;color:#6a8088}.guest-review p{font-size:16px;line-height:1.8;white-space:pre-line;margin:16px 0 0}.guest-review .review-text{max-height:230px;overflow:auto}.review-stars{color:#027fa6;font-size:16px}.offer-box{border-top:1px solid #cfE3e9;padding-top:22px;margin-top:22px}.offer-box select{width:100%;padding:12px;border:1px solid #badbe6;border-radius:10px;background:white;font:500 15px Manrope;color:#234651;height:auto}.price-breakdown{list-style:none;padding:0;margin:18px 0}.price-breakdown li{display:flex;justify-content:space-between;gap:18px;font-size:15px;line-height:1.7;margin:11px 0}.price-breakdown li span{max-width:70%;overflow-wrap:anywhere}.offer-total{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #c6dfe6;padding-top:18px;font-size:22px;font-weight:700}.offer-nights{font-size:14px;color:#526e78;line-height:1.7}.offer-policy{font-size:14px;line-height:1.8;margin:18px 0;color:#385c68}.offer-book{display:block;width:100%;text-align:center;border:0;margin-top:20px;padding:17px;font-size:17px;font-family:Manrope;border-radius:40px;cursor:pointer}.offer-book:disabled{opacity:.6;cursor:wait}.checkout-page{background:#fcfdfc;color:#244853}.checkout-page .checkout-header{padding:28px 0;border-bottom:1px solid #e1eaeb;display:flex;align-items:center;justify-content:space-between;gap:20px}.checkout-header img{width:185px}.checkout-header>a:last-child{font-size:15px}.checkout-title{padding:48px 0 30px}.checkout-title h1{font-size:46px;letter-spacing:-1.5px;margin:0 0 15px}.checkout-title p{font-size:18px;line-height:1.8;color:#647e87}.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:65px;align-items:start;padding-bottom:80px}.checkout-form section{padding:28px 0;border-bottom:1px solid #e0e8e8}.checkout-form h2{font-size:26px;margin:0 0 22px}.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.checkout-fields label{font:600 14px Manrope;color:#47616b;display:block}.checkout-fields input,.checkout-fields select,.checkout-form textarea{display:block;box-sizing:border-box;width:100%;background:white;border:1px solid #cadcde;border-radius:12px;padding:14px 15px;font:400 16px Manrope;color:#244853;min-height:52px;margin-top:8px;height:auto}.checkout-fields input:focus,.checkout-fields select:focus,.checkout-form textarea:focus{outline:2px solid #00bfff;outline-offset:2px}.checkout-fields .full{grid-column:1/-1}.checkout-counts{grid-template-columns:repeat(4,1fr)}.checkout-checkbox{display:flex;gap:12px;align-items:start;font-size:16px;line-height:1.7;margin:16px 0}.checkout-checkbox input{width:20px;height:20px;flex:0 0 auto;margin-top:4px;accent-color:#00aee8}.checkout-form textarea{min-height:130px}.checkout-aside{position:sticky;top:24px;border:1px solid #d7e5e8;border-radius:22px;overflow:hidden;background:#ecf9fd}.checkout-aside>img{width:100%;height:220px;object-fit:cover}.checkout-aside>.summary-body{padding:28px}.summary-body h2{font-size:24px;line-height:1.5}.summary-body>p{font-size:15px;line-height:1.8}.payment-privacy{font-size:14px;line-height:1.8;color:#5b747e}#payment-form{min-height:360px;margin-top:20px}#payment-form iframe{width:100%;border:0;min-height:400px}.checkout-error{border-radius:12px;padding:16px 20px;background:#fff4e9;color:#814411;font-size:16px;line-height:1.7;margin:18px 0}.booking-success{max-width:750px;margin:60px auto;padding:45px;background:#ecf9fd;border-radius:26px;text-align:center}.success-symbol{display:inline-flex;width:66px;height:66px;align-items:center;justify-content:center;background:#00bfff;color:white;border-radius:50%;font-size:38px}.booking-success h1{font-size:44px;line-height:1.3}.booking-success p{font-size:18px;line-height:1.8}.booking-success .reference{font-size:24px;font-weight:700}.checkout-status{font-size:16px;line-height:1.8}.checkout-page .primary{font:600 17px Manrope;cursor:pointer}.checkout-page .primary:disabled{opacity:.5;cursor:wait}@media(max-width:1100px){.with-map{grid-template-columns:1fr 1fr}.with-map #results-grid{grid-template-columns:1fr}.checkout-layout{gap:30px;grid-template-columns:minmax(0,1fr) 330px}}@media(max-width:760px){.with-map{display:flex;flex-direction:column-reverse}.with-map #results-grid{width:100%;grid-template-columns:1fr}#results-map-panel{position:relative;width:100%;top:0}#results-map{height:55vh;min-height:330px}.review-list{grid-template-columns:1fr}.checkout-layout{display:flex;flex-direction:column-reverse;gap:24px}.checkout-form,.checkout-aside{width:100%;position:static}.checkout-title h1{font-size:35px}.checkout-fields{gap:16px}.checkout-counts{grid-template-columns:1fr 1fr}.checkout-header img{width:140px}.booking-success{padding:28px;margin:30px 0}.booking-success h1{font-size:34px}.offer-total{font-size:20px}.with-map .photo{height:250px}}@media(max-width:450px){.checkout-fields{grid-template-columns:1fr}.checkout-counts{grid-template-columns:1fr 1fr}.checkout-title{padding-top:30px}}
.stay-cluster{background:none;border:0}.stay-cluster span{display:flex;width:76px;height:38px;align-items:center;justify-content:center;background:#ecf9fd;border:2px solid #00bfff;border-radius:30px;color:#174d60;box-shadow:0 2px 10px #174d6033;font:700 13px Manrope}
/* Property booking controls: one bordered date/guest selector, separate action. */
.booking-card .search{display:block;border:0;border-radius:0;background:transparent;overflow:visible}.booking-inputs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid #89a8b1;border-radius:12px;background:#fff;overflow:hidden}.booking-card .booking-inputs>.field{border:0!important;padding:13px 12px!important;gap:3px;min-width:0;background:white}.booking-card .booking-inputs>.booking-checkout{border-left:1px solid #a8bec4!important}.booking-card .booking-inputs>.booking-guests{grid-column:1/-1;border-top:1px solid #a8bec4!important;position:relative;padding-right:38px!important}.booking-guests:after{content:''!important;display:block!important;position:absolute!important;width:8px!important;height:8px!important;border-right:1.7px solid #28505d;border-bottom:1.7px solid #28505d;transform:rotate(45deg)!important;right:17px!important;left:auto!important;top:28px!important;background:none!important}.booking-card .booking-inputs label{font:700 10px/1.5 Manrope;text-transform:uppercase;letter-spacing:.4px;color:#25434e}.booking-card .booking-inputs .search-value{font:400 15px/1.6 Manrope;color:#294c58;width:100%;text-align:left;min-height:26px}.booking-inputs .field:focus-within{box-shadow:inset 0 0 0 2px #00bfff}.booking-card .search .search-submit{width:100%;border-radius:10px;margin-top:14px;padding:15px;font:600 16px Manrope}.booking-card .search .guests-panel{width:320px;max-width:85vw;top:calc(100% - 47px);border-radius:16px}.compact-reviews .review-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:20px}.compact-reviews .review-section-heading h2{font-size:26px;margin:0}.compact-reviews .reviews-summary{font-size:16px;line-height:1.5;margin:0;color:#315560}.compact-reviews .guest-review{padding:18px 0;border:0;border-top:1px solid #e1e8e9;border-radius:0;background:transparent}.compact-reviews .guest-review header strong{font-size:16px}.compact-reviews .guest-review p{font-size:15px;line-height:1.65;margin:10px 0 0}.compact-reviews .review-text{max-height:none;overflow:visible}.compact-reviews #more-reviews{margin-top:18px}.review-read-more{padding:0;margin-top:8px;background:none;border:0;text-decoration:underline;font:600 14px Manrope;color:#315560;cursor:pointer}.reviews-dialog{width:880px;max-width:92vw;max-height:85vh;box-sizing:border-box;border:0;border-radius:24px;padding:28px;color:#264b58;overflow:auto}.reviews-dialog::backdrop{background:#102e386e}.reviews-dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:25px;position:sticky;top:-28px;background:white;padding:8px 0 20px;z-index:1}.reviews-dialog-heading h2{font-size:28px;margin:0}.reviews-dialog-heading p{font-size:16px;margin:10px 0 0}.reviews-close{border:0;border-radius:50%;width:36px;height:36px;flex-shrink:0;background:#ecf9fd;font-size:26px;color:#264b58;cursor:pointer}.reviews-dialog .guest-review{padding:20px;background:white}.reviews-dialog .review-text{max-height:none;overflow:visible;font-size:16px;line-height:1.7}.reviews-dialog .guest-review header{display:flex}.reviews-dialog .review-list{align-items:start}@media(max-width:760px){.compact-reviews .review-list{grid-template-columns:1fr}.compact-reviews .guest-review{padding:14px 0}.reviews-dialog{padding:22px}.reviews-dialog-heading{top:-22px}.booking-card .search .guests-panel{max-width:calc(100vw - 50px)}}
.booking-card .search .guests-panel{max-height:60vh;overflow-y:auto}

/* Review headers must not inherit the 100px site-navigation height. */
.guest-review header{height:auto!important;min-height:0;max-height:40px;padding:0!important;border:0;line-height:1.5}.guest-review header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.guest-review .review-stars{flex-shrink:0}.booking-selection{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:16px 0}.booking-selection>span{font:500 13px/1.7 Manrope;color:#365b66}.booking-selection button{border:0;background:none;padding:8px 0;text-decoration:underline;font:600 13px/1.5 Manrope;color:#246274;cursor:pointer;flex-shrink:0}.offer-policy .cancellation-badge{display:inline-flex;align-items:center;background:#e2f4df;color:#2f632e;border:1px solid #c8e5c3;border-radius:8px;padding:7px 11px;font:600 14px/1.4 Manrope;margin-bottom:10px}.offer-policy .cancellation-badge.restricted{background:#f2f1ec;border-color:#e1ded3;color:#625a41}.offer-policy .policy-line{display:block;margin:6px 0}.offer-policy .payment-date{font-weight:600}

.unit-selection{padding:16px 0;border-top:1px solid #cce5ed}.unit-selection label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}.unit-selection select{width:100%;padding:14px 16px;border:1px solid #bcdde8;border-radius:14px;background:#fff;font:inherit;color:inherit}.unit-selection p{font-size:13px;line-height:1.5;margin:8px 0 0}.unit-occupancy{color:#566770}.room-type-note{font-size:12px;color:#526b74;margin:10px 0}.unit-selection~.primary{width:100%}

.results-section-title{grid-column:1/-1;margin:24px 0 0;font-size:22px;font-weight:600}.distance-attribution{font-size:12px;color:#63747a;line-height:1.6;margin:24px 0}.distance-attribution a{color:inherit;text-decoration:underline}.distance-note{font-size:12px;color:#63747a;margin:6px 0}

/* Offer selector shares the booking card's colours, corners and typography. */
.rate-picker{position:relative;margin:18px 0 24px;min-width:0}.rate-picker-label{display:block;font:700 12px/1.5 Manrope;color:#315662;margin:0 0 8px}.rate-picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:15px 16px;border:1px solid #9bbcc6;border-radius:13px;background:#fff;color:#244d5b;text-align:left;font:500 15px/1.5 Manrope;cursor:pointer}.rate-picker-trigger strong,.rate-picker-trigger small{display:block}.rate-picker-trigger strong{font-weight:650}.rate-picker-trigger small{font-size:13px;color:#5a7680;margin-top:4px}.rate-picker-trigger svg{width:21px;height:21px;flex-shrink:0;transition:transform .15s}.rate-picker-trigger[aria-expanded=true]{border-color:#00bfff;box-shadow:0 0 0 3px #00bfff1a}.rate-picker-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.rate-picker-options{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:30;padding:7px;background:#fff;border:1px solid #c7e1e9;border-radius:15px;box-shadow:0 14px 38px #244d5b24;max-height:340px;max-height:min(340px,50vh);overflow:auto}.rate-picker-options>[role=option]{display:block;width:100%;padding:13px;border:1px solid transparent;border-radius:10px;background:#fff;text-align:left;font:500 14px/1.5 Manrope;color:#244d5b;cursor:pointer}.rate-picker-options>[role=option]+[role=option]{margin-top:4px}.rate-picker-options>[role=option]:hover,.rate-picker-options>[role=option]:focus-visible{background:#f0faff;border-color:#7edcf2;outline:none}.rate-picker-options>[aria-selected=true]{background:#ecf9fd;border-color:#b5e8f5}.rate-option-heading{display:flex;justify-content:space-between;gap:10px}.rate-option-heading strong{font-weight:650}.rate-option-check{color:#008bb9;font-weight:700}.rate-option-price{display:block;font-weight:700;margin-top:5px}.rate-option-price small{font-weight:400;color:#67808a}.rate-option-policy{display:inline-block;font-size:11px;font-weight:650;margin-top:8px;color:#625a41}.rate-option-policy.free{color:#2f632e}.rate-picker-trigger:focus-visible{outline:2px solid #00a9dd;outline-offset:3px}.offer-policy .cancellation-deadline{color:#2f632e;font-weight:700}

.card-price[aria-busy="true"]{min-height:55px}.price-loading{display:flex;align-items:center;gap:8px}.price-loading:before{content:"";width:13px;height:13px;border:2px solid #b8e9f7;border-top-color:#007eaa;border-radius:50%;animation:price-spin .8s linear infinite;flex:none}@keyframes price-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.price-loading:before{animation:none}}
