/* Variáveis de Cores e Configurações */
:root {
    --background: 175 40% 98%;
    --foreground: 210 40% 15%;
    --card: 0 0% 100%;
    --card-foreground: 210 40% 15%;
    --primary: 175 75% 35%;
    --primary-foreground: 0 0% 100%;
    --secondary: 175 40% 95%;
    --secondary-foreground: 175 75% 25%;
    --muted: 175 20% 96%;
    --muted-foreground: 210 20% 45%;
    --accent: 28 95% 55%;
    --accent-foreground: 0 0% 100%;
    --border: 175 20% 88%;
    --input: 175 20% 88%;
    --radius: 0.75rem;
}

/* Configurações Base */
body {
    background-color: hsl(var(--background));
    color: hsl(var(--foreground));
    -webkit-font-smoothing: antialiased;
    font-family: 'DM Sans', sans-serif;
}

/* Utilitários de Gradiente */
.gradient-primary {
    background: linear-gradient(135deg, hsl(175, 75%, 40%) 0%, hsl(160, 70%, 45%) 50%, hsl(140, 65%, 50%) 100%);
}
.gradient-hero {
    background: linear-gradient(135deg, hsl(175, 80%, 30%) 0%, hsl(160, 75%, 40%) 50%, hsl(145, 70%, 45%) 100%);
}
.gradient-accent {
    background: linear-gradient(135deg, hsl(28, 95%, 55%) 0%, hsl(35, 90%, 55%) 100%);
}
.gradient-subtle {
    background: linear-gradient(180deg, hsl(175, 40%, 98%) 0%, hsl(0, 0%, 100%) 100%);
}
.text-gradient {
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-image: linear-gradient(135deg, hsl(175, 75%, 40%) 0%, hsl(140, 65%, 50%) 100%);
}

/* Sombras e Botões */
.shadow-card { box-shadow: 0 4px 16px -4px hsl(175 30% 20% / 0.12); }
.shadow-glow { box-shadow: 0 0 40px hsl(175 75% 50% / 0.25); }
.shadow-accent { box-shadow: 0 4px 20px -4px hsl(28 95% 55% / 0.35); }

.btn-accent {
    background: linear-gradient(135deg, hsl(28, 95%, 55%) 0%, hsl(35, 90%, 55%) 100%);
    color: white;
    box-shadow: 0 4px 20px -4px hsl(28 95% 55% / 0.35);
    transition: all 0.3s ease;
}
.btn-accent:hover { opacity: 0.9; transform: scale(1.05); }

/* Animações e Acordeão */
.accordion-content {
    transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
}
.accordion-item.active .accordion-content { max-height: 500px; opacity: 1; }
.accordion-icon { transition: transform 0.3s ease; }
.accordion-item.active .accordion-icon { transform: rotate(180deg); }

@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.animate-fade-in-up { animation: fadeIn 0.8s ease-out forwards; }
.animate-float { animation: float 6s ease-in-out infinite; }

@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}