html {
	background: var(--background);
	color: var(--color);
	font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
		Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif,
		Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
}

body {
	display: flex;
	flex-direction: column;
	align-items: center;
}

body:has(aside) {
	flex-direction: row;
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	color: var(--color);
	font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
		Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif,
		Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
}

a {
	text-decoration: none;
}

.button {
	display: flex;
	padding: 7px 13px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	border-radius: 5px;
	background: var(--theme);
	color: var(--background);
	font-size: 15px;
	font-weight: 600;
	min-width: max-content;
	transition: 0.25s;
	cursor: pointer;

	svg {
		height: 15px;
	}

	i {
		font-size: 15px;
	}
}

.button.disabled {
	cursor: not-allowed;
	pointer-events: none;
}

.button:hover {
	background: var(--color);
	color: var(--gradient1);
	transition: 0.25s;
}

.button.discord {
	background: #5263ed;
	color: var(--color);
}

.button.delete {
	background: #ed5252;
	color: var(--color);
}

.button.discord:not(.disabled):hover,
.button.delete:not(.disabled):hover {
	opacity: 0.75;
	transition: 0.25s;
}

.header {
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--gradient1);
	width: 100%;
	position: sticky;
	top: 0;
	z-index: 1000;

	.inner {
		padding: 25px 0;
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 90%;
		max-width: 1200px;

		.left {
			display: flex;
			justify-content: center;
			align-items: center;
			gap: 30px;

			.logo {
				display: flex;
				justify-content: center;
				align-items: center;
				gap: 10px;

				img {
					height: 30px;
				}

				h3 {
					font-size: 25px;
					font-weight: 400;
				}
			}

			.links {
				display: flex;
				justify-content: center;
				align-items: center;
				gap: 15px;

				.link {
					display: flex;
					padding: 7px 13px;
					justify-content: center;
					align-items: center;
					gap: 10px;
					border-radius: 5px;
					font-size: 15px;
					font-weight: 600;
					min-width: fit-content;
					transition: 0.25s;
				}

				.link.active,
				.link:hover {
					background: rgba(255, 255, 255, 0.2);
					transition: 0.25s;
				}
			}
		}

		.buttons {
			display: flex;
			justify-content: flex-end;
			align-items: center;
			gap: 10px;
		}
	}
}

