/* ============================================================
   VisionLovers · camino B · LISTADOS POR TIPO Y MAPAS (25/09/2026, Claude Code)
   La carga inc/plantilla-tipos.php, solo con VL_PLANTILLA_TIPOS activo y solo en las 6 páginas por tipo
   (11343 · 11345 · 11346 · 11347 · 11348 · 11349), en resultados (11331) y en los archivos de localidad, especialidad y etiqueta.
   El hero, las migas, el listado, la vista mapa y el aviso del mapa vacío YA los viste remate-1-1.css + plantilla-listado.css:
   aquí solo va lo nuevo. Tokens de tokens.css (--vl-*). Cero !important.
   Marcha atrás: VL_PLANTILLA_TIPOS en false (esta hoja deja de cargarse).
   ============================================================ */

/* 1 · Archivos de localidad / especialidad / etiqueta: el envoltorio imita al de una página; sin margen extra arriba ni abajo. */
.vl-tipos-archivo { width: 100%; }
.vl-tipos-archivo > .entry-content { margin: 0; padding: 0; }

/* 2 · Cierre «¿Echas en falta tu óptica?» (dibujo 03-pantallas/listado-por-tipo: .vl-directorio-vacio al final del listado).
   La caja la viste componentes.css (.vl-directorio-vacio: fondo suave, borde discontinuo, centrado). Aquí: sitio y botones. */
.vl-tipos-cierre { padding: 0 0 var(--vl-space-2xl); }
.vl-tipos-cierre .vl-tipos-cierre__caja { margin: 0 auto; max-width: 720px; }
.vl-tipos-cierre__caja h2 { margin-top: 0; }
.vl-tipos-cierre__botones { display: flex; flex-wrap: wrap; gap: var(--vl-space-sm); justify-content: center; }
.vl-tipos-cierre__botones .vl-btn + .vl-btn { margin-left: 0; } /* componentes.css pone margin-left entre botones: con gap sobra */
@media (max-width: 599px) {
	.vl-tipos-cierre .vl-tipos-cierre__caja { padding: var(--vl-space-xl) var(--vl-space-md); }
	.vl-tipos-cierre__botones .vl-btn { flex: 1 1 100%; }
}

/* 3 · VISTA MAPA (?view=map) en los listados por tipo, los archivos y los resultados 11331 (dibujos mapa-vacio y 11331).
   Medido en la web viva el 25/09 a las 23:55 (1440 px): el mapa que pinta Directorist se llama .directorist-openstreet-map,
   NO .directorist-map (que es lo que visten remate-1-1.css §4b y §13, y por eso no le llegaba nada): medía 466 × 350 px
   en la primera columna de la rejilla 60/40, con la paginación suelta a su derecha; el aviso del mapa vacío (.vl-mapa__aviso,
   absoluto) se salía 72 px por encima del mapa y tapaba la barra «Filtrar · Rejilla · Lista · Mapa», porque su caja no estaba
   posicionada; los botones de zoom medían 30 × 30 px; y el marcador era el círculo #066aab con una chincheta.
   La vista mapa de Directorist pinta SOLO el mapa (sin la lista al lado): por eso ocupa todo el ancho, como ya quería §13. */
html body.directorist-content-active .directorist-archive-items.directorist-archive-map-view {
	position: relative; /* el aviso del mapa vacío se centra sobre el mapa */
	grid-template-columns: minmax(0, 1fr);
	--directorist-color-marker-shape: var(--vl-mapa-marcador); /* azul del marcador (orden de Sergio, §7): el plugin lo lee de esta variable */
	--directorist-color-marker-icon: var(--vl-on-color);
}
/* El plugin le pone style="height:350px" en línea: min-height le gana sin !important (la caja crece hasta el mínimo). */
.directorist-archive-map-view > .directorist-openstreet-map {
	grid-column: 1 / -1; width: 100%; min-height: clamp(360px, 62vh, 640px);
	border: 1px solid var(--vl-border); border-radius: var(--vl-radius-lg); overflow: hidden; background: var(--vl-bg-gray);
}
.directorist-archive-map-view > .directorist-pagination { justify-self: center; }
/* Zoom a 44 × 44 (accesibilidad, §7). Leaflet los deja en 30 con .leaflet-touch .leaflet-bar a: aquí con más peso. */
.directorist-archive-map-view .leaflet-bar a.leaflet-control-zoom-in,
.directorist-archive-map-view .leaflet-bar a.leaflet-control-zoom-out { width: 44px; height: 44px; line-height: 44px; font-size: 22px; }
/* Marcador: el ojo de VisionLovers (mismo trazo que la barra de iconos) en vez de la chincheta, con aro blanco para que se vea sobre el mapa. */
.directorist-archive-map-view .atbd_map_shape { box-shadow: 0 0 0 3px var(--vl-bg), 0 4px 8px rgba(15, 23, 42, .25); }
.directorist-archive-map-view .atbd_map_shape .directorist-icon-mask::after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}
@media (max-width: 767px) {
	.directorist-archive-map-view > .directorist-openstreet-map { min-height: clamp(360px, 70vh, 560px); }
	.directorist-archive-map-view .vl-mapa__aviso { width: calc(100% - var(--vl-space-lg)); padding: var(--vl-space-md); }
}
