.listing{grid-template-columns:240px minmax(0,1fr)}.listingbody{grid-template-columns:minmax(0,1fr) 190px;gap:24px;padding:22px}.listing h3{font-size:19px;line-height:1.35;overflow-wrap:anywhere}.listing-description{font-size:14px;line-height:1.6;color:var(--muted);margin:12px 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.listing .photo{border:0;cursor:pointer;min-height:240px;width:100%}.listing .features{margin-top:16px}.cost .truecost{font-size:28px;white-space:nowrap}.cost .per{display:block;font-weight:400;letter-spacing:0;margin-top:4px}.cost .unknown{margin-top:12px;line-height:1.5;font-size:12px}.provider-name{font-size:12px;color:var(--muted);margin-top:14px}.actions{flex-wrap:wrap;gap:8px}.breakdown .row{align-items:flex-start;gap:22px;padding:12px 0;line-height:1.5}.breakdown .row span{min-width:0;flex:1}.breakdown .row b{text-align:right;max-width:55%;overflow-wrap:anywhere;font-size:14px}.hfs-gallery{position:relative;align-self:start}.hfs-gallery img{width:100%;height:330px;object-fit:cover;border-radius:16px}.gallery-actions{display:flex;justify-content:space-between;align-items:center;padding:12px}.gallery-actions button{border:1px solid var(--line);border-radius:8px;padding:8px 16px;background:white;cursor:pointer}.inventory-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:20px 0}.inventory-stat strong{font-size:40px;display:block;letter-spacing:-1px}.inventory-stat span{font-size:14px;color:var(--muted)}.inventory-stat{min-width:0}.inventory-caption{font-size:13px;color:var(--muted);line-height:1.6}#roomdeckMap{height:450px;position:relative;border-radius:12px;margin-top:14px;z-index:0}.mapbox{display:block;padding:16px}.mapbox .leaflet-container{font-family:inherit}.mapbox .maplabel{position:static}.map-price{background:white;border:1px solid #bbb;border-radius:18px;white-space:nowrap;padding:6px 10px;font-weight:700;box-shadow:0 2px 6px #0002}.map-price:focus{outline:2px solid #000}.leaflet-div-icon{background:transparent;border:0}.detailgrid{align-items:start}.infobox p{line-height:1.8}.comparetable td,.comparetable th{min-width:160px;vertical-align:top;line-height:1.6}.comparetable{display:block;overflow:auto}.results-layout{grid-template-columns:minmax(0,1fr) 340px}
@media(max-width:1200px){.results-layout{grid-template-columns:minmax(0,1fr)}.mapbox{display:block;position:static}.listingbody{grid-template-columns:minmax(0,1fr) 180px}}
@media(max-width:700px){.listing{grid-template-columns:1fr}.listing .photo{height:220px;min-height:220px}.listingbody{grid-template-columns:1fr;padding:18px;gap:12px}.cost{text-align:left;min-width:0;border-top:1px solid var(--line);padding-top:16px}.cost .unknown{margin-left:0;max-width:none}.cost .actions{justify-content:flex-start}.inventory-stat strong{font-size:30px}.hfs-gallery img{height:250px}.breakdown .row{gap:12px}.breakdown .row b{max-width:52%}}

.features .chip{white-space:normal;line-height:1.4;max-width:100%}.features{gap:7px}

