@font-face {
	font-family: "Nata Sans";
	src: url("NataSans.ttf") format("truetype");
}

* {
	margin: 0;
	padding: 0;
	font-family: inherit;
}

body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: #d8d8d8;
	color: #000;
	font-family: "Nata Sans", sans-serif;
	min-height: 100vh;
}

h1 {
	font-size: 35px;
	font-weight: 700;
}

h2 {
	font-size: 30px;
	font-weight: 700;
}

h3 {
	font-size: 25px;
	font-weight: 600;
}

h4 {
	font-size: 22.5px;
	font-weight: 600;
}

h5 {
	font-size: 20px;
	font-weight: 600;
}

h6 {
	font-size: 15px;
	font-weight: 600;
}

p {
	opacity: 0.75;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.5;
}

a {
	color: #a5280f;
	text-decoration: none;
}

a:not(.button):hover,
a:not(.button):focus {
	text-decoration: underline;
}

.buttons {
	display: flex;
	align-items: flex-start;
	gap: 15px;
}

.button {
	display: flex;
	padding: 10px 25px 10px 25px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	border-radius: 25px;
	border: 3px solid transparent;
	background: #a5280f;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: 0.25s;
}

.button:hover,
.button:focus {
	background: transparent;
	color: #a5280f;
	border-color: #a5280f;
}

header {
	display: flex;
	padding: 35px min(75px, 7.5%);
	align-items: center;
	align-content: center;
	gap: 25px;
	flex-wrap: wrap;
	background: #d8d8d8;
	width: -webkit-fill-available;
	position: sticky;
	top: 0;
	z-index: 1000;

	img {
		width: 100px;
		height: 100px;
		aspect-ratio: 1/1;
	}

	.info {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		gap: 5px;
		flex: 1 0 0;
	}
}

main {
	display: flex;
	padding: min(50px, 5%) min(50px, 5%);
	flex-direction: column;
	align-items: flex-start;
	gap: 25px;
	width: -webkit-fill-available;
	background: #efefef;
	margin: 0 min(50px, 5%) min(50px, 5%) min(50px, 5%);
	border-radius: 15px;

	.products {
		display: none;
		grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
		align-items: flex-start;
		align-content: flex-start;
		gap: 30px;
		width: -webkit-fill-available;

		.product {
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			gap: 7.5px;
			width: -webkit-fill-available;
			max-width: 400px;

			img {
				width: auto;
				height: 200px;
				border-radius: 15px;
				margin-bottom: 10px;
			}

			.button {
				width: -webkit-fill-available;
				margin-top: 10px;
			}
		}
	}

	.products.active {
		display: grid;
	}

	.nav {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 15px;
		width: -webkit-fill-available;

		.button {
			height: 45px;
			width: 45px;
			padding: 0;
			padding-bottom: 6px;
			font-size: 25px;
		}
	}
}

footer {
	display: flex;
	padding: 50px min(75px, 7.5%);
	flex-direction: column;
	align-items: flex-start;
	gap: 25px;
	width: -webkit-fill-available;
	background: linear-gradient(90deg, #d8d8d8 50%, transparent 100%),
		url("banner.png") 100% / contain;
	margin-top: auto;

	img {
		width: 100px;
		height: 100px;
		aspect-ratio: 1/1;
	}

	.info {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		gap: 5px;
	}

	p {
		max-width: 700px;
	}
}

@media screen and (max-width: 950px) {
	header,
	.buttons {
		flex-direction: column;
	}

	.buttons,
	.button {
		width: -webkit-fill-available;
	}

	header {
		align-items: flex-start;
		position: relative;
	}

	.buttons {
		gap: 10px;
	}

	.product img {
		max-width: -webkit-fill-available !important;
	}

	footer {
		background: linear-gradient(90deg, #d8d8d8 50%, transparent 100%),
			url("banner.png") 100% / cover;
	}
}
