* {
	margin: 0;
	padding: 0;
	font-family: Manrope;
}

body {
	width: 100%;
	height: 95vh;

	background-image: url("backgrounds/backgroundImg1.svg");
	background-position: left;
	background-repeat: no-repeat;
	background-color: #1b1f27;
}

#checkout {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	height: 100%;
	color: #ffffff;

	.form-inputs {
		height: 100%;
		padding-left: 32px;

		.header {
			display: flex;
			align-items: center;
			img {
				padding: 24px 0;
				width: 168px;
			}
		}
	
		.checkout-description {
			margin: 32px 0;
			.title {
				font-size: 22px;
				font-weight: 700;
				line-height: 24px;
			}
			
		}

		.text-inputs {
			margin-top: 8px;
			display: flex;
			flex-direction: column;
		
			label {
				display: flex;
				align-items: center;
				margin: 12px 0;
				font-size: 18px;
				font-weight: 500;
				line-height: 24px;
			}

			input {
				background-color: transparent;
				height: 40px;
				border: 1px solid;
				border-radius: 6px;
				border-color: #ffffff;
				color: #ffffff;
				font-size: 16px;
				padding: 0 8px;
			}

			img {
				width: 30px;
				margin-right: 4px;
			}

			.card-icon {
				width: 36px;
			}

			.big-input {
				width: 650px;
			}

			.small-input {
				width: 310px;
			}
		}

		.side-inputs {
			display: flex;
			flex-direction: row;
			gap: 18px;

			.side-input {
				display: flex;
				flex-direction: column;
			}
		}
	}

	.error-message {
		color: red;
		font-size: 14px;
		margin-top: 4px;

		display: none;
		opacity: 0;
	}

	#credit-card-form-inputs{
		opacity: 0;
		display: none;
		transition: 0.5s ease-in-out opacity;
		height: 100%;

		.payment-cicle {
			font-size: 18px;
			font-weight: 700;
			line-height: 24px;
			margin-top: 16px;

			form {
				margin: 8px 0;
				display: flex;
				flex-direction: row;
				gap: 18px;
			
				.radio-button {
					padding-left: 12px;
					display: flex;
					align-items: center;
					width: 310px;
					height: 50px;
					border: 1px solid;
					border-radius: 10px;
					border-color: #ffffff;

					label {
						margin: 8px;
					}

					&:hover {
						cursor: pointer;
						border-color: #1976d2;
						transition: opacity 0.1s ease-in-out;
						opacity: 0.7;
					}
				}
			}
		}
	
		.payment-data {
			margin-top: 32px;

			.installment-choice {
				display: flex;
				flex-direction: column;
				width: 650px;
				max-width: 600px;

				label {
					font-size: 18px;
					font-weight: 500;
					line-height: 24px;
					display: flex;
					align-items: center;

					img {
						width: 32px;
						margin-right: 8px;
					}
				}

				select {
					margin-top: 8px;
					padding: 0 8px;
					background-color: transparent;
					color: #ffffff;
					font-size: 16px;
					font-weight: 500;
					height: 50px;
					border: 1px solid;
					border-radius: 10px;
				}

				option {
						background-color: #1b1f27;
				}

				
			}
		}
	}
}

