/* Hostel card photo carousel + lightbox */
.hcard .ph .car{position:absolute;inset:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;outline:none}
.hcard .ph .car::-webkit-scrollbar{display:none}
.hcard .ph .car:focus-visible{box-shadow:inset 0 0 0 3px var(--terracotta,#C45C3A)}
.hcard .ph .car .sl{flex:0 0 100%;height:100%;scroll-snap-align:start;cursor:zoom-in;background:#e9e2d8}
.hcard .ph .car img{width:100%;height:100%;object-fit:cover;display:block}
.hcard:hover .ph .car img{transform:none}
.car-dots{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:5px;pointer-events:none;max-width:45%;overflow:hidden}
.car-dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.6);box-shadow:0 0 2px rgba(0,0,0,.4);flex:0 0 auto;transition:all .2s}
.car-dots i.on{background:#fff;width:16px;border-radius:4px}
.car-btn{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--navy,#0E2A4A);font-size:1.1rem;font-weight:800;cursor:pointer;opacity:0;transition:opacity .2s;box-shadow:0 2px 8px rgba(0,0,0,.25);z-index:2}
.car-btn.prev{left:10px}.car-btn.next{right:10px}
.hcard .ph:hover .car-btn,.car-btn:focus-visible{opacity:1}
.car-btn[disabled]{opacity:0!important;pointer-events:none}
.car-count{position:absolute;top:12px;right:12px;background:rgba(14,42,74,.78);color:#fff;font-size:.72rem;font-weight:700;border-radius:999px;padding:3px 8px;pointer-events:none}
@media (hover:none){.car-btn{display:none}}
/* lightbox */
.lb{position:fixed;inset:0;z-index:1000;background:rgba(8,20,36,.96);display:flex;flex-direction:column;color:#fff}
.lb[hidden]{display:none}
.lb-top{display:flex;justify-content:space-between;align-items:center;padding:calc(10px + env(safe-area-inset-top,0px)) 14px 10px;font-weight:700}
.lb-top button{background:rgba(255,255,255,.12);border:0;color:#fff;width:44px;height:44px;border-radius:50%;font-size:1.3rem;cursor:pointer}
.lb-track{flex:1;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.lb-track::-webkit-scrollbar{display:none}
.lb-track figure{flex:0 0 100%;margin:0;scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 8px}
.lb-track img{max-width:100%;max-height:calc(100vh - 150px);object-fit:contain;border-radius:6px}
.lb-track figcaption{margin-top:8px;font-size:.85rem;opacity:.8;text-align:center}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:1.4rem;cursor:pointer}
.lb-nav.prev{left:16px}.lb-nav.next{right:16px}
@media (hover:none),(max-width:640px){.lb-nav{display:none}}
