.title {
	font-size: 32px;
	font-weight: 500;
	font-family: var(--title-font);
	color: var(--text-color-dark);
	text-align: center;
}

/*? --------------------------------- BANNER --------------------------------- */
.background-hero-banner {
	background-image: linear-gradient(
			rgba(0, 0, 0, 0.2),
			rgba(0, 0, 0, 0.6)
		),
		url('../img/contact/contact-banner.avif');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;

	display: flex;
	align-items: center;

	height: 550px;

	.container-hero-banner {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 15px;

		h1 {
			color: #fff;
			font-size: 52px;
			font-weight: 500;
			font-family: var(--title-font);
			text-align: center;
		}

		p {
			text-align: center;
			font-size: 18px;
			color: #fff;
			font-weight: 300;
			line-height: 1.6;
		}
	}
}

/*? ------------------------------ CONTACT INFO ------------------------------ */
.section-contact-info {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 30px;
	
	margin-top: 50px;
	margin-bottom: 50px;

	.contact-item {
		padding: 30px;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 10px;

		i {
			font-size: 40px;
			color: #333;
		}

		h3 {
			font-size: 24px;
			font-weight: 500;
			color: var(--text-color-dark);
			font-family: var(--title-font);
		}

		p {
			font-size: 14px;
			color: #666;
			line-height: 1.5;
			text-align: center;
		}

		a {
			text-decoration: none;
			color: var(--primary-color);
			font-weight: 500;
			font-size: 14px;
		}
	}
}

/*? -------------------------------- MAIN FORM ------------------------------- */
.main-form {
	display: flex;
	gap: 30px;
	margin-bottom: 50px;

	@media screen and (max-width: 768px) {
		flex-direction: column;
		gap: 30px;
	}
}

.content-form {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 15px;

	span {
		color: var(--primary-color);
		font-weight: 600;
	}

	h2 {
		text-align: left;
	}

	p {
		font-size: 14px;
		color: #333;
		width: 90%;
	}

	.team-active {
		display: flex;
		align-items: center;
		gap: 30px;
		position: relative;

		.container-users {
			position: relative;
			height: 50px;

			img {
				width: 50px;
				height: 50px;
				border-radius: 50%;
				object-fit: cover;
				position: absolute;

				&:nth-child(1) {
					left: 0;
				}

				&:nth-child(2) {
					left: 30px;
				}

				&:nth-child(3) {
					left: 60px;
				}

				&:nth-child(4) {
					left: 90px;
				}
			}

			.container-icon {
				background-color: #fff;
				border-radius: 50%;
				width: 20px;
				height: 20px;
				display: flex;
				justify-content: center;
				align-items: center;
				position: absolute;
				top: 50%;
				left: 130px;
				transform: translateY(-50%);

				i {
					font-size: 12px;
					color: #333;
				}
			}
		}

		.text-active {
			color: forestgreen;
			position: absolute;
			right: 48%;
			font-weight: 400;
			font-size: 14px;
		}
	}
}

.container-form {
	flex: 1.3;
	display: flex;
	flex-direction: column;
	gap: 20px;

	padding: 30px;
	background-color: #fff;
	border-radius: 10px;
	box-shadow: var(--shadow);

	.group-form {
		flex: 1;
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
		gap: 20px;

		input {
			padding: 15px;
			border: 1px solid #333;
			border-radius: 5px;
			font-family: inherit;
			font-size: 14px;
			outline: none;
		}

		textarea {
			grid-column: 1/-1;

			padding: 15px;
			border: 1px solid #333;
			border-radius: 5px;
			font-family: inherit;
			font-size: 14px;
			height: 150px;
			resize: none;
			outline: none;
		}
	}

	button {
		padding: 10px 40px;
		align-self: flex-start;
		background-color: var(--primary-color);
		border: none;
		color: #fff;
		font-size: 14px;
		font-weight: 500;
		border-radius: 5px;
		font-family: inherit;
		cursor: pointer;
	}
}

/*? ------------------------------ LOCATION MAP ------------------------------ */
.container-map {
	max-width: 100%; /* Asegura que no exceda el ancho del contenedor padre */

	.title {
		text-align: center; /* Opcional, centra el título */
		font-size: 1.5rem;
		margin: 20px 0;
	}

	iframe {
		width: 100%; /* Ajusta el ancho al 100% del contenedor */
		height: auto; /* Permite que la altura sea proporcional */
		border: 0;
		aspect-ratio: 16 / 9; /* Mantiene una relación de aspecto 16:9 */
	}

	@media screen and (min-width: 768px) {
		padding: 20px;
	}
}
