/* Vive Sabana · páginas de propiedad y galería */
.vs-foto-card{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--g-az)}
.vs-foto-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.zipa-card:hover .vs-foto-card img{transform:scale(1.05)}
.vs-foto-card .zipa-card-tag{z-index:1}
.vs-ph{position:absolute;inset:0;display:grid;place-items:center;color:#D3DFEE;font-weight:700;text-align:center}
.zipa-card-titulo a{color:inherit}
.vs-head{margin:8px 0 22px}.vs-head h1{font-size:clamp(1.5rem,4.4vw,2.4rem);font-weight:800;letter-spacing:-.025em;line-height:1.12}
.vs-head .zipa-card-ubicacion{margin-top:10px;font-size:1rem}
.vs-wrap{display:grid;gap:28px}
@media(min-width:960px){.vs-wrap{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.vs-aside{position:sticky;top:96px}}
.vs-sec{margin-bottom:34px}.vs-sec h2{font-size:1.25rem;font-weight:800;margin-bottom:14px}
.vs-box{padding:22px;border:1px solid var(--linea);border-radius:16px;background:#fff;box-shadow:var(--sombra)}
.vs-precio{font:800 2rem/1.1 var(--f);color:var(--g-az-c,#00234C)}.vs-precio small{display:block;margin-top:6px;color:var(--gris);font:600 .875rem var(--f)}
.vs-box .zipa-card-specs{margin:16px 0}.vs-box .btn{width:100%;justify-content:center;margin-top:6px}
.vs-gal{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
@media(min-width:700px){.vs-gal{grid-template-columns:repeat(3,1fr)}}
.vs-gal a{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:12px;background:var(--suave);cursor:zoom-in}
.vs-gal a:first-child{grid-column:1/-1;aspect-ratio:16/9}
@media(min-width:700px){.vs-gal a:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}}
.vs-gal img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.vs-gal a:hover img{transform:scale(1.05)}
.vs-vacio{padding:28px;border:2px dashed var(--linea);border-radius:14px;text-align:center;color:var(--gris)}
.vs-video{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#000}.vs-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vs-chars{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;list-style:none;padding:0;margin:0}
@media(min-width:700px){.vs-chars{grid-template-columns:repeat(3,1fr)}}
.vs-chars li{display:flex;gap:10px;align-items:center;padding:12px 14px;border:1px solid var(--linea);border-radius:12px;background:#fff;font-weight:600;font-size:.9375rem}
.vs-ig{display:grid;gap:16px}@media(min-width:700px){.vs-ig{grid-template-columns:repeat(2,1fr)}}
.vs-ig iframe{width:100%;height:620px;border:1px solid var(--linea);border-radius:14px;background:#fff}
.vs-volver{display:inline-flex;gap:6px;align-items:center;font-weight:700;color:var(--nar-txt)}
/* Lightbox */
.lb{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(0,12,30,.94)}
.lb.on{display:flex}.lb img{max-width:92vw;max-height:84vh;border-radius:8px;user-select:none;touch-action:pan-y}
.lb button{position:absolute;display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:26px;line-height:1;cursor:pointer;transition:background .2s}
.lb button:hover,.lb button:focus-visible{background:rgba(255,255,255,.3)}
.lb .x{top:16px;right:16px}.lb .p,.lb .n{top:50%;transform:translateY(-50%)}.lb .p{left:14px}.lb .n{right:14px}
.lb .c{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#D3DFEE;font:600 .875rem var(--f)}
@media(max-width:600px){.lb .p,.lb .n{top:auto;bottom:10px;transform:none}.lb .c{bottom:26px}}
