/* Mapa OPO — Localidades (mapa de palabras) */

.elementor-widget-mapa_opo_mp5173 { width: 100%; align-self: stretch; }
.elementor-widget-mapa_opo_mp5173 > .elementor-widget-container { width: 100%; }

.mo {
	--mo-ancho-mapa: 900px;
	--mo-atenuacion: .22;
	--mo-sin: .35;
	--mo-gap: 36px;

	width: 100%;
	min-width: 0;
}

/* ---------- el mapa ---------- */
.mo__mapa {
	position: relative;
	width: 100%;
	max-width: var(--mo-ancho-mapa);
}

.mo__svg { display: block; width: 100%; height: auto; overflow: visible; }

.mo__loc {
	cursor: pointer;
	outline: none;
	transition: opacity .2s ease;
}
.mo__loc path { transition: fill .2s ease; }

.mo__loc--sin { cursor: default; opacity: var(--mo-sin); }

/* al señalar una, las demás se apagan */
.mo--enfoque .mo__loc:not(.es-activa) { opacity: var(--mo-atenuacion); }
.mo--enfoque .mo__loc.es-activa { opacity: 1; }

.mo__loc:focus-visible path { stroke: #111; stroke-width: 4; paint-order: stroke; }

/* ---------- el aviso ---------- */
.mo__tip {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
	width: 232px;
	max-width: 100%;
	padding: 14px 16px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	box-shadow: 0 12px 32px rgba(0,0,0,.16);
	pointer-events: none;
	line-height: 1.45;
}
.mo__tip[hidden] { display: none; }

.mo__tip-nombre { display: block; font-size: 16px; font-weight: 700; color: #111; }
.mo__tip-anio { display: block; margin-top: 2px; font-size: 11px; letter-spacing: .07em; text-transform: uppercase; color: #6b7280; font-weight: 600; }
.mo__tip-anio[hidden] { display: none; }
.mo__tip-datos { margin: 10px 0 0; padding: 0; list-style: none; font-size: 12.5px; color: #4b5563; }
.mo__tip-datos li { display: flex; justify-content: space-between; gap: 10px; padding: 3px 0; }
.mo__tip-datos b { font-weight: 600; color: #111; text-align: right; }
.mo__tip-cue { display: block; margin-top: 10px; font-size: 12.5px; font-weight: 700; color: #111; }
.mo__tip-cue[hidden] { display: none; }

/* ---------- panel de abajo ---------- */
.mo__panel { margin-top: var(--mo-gap); max-width: var(--mo-ancho-mapa); margin-left: auto; margin-right: auto; }
.mo__intro { margin: 0 0 20px; font-size: 15px; line-height: 1.6; color: #4b5563; }

.mo__lista {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 0 24px;
}
.mo__lista a,
.mo__lista span {
	display: block;
	padding: 5px 0;
	font-size: 14px;
	color: #111;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color .18s ease, border-color .18s ease;
}
.mo__lista a:hover,
.mo__lista a.es-activa { color: #000; border-bottom-color: #111; }
.mo__lista span { color: #b6bac0; cursor: default; }

.mo__nota { margin: 24px 0 0; font-size: 11.5px; line-height: 1.6; color: #9199a5; }

@media (max-width: 767px) {
	.mo__lista { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
	.mo__loc, .mo__loc path, .mo__lista a { transition: none; }
}
