 /**
 * @copyright Ying Yang del Sureste
 * @author Nucliux Solutions (edoardo@nucliux.mx)
 * @version 1.15.0 (Octubre 2026)
 * @since 1.0.0
 */

/*Importación de otros estilos*/
@import "reset.css";
@import "menu.css?v=1.12.3";
@import "busqueda.css?v=1.1.64";
@import "carrito.css?v=1.14.1";
@import "perfil.css?v=1.7.2";
@import "producto.css?v=1.14.0";
@import "footer.css";
@import "inicio.css?v=1.1.36";
@import "categorias.css?v=1.15.0";
@import "express.css?v=1.14.0";
@import "contacto.css?v=1.1.51";

/*Tipografías*/
@font-face{
	font-family: "Futura Std";
	src: url("fonts/FuturaStd-Book.otf");
}

@font-face{
	font-family: "Futura Std";
	src: url("fonts/FuturaStd-Bold.otf");
	font-weight: bold;
}

/*Página*/
html,body{
	background-color: white;
	width: 100%;
	height: 100%;
	color: black;
	font-family: "Futura Std", sans-serif;
	font-size: 1.2vw;
}

.titulo{
	padding: 3vh 0;
	color: #31348A;
	font-size: 1.5vw;
	font-weight: normal;
	text-align: center;
	text-transform: uppercase;
}

.titulo:before{
	background-color: #31348A;
	display: block;
	margin: 0 auto;
	margin-bottom: 2vh;
	width: 5vw;
	height: 0.5vh;
	content: '';
	text-align: center;
}

.titulo img{
	margin-left: 1vw;
	width: 3vw;
	height: auto;
}

.modal{
	background-color: rgba(0,0,0,0.5);
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	opacity: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;

	display: -webkit-flex;
	-webkit-justify-content: center;
	-webkit-align-items: center;

	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
}

.modal-especial{
	background-color: rgba(0,0,0,0.8);
}

.modal-activo{
	opacity: 1;
	pointer-events: auto;
}

.modal__cerrar{
	position: absolute;
	top: 0;
	right: 0;
	padding: 1.5vw;
	color: white;
	font-size: 2vw;
	font-weight: bold;
	cursor: pointer;
}

.modal__imagen{
	width: 60%;
	height: auto;
	object-fit: contain;
}

.modal__contenedor{
	background-color: white;
	width: 90%;
	height: 80%;
}

.modal__contenedor-registro{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 40%;
	height: 40%;

	display: -webkit-flex;
	-webkit-flex-direction: column;
	-webkit-justify-content: center;
	-webkit-align-items: center;
}

.modal__contenedor-registro p{
	padding: 5vh 0;
	text-align: center;
}

.modal__contenedor-registro a{
	background-color: #31348A;
	margin: 5vh auto;
	padding: 1vh 1vw;
	border: none;
	border-radius: 3vw;
	color: white;
	font-family: "Futura Std", sans-serif;
	font-size: 1.2vw;
	text-decoration: none;
	cursor: pointer;
}

.modal__contenedor-producto{
	display: flex;
	justify-content: space-between;
	padding: 3vh 2%;
	width: 56%;
	height: auto;

	display: -webkit-flex;
	-webkit-justify-content: space-between;
}

.modal__contenedor-catalogo{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 5vh 0;
	width: 40%;
	height: auto;

	display: -webkit-flex;
	-webkit-flex-direction: column;
	-webkit-justify-content: center;
	-webkit-align-items: center;
}

.catalogo-filtros{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 1vw 1.2vw;
	margin-bottom: 2vh;
	width: 100%;
}

.catalogo-filtro{
	display: flex;
	flex-direction: column;
	gap: 0.4vh;
	min-width: 11%;
	flex: 1 1 11%;
}

.catalogo-filtro span{
	color: #31348A;
	font-size: 0.85vw;
	font-weight: bold;
	line-height: 1.2;
}

.catalogo-filtro .contacto__entrada{
	width: 100%;
	box-sizing: border-box;
}

.catalogo-filtro--buscar{
	flex: 2 1 22%;
	min-width: 18%;
}

.catalogo-filtro-boton{
	align-self: flex-end;
	margin-bottom: 0.2vh;
}

.express__producto p{
	line-height: 1.25;
}

@media only screen and (max-width: 900px){
	.catalogo-filtro span{
		font-size: 3vw;
	}
}

.modal-producto__datos p{
	margin-bottom: 3vh;
}

.whatsapp img{
	position: fixed;
	bottom: 1vh;
	right: 1vw;
	z-index: 15;
	width: auto;
	height: 8vh;
	object-fit: contain;

	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
}

.whatsapp img:hover{
	transform: scale(1.1,1.1);
	-webkit-transform: scale(1.1,1.1);
}

/*Estilo para media pantalla
______________________________*/
@media only screen and (max-width: 1024px){
	.whatsapp img{
		right: 2vw;
		height: 10vh;
	}
}

/*Estilo para móviles
______________________________*/
@media only screen and (max-device-width: 465px) and (max-aspect-ratio: 13/9){
	html,body{
		font-size: 4.5vw;
	}

	.titulo{
		font-size: 5vw;
	}

	.titulo:before{
		width: 10vw;
	}

	.titulo img{
		margin-left: 3vw;
		width: 10vw;
	}

	.modal .titulo{
		margin-bottom: 1vh;
		padding: 0;
	}

	.modal__cerrar{
		padding: 3vw;
		font-size: 6vw;
	}

	.modal__imagen{
		width: 95%;
	}

	.modal__contenedor-registro{
		padding: 0 3%;
		width: 84%;
	}

	.modal__contenedor-registro div{
		display: flex;
		flex-direction: column;
		width: 100%;

		display: -webkit-flex;
		-webkit-flex-direction: column;
	}

	.modal__contenedor-registro a{
		margin: 0;
		margin-bottom: 1.5vh;
		padding: 1vh 0;
		width: 100%;
		font-size: 4.5vw;
		text-align: center;
	}

	.modal__contenedor-producto{
		flex-direction: column;
		width: 85%;
		height: 80%;
		overflow-y: scroll;

		-webkit-flex-direction: column;
	}
}

/* Toasts */
.toast-container{
	position: fixed;
	z-index: 10000;
	right: 2vw;
	bottom: 3vh;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 1vh;
	pointer-events: none;
}

.toast{
	display: flex;
	align-items: center;
	gap: 0.6vw;
	padding: 1.2vh 1.2vw;
	min-width: 16vw;
	max-width: 28vw;
	border-radius: 0.4vw;
	background: #31348A;
	color: #fff;
	font-family: "Futura Std", sans-serif;
	font-size: 0.9vw;
	box-shadow: 0 0.4vh 1.2vh rgba(0,0,0,0.2);
	opacity: 1;
	transition: opacity 0.3s ease, transform 0.3s ease;
	transform: translateY(0);
}

.toast--loading{ background: #31348A; }
.toast--success{ background: #2e7d32; }
.toast--error{ background: #c62828; }
.toast--oculto{
	opacity: 0;
	transform: translateY(1vh);
}

.toast i{ font-size: 1.1vw; }

@media only screen and (max-device-width: 465px) and (max-aspect-ratio: 13/9){
	.toast-container{
		right: 3vw;
		left: 3vw;
		bottom: 2vh;
		align-items: stretch;
	}
	.toast{
		min-width: 0;
		max-width: none;
		font-size: 3.5vw;
		padding: 1.5vh 3vw;
	}
	.toast i{ font-size: 4vw; }
}
