/*html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

*/











			/* Variáveis e reset */
			:root {
				--primary-start: #004C4C;
				--primary-mid: #004C4C;
				--primary-end: #E6F4F1;
				--primary-dark: #004C4C;
				--secondary: #0D6E6E;
				--secondary-dark: #1A1A2E;
				--dark: #1a1a2e;
				--gray: #4a5568;
				--light: #f8f9fa;
				--white: #ffffff;
				--shadow: 0 10px 30px rgba(0,0,0,0.08);
				--shadow-hover: 0 20px 40px rgba(0,0,0,0.12);
				--transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
			}

			* {
				margin: 0;
				padding: 0;
				box-sizing: border-box;
			}

			body {
				font-family: Inter, 'Helvetica Neue', Helvetica, Arial, sans-serif;
			}

			/* Header com o gradiente original */
			.header {
				background-image: linear-gradient(180deg, #004C4C 25%, #1A1A2E 100%);
				background-repeat: no-repeat;
				background-size: cover;
				height: 120px;
				position: relative;
				overflow: hidden;
			}

				.header::before {
					content: '';
					position: absolute;
					top: -50%;
					right: -50%;
					width: 200%;
					height: 200%;
					background: radial-gradient(circle, rgba(255,255,255,0.15) 1%, transparent 1%);
					background-size: 50px 50px;
					animation: shimmer 60s linear infinite;
				}

			@keyframes shimmer {
				0% {
					transform: translate(0, 0);
				}

				100% {
					transform: translate(50px, 50px);
				}
			}

			.logo {
				max-width: 100%;
				height: auto;
				max-height: 100px;
				/* filter: brightness(0) invert(1); */
				transition: var(--transition);
				position: relative;
				z-index: 1;
			}

			
			/* Container principal */
			.layout-container {
				min-height: 100vh;
				background-color: #1A1A2E;
			}

			/* Botões com efeitos usando as cores originais */
			.btn {
				padding: 5px 15px;
				font-weight: 600;
				transition: var(--transition);
				border: 1px solid #aeb3b1;
				cursor: pointer;
				font-size: 16px;
				letter-spacing: 0.5px;
				min-width: 150px;
			}

			.btn-success {
				background: linear-gradient(135deg, #004C4C 0%, #1A1A2E 100%);
				color: white;
				box-shadow: 0 4px 12px rgba(94,109,85,0.3);
			}

				.btn-success:hover {
					transform: translateY(-2px);
					box-shadow: 0 8px 20px rgba(94,109,85,0.4);
					background: linear-gradient(135deg, #1A1A2E 0%, #004C4C 100%);
					border: 1px solid #aeb3b1;
				}

			.btn-warning {
				background: linear-gradient(135deg, #d4a017 0%, #b87c0c 100%);
				color: white;
				box-shadow: 0 4px 12px rgba(212,160,23,0.3);
			}

				.btn-warning:hover {
					transform: translateY(-2px);
					box-shadow: 0 8px 20px rgba(212,160,23,0.4);
					background: linear-gradient(135deg, #b87c0c 0%, #d4a017 100%);
					color: white;
					border: 1px solid #aeb3b1;
				}

			.btn-faq {
				background: linear-gradient(135deg, #087c7c 0%, #05443f 100%);
				color: white;
				box-shadow: 0 4px 12px rgba(37,99,235,0.30);
			}

				.btn-faq:hover {
					transform: translateY(-2px);
					box-shadow: 0 8px 20px rgba(37,99,235,0.40);
					background: linear-gradient(135deg,#05443f 0%, #087c7c 100%);
					color: white;
					border: 1px solid #aeb3b1;
				}

				.btn-precos {
					background: linear-gradient(135deg, #6a8db8 0%, #34495e 100%);
					color: white;
					box-shadow: 0 4px 12px rgba(52,73,94,0.30);
				}

				.btn-precos:hover {
					transform: translateY(-2px);
					box-shadow: 0 8px 20px rgba(52,73,94,0.40);
					background: linear-gradient(135deg, #34495e 0%, #6a8db8 100%);
					color: white;
					border: 1px solid #b8c2cc;
				}

			/* Cards e seções */
			.card-section {
				background: var(--white);
				border-radius: 4px;
				box-shadow: var(--shadow);
				transition: var(--transition);
				margin-bottom: 32px;
				overflow: hidden;
				background-color: #F7F5F2;
				border: 1px solid #aeb3b1;
			}

				.card-section:hover {
					transform: translateY(-4px);
					box-shadow: var(--shadow-hover);
				}

			.section-header {
				padding: 24px 32px;
				border-bottom: 1px solid rgba(0,0,0,0.08);
				position: relative;
				overflow: hidden;
			}

				.section-header::before {
					content: '';
					position: absolute;
					bottom: 0;
					left: 0;
					width: 100%;
					height: 3px;
					background: linear-gradient(90deg, #004C4C 0%, #1A1A2E 100%);
					transform: scaleX(0);
					transition: transform 0.3s ease;
				}

			.card-section:hover .section-header::before {
				transform: scaleX(1);
			}

			.section-header h1 {
				font-size: 2rem;
				font-weight: 700;
				background: linear-gradient(135deg, #004C4C 0%, #0D6E6E 50%, #1A1A2E 100%);
				-webkit-background-clip: text;
				margin: 0;
			}

			.section-content {
				padding: 32px;
			}

			/* Lista de benefícios aprimorada */
			.benefits-grid {
				display: grid;
				grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
				gap: 20px;
				margin-top: 20px;
			}

			.benefit-card {
				background: var(--light);
				border-radius: 6px;
				padding: 24px;
				transition: var(--transition);
				@* border: 1px solid rgba(0,0,0,0.05); *@
				cursor: pointer;
				opacity: 0;
				transform: translateY(20px);
				animation: fadeInUp 0.5s forwards;
				position: relative;
				overflow: hidden;
				background-color: #E6F4F1;
				border: 1px solid #aeb3b1;

			}

				.benefit-card::before {
					content: '';
					position: absolute;
					top: 0;
					left: 0;
					width: 100%;
					height: 100%;
					background: linear-gradient(135deg, rgba(94,109,85,0.05) 0%, rgba(185,199,166,0.05) 100%);
					opacity: 0;
					transition: opacity 0.3s ease;
				}

				.benefit-card:hover::before {
					opacity: 1;
				}

			@keyframes fadeInUp {
				to {
					opacity: 1;
					transform: translateY(0);
				}
			}

			.benefit-card:hover {
				transform: translateY(-6px) scale(1.02);
				box-shadow: var(--shadow-hover);
				border-color: #b9c7a6;
			}

			.benefit-icon {
				width: 52px;
				height: 52px;
				background: linear-gradient(135deg, #1A1A2E 0%, #004C4C 100%);
				border-radius: 16px;
				display: flex;
				align-items: center;
				justify-content: center;
				font-size: 28px;
				margin-bottom: 20px;
				transition: var(--transition);
			}

			.benefit-card:hover .benefit-icon {
				transform: rotateY(180deg);
				background: linear-gradient(135deg, #1A1A2E  0%, #004C4C 100%);
			}

			.benefit-card h6 {
				font-size: 1.2rem;
				font-weight: 700;
				margin: 0 0 12px 0;
				color: var(--dark);
			}

			.benefit-card p {
				color: var(--gray);
				line-height: 1.5;
				font-size: 0.9rem;
				margin: 0;
			}

			/* Lista de features */
			.features-list {
				display: grid;
				grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
				gap: 16px;
				margin: 24px 0;
			}

			.feature-item {
				display: flex;
				align-items: center;
				gap: 12px;
				padding: 12px;
				background: var(--light);
				border-radius: 6px;
				transition: var(--transition);
				animation: fadeInUp 0.5s forwards;
				animation-delay: calc(var(--delay, 0) * 0.05s);
				cursor: pointer;
				margin-right: 20px;
				background-color: #E6F4F1;
				border: 1px solid #aeb3b1;
			}

				.feature-item:hover {
					background: linear-gradient(135deg, #004C4C 0%, #0D6E6E 100%);
					transform: translateX(8px);
				}

					.feature-item:hover .feature-check,
					.feature-item:hover span {
						color: white;
					}

			.feature-check {
				font-size: 20px;
				color: #004C4C;
				transition: var(--transition);
			}

			.feature-item span {
				color: var(--gray);
				font-size: 0.95rem;
				transition: var(--transition);
			}

			/* CTA Section com o gradiente original */
			.cta-section {
				background: linear-gradient(135deg, #004C4C  0%, #0D6E6E 50%, #1A1A2E 100%);
				border-radius: 6px;
				padding: 48px;
				text-align: center;
				margin-top: 32px;
				color: white;
				animation: fadeInUp 0.6s forwards;
				position: relative;
				overflow: hidden;
			}

				.cta-section::before {
					content: '';
					position: absolute;
					top: -50%;
					right: -50%;
					width: 200%;
					height: 200%;
					background: radial-gradient(circle, rgba(255,255,255,0.1) 1%, transparent 1%);
					background-size: 50px 50px;
					animation: shimmer 30s linear infinite;
				}

				.cta-section * {
					position: relative;
					z-index: 1;
				}

				.cta-section h3 {
					font-size: 2rem;
					font-weight: 700;
					margin-bottom: 16px;
				}

				.cta-section .price {
					font-size: 2.5rem;
					font-weight: 800;
					margin: 20px 0;
				}

					.cta-section .price small {
						font-size: 1rem;
						font-weight: 400;
					}

			/* Textos */
			.highlight-text {
				font-size: 1.1rem;
				line-height: 1.7;
				color: var(--gray);
				margin-bottom: 20px;
				text-align: justify;
			}

				.highlight-text strong {
					color: #004C4C;
					font-weight: 700;
				}

					.highlight-text strong::after {
						content: '';
						position: absolute;
						bottom: -2px;
						left: 0;
						width: 100%;
						height: 2px;
						background: linear-gradient(90deg, #004C4C 0%, #1A1A2E 100%);
						transform: scaleX(0);
						transition: transform 0.3s ease;
					}

					.highlight-text strong:hover::after {
						transform: scaleX(1);
					}

			/* Badges */
			.badge-new {
				background: linear-gradient(135deg, #d4a017 0%, #b87c0c 100%);
				color: white;
				font-size: 0.7rem;
				padding: 4px 12px;
				border-radius: 50px;
				margin-left: 12px;
				vertical-align: middle;
				animation: pulse 2s infinite;
			}

			@keyframes pulse {
				0%, 100% {
					transform: scale(1);
				}

				50% {
					transform: scale(1.05);
				}
			}

			/* Responsividade */
			@media (max-width: 768px) {
				.section-header h1 {
					font-size: 1.7rem;
				}

				.section-content {
					padding: 20px;
				}

				.cta-section {
					padding: 32px 24px;
				}

					.cta-section h3 {
						font-size: 1.5rem;
					}

				.btn {
					min-width: 130px;
					font-size: 15px;
				}

				.benefits-grid {
					grid-template-columns: 1fr;
				}

			}

			/* Animações de entrada */
			@keyframes slideInLeft {
				from {
					opacity: 0;
					transform: translateX(-30px);
				}

				to {
					opacity: 1;
					transform: translateX(0);
				}
			}

			@keyframes slideInRight {
				from {
					opacity: 0;
					transform: translateX(30px);
				}

				to {
					opacity: 1;
					transform: translateX(0);
				}
			}

			.animate-left {
				animation: slideInLeft 0.6s forwards;
			}

			.animate-right {
				animation: slideInRight 0.6s forwards;
			}

			.container {
				max-width: 1281px;
				margin: 0 auto;
				padding: 0 20px;
			}

			.footer-links {
				text-align: center;
				line-height: 1.5;
				margin-bottom: 15px;
			}

			.footer-links a,
			.footer-links span {
				display: inline-block;
				margin: 0 5px;
			}


			.carousel-inner {
				border-radius: 10px;
				overflow: hidden;
			}

			/* DESKTOP */
			.carousel-item img {
				width: 100%;
				height: 500px;
				object-fit: contain;
				background-color: rgba(0, 76, 76, 0.2);
			}

			/* SETAS */
			.carousel-control-prev-icon,
			.carousel-control-next-icon {
				background-color: rgba(0, 76, 76, 0.7);
				border-radius: 50%;
				padding: 18px;
				background-size: 60% 60%;
				box-shadow: 0 4px 12px rgba(0,0,0,0.3);
			}

			.carousel-caption {
				bottom: 10px;
				top: auto;
				text-align: right;
				left: 10px;
				right: 10px;
			}

				.carousel-caption p {
					display: inline-block;
					background: rgba(0, 76, 76, 0.55);
					padding: 6px 12px;
					border-radius: 8px;
					font-weight: 600;
					color: #fff;
					font-size: 0.85rem;
				}

			#carouselSistema .carousel-indicators {
				gap: 6px;
				bottom: -10px;
			}

			#carouselSistema .carousel-indicators [data-bs-target] {
				border: 1px solid rgba(0, 76, 76, 0.9);
			}

			/* 📱 TABLET */
			@media (max-width: 992px) {
				.carousel-item img {
					height: 380px;
				}

				.carousel-control-prev-icon,
				.carousel-control-next-icon {
					padding: 14px;
				}

		
				#carouselSistema {
					margin-top: 10px !important;
					margin-bottom: 10px !important;
				}

			.carousel-caption {
				bottom: 5px;
				left: 5px;
				right: 5px;
				text-align: center;
			}

			.carousel-caption p {
				font-size: 0.75rem;
				padding: 4px 8px;
			}

			}

			/* 📱 CELULAR */
			@media (max-width: 768px) {
				.carousel-item img {
					height: 260px;
					object-fit: contain;
				}

				.carousel-control-prev-icon,
				.carousel-control-next-icon {
					padding: 10px;
					background-size: 55% 55%;
				}

		
				#carouselSistema {
					margin-top: 10px !important;
					margin-bottom: 10px !important;
				}
			.carousel-caption {
				bottom: 5px;
				left: 5px;
				right: 5px;
				text-align: center;
			}

			.carousel-caption p {
				font-size: 0.75rem;
				padding: 4px 8px;
			}

			}

	#carouselDepoimentos {
		margin-top: 40px;
	}


	/* CARD */
	.testimonial-card {
		background: var(--light);
		background-color: #E6F4F1;
		border: 1px solid #aeb3b1;
		border-radius: 10px;
		padding: 40px 30px;
		text-align: center;
		min-height: 200px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		height: 260px;
		align-items: center;
    	text-align: center;
	}

	/* TEXTO */
	.testimonial-text {
		font-size: 1.1rem;
		color: #1A1A2E;
		font-style: italic;
		margin-bottom: 20px;
		line-height: 1.6;
		padding: 40px 60px; /* 👈 espaço lateral + vertical */
		overflow: hidden;
    	text-overflow: ellipsis;
	}


	/* AUTOR */
	.testimonial-author strong {
		display: block;
		color: #004C4C;
		font-size: 1rem;
	}

	.testimonial-author span {
		font-size: 0.85rem;
		color: #4a5568;
	}

	/* INDICADORES */
	#carouselDepoimentos .carousel-indicators [data-bs-target] {
		background-color: rgba(0, 76, 76, 0.35);
		width: 10px;
		height: 10px;
		border-radius: 50%;
	}

	#carouselDepoimentos .carousel-indicators .active {
		background-color: rgba(0, 76, 76, 0.9);
	}

	/* SETAS */
	#carouselDepoimentos .carousel-control-prev-icon,
	#carouselDepoimentos .carousel-control-next-icon {
		background-color: rgba(0, 76, 76, 0.8);
		border-radius: 50%;
		padding: 18px;
		background-size: 60% 60%;
	}

	/* MOBILE */
	@media (max-width: 768px) {
		.testimonial-card {
			padding: 25px 15px;
		}

		.testimonial-text {
			font-size: 0.95rem;
		}
	}


.results-section {
    background: #F7F5F2;
    padding: 60px 20px;
    border-top: 1px solid #aeb3b1;
    border-bottom: 1px solid #aeb3b1;
}

.results-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    margin-top: 40px;
}

.result-card {
    background: #E6F4F1;
    border: 1px solid #aeb3b1;
    border-radius: 10px;
    padding: 30px 20px;
    text-align: center;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.result-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    border-color: #004C4C;
}

.result-number {
    font-size: 2rem;
    font-weight: 800;
    color: #004C4C;
    margin-bottom: 10px;
}

.result-label {
    font-size: 0.95rem;
    color: #1A1A2E;
    font-weight: 600;
}

/* MOBILE */
@media (max-width: 768px) {
    .results-section {
        padding: 40px 15px;
    }

    .result-number {
        font-size: 1.6rem;
    }
}


@keyframes pulse {
	0% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.05);
	}

	100% {
		transform: scale(1);
	}
}

.destaque {
	display: inline-block;
	/*background: #28a745;*/
	color: white;
	padding: 4px 10px;
	border-radius: 6px;
	font-weight: 700;
	animation: pulse 1.5s infinite;
}