/* ==========================================================================
   Theme CSS - Paleta de Cores e Estilos Específicos
   ========================================================================== */

:root {
    /* Paleta de Cores (Teal/Turquoise/Orange) */
    --primary-color: #008080;       /* Teal - Primária */
    --secondary-color: #2F4F4F;     /* Dark Slate Gray - Títulos/Texto Principal */
    --accent-color: #FF4500;        /* Orange Red - Destaque/CTA */
    --light-primary-color: #40E0D0; /* Turquoise - Secundária */
    --dark-primary-color: #004D4D;  /* Dark Teal - Hover Primária */
    --dark-accent-color: #CC3700;   /* Darker Orange Red - Hover Destaque */

    /* Cores de Fundo e Texto */
    --background-color: #FFFFFF;    /* Branco Puro */
    --light-background-color: #F0FFFF; /* Azure - Fundo Claro */
    --dark-gray-color: #2F4F4F;     /* Dark Slate Gray - Fundo Rodapé */
    --white-color: #ffffff;         /* Branco */
    --text-color: #2F4F4F;          /* Dark Slate Gray - Texto Principal */
    --text-color-light: #696969;    /* Dim Gray - Texto Secundário */
    --border-color: #E0FFFF;        /* Light Cyan - Bordas */
}

/* Estilos Específicos do Tema */

/* Header */
.header {
    border-bottom: 1px solid var(--border-color);
}

.nav-link.active {
    color: var(--primary-color);
}

/* Hero Section */
.hero {
    background-color: var(--light-background-color);
    border-bottom: 5px solid var(--primary-color);
}

.hero h1 {
    color: var(--secondary-color);
}

.hero p {
    color: var(--text-color);
}

/* Services Section */
.services h2 {
    color: var(--secondary-color);
}

.service-card {
    border-top: 5px solid var(--light-primary-color);
}

.service-card:hover {
    border-top-color: var(--accent-color);
}

/* Testimonials Section */
.testimonials {
    background-color: var(--light-background-color);
}

.testimonial-card {
    border: 1px solid var(--border-color);
}

/* CTA Final */
.cta-final {
    background-color: var(--primary-color);
}

.cta-final .btn-primary-large {
    background-color: var(--accent-color);
    border-color: var(--accent-color);
}

.cta-final .btn-primary-large:hover {
    background-color: var(--dark-accent-color);
    border-color: var(--dark-accent-color);
}

/* Footer */
.footer {
    background-color: var(--dark-gray-color);
}

.footer a {
    color: var(--light-background-color);
}

.footer a:hover {
    color: var(--accent-color);
}

.footer-section h4 {
    color: var(--light-primary-color);
}

/* Legal Pages */
.legal-text h2 {
    color: var(--primary-color);
    border-bottom-color: var(--border-color);
}

.legal-text h3 {
    color: var(--secondary-color);
}

/* Contact Form */
.contact-form {
    border: 1px solid var(--border-color);
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    border-color: var(--primary-color);
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 128, 128, 0.2); /* Sombra suave com a cor primária */
}

.form-group.checkbox label a {
    color: var(--primary-color);
    text-decoration: underline;
}

.form-group.checkbox label a:hover {
    color: var(--accent-color);
}

/* Responsividade de Cores */
@media (max-width: 768px) {
    .header {
        border-bottom: 3px solid var(--primary-color);
    }
}
