/**
 * Skip Links - Accesibilidad WCAG 2.2 AA
 * Diseño alineado con Filament v4
 */

.skip-links-container {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 99999;
	pointer-events: none;
}

.skip-link {
	/* Posición y layout */
	position: absolute;
	Lleft: 50%;
	Dtransform: translateX(-50%) translateY(-100%);

	transform: translate3d(.125rem, -5rem, 0);
  	transition: transform .3s ease-out;
	
	/* Estilos visuales (colores de Filament) */
	background-color: #000080;
	color: #ffffff;
	
	/* Tipografía */
	padding: 0.875rem 1.5rem;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.25rem;
	text-decoration: none;
	white-space: nowrap;
	
	/* Bordes y sombras */
	Dborder-radius: 0 0 0.5rem 0.5rem;
	box-shadow: 
		0 4px 6px -1px rgba(0, 0, 0, 0.1),
		0 2px 4px -1px rgba(0, 0, 0, 0.06),
		0 0 0 1px rgba(255, 255, 255, 0.1) inset;
	
	/* Transición suave */
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	
	/* Permitir interacción solo cuando visible */
	pointer-events: auto;
	
	/* Forzar encima de todo */
	z-index: 100000;
}

/* Posicionar los 3 links en columna cuando reciben foco */
.skip-link:nth-child(1) {
	Dtop: 0.5rem;
}

.skip-link:nth-child(2) {
	Dtop: 3.5rem;
}

.skip-link:nth-child(3) {
	Dtop: 6.5rem;
}

/* Mostrar cuando recibe foco */
.skip-link:focus {
	transform: translate3d(.125rem, .125rem, 0);
  outline: #fff solid .125rem;
}

/* Hover (mantener estilo de foco) */
.skip-link:hover {
	background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);
	box-shadow: 
		0 10px 15px -3px rgba(0, 0, 0, 0.1),
		0 4px 6px -2px rgba(0, 0, 0, 0.05),
		0 0 0 1px rgba(255, 255, 255, 0.1) inset;
}

/* Asegurar contraste WCAG AA */
.skip-link,
.skip-link:visited {
	color: #ffffff;
}

/* Modo oscuro de Filament */
.dark .skip-link {
	background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
	box-shadow: 
		0 4px 6px -1px rgba(0, 0, 0, 0.3),
		0 2px 4px -1px rgba(0, 0, 0, 0.2),
		0 0 0 1px rgba(255, 255, 255, 0.05) inset;
}

.dark .skip-link:hover {
	background: linear-gradient(135deg, #334155 0%, #1e293b 100%);
}

.dark .skip-link:focus {
	outline-color: rgba(96, 165, 250, 0.5);
}

/* Responsive: ajustar en pantallas pequeñas */
@media (max-width: 640px) {
	.skip-link {
		left: 1rem;
		right: 1rem;
		transform: translateY(-100%);
		font-size: 0.8125rem;
		padding: 0.75rem 1rem;
	}
	
	.skip-link:focus {
		transform: translateY(0);
	}
}

/* Animación al desaparecer (cuando pierde foco) */
.skip-link:not(:focus) {
	transition: transform 0.2s cubic-bezier(0.4, 0, 1, 1);
}

/* Asegurar que no afecte el layout de la página */
.skip-links-container::after {
	content: '';
	display: block;
	height: 0;
	clear: both;
}