/* ============================================
   CORREÇÃO DE LEGIBILIDADE E REMOÇÃO DE SÍMBOLOS
   ============================================ */

/* Remover checkmarks (✓) das listas */
li::before {
    content: '' !important;
    display: none !important;
}

/* Estilo novo para listas sem símbolos */
ul li,
ol li {
    content: none !important;
    padding-left: 1.5rem;
    position: relative;
    margin-bottom: 0.8rem;
}

/* Adicionar bullet points sutis em vez de checkmarks */
ul > li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.6rem;
    width: 0.5rem;
    height: 0.5rem;
    background: linear-gradient(135deg, #1a4789, #2d5fa3);
    border-radius: 50%;
    animation: none !important;
}

/* ============================================
   CORREÇÃO DE CONTRASTE E LEGIBILIDADE
   ============================================ */

/* Textos com contraste melhorado */
body {
    color: #2a2f3a;
    font-size: 1.05rem;
    line-height: 1.7;
}

p {
    color: #3a4150;
    font-weight: 400;
}

h1, h2, h3, h4, h5, h6 {
    color: #0d2249;
    font-weight: 700;
    line-height: 1.4;
}

/* Títulos com shadow sutil para legibilidade em gradientes */
.hero h1,
.hero h2,
.hero p {
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    color: #ffffff;
}

/* Section headers com cor forte */
.section-header h2 {
    color: #0d2249 !important;
    -webkit-text-fill-color: unset !important;
    background: none !important;
    font-weight: 800;
    letter-spacing: -0.5px;
}

/* Remover gradientes de texto onde causam ilegibilidade */
.section-header h2 {
    background: none !important;
    color: #1a4789 !important;
    -webkit-background-clip: unset !important;
    -webkit-text-fill-color: unset !important;
    background-clip: unset !important;
}

/* Cards com texto legível */
.card {
    background: #ffffff;
    border: 1px solid #e9ecf0;
}

.card h3 {
    color: #0d2249;
    font-weight: 700;
}

.card p {
    color: #5a5f6b;
    font-size: 1rem;
}

/* Backgrounds com cores de suporte */
.bg-light {
    background-color: #f8f9fb !important;
}

.bg-primary {
    background: linear-gradient(135deg, #1a4789, #2d5fa3) !important;
    color: #ffffff;
}

.bg-primary p,
.bg-primary h2,
.bg-primary h3,
.bg-primary li {
    color: #ffffff;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

/* Links com cores visíveis */
a {
    color: #1a4789;
    font-weight: 500;
    text-decoration: none;
}

a:hover {
    color: #2d5fa3;
    text-decoration: none;
}

.bg-primary a {
    color: #ffffff;
    text-decoration: none;
}

.bg-primary a:hover {
    color: #e8f0ff;
    text-decoration: none;
}

/* Inputs com contraste */
input,
textarea,
select {
    background-color: #ffffff;
    color: #2a2f3a;
    border: 2px solid #e9ecf0;
    font-size: 1rem;
}

input:focus,
textarea:focus,
select:focus {
    background-color: #ffffff;
    border-color: #1a4789;
    color: #2a2f3a;
    box-shadow: 0 0 0 4px rgba(26, 71, 137, 0.1);
}

/* Placeholder com contraste */
input::placeholder,
textarea::placeholder {
    color: #8b8f98;
    opacity: 0.8;
}

/* Labels com contraste */
label {
    color: #2a2f3a;
    font-weight: 600;
}

/* Buttons com texto visível */
.btn {
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: 0.5px;
}

.btn-primary {
    color: #ffffff;
}

.btn-outline-primary {
    color: #1a4789;
}

.btn-outline-primary:hover {
    color: #ffffff;
}

.btn-light {
    color: #1a4789;
}

/* Footer com texto visível */
footer {
    background: linear-gradient(180deg, #0d2249, #051423);
    color: #ffffff;
}

footer p,
footer li {
    color: rgba(255, 255, 255, 0.9);
}

footer a {
    color: rgba(255, 255, 255, 0.9);
}

footer a:hover {
    color: #e8f0ff;
}

/* ============================================
   MELHORIAS DE ESPAÇAMENTO
   ============================================ */

.section {
    padding: 5rem 2rem;
}

.section-header {
    margin-bottom: 4rem;
}

.section-header h2 {
    font-size: 2.8rem;
    margin-bottom: 1rem;
}

.section-header::after {
    margin-top: 1rem;
}

/* Melhor spacing em cards */
.card {
    padding: 2rem;
    margin-bottom: 1.5rem;
}

.card h3 {
    margin-bottom: 1rem;
    font-size: 1.5rem;
}

.card p {
    margin-bottom: 1rem;
    line-height: 1.8;
}

/* Spacing em listas */
ul li,
ol li {
    margin-bottom: 1rem;
    font-size: 1.05rem;
}

/* ============================================
   MELHORIAS DE CONTRASTE EM SEÇÕES
   ============================================ */

.about-content {
    color: #3a4150;
}

.about-content h2 {
    color: #0d2249;
    margin-bottom: 1.5rem;
    font-size: 2.2rem;
}

.about-content p {
    margin-bottom: 1.5rem;
    line-height: 1.8;
    font-size: 1.1rem;
}

.about-content ul li {
    color: #3a4150;
    font-size: 1.1rem;
}

/* Testimonials com contraste */
.testimonials-grid .card {
    background: #ffffff;
    border: 1px solid #e9ecf0;
}

.testimonials-grid .card p {
    color: #5a5f6b;
    font-size: 1.05rem;
    line-height: 1.8;
}

.testimonials-grid .card h4 {
    color: #1a4789;
    font-weight: 700;
    margin-top: 1.5rem;
}

/* ============================================
   RESPONSIVIDADE
   ============================================ */

@media (max-width: 768px) {
    body {
        font-size: 1rem;
    }

    .section {
        padding: 3rem 1rem;
    }

    .section-header h2 {
        font-size: 2rem;
    }

    h1 {
        font-size: 2rem;
    }

    h2 {
        font-size: 1.5rem;
    }

    p {
        font-size: 1rem;
    }

    li {
        font-size: 1rem;
    }
}
