/* Estilos Gerais */
body {
    font-family: 'Lato', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.7;
    margin: 0;
    padding: 0;
    background-color: #f9f7ef; /* Bege claro da referência */
    color: #333333; /* Cinza escuro para texto geral */
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

.container {
    width: 90%;
    max-width: 1200px;
    margin: 1.5rem auto;
    padding: 1.5rem;
    background-color: #ffffff; /* Branco para o container de conteúdo */
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
    border-radius: 12px;
}

/* Cabeçalho e Navegação Unificados (conforme referência) */
header {
    background-color: #32465f; /* Azul escuro da referência */
    color: #ffffff;
    padding: 2rem 1rem;
    text-align: center;
}

header .logo-container {
    margin-bottom: 1rem;
}

header .logo-container img {
    max-width: 180px; /* Ajustar conforme o tamanho do logo */
    height: auto;
    background-color: #f9f7ef; /* Fundo bege claro para o logo */
    padding: 10px;
    border-radius: 8px;
}

header h1 {
    margin: 0.5rem 0 0.2rem 0;
    font-family: 'Montserrat', sans-serif;
    font-size: 2.2rem; /* Ajustar tamanho da fonte */
    font-weight: 700;
    color: #ffffff;
}

header p.crm-rqe {
    margin: 0 0 1.5rem 0;
    font-size: 1rem;
    color: #f0f0f0; /* Branco ou cinza claro */
}

nav {
    background-color: #32465f; /* Mesmo azul escuro do header */
    padding: 0.5rem 0;
    box-shadow: none; /* Remover sombra se o nav estiver integrado ao header */
    position: sticky;
    top: 0;
    z-index: 1000;
}

nav ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    text-align: center;
}

nav ul li {
    display: inline-block;
    position: relative;
    margin: 0 10px; /* Espaçamento entre itens do menu */
}

nav ul li a {
    color: #ffffff;
    text-decoration: none;
    font-weight: 600;
    padding: 0.8rem 1rem;
    border-radius: 4px;
    transition: background-color 0.2s ease, color 0.2s ease;
    display: block;
    font-size: 0.95rem;
}

nav ul li a:hover,
nav ul li a.active {
    background-color: #2b3f59; /* Azul um pouco mais escuro para hover/active */
    color: #f0f0f0;
}

/* Dropdown do Menu */
nav ul li .dropdown-content {
    display: none;
    position: absolute;
    background-color: #2b3f59; /* Azul mais escuro para dropdown */
    min-width: 220px;
    box-shadow: 0px 10px 20px 0px rgba(0,0,0,0.25);
    z-index: 1;
    border-radius: 0 0 8px 8px;
    padding: 0.6rem 0;
    left: 0;
    text-align: left;
}

nav ul li:hover .dropdown-content {
    display: block;
}

nav ul li .dropdown-content a {
    color: white;
    padding: 12px 18px;
    text-decoration: none;
    display: block;
    font-size: 0.9rem;
}

nav ul li .dropdown-content a:hover {
    background-color: #32465f; /* Azul principal para hover no dropdown */
}

/* Conteúdo Principal */
main h1, main h2 {
    font-family: 'Montserrat', sans-serif;
    color: #2b3f59; /* Azul escuro para títulos principais */
    border-bottom: 3px solid #32465f; /* Azul principal para acento */
    padding-bottom: 0.8rem;
    margin-top: 0;
    margin-bottom: 1.8rem;
    font-size: 1.9rem;
}

main h3 {
    font-family: 'Montserrat', sans-serif;
    color: #32465f; /* Azul principal para H3 */
    margin-top: 2.2rem;
    margin-bottom: 1.2rem;
    font-size: 1.5rem;
}

main h4 {
    font-family: 'Montserrat', sans-serif;
    color: #32465f; /* Azul principal para H4 */
    margin-top: 1.8rem;
    margin-bottom: 1rem;
    font-size: 1.3rem;
    font-weight: 600;
}

main p, main ul, main ol {
    margin-bottom: 1.3rem;
    text-align: left;
    font-size: 1rem;
    color: #333333; /* Cinza escuro para texto */
}

main ul, main ol {
    padding-left: 25px;
}

