/* JDServer-Webs v6.0 — modules/webcams/webcams.css (v1.7 - stale via pseudo-element) */
#webcams{ margin: 14px 0 28px; }

.wc-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom: 10px;
}
.wc-title{ font-weight:600; }

/* Grid rows */
.wc-row{
  display:grid;
  gap:12px;
  margin-bottom: 12px;
}
.wc-row.wc-pano{ grid-template-columns: 1fr; }
.wc-row.wc-pair{ grid-template-columns: repeat(2, 1fr); }

/* Cards (tanto webcams reales como placeholder) */
.wc-fig{
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-1);
  overflow: hidden;
  padding: 0;
  margin: 0;
  position: relative;       /* base para overlay */
}

/* Panorámicas: no tocar relación, sin recortes */
.wc-row.wc-pano .wc-fig{ display:block; }
.wc-row.wc-pano .wc-fig img{
  display:block;
  width:100%;
  height:auto;
  object-fit: contain;
}

/* Pares: más altas (ligero recorte controlado para que no queden "apaisadas") */
.wc-row.wc-pair .wc-fig{ aspect-ratio: 3 / 2; }          /* escritorio/tablet: un poco más alto */
.wc-row.wc-pair .wc-fig img{
  width:100%;
  height:100%;
  object-fit: cover;
}

/* ========= Placeholder elegante ========= */

/* El figure que actúa como tarjeta de “próximamente” */
.wc-fig-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
}

/* Contenido interno del placeholder */
.wc-ph{
  color: var(--muted);
  font-size: .95rem;
  text-align:center;
  max-width: 320px;
  margin:0;
}

.wc-ph-title{
  font-weight:600;
  margin-bottom:4px;
}

.wc-ph-body{
  font-size:.85rem;
  line-height:1.4;
}

/* ========= Overlay "fora de servei" mediante clase ========= */

.wc-fig-stale::after{
  content:"FORA DE SERVEI TEMPORALMENT";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 8px;
  text-align:center;
  font-weight:700;
  font-size:.9rem;
  color:#fff;
  text-shadow: 0 0 4px rgba(0,0,0,.7);
  background: radial-gradient(circle at center, rgba(0,0,0,.35), rgba(0,0,0,.15));
  pointer-events:none;
  z-index:2;
  animation: wc-stale-blink 1.8s ease-in-out infinite;
}

@keyframes wc-stale-blink{
  0%, 100%{ opacity:0; }
  35%, 65%{ opacity:1; }
}

/* Mobile: aún más altas y full-bleed horizontal */
@media (max-width: 520px){
  .wc-row{
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
  .wc-row.wc-pair{ grid-template-columns: repeat(2, 1fr); }
  .wc-row.wc-pano{ grid-template-columns: 1fr; }

  /* Pares: más altura para evitar look "apaisado" */
  .wc-row.wc-pair .wc-fig{ aspect-ratio: 4 / 3; }       /* móvil: aún más alto */
}