/* Grupo HP · mapa y fichas de obras (WEB4) */
.mapa-obras{height:520px;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#e7ecef;z-index:0}
.mapa-wrap{position:relative}
.mapa-resumen{margin-top:10px;font-size:.88rem;color:var(--muted,#5b6572)}
.mapa-leyenda{display:flex;gap:16px;flex-wrap:wrap;font-size:.82rem;margin-top:6px;color:var(--muted,#5b6572)}
.mapa-leyenda i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;vertical-align:-1px;background:#c2410c;border:2px solid #fff;box-shadow:0 0 0 1px #c2410c}
.mapa-leyenda .fin i{background:#1d4ed8;box-shadow:0 0 0 1px #1d4ed8}
.obra-pin span{display:block;width:22px;height:22px;border-radius:50%;background:#c2410c;border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.35);position:relative}
.obra-pin span::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:2px solid rgba(194,65,12,.45);animation:obraPulso 2s infinite}
.obra-pin.es-fin span{background:#1d4ed8}.obra-pin.es-fin span::after{display:none}
@keyframes obraPulso{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.5);opacity:0}}
.obra-pop img{width:100%;height:120px;object-fit:cover;border-radius:6px;display:block;margin-bottom:6px}
.obra-pop b{display:block;font-size:.95rem;line-height:1.25}
.obra-pop span{display:block;color:#5b6572;font-size:.8rem;margin-top:2px}
.obra-pop em{display:block;font-style:normal;font-size:.75rem;font-weight:800;color:#c2410c;text-transform:uppercase;letter-spacing:.05em;margin-top:4px}
.obra-pop button{margin-top:8px;width:100%;border:0;border-radius:6px;background:var(--blue,#1f5fbf);color:#fff;font-weight:700;padding:8px;cursor:pointer}
.obras-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:22px}
.obra-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 6px 18px rgba(8,18,36,.06)}
.obra-card[hidden]{display:none}
.obra-foto{position:relative;display:block;padding:0;border:0;cursor:zoom-in;aspect-ratio:4/3;background:#d8dfdc}
.obra-foto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.obra-card:hover .obra-foto img{transform:scale(1.04)}
.obra-estado{position:absolute;left:10px;top:10px;display:inline-flex;align-items:center;gap:6px;background:rgba(13,26,48,.85);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border-radius:999px}
.obra-estado i{width:8px;height:8px;border-radius:50%;background:#36c07a}.obra-estado.es-fin i{background:#93c5fd}
.obra-nfotos{position:absolute;right:10px;bottom:10px;background:rgba(13,26,48,.8);color:#fff;font-size:.72rem;font-weight:700;padding:4px 8px;border-radius:6px}
.obra-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.obra-body h3{font-size:1.08rem;margin:0}
.obra-body p{margin:0;font-size:.9rem;color:var(--muted,#5b6572)}
.obra-body .obra-cat{font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent,#b4532a)}
.obra-ver-mapa{margin-top:auto;align-self:flex-start;background:none;border:0;padding:6px 0 0;color:var(--blue,#1f5fbf);font-weight:800;cursor:pointer;font-size:.86rem}
.obras-acciones{text-align:center;margin-top:26px}
.leaflet-container{font:inherit}
@media (max-width:980px){.obras-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.obras-grid{grid-template-columns:1fr}.mapa-obras{height:400px}}
@media (prefers-reduced-motion:reduce){.obra-pin span::after{animation:none}}

.mapa-obras .leaflet-tile-pane{filter:saturate(.75) contrast(.95)}

.obra-estado.es-cierre i,.obra-pin.es-cierre span,.mapa-leyenda .cie i{background:#c88a12}