main ul li, main ol li {
    margin-bottom: 0.7rem;
}

main strong {
    font-weight: 700;
    color: #2b3f59; /* Azul escuro para destaque */
}

main .cta-button {
    display: inline-block;
    background-color: #32465f; /* Azul principal para CTA */
    color: white;
    padding: 12px 24px;
    text-decoration: none;
    border-radius: 6px;
    font-weight: bold;
    transition: background-color 0.2s ease, transform 0.2s ease;
    margin-top: 1rem;
    border: none;
    cursor: pointer;
    font-size: 1rem;
}

main .cta-button:hover {
    background-color: #2b3f59; /* Azul mais escuro para CTA hover */
    transform: translateY(-2px);
}

/* Rodapé */
footer {
    text-align: center;
    padding: 2.5rem 1rem;
    background-color: #2b3f59; /* Azul mais escuro para footer */
    color: #f0f0f0; /* Cinza claro para texto no footer */
    margin-top: 3rem;
    font-size: 0.9rem;
}

footer p {
    margin: 0.5rem 0;
}

footer a {
    color: #afb6bf; /* Cinza claro para links no footer */
    text-decoration: none;
}

footer a:hover {
    text-decoration: underline;
    color: #ffffff;
}

footer .social-links a {
    margin: 0 10px;
    font-size: 1.2rem;
}

/* Formulário de Contato (ajustar cores) */
#contactForm label, /* Mantido para consistência, mas pode ser ajustado */
form label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: bold;
    color: #32465f; /* Azul principal */
}

#contactForm input[type="text"],
#contactForm input[type="email"],
#contactForm input[type="tel"],
#contactForm textarea,
form input[type="text"],
form input[type="email"],
form input[type="tel"],
form textarea {
    width: 100%;
    padding: 10px;
    margin-bottom: 1rem;
    border: 1px solid #afb6bf; /* Cinza claro para borda */
    border-radius: 6px;
    box-sizing: border-box;
    font-family: 'Lato', sans-serif;
    font-size: 0.95rem;
    background-color: #fdfdff; /* Branco levemente azulado/acinzentado */
}

#contactForm textarea,
form textarea {
    resize: vertical;
    min-height: 140px;
}

#contactForm button[type="submit"],
form button[type="submit"] {
    background-color: #32465f; /* Azul principal */
    color: white;
    padding: 12px 24px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 1rem;
    font-weight: bold;
    transition: background-color 0.2s ease;
}

#contactForm button[type="submit"]:hover,
form button[type="submit"]:hover {
    background-color: #2b3f59; /* Azul mais escuro */
}

/* Destaques na Home (ajustar cores) */
#destaques-procedimentos .destaque-item {
    background-color: #f0f0f0; /* Cinza bem claro ou bege claro */
    border: 1px solid #dddddd; /* Borda cinza clara */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

#destaques-procedimentos .destaque-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0,0,0,0.12);
}

#destaques-procedimentos .destaque-item h4 {
    color: #2b3f59; /* Azul escuro */
}

/* Banner Home */
#banner-home {
    background-color: #e8f1f2; /* Cor de fundo se a imagem falhar ou para contraste */
    color: #32465f; /* Cor do texto do banner, ajustar para contraste com imagem */
    padding: 3rem 2rem;
    text-align: center;
    border-radius: 8px;
    margin-bottom: 2rem;
}

#banner-home h2 {
    color: #2b3f59; /* Azul escuro para o título do banner */
    font-size: 2.5rem;
    margin-bottom: 1rem;
    text-shadow: none; /* Remover sombra se não combinar */
}

#banner-home p {
    font-size: 1.2rem;
    margin-bottom: 2rem;
    color: #32465f; /* Azul principal para o texto do banner */
    text-shadow: none;
}

/* Responsividade (mantida da versão anterior, pode precisar de ajustes com novas cores e layout) */
@media (max-width: 992px) {
    nav ul li a {
        padding: 0.8rem 0.9rem;
    }
    header h1 {
        font-size: 2rem;
    }
    main h1, main h2 {
        font-size: 1.7rem;
    }
    main h3 {
        font-size: 1.4rem;
    }
}