main {
	display: flex;
	padding-top: 100px;
	flex-direction: column;
	align-items: center;
	gap: 100px;
	width: 90%;
	max-width: 1200px;
	min-height: calc(100vh - 600px);

	.hero {
		display: flex;
		justify-content: space-between;
		align-items: center;
		align-self: stretch;
		gap: 45px;

		.inner {
			display: flex;
			max-width: 600px;
			flex-direction: column;
			align-items: flex-start;
			gap: 30px;

			h1 {
				font-size: 60px;
				font-weight: 700;
				line-height: 100%;
				max-width: 85vw;

				gradient {
					background: linear-gradient(
						90deg,
						var(--theme) 0%,
						transparent 300%
					);
					background-clip: text;
					-webkit-background-clip: text;
					-webkit-text-fill-color: transparent;
				}
			}

			p {
				font-size: 20px;
				font-weight: 400;
				max-width: 85vw;
			}

			.price {
				display: flex;
				align-items: center;
				gap: 10px;

				h5 {
					font-size: 15px;
				}
			}
		}

		img {
			width: 300px;
		}
	}

	.hero:not(.product):has(img) {
		padding-bottom: 100px;
	}

	.hero.product img {
		width: min(400px, 90%);
		border-radius: 20px;
	}

	.products {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 75px;
		align-self: stretch;

		h4 {
			text-align: center;
			font-size: 35px;
			font-weight: 900;
		}

		.grid {
			display: grid;
			grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
			gap: 40px;
			align-self: stretch;

			.product {
				display: flex;
				flex-direction: column;
				align-items: center;
				gap: 20px;

				.image {
					align-self: stretch;
					aspect-ratio: 1;
					height: 250px;
					border-radius: 10px;
					background: linear-gradient(
						180deg,
						var(--gradient1) 0%,
						var(--gradient2) 100%
					);
					background-size: cover;
					background-repeat: no-repeat;
					background-position: center;
					transition: 0.25s;
				}

				.info {
					display: flex;
					flex-direction: column;
					align-items: center;
					gap: 5px;

					h5 {
						text-align: center;
						font-size: 20px;
						font-weight: 600;
					}

					h6 {
						text-align: center;
						font-size: 17px;
						font-weight: 400;
					}

					p {
						text-align: center;
						font-size: 17px;
						font-weight: 400;
						opacity: 0.75;
					}
				}
			}

			.product:hover .image {
				rotate: 2deg;
				transition: 0.25s;
			}
		}
	}

	.statistics {
		display: flex;
		padding: 50px 40px;
		flex-direction: column;
		align-items: center;
		gap: 50px;
		align-self: stretch;
		border-top: 2.5px solid rgba(255, 255, 255, 0.25);
		border-bottom: 2.5px solid rgba(255, 255, 255, 0.25);

		h4 {
			text-align: center;
			font-size: 35px;
			font-weight: 900;
		}

		.stats {
			display: flex;
			height: 115px;
			align-items: flex-start;
			gap: 5px;
			align-self: stretch;
			border-radius: 15px;
			overflow: hidden;

			.stat {
				display: flex;
				flex-direction: column;
				justify-content: center;
				align-items: center;
				gap: 5px;
				flex: 1 0 0;
				align-self: stretch;
				background: rgba(255, 255, 255, 0.1);
				transition: 0.25s;

				h5 {
					text-align: center;
					font-size: 30px;
					font-weight: 600;
				}

				p {
					text-align: center;
					font-size: 15px;
					font-weight: 600;
					opacity: 0.75;
				}
			}

			.stat:hover {
				background: var(--gradient1);
				transition: 0.25s;
			}
		}
	}

	.trusted {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 75px;
		align-self: stretch;

		h6 {
			text-align: center;
			font-size: 20px;
			font-weight: 700;
		}

		.groups {
			display: grid;
			grid-template-columns: repeat(
				auto-fill,
				minmax(max(30%, 300px), 1fr)
			);
			gap: 30px 40px;
			align-self: stretch;
			justify-items: center;

			img {
				height: 40px;
				width: auto;
			}
		}

		.info {
			display: flex;
			padding: 10px 20px;
			justify-content: center;
			align-items: center;
			gap: 10px;
			border-radius: 20px;
			background: rgba(255, 255, 255, 0.1);
			text-align: center;
			font-size: 15px;
			font-weight: 600;
		}
	}

	.header {
		display: flex;
		height: 70px;
		padding: 15px 35px;
		justify-content: space-between;
		align-items: center;
		width: -webkit-fill-available;
		border-bottom: 2px solid rgba(255, 255, 255, 0.1);

		h5 {
			font-size: 15px;
			font-weight: 700;
		}

		.account {
			margin-top: auto;
			display: flex;
			align-items: center;
			gap: 15px;
			cursor: pointer;

			img {
				height: 35px;
				width: 35px;
				border-radius: 100%;
			}
		}
	}

	.tab {
		display: flex;
		padding: 50px 40px 0px 40px;
		flex-direction: column;
		align-items: center;
		gap: 50px;
		align-self: stretch;
		height: -webkit-fill-available;

		.inner {
			display: none;
			flex-direction: column;
			align-items: flex-start;
			gap: 50px;
			align-self: stretch;

			h4 {
				font-size: 30px;
				font-weight: 700;
			}

			h6 {
				font-size: 22.5px;
				font-weight: 600;
			}

			.grid {
				display: grid;
				grid-template-columns: repeat(
					auto-fill,
					minmax(min(350px, 100%), 1fr)
				);
				gap: 40px;
				align-self: stretch;

				.product {
					display: flex;
					flex-direction: column;
					align-items: center;
					justify-content: flex-end;
					gap: 10px;
					border-radius: 10px;
					background-size: cover !important;
					background-repeat: no-repeat !important;
					background-position: center !important;
					height: 200px;
					padding: 15px 20px;

					h5 {
						text-align: center;
						font-size: 17px;
						font-weight: 600;
					}

					.button {
						padding: 7px 15px;
					}
				}
			}

			.rows {
				display: flex;
				flex-direction: column;
				gap: 10px;
				align-self: stretch;

				.order {
					display: flex;
					align-items: center;
					justify-content: space-between;
					gap: 10px;
					border-radius: 10px;
					background-size: cover !important;
					background-repeat: no-repeat !important;
					background-position: center !important;
					height: 100px;
					padding: 15px 30px 15px 20px;
					background: var(--gradient1);

					.info {
						display: flex;
						align-items: center;
						gap: 20px;
						align-self: stretch;

						.image {
							aspect-ratio: 1;
							height: -webkit-fill-available;
							width: 100px;
							border-radius: 10px;
							background: linear-gradient(
								180deg,
								var(--gradient1) 0%,
								var(--gradient2) 100%
							);
							background-size: cover;
							background-repeat: no-repeat;
							background-position: center;
						}

						h5 {
							font-size: 17px;
							font-weight: 600;
						}

						> div {
							display: flex;
							flex-direction: column;
							gap: 10px;
						}

						img {
							height: -webkit-fill-available;
							border-radius: 100%;
						}
					}

					.buttons {
						display: flex;
						justify-content: flex-end;
						align-items: center;
						gap: 10px;

						h6 {
							font-size: 15px;
							font-weight: 600;
						}

						.button {
							padding: 7px 15px;
						}
					}
				}
			}

			.accountTab {
				display: flex;
				align-items: flex-start;
				gap: 25px;
				align-self: stretch;

				form {
					display: flex;
					padding: 40px 35px;
					flex-direction: column;
					align-items: flex-start;
					gap: 25px;
					border-radius: 10px;
					background: rgba(255, 255, 255, 0.03);
					width: -webkit-fill-available;

					.field {
						display: flex;
						flex-direction: column;
						align-items: flex-start;
						gap: 15px;
						align-self: stretch;

						h5 {
							font-size: 20px;
							font-weight: 600;
						}

						input {
							display: flex;
							padding: 10px 12.5px;
							align-items: center;
							gap: 10px;
							align-self: stretch;
							border-radius: 5px;
							border: 0.5px solid rgba(255, 255, 255, 0.5);
							font-size: 15px;
							font-weight: 400;
							background: transparent;
						}
					}
				}

				.buttons {
					display: flex;
					width: min(300px, 100%);
					flex-direction: column;
					align-items: flex-start;
					gap: 15px;

					> * {
						width: -webkit-fill-available;
					}
				}
			}

			.one {
				display: flex;
				padding: 30px;
				flex-direction: column;
				align-items: flex-start;
				gap: 20px;
				align-self: stretch;
				border-radius: 10px;
				background: var(--gradient1);

				img {
					height: 50px;
					border-radius: 100%;
				}

				.image {
					aspect-ratio: 1;
					height: -webkit-fill-available;
					height: 125px;
					width: 200px;
					border-radius: 10px;
					background: linear-gradient(
						180deg,
						var(--gradient1) 0%,
						var(--gradient2) 100%
					);
					background-size: cover;
					background-repeat: no-repeat;
					background-position: center;
				}

				h5 {
					font-size: 20px;
					font-weight: 600;
				}

				.info {
					display: flex;
					flex-direction: column;
					align-items: flex-start;
					gap: 10px;

					p {
						font-size: 15px;
						font-weight: 600;
					}
				}

				.buttons {
					display: flex;
					justify-content: flex-start;
					gap: 10px;

					h6 {
						font-size: 15px;
						font-weight: 600;
					}

					.button {
						padding: 7px 15px;
					}
				}
			}

			> form {
				display: flex;
				padding: 20px;
				align-items: center;
				gap: 25px;
				border-radius: 10px;
				background: rgba(255, 255, 255, 0.03);
				width: -webkit-fill-available;

				input,
				select {
					display: flex;
					padding: 5px 10px;
					align-items: center;
					gap: 10px;
					align-self: stretch;
					border-radius: 5px;
					border: 0.5px solid rgba(255, 255, 255, 0.5);
					font-size: 15px;
					font-weight: 400;
					background: transparent;
				}

				input {
					width: -webkit-fill-available;
				}
			}
		}

		.inner.active {
			display: flex;
		}

		.footer {
			max-width: unset;
			width: -webkit-fill-available;
			margin-top: auto;

			.inner {
				display: flex !important;
			}
		}
	}
}