.checkout-info{
	height: 100%;
	margin-right: 80px;

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

	.purchase{
		width: 500px;

		.purchase-header {
			display: flex;
			justify-content: space-between;
			align-items: center;

			p {
				font-size: 22px;
				font-weight: 600;
				line-height: 24px;
				margin-bottom: 8px;
			}

			.accepted-card-flags {
				padding: 4px 12px;
				margin-bottom: 4px;
				background-color: #0e2e4e;
				border-radius: 10px;
				.card-flags {
					list-style: none;
					display: flex;
					align-items: center;
					gap: 8px;

					.card-flag {
						img {
							width: 32px;
						}
					}
				}
			}
		}
		

		.chosed-plan {
			display: flex;
			flex-direction: row;
			justify-content: space-between;
			align-items: center;
			width: 100%;
			height: 60px;
			background-color: #0e2e4e;
			border-radius: 10px;

			p {
				font-size: 18px;
				font-weight: 600;
				margin: 0 16px;
			}

			span {
				font-size: 14px;
				margin: 0 16px;
			}
		}

		.purchase-infos {
			width: 100%;
			background-color: #0e2e4e;
			margin-top: 18px;
			border-radius: 10px;
			padding: 16px 0;
		
			p {
				margin: 0 16px;
				font-size: 18px;
				font-weight: 600;
				margin-bottom: 0;
			}
		
			.payment-date {
				
				.free-test {
				display: flex;
				flex-direction: row;
				justify-content: space-between;
				align-items: center;
				}

				p {
				margin-top: 16px;
				}
		
				span {
				margin-left: 16px;
				font-size: 14px;
				}
			}
		}

		.filled-button {
			width: 100%;
			padding: 16px;
			margin-top: 24px;
			border-radius: 10px;
			background: linear-gradient(91.17deg, #287eff 6.59%, #00caff 99.12%);
			border: none;
			color: #ffffff;
			font-family: Inter;
			font-size: 18px;
			font-weight: 600;
			line-height: 21.78px;

			&:hover {
				cursor: pointer;
				opacity: 0.8;
			}
		}

		#confirm-purchase {
			display: none;
			justify-content: center;

			#confirm-purchase-message {
				margin: 0;
				font-size: 18px;
				font-weight: 700;
			}

			#confirm-loading {
				display: none;
			}
		}
	}

	.acquirer {
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 24px 4px 0 4px;
		padding: 8px 20px;
		background-color: #0e2e4e;
		border-radius: 10px;

		p {
			margin: 0;
			margin-right: 8px;
			font-size: 14px;
		}

		img {
			width: 100px;
		}
	}
}

@media (max-width: 1250px) {
	body {
		height: unset;
	}

	#checkout {
		flex-direction: column;

		.form-inputs{
			padding: 0 12px;

			.header {
				display: flex;
				justify-content: center;

				img {
					width: 132px;
				}
			}

			.checkout-description {
				margin: 16px 0;
				font-size: 20px;
			}

			.text-inputs{
				.big-input {
					width: unset;
				}
		
				.small-input {
					width: unset;
				}
			}
			

			.side-inputs {
				display: flex;
				flex-direction: column;
			}
		}
		
	}

	.checkout-info {
		margin: 32px 12px;

		.purchase {
			width: 100%;
			padding: 0;

			.purchase-header {
				p {
					font-size: 20px;
				}

				.accepted-card-flags {
					margin-bottom: 8px;

					.card-flags {
						.card-flag {
							img {
								width: 28px;
							}
						}
					}
				}
			}

			.chosed-plan {
				padding: 8px 0;
			}

			.purchase-infos {
				.payment-date {
					.free-test {
						#special-price {
							max-width: 120px;
						}
					}
				}
			}
		}
	}
}


.modal {
    display: none;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    opacity: 0;
    transition: opacity 0.3s ease;

	.modal-content {
		background-color: #fff;
		color: #1b1f27;
		margin: 15% auto;
		padding: 20px;
		border: 1px solid #888;
		width: 80%;
		max-width: 500px;
		text-align: center;
		display: flex;
		flex-direction: column;
		justify-content: center;
		border-radius: 10px;
		opacity: 0;
		transform: scale(0.9);
		transition: opacity 0.3s ease, transform 0.3s ease;

		button.filled-button {
			margin-top: 20px;
			padding: 10px 20px;
			background-color: #287eff;
			color: white;
			border: none;
			border-radius: 5px;
			cursor: pointer;
		}
	}

	.modal-content.show {
		transform: scale(1);
	}
	
}

.modal.show {
    display: block;
}