/* Variables
–––––––––––––––––––––––––––––––––––––––––––––––––– */
body {
	--color-primary: rgb(154, 117, 65);
}


/* Form
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.form-group + .form-group {
	margin-top: 1em;
}

.form-field {
	margin-top: 0.5em;
}

label {
	font-weight: 600;
}

input[type="text"],
textarea {
	width: 100%;
	padding: 0.8em;
	background-color: transparent;
	border: 1px solid #111;
	font: inherit;
	font-size: 1em;
	transition: 0.2s ease all;
}

textarea {
	height: 15em;
}

input[type="text"]:focus,
textarea:focus {
	background-color: #fff;
}

button[type="submit"] {
	width: 100%;
	padding: 0.8em;
	background-color: #111;
	border: 0;
	font-weight: 600;
	color: #fff;
	cursor: pointer;
}

button[type="submit"]:hover {
	background-color: #333;
}


/* Structure
–––––––––––––––––––––––––––––––––––––––––––––––––– */
body {
	background-color: #fdeee3;
}

.wrapper {
	width: 100%;
	max-width: 73rem;
	padding-inline: 2rem;
	margin: 0 auto;
}

.wrapper-large {
	width: 100%;
	max-width: 90rem;
	padding-inline: 2rem;
	margin: 0 auto;
}

main {
	padding: 5rem 0;
}

@media (max-width: 37.5em) {

	.wrapper {
		padding-inline: 1.5rem;
	}

}


/* Banner
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#banner {
	width: 100%;
	min-height: 30rem;
	height: 80vw;
	max-height: 80vh;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	padding: 2rem;
	background-color: #f0f0f0;
}

#banner::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, #fbd1c2 0%, #f8f6ff 100%);
	opacity: 0.7;
}

	#banner video {
		width: 100%;
		height: 100%;
		object-fit: cover;
		position: absolute;
		inset: 0;
		z-index: 0;
	}

	#banner .logo {
		width: 51.5rem;
		max-width: 90%;
		position: relative;
		z-index: 2;
		padding: 3%;
		border: 2px solid #111;
	}

	#banner .logo::before {
		content: "";
		position: absolute;
		inset: -10px;
		border: 1px solid #111;
	}


/* Home
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.home-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 5rem 3.5rem;
}

	.home-grid > section:nth-child(3) {
		grid-column: 2;
		grid-row: 2;
	}

		.home-grid > section:nth-child(3) img {
			margin-left: auto;
		}

	.home-grid > section:nth-child(4) {
		grid-column: 1;
		grid-row: 2;
	}

	.home-grid h1 {
		margin-left: -7rem;
	}

/* 768px */
@media (max-width: 48em) {

	.home-grid {
		grid-template-columns: 1fr;
	}

		.home-grid > section {
			grid-column: 1 !important;
			grid-row: auto !important;
		}

		.home-grid h1 {
			margin-left: 0;
		}

		.home-grid img {
			margin: 0 auto;
		}

}

/* Details */
.details {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em 0.25em;
	margin-top: 2em !important;
}

	.details > div {
		flex: 1 0 7em;
		padding-left: 0.625em;
		border-left: 1px solid var(--color-primary);
	}

	.details small {
		display: block;
		font-size: 0.625em;
		color: var(--color-primary);
	}

.details[data-orientation="vertical"] {
	flex-direction: column;
}

	.details[data-orientation="vertical"] > div {
		flex: 1;
	}


/* Custom jewelry
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.custom-jewelry {
	margin-top: 3em;
}

	.custom-jewelry .grid {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 2em;
		margin-bottom: 3em;
	}

	.custom-jewelry .details {
		margin-top: 0 !important;
	}

	.custom-jewelry img {
		margin-bottom: 1em;
		border: 1px solid #222;
		transition: 0.2s ease opacity;
	}

	.custom-jewelry h3 {
		margin-top: 1em;
		font-size: 1.2em;
	}

	.custom-jewelry .modal-open {
		display: block;
		background-color: #000;
	}

	.custom-jewelry .modal-open:hover img {
		opacity: 0.8;
	}

/* 768px */
@media (max-width: 48em) {

	.custom-jewelry .grid {
		gap: 1.5em;
	}

}

/* 600px */
@media (max-width: 37.5em) {

	.custom-jewelry .grid {
		grid-template-columns: 1fr;
		gap: 3em;
	}

}


/* Contact
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#contact {
	position: relative;
	padding: calc(5rem + 10px) 0 2.5rem;
	margin-top: 5rem;
	border-top: 1px solid #111;
}

#contact::before {
	content: "";
	position: absolute;
	top: 10px;
	right: 0;
	left: 0;
	border-top: 1px solid #111;
}

	#contact h2 {
		margin-top: 0;
		text-align: center;
	}

	#contact .form {
		width: 100%;
		max-width: 30em;
		margin: 0 auto;
		font-size: 0.9em;
	}


/* Footer
–––––––––––––––––––––––––––––––––––––––––––––––––– */
footer {
	padding-bottom: 5rem;
	background: linear-gradient(to top, #fbd1c2 0%, #fdeee3 100%);
}

	footer .wrapper {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 2em;
	}

	footer .trackie {
		width: 5em;
	}

/* 480px */
@media (max-width: 30em) {

	footer .wrapper {
		flex-direction: column;
	}

}