main:has(.header) {
	max-width: unset;
	width: -webkit-fill-available;
	padding-top: 0 !important;
	gap: 0;
	height: 100vh;
	overflow-y: scroll;
}

aside {
	height: 100vh;
	width: min(300px, 100vw);
	display: flex;
	padding: 30px 20px;
	flex-direction: column;
	align-items: center;
	gap: 30px;
	flex-shrink: 0;
	align-self: stretch;
	border-right: 2px solid rgba(255, 255, 255, 0.1);

	.logo {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 10px;

		img {
			height: 30px;
		}

		h3 {
			font-size: 25px;
			font-weight: 400;
		}
	}

	.links {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 5px;
		width: -webkit-fill-available;

		.link {
			display: flex;
			padding: 10px 15px;
			justify-content: flex-start;
			align-items: center;
			gap: 10px;
			border-radius: 5px;
			font-size: 15px;
			font-weight: 600;
			min-width: fit-content;
			width: -webkit-fill-available;
			opacity: 0.75;
			transition: 0.25s;
			cursor: pointer;
		}

		.link.active,
		.link:hover {
			opacity: 1;
			background: rgba(255, 255, 255, 0.2);
			transition: 0.25s;
		}
	}

	hr {
		width: 100%;
		height: 1px;
		border: none;
		background: var(--color);
		opacity: 0.1;
	}

	.account {
		margin-top: auto;
		display: flex;
		padding-left: 10px;
		align-items: center;
		gap: 15px;
		width: -webkit-fill-available;
		cursor: pointer;

		img {
			height: 40px;
			width: 40px;
			border-radius: 100%;
		}

		h5 {
			font-size: 15px;
			font-weight: 700;
		}
	}
}

