/* css/style.css */

/* 1. VARIÁVEIS DE COR E FONTES */
:root {
    --primary-color: #1f437f; 
    --secondary-color: #f6911a; 
    --light-bg: #f8f9fa; 
    --dark-text: #212529; 
    --body-font: 'Poppins', sans-serif; 
    --heading-font: 'Inter', sans-serif; 
    --primary-soft: rgba(31, 67, 127, 0.1); 
    --secondary-soft: rgba(246, 145, 26, 0.1); 
    --success-soft: rgba(25, 135, 84, 0.1); 
    --info-soft: rgba(13, 202, 240, 0.1); 
    --warning-soft: rgba(255, 193, 7, 0.1); 
    --danger-soft: rgba(220, 53, 69, 0.1);
}

/* 2. ESTILOS GERAIS */
body { font-family: var(--body-font); color: var(--dark-text); }
h1,h2,h3,h4,h5,h6 { font-family: var(--heading-font); font-weight: 800; }
.text-primary { color: var(--primary-color) !important; }
.btn-primary { background-color: var(--primary-color) !important; border-color: var(--primary-color) !important; padding: 0.6rem 1.5rem; font-weight: 600; }
.btn-outline-primary { color: var(--primary-color) !important; border-color: var(--primary-color) !important; padding: 0.6rem 1.5rem; font-weight: 600; }
.btn-outline-primary:hover { background-color: var(--primary-color) !important; color: #fff !important; }
.text-secondary { color: var(--secondary-color) !important; }
.btn-secondary { background-color: var(--secondary-color) !important; border-color: var(--secondary-color) !important; color: #fff; font-weight: 600; }
hr.footer-divider { width: 40px; height: 3px; background-color: var(--primary-color); opacity: 0.2; margin: 1rem 0; border: 0; }

/* 3. COMPONENTES */
.navbar .logo { max-height: 40px; }
.navbar-nav .nav-link { font-weight: 600; color: #555; margin: 0 0.5rem; }
.hero-section { background-color: #f4f8fc; padding: 6rem 0; }

.client-logos { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; gap: 2rem; padding: 1rem 0; }
.client-logos img { max-height: 40px; filter: grayscale(100%); opacity: 0.6; transition: all 0.3s ease; }
.client-logos img:hover { filter: grayscale(0%); opacity: 1; transform: scale(1.1); }

.info-card { padding: 2rem; background-color: #fff; border-radius: 0.5rem; height: 100%; text-align: center; border: 1px solid #eee; transition: all 0.3s ease; }
.info-card:hover { transform: translateY(-5px); box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.05); }
.info-icon { width: 60px; height: 60px; margin: 0 auto 1.5rem auto; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; }
.text-info { color: #0dcaf0 !important; } 
.text-warning { color: #ffc107 !important; } 
.text-danger { color: #dc3545 !important; } 
.text-success { color: #198754 !important; }

.step-card { padding: 2rem; }
.step-number { width: 50px; height: 50px; border: 2px solid var(--primary-color); color: var(--primary-color); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.5rem; font-weight: bold; }

.comparison-table { font-size: 1.1rem; border-radius: 0.5rem; overflow: hidden; }
.comparison-table thead { background-color: var(--primary-soft); }
.comparison-table td, .comparison-table th { vertical-align: middle; padding: 1rem; text-align: center; }
.comparison-table td:first-child { text-align: left; font-weight: 600; }
.comparison-table .fa-check-circle { font-size: 1.5rem; }
.comparison-table .fa-times-circle { font-size: 1.5rem; opacity: 0.7; }

.testimonial-card { background-color: var(--light-bg); padding: 2rem; border-radius: 0.5rem; height: 100%; border-left: 5px solid var(--primary-color); }
.testimonial-card p { font-size: 1.1rem; font-style: italic; color: #555; }
.testimonial-card p::before { content: '“'; font-size: 3rem; color: var(--primary-soft); font-weight: bold; line-height: 0; margin-right: 0.5rem; vertical-align: -0.7rem; }
.testimonial-card cite { font-style: normal; }

.pricing-card { background-color: #fff; border: 1px solid #dee2e6; border-radius: 0.75rem; padding: 2.5rem; height: 100%; display: flex; flex-direction: column; text-align: center; transition: all 0.3s ease; }
.pricing-card:hover { transform: translateY(-10px); box-shadow: 0 1rem 2rem rgba(0,0,0,0.08); }
.pricing-card .price .h1 { font-size: 3.5rem; }
.pricing-card ul { text-align: left; margin-bottom: auto; padding-top: 1rem; padding-bottom: 2rem; }
.pricing-card ul li { margin-bottom: 0.75rem; color: #555; }
.pricing-card ul li .fa-check-circle, .pricing-card ul li .fa-star { color: var(--primary-color); }
.pricing-card.popular { border: 2px solid var(--primary-color); position: relative; transform: scale(1.05); }
.pricing-card.popular:hover { transform: scale(1.08) translateY(-10px); }
.badge-popular { position: absolute; top: -15px; left: 50%; transform: translateX(-50%); background-color: var(--primary-color); color: #fff; padding: 0.4rem 1rem; border-radius: 50px; font-size: 0.8rem; font-weight: bold; }

.accordion-button:not(.collapsed) { color: #fff; background-color: var(--primary-color); }
.accordion-button:focus { box-shadow: 0 0 0 0.25rem var(--primary-soft); }
.accordion-item { border-radius: 0.5rem !important; overflow: hidden; margin-bottom: 1rem; border: 1px solid #dee2e6; }

.final-cta-section { background-color: var(--primary-color); background-image: linear-gradient(45deg, var(--primary-color), #2c528f); }

.rodape { background-color: #fff; border-top: 1px solid #eee; }
.copyright { background-color: #f8f9fa; }
.social-icon { display: inline-flex; justify-content: center; align-items: center; width: 40px; height: 40px; background-color: var(--primary-soft); color: var(--primary-color); border-radius: 50%; text-decoration: none; font-size: 1.1rem; margin-right: 10px; transition: all 0.3s ease; }
.social-icon:hover { background-color: var(--primary-color); color: #fff; }