/* Reset básico */
body,
h1,
h2,
h3,
p {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	font-family: "Roboto", serif;
	line-height: 1.6;
	font-size: 16px;
	/* Base font size para cálculo em rem */
}

/* Navbar */
.navbar {
	padding: 1rem 0;
	text-transform: uppercase;
}

.navbar-brand img {
	max-height: 100px;
}

.navbar-nav .nav-link {
	margin-left: 1rem;
	font-size: 1rem;
	/* 16px */
	font-weight: 500;
	color: #fff;
}

.navbar-nav .nav-link.ativo {
	color: #fff;
	border: 2px solid #fff;
	border-radius: 0;
	padding: 5px 15px;
	font-size: 14px;
}

.navbar-nav .btn {
	background: #947151;
	border-radius: 0;
	padding: 0.5rem 1rem;
	font-size: 0.875rem;
	/* 14px */
}

.navbar-nav .btn:hover {
	background-color: #483a34;
}

/* Banner */
.banner {
	height: 100vh;
	background: url("../img/banner.jpg");
	text-align: left;
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 0 1rem;
}

.banner.sobre {
	height: 100vh;
	background: url("../img/banner_sobre.jpg");
	text-align: left;
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 0 1rem;
}

.banner.portfolio {
	height: 100vh;
	background: url("../img/banner_portfolio.jpg");
	text-align: left;
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 0 1rem;
}

.banner h1 {
	font-size: 5rem;
	font-weight: normal;
	color: #fff;
}

.banner h1 span {
	font-weight: bold;
	font-style: italic;
}

.banner p {
	font-size: 1.25rem;
	/* 20px */
	margin-top: 1rem;
	color: #f1f1f1;
}

/* About Section */
.about {
	background-color: #947151;
	padding: 5rem 1rem;
}

.about.sobre {
	background-color: #49392f;
	padding: 10% 20%;
}


.about.portfolio {
	background-color: #485b3e;
	padding: 10% 20%;
}

.about h2 {
	font-size: 3.5rem;
	font-weight: normal;
	color: #fff;
}

.about p {
	font-size: 1.125rem;
	/* 18px */
	color: #fff;
	margin-top: 1rem;
}


.about span {
	font-weight: bold;
	font-style: italic;
}

/* Investment Section */
.investment {
	background-color: #fff;
}

.investment .content {
	flex: 1;
}

.investment .container {
	margin: 0;
	max-width: 100%;
}

.investment h2 {
	font-size: 3.5rem;
	font-weight: normal;
	color: #947151;
}

.investment p {
	font-size: 1.125rem;
	/* 18px */
	color: #483a34;
	margin-top: 1rem;
}

.investment .text {
	padding: 10% 10% 10% 5%;
}

.investment .foto {
	padding: 0;
}

.investment span {
	font-weight: bold;
	font-style: italic;
}

.investment .image img {
	max-width: 100%;
	height: auto;
	border-radius: 0.5rem;
}

.produtos .container {
	max-width: 100% !important;
}

.produtos a {
	color: #fff;
	border: 2px solid #fff;
	border-radius: 25px;
	padding: 5px 15px;
	text-decoration: none;
}


.alho,
.azeitona,
.batata,
.cebola,
.maca,
.pera,
.pessego,
.uva_passas {
	padding: 2rem 1rem;
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 80vh;
}

.alho {
	background-image: url("../img/produtos/alho/1.jpg");
}

.azeitona {
	background-image: url("../img/produtos/azeitona/1.jpg");
}

.batata {
	background-image: url("../img/produtos/batata/1.jpg");
}

.cebola {
	background-image: url("../img/produtos/cebola/1.jpg");
}

.maca {
	background-image: url("../img/produtos/maca/1.jpg");
}

.pera {
	background-image: url("../img/produtos/pera/1.jpg");
}

.pessego {
	background-image: url("../img/produtos/pessego/1.jpg");
}

.uva_passas {
	background-image: url("../img/produtos/uva_passas/1.jpg");
}


/* Numbers Section */
.numbers {
	background-color: #483a34;
	color: #fff;
	padding: 3rem 1rem;
}

.numbers h2 {
	font-size: 3.5rem;
	font-weight: normal;
	color: #fff;
}

.numbers h2 span {
	font-weight: bold;
	font-style: italic;
}

.numbers h3 {
	font-size: 4.1rem;
	/* 28px */
	margin: 0;
	font-weight: bold;
}

.numbers h3 span {
	color: #d7cbc3;
}

.numbers p {
	font-size: 1rem;
	/* 16px */
}

/* Missão Section */
.mission {
	background-color: #947151;
	color: #fff;
	padding: 3rem 1rem;
}

.mission h2 {
	font-size: 3.5rem;
	font-weight: normal;
	color: #fff;
}

