/* --- BASE OTIMIZADA (GERADA PELO COVERAGE) --- */
:root {
    --bs-blue: #0d6efd; --bs-green: #198754; --bs-white: #fff; --bs-gray-dark: #343a40; --bs-primary: #0d6efd; --bs-secondary: #6c757d; --bs-success: #198754; --bs-dark: #212226; --bs-font-sans-serif: "Montserrat", sans-serif;
}
*,*::before,*::after { box-sizing: border-box; }
@media (prefers-reduced-motion:no-preference) { :root { scroll-behavior: smooth; } }
body { margin: 0; font-family: var(--bs-font-sans-serif); font-size: 1rem; font-weight: 400; line-height: 1.5; color: #212226; background-color: #fff; -webkit-text-size-adjust: 100%; }
h1,h2,h3,h4,h5 { margin-top: 0; margin-bottom: 0.5rem; font-weight: 500; line-height: 1.2; }
h1 { font-size: calc(1.375rem + 1.5vw); }
h2 { font-size: calc(1.325rem + 0.9vw); }
h3 { font-size: calc(1.3rem + 0.6vw); }
h4 { font-size: 1.5rem; }
p { margin-top: 0; margin-bottom: 1rem; }
ul { padding-left: 2rem; margin-top: 0; margin-bottom: 1rem; }
b,strong { font-weight: bolder; }
a { color: #0d6efd; text-decoration: underline; }
a:not([href]):not([class]) { color: inherit; text-decoration: none; }
img,svg { vertical-align: middle; }
label { display: inline-block; }
button { border-radius: 0; }
input,button { margin: 0; font-family: inherit; font-size: inherit; line-height: inherit; }
button { text-transform: none; }
[role="button"] { cursor: pointer; }
button,[type="button"] { -webkit-appearance: button; }
button:not(:disabled),[type="button"]:not(:disabled) { cursor: pointer; }
.lead { font-size: 1.25rem; font-weight: 300; }
.display-4 { font-size: calc(1.475rem + 2.7vw); font-weight: 300; line-height: 1.2; }
.container { width: 100%; padding-right: var(--bs-gutter-x,0.75rem); padding-left: var(--bs-gutter-x,0.75rem); margin-right: auto; margin-left: auto; }
@media (min-width: 576px) { .container { max-width: 540px; } }
@media (min-width: 768px) { .container { max-width: 720px; } }
@media (min-width: 992px) { .container { max-width: 960px; } }
@media (min-width: 1200px) { .container { max-width: 1140px; } h1, .display-4 { font-size: 3.5rem; } h2 { font-size: 2rem; } }
.row { --bs-gutter-x: 1.5rem; --bs-gutter-y: 0; display: flex; flex-wrap: wrap; margin-top: calc(var(--bs-gutter-y) * -1); margin-right: calc(var(--bs-gutter-x) / -2); margin-left: calc(var(--bs-gutter-x) / -2); }
.row > * { flex-shrink: 0; width: 100%; max-width: 100%; padding-right: calc(var(--bs-gutter-x) / 2); padding-left: calc(var(--bs-gutter-x) / 2); margin-top: var(--bs-gutter-y); }
@media (min-width: 768px) { .col-md-6 { flex: 0 0 auto; width: 50%; } }
@media (min-width: 992px) { .col-lg-3 { flex: 0 0 auto; width: 25%; } .col-lg-4 { flex: 0 0 auto; width: 33.33333333%; } .col-lg-5 { flex: 0 0 auto; width: 41.66666667%; } .col-lg-6 { flex: 0 0 auto; width: 50%; } .col-lg-8 { flex: 0 0 auto; width: 66.66666667%; } .offset-lg-1 { margin-left: 8.33333333%; } }
.form-label { margin-bottom: 0.5rem; }
.form-control { display: block; width: 100%; padding: 0.375rem 0.75rem; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #212226; background-color: #fff; background-clip: padding-box; border: 1px solid #ced4da; appearance: none; border-radius: 0.25rem; transition: border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out; }
.form-control::placeholder { color: #6c757d; opacity: 1; }
.btn { display: inline-block; font-weight: 400; line-height: 1.5; color: #212226; text-align: center; text-decoration: none; vertical-align: middle; cursor: pointer; user-select: none; background-color: transparent; border: 1px solid transparent; padding: 0.375rem 0.75rem; font-size: 1rem; border-radius: 0.25rem; transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out; }
.btn-primary { color: #fff; background-color: #0d6efd; border-color: #0d6efd; }
.btn-secondary { color: #fff; background-color: #6c757d; border-color: #6c757d; }
.btn-success { color: #fff; background-color: #198754; border-color: #198754; }
.btn-link { font-weight: 400; color: #0d6efd; text-decoration: underline; }
.btn-lg { padding: 0.5rem 1rem; font-size: 1.25rem; border-radius: 0.3rem; }
.collapse { display: none; }
.collapse.show { display: block; }
.card { position: relative; display: flex; flex-direction: column; min-width: 0; word-wrap: break-word; background-color: #fff; background-clip: border-box; border: 1px solid rgba(0,0,0,0.125); border-radius: 0.25rem; }
.card-body { flex: 1 1 auto; padding: 1rem 1rem; }
.card-header { padding: 0.5rem 1rem; margin-bottom: 0; background-color: rgba(0,0,0,0.03); border-bottom: 1px solid rgba(0,0,0,0.125); }
.card-header:first-child { border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; }
.accordion { --bs-accordion-border-color: #dee2e6; --bs-accordion-border-width: 1px; --bs-accordion-border-radius: 0.375rem; }
.w-100 { width: 100% !important; }
.justify-content-center { justify-content: center !important; }
.align-items-center { align-items: center !important; }
.mt-3 { margin-top: 1rem !important; }
.mt-4 { margin-top: 1.5rem !important; }
.mt-5 { margin-top: 3rem !important; }
.mb-0 { margin-bottom: 0 !important; }
.mb-3 { margin-bottom: 1rem !important; }
.mb-4 { margin-bottom: 1.5rem !important; }
.p-4 { padding: 1.5rem !important; }
.fs-5 { font-size: 1.25rem !important; }
.text-center { text-align: center !important; }
.text-primary { color: #0d6efd !important; }
.text-success { color: #198754 !important; }
.text-dark { color: #212226 !important; }
.text-white { color: #fff !important; }
.text-white-50 { color: rgba(255,255,255,0.5) !important; }
ul { padding-left: 0; list-style-type: none; }

/* --- ESTILOS CUSTOMIZADOS DA LANDING PAGE (RESTAURADOS) --- */
body { background-color: #f5f7fb; font-family: 'Montserrat', sans-serif; }
.hero-lp { background: linear-gradient(rgba(1, 22, 56, 0.7), rgba(1, 22, 56, 0.8)), url('../images/login/imagem-principal.jpg'); background-size: cover; background-position: center; color: white; padding: 120px 20px; text-align: center; }
.hero-lp h1 { font-weight: 700; font-size: 2.8rem; }
.hero-lp .lead { font-size: 1.3rem; max-width: 750px; margin: auto; opacity: 0.9; }
.btn-cta-primary { font-size: 1.2rem; padding: 15px 30px; font-weight: 600; text-transform: uppercase; border-radius: 50px; }
.btn-cta-secondary { margin-top: 15px; border-radius: 50px; }
.section-lp { padding: 80px 20px; }
.section-title { text-align: center; margin-bottom: 60px; }
.section-title h2 { font-weight: 600; color: #152A4E; }
.section-title p { color: #5e6f88; max-width: 700px; margin: auto; }
.problem-solution-block { margin-bottom: 50px; text-align: center; }
.problem-solution-block svg { font-size: 50px; color: #7366ff; margin-bottom: 20px; display: block; margin-left: auto; margin-right: auto; }
.problem-solution-block h3 { color: #152A4E; font-weight: 600; }
.problem-solution-block .pain-point { color: #d93b3b; font-weight: 500; }
.testimonial-card { background: white; border-radius: 10px; padding: 30px; box-shadow: 0 10px 30px rgba(0,0,0,0.07); height: 100%; }
.testimonial-card p { font-style: italic; color: #333; font-size:1.05rem; }
.testimonial-author { display: flex; align-items: center; margin-top: 20px; }
.testimonial-author img { width: 50px; height: 50px; border-radius: 50%; margin-right: 15px; }
.testimonial-author-info strong { display: block; color: #152A4E; }
.testimonial-author-info span { color: #5e6f88; font-size: 0.9rem;}
.pricing-card { background: white; border-radius: 10px; padding: 40px; text-align: center; box-shadow: 0 10px 30px rgba(0,0,0,0.07); border: 1px solid #e0e0e0; height: 100%; }
.pricing-card-recommended { border-top: 5px solid #7366ff; }
.pricing-card h3 { color: #152A4E; font-weight: 600; }
.pricing-card .price { font-size: 2.5rem; font-weight: 700; color: #152A4E; }
.pricing-card .price-note { font-size: 0.9rem; color: #5e6f88; }
.pricing-card ul { list-style: none; padding: 0; margin: 30px 0; }
.pricing-card ul li { padding: 10px 0; border-bottom: 1px solid #f0f0f0; }
.pricing-card ul li svg { color: #28a745; margin-right: 10px; vertical-align: middle; }
.badge-popular { background-color: #7366ff; color: white; padding: 5px 15px; border-radius: 50px; font-size: 0.8rem; display: inline-block; }
.bonus-box { background-color: #e6f7ff; border: 1px dashed #91d5ff; padding: 20px; border-radius: 10px; margin-top: 40px; }
.cta-section { background-color: #152A4E; color: white; }
.cta-section .form-control { height: 50px; }
.cta-section .btn { width: 100%; padding: 15px; font-size: 1.1rem; }
.faq .card { margin-bottom: 10px; }
.faq .card-header { cursor: pointer; background-color: #fff; border-bottom: 1px solid rgba(0,0,0,0.125); }
.faq .card-header h5 button { color: #152A4E; text-decoration: none; text-align: left; background: none; border: none; padding: 0; width: 100%; }
.footer-lp { background: #333; color: white; padding: 40px 20px; text-align: center; }

/* --- SOBRESCREVENDO CORES PADRÃO DOS BOTÕES --- */
.btn-primary { background-color: #24695c !important; border-color: #24695c !important; }
.btn-secondary { background-color: #ba895d !important; border-color: #ba895d !important; }
.btn-success { background-color: #1b4c43 !important; border-color: #1b4c43 !important; }

/* MEDIA QUERIES PARA RESPONSIVIDADE */
@media (max-width: 991px) { .display-4, .hero-lp h1 { font-size: 1.8rem; } h2 { font-size: 1.5rem; } }