/* JDServer-Webs v6.2 — modules/nearcams/nearcams.css */
#nearcams { margin: 18px 0 32px; }
#nearcams > h3 { font-weight: 600; margin: 0 0 12px; }

/* Grid compacto y responsivo */
.nearcams-grid{
  display: grid;
  gap: 16px; /* separación más corta */
  grid-template-columns: repeat(4, minmax(260px, 1fr));
  align-items: start;
}

/* 3 por fila en pantallas medianas */
@media (max-width: 1200px){
  .nearcams-grid{ grid-template-columns: repeat(3, minmax(240px, 1fr)); }
}

/* 2 por fila en móvil */
@media (max-width: 900px){
  .nearcams-grid{
    grid-template-columns: repeat(2, minmax(170px, 1fr));
    gap: 14px;
  }
}

/* Tarjeta */
.nearcams-card{
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: var(--shadow-1);
  overflow: hidden;               /* recorte perfecto */
  transition: transform .18s ease, box-shadow .18s ease;
}
.nearcams-card:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow-2);
}

/* Imagen 16:9, cubierta y sin márgenes del <figure> */
.nearcams-fig{
  margin: 0;                      /* elimina margen por defecto del figure */
  display: block;
  position: relative;
  background: var(--card-2, #eef2f7);
  aspect-ratio: 16/9;
}
.nearcams-fig img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;              /* recorte suave si hace falta */
  object-position: center;
}

/* click affordance */
.nearcams-click{
  cursor: zoom-in;
}
.nearcams-click:focus{
  outline: none;
}
.nearcams-card:has(.nearcams-click:focus){
  box-shadow: var(--shadow-2);
  transform: translateY(-2px);
}

/* Pie de foto: compacto para dejar más espacio a la imagen */
.nearcams-caption{
  padding: 10px 12px;
  font: 600 13px/1.25 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: var(--muted-2, var(--muted));
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

/* ---------- Lightbox ---------- */
.nearcams-lb-lock{
  overflow: hidden !important;
}

.nearcams-lightbox{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
}
.nearcams-lightbox.is-open{
  display: block;
}

.nearcams-lb-backdrop{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.62);
  backdrop-filter: blur(6px);
}

.nearcams-lb-panel{
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(1100px, calc(100vw - 28px));
  transform: translate(-50%, -50%);
  background: color-mix(in oklab, var(--card) 92%, #000 8%);
  border: 1px solid color-mix(in oklab, var(--border) 80%, #000 20%);
  border-radius: 18px;
  box-shadow: var(--shadow-2);
  overflow: hidden;
}

.nearcams-lb-close{
  position: absolute;
  right: 10px;
  top: 10px;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid color-mix(in oklab, var(--border) 80%, #000 20%);
  background: color-mix(in oklab, var(--card) 80%, #000 20%);
  color: var(--fg);
  font: 700 22px/1 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: transform .12s ease, background .12s ease;
}
.nearcams-lb-close:hover{ transform: scale(1.04); }

.nearcams-lb-figure{
  margin: 0;
  background: #000;
  aspect-ratio: 16/9;
}
.nearcams-lb-img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain; /* en grande, sin recortes */
  object-position: center;
}

.nearcams-lb-caption{
  padding: 10px 12px;
  color: var(--muted-2, var(--muted));
  font: 600 13px/1.25 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
