/* Single property design. All selectors stay inside the property page. */
.sp-page{--sp-ink:var(--ink);--sp-deep:#153b43;--sp-teal:#217f91;--sp-line:#dbe6e7;--sp-muted:#60747a;--sp-soft:#f8faf9;color:var(--sp-ink);background:#fff;overflow:clip}
.sp-page *{box-sizing:border-box}.sp-page .sp-wrap{width:min(var(--a1a-container,1380px),calc(100% - 64px));margin-inline:auto}.sp-page h1,.sp-page h2,.sp-page h3{color:var(--sp-ink);letter-spacing:-.035em;line-height:1.13}.sp-page p{color:var(--sp-muted)}.sp-page button{cursor:pointer}.sp-page a{text-decoration:none}.sp-page i.fi{display:inline-flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0}.sp-page [hidden]{display:none!important}.sp-page .sp-eyebrow{display:flex;align-items:center;gap:9px;color:#17687a;font-size:14px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.sp-page .sp-eyebrow i{font-size:16px}
.sp-intro{padding-top:28px}.sp-breadcrumb{display:flex;align-items:center;gap:9px;color:#71858a;font-size:14px}.sp-breadcrumb a:hover{text-decoration:underline}.sp-breadcrumb i{font-size:13px;color:#a1b0b2}.sp-title-row{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:30px 0 25px}.sp-title-row h1{font-size:clamp(36px,4.15vw,60px);margin:9px 0 13px}.sp-meta{display:flex;flex-wrap:wrap;gap:8px 19px;color:#4c6268;font-size:14px}.sp-meta span{display:inline-flex;align-items:center;gap:7px}.sp-meta i{font-size:15px;color:#267e8c}.sp-title-actions{display:flex;gap:8px;padding-bottom:6px}.sp-small-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 13px;border:1px solid var(--sp-line);border-radius:11px;background:#fff;color:var(--sp-ink);font-size:14px;font-weight:700;white-space:nowrap;transition:background .2s}.sp-small-button:hover{background:#e9f5f6}.sp-small-button i{font-size:14px}
.sp-gallery{position:relative;display:grid;grid-template-columns:1.8fr 1fr 1fr;grid-template-rows:248px 248px;gap:9px;height:505px;overflow:hidden;border-radius:18px;background:#d8e8eb}.sp-photo{border:0;padding:0;overflow:hidden;background:#c1d8d9;min-width:0;min-height:0}.sp-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}.sp-photo:hover img{transform:scale(1.035)}.sp-photo:first-child{grid-row:span 2}.sp-photo:nth-child(4){grid-column:3;grid-row:2}.sp-gallery--1{grid-template-columns:1fr;grid-template-rows:1fr}.sp-gallery--2{grid-template-columns:1.6fr 1fr;grid-template-rows:1fr}.sp-gallery--2 .sp-photo:first-child{grid-row:auto}.sp-gallery--3{grid-template-columns:1.7fr 1fr;grid-template-rows:1fr 1fr}.sp-gallery--3 .sp-photo:nth-child(3){grid-column:2;grid-row:2}.sp-photo-count{position:absolute;right:18px;bottom:18px;z-index:1;display:inline-flex;align-items:center;gap:8px;border:0;border-radius:10px;padding:11px 16px;background:#fff;color:var(--sp-ink);font-size:14px;font-weight:700;box-shadow:0 7px 25px #173b3f20}.sp-photo-count:hover{background:#e9f5f6}.sp-no-photo{height:290px;border-radius:18px;background:#e9f5f6;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px;color:#53777d}.sp-no-photo i{font-size:30px}
.sp-tabs{position:sticky;top:118px;z-index:25;margin-top:23px;border-block:1px solid var(--sp-line);background:#fff}.sp-tabs .sp-wrap{display:flex;justify-content:space-between;gap:24px;align-items:center}.sp-tabs nav{display:flex;gap:30px;overflow:auto;scrollbar-width:none;white-space:nowrap}.sp-tabs nav a{display:flex;align-items:center;height:58px;border-bottom:2px solid transparent;color:#62777c;font-size:14px;font-weight:700}.sp-tabs nav a:hover,.sp-tabs nav a:focus-visible{color:#17687a;border-color:var(--sp-teal)}.sp-tabs-action{display:inline-flex;align-items:center;gap:8px;color:#17687a;font-size:14px;font-weight:700;white-space:nowrap}
.sp-content{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(45px,5vw,90px);align-items:start;padding-top:45px;padding-bottom:60px}.sp-content-main{min-width:0}.sp-section{padding-bottom:48px;margin-bottom:45px;border-bottom:1px solid var(--sp-line);scroll-margin-top:190px}.sp-section:last-child{border:0;margin-bottom:0;padding-bottom:0}.sp-section-label{display:flex;align-items:center;gap:14px;margin-bottom:22px;color:#17687a;font-size:14px;font-weight:700;letter-spacing:.14em}.sp-section-label::after{content:"";height:1px;background:var(--sp-line);flex:1}.sp-section h2{margin:0 0 17px}.sp-lead p{font-size:17px;line-height:1.8;color:#425b62;max-width:720px}.sp-description p{font-size:14px;line-height:1.9;max-width:760px}.sp-sleep{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sp-sleep>div{padding:21px;min-height:148px;border:1px solid var(--sp-line);border-radius:18px;background:var(--sp-soft)}.sp-sleep i{font-size:25px;color:var(--sp-teal)}.sp-sleep h3{font-size:20px;margin:16px 0 4px}.sp-sleep p{font-size:14px;margin:0}.sp-amenities{display:grid;grid-template-columns:1fr 1fr;gap:0 38px;margin:20px 0}.sp-amenities>div{display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--sp-line);padding:10px 0;font-size:14px}.sp-amenities i{color:#17687a;font-size:15px}.sp-disclosure details{border-bottom:1px solid var(--sp-line)}.sp-disclosure details:first-child{border-top:1px solid var(--sp-line)}.sp-disclosure summary{display:flex;justify-content:space-between;align-items:center;list-style:none;padding:17px 0;cursor:pointer;font-size:14px;font-weight:700}.sp-disclosure summary::-webkit-details-marker{display:none}.sp-disclosure summary span{display:inline-flex;align-items:center;gap:10px}.sp-disclosure summary i{color:#17687a}.sp-disclosure details[open] summary>i{transform:rotate(180deg)}.sp-disclosure details>div{font-size:14px;line-height:1.75;padding-bottom:17px}.sp-disclosure details>div p{margin-bottom:0}
.sp-book{position:sticky;top:192px;padding:24px;border:1px solid var(--sp-line);border-radius:18px;background:#fff;box-shadow:0 22px 50px #18323b13;scroll-margin-top:192px}.sp-book h2{margin:11px 0 7px}.sp-book>p{font-size:16px;line-height:1.55;margin-bottom:20px}.sp-widget{min-height:130px}.sp-widget-pending{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;min-height:154px;padding:20px;text-align:center;border:1px dashed #a9c9cf;border-radius:12px;background:#f2f8f8}.sp-widget-pending i{color:#17687a;font-size:23px}.sp-widget-pending strong{font-size:14px}.sp-widget-pending span{color:var(--sp-muted);font-size:14px}.sp-book-help{display:flex;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--sp-line)}.sp-book-help>i{width:37px;height:37px;border-radius:11px;background:#e9f5f6;color:#17687a;font-size:17px}.sp-book-help small{display:block;font-size:14px;color:#788c91}.sp-book-help a{font-size:14px;font-weight:700}.sp-book-trust{display:flex;align-items:start;gap:8px;margin-top:17px;padding-top:16px;border-top:1px solid var(--sp-line);color:#6f8286;font-size:14px}.sp-book-trust i{color:#17687a;font-size:16px}
.sp-related{padding:65px 0 75px;background:var(--sp-soft)}.sp-related-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:24px}.sp-related-head h2{margin:8px 0 0}.sp-related-head>a{color:#17687a;font-size:14px;font-weight:700}.sp-related-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sp-related-card{overflow:hidden;border:1px solid var(--sp-line);border-radius:18px;background:#fff}.sp-related-photo{height:195px;background:#c8dfe2}.sp-related-photo img{display:block;width:100%;height:100%;object-fit:cover}.sp-related-card>div:last-child{padding:18px}.sp-related-card h3{font-size:18px;margin:0 0 10px}.sp-related-card span{color:#17687a;font-size:14px;font-weight:700}.sp-help{padding:51px 0;background:var(--sp-deep);color:#fff}.sp-help .sp-wrap{display:flex;align-items:center;justify-content:space-between;gap:28px}.sp-help h2{color:#fff;margin:6px 0 8px}.sp-help p{color:#c5dadd;font-size:14px;margin:0}.sp-help .sp-eyebrow{color:#b8e0e5}.sp-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:13px 19px;border-radius:12px;background:#fff;color:var(--sp-deep);font-size:14px;font-weight:700;white-space:nowrap}.sp-button:hover{background:#e9f5f6}.sp-mobile-book{display:none}.sp-toast{position:fixed;bottom:22px;left:50%;z-index:90;transform:translateX(-50%);padding:9px 16px;border-radius:10px;background:var(--sp-deep);color:#fff;font-size:14px}.sp-toast:empty{display:none}
.sp-lightbox{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;background:#10252cf5;color:#fff}.sp-lightbox-top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 22px;font-size:14px}.sp-lightbox button{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;border:1px solid #ffffff52;border-radius:10px;background:#ffffff16;color:#fff;font-size:20px}.sp-lightbox button:hover{background:#ffffff36}.sp-lightbox-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:22px;padding:12px 20px}.sp-lightbox-stage img{width:auto;max-width:calc(100vw - 150px);height:auto;max-height:calc(100dvh - 160px);object-fit:contain;border-radius:8px}.sp-lightbox-bottom{text-align:center;padding:14px 20px 22px;font-size:14px;color:#d3e2e3}body.sp-lightbox-open{overflow:hidden}
@media(max-width:1100px){.sp-content{grid-template-columns:minmax(0,1fr) 320px;gap:30px}.sp-gallery{grid-template-rows:210px 210px;height:429px}}
@media(max-width:830px){.sp-page .sp-wrap{width:calc(100% - 40px)}.sp-content{display:flex;flex-direction:column}.sp-content-main{width:100%}.sp-book{position:relative;top:auto;order:-1;width:100%;box-shadow:none}.sp-tabs-action{display:none}.sp-gallery{grid-template-columns:1.6fr 1fr;grid-template-rows:215px 215px;height:439px}.sp-gallery .sp-photo:nth-child(3){display:none}.sp-gallery .sp-photo:nth-child(4){grid-column:2;grid-row:2}.sp-gallery--1{grid-template-columns:1fr;grid-template-rows:1fr}.sp-gallery--2{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.sp-gallery--3 .sp-photo:nth-child(3){display:block;grid-column:2;grid-row:2}.sp-related-list{grid-template-columns:repeat(2,1fr)}.sp-related-card:last-child:nth-child(3){display:none}}
@media(max-width:600px){.sp-page .sp-wrap{width:calc(100% - 28px)}.sp-intro{padding-top:19px}.sp-title-row{margin:23px 0 18px;align-items:start}.sp-title-row h1{font-size:37px}.sp-meta{font-size:14px;gap:4px 11px}.sp-title-actions{display:none}.sp-gallery{height:340px;grid-template-columns:1fr 1fr;grid-template-rows:225px 106px;gap:6px;border-radius:13px}.sp-gallery .sp-photo:first-child{grid-column:span 2;grid-row:1}.sp-gallery .sp-photo:nth-child(2){grid-column:1;grid-row:2}.sp-gallery .sp-photo:nth-child(3){display:block;grid-column:2;grid-row:2}.sp-gallery .sp-photo:nth-child(4){display:none}.sp-gallery--1{grid-template-columns:1fr;grid-template-rows:1fr}.sp-gallery--1 .sp-photo:first-child{grid-column:1;grid-row:1}.sp-gallery--2{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.sp-gallery--2 .sp-photo:first-child{grid-column:1;grid-row:1}.sp-gallery--2 .sp-photo:nth-child(2){grid-column:2;grid-row:1}.sp-photo-count{right:10px;bottom:10px;padding:8px 10px;font-size:14px}.sp-tabs nav{gap:23px}.sp-tabs nav a{height:48px;font-size:14px}.sp-content{padding-top:24px;padding-bottom:31px;gap:27px}.sp-book{padding:20px}.sp-section{padding-bottom:31px;margin-bottom:31px}.sp-lead p{font-size:15px}.sp-sleep{grid-template-columns:1fr}.sp-amenities{grid-template-columns:1fr}.sp-related{padding:43px 0}.sp-related-head>a{display:none}.sp-related-list{grid-template-columns:1fr}.sp-related-card:last-child:nth-child(3){display:block}.sp-related-photo{height:170px}.sp-help{padding:40px 0 115px}.sp-help .sp-wrap{display:block}.sp-help .sp-button{margin-top:18px}.sp-mobile-book{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#ffffffed;backdrop-filter:blur(14px);border-top:1px solid var(--sp-line)}.sp-mobile-book strong{display:block;font-size:14px;line-height:1.2}.sp-mobile-book small{display:block;color:var(--sp-muted);font-size:14px}.sp-mobile-book>a{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:10px 14px;border-radius:10px;background:var(--sp-teal);color:#fff;font-size:14px;font-weight:700}.sp-lightbox-stage{gap:5px;padding:10px}.sp-lightbox-stage img{max-width:calc(100vw - 105px)}}
@media(prefers-reduced-motion:reduce){.sp-page *{transition:none!important;animation:none!important}}
@media(max-width:1080px){.sp-tabs{top:82px}.sp-book{top:156px}}
@media(max-width:830px){.sp-book{top:auto;scroll-margin-top:145px}}
@media(max-width:700px){.sp-tabs{top:74px}}
@media(max-width:1080px){.sp-section{scroll-margin-top:155px}}
@media(max-width:700px){.sp-section{scroll-margin-top:130px}}

/* Explicitly fill the desktop mosaic for four or five available photos. */
@media(min-width:831px){
  .sp-gallery--5 .sp-photo:nth-child(4){grid-column:2;grid-row:2}
  .sp-gallery--5 .sp-photo:nth-child(5){grid-column:3;grid-row:2}
  .sp-gallery--4 .sp-photo:nth-child(4){grid-column:2/4;grid-row:2}
}
@media(max-width:830px){.sp-gallery .sp-photo:nth-child(5){display:none}}
.sp-gallery--1 .sp-photo:first-child{grid-column:1;grid-row:1}
.sp-lightbox-stage{position:relative}
.sp-lightbox-stage img.is-loading{opacity:.65}
.sp-lightbox-loading{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%);padding:10px 16px;border-radius:8px;background:#10252cdb;color:#fff;font-size:14px;white-space:nowrap;pointer-events:none}

/* Property details and booking share the available width without a large gutter. */
.sp-content{grid-template-columns:minmax(0,1fr) 450px;gap:30px}
.sp-page .sp-section p{width:auto;max-width:none}
.sp-description{overflow-wrap:anywhere}
.sp-description p{font-size:15px;line-height:1.75}
.sp-read-more{margin-top:3px;color:#17687a;border-color:#b8d4d9}
.sp-read-more i{font-size:12px}
@media(max-width:1100px){.sp-content{grid-template-columns:minmax(0,1fr) 420px;gap:24px}}
@media(max-width:830px){.sp-content{display:flex;gap:27px}}

/* Full property description retains the safe HTML supplied by the listing. */
.sp-description-overlay{position:fixed;inset:0;z-index:110;display:flex;align-items:center;justify-content:center;padding:24px;background:#10252cbb}
.sp-description-dialog{display:flex;flex-direction:column;width:min(760px,100%);max-height:min(82dvh,850px);overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 25px 80px #10252c55}
.sp-description-dialog-head{display:flex;align-items:start;justify-content:space-between;gap:20px;padding:28px 32px 17px;border-bottom:1px solid var(--sp-line)}
.sp-description-dialog-head .sp-section-label{margin:0 0 8px}
.sp-description-dialog-head .sp-section-label::after{display:none}
.sp-description-dialog-head h2{margin:0;}
.sp-description-close{flex:none;width:42px;height:42px;border:1px solid var(--sp-line);border-radius:10px;background:#fff;color:var(--sp-ink);font-size:19px}
.sp-description-close:hover{background:#e9f5f6}
.sp-description-dialog-body{overflow-y:auto;overscroll-behavior:contain;padding:24px 32px 32px;line-height:1.8;overflow-wrap:anywhere}
.sp-description-dialog-body .sp-lead{margin-bottom:19px}
.sp-description-dialog-body .sp-lead p,.sp-description-full p{max-width:none;margin:0 0 15px;line-height:1.8}
.sp-description-full p{font-size:15px}
.sp-description-full ul,.sp-description-full ol{padding-left:22px;margin:0 0 18px}
.sp-description-full li{margin:6px 0}
body.sp-description-open{overflow:hidden}
@media(max-width:600px){.sp-description-overlay{align-items:flex-end;padding:0}.sp-description-dialog{width:100%;max-height:92dvh;border-radius:17px 17px 0 0}.sp-description-dialog-head{padding:20px 18px 15px}.sp-description-dialog-body{padding:18px 18px calc(24px + env(safe-area-inset-bottom))}}
/* Saved coordinates power the full-size property map. */
.sp-property-map{height:520px;overflow:hidden;border:1px solid var(--sp-line);border-radius:18px;background:#e9f5f6}
.sp-property-map iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:1100px){.sp-property-map{height:470px}}
@media(max-width:600px){.sp-property-map{height:390px;border-radius:13px}}

/* Gallery-led property layout: groups use space and typography instead of item borders. */
.sp-page .sp-intro{padding-top:23px}
.sp-page .sp-title-row{margin:16px 0 22px}
.sp-page .sp-title-row h1{margin:0 0 7px;font-size:clamp(34px,3.5vw,51px)}
.sp-page .sp-location{display:flex;align-items:center;gap:8px;margin-bottom:11px;color:#536e75;font-size:14px}
.sp-page .sp-location i{color:var(--sp-teal);font-size:16px}
.sp-page .sp-meta{gap:9px 24px;font-size:14px}
.sp-page .sp-gallery{grid-template-columns:1.32fr 1fr 1fr;grid-template-rows:260px 205px;height:474px;gap:5px;border-radius:0}
.sp-page .sp-gallery .sp-photo:first-child{grid-column:1;grid-row:1/3}
.sp-page .sp-gallery .sp-photo:nth-child(2){grid-column:2/4;grid-row:1}
.sp-page .sp-gallery .sp-photo:nth-child(3){grid-column:2;grid-row:2}
.sp-page .sp-gallery .sp-photo:nth-child(4){grid-column:3;grid-row:2}
.sp-page .sp-gallery--5 .sp-photo:nth-child(2){grid-column:2;grid-row:1}
.sp-page .sp-gallery--5 .sp-photo:nth-child(3){grid-column:3;grid-row:1}
.sp-page .sp-gallery--5 .sp-photo:nth-child(4){grid-column:2;grid-row:2}
.sp-page .sp-gallery--5 .sp-photo:nth-child(5){grid-column:3;grid-row:2}
.sp-page .sp-gallery--3 .sp-photo:nth-child(2){grid-column:2/4;grid-row:1}
.sp-page .sp-gallery--3 .sp-photo:nth-child(3){grid-column:2/4;grid-row:2}
.sp-page .sp-gallery--2{grid-template-columns:1.3fr 1fr;grid-template-rows:1fr}
.sp-page .sp-gallery--2 .sp-photo:first-child{grid-column:1;grid-row:1}
.sp-page .sp-gallery--2 .sp-photo:nth-child(2){grid-column:2;grid-row:1}
.sp-page .sp-gallery--1{grid-template-columns:1fr;grid-template-rows:1fr}
.sp-page .sp-gallery--1 .sp-photo:first-child{grid-column:1;grid-row:1}
.sp-page .sp-tabs{margin-top:0;border-top:0}
.sp-page .sp-content{grid-template-columns:minmax(0,1fr) 320px;gap:clamp(28px,4vw,64px);padding-top:42px;padding-bottom:35px}
.sp-page .sp-content-main{display:grid;gap:30px}
.sp-page .sp-section{padding:0 0 31px;margin:0;border-bottom:1px solid #e7eceb}
.sp-page .sp-section:last-child{padding-bottom:0;border:0}
.sp-page .sp-section h2,.sp-page .sp-know h2,.sp-page .sp-extra-details h2,.sp-page .sp-reviews h2,.sp-page .sp-location-section h2,.sp-page .sp-related-head h2{margin:0 0 17px;}
.sp-page .sp-overview .sp-lead p{margin:0 0 12px;color:#445c63;font-size:15px;line-height:1.75}
.sp-page .sp-description p{margin:0 0 9px;color:#526b71;font-size:14px;line-height:1.75}
.sp-page .sp-read-more{display:inline-flex;align-items:center;gap:7px;margin:5px 0 0;padding:2px 0;border:0;background:transparent;color:#17687a;font-size:14px;font-weight:700}
.sp-page .sp-read-more:hover{text-decoration:underline}
.sp-page .sp-amenity-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 27px}
.sp-page .sp-amenity-group{min-width:0}
.sp-page .sp-amenity-group h3{margin:0 0 11px;font-size:15px;line-height:1.4;letter-spacing:-.02em}
.sp-page .sp-amenity-group ul,.sp-page .sp-know-grid ul,.sp-page .sp-extra-grid ul{list-style:none;margin:0;padding:0}
.sp-page .sp-amenity-group li{display:flex;align-items:start;gap:11px;margin:0 0 9px;color:#536c72;font-size:14px;line-height:1.55;overflow-wrap:anywhere}
.sp-page .sp-amenity-group li i{margin-top:3px;color:#268ca0;font-size:11px}
.sp-page .sp-book{top:190px;padding:24px;border:0;border-radius:13px;background:#fcf5e9;box-shadow:none}
.sp-page .sp-book h2{margin:0 0 18px;}
.sp-page .sp-widget{min-height:0}
.sp-page .sp-widget-pending{min-height:154px;padding:21px;background:#fff;border:0;border-radius:10px}
.sp-page .sp-widget-pending i{font-size:25px}
.sp-page .sp-widget-pending strong{font-size:15px}
.sp-page .sp-widget-pending span{max-width:235px;font-size:14px;line-height:1.55}
.sp-page .sp-book-help{margin-top:19px;padding-top:0;border:0}
.sp-page .sp-book-help>i{background:transparent;font-size:25px}
.sp-page .sp-book-help small{font-size:14px}
.sp-page .sp-book-help a{font-size:15px}
.sp-page .sp-book-trust{margin-top:18px;padding-top:18px;color:#526970;font-size:14px;line-height:1.55}
.sp-page .sp-book-trust strong{color:var(--sp-ink)}
.sp-page .sp-book-trust i{font-size:21px}
.sp-page .sp-know-wrap{background:#fcf7ee;scroll-margin-top:180px}
.sp-page .sp-know-wrap>.sp-wrap{padding-block:31px 36px}
.sp-page .sp-know-grid,.sp-page .sp-extra-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:27px}
.sp-page .sp-know-grid h3,.sp-page .sp-extra-grid h3{margin:0 0 6px;font-size:14px;letter-spacing:-.01em}
.sp-page .sp-know-grid li,.sp-page .sp-extra-grid li,.sp-page .sp-rich-text{margin:0 0 4px;color:#536c72;font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.sp-page .sp-rich-text p{margin:0 0 8px;color:inherit}
.sp-page .sp-rich-text ul,.sp-page .sp-rich-text ol{margin:0;padding-left:18px}
.sp-page .sp-extra-details{margin-top:32px;padding-top:26px;border-top:1px solid #e4e6dd}
.sp-page .sp-extra-grid{gap:25px 35px}
.sp-page .sp-reviews,.sp-page .sp-location-section{padding-block:38px;border-bottom:1px solid #e7eceb;scroll-margin-top:180px}
.sp-page .sp-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 54px}
.sp-page .sp-review-summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin:-4px 0 22px}
.sp-page .sp-review-summary>span{color:#e8a625;font-size:24px;line-height:1}
.sp-page .sp-review-summary strong{font-size:14px}
.sp-page .sp-review-summary small{color:#73878c;font-size:14px}
.sp-page .sp-review{min-width:0;padding:0;border:0;background:transparent}
.sp-page .sp-review-rating{display:flex;align-items:center;gap:9px;color:#e8a625;font-size:18px;letter-spacing:2px;line-height:1.1}
.sp-page .sp-review-rating small{font-size:14px;letter-spacing:0;color:#526970}
.sp-page .sp-review p{margin:10px 0 15px;color:#415b62;font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.sp-page .sp-review-by{display:flex;align-items:center;gap:10px}
.sp-page .sp-review-avatar{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#e4f1f1;color:#18768a;font-size:15px;font-weight:700}
.sp-page .sp-review-by strong,.sp-page .sp-review-by small{display:block;line-height:1.5}
.sp-page .sp-review-by strong{font-size:14px}
.sp-page .sp-review-by small{color:#73878c;font-size:14px}
.sp-page .sp-location-section{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);gap:35px;align-items:start}
.sp-page .sp-location-copy>strong{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:14px}
.sp-page .sp-location-copy>strong i{color:#1e8295}
.sp-page .sp-property-map{height:290px;border:0;border-radius:9px}
.sp-page .sp-related{padding:38px 0 55px;background:#fff}
.sp-page .sp-related-head{margin-bottom:15px}
.sp-page .sp-related-head h2{margin:0}
.sp-page .sp-related-card{border:0;border-radius:0;background:transparent}
.sp-page .sp-related-photo{height:175px}
.sp-page .sp-related-card>div:last-child{padding:9px 0 0}
.sp-page .sp-related-card h3{margin:0 0 4px;font-size:15px}
.sp-page .sp-related-card span{font-size:14px}
@media(max-width:1050px){.sp-page .sp-content{grid-template-columns:minmax(0,1fr) 290px;gap:24px}.sp-page .sp-amenity-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-page .sp-know-grid,.sp-page .sp-extra-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:830px){.sp-page .sp-content{display:flex;flex-direction:column;padding-top:18px}.sp-page .sp-book{position:relative;top:auto;order:-1;width:100%}.sp-page .sp-gallery{height:390px;grid-template-rows:210px 171px}.sp-page .sp-gallery .sp-photo:nth-child(3){display:block}.sp-page .sp-gallery .sp-photo:nth-child(4){display:block;grid-column:3;grid-row:2}.sp-page .sp-gallery--5 .sp-photo:nth-child(5){display:none}}
@media(max-width:600px){.sp-page .sp-intro{padding-top:15px}.sp-page .sp-title-row{margin:15px 0 14px}.sp-page .sp-title-row h1{font-size:35px}.sp-page .sp-meta{gap:5px 15px}.sp-page .sp-gallery{height:322px;grid-template-columns:1fr 1fr;grid-template-rows:215px 103px;gap:4px}.sp-page .sp-gallery .sp-photo:first-child{grid-column:1/3;grid-row:1}.sp-page .sp-gallery .sp-photo:nth-child(2){grid-column:1;grid-row:2}.sp-page .sp-gallery .sp-photo:nth-child(3){grid-column:2;grid-row:2}.sp-page .sp-gallery .sp-photo:nth-child(n+4){display:none}.sp-page .sp-gallery--1{grid-template-columns:1fr;grid-template-rows:1fr}.sp-page .sp-gallery--1 .sp-photo:first-child{grid-column:1;grid-row:1}.sp-page .sp-gallery--2{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.sp-page .sp-gallery--2 .sp-photo:first-child{grid-column:1;grid-row:1}.sp-page .sp-gallery--2 .sp-photo:nth-child(2){grid-column:2;grid-row:1}.sp-page .sp-content{gap:22px;padding-bottom:26px}.sp-page .sp-content-main{gap:22px}.sp-page .sp-section{padding-bottom:23px}.sp-page .sp-section h2,.sp-page .sp-know h2,.sp-page .sp-extra-details h2,.sp-page .sp-reviews h2,.sp-page .sp-location-section h2,.sp-page .sp-related-head h2{margin-bottom:13px}.sp-page .sp-book{padding:18px}.sp-page .sp-amenity-groups{grid-template-columns:1fr;gap:19px}.sp-page .sp-amenity-group{display:grid;grid-template-columns:1fr 2fr;gap:15px}.sp-page .sp-amenity-group h3{font-size:14px}.sp-page .sp-amenity-group li{font-size:14px;margin-bottom:6px}.sp-page .sp-know-wrap>.sp-wrap{padding-block:26px}.sp-page .sp-know-grid,.sp-page .sp-extra-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px}.sp-page .sp-review-grid{grid-template-columns:1fr;gap:25px}.sp-page .sp-reviews,.sp-page .sp-location-section{padding-block:27px}.sp-page .sp-location-section{grid-template-columns:1fr;gap:16px}.sp-page .sp-property-map{height:280px}.sp-page .sp-related{padding:28px 0 105px}.sp-page .sp-related-list{grid-template-columns:1fr 1fr;gap:12px}.sp-page .sp-related-card:last-child:nth-child(3){display:none}.sp-page .sp-related-photo{height:100px}.sp-page .sp-mobile-book{border-top:1px solid #e8eeee}}

/* Practical details: larger, borderless accordion rows. */
.sp-page .sp-know-wrap>.sp-wrap{padding-block:46px 50px}
.sp-page .sp-know h2{margin-bottom:22px}
.sp-page .sp-know-accordion{display:grid;gap:10px;max-width:1100px}
.sp-page .sp-know-accordion details{min-width:0;border:0;border-radius:12px;background:#fff}
.sp-page .sp-know-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:66px;padding:16px 22px;list-style:none;cursor:pointer;color:var(--sp-ink);font-size:17px;font-weight:700}
.sp-page .sp-know-accordion summary::-webkit-details-marker{display:none}
.sp-page .sp-know-accordion summary:focus-visible{outline:3px solid #4aa1b1;outline-offset:2px;border-radius:12px}
.sp-page .sp-know-accordion summary i{color:#237f91;font-size:22px;transition:transform .2s ease}
.sp-page .sp-know-accordion details[open] summary i{transform:rotate(180deg)}
.sp-page .sp-accordion-body{padding:0 22px 22px;color:#445e65;font-size:16px;line-height:1.75}
.sp-page .sp-accordion-body ul{list-style:none;margin:0;padding:0}
.sp-page .sp-accordion-body li{margin:0 0 6px}
.sp-page .sp-accordion-body p{margin:0 0 12px;color:inherit;font-size:16px;line-height:1.75}
.sp-page .sp-accordion-body p:last-child{margin-bottom:0}

/* Two reviews per view, one on phones; horizontal scrolling is confined to the slider. */
.sp-page .sp-review-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}
.sp-page .sp-review-heading h2{margin-bottom:15px}
.sp-page .sp-review-controls{display:flex;gap:8px;margin-bottom:15px}
.sp-page .sp-review-controls button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:#eaf3f4;color:#17687a;font-size:20px}
.sp-page .sp-review-controls button:hover:not(:disabled){background:#d7ebee}
.sp-page .sp-review-controls button:disabled{opacity:.4;cursor:default}
.sp-page .sp-review-controls button:focus-visible{outline:3px solid #4aa1b1;outline-offset:2px}
.sp-page .sp-review-slider{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 34px)/2);gap:34px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 1px 12px}
.sp-page .sp-review-slider::-webkit-scrollbar{display:none}
.sp-page .sp-review-slider:focus-visible{outline:3px solid #4aa1b1;outline-offset:3px}
.sp-page .sp-review-slider--single{grid-auto-columns:100%}
.sp-page .sp-review{scroll-snap-align:start}
.sp-page .sp-review p{font-size:16px;line-height:1.7}
.sp-page .sp-review-by strong{font-size:14px}
.sp-page .sp-review-by small{font-size:14px}

/* Reuse the exact property card component used on Home and Rentals. */
.sp-page .sp-related-list{gap:18px}
.sp-page .sp-related-list .a1avr-property-card{border:1px solid var(--line,var(--line));border-radius:24px;background:#fff}
.sp-page .sp-related-list .a1avr-property-card .property-top h3{font-size:19px}
@media(max-width:1120px){.sp-page .sp-related-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.sp-page .sp-know-wrap>.sp-wrap{padding-block:30px 36px}.sp-page .sp-know-accordion summary{min-height:60px;padding:14px 17px;font-size:16px}.sp-page .sp-accordion-body{padding:0 17px 18px;font-size:15px}.sp-page .sp-accordion-body p{font-size:15px}.sp-page .sp-review-slider{grid-auto-columns:100%;gap:16px}.sp-page .sp-review p{font-size:15px}.sp-page .sp-related-list{grid-template-columns:1fr;gap:18px}.sp-page .sp-related-list .a1avr-property-card .property-image{height:260px}}

/* The booking panel stays beside every detail section until related stays. */
.sp-page .sp-content-main>.sp-know-wrap,.sp-page .sp-content-main>.sp-reviews,.sp-page .sp-content-main>.sp-location-section{min-width:0;width:100%;margin:0}
.sp-page .sp-content-main>.sp-know-wrap{border-radius:16px}
.sp-page .sp-content-main .sp-know-wrap>.sp-wrap{width:100%;padding:26px 28px;margin:0}
.sp-page .sp-content-main>.sp-reviews,.sp-page .sp-content-main>.sp-location-section{padding:0 0 31px;border-bottom:1px solid #e7eceb}
.sp-page .sp-content-main>.sp-location-section{border-bottom:0}
@media(max-width:600px){.sp-page .sp-content-main .sp-know-wrap>.sp-wrap{padding:21px 17px}.sp-page .sp-content-main>.sp-reviews,.sp-page .sp-content-main>.sp-location-section{padding-bottom:23px}}

/* Readable text scale across the full property page. */
.sp-page .sp-breadcrumb{font-size:14px}
.sp-page .sp-location{font-size:16px}
.sp-page .sp-meta{font-size:15px}
.sp-page .sp-tabs nav a,.sp-page .sp-tabs-action{font-size:14px}
.sp-page .sp-overview .sp-lead p{font-size:17px;line-height:1.78}
.sp-page .sp-description p{font-size:16px;line-height:1.78}
.sp-page .sp-read-more{font-size:15px}
.sp-page .sp-amenity-group h3{font-size:18px}
.sp-page .sp-amenity-group li{font-size:15px;line-height:1.62}
.sp-page .sp-widget-pending strong{font-size:18px}
.sp-page .sp-widget-pending span{font-size:15px}
.sp-page .sp-book-help small{font-size:14px}
.sp-page .sp-book-help a{font-size:18px}
.sp-page .sp-book-trust{font-size:14px}
.sp-page .sp-know-accordion summary{font-size:19px}
.sp-page .sp-accordion-body,.sp-page .sp-accordion-body p{font-size:17px}
.sp-page .sp-review-summary strong{font-size:15px}
.sp-page .sp-review-summary small{font-size:14px}
.sp-page .sp-review p{font-size:17px}
.sp-page .sp-review-by strong{font-size:15px}
.sp-page .sp-review-by small{font-size:14px}
.sp-page .sp-location-copy>strong{font-size:16px}
.sp-page .sp-location-copy .sp-rich-text,.sp-page .sp-location-copy .sp-rich-text p{font-size:16px;line-height:1.75}
.sp-page .sp-related-head>a{font-size:15px}
@media(max-width:600px){.sp-page .sp-breadcrumb{font-size:14px}.sp-page .sp-location{font-size:14px}.sp-page .sp-meta{font-size:14px}.sp-page .sp-tabs nav a{font-size:14px}.sp-page .sp-overview .sp-lead p{font-size:16px}.sp-page .sp-description p{font-size:16px}.sp-page .sp-amenity-group{display:block}.sp-page .sp-amenity-group h3{margin-bottom:8px;font-size:17px}.sp-page .sp-amenity-group li{font-size:16px}.sp-page .sp-know-accordion summary{font-size:18px}.sp-page .sp-accordion-body,.sp-page .sp-accordion-body p{font-size:16px}.sp-page .sp-review p{font-size:16px}}

/* A wider page and booking column keep the widget visible beside the details. */
.sp-page .sp-wrap{width:min(1540px,calc(100% - 64px))}
.sp-page .sp-content{grid-template-columns:minmax(0,1fr) 510px;gap:48px}
.sp-page .sp-book{width:100%;padding:30px}
.sp-page .sp-widget-pending{min-height:188px;padding:28px}
.sp-page .sp-widget-pending span{max-width:350px}
@media(max-width:1250px){.sp-page .sp-content{grid-template-columns:minmax(0,1fr) 460px;gap:32px}}
@media(max-width:1050px){.sp-page .sp-content{grid-template-columns:minmax(0,1fr) 400px;gap:28px}}
@media(max-width:830px){.sp-page .sp-wrap{width:calc(100% - 40px)}.sp-page .sp-content{display:flex;gap:25px}.sp-page .sp-book{position:relative;top:auto;order:-1}}
@media(max-width:600px){.sp-page .sp-wrap{width:calc(100% - 28px)}.sp-page .sp-book{padding:22px}}

/* Twelve visible amenities, with all imported categories in a dialog. */
.sp-page .sp-amenity-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 23px;list-style:none;margin:20px 0 25px;padding:0}
.sp-page .sp-amenity-preview li,.sp-page .sp-modal-amenity-group li{display:flex;align-items:flex-start;gap:11px;min-width:0;color:#405b62;font-size:16px;line-height:1.55;overflow-wrap:anywhere}
.sp-page .sp-amenity-preview li i,.sp-page .sp-modal-amenity-group li i{margin-top:5px;color:#25899b;font-size:13px}
.sp-page .sp-action-button,.sp-page .sp-action-button.sp-read-more{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;margin:8px 0 0;padding:10px 17px;border:0;border-radius:10px;background:#217f91;color:#fff;font-size:14px;font-weight:700;line-height:1.35;text-decoration:none;cursor:pointer;transition:background .2s ease,transform .2s ease}
.sp-page .sp-action-button:hover,.sp-page .sp-action-button.sp-read-more:hover{background:#17687a;color:#fff;text-decoration:none;transform:translateY(-1px)}
.sp-page .sp-action-button:focus-visible{outline:3px solid #74bdc8;outline-offset:3px}
.sp-page .sp-action-button span{font-weight:500;opacity:.9}
.sp-page .sp-action-button i{font-size:13px}
.sp-page .sp-amenities-overlay{position:fixed;inset:0;z-index:110;display:flex;align-items:center;justify-content:center;padding:24px;background:#10252cbb}
.sp-page .sp-amenities-dialog{display:flex;flex-direction:column;width:min(850px,100%);max-height:min(86dvh,900px);overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 25px 80px #10252c55}
.sp-page .sp-amenities-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:26px 32px 20px;border-bottom:1px solid #e4ebeb}
.sp-page .sp-amenities-dialog-head h2{margin:0 0 5px;}
.sp-page .sp-amenities-dialog-head p{margin:0;color:#60747a;font-size:14px}
.sp-page .sp-amenities-dialog-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:26px 32px 34px}
.sp-page .sp-amenities-masonry{columns:2;column-gap:35px;column-fill:balance}
.sp-page .sp-modal-amenity-group{display:inline-block;width:100%;margin-bottom:27px;break-inside:avoid;vertical-align:top}
.sp-page .sp-modal-amenity-group h3{margin:0 0 12px;font-size:20px}
.sp-page .sp-modal-amenity-group ul{list-style:none;margin:0;padding:0}
.sp-page .sp-modal-amenity-group li{margin:0 0 9px;font-size:15px}
body.sp-modal-open{overflow:hidden}
@media(max-width:900px){.sp-page .sp-amenity-preview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.sp-page .sp-amenity-preview{grid-template-columns:1fr;gap:12px}.sp-page .sp-amenity-preview li{font-size:16px}.sp-page .sp-action-button{width:100%}.sp-page .sp-amenities-overlay{align-items:flex-end;padding:0}.sp-page .sp-amenities-dialog{width:100%;max-height:90dvh;border-radius:17px 17px 0 0}.sp-page .sp-amenities-dialog-head{padding:20px 18px 16px}.sp-page .sp-amenities-dialog-body{padding:20px 18px calc(28px + env(safe-area-inset-bottom))}.sp-page .sp-amenities-masonry{columns:1}.sp-page .sp-modal-amenity-group{margin-bottom:24px}}

/* Accordion motion and readable house rules. */
.sp-page .sp-know-accordion details.is-closing summary i{transform:rotate(0)}
.sp-page .sp-house-rules li{display:flex;align-items:flex-start;gap:11px}
.sp-page .sp-house-rules li i{margin-top:7px;color:#25899b;font-size:13px}

/* Location copy sits above a larger full-width map within the content column. */
.sp-page .sp-content-main>.sp-location-section{display:block}
.sp-page .sp-location-copy{margin-bottom:22px}
.sp-page .sp-location-section .sp-property-map{height:480px;width:100%}
@media(max-width:600px){.sp-page .sp-location-section .sp-property-map{height:390px}}

/* The review slider holds short previews; full reviews open in a shared dialog. */
.sp-page .sp-review-excerpt{white-space:pre-line}
.sp-page .sp-review-readmore{display:inline;padding:0;border:0;background:none;color:#17687a;font:inherit;font-weight:700;cursor:pointer}
.sp-page .sp-review-readmore:hover{text-decoration:underline}
.sp-page .sp-review-readmore:focus-visible{outline:3px solid #4aa1b1;outline-offset:2px}
.sp-page .sp-review-status:not(:empty){display:block;margin-top:12px;color:#526970;font-size:14px}
.sp-page .sp-review-overlay{position:fixed;inset:0;z-index:110;display:flex;align-items:center;justify-content:center;padding:24px;background:#10252cbb}
.sp-page .sp-review-dialog{display:flex;flex-direction:column;width:min(680px,100%);max-height:min(86dvh,850px);overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 25px 80px #10252c55}
.sp-page .sp-review-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:27px 32px 18px;border-bottom:1px solid #e4ebeb}
.sp-page .sp-review-dialog-head h2{margin:3px 0 5px;}
.sp-page .sp-review-dialog-head small{color:#73878c;font-size:14px}
.sp-page .sp-review-dialog-stars{color:#e8a625;font-size:21px;letter-spacing:2px}
.sp-page .sp-review-dialog-body{overflow-y:auto;overscroll-behavior:contain;padding:25px 32px 34px;color:#415b62;font-size:17px;line-height:1.8;white-space:pre-line;overflow-wrap:anywhere}
.sp-page .sp-location-copy,.sp-page .sp-location-copy .sp-rich-text{width:100%;max-width:none}
.sp-page .sp-location-copy .sp-rich-text p{width:100%;max-width:none}
@media(max-width:600px){.sp-page .sp-review-overlay{align-items:flex-end;padding:0}.sp-page .sp-review-dialog{width:100%;max-height:90dvh;border-radius:17px 17px 0 0}.sp-page .sp-review-dialog-head{padding:20px 18px 16px}.sp-page .sp-review-dialog-body{padding:20px 18px calc(28px + env(safe-area-inset-bottom))}}
