/* ============================================================
   CARNE LATENTE — RESISTE · GALERÍAS (prefijo rs-)
   ============================================================ */
.rs-terr{padding-block:clamp(72px,10vw,140px)}
.rs-terr-head{margin-bottom:clamp(32px,4vw,56px)}
.rs-terr-title{margin:0 0 18px;font:300 clamp(30px,4vw,56px)/1.06 var(--serif);letter-spacing:-.02em}
.rs-terr-text{margin:0;max-width:52ch;font:300 17px/1.65 var(--sans);color:var(--secondary)}
.rs-terr-grid{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:900px){.rs-terr-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}

.rs-card{
  position:relative;display:block;width:100%;padding:0;overflow:hidden;text-align:left;
  aspect-ratio:4/3;border:1px solid var(--line);border-radius:3px;background:var(--bg-2);
  color:var(--text);cursor:pointer;-webkit-appearance:none;appearance:none;
  transition:border-color .4s ease;
}
@media(min-width:900px){.rs-card{aspect-ratio:4/5}}
.rs-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,.61,.24,1)}
.rs-card::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 40%,rgba(11,7,8,.88) 100%)}
.rs-card:hover{border-color:var(--accent2)}
.rs-card:hover img{transform:scale(1.04)}
.rs-card:focus-visible{outline:1px solid var(--accent2);outline-offset:3px}
.rs-card-badge{
  position:absolute;left:14px;top:14px;z-index:2;padding:6px 12px;
  font:400 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;
  border:1px solid var(--accent2);background:rgba(11,7,8,.55);
}
.rs-card-txt{position:absolute;left:18px;right:18px;bottom:18px;z-index:2;display:block}
.rs-card-name{display:block;font:300 clamp(28px,3vw,40px)/1.05 var(--serif);letter-spacing:-.01em}
.rs-card-place{display:block;margin-top:8px;font:300 12px/1.5 var(--sans);letter-spacing:.04em;color:var(--secondary)}

/* Modal */
.rs-modal{
  position:fixed;inset:0;width:100%;height:100%;height:100svh;max-width:none;max-height:none;
  margin:0;border:0;padding:0;background:var(--bg);color:var(--text);
}
.rs-modal[open]{display:flex;flex-direction:column}
.rs-modal::backdrop{background:#000}
.rs-top{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:calc(12px + env(safe-area-inset-top)) var(--pad) 12px;border-bottom:1px solid var(--line);
}
.rs-top-title{margin:0;font:400 11px/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--secondary)}
.rs-top-name{color:var(--text)}
.rs-close,.rs-lb-close,.rs-lb-prev,.rs-lb-next{
  min-width:44px;min-height:44px;display:grid;place-items:center;padding:0 14px;cursor:pointer;
  background:transparent;border:1px solid var(--accent);color:var(--text);font:300 16px/1 var(--sans);
  transition:border-color .3s ease,color .3s ease,background-color .3s ease;
}
.rs-close:hover,.rs-lb-close:hover{border-color:var(--accent2);color:#fff}
.rs-close:focus-visible,.rs-lb-close:focus-visible,.rs-lb-prev:focus-visible,.rs-lb-next:focus-visible,.rs-item:focus-visible{outline:1px solid var(--accent2);outline-offset:2px}
.rs-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px var(--pad) calc(24px + env(safe-area-inset-bottom))}
.rs-mosaic{column-count:2;column-gap:10px}
@media(min-width:701px){.rs-mosaic{column-count:3}}
@media(min-width:1100px){.rs-mosaic{column-count:4}}
.rs-item{
  display:block;width:100%;margin:0 0 10px;padding:0;border:0;border-radius:2px;overflow:hidden;
  background:var(--bg-2);cursor:zoom-in;break-inside:avoid;
}
.rs-item img{display:block;width:100%;height:100%;object-fit:cover;transition:filter .4s ease}
.rs-item:hover img{filter:brightness(1.12)}

/* Visor */
.rs-lightbox{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:rgba(5,3,4,.97)}
.rs-lightbox[hidden]{display:none}
.rs-lb-fig{margin:0;max-width:100%;max-height:100%;padding:60px 72px}
.rs-lb-fig img{display:block;max-width:100%;max-height:calc(100svh - 120px);object-fit:contain;transition:opacity .35s ease}
.rs-lb-close{position:absolute;top:calc(12px + env(safe-area-inset-top));right:var(--pad);z-index:2;border-color:var(--line)}
.rs-lb-prev,.rs-lb-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;border-radius:50%;border-color:var(--line);background:rgba(20,12,14,.7)}
.rs-lb-prev{left:14px}
.rs-lb-next{right:14px}
.rs-lb-prev:hover,.rs-lb-next:hover{border-color:var(--accent2);background:rgba(140,31,53,.45)}
.rs-lb-count{position:absolute;left:0;right:0;bottom:calc(16px + env(safe-area-inset-bottom));margin:0;text-align:center;font:300 12px var(--sans);letter-spacing:.1em;color:var(--muted)}
@media(max-width:700px){
  .rs-lb-fig{padding:64px 0 72px}
  .rs-lb-prev,.rs-lb-next{top:auto;bottom:calc(10px + env(safe-area-inset-bottom));transform:none}
  .rs-lb-prev{left:var(--pad)}
  .rs-lb-next{right:var(--pad)}
}
@media(prefers-reduced-motion:reduce){
  .rs-card,.rs-card img,.rs-item img,.rs-lb-fig img{transition:none!important}
}
