/* Animación al abrir el modal */
@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(100px); /* Empieza desplazado hacia abajo */
    }
    to {
        opacity: 1;
        transform: translateY(0); /* Termina en su posición original */
    }
}

/*btn carrito en el modulo de lista*/
	.carrito__boton{
		margin-top: 10px;
	}
	.carrito__boton_cantidad{
		width: 45px;
		font-size: 12px;
		text-align: center;
		padding: 3px;
		cursor: pointer;
	}
	.carrito__btn-agregar{
		padding: 3px;
		background: var(--btn_carrito_fondo);
		border: var(--btn_carrito_border);
		border-radius: 5px;
		font-size: 12px;
		cursor: pointer;
	}

/* Mensaje de agregado  */
	.carrito__mensaje {
	    display: none;
	    position: fixed;
	    bottom: 60px;
	    left: 50%;
	    transform: translateX(-50%);
	    background-color: #4caf50;
	    color: white;
	    padding: 10px 20px;
	    border-radius: 5px;
	    font-size: 16px;
	    z-index: 1000;
	    opacity: 0;
	    max-width: 90%;
	    text-align: center;
	}

	@media (max-width: 600px) {
	    .carrito__mensaje {
	        font-size: 14px;
	        padding: 8px 8px;
	    }
	}
	@media (max-width: 400px) {
	    .carrito__mensaje {
	        font-size: 0.9rem;
	        padding: 8px 8px;
	    }
	}
	@media (max-width: 360px) {
	    .carrito__mensaje {
	        font-size: 0.8rem;
	        padding: 8px 8px;
	    }
	}

/*mensaje de carrito vacio */
	.carrito__mensaje-vacio{
		position: fixed;
		bottom: 50%;
	    left: 50%;
	    transform: translateX(-50%);
	    background-color: #4caf50;
	    color: white;
	    width: 250px;
	    padding: 20px 30px;
	    border-radius: 5px;
	    border: 1px solid black;
	    font-size: 18px;
	    z-index: 9000;
	    opacity: 1;
	    max-width: 90%;
	    text-align: center;
	}
	/* Animación de Desvanecimiento */
	@keyframes desvanecer {
	    0% {
	        opacity: 0;
	        transform: translateY(20px); /* Comienza más abajo */
	    }
	    50% {
	        opacity: 1;
	        transform: translateY(0); /* Se mueve a su posición original */
	    }
	    100% {
	        opacity: 0;
	        transform: translateY(-20px); /* Se desvanece hacia arriba */
	    }
	}
	/* Aplicar la animación */
	.carrito__mensaje.mostrar {
	    display: block;
	    animation: desvanecer 1.5s ease-in-out forwards; /* Duración y tipo de animación */
	}

/* Ícono de Confirmación */
	.carrito__icono-confirmacion {
	    display: none;
	    width: 30px;
	    height: 30px;
	    margin-left: 5px;
	    vertical-align: middle;
	}
	.carrito__icono-confirmacion.mostrar {
	    display: inline-block;
	}

/*btns*/
	.btn__general{
		padding: 5px 10px;
		margin-top: 10px;
		border-radius: 5px;
		border: 2px solid rgb(0, 0, 255);
		cursor: pointer;
	}

/*btn pedido*/
	.btn__pedido{
		background: none;
		width: 150px;
		height: 50px;
		display: flex;
	 	filter: drop-shadow(0px 0px 5px green);
		position: fixed;
		bottom: 80px;
	}
	.btn__pedido--cuadro{
		width: 0.5rem;
		height: 50px;
		background: green;
	}
	.btn__pedido img{
		height: 100%;
		padding: 0 10px 0 5px;
		filter: drop-shadow(0px 0px 5px black);
	}
	.btn__pedido--recuadro{
		background: white;
		border: 3px solid green;
		border-radius: 0 20px 20px 0;
	}
	.contador_carrito{
		font-size: 1rem;
		background-color: white;
		border: 2px solid red;
		width: 2rem;
		height: 2rem;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 50%;
		position: relative;
		bottom: 20px;
		left: 65%;
	}



