.listing-slider { min-width: 0; margin-top: 32px; }
.listing-slider figure { margin: 0; }
.listing-full { display: block; background: #102f36; }
.listing-slider .listing-photo { display: block; width: 100%; height: auto; aspect-ratio: 3/2; max-height: 680px; object-fit: contain; }
.listing-caption { min-height: 3.5em; padding: 12px 0; font-size: 14px; color: #f6f2e9; }
.listing-controls { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 8px 0 18px; }
.listing-controls button { min-height: 44px; padding: 8px 16px; border: 1px solid #b9d6dc; border-radius: 4px; color: #fff; background: transparent; font: inherit; font-size: 14px; cursor: pointer; }
.listing-controls button:hover { background: #285664; }
.listing-count { font-size: 14px; white-space: nowrap; }
.listing-thumbs { position: relative; display: flex; gap: 8px; max-width: 100%; overflow-x: auto; padding: 6px 3px 16px; scrollbar-color: #d4b06a #102f36; }
.listing-thumbs button { flex: 0 0 120px; padding: 0; border: 3px solid transparent; background: transparent; cursor: pointer; }
.listing-thumbs button[aria-pressed="true"] { border-color: #d4b06a; }
.listing-thumbs img { display: block; width: 100%; height: 80px; object-fit: cover; }
.listing-slider button:focus-visible { outline: 3px solid #d4b06a; outline-offset: 3px; }
.listing-controls[hidden], .listing-thumbs[hidden] { display: none; }
.listing-accordions { margin-top: 36px; border-top: 1px solid #c9d0c9; }
.listing-accordions > details { border-bottom: 1px solid #c9d0c9; padding: 18px 0; }
.listing-accordions summary { min-height: 44px; align-content: center; font-size: 18px; font-weight: 500; cursor: pointer; }
.listing-description { max-width: 880px; padding-block: 10px 24px; overflow-wrap: anywhere; }
.rental-detail .listing-description h3 { font: 600 16px/1.5 'Inter', sans-serif; margin: 28px 0 12px; }
.listing-description p { max-width: none; }
.listing-amenities { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; padding: 24px 0; }
.rental-detail .listing-amenities h3 { font: 600 16px/1.5 'Inter', sans-serif; margin: 0 0 12px; }
.listing-amenities ul { padding-left: 20px; margin: 0; }
.listing-amenities li { padding-bottom: 6px; overflow-wrap: anywhere; }
@media(max-width:800px) { .listing-amenities { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:500px) { .listing-amenities { grid-template-columns: minmax(0,1fr); } .listing-thumbs button { flex-basis: 90px; } .listing-thumbs img { height: 60px; } }
