/*  --------------------------------------------------------------------------------------[ CSS ] */

:root {
	--primary-blue: #163a5f;
	--primary-blue-dark: #102a45;
	--accent-gold: #cfaa5e;
	--bg-cream: #f8f6f0;
	--text-dark: #333333;
	--text-muted: #6c757d;
	--whatsapp-green: #25d366;
}

body {
	font-family: 'Inter', sans-serif;
	color: var(--text-dark);
	overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Playfair Display', serif;
}

@media (max-width: 991.98px) {
	section {
		padding-top: 2rem !important;
		padding-bottom: 2rem !important;
	}

	.container {
		padding-left: 1.5rem !important;
		padding-right: 1.5rem !important;
	}

	.row.g-4 {
		--bs-gutter-y: 1.5rem; 
	}
}

.navbar-custom {
	transition: all 0.3s ease-in-out;
	background-color: rgba(16, 42, 69, 0.4);
	padding: 1rem 0;
	backdrop-filter: blur(2px);
}

.navbar-custom.scrolled {
	background-color: var(--primary-blue);
	box-shadow: 0 4px 6px rgba(0,0,0,0.1);
	padding: 0.5rem 0;
	backdrop-filter: blur(0px);
}

.navbar-custom .nav-link {
	color: #ffffff;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	padding: 0.5rem 1rem !important;
	height: 100%;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
}

a.nav-link.active {
	padding: 12px 28px !important;
	font-weight: 500;
	transition: all 0.3s ease;
	border: 2px solid transparent;
	background-color: var(--primary-blue-dark);
	color: #ffffff;
	border-color: var(--primary-blue-dark);
	border-radius: var(--bs-border-radius) !important;
}

.navbar-brand img {
	max-height: 45px;
	width: auto;
	transition: 0.3s;
}

.offcanvas-custom {
	background-color: var(--primary-blue-dark);
}

.offcanvas-backdrop.show {
	opacity: 1;
	background: var(--primary-blue-dark);
}

@media (max-width: 991.98px) {
	.offcanvas-custom {
		width: 100% !important;
		border: none;
	}
	
	.offcanvas-custom .offcanvas-body {
		display: flex;
		flex-direction: column;
		justify-content: center; 
		align-items: center;
		overflow: visible;
	}
	
	.offcanvas-custom .navbar-nav {
		width: 100%;
		align-items: center;
		margin-bottom: 2rem !important;
	}
	
	.offcanvas-custom .nav-link {
		font-size: 1.5rem;
		padding: 12px 0 !important;
	}
	
	.offcanvas-custom .btn-custom {
		width: 250px;
		text-align: center;
	}
}

.btn-custom {
	padding: 12px 28px;
	font-weight: 500;
	transition: all 0.3s ease;
	border: 2px solid transparent;
}

.btn-gold {
	background-color: var(--accent-gold);
	color: #ffffff;
	border-color: var(--accent-gold);
}

.btn-gold:hover {
	background-color: transparent;
	color: var(--accent-gold);
	border-color: var(--accent-gold);
}

.btn-blue {
	background-color: var(--primary-blue);
	color: #ffffff;
	border-color: var(--primary-blue);
}

.btn-blue:hover {
	background-color: transparent;
	color: var(--primary-blue);
	border-color: var(--primary-blue);
}

.btn-outline-light-custom {
	background: transparent;
	color: #ffffff;
	border-color: #ffffff;
}

.btn-outline-light-custom:hover {
	background-color: #ffffff;
	color: var(--primary-blue);
	border-color: #ffffff;
}

#heroBanner {
	.hero-carousel-container {
		position: relative;
		height: 100vh;
		width: 100%;
		overflow: hidden;
		cursor: grab;
	}
	
	.hero-carousel-container:active {
		cursor: grabbing;
	}
	
	.carousel-item {
		height: 100vh !important;
		background-size: cover;
		background-position: center;
	}
	
	.hero-overlay {
		position: absolute;
		top: 0; left: 0; width: 100%; height: 100%;
		background-color: rgba(16, 42, 69, 0.65);
		z-index: 1;
	}

	.hero-content-wrapper {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: 2;
		width: 100%;
		display: flex;
		justify-content: center;
	}
	
	.hero-content {
		color: #ffffff;
		text-align: center;
		width: 100%;
		max-width: 800px;
		padding: 0 15px;
	}

	.carousel-indicators, .carousel-control-prev, .carousel-control-next {
		z-index: 10;
	}
}

.section-subtitle {
	color: var(--text-muted);
	font-size: 0.75rem;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-bottom: 10px;
	display: block;
}

.section-title {
	color: var(--primary-blue);
	font-weight: 600;
	font-size: 2.5rem;
	margin-bottom: 20px;
}