/*modal carrito*/
	.modal {
	    display: none;
	    position: fixed;
	    z-index: 1000;
	    left: 0;
	    top: 0;
	    width: 100%;
	    height: 100%;
	    overflow: auto;
	    background-color: rgba(0, 0, 0, 0.4);

	}
	.modal {
	    display: none;
	    opacity: 0;
	    transform: translateY(500px);
	    transition: opacity 0.2s ease, transform 0.2s ease;
	}

	.modal.mostrar {
	    opacity: 1;
	    transform: translateY(0); /* Posición final */
	}

	.modal.ocultar {
	    opacity: 0;
	    transform: translateY(500px); /* Desplaza hacia abajo al cerrar */
	}

	.modal-contenido {
	    background-color: #ffffff;
	    border-radius: 10px;
	    padding: 20px;
	    margin: auto;
	    top: 2%;
	    position: relative;
    	 /* Baja el modal desde la parte superior */
	    width: 90%;
	    max-width: 500px; /* Máximo ancho para pantallas grandes */
	    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Sombra moderna */
	    display: flex;
	    flex-direction: column; /* Organiza el contenido en columnas */
	    gap: 5px; /* Espaciado entre los elementos */
		animation: slideIn 0.2s ease-out; /* Aplica la animación */
	}
	.modal-contenido h2 {
	    font-size: 1.5rem;
	    font-weight: bold;
	    color: #333;
	    margin: 0;
	    text-align: center; /* Centrado para destacar el título */
	}
	.modal-botones {
	    display: flex;
	    justify-content: flex-end; /* Botón de Vaciar Carrito alineado a la derecha */
	    gap: 10px; /* Espacio entre los botones */
	}
	#btn-vaciar-carrito {
	    background-color: #f44336;
	    color: #fff;
	    border: none;
	    padding: 5px 10px;
	    border-radius: 5px;
	    cursor: pointer;
	    font-size: 0.8rem;
	    margin-top: 0.5rem;
	    width: 30%;
	}

	#btn-vaciar-carrito:hover {
	    background-color: #d32f2f;
	}
	#carrito-items {
	    max-height: 300px; /* Limita la altura del área de productos */
	    overflow-y: auto; /* Habilita el scroll vertical */
	    padding-right: 10px; /* Espacio para el scroll */
	}

	.carrito__producto {
	    display: flex;
	    flex-direction: column;
	    background-color: #f9f9f9;
	    border: 1px solid #e0e0e0;
	    border-radius: 5px;
	    padding: 10px;
	    margin-bottom: 5px;
	    position: relative; /* Para el botón eliminar */
	}

	.carrito__producto-nombre {
	    font-size: 0.9rem;
	    font-weight: bold;
	    color: #333;
	}

	.carrito__producto-precio {
	    font-size: 0.8rem;
	    color: #666;
	}
	.carrito__producto-variante{
		font-size: 0.9rem;
	    color: #666;
	    padding: 0.3rem;
	}

	.carrito__producto-detalles {
	    display: flex;
	    gap: 5px; /* Espacio entre costo, cantidad y total */
	    align-items: center;
	    font-size: 0.8rem;
	    color: #555;
	}

	.carrito__producto-cantidad {
	    width: 60px;
	    padding: 5px;
	    font-size: 0.8rem;
	    text-align: center;
	    border: 1px solid #ccc;
	    border-radius: 5px;
	}

	.carrito__producto-eliminar {
	    position: absolute;
	    top: 10px;
	    right: 10px;
	    background: none;
	    border: none;
	    cursor: pointer;
	}

	.carrito__producto-eliminar img {
	    width: 20px;
	    height: 20px;
	    opacity: 0.7;
	}

	.carrito__producto-eliminar img:hover {
	    opacity: 1; /* Resaltar al pasar el ratón */
	}

	/* campos de usuario */
	.carrito__usuario {
	    display: flex;
	    flex-direction: column;
	    margin-bottom: 5px;
	}

	.carrito__usuario label {
	    font-size: 0.9rem;
	    font-weight: bold;
	    color: #333;
	    margin-bottom: 5px;
	}

	.carrito__usuario input,
	.carrito__usuario textarea {
	    width: 100%;
	    padding: 8px;
	    border: 1px solid #ccc;
	    border-radius: 5px;
	    font-size: 0.9rem;
	    color: #333;
	    box-sizing: border-box;
	}

	.carrito__usuario textarea {
	    resize: vertical;
	}

	/* Totales */
	#modal-carrito-totales {
	    display: flex;
	    flex-direction: column;
	    gap: 5px;
	    border-top: 1px solid #ddd;
	    padding-top: 10px;
	    font-size: 1rem;
	    color: #333;
	}

	#btn-hacer-pedido {
	    background-color: #4caf50;
	    color: white;
	    border: none;
	    padding: 10px 20px;
	    font-size: 1rem;
	    border-radius: 5px;
	    cursor: pointer;
	    width: 100%; /* Ocupa todo el ancho en móviles */
	    margin-top: 10px;
	}

	#btn-hacer-pedido:hover {
	    background-color: #45a049;
	}

	.cerrar {
	    position: absolute;
	    top: 10px;
	    right: 30px; /* Asegura que esté alineado a la derecha */
	    color: #aaa;
	    font-size: 40px;
	    font-weight: bold;
	    cursor: pointer;
	}

	.cerrar:hover,
	.cerrar:focus {
	    color: #000;
	    text-decoration: none;
	}

/*media modal*/
	@media (max-width: 768px) {
	    .modal-contenido {
	        width: 95%;
	        padding: 15px;
	        top: 5%;
	    }

	    .carrito__producto {
	        flex-direction: column;
	        gap: 5px;
	    }

	    #btn-hacer-pedido {
	        font-size: 0.9rem;
	    }

	    .carrito__producto-nombre {
	        font-size: 0.9rem;
	    }
	}


@media screen and (max-width: 720px){
		.carrito__boton_cantidad{
			width: 45px;
		/*	height: 20px;*/
			font-size: 14px;
			text-align: center;
			padding: 3px;
		}
		.carrito__btn-agregar{
			padding: 5px;
			font-size: 12px;
		}

	}

	@media (max-width: 400px){
		#btn-vaciar-carrito {
		    width: 30%;
		    padding: 0.5rem;
		}
		.carrito__producto-nombre {
			font-size: 0.8rem;
		}
	}

	@media (max-width: 360px){

		#btn-vaciar-carrito {
		    width: 35%;
		    padding: 0.5rem;
		}
		.carrito__producto-nombre {
			font-size: 0.7rem;
		}

	}

/*verical*/
	@media screen and (max-height: 500px){


	}