.mission h2 span {
	font-weight: bold;
	font-style: italic;
}

.mission p {
	font-size: 1rem;
	/* 16px */
}

/* Call to Action Section */
.cta {
	padding: 2rem 1rem;
	background-image: url("../img/ita-atenta.jpg");
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 75vh;
}

.cta.sobre {
	padding: 2rem 1rem;
	background-image: url("../img/ita-cta_sobre.jpg");
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 65vh;
}

.cta p {
	padding: 10% 0;
	font-size: 3.5rem;
	color: #fff;
	line-height: 1.5;
}

.cta p span {
	font-weight: bold;
	font-style: italic;
}

/* Contact Form */
.contact {
	background-color: #f0f0f0;
	padding: 15%;
}

.contact h2 {
	font-size: 3.5rem;
	/* 32px */
	color: #483a34;
}

.contact p {
	color: #483a34;
	margin-bottom: 2%;
	text-align: center;
}

.contact form {
	max-width: 37.5rem;
	/* 600px */
	margin: 0 auto;
}

.contact input,
.contact select {
	width: 100%;
	padding: 1rem;
	font-size: 1rem;
	/* 16px */
	border: 0;
	border-radius: 0;
	float: left;
}

.contact input:focus,
.contact select:focus {
	outline: none;
	border-color: #C58B43;
}

.contact .btn {
	background-color: #947151;
	color: #fff;
	padding: 0.75rem 1.5rem;
	font-size: 1rem;
	/* 16px */
	border: none;
	border-radius: 0;
	cursor: pointer;
}

.contact .btn:hover {
	background-color: #483a34;
}

/* Footer */
/* Footer Styles */
.footer {
	background-color: #483a34;
	/* Cor de fundo marrom escuro */
	color: #ffffff;
	/* Cor do texto branca */
	padding: 2rem 1rem;
	/* Espaçamento interno do footer */
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	text-align: center;
}

.footer-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
}

.footer-logo img {
	max-height: 3rem;
	margin-bottom: 0.5rem;
}

.footer-logo p {
	font-size: 0.875rem;
	/* 14px em rem */
	color: #ffffff;
}

.footer-menu {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
}

.footer-menu a {
	color: #ffffff;
	font-size: 1rem;
	/* 16px */
	font-weight: 500;
	text-decoration: none;
}

.footer-menu a:hover {
	color: #FBD850;
	/* Amarelo para hover */
}

.footer-social {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.footer-social p {
	font-size: 0.875rem;
	/* 14px */
	margin: 0;
}

.footer-social a img {
	width: 1.5rem;
	/* 24px */
	height: auto;
}

/* Responsividade */
@media (max-width: 768px) {
	.banner h1 {
		font-size: 2.25rem;
		/* 36px */
	}

	.banner p {
		font-size: 1rem;
		/* 16px */
	}

	.about h2 {
		font-size: 1.5rem;
		/* 24px */
	}

	.about p {
		font-size: 1rem;
		/* 16px */
	}

	.investment h3 {
		font-size: 1.5rem;
		/* 24px */
	}

	.numbers h2 {
		font-size: 1.5rem;
		/* 24px */
	}

	.numbers h3 {
		font-size: 1.25rem;
		/* 20px */
	}

	.cta p {
		font-size: 1rem;
		/* 16px */
	}

	.contact h2 {
		font-size: 1.5rem;
		/* 24px */
	}

	/* Cor de fundo e tamanho de tela inteira para o menu colapsado */
	@media (max-width: 991.98px) {

		/* Alvo para telas médias e menores */
		.navbar-collapse {
			position: fixed;
			top: 0;
			left: 0;
			width: 100vw;
			height: 100vh;
			background-color: #333;
			/* Cor de fundo do menu */
			padding-top: 2rem;
			/* Espaço superior */
			z-index: 1050;
			/* Para que o menu fique acima de outros elementos */
		}

		/* Cor e estilo para links no menu responsivo */
		.navbar-nav .nav-link {
			color: #fff;
			/* Cor dos links */
			padding: 1rem;
			font-size: 1.25rem;
			/* Aumenta o tamanho da fonte para visualização mais fácil */
			text-align: center;
		}

		/* Espaçamento entre os itens do menu */
		.navbar-nav {
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			height: 100%;
		}
	}

	/* Botão de fechar no modo responsivo */
	@media (max-width: 991.98px) {
		#navbarNav {
			position: fixed;
			top: 0;
			left: 0;
			width: 100vw;
			height: 100vh;
			background-color: rgba(0, 0, 0, 0.85);
			/* Fundo escuro para o menu */
			z-index: 1050;
			padding-top: 3rem;
		}

		.btn-close {
			position: absolute;
			top: 1rem;
			right: 1rem;
			color: #fff;
			z-index: 1051;
		}
	}
}
