/* Importando a fonte do Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

/* --- Variáveis de Tema --- */
:root {
    --primary-color: #00aaff;
    --primary-color-hover: #0088cc;
}

body.light {
    --background-color: #f4f6f9;
    --text-color-1: #212529;
    --text-color-2: #6c757d;
    --card-color: #ffffff;
    --navbar-bg: rgba(255, 255, 255, 0.8);
    --border-color: #dee2e6;
    --input-bg: #fff;
    --input-text: #212529;
}

body.dark {
    --background-color: #121419;
    --text-color-1: #f8f9fa;
    --text-color-2: #adb5bd;
    --card-color: #1a1d24;
    --navbar-bg: rgba(26, 29, 36, 0.8);
    --border-color: #343a40;
    --input-bg: #2b303a;
    --input-text: #f8f9fa;
}

/* --- Estilos Gerais --- */
body {
    background-color: var(--background-color);
    font-family: 'Poppins', sans-serif;
    transition: background-color 0.3s ease, color 0.3s ease;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    flex-grow: 1;
}

.primary-text-color { color: var(--primary-color); }
.text-color-1 { color: var(--text-color-1); }
.text-color-2 { color: var(--text-color-2); }

.btn-main {
    background-color: var(--primary-color);
    color: #fff;
    border: none;
}
.btn-main:hover {
    background-color: var(--primary-color-hover);
    color: #fff;
}
.btn-outline-secondary {
    color: var(--text-color-1);
    border-color: var(--border-color);
}
.btn-outline-secondary:hover {
    color: #fff;
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

/* --- Componentes Personalizados --- */

/* Navbar */
.navbar {
    background-color: var(--navbar-bg);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--border-color);
}
.nav-link { color: var(--text-color-1); font-weight: 500; }
.nav-link:hover { color: var(--primary-color); }
.navbar-icon { color: var(--text-color-1); }

/* Cards */
.card {
    background-color: var(--card-color);
    border: 1px solid var(--border-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 170, 255, 0.05);
}

/* Formulários */
.form-container-page {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-grow: 1;
}
.form-control {
    background-color: var(--input-bg);
    color: var(--input-text);
    border: 1px solid var(--border-color);
}
.form-control:focus {
    background-color: var(--input-bg);
    color: var(--input-text);
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.25rem rgba(0, 170, 255, 0.25);
}
.form-label {
    color: var(--text-color-1);
}

/* Accordion (FAQ) */
.accordion-button { background-color: var(--card-color); color: var(--text-color-1); font-weight: 600; }
.accordion-button:not(.collapsed) { background-color: var(--card-color); color: var(--primary-color); box-shadow: none; }
.accordion-button:focus { box-shadow: none; border-color: var(--border-color); }
.accordion-body { background-color: var(--card-color); color: var(--text-color-2); }

/* Swiper (Depoimentos) */
.swiper-pagination-bullet-active { background-color: var(--primary-color) !important; }

/* Footer */
.footer { background-color: #0d0e12; color: #f8f9fa; }
.footer-color-sub { color: #6c757d; }
.footer-color-sub:hover { color: #f8f9fa; }