/* /puntos-de-recarga/ — mapa propio OpenStreetMap + lista (27-10-2026). Colores de portada.css. */
.puntos{display:grid;grid-template-columns:380px 1fr;gap:0;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden;min-height:620px}
.puntos .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.puntos-lado{display:flex;flex-direction:column;padding:20px;border-inline-end:1px solid var(--line);min-width:0}
.puntos-busca{position:relative}
.puntos-busca .ico{position:absolute;top:50%;inset-inline-start:14px;transform:translateY(-50%);color:var(--faint);line-height:0}
.puntos-busca input{width:100%;box-sizing:border-box;padding:13px 14px 13px 42px;font-size:15px;border:1px solid var(--line);border-radius:12px;background:#f8fafd}
[dir="rtl"] .puntos-busca input{padding:13px 42px 13px 14px}
.puntos-busca input:focus{outline:none;border-color:var(--blue-2);background:#fff;box-shadow:0 0 0 3px rgba(11,75,187,.12)}
.puntos-cerca{margin-top:10px;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 14px;font-size:14px}
.puntos-cuenta{margin:12px 2px 6px;font-size:13px;color:var(--muted);font-weight:600;min-height:18px}
.puntos-lista{list-style:none;margin:0;padding:0;overflow-y:auto;max-height:600px;flex:1}
.puntos-lista .vacio{color:var(--muted);text-align:center;padding:28px 10px;font-size:14px}
.punto{border:1px solid var(--line);border-radius:14px;padding:13px 14px;margin-bottom:10px;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}
.punto:hover{border-color:#c9d6ee}
.punto.on{border-color:var(--blue-2);background:var(--blue-tint);box-shadow:0 0 0 2px rgba(11,75,187,.12)}
.punto:focus-visible{outline:3px solid #9cc0ff;outline-offset:2px}
.punto .cab{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.punto .n{display:block;font-size:15px;color:var(--ink);line-height:1.3}
.punto .d{display:block;font-size:13.5px;color:var(--muted);margin-top:3px;line-height:1.4}
.punto .d b{color:var(--blue-2)}
.punto .est{flex:0 0 auto;font-size:11.5px;font-weight:800;border-radius:999px;padding:3px 9px;white-space:nowrap}
.punto .est.si{background:#e6f6ec;color:#17692f}
.punto .est.no{background:#f1f3f7;color:var(--muted)}
.punto .hor{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin:9px 0 0;font-size:12.5px}
.punto .hor dt{color:var(--muted);font-weight:700}
.punto .hor dd{margin:0;color:var(--ink);font-variant-numeric:tabular-nums}
.punto .acc{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:11px}
.punto .acc .btn{padding:8px 14px;font-size:13px}
.punto .acc .link{background:none;border:0;padding:0 4px;font:inherit;font-size:13px;font-weight:700;color:var(--blue-2);cursor:pointer}
.puntos-mapa{position:relative;min-height:620px}
#pMapa{position:absolute;inset:0;z-index:1;background:#e8eef6}
.puntos-nota{margin:16px 4px 0;color:var(--muted);font-size:14px;text-align:center}
/* pin de marca (sin imágenes) */
.vz-pin span{display:block;width:100%;height:100%;background:var(--red);border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg) scale(.82);box-shadow:0 3px 8px rgba(0,0,0,.3)}
.vz-pin span::after{content:"";position:absolute;width:30%;height:30%;left:35%;top:35%;background:#fff;border-radius:50%}
.vz-pin.on span{background:var(--blue-2)}
.vz-pop b{display:block;font-size:14px;margin-bottom:2px}
.vz-pop span{display:block;color:#5b6577;font-size:12.5px;margin-bottom:6px}
.vz-pop a{font-weight:700;color:#0b4bbb;font-size:13px}
.leaflet-container{font-family:var(--ff)}
@media (max-width:900px){
  .puntos{grid-template-columns:1fr;min-height:0}
  .puntos-mapa{order:-1;min-height:320px;height:320px}
  .puntos-lado{border-inline-end:0;padding:16px}
  .puntos-lista{max-height:none;overflow:visible}
}
