/* Rental cards and details share the portal's teal, yellow and warm orange palette. */
body .rental-offer-card{padding:0;background:#fff;border:1px solid #cadcd5;border-radius:16px;overflow:clip;min-width:0;flex-shrink:0;box-shadow:0 3px 12px #083c3e08;color:#123c3e}
body .rental-offer-card.is-selected{border:2px solid #14645c;box-shadow:0 0 0 3px #f7d75a80}
body .rental-offer-photo{position:relative;display:block;width:100%;border:0;padding:0;background:#e2f0ec;cursor:pointer}
body .rental-offer-photo img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:0;margin:0}
body .rental-offer-photo>span{position:absolute;bottom:12px;left:12px;display:flex;align-items:center;gap:12px;background:#083c3eef;color:#fff;padding:8px 12px;border-radius:8px;font:700 12px/1.4 Manrope,system-ui,sans-serif}
body .rental-offer-photo>span span{font-size:18px}
body .rental-offer-no-photo{padding:18px;background:#edf5f1;color:#526f65;font-size:13px}
body .rental-offer-photo.rental-photo-unavailable{height:92px;background:#e2f0ec}
body .rental-offer-body{padding:18px}
body .rental-offer-category{display:inline-block;background:#f9e897;color:#123c3e;border-radius:6px;padding:5px 8px;font-size:11px;line-height:1.4;font-weight:800;letter-spacing:0}
body .rental-offer-card h2{font-size:22px;line-height:1.28;letter-spacing:-.5px;margin:12px 0}
body .rental-offer-card h2 button{font:inherit;text-align:left;padding:0;border:0;width:100%;background:transparent;color:inherit;cursor:pointer;overflow-wrap:anywhere}
body .rental-offer-card h2 button:hover{text-decoration:underline;text-underline-offset:4px}
body .rental-offer-location{display:flex;gap:9px;align-items:center;font-size:15px;line-height:1.5;color:#315e53;margin:14px 0}
body .rental-offer-location svg{width:22px;height:24px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7}
body .rental-location-label{display:block;font-size:11px;color:#56746a}
body .rental-offer-distance{font-size:12px;line-height:1.6;color:#56746a;margin:10px 0}
body .rental-offer-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;padding:14px 0;border-top:1px solid #e0eae5;margin:4px 0 0}
body .rental-offer-price strong{font-size:28px;line-height:1.25;letter-spacing:-.7px;color:#a63c19}
body .rental-offer-price>span{font-size:14px;color:#536f65;white-space:nowrap}
body .rental-offer-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:3px 0 12px}
body .rental-offer-actions button{font:700 12px/1.4 Manrope,system-ui,sans-serif;min-height:48px;padding:10px 12px;border:1px solid #9fbbb0;border-radius:9px;background:#fff;color:#123c3e;cursor:pointer}
body .rental-offer-actions .rental-offer-details{background:#083c3e;border-color:#083c3e;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:8px}
body .rental-offer-actions button:hover{filter:brightness(.94)}
body .rental-offer-card .travel-controls{margin:0;padding-top:12px;border-top:1px solid #e0eae5;display:flex;gap:8px}
body .rental-offer-card .travel-controls button{flex:1;min-height:44px;padding:9px 6px;border:1px solid #cfdfd7;border-radius:9px;background:#fff;color:#315e53;font:650 12px/1.4 Manrope,system-ui,sans-serif}
body .rental-offer-card .travel-controls button[aria-pressed=true]{background:#f7d75a;color:#123c3e;border-color:#ddbf4b}
body .rental-offer-card :focus-visible,body .rental-detail :focus-visible{outline:3px solid #d34b26;outline-offset:3px}
body .rental-detail .detail-heading{padding-bottom:18px}
body .rental-detail .rental-heading-price{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 14px;margin-top:16px}
body .rental-detail .rental-heading-price p{margin:0;font-size:13px;color:#567267}
body .rental-detail .rental-heading-price strong{font-size:27px;line-height:1.25;color:#a63c19;letter-spacing:-.5px}
body .rental-heading-price button{min-height:44px;border:1px solid #a8c5b8;background:#e2f0ec;border-radius:8px;padding:9px 14px;font:700 13px/1.4 Manrope,system-ui,sans-serif;color:#123c3e;cursor:pointer}
body .rental-detail-overview{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr);gap:20px;align-items:start;margin-bottom:20px}
body .rental-detail-overview .detail-gallery{margin:0!important}
body .rental-booking-summary{min-width:0;background:#f2f8f4;border:1px solid #c5dcd0;border-top:4px solid #f7d75a;border-radius:14px;padding:22px}
body .rental-detail-price>span{display:block;font-size:13px;font-weight:650;color:#47695e;margin-bottom:5px}
body .rental-detail-price strong{display:block;font-size:34px;line-height:1.2;letter-spacing:-.8px;color:#a63c19;overflow-wrap:anywhere}
body .rental-detail .rental-price-note{font-size:12px;line-height:1.65;color:#567267;margin:12px 0 20px}
body .rental-quick-contact{padding-top:18px;border-top:1px solid #ccddd2}
body .rental-quick-contact h3{font-size:18px;letter-spacing:-.3px;margin:0 0 6px}
body .rental-quick-contact p{font-size:14px;margin:0 0 12px}
body .rental-contact-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body .rental-contact-buttons .btn{display:flex;align-items:center;justify-content:center;min-height:48px;padding:11px 10px;font-size:14px;text-align:center;border-radius:9px;white-space:normal}
body .rental-contact-buttons .btn:only-child{grid-column:1/-1}
body .rental-contact-buttons .green{background:#083c3e;color:#fff;border:1px solid #083c3e}
body .rental-contact-buttons .cream{background:#fff;color:#123c3e;border:1px solid #a8c5b8}
body .rental-booking-summary .travel-controls{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}
body .rental-booking-summary .travel-controls button{flex:1;min-height:44px;border-radius:8px;font:650 12px/1.4 Manrope,system-ui,sans-serif;padding:8px;background:#fff;color:#315e53;border:1px solid #c4d8cd}
body .rental-detail .detail-shortcuts{margin:0 0 20px;gap:8px}
body .rental-detail .detail-contact{background:#e2f0ec!important}
body .rental-detail .detail-contact .btn{font-size:14px;min-height:48px}
body .rental-detail .detail-card{scroll-margin-top:140px}
body.routes-body .routes-detail .rental-detail-overview{grid-template-columns:minmax(0,1fr)}
body.routes-body .routes-detail .rental-booking-summary{padding:20px}
body.routes-body .rental-pin{background:#083c3e;color:#fff;border-color:#fff;font-family:Manrope,system-ui,sans-serif;box-shadow:0 2px 8px #083c3e50}
body.routes-body .rental-map-tools{border-radius:0;padding:16px 22px;background:#e2f0ec}
body.routes-body .rental-map-primary .rental-city-label{max-width:none}
body.routes-body .rental-map-filters input,body.routes-body .rental-map-filters select{font-size:16px;min-height:50px;border:1px solid #acc6bb}
body.routes-body .rental-map-filters label{font-size:13px}
body.routes-body .rental-map-primary #rental-nearby{min-height:50px;background:#083c3e;color:#fff}
body.routes-body .rental-more-filters{margin-top:12px}
body.routes-body .rental-more-filters summary{min-height:44px;padding:10px 0;font-size:13px;font-weight:750;cursor:pointer}
body.routes-body .rental-more-filters .rental-map-filters{gap:16px}
body.routes-body .rental-map-actions button{min-height:44px}
body .rental-map-popup{max-height:330px;min-width:210px}
body .rental-map-popup button{padding:10px 0;font:inherit;line-height:1.5}
body .rental-map-popup strong{font-size:15px}
body .rental-map-popup span{font-size:13px}
@media(max-width:900px){body .rental-detail-overview{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){
 body .rental-offer-body{padding:16px}
 body .rental-offer-card h2{font-size:23px}
 body .rental-offer-price strong{font-size:29px}
 body .rental-offer-card .rental-offer-photo img{height:auto;aspect-ratio:16/10}
 body .rental-detail .detail-heading h2{font-size:27px;line-height:1.2}
 body .rental-detail .detail-heading p{font-size:14px}
 body .rental-detail-overview{gap:14px}
 body .rental-booking-summary,body.routes-body .routes-detail .rental-booking-summary{padding:18px 16px}
 body .rental-detail-price strong{font-size:32px}
 body .rental-detail .detail-main-photo img{height:225px;background:#e2f0ec}
 body .rental-detail .detail-shortcuts{gap:6px}
 body .rental-detail .detail-shortcuts button{font-size:12px!important;padding:9px 10px!important;flex-grow:1}
 body.routes-body .rental-map-tools{padding:4px 12px 12px}
 body.routes-body .rental-map-primary{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
 body.routes-body .rental-map-primary .rental-city-label{min-width:0;max-width:none}
 body.routes-body .rental-map-primary #rental-nearby{justify-self:start;min-height:44px;font-size:12px}
 body.routes-body .rental-more-filters .rental-map-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 body.routes-body .rental-more-filters label{max-width:none;min-width:0}
}
@media(max-width:360px){body .rental-offer-body{padding:13px}body .rental-offer-actions{grid-template-columns:minmax(0,1fr)}body .rental-offer-actions button{font-size:13px}body .rental-offer-card h2{font-size:22px}}
