/* HP Galerías — mosaico (medidas del servidor, escaladas por el JS) y carrusel propio. */

.hp-galeria{clear:both;margin:0 0 20px;overflow:hidden;line-height:0}
.hp-galeria-fila{overflow:hidden}
.hp-galeria-grupo{float:left;position:relative}
.hp-galeria-item{float:left;margin:0;position:relative;width:inherit}
.hp-galeria-item picture{display:inline;line-height:0}
.hp-galeria-item a{background:transparent;border:0;color:inherit;margin:0;padding:0;text-decoration:none;width:auto;display:inline}
.hp-galeria-item img,.hp-galeria-item img:hover{margin:2px !important;padding:0;border:0;box-shadow:none;background:none;
  max-width:none;vertical-align:middle;object-fit:cover;cursor:zoom-in;display:inline-block;border-radius:0}
.hp-galeria.tipo-circle .hp-galeria-item img{border-radius:50% !important}
.hp-galeria.gris .hp-galeria-item img{filter:grayscale(1)}
.hp-galeria.gris .hp-galeria-item:hover img{filter:none}
.hp-galeria-pie{display:none;position:absolute;left:2px;right:2px;bottom:2px;padding:8px 10px;background:rgba(255,255,255,.85);
  color:#333;font-size:13px;line-height:1.3;font-weight:400;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}
.hp-galeria-item:hover .hp-galeria-pie{display:block}
.hp-galeria-item-pequena .hp-galeria-pie{font-size:11px;padding:5px 8px}
.hp-galeria.tipo-circle .hp-galeria-pie{display:none !important}

/* Carrusel */
.hp-carrusel{position:fixed;inset:0;z-index:2147483000;display:flex;flex-direction:column;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Open Sans",sans-serif;opacity:0;transition:opacity .18s ease;
  -webkit-tap-highlight-color:transparent;touch-action:pan-y;user-select:none}
.hp-carrusel.abierto{opacity:1}
.hp-carrusel[data-fondo=claro]{background:rgba(255,255,255,.98);color:#222}
.hp-carrusel[data-fondo=oscuro]{background:rgba(0,0,0,.94);color:#fff}
.hp-carrusel-escena{flex:1 1 auto;min-height:0;position:relative;display:flex;align-items:center;justify-content:center}
.hp-carrusel-escena img{max-width:calc(100vw - 32px);max-height:calc(100vh - 118px);width:auto;height:auto;object-fit:contain;
  display:block;box-shadow:0 8px 30px rgba(0,0,0,.18);opacity:0;transition:opacity .2s ease;cursor:default}
.hp-carrusel-escena img.lista{opacity:1}
.hp-carrusel[data-fondo=oscuro] .hp-carrusel-escena img{box-shadow:0 8px 30px rgba(0,0,0,.6)}
.hp-carrusel-pie{flex:none;display:flex;align-items:flex-start;gap:16px;padding:12px 20px 14px;font-size:14px;line-height:1.4;min-height:58px}
.hp-carrusel-texto{flex:1 1 auto;min-width:0}
.hp-carrusel-titulo{font-weight:700;font-size:15px;margin:0 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hp-carrusel-pie-texto{margin:0;color:inherit;opacity:.85;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.hp-carrusel-contador{flex:none;font-variant-numeric:tabular-nums;opacity:.7;font-size:13px;padding-top:2px}
.hp-carrusel-completa{flex:none;font-size:13px;color:inherit;opacity:.7;text-decoration:underline;padding-top:2px}
.hp-carrusel-completa:hover{opacity:1;color:inherit}
.hp-carrusel button{appearance:none;border:0;cursor:pointer;position:absolute;display:flex;align-items:center;justify-content:center;
  border-radius:50%;width:48px;height:48px;padding:0;color:inherit;background:rgba(0,0,0,.06);transition:background .15s ease,opacity .15s ease}
.hp-carrusel[data-fondo=oscuro] button{background:rgba(255,255,255,.12)}
.hp-carrusel button:hover{background:rgba(0,0,0,.14)}
.hp-carrusel[data-fondo=oscuro] button:hover{background:rgba(255,255,255,.24)}
.hp-carrusel button:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.hp-carrusel button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hp-carrusel-cerrar{top:14px;right:14px}
.hp-carrusel-anterior{left:14px;top:50%;margin-top:-24px}
.hp-carrusel-siguiente{right:14px;top:50%;margin-top:-24px}
.hp-carrusel-escena.cargando::after{content:"";position:absolute;width:28px;height:28px;border-radius:50%;border:3px solid currentColor;
  border-right-color:transparent;opacity:.5;animation:hp-gira .8s linear infinite}
@keyframes hp-gira{to{transform:rotate(360deg)}}
body.hp-carrusel-abierto{overflow:hidden}
@media (max-width:700px){
  .hp-carrusel-anterior,.hp-carrusel-siguiente{display:none}
  .hp-carrusel-escena img{max-width:100vw;max-height:calc(100vh - 92px);box-shadow:none}
  .hp-carrusel-pie{padding:10px 14px 12px;font-size:13px;min-height:48px;gap:12px}
  .hp-carrusel-titulo{font-size:14px}
  .hp-carrusel-completa{display:none}
  .hp-carrusel-cerrar{top:8px;right:8px;width:40px;height:40px}
}
@media (prefers-reduced-motion:reduce){.hp-carrusel,.hp-carrusel-escena img{transition:none}}