/* Shared listing cards: full-width information and a compact cost/action footer. */
.rd-listing{grid-template-columns:clamp(190px,25%,260px) minmax(0,1fr);min-height:230px;align-items:stretch}
.rd-listing .photo{min-height:230px;height:100%;align-self:stretch;transition:filter .15s}
.rd-listing .photo:hover{filter:brightness(.96)}
.rd-listing .rd-listing-body{display:flex;flex-direction:column;gap:12px;padding:20px;min-width:0}
.rd-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.rd-card-heading h3{margin:0;font-size:19px;line-height:1.35;letter-spacing:-.3px;min-width:0;overflow-wrap:break-word}
.rd-card-heading .provider-name{flex-shrink:0;margin:2px 0 0;font-size:11px;border:1px solid var(--line);padding:5px 8px;border-radius:7px;max-width:140px;white-space:normal;text-align:right}
.rd-listing .submeta{margin:0;font-size:13px;line-height:1.4}
.rd-listing .features{margin:0;gap:7px;align-items:center}
.rd-listing .chip{font-size:12px;border-radius:7px;padding:6px 8px;background:#f4f5f6}
.rd-listing .rd-bills{background:#edf4ef;color:#345947}
.rd-card-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid var(--line);padding-top:14px;margin-top:auto}
.rd-card-price{min-width:0}.rd-price-label{font-size:11px;color:var(--muted);display:block;line-height:1.4}
.rd-card-price .truecost{font-size:27px;line-height:1.2;margin-top:3px;white-space:normal}
.rd-card-price .per{display:inline;font-size:12px;font-weight:400;letter-spacing:0;margin-left:5px}
.rd-base-rent{font-size:11px;color:var(--muted);display:block;margin-top:4px;line-height:1.4}
.rd-card-footer .actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:0;padding:0;flex-shrink:0}
.rd-card-footer .actions button{font-size:12px;padding:10px 12px;min-height:40px}
.rd-card-footer .secondary{background:var(--text);color:#fff;border-color:var(--text)}
.rd-listing .rd-card-note{margin:0;max-width:none;font-size:11px;color:var(--muted);line-height:1.45}
@media(min-width:1251px){.results-layout{grid-template-columns:minmax(0,1fr)}.mapbox{position:static}.rd-listing{grid-template-columns:250px minmax(0,1fr)}}
@media(max-width:800px){.rd-card-heading{flex-direction:column;gap:8px}.rd-card-heading .provider-name{text-align:left;max-width:none}.rd-card-footer{align-items:flex-start;flex-wrap:wrap}.rd-card-footer .actions{flex:1;justify-content:flex-end}}
@media(max-width:700px){.rd-listing{grid-template-columns:1fr}.rd-listing .photo{height:220px;min-height:220px}.rd-listing .rd-listing-body{padding:18px;gap:11px}.rd-card-heading{flex-direction:row;flex-wrap:wrap}.rd-card-heading h3{flex:1 1 200px}.rd-card-footer .actions{flex:1 1 100%;display:grid;grid-template-columns:1fr 1fr}.rd-card-price .truecost{font-size:28px}}

.rd-stay-totals{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:2px 0}
.rd-stay-box{background:#f7f8fa;border:1px solid var(--line);border-radius:10px;padding:11px 13px;min-width:0;display:flex;flex-direction:column;gap:4px}
.rd-stay-box>span{font-size:12px;line-height:1.4;color:var(--muted)}.rd-stay-box strong{font-size:18px;line-height:1.3}.rd-stay-box small{font-size:10px;line-height:1.4;color:var(--muted)}
@media(max-width:400px){.rd-stay-box{padding:10px}.rd-stay-box strong{font-size:17px}}

.rd-detail-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:22px}.rd-detail-main{display:flex;flex-direction:column;gap:16px;min-width:0}.rd-detail-main .infobox{margin:0}.rd-detail-main .infobox h4{margin-top:0}.rd-detail-main .infobox p{margin-bottom:0}.rd-detail-main a{font-size:13px;color:inherit;line-height:1.6}.rd-book-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.rd-book-actions button{min-height:44px}.rd-provider-redirect{font-size:12px;line-height:1.5;color:var(--muted);margin:12px 0 0}@media(max-width:700px){.rd-detail-grid{grid-template-columns:1fr}}
.rd-detail-grid .breakdown .row{padding:9px 0;line-height:1.4}

.rd-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;padding:18px 0;grid-column:1/-1}.rd-pagination label{font-size:13px;color:var(--muted);white-space:nowrap}.rd-pagination input{width:54px;padding:8px 4px;border:1px solid var(--line);border-radius:8px;text-align:center;font:inherit;background:#fff;color:var(--text)}.rd-pagination button:disabled{opacity:.4;cursor:default}.rd-pagination button{min-height:40px}@media(max-width:420px){.rd-pagination{gap:8px}.rd-pagination button{font-size:11px;padding:9px 7px}}

.rd-place-field{position:relative}.rd-place-options{position:absolute;top:100%;left:0;right:0;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px #0002;z-index:100;max-height:330px;overflow:auto;min-width:260px}.rd-place-options[hidden]{display:none}.rd-place-options button{display:block;width:100%;border:0;border-bottom:1px solid #eee;padding:12px;text-align:left;background:#fff;line-height:1.5;cursor:pointer;color:var(--text);font:inherit;font-size:13px}.rd-place-options button:hover,.rd-place-options button[aria-selected=true]{background:#eef4f0}.rd-place-message{padding:12px;font-size:12px;line-height:1.5;color:var(--muted)}
