/* ==========================================================================
   8Jours Design System 3.0 - Components & Design Tokens
   ========================================================================== */

/* 1. Design Tokens (complément aux variables base.css)
   ========================================================================== */
:root {
    /* Élévation & Ombres Premium */
    --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px -1px rgba(0, 0, 0, 0.02);
    --shadow-md: 0 12px 24px -6px rgba(0, 0, 0, 0.04), 0 4px 6px -2px rgba(0, 0, 0, 0.02);
    --shadow-lg: 0 20px 40px -8px rgba(0, 0, 0, 0.06), 0 8px 12px -4px rgba(0, 0, 0, 0.03);
    --shadow-glow: 0 0 30px rgba(201, 150, 44, 0.25);

    /* Glassmorphism */
    --glass-bg: rgba(255, 255, 255, 0.7);
    --glass-border: rgba(255, 255, 255, 0.5);
    --glass-blur: blur(12px);

    /* Transitions */
    --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
    --transition-fast: 0.2s ease;
    --transition-smooth: 0.4s var(--ease-out-expo);
}

/* 2. Scrollbar
   ========================================================================== */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--ivory); }
::-webkit-scrollbar-thumb { background: #e0e0e0; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--gold-soft); }

/* 3. Composants UI
   ========================================================================== */

/* Glass Panel */
.glass-panel {
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.8);
    box-shadow: var(--shadow-md);
    border-radius: 24px;
    transition: all var(--transition-smooth);
}
.glass-panel:hover {
    background: rgba(255, 255, 255, 0.9);
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg), var(--shadow-glow);
    border-color: var(--gold-light);
}

/* Bento Card */
.bento-card {
    background: var(--ivory);
    border-radius: 24px;
    border: 1px solid rgba(0, 0, 0, 0.03);
    box-shadow: var(--shadow-sm);
    padding: 2rem;
    transition: all var(--transition-smooth);
    position: relative;
    overflow: hidden;
}
.bento-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
    border-color: rgba(201, 150, 44, 0.2);
}

/* Gold Pill Button */
.gold-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.875rem 2rem;
    border-radius: 9999px;
    background: linear-gradient(135deg, var(--gold) 0%, var(--gold-soft) 100%);
    color: var(--charcoal);
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 600;
    font-size: 0.875rem;
    transition: all var(--transition-smooth);
    box-shadow: 0 8px 20px rgba(201, 150, 44, 0.25);
    text-decoration: none;
    border: none;
    cursor: pointer;
}
.gold-pill:hover {
    background: linear-gradient(135deg, var(--gold-soft) 0%, var(--gold) 100%);
    color: var(--charcoal);
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(201, 150, 44, 0.35);
    text-decoration: none;
}
.gold-pill.is-outline {
    background: transparent;
    border: 1px solid rgba(0, 0, 0, 0.1);
    color: var(--charcoal);
    box-shadow: none;
}
.gold-pill.is-outline:hover {
    border-color: var(--gold);
    color: var(--gold);
    background: rgba(201, 150, 44, 0.05);
}

/* Text Gradient Gold */
.text-gradient-gold {
    background: linear-gradient(135deg, var(--gold) 0%, var(--gold-soft) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    display: inline-block;
}

/* Background Gradient Gold */
.bg-gradient-gold {
    background: linear-gradient(135deg, var(--gold) 0%, var(--gold-soft) 100%);
}

/* Badge Ruban */
.ribbon-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 99px;
    background: rgba(201, 150, 44, 0.1);
    color: var(--gold);
    font-family: 'DM Mono', monospace;
    font-size: 0.75rem;
    font-weight: 400;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    border: 1px solid rgba(201, 150, 44, 0.2);
}

/* Card Hover */
.card-hover {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid rgba(12, 10, 8, 0.05);
}
.card-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px -15px rgba(201, 150, 44, 0.15);
    border-color: var(--gold);
}

/* Border Gold Subtle */
.border-gold-subtle {
    border-color: rgba(201, 150, 44, 0.2);
}

/* 4. Utilitaires
   ========================================================================== */
.hide-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.hide-scrollbar::-webkit-scrollbar { display: none; }

.line-clamp-1 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/* 5. Regles typographiques 8Days
   ========================================================================== */

/* TITRES — Space Grotesk, jamais italic */
h1, h2, h3, h4, h5, h6 {
    font-style: normal !important;
}

/* BOUTONS & NAV — Plus Jakarta Sans (corps), pas Space Grotesk */
button,
[class*="gold-pill"],
nav a,
nav button,
a[class*="rounded-full"][class*="bg-charcoal"],
a[class*="rounded-full"][class*="bg-gold"],
a[class*="rounded-xl"][class*="bg-charcoal"] {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    letter-spacing: normal !important;
}

/* BADGES & LABELS uppercase → DM Mono */
.uppercase[class*="tracking-"],
span.uppercase,
.ribbon-badge,
[class*="tracking-wider"].uppercase,
[class*="tracking-widest"].uppercase {
    font-family: 'DM Mono', monospace !important;
}

/* Numéros de phase (01, 02, 03) → DM Mono */
div[class*="rounded-2xl"][class*="font-display"][class*="font-bold"],
div[class*="rounded-full"][class*="font-display"][class*="font-bold"]:not(nav *) {
    font-family: 'DM Mono', monospace !important;
    font-weight: 500 !important;
}

/* Chiffres KPI et stats → DM Mono gold */
.font-data,
.font-mono {
    font-family: 'DM Mono', monospace;
    color: var(--gold);
}

/* 6. Fixes globaux
   ========================================================================== */
html, body {
    overflow-x: clip;
}

a:hover { text-decoration: none; }

/* Hero spacing */
main > section:first-child,
main > div > section:first-child,
main header.hd-hero,
main > div > header:first-child {
    margin-top: 0;
}
