@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap');

:root {
    --color-primary: #3b5072; /* Blue from logo */
    --color-secondary: #588b77; /* Green from logo */
    --color-accent: #decb73; /* Yellow from logo */
}

body {
    font-family: 'Outfit', sans-serif;
    background-color: #f8fafc;
    scroll-behavior: smooth;
}

/* Glassmorphism */
.glass {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.glass-card {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.4);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
}

/* Micro animations */
.hover-scale {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

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

.btn-primary {
    background: linear-gradient(135deg, var(--color-primary), #2a3a52);
    color: white;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(59, 80, 114, 0.3);
}
.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(59, 80, 114, 0.5);
}

.btn-secondary {
    background: linear-gradient(135deg, var(--color-secondary), #436e5d);
    color: white;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(88, 139, 119, 0.3);
}
.btn-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(88, 139, 119, 0.5);
}

.btn-accent {
    background: linear-gradient(135deg, var(--color-accent), #c9b763);
    color: #333;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(222, 203, 115, 0.4);
}
.btn-accent:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(222, 203, 115, 0.6);
}

/* Header dinâmico */
#main-header .nav-link {
    color: rgba(255, 255, 255, 0.9);
    text-shadow: 0 2px 8px rgba(0,0,0,0.8);
}
#main-header .nav-link:hover {
    color: var(--color-accent);
}

#main-header .logo-text {
    color: white;
    text-shadow: 0 2px 8px rgba(0,0,0,0.8);
}

/* Gradients */
.bg-gradient-custom {
    background: linear-gradient(135deg, #f0f4f8 0%, #e2e8f0 100%);
}

.text-gradient {
    background: linear-gradient(90deg, var(--color-primary), var(--color-secondary));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* High Contrast Mode */
body.high-contrast,
body.high-contrast .bg-slate-50,
body.high-contrast .bg-white {
    background-color: #000000 !important;
    color: #ffffff !important;
}

body.high-contrast .glass,
body.high-contrast .glass-card {
    background: rgba(0, 0, 0, 0.9) !important;
    border-color: #ffffff !important;
}

body.high-contrast * {
    border-color: #ffffff !important;
}

body.high-contrast h1, 
body.high-contrast h2, 
body.high-contrast h3,
body.high-contrast p, 
body.high-contrast span,
body.high-contrast .text-slate-900, 
body.high-contrast .text-slate-600 {
    color: #ffffff !important;
}

body.high-contrast a, 
body.high-contrast .text-primary,
body.high-contrast .text-secondary {
    color: #ffff00 !important;
}

body.high-contrast .text-gradient {
    background: none !important;
    -webkit-text-fill-color: #ffff00 !important;
    color: #ffff00 !important;
}
