/* ========================================
   SYSTÈME DE FONDS COHÉRENTS - KIREVA INVEST
   Applique des gradients animés sur toutes les pages non-connectées
   Chaque page a sa propre couleur de marque
   ======================================== */

:root {
    /* Couleurs par page */
    --bg-blue: #447CAC;          /* Homepage, Login */
    --bg-green: #10b981;         /* Fiscalité */
    --bg-purple: #667eea;        /* Pricing */
    --bg-neutral: #64748b;       /* Register, Contact */
}

/* ========================================
   BASE - Fond avec gradient animé
   ======================================== */

.page-with-background {
    position: relative;
    overflow: hidden;
    min-height: 100vh;
}

/* Gradient de base selon la couleur */
.bg-blue {
    background: linear-gradient(180deg, #e3f2fd 0%, #f5f9fc 30%, #ffffff 60%, #f8fafc 100%);
}

.bg-green {
    background: linear-gradient(180deg, #e8f8f2 0%, #f0fdf8 30%, #ffffff 60%, #f8fafc 100%);
}

.bg-purple {
    background: linear-gradient(180deg, #ede7f6 0%, #f3f0ff 30%, #ffffff 60%, #f8fafc 100%);
}

.bg-neutral {
    background: linear-gradient(180deg, #f1f5f9 0%, #f8fafc 30%, #ffffff 60%, #f8fafc 100%);
}

/* ========================================
   SHAPES ANIMÉES - Blobs flous
   ======================================== */

/* Shape 1 - Top Right */
.page-with-background::before {
    content: '';
    position: fixed;
    top: -20%;
    right: -15%;
    width: 80%;
    max-width: 800px;
    height: 80vh;
    border-radius: 50%;
    filter: blur(100px);
    pointer-events: none;
    z-index: 0;
    animation: floatShape 20s ease-in-out infinite;
}

.bg-blue::before {
    background: radial-gradient(ellipse at center, rgba(68, 124, 172, 0.28) 0%, rgba(68, 124, 172, 0.12) 40%, transparent 70%);
}

.bg-green::before {
    background: radial-gradient(ellipse at center, rgba(16, 185, 129, 0.35) 0%, rgba(16, 185, 129, 0.15) 40%, transparent 70%);
}

.bg-purple::before {
    background: radial-gradient(ellipse at center, rgba(102, 126, 234, 0.32) 0%, rgba(102, 126, 234, 0.14) 40%, transparent 70%);
}

.bg-neutral::before {
    background: radial-gradient(ellipse at center, rgba(100, 116, 139, 0.18) 0%, rgba(100, 116, 139, 0.08) 40%, transparent 70%);
}

/* Shape 2 - Bottom Left */
.page-with-background::after {
    content: '';
    position: fixed;
    bottom: -25%;
    left: -20%;
    width: 70%;
    max-width: 700px;
    height: 70vh;
    border-radius: 50%;
    filter: blur(120px);
    pointer-events: none;
    z-index: 0;
    animation: floatShape 25s ease-in-out infinite reverse;
}

.bg-blue::after {
    background: radial-gradient(ellipse at center, rgba(68, 124, 172, 0.22) 0%, rgba(68, 124, 172, 0.10) 40%, transparent 70%);
}

.bg-green::after {
    background: radial-gradient(ellipse at center, rgba(16, 185, 129, 0.28) 0%, rgba(16, 185, 129, 0.12) 40%, transparent 70%);
}

.bg-purple::after {
    background: radial-gradient(ellipse at center, rgba(102, 126, 234, 0.26) 0%, rgba(102, 126, 234, 0.11) 40%, transparent 70%);
}

.bg-neutral::after {
    background: radial-gradient(ellipse at center, rgba(100, 116, 139, 0.14) 0%, rgba(100, 116, 139, 0.06) 40%, transparent 70%);
}

/* Animation de flottement */
@keyframes floatShape {
    0%, 100% {
        transform: translate(0, 0) scale(1);
        opacity: 1;
    }
    25% {
        transform: translate(30px, -20px) scale(1.05);
        opacity: 0.85;
    }
    50% {
        transform: translate(-20px, 30px) scale(0.95);
        opacity: 1;
    }
    75% {
        transform: translate(20px, 20px) scale(1.02);
        opacity: 0.9;
    }
}

/* ========================================
   GRILLE SUBTILE (optionnelle)
   ======================================== */

.page-grid-pattern {
    position: fixed;
    inset: 0;
    background-image:
        linear-gradient(rgba(68, 124, 172, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(68, 124, 172, 0.03) 1px, transparent 1px);
    background-size: 60px 60px;
    mask-image: radial-gradient(ellipse 80% 60% at 50% 30%, black 20%, transparent 80%);
    pointer-events: none;
    z-index: 0;
}

/* ========================================
   CONTENU - Positionné au-dessus du fond
   ======================================== */

.page-content {
    position: relative;
    z-index: 1;
}

/* ========================================
   RESPONSIVE
   ======================================== */

@media (max-width: 768px) {
    .page-with-background::before,
    .page-with-background::after {
        width: 100%;
        max-width: 500px;
        height: 60vh;
    }

    .page-with-background::before {
        top: -10%;
        right: -30%;
    }

    .page-with-background::after {
        bottom: -15%;
        left: -30%;
    }
}

@media (max-width: 480px) {
    .page-with-background::before,
    .page-with-background::after {
        max-width: 400px;
        height: 50vh;
        filter: blur(80px);
    }
}

/* ========================================
   VARIANTES SPÉCIFIQUES PAR PAGE
   ======================================== */

/* Homepage - Double blob avec accent supplémentaire */
.homepage-background {
    position: relative;
}

.homepage-background .hero-gradient-3 {
    position: absolute;
    top: 30%;
    left: 40%;
    width: 50%;
    max-width: 500px;
    height: 50vh;
    background: radial-gradient(ellipse at center, rgba(245, 158, 11, 0.20) 0%, rgba(245, 158, 11, 0.08) 40%, transparent 70%);
    filter: blur(90px);
    animation: floatShape 22s ease-in-out infinite 3s;
    pointer-events: none;
    z-index: 0;
}

/* Pricing - Accent violet plus marqué */
.pricing-accent {
    position: absolute;
    top: 50%;
    right: 10%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(139, 92, 246, 0.18) 0%, rgba(139, 92, 246, 0.08) 40%, transparent 70%);
    filter: blur(80px);
    animation: floatShape 18s ease-in-out infinite 2s;
    pointer-events: none;
    z-index: 0;
}

/* ========================================
   MODE SOMBRE (désactivé - on garde les couleurs claires)
   ======================================== */

/* Mode sombre désactivé pour garder les couleurs d'origine
@media (prefers-color-scheme: dark) {
    .bg-blue {
        background: linear-gradient(180deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);
    }

    .bg-green {
        background: linear-gradient(180deg, #022c22 0%, #1e293b 50%, #0f172a 100%);
    }

    .bg-purple {
        background: linear-gradient(180deg, #1e1b4b 0%, #1e293b 50%, #0f172a 100%);
    }

    .bg-neutral {
        background: linear-gradient(180deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);
    }
}
*/
