/* NotifyThis — styles complémentaires au design Tailwind (généré via aidesigner) */

body {
    background-color: #FDFDFA;
    color: #1E293B;
    position: relative;
}

/* Texture papier subtile en surimpression */
body::before {
    content: "";
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
    opacity: 0.03;
    pointer-events: none;
    z-index: 9999;
}

/* Barre de navigation translucide (glassmorphism) */
.nav-glass {
    background: rgba(253, 253, 250, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

/* Soulignement animé des liens de navigation */
.nav-link {
    position: relative;
    transition: color 0.2s ease;
}
.nav-link::after {
    content: '';
    position: absolute;
    bottom: -4px; left: 0;
    width: 0; height: 2px;
    background: #0070BA;
    transition: width 0.3s ease;
}
.nav-link:hover { color: #1E293B; }
.nav-link:hover::after { width: 100%; }

/* Coin replié des post-its */
.corner-fold { position: relative; }
.corner-fold::after {
    content: '';
    position: absolute;
    bottom: 0; right: 0;
    width: 0; height: 0;
    border-style: solid;
    border-width: 0 0 24px 24px;
    border-color: transparent transparent rgba(0, 0, 0, 0.05) transparent;
    box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.03);
    border-top-left-radius: 4px;
    pointer-events: none;
}

/* Grille pointillée du faux bureau Windows */
.mockup-bg {
    background-image: radial-gradient(circle at 2px 2px, rgba(30, 41, 59, 0.1) 1px, transparent 0);
    background-size: 24px 24px;
}

/* Boutons « ressort » (micro-interaction au survol/clic) */
.btn-spring {
    transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.2s ease;
}
.btn-spring:hover { transform: translateY(-2px); box-shadow: 0 10px 20px -10px rgba(0, 0, 0, 0.15); }
.btn-spring:active { transform: translateY(1px) scale(0.98); }

/* Apparition au défilement (activée en JS via IntersectionObserver) */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal.active { opacity: 1; transform: translateY(0); }

/* Mise en forme du texte des pages légales */
.legal-prose h2 {
    font-family: "Outfit", sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    color: #1E293B;
    margin-top: 2rem;
    margin-bottom: 0.75rem;
}
.legal-prose h3 {
    font-weight: 600;
    font-size: 1.1rem;
    color: #1E293B;
    margin-top: 1.25rem;
    margin-bottom: 0.5rem;
}
.legal-prose p { margin-bottom: 0.75rem; }
.legal-prose ul { list-style: disc; padding-left: 1.5rem; margin-bottom: 0.75rem; }
.legal-prose li { margin-bottom: 0.35rem; }
.legal-prose a { color: #0070BA; text-decoration: underline; }
.legal-prose strong { color: #1E293B; }

/* Barre de défilement discrète */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #FDFDFA; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
