/* VARIABLES DE COLORES PRINCIPALES */
/* 
:root {
	--azul-primario: #3aa8f3;
	--azul-secundario: #0083af;
} */

/* Alto mínimo del div del buscador */
#buscador {
	min-height: 200px;
}

.texto-fallo {
	color: var(--azul-primario) !important;
}

.texto-doctrina {
	color: var(--azul-secundario) !important;
}

.texto-modelo {
	color: var(--gris-primario) !important;
}

.bg-fallo {
	background-color: var(--azul-primario) !important;
}

.bg-doctrina {
	background-color: var(--azul-secundario) !important;
}

.bg-modelo {
	background-color: var(--gris-primario) !important;
}

.borde-fallo {
	border: 1px solid var(--azul-primario) !important;
	border-radius: 5px;
}

.borde-doctrina {
	border: 1px solid var(--azul-secundario) !important;
	border-radius: 5px;
}

.borde-modelo {
	border: 1px solid var(--gris-primario) !important;
	border-radius: 5px;
}

@media (max-width: 767px) {
	.navbar-brand {
		visibility: visible !important;
	}
}

#loader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.8);
	z-index: 9999;
	display: flex;
	justify-content: center;
	align-items: center;
}

#loader::after {
	content: " ";
	width: 100px;
	height: 100px;
	border-radius: 50%;
	border: 10px solid #f3f3f3;
	border-top: 10px solid #3498db;
	animation: spin 1s linear infinite;
}
@keyframes spin {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

/* PARA EL CHAT */
.chat-container {
	margin-top: 40px;
	background-color: white;
	border: 1px solid #ddd;
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.chat-header {
	background-color: #f0f0f0;
	padding: 12px 16px;
	border-bottom: 1px solid #ddd;
	font-weight: bold;
}

.chat-messages {
	height: 350px;
	padding: 16px;
	overflow-y: auto;
}

.message {
	margin-bottom: 12px;
	max-width: 80%;
	padding: 10px 14px;
	border-radius: 16px;
	line-height: 1.4;
}

.user {
	align-self: flex-end;
	background-color: #007bff;
	color: white;
	border-bottom-right-radius: 4px;
}

.bot {
	align-self: flex-start;
	background-color: #e4e6eb;
	color: #000;
	border-bottom-left-radius: 4px;
}

.chat-input {
	display: flex;
	border-top: 1px solid #ddd;
	padding: 12px;
}

.chat-input input {
	flex: 1;
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 20px;
	outline: none;
	font-size: 14px;
}

.chat-input button {
	margin-left: 8px;
	padding: 10px 16px;
	border: none;
	border-radius: 20px;
	background-color: #007bff;
	color: white;
	cursor: pointer;
}

.chat-input button:hover {
	background-color: #0056b3;
}

.holo-effect {
	font-size: 2rem;
	background: linear-gradient(120deg, #0d6efd, #0dcaf0, #0d6efd);
	background-size: 200% 200%;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	animation: holoMove 4s ease-in-out infinite;
	/* filter: drop-shadow(0 0 4px rgba(13, 110, 253, 0.5)); */
	display: inline-block;
}

.holo-effect-small {
	font-size: 1.5rem;
	background: linear-gradient(120deg, #0d6efd, #0dcaf0, #0d6efd);
	background-size: 200% 200%;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	animation: holoMove 4s ease-in-out infinite;
	/* filter: drop-shadow(0 0 4px rgba(13, 110, 253, 0.5)); */
	display: inline-block;
}
.border-holo-degree {
	border: 1px solid transparent;
	background-image: linear-gradient(white, white), linear-gradient(to right, #0d6efd, #0dcaf0, #0d6efd);
	background-clip: padding-box, border-box;
	background-origin: border-box;
	background-size: 100% 100%, 100% 100%;
	border-radius: 5px;
}
.border-holo-degree:hover {
	scale: 1.05;
	transition: all 0.3s ease;
	border: 1px solid transparent;
	background-image: linear-gradient(white, white), linear-gradient(to right, #0d6efd, #0dcaf0, #0d6efd);
	background-clip: padding-box, border-box;
	background-origin: border-box;
	background-size: 100% 100%, 100% 100%;
	border-radius: 5px;
}

@keyframes holoMove {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

.font-size-1 {
	font-size: 1rem !important;
}

@keyframes desaparecerBtn {
	0% {
		opacity: 1;
		transform: scale(1) translateY(0);
	}
	100% {
		opacity: 0;
		transform: scale(0.5) translateY(-50px);
	}
}

.btn-despedirse {
	animation: desaparecerBtn 0.6s ease forwards;
}

/* Estilo de la pestaña */
.ia-tab {
	position: fixed;
	top: 90px;
	right: 0;
	/* background-color: var(--azul-primario); */
	/* color: white; */
	height: 50px;
	width: 50px;
	border-radius: 10px 0 0 10px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding: 0 10px;
	overflow: hidden;
	transition: width 0.3s ease;
	cursor: pointer;
	z-index: 1000;
	box-shadow: -2px 2px 6px rgba(0, 0, 0, 0.3);
}

.ia-tab:hover {
	width: 160px;
}

.ia-icon {
	font-size: 20px;
	margin-right: 10px;
}

.ia-text {
	white-space: nowrap;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.ia-tab:hover .ia-text {
	opacity: 1;
}

.message {
	position: relative;
}

.copy-btn {
	position: absolute;
	top: 5px;
	right: 5px;
	background: none;
	border: none;
	cursor: pointer;
	font-size: 0.6rem;
}

.copy-btn:hover {
	color: #007bff;
}