.section-extratitle {
	color: var(--primary-blue);
	font-weight: 600;
	font-size: 1.3rem;
	margin-bottom: 20px;
}

.bg-cream { background-color: var(--bg-cream); }

.img-rounded-custom {
	border-radius: 8px;
	box-shadow: 0 10px 30px rgba(0,0,0,0.1);
	width: 100%;
	object-fit: cover;
}

.cta-section {
	background-color: var(--primary-blue);
	color: #ffffff;
	padding: 80px 0;
}

.footer-section {
	background-color: var(--primary-blue-dark);
	color: #ffffff;
	padding: 60px 0 20px 0;
	font-size: 0.9rem;
}

.footer-section a {
	color: #ffffff;
	text-decoration: none;
	transition: 0.3s;
}

.footer-section a:hover { color: var(--accent-gold); }

.footer-logo img {
	max-height: 50px;
	width: auto;
}

.footer-divider {
	border-top: 1px solid rgba(255,255,255,0.1);
	margin-top: 40px;
	padding-top: 20px;
	color: rgba(255,255,255,0.6);
	font-size: 0.85rem;
}

.social-icons a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background-color: rgba(255,255,255,0.1);
	border-radius: 50%;
	margin-left: 8px;
}

.social-icons a:hover {
	background-color: var(--accent-gold);
	color: #fff;
}

.whatsapp-btn {
	position: fixed;
	bottom: 30px;
	right: 30px;
	background-color: var(--whatsapp-green);
	color: #ffffff;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 32px;
	z-index: 1050;
	box-shadow: 0 4px 10px rgba(0,0,0,0.3);
	text-decoration: none;
	animation: pulse-whatsapp 2s infinite;
	transition: transform 0.3s;
}

.whatsapp-btn:hover {
	color: #ffffff;
	transform: scale(1.1);
}

@keyframes pulse-whatsapp {
	0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7); }
	70% { box-shadow: 0 0 0 15px rgba(37, 211, 102, 0); }
	100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}

#aptCarousel {
	.apt-carousel-inner { min-height: 450px; }

	.apt-controls {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 20px;
		margin-top: 30px;
	}

	.apt-dots {
		display: flex;
		gap: 10px;
	}
	
	.apt-dots button {
		width: 12px;
		height: 12px;
		border-radius: 50%;
		border: none;
		background: #ccc;
	}
	
	.apt-dots button.active { background: var(--primary-blue); }

	.apt-arrow {
		background: var(--primary-blue);
		color: white;
		padding: 10px 20px;
		border-radius: 5px;
		cursor: pointer;
	}

	.badge-custom { background-color: rgba(22, 58, 95, 0.08); color: var(--primary-blue); padding: 8px 12px; border-radius: 6px; font-size: 0.75rem; font-weight: 600; display: inline-flex; align-items: center; margin: 4px; }
	
	.badge-custom i { margin-right: 6px; color: var(--accent-gold); }
}

#faqSection {
	background-color: #ffffff;

	.accordion-item {
		border: 1px solid #e9ecef;
		margin-bottom: 10px;
		border-radius: 8px !important;
	}
	
	.accordion-button {
		font-family: 'Playfair Display', serif;
		font-weight: 600;
		color: var(--primary-blue);
		background-color: #f8f9fa;
	}
	
	.accordion-button:not(.collapsed) {
		color: var(--accent-gold);
		background-color: #f0f4f8;
		box-shadow: none;
	}
	
	.accordion-button::after {
		background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23163a5f'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
	}
}

#depoimentosSection {
	background-color: var(--bg-cream);

	.testimonial-card {
		background: #ffffff;
		padding: 40px;
		border-radius: 15px;
		box-shadow: 0 5px 15px rgba(0,0,0,0.05);
		height: 100%;
		position: relative;
	}
	
	.quote-icon {
		font-size: 2.5rem;
		color: var(--accent-gold);
		opacity: 0.3;
		margin-bottom: 20px;
		display: block;
	}
	
	.client-name {
		font-weight: 700;
		color: var(--primary-blue);
		margin-top: 20px;
		display: block;
	}
	
	.client-loc {
		font-size: 0.85rem;
		color: var(--text-muted);
	}
}

p.text-muted.mb-4 strong {
	color: var(--primary-blue) !important;
	font-weight: bold !important;
}

p.text-muted.mb-4 strong::before {
	content: "• " !important;
	color: var(--primary-blue) !important;
	font-weight: bold !important;
}

#popupBusiness .modal-dialog {
	max-width: 768px;
}

#popupBusiness .modal-body a img {
	transition: transform 0.3s ease;
}

#popupBusiness .modal-body a:hover img {
	transform: scale(1.02);
}

/*  --------------------------------------------------------------------------------------[ *** ] */