.popup {
	position: absolute;
	background: var(--background);
	width: 500px;
	overflow: hidden;
	top: calc(50vh - 250px);
	left: calc(50vw - 250px);
	border-radius: 20px;
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 20px;

	.logo {
		height: 60px;
		width: 60px;
		padding: 7px;
		background: var(--gradient1);
		border-radius: 100%;
	}

	.inner {
		width: -webkit-fill-available;
		display: flex;
		flex-direction: column;
		gap: 10px;

		.buttons {
			display: flex;
			gap: 10px;

			> * {
				width: -webkit-fill-available;
			}
		}
	}

	.close {
		cursor: pointer;
	}
}

.cta {
	display: flex;
	padding: 100px 0px;
	flex-direction: column;
	align-items: center;
	gap: 30px;
	align-self: stretch;
	background: var(--background);
	position: relative;
	overflow: hidden;
	z-index: 1;

	h3 {
		text-align: center;
		font-size: 35px;
		font-weight: 700;
		z-index: 2;
		max-width: 85vw;
	}

	h5 {
		text-align: center;
		font-size: 20px;
		font-weight: 600;
		opacity: 0.75;
		z-index: 2;
		max-width: 85vw;
	}

	.button {
		padding: 10px 20px;
		z-index: 2;
	}

	.glow {
		width: 1000px;
		height: 800px;
		position: absolute;
		bottom: -570px;
		border-radius: 1000px;
		background: radial-gradient(
			50% 50% at 50% 50%,
			var(--theme) 0%,
			var(--background) 100%
		);
	}
}

.cta-after {
	width: 100%;
	margin-top: -100px;
	margin-bottom: 125px;
	box-shadow: 0px 50px 75px 50px var(--gradient1);
	z-index: 0;
}

.footer {
	display: flex;
	padding: 25px 0;
	flex-direction: column;
	align-items: center;
	gap: 25px;
	width: 90%;
	max-width: 1200px;

	hr {
		width: 100%;
		height: 1px;
		border: none;
		background: var(--color);
		opacity: 0.1;
	}

	.inner {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		justify-content: space-between;
		align-items: center !important;
		align-self: stretch;
		justify-items: center;

		.links {
			display: flex;
			justify-content: center;
			align-items: center;
			gap: 45px;

			.link {
				font-size: 15px;
				font-weight: 600;
				opacity: 0.75;
				transition: 0.25s;
			}

			.link:hover {
				opacity: 1;
				transition: 0.25s;
			}
		}

		.logo {
			display: flex;
			justify-content: center;
			align-items: center;
			gap: 10px;
			width: max-content;

			img {
				height: 30px;
			}

			h3 {
				font-size: 25px;
				font-weight: 400;
			}
		}

		.socials {
			display: flex;
			justify-content: center;
			align-items: center;
			justify-content: flex-end;
			gap: 45px;
			width: -webkit-fill-available;

			a {
				opacity: 0.75;
				transition: 0.25s;

				svg {
					height: 20px;
				}

				i {
					font-size: 20px;
				}
			}

			a:hover {
				opacity: 1;
				transition: 0.25s;
			}
		}
	}
}

@media screen and (max-width: 900px) {
	.header .inner,
	.header .inner .left {
		flex-direction: column;
		gap: 10px;
	}

	.header .links {
		gap: 0 !important;
	}

	main {
		padding-top: 50px !important;

		.header > h5::before {
			content: "|||";
			display: inline-block;
			rotate: 90deg;
			margin-right: 10px;
		}
	}

	.hero {
		justify-content: center !important;
		flex-direction: column-reverse;

		* {
			text-align: center;
		}

		.inner {
			align-items: center !important;
		}

		h1 {
			font-size: 40px !important;
		}
	}

	.hero:not(.product) img {
		display: none;
	}

	.stats {
		flex-direction: column;
		height: unset !important;

		.stat {
			padding: 25px;
		}
	}

	.trusted .info {
		padding: 20px !important;
	}

	.footer .inner {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 20px;

		.links {
			gap: 15px !important;
		}

		.socials {
			justify-content: center;
		}
	}

	.product-info {
		align-items: center;
	}

	aside {
		position: absolute;
		z-index: 10000;
		background: var(--background);
		left: -100vw;
		transition: 0.25s;
		gap: 10px !important;
	}

	aside.active {
		left: 0;
		transition: 0.25s;
	}

	.order {
		flex-direction: column;
		height: unset !important;
		padding: 30px !important;

		.info,
		.buttons {
			flex-direction: column;

			> div {
				text-align: center;
			}
		}
	}

	.tab {
		padding: 40px 25px 25px 25px !important;

		.inner > form {
			flex-direction: column;
		}
	}

	.accountTab {
		flex-direction: column;

		.buttons {
			width: -webkit-fill-available !important;
		}
	}

	.one .buttons {
		flex-direction: column;
	}
}
