/* Visor de LSC en hover — títulos de contenido y nodos del organigrama. */

/* Nota accesible fuera de pantalla (no depende del tema padre). */
#insor-lsc-hint {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* ---- Títulos de texto ---- */
.insor-lsc-title {
	cursor: pointer;
	/* Usa el color del propio título (funciona en azul sobre blanco y en
	   blanco sobre azul del home). */
	border-bottom: 2px dotted currentColor;
	transition: opacity .2s ease;
}

.insor-lsc-title:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.insor-lsc-title.is-lsc-active {
	opacity: .78;
}

/* Icono de manos junto al título. */
.insor-lsc-title::after {
	content: "";
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
	margin-left: .35em;
	vertical-align: -0.4em;
	background: currentColor;
	opacity: .6;
	-webkit-mask: var(--insor-lsc-icon) center / contain no-repeat;
	mask: var(--insor-lsc-icon) center / contain no-repeat;
	/* Símbolo institucional de LSC: mano en contorno detrás + mano sólida delante.
	   Una sola silueta (#h) reutilizada; la máscara #c abre el calado blanco
	   entre ambas manos. Los "#" van como %23 para no romper la data URI. */
	--insor-lsc-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><defs><path id='h' d='M30 94 L20 74 Q18 66 18 58 L12 42 A5.2 5.2 0 0 1 21.5 38 L26 58 L25 20 A5.4 5.4 0 0 1 35 20 L37 52 L38 12 A5.7 5.7 0 0 1 49 12 L49 50 L52 18 A5.3 5.3 0 0 1 62 20 L66 56 Q68 50 76 44 A6 6 0 0 1 86 50 Q78 62 72 78 L68 94 Z'/><mask id='c' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'><rect width='24' height='24' fill='white'/><use href='%23h' transform='translate(9.6 6.2) scale(0.152) rotate(14 50 50)' fill='black' stroke='black' stroke-width='12' stroke-linejoin='round'/></mask></defs><g mask='url(%23c)'><use href='%23h' transform='translate(0.9 0.6) scale(0.14) rotate(-16 50 50)' fill='none' stroke='black' stroke-width='8' stroke-linejoin='round'/></g><use href='%23h' transform='translate(9.6 6.2) scale(0.152) rotate(14 50 50)'/></svg>");
}

.insor-lsc-title.is-lsc-active::after {
	opacity: 1;
}

/* ---- Nodos del organigrama (SVG) ---- */
.insor-lsc-node {
	cursor: pointer;
}

.insor-lsc-node:focus-visible {
	outline: 2px solid #a2238f;
	outline-offset: 2px;
}

/* ---- Visor compartido ---- */
.insor-lsc-viewer {
	position: fixed;
	z-index: 100000;
	width: 220px;
	height: 220px;
	border-radius: 18px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 12px 34px rgba(0, 0, 0, .28);
	border: 3px solid #a2238f;
	opacity: 0;
	transform: scale(.9);
	pointer-events: none;
	transition: opacity .18s ease, transform .18s cubic-bezier(.21, 1, .32, 1);
}

.insor-lsc-viewer.is-visible {
	opacity: 1;
	transform: scale(1);
}

.insor-lsc-viewer video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.insor-lsc-viewer::after {
	content: "LSC";
	position: absolute;
	right: 8px;
	bottom: 8px;
	padding: 2px 8px;
	border-radius: 999px;
	background: rgba(162, 35, 143, .92);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1.6;
}

@media (max-width: 690px) {
	.insor-lsc-viewer {
		width: 170px;
		height: 170px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.insor-lsc-viewer {
		transition: none;
	}
}
