/*  --------------------------------------------------------------------------------------[ CSS ] */

:root {
	--background: 0 0% 100%;
	--foreground: 220 30% 12%;
	--card: 0 0% 100%;
	--card-foreground: 220 30% 12%;
	--popover: 0 0% 100%;
	--popover-foreground: 220 30% 12%;
	--primary: 220 80% 42%;
	--primary-foreground: 0 0% 100%;
	--primary-light: 220 80% 55%;
	--primary-dark: 220 85% 28%;
	--secondary: 220 20% 96%;
	--secondary-foreground: 220 30% 12%;
	--muted: 220 15% 95%;
	--muted-foreground: 220 10% 46%;
	--accent: 40 95% 55%;
	--accent-foreground: 220 30% 12%;
	--destructive: 0 84.2% 60.2%;
	--destructive-foreground: 0 0% 100%;
	--border: 220 15% 90%;
	--input: 220 15% 90%;
	--ring: 220 80% 42%;
	--radius: .75rem;
	--font-heading: "Montserrat", sans-serif;
	--font-body: "Inter", sans-serif;
	--sidebar-background: 0 0% 98%;
	--sidebar-foreground: 240 5.3% 26.1%;
	--sidebar-primary: 240 5.9% 10%;
	--sidebar-primary-foreground: 0 0% 98%;
	--sidebar-accent: 240 4.8% 95.9%;
	--sidebar-accent-foreground: 240 5.9% 10%;
	--sidebar-border: 220 13% 91%;
	--sidebar-ring: 217.2 91.2% 59.8%;
}

/*  --------------------------------------------------------------------------------------[ *** ] */

html {
	scroll-behavior: smooth;
	scroll-padding-top: 80px; 
}

body {
	padding-top: 80px; 
}

.header-logo {
	max-height: 75px;
}

.custom-background-color-degrade {
	background: linear-gradient(135deg,hsl(var(--primary-dark)),hsl(var(--primary)),hsl(var(--primary-light))) !important;
}

.custom-background-color-degrade-opacity {
	background-color: hsl(var(--primary-foreground) / .1);
}

/*  --------------------------------------------------------------------------------------[ *** ] */

.form-glass {
	background: rgba(255, 255, 255, 0.1) !important;
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.input-glass {
	background: hsl(var(--primary-foreground) / .1) !important;
	border: 1px solid rgba(255, 255, 255, 0.3) !important;
	color: #ffffff !important;
}

.input-glass::placeholder {
	color: rgba(255, 255, 255, 0.7) !important;
}

.nav-pills-glass .nav-link {
	background: transparent !important;
	color: rgba(255, 255, 255, 0.7) !important;
}

.nav-pills-glass .nav-link.active {
	background: rgba(255, 255, 255, 0.2) !important;
	color: #ffffff !important;
	border-bottom: 2px solid #ffffff;
}

.form-no-card {
	background: transparent !important;
	border: none !important;
}

.nav-pills-custom .nav-link {
	background: hsl(var(--primary-foreground) / .1) !important; 
	color: #ffffff !important;
	border-radius: var(--bs-border-radius-xl) !important;
	padding: 10px 30px !important;
	transition: 0.3s;
}

.nav-pills-custom .nav-link.active {
	background: #ffffff !important;
	color: var(--custom-color-pri) !important; 
	font-weight: 600;
}

.custom-tab-container {
	background: hsl(var(--primary-foreground) / .1); 
	border-radius: var(--bs-border-radius-xl);
	padding: 5px;
	display: inline-flex;
	width: 100%;
}

.custom-tab-btn {
	flex: 1;
	border-radius: var(--bs-border-radius-xl);
	padding: 15px;
	border: none;
	background: transparent;
	color: white;
	font-weight: 500;
	transition: 0.3s ease;
}

.custom-tab-btn.active {
	background: #ffffff !important;
	color: var(--custom-color-pri) !important;
	box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

#rangeCredito {
	background-color: transparent;
}

#rangeCredito::-webkit-slider-runnable-track {
	width: 100%;
	height: 6px;
	background: hsl(var(--primary-foreground) / .1);
	border-radius: 5px;
	border: none;
}

#rangeCredito::-webkit-slider-thumb {
	-webkit-appearance: none;
	height: 20px;
	width: 20px;
	border-radius: 50%;
	background: var(--custom-color-tri); 
	cursor: pointer;
	margin-top: -7px; 
	box-shadow: 0 0 5px rgba(0,0,0,0.2);
}

#rangeCredito::-moz-range-track {
	width: 100%;
	height: 6px;
	background: hsl(var(--primary-foreground) / .1);
	border-radius: 5px;
	border: none;
}

#rangeCredito::-moz-range-thumb {
	height: 20px;
	width: 20px;
	border-radius: 50%;
	background: var(--custom-color-tri);
	cursor: pointer;
	border: none;
}

/*  --------------------------------------------------------------------------------------[ *** ] */

.metodo-lar-section {
	padding: 80px 0;
	text-align: center;
}

.metodo-lar-header {
	max-width: 700px;
	margin: 0 auto 50px;
}

.metodo-lar-central-box {
	background: #ffffff;
	border-radius: 24px;
	box-shadow: 0 10px 40px rgba(0,0,0,0.05);
	padding: 40px;
	margin: 0 auto 60px;
	max-width: 500px;
}

.metodo-lar-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	max-width: 1200px;
	margin: 0 auto;
}

