/* Visor de galerías (renders, videos, tours) dentro de la propia web */
.mrv { position: fixed; inset: 0; z-index: 1000; display: none; color: #fff; font-family: 'Montserrat', sans-serif; }
.mrv.open { display: block; }
html.mrv-lock, html.mrv-lock body { overflow: hidden; }
.mrv-bg { position: absolute; inset: 0; background: rgba(5, 12, 18, .96); }
.mrv-top { position: absolute; inset: 0 0 auto; z-index: 3; display: flex; justify-content: space-between; align-items: center; gap: 16px;
           padding: 18px clamp(16px, 3vw, 40px); background: linear-gradient(rgba(5,12,18,.85), transparent); pointer-events: none; }
.mrv-top > * { pointer-events: auto; }
.mrv-title { font-size: 15px; font-weight: 700; }
.mrv-sub { margin-left: 14px; font-size: 13px; opacity: .55; font-weight: 500; }
.mrv-actions { display: flex; gap: 10px; align-items: center; }
.mrv-ext { font-size: 12px; font-weight: 600; padding: 10px 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,.25); color: #fff; text-decoration: none; }
.mrv-ext:hover { background: #35d7f0; border-color: #35d7f0; color: #002535; }
.mrv-close { width: 44px; height: 44px; border-radius: 50%; border: 0; background: #fff; color: #0f1d27; font-size: 16px; cursor: pointer; transition: background .3s, transform .4s; }
.mrv-close:hover { background: #35d7f0; transform: rotate(90deg); }
.mrv-stage { position: absolute; inset: 76px clamp(16px, 6vw, 110px) 110px; display: grid; place-items: center; }
.mrv-stage img, .mrv-stage video { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 6px; user-select: none; -webkit-user-drag: none; }
.mrv-stage.is-iframe, .mrv-stage.is-youtube { inset: 72px clamp(8px, 2vw, 32px) 96px; }
.mrv.single .mrv-stage.is-iframe, .mrv.single .mrv-stage.is-youtube { bottom: 24px; }
.mrv-stage iframe { width: 100%; height: 100%; border: 0; border-radius: 10px; background: #000; }
.mrv-stage.is-youtube iframe { max-width: calc((100vh - 170px) * 16 / 9); }
.mrv-nav { position: absolute; top: 50%; z-index: 3; width: 52px; height: 52px; margin-top: -26px; border-radius: 50%; border: 1px solid rgba(255,255,255,.25);
           background: rgba(5,12,18,.4); color: #fff; font-size: 18px; cursor: pointer; transition: background .3s, color .3s; }
.mrv-nav:hover { background: #35d7f0; color: #002535; border-color: #35d7f0; }
.mrv-prev { left: clamp(8px, 2vw, 32px); } .mrv-next { right: clamp(8px, 2vw, 32px); }
.mrv.single .mrv-nav, .mrv.single .mrv-thumbs { display: none; }
.mrv-stage.is-iframe ~ .mrv-nav { top: auto; bottom: 22px; margin: 0; }
.mrv-thumbs { position: absolute; left: 0; right: 0; bottom: 18px; z-index: 3; display: flex; gap: 8px; overflow-x: auto; padding: 4px clamp(16px, 3vw, 40px);
              scrollbar-width: none; justify-content: safe center; }
.mrv-thumbs::-webkit-scrollbar { display: none; }
.mrv-thumbs button { flex: none; width: 92px; height: 58px; border-radius: 6px; border: 2px solid transparent; background-size: cover; background-position: center;
                     opacity: .45; cursor: pointer; transition: opacity .3s, border-color .3s; }
.mrv-thumbs button:hover { opacity: .85; }
.mrv-thumbs button.on { opacity: 1; border-color: #35d7f0; }
.mrv-stage.is-iframe ~ .mrv-thumbs { left: 90px; right: 90px; }
@media (max-width: 700px) {
  .mrv-stage { inset: 70px 0 96px; }
  .mrv-nav { display: none; }
  .mrv-ext { display: none !important; }
  .mrv-thumbs button { width: 64px; height: 42px; }
  .mrv-stage.is-iframe ~ .mrv-thumbs { left: 0; right: 0; }
}
/* Pestañas (galería con familias: Renders · Fotomontajes · Planos) */
.mrv-head { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.mrv-tabs { display: flex; gap: 6px; }
.mrv-tabs:empty { display: none; }
.mrv-tabs button { font: inherit; font-size: 12px; font-weight: 600; padding: 9px 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,.2); background: transparent; color: #cfd8de; cursor: pointer; transition: background .3s, color .3s; }
.mrv-tabs button small { opacity: .55; font-size: 11px; margin-left: 4px; }
.mrv-tabs button:hover { border-color: #35d7f0; color: #fff; }
.mrv-tabs button.on { background: #35d7f0; border-color: #35d7f0; color: #002535; }
@media (max-width: 700px) { .mrv-head { gap: 8px; } .mrv-title { display: none; } .mrv-tabs button { padding: 7px 10px; font-size: 11px; } }
