
.text-small {
  font-size: 85%;
}

.dropdown-toggle:not(:focus) {
  outline: 0;
}





/**
 * Estilo general de las páginas
 */
html, body {
	height: 100%;
	margin: 0;
}

body {
	display: flex;
	flex-direction: column;
}




/**
 * Área principal y footer
 */
main {
	flex: 1 0 auto;
}

footer {
	flex-shrink: 0;
	padding: 1.5rem 0;
	background-color: #f8f9fa;
	border-top: 2px solid #dee2e6;
}

h2.module_title a {
	color: #000000;
	text-decoration: none;
}



/**
 * Estilo para bloqueo al envío de formas de contacto
 */

.form-protection-overlay {
    transition: opacity 0.3s ease;
}

/* Mejorar apariencia de inputs deshabilitados */
.form-control.disabled,
.form-select.disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Animación suave para el spinner */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.form-protection-overlay {
    animation: fadeIn 0.2s ease;
}





/**
 * Estilo para activación/desactivación de password
 */

/* Transiciones suaves */
.password-toggle-wrapper input {
	transition: padding-right 0.2s ease;
}

.password-toggle-btn {
	transition: all 0.2s ease;
}

.password-toggle-btn:hover {
	color: #495057 !important;
	transform: translateY(-50%) scale(1.1);
}

.password-toggle-btn:active {
	transform: translateY(-50%) scale(0.95);
}

.password-toggle-btn.active {
	color: #0d6efd !important;
}

/* Animación del icono */
.password-toggle-btn i {
	transition: transform 0.2s ease;
}

.password-toggle-btn:hover i {
	transform: scale(1.1);
}

/* Focus en el input */
.password-toggle-wrapper input:focus {
	outline: none;
	border-color: #86b7fe;
	box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

/* Estado disabled */
.password-toggle-wrapper input:disabled+.password-toggle-btn {
	opacity: 0.5;
	cursor: not-allowed;
	pointer-events: none;
}