.metodo-lar-card {
	background: #ffffff;
	padding: 30px 20px;
	border-radius: 20px;
	text-align: left;
	box-shadow: 0 4px 20px rgba(0,0,0,0.03);
}

.icon-box {
	background: var(--custom-color-pri);
	color: white;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	margin-bottom: 20px;
}

/*  --------------------------------------------------------------------------------------[ *** ] */

.depoimentos-card {
	background: #f8f9fa;
	border-radius: 20px;
	padding: 30px;
	transition: transform 0.3s ease;
	border: 1px solid rgba(0,0,0,0.05);
}

.depoimentos-card:hover {
	transform: translateY(-5px);
}

.quote-icon {
	font-size: 3rem;
	color: rgba(0,0,0,0.05);
	line-height: 1;
}

.stars {
	color: #ffc107;
	font-size: 1.1rem;
	margin-bottom: 15px;
}

/*  --------------------------------------------------------------------------------------[ *** ] */

.faq-section {
	background-color: #f8f9fa;
	padding: 80px 0;
}

.accordion-item {
	background-color: #ffffff;
	border: none;
	border-radius: 12px !important;
	margin-bottom: 15px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.03);
}

.accordion-button {
	background-color: #ffffff !important;
	color: var(--custom-color-pri);
	font-weight: 600;
	border-radius: 12px !important;
	padding: 20px;
}

.accordion-button:not(.collapsed) {
	color: var(--custom-color-pri);
	box-shadow: none;
}

/*  --------------------------------------------------------------------------------------[ *** ] */

.certificacao-section {
	padding: 80px 0;
	background-color: #ffffff;
}

.shield-icon-box {
	background-color: var(--custom-color-pri);
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 20px;
	font-size: 3rem;
	box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.check-item {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--custom-color-pri);
	font-weight: 500;
}

/*  --------------------------------------------------------------------------------------[ *** ] */

.stats-section {
	padding: 60px 0;
	color: #ffffff;
}

.stat-item {
	text-align: center;
	padding: 20px;
}

.stat-number {
	font-size: 3rem;
	font-weight: 700;
	margin-bottom: 5px;
}

.stat-label {
	font-size: 1rem;
	opacity: 0.9;
}

/*  --------------------------------------------------------------------------------------[ *** ] */

.cta-section {
	padding: 80px 0;
	text-align: center;
	background-color: #f8f9fa;
}

.whatsapp-icon {
	font-size: 3rem;
	color: #25d366;
	margin-bottom: 20px;
}

.btn-whatsapp {
	background-color: #25d366 !important;
	color: #ffffff !important;
	padding: 15px 40px !important;
	border-radius: 50px !important;
	font-weight: 600;
	transition: transform 0.3s ease;
}

.btn-whatsapp:hover {
	transform: scale(1.05);
}

.whatsapp-circle-icon {
	width: 80px;
	height: 80px;
	background-color: #25d366;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 20px;
	color: white;
	font-size: 40px;
}

.btn-whatsapp-pill {
	background-color: #25d366;
	color: white;
	padding: 16px 48px;
	border-radius: 50px;
	text-decoration: none;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	transition: 0.3s;
}

.btn-whatsapp-pill:hover {
	background-color: #128c7e;
	transform: scale(1.02);
}

/*  --------------------------------------------------------------------------------------[ *** ] */

.footer-main {
	border-top: 5px solid var(--custom-color-duo);
}

.footer-main a:hover {
	color: var(--custom-color-duo) !important;
}

.footer-main .bi {
	transition: 0.3s;
}

.footer-main a:hover .bi {
	transform: translateY(-3px);
}

/*  --------------------------------------------------------------------------------------[ *** ] */

#sobre {
	.img-diferencial {
		max-width: 40px;
		height: auto;
	}
}

/*  --------------------------------------------------------------------------------------[ *** ] */

.text-degrade {
	background: linear-gradient(135deg, hsl(var(--primary-dark)), hsl(var(--primary)), hsl(var(--primary-light)));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	display: inline-block;
}

/*  --------------------------------------------------------------------------------------[ *** ] */

#preloader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg,hsl(var(--primary-dark)),hsl(var(--primary)),hsl(var(--primary-light))) !important;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.5s ease, visibility 0.5s;
}

#preloader.fade-out {
	opacity: 0;
	visibility: hidden;
}

.spinner-box {
	text-align: center;
}

.spinner-border.color-pen {
	color: var(--custom-color-pen);
}

/*  --------------------------------------------------------------------------------------[ *** ] */

.mvv-section {
	padding: 80px 0;
	background-color: #ffffff;
}

.mvv-card {
	padding: 40px 30px;
	border-radius: 20px;
	background: #ffffff;
	border: 1px solid rgba(0,0,0,0.05);
	transition: all 0.3s ease;
	height: 100%;
	text-align: center;
}

.mvv-card:hover {
	transform: translateY(-10px);
	box-shadow: 0 20px 40px rgba(0,0,0,0.08);
}

.icon-box-mvv {
	width: 70px;
	height: 70px;
	background: rgba(var(--custom-color-pri-rgb), 0.1);
	color: var(--custom-color-pri);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	margin: 0 auto 25px;
	font-size: 1.8rem;
}

/*  --------------------------------------------------------------------------------------[ *** ] */

select option {
	color: #333333 !important;
	background-color: #ffffff !important;
}

.custom-select-ajustado {
	color: #ffffff !important;
}

.custom-select-ajustado option {
	color: #212529 !important;
	background-color: #ffffff !important;
}

/*  --------------------------------------------------------------------------------------[ *** ] */