.house-type{display:block;color:var(--sage);font-size:10px;margin-top:6px}
.amenity-icons{display:flex;gap:10px;list-style:none;padding:0;margin:19px 0 0;position:relative;z-index:3}
.amenity-icon{position:relative}
.amenity-control{width:44px;height:44px;display:grid;place-items:center;padding:7px;border:1px solid #cbd5c4;border-radius:7px;background:var(--cream);color:var(--pine)}
.amenity-control:hover,.amenity-control:focus-visible,.amenity-open .amenity-control{background:#e1e9d8;border-color:var(--sage)}
.amenity-control svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.amenity-tooltip{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);padding:7px 10px;background:var(--pine);color:white;border-radius:4px;font-size:10px;line-height:1.5;white-space:nowrap;visibility:hidden;opacity:0;pointer-events:none;z-index:5}
.amenity-icon:first-child .amenity-tooltip{left:0;transform:none}
.amenity-icon:last-child .amenity-tooltip{left:auto;right:0;transform:none}
.amenity-control:focus-visible+.amenity-tooltip,.amenity-open .amenity-tooltip{visibility:visible;opacity:1}
@media(hover:hover) and (pointer:fine){.amenity-icon:hover .amenity-tooltip{visibility:visible;opacity:1}}
.amenity-dismissed .amenity-tooltip{visibility:hidden!important;opacity:0!important}
.house-prices{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px;margin-top:25px;padding-top:18px;border-top:1px solid var(--line)}
.house-rate-days{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}
.house-rate>strong{display:block;font-family:var(--sans);font-size:21px;font-weight:700;letter-spacing:-.4px;white-space:nowrap}
.house-rate>strong>span{font-size:10px;color:var(--muted);letter-spacing:0}
.house-info .house-bottom{margin-top:17px;justify-content:flex-end}
.detail-body .house-prices{margin-bottom:25px}
@media(max-width:700px){.amenity-icons{margin-top:16px;gap:9px}.house-prices{margin-top:21px;gap:10px}.house-rate>strong{font-size:20px}.house-rate-days{font-size:10px}.house-rate>strong>span{font-size:9px}}
@media(max-width:370px){.amenity-icons{gap:8px}.amenity-control{width:37px;height:39px;padding:5px}.amenity-control svg{width:25px;height:25px}.house-rate>strong{font-size:18px}.house-rate>strong>span{font-size:8px}}
.house-carousel{min-width:0}
.house-carousel-viewport{position:relative;height:320px;overflow:hidden;border-radius:5px;background:var(--sand);isolation:isolate}
.house-carousel-image,.house-carousel-video{width:100%;height:100%;object-fit:cover;background:#1d402a}
.house-carousel-video{object-fit:contain}
.house-carousel-open{position:absolute;inset:0;border:0;background:transparent;z-index:1}
.house-carousel-expand{position:absolute;right:15px;top:15px;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:var(--cream);color:var(--pine);font-size:21px;z-index:2}
.house-carousel-navigation{display:flex;gap:12px;align-items:center;margin-top:12px}
.house-carousel-counter{font-size:10px;color:var(--muted);white-space:nowrap;margin-left:auto}
.house-card .house-carousel-counter,#spa-carousel .house-carousel-counter{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:-1px;padding:0;border:0}
.house-card .house-carousel-counter+.circle-button,#spa-carousel .house-carousel-counter+.circle-button{margin-left:auto}
.house-carousel-dots{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.house-carousel-dot{width:18px;height:24px;border:0;padding:0;background:transparent;position:relative}
.house-carousel-dot:after{content:'';position:absolute;left:5px;top:8px;width:8px;height:8px;border-radius:50%;background:#bdc8b5}
.house-carousel-dot[aria-current=true]:after{background:var(--pine)}
.house-media-placeholder{height:100%;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#e5eadc,#f4f4ec);position:relative;text-align:center;padding:30px;color:var(--pine);overflow:hidden}
.house-media-placeholder>svg{width:42px;height:42px;stroke-width:1;margin-bottom:18px}
.house-placeholder-number{position:absolute;right:15px;bottom:-40px;font-family:var(--serif);font-size:180px;line-height:1;color:#28543a0a;letter-spacing:-10px;pointer-events:none}
.house-placeholder-title{font-size:18px;position:relative}
.house-media-placeholder>p{font-size:10px;max-width:250px;color:var(--muted);margin-top:12px;position:relative;line-height:1.9}
.house-media-error{height:100%;display:grid;place-items:center;text-align:center;font-size:12px;color:var(--muted);padding:25px}
.detail-modal{max-width:760px}
.detail-modal .house-carousel-viewport{height:350px;border-radius:0}
.detail-modal .house-carousel-navigation{padding:0 25px}
.detail-section{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}
.detail-section h3{font-family:var(--sans);font-size:13px;letter-spacing:0;margin-bottom:8px}
.detail-section p{font-size:11px;line-height:1.9;color:var(--muted)}
.house-media-modal{max-width:1100px;padding:35px 25px 20px}
.house-media-modal h2{font-size:23px;padding-right:20px;margin-top:0}
.house-media-modal .house-carousel-viewport{height:min(65dvh,700px);background:#182f22}
.house-media-modal .house-carousel-image{object-fit:contain}
@media(max-width:1190px){.house-carousel-viewport{height:290px}}
@media(max-width:960px){.house-carousel-viewport{height:250px}}
@media(max-width:700px){.house-carousel-viewport{height:280px}.house-carousel-navigation{gap:8px}.house-carousel-dots{gap:3px}.house-carousel-dot{width:17px}.house-carousel-counter{font-size:9px}.house-placeholder-number{font-size:150px;bottom:-30px}.detail-modal .house-carousel-viewport{height:270px}.detail-modal .house-carousel-navigation{padding-inline:18px}.detail-section h3{font-size:12px}.house-media-modal{padding:35px 16px 18px}.house-media-modal h2{font-size:18px}.house-media-modal .house-carousel-viewport{height:55dvh}}
@media(max-width:370px){.house-carousel-viewport{height:250px}.house-carousel-dots{gap:1px}.house-carousel-navigation{gap:5px}.house-carousel-dot{width:14px}.house-carousel-dot:after{left:3px}}
