/* Styles for listings and gallery moved from Index.cshtml */
.main-description { max-width:900px; margin:20px auto; text-align:left; }
.listing-split { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:20px; align-items:start; }
.listing { background:#f8f9fa; border:1px solid #e1e1e1; padding:16px; border-radius:6px; text-align:left; }
.listing h3 { margin-top:0; }
.gallery { margin-top:20px; display:flex; gap:16px; flex-wrap:wrap; justify-content:center; }
.gallery img{ max-width:300px; width:100%; height:auto; border:1px solid #ccc; }
@media (max-width:768px) { .listing-split { grid-template-columns:1fr; } }

.main-images { display:flex; gap:12px; justify-content:center; margin-top:12px; }
.main-images .thumb, .listing-images .thumb, .gallery .thumb { overflow:hidden; border-radius:4px; border:1px solid #ddd; }
.main-images .thumb img { width:100%; height:260px; object-fit:cover; display:block; }
.display-4.d-block { font-size:2.5rem; }
.listing-images { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:12px; }
.listing-images .thumb { width:100%; }
.listing-images .thumb img { width:100%; height:260px; object-fit:cover; display:block; }
.gallery .thumb { width:300px; max-width:40%; }
.gallery .thumb img { width:100%; height:180px; object-fit:cover; display:block; }

/* Airbnb carousel: show 3 items and allow horizontal scroll */
.airbnb-carousel { display:flex; gap:8px; overflow-x:hidden; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
.airbnb-carousel > a { flex:0 0 auto; width:calc((100% - 16px) / 3); min-width:calc((100% - 16px) / 3); max-width:calc((100% - 16px) / 3); scroll-snap-align:start; }
.airbnb-carousel .thumb { overflow:hidden; }
.airbnb-carousel .thumb img { width:100%; height:260px; object-fit:cover; display:block; }
.airbnb-controls { display:flex; gap:8px; justify-content:center; margin-top:8px; }
.airbnb-controls button { min-width:36px; }

/* RV carousel: show 3 items and allow horizontal scroll */
.rv-carousel { display:flex; gap:8px; overflow-x:hidden; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
.rv-carousel > a { flex:0 0 auto; width:calc((100% - 16px) / 3); min-width:calc((100% - 16px) / 3); max-width:calc((100% - 16px) / 3); scroll-snap-align:start; }
.rv-carousel .thumb { overflow:hidden; }
.rv-carousel .thumb img { width:100%; height:260px; object-fit:cover; display:block; }
.rv-controls { display:flex; gap:8px; justify-content:center; margin-top:8px; }
.rv-controls button { min-width:36px; }
