
/* Grid */
.ipr-vr-grid{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:var(--gap,12px)}
.ipr-vr-card{background:var(--bg,#fff);border:1px solid var(--border,#e5e5e5);border-radius:var(--radius,16px);overflow:hidden;display:flex;flex-direction:column;scroll-snap-align:start}
.ipr-vr-media{position:relative;aspect-ratio:var(--aspect,16/9);background:#000}
.ipr-vr-video{width:100%;height:100%;object-fit:cover;display:block}
.ipr-vr-embed-thumb{position:relative;width:100%;height:100%;background-size:cover;background-position:center;display:flex;align-items:flex-end;justify-content:flex-end;aspect-ratio:inherit}
.ipr-vr-expand{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.6);color:#fff;border:0;border-radius:999px;width:36px;height:36px;line-height:36px;font-size:22px;cursor:pointer}
.ipr-vr-title{font-size:var(--title-size,18px);line-height:1.2;margin:10px;color:var(--title-color,#111);font-weight:700}
.ipr-vr-text{font-size:var(--text-size,14px);line-height:1.45;margin:0 10px 12px;color:var(--text-color,#333)}
.ipr-vr-actions{margin:0 10px 14px}
.ipr-vr-btn{display:inline-block;padding:8px 12px;border-radius:10px;border:1px solid var(--border,#e5e5e5);text-decoration:none;transition:all .2s ease}

/* Nav (para slider móvil) */
.ipr-vr-nav{display:none}
.is-slider .ipr-vr-nav{display:none}
@media (max-width: 768px){
  .is-slider .ipr-vr-grid{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  .is-slider .ipr-vr-card{
    flex: 0 0 calc(50% - var(--gap,12px)/2); /* 2 visibles */
  }
  .is-slider .ipr-vr-nav{
    display:flex;
    justify-content:space-between;
    margin-top:8px;
  }
  .is-slider .ipr-vr-prev,
  .is-slider .ipr-vr-next{
    background:#f0f0f0;border:1px solid #ddd;border-radius:8px;padding:6px 10px;cursor:pointer;
  }
}

/* Modal (con z-index editable) */
.ipr-vr-modal[hidden]{display:none}
.ipr-vr-modal{
  position:fixed;
  inset:0;
  z-index:var(--modal-z, 99999);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.ipr-vr-backdrop{
  position:absolute; inset:0;
  background:rgba(0,0,0,.6);
  z-index:calc(var(--modal-z, 99999));
}
.ipr-vr-dialog{
  position:relative;
  width:100%;
  max-width:var(--modal-max-w,960px);
  max-height:var(--modal-max-h,90vh);
  background:#000;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 12px 40px rgba(0,0,0,.35);
  z-index:calc(var(--modal-z, 99999) + 1);
}
.ipr-vr-modal-video{
  width:100%;
  height:auto;
  max-height:var(--modal-max-h,90vh);
  display:block;
}
.ipr-vr-close{
  position:absolute; top:10px; right:12px;
  font-size:36px; line-height:36px;
  background:rgba(0,0,0,0.6);
  border:none; border-radius:50%;
  color:#fff;
  width:44px; height:44px;
  text-align:center; cursor:pointer;
  z-index:calc(var(--modal-z, 99999) + 2);
}

body.ipr-vr-lock { overflow:hidden; }

/* Responsive */
@media (max-width: 768px){
  .ipr-vr-grid:not(.is-slider){grid-template-columns:1fr 1fr}
  .ipr-vr-dialog{max-width:calc(100vw - 24px);}
}
@media (max-width: 480px){
  .ipr-vr-grid:not(.is-slider){grid-template-columns:1fr}
  .ipr-vr-dialog{max-width:calc(100vw - 16px);}
}


/* Watermark */
.ipr-vr-watermark, .ipr-vr-modal-watermark{
  position:absolute;
  background-image:var(--wm-url);
  background-repeat:no-repeat;
  background-size:contain;
  opacity:var(--wm-op,.5);
  width:var(--wm-w,120px);
  aspect-ratio:1/1;
  pointer-events:none;
  z-index:2;
}
.ipr-vr-media .ipr-vr-watermark{ }
.ipr-vr-modal-video{ position:relative; }
.ipr-vr-modal .ipr-vr-modal-watermark{ }
.wm-tl{ top:var(--wm-my,8px); left:var(--wm-mx,8px); bottom:auto; right:auto; }
.wm-tr{ top:var(--wm-my,8px); right:var(--wm-mx,8px); bottom:auto; left:auto; }
.wm-bl{ bottom:var(--wm-my,8px); left:var(--wm-mx,8px); top:auto; right:auto; }
.wm-br{ bottom:var(--wm-my,8px); right:var(--wm-mx,8px); top:auto; left:auto; }