@media (max-width: 768px) {
    .container {
        width: 95%;
        padding: 1rem;
        margin: 1rem auto;
    }
    header .logo-container img {
        max-width: 150px;
    }
    header h1 {
        font-size: 1.8rem;
    }
    header p.crm-rqe {
        font-size: 0.9rem;
        margin-bottom: 1rem;
    }

    nav ul {
        text-align: center; /* Centralizar itens do menu em mobile */
    }
    nav ul li {
        display: inline-block; /* Manter inline, mas pode quebrar para block se necessário */
        /* display: block; */ /* Descomentar se preferir menu empilhado */
        /* width: 100%; */
        margin: 0 5px;
    }
    nav ul li a {
        padding: 0.8rem 0.8rem;
        /* border-bottom: 1px solid #2b3f59; */ /* Remover borda se for inline */
        text-align: center;
    }
    /* nav ul li:last-child a {
        border-bottom: none;
    } */

    nav ul li .dropdown-content {
        position: absolute; /* Manter absoluto para dropdown em mobile */
        /* position: static; */ /* Se preferir dropdown abaixo do item clicado */
        display: none;
        width: auto; /* Ajustar largura automaticamente */
        min-width: 180px;
        box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
        /* padding-left: 0; */
        background-color: #2b3f59;
    }

    nav ul li .dropdown-content a {
        padding: 10px 15px;
        text-align: left;
        /* border-bottom: 1px dotted #32465f; */
    }
    /* nav ul li .dropdown-content a:last-child {
        border-bottom: none;
    } */

    main h1, main h2 {
        font-size: 1.6rem;
    }
    main h3 {
        font-size: 1.3rem;
    }
    main h4 {
        font-size: 1.2rem;
    }
    main p, main ul, main ol {
        font-size: 0.95rem;
    }

    #banner-home {
        padding: 2rem 1rem !important;
    }
    #banner-home h2 {
        font-size: 1.8rem !important;
    }
    #banner-home p {
        font-size: 1rem !important;
    }

    #destaques-procedimentos .destaque-item {
        flex-basis: calc(100% - 1rem) !important; /* Ajustar para um card por linha */
        margin-bottom: 1.5rem;
    }
}

@media (max-width: 480px) {
    header h1 {
        font-size: 1.6rem;
    }
    nav ul li {
        margin: 0 2px;
    }
    nav ul li a {
        font-size: 0.85rem;
        padding: 0.7rem 0.6rem;
    }
    main h1, main h2 {
        font-size: 1.4rem;
    }
    main h3 {
        font-size: 1.2rem;
    }
}

/* Estilos para o banner de cookies */
        #cookie-banner {
            position: fixed;
            bottom: 0;
            left: 0;
            width: 100%;
            background-color: rgba(0, 0, 0, 0.8);
            color: white;
            padding: 15px;
            text-align: center;
            box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.2);
            z-index: 1000;
            display: none; /* Escondido por padrão */
            flex-wrap: wrap; /* Permite que os botões quebrem linha em telas pequenas */
            justify-content: center; /* Centraliza os itens */
            align-items: center; /* Alinha verticalmente */
        }
        #cookie-banner p {
            margin: 0 20px 0 0; /* Espaçamento entre o texto e os botões */
            flex-grow: 1; /* Permite que o texto ocupe o espaço disponível */
            text-align: left; /* Alinha o texto à esquerda */
        }
        #cookie-banner button {
            background-color: #007bff;
            color: white;
            border: none;
            padding: 8px 15px;
            margin: 5px;
            cursor: pointer;
            border-radius: 5px;
            font-size: 14px;
            transition: background-color 0.3s ease;
        }
        #cookie-banner button:hover {
            background-color: #0056b3;
        }
        #cookie-banner button#reject-cookies {
            background-color: #dc3545;
        }
        #cookie-banner button#reject-cookies:hover {
            background-color: #c82333;
        }
        #cookie-banner a {
            color: #87CEEB; /* Azul claro para o link */
            text-decoration: underline;
        }

        /* Responsividade básica */
        @media (max-width: 768px) {
            #cookie-banner p {
                text-align: center;
                margin-bottom: 10px;
                width: 100%;
            }
            #cookie-banner button {
                width: calc(50% - 10px); /* Ocupa metade da largura com margem */
            }