/**
 * Optiroute - Main Stylesheet
 * 
 * Conteúdo:
 * 1. Variáveis e configurações
 * 2. Estilos base
 * 3. Utilitários
 * 4. Responsividade
 */

/* ---------- 1. Variáveis e configurações ---------- */
:root {
    --primary-light: #1A73E8;
    --primary-dark: #1A73E8;
    --secondary-light: #5F6368;
    --secondary-dark: #3c3c3c;
    --background-light: #FFFFFF;
    --background-dark: #090909;
    --backgroundSecondary-light: #F8F9FA;
    --backgroundSecondary-dark: #1c1c1c;
    --backgroundTertiary-light: #F1F3F5;
    --backgroundTertiary-dark: #242424;
    --text-light: #202124;
    --text-dark: #F5F5F5;
    --subText-light: #5F6368;
    --subText-dark: #767676;
}

/* ---------- 2. Estilos base ---------- */
body {
    font-family: 'Trebuchet MS', sans-serif;
    transition: background-color 0.3s, color 0.3s;
}

.logo {
    font-family: 'Trebuchet MS', sans-serif;
    font-weight: 900;
}

/* Tema claro (padrão) */
body {
    background-color: var(--background-light);
    color: var(--text-light);
}

/* Tema escuro */
body.dark {
    background-color: var(--background-dark);
    color: var(--text-dark);
}

/* Texto gradiente */
.gradient-text {
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    background-image: linear-gradient(90deg, var(--primary-light), var(--primary-light));
}

.dark .gradient-text {
    background-image: linear-gradient(90deg, #545454, #3c3c3c);
}

/* ---------- 3. Utilitários ---------- */
.feature-card {
    transition: transform 0.3s, box-shadow 0.3s;
}

.feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
}

.dark .feature-card:hover {
    box-shadow: 0 10px 25px -5px rgba(255, 255, 255, 0.05);
}

/* Toggle de tema */
.toggle-checkbox:checked {
    right: 0;
    background-color: var(--primary-light);
}

.toggle-checkbox:checked + .toggle-label {
    background-color: #545454;
}

/* Stepper */
.how-it-works-step::before {
    content: '';
    position: absolute;
    top: 5px;
    left: 18px;
    height: 100%;
    width: 4px;
    background-color: var(--primary-light);
    z-index: 0;
}

.dark .how-it-works-step::before {
    background-color: #545454;
}

/* Visibilidade por tema */
.dark .light-only {
    display: none;
}

.dark-only {
    display: none;
}

.dark .dark-only {
    display: block;
}

/* Animações */
@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

.animation-float {
    animation: float 3s ease-in-out infinite;
}

/* ---------- 4. Responsividade ---------- */
@media (max-width: 768px) {
    .how-it-works-step::before {
        left: 16px;
    }
}