/* assets/re/re-showroom.css
   Showroom (/showroom/), sekce galerie (/fotogalerie/) a blok showroomu na /kontakt/.
   Mozaika fotek + lightbox (re-lightbox.js). Navazuje na re.css (proměnné --red, --night, --paper, --gutter). */

/* ---------- mozaika ---------- */
.rs-mozaika{--sl:6;--mez:8px;display:grid;grid-template-columns:repeat(var(--sl),minmax(0,1fr));grid-auto-rows:calc((100vw - 2*var(--gutter) - (var(--sl) - 1)*var(--mez))/var(--sl)*.75);grid-auto-flow:dense;gap:var(--mez)}
.rs-mozaika>a{position:relative;display:block;overflow:hidden;background:#1b1c1f;cursor:zoom-in}
.rs-mozaika>a.rs-n{grid-row:span 2}
.rs-mozaika>a.rs-v{grid-column:span 2;grid-row:span 2}
.rs-mozaika img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),filter .4s ease}
.rs-mozaika>a:hover img,.rs-mozaika>a:focus-visible img{transform:scale(1.045);filter:saturate(1.08)}
.rs-mozaika>a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.35));opacity:0;transition:opacity .3s}
.rs-mozaika>a:hover::after{opacity:1}
@media(max-width:1100px){.rs-mozaika{--sl:4}}
@media(max-width:640px){.rs-mozaika{--sl:2;--mez:6px}.rs-mozaika>a.rs-v{grid-column:span 2}}

/* ---------- lightbox ---------- */
.rs-lb{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(8,8,9,.96);color:#fff}
.rs-lb::backdrop{background:rgba(8,8,9,.9)}
.rs-lb[open]{display:flex;flex-direction:column}
.rs-lb-plocha{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:18px 70px 0}
.rs-lb-plocha img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.rs-lb-lista{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px var(--gutter) 16px;font-size:clamp(14px,.9vw,18px);color:#d8d4cc}
.rs-lb-lista span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.rs-lb button{min-width:48px;min-height:48px;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.35);color:#fff;font:inherit;font-size:24px;line-height:1;cursor:pointer;border-radius:4px}
.rs-lb button:hover,.rs-lb button:focus-visible{border-color:var(--red);color:#fff;background:var(--red)}
.rs-lb-sip{position:absolute;top:50%;transform:translateY(-50%)}
.rs-lb-sip.rs-p{left:12px}.rs-lb-sip.rs-d{right:12px}
@media(max-width:640px){.rs-lb-plocha{padding:10px 8px 0}.rs-lb-sip{top:auto;bottom:-62px;transform:none}.rs-lb-sip.rs-p{left:auto;right:126px}.rs-lb-sip.rs-d{right:70px}.rs-lb-lista{padding-right:200px}}

/* ---------- společné prvky ---------- */
.rs-hlava{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px 40px;margin-bottom:clamp(22px,2.4vw,44px)}
.rs-hlava h2{margin:0;font-size:clamp(34px,3.4vw,72px);line-height:1;letter-spacing:-.04em}
.rs-hlava p{margin:0;max-width:60ch;font-size:clamp(16px,1.1vw,22px);line-height:1.6;color:var(--muted)}
.re-dark .rs-hlava p,.rs-tma .rs-hlava p{color:#bdb8ae}
.rs-tma{background:var(--night);color:#fff}
.rs-tma h2,.rs-tma h3{color:#fff}
.rs-sekce{padding:clamp(56px,6.5vw,130px) var(--gutter)}
.rs-sekce .re-actions{margin-top:clamp(24px,2.4vw,40px)}
