/* ==========================================================================
   STYLE DE LA PAGE CRÉATION - FLUX INTERACTIF ET LÉGER (BLINDÉ CONTRE LE BLANC)
   ========================================================================== */

:root {
    --white-pure: #FFFFFF;
    --gray-soft: #FDFDFD;
    --gray-bg: #F9F9F9;
    --text-dark: #1A1A1A;     /* Noir d'encre intense */
    --text-muted: #3A3A3A;    /* Gris anthracite très foncé et lisible */
    --line-color: #EAEAEA;
    --gold-subtle: #D4AF37;
}

/* Base de la page de création - On force le fond blanc et le texte sombre */
.main-creation {
    background-color: #FFFFFF !important;
    color: #1A1A1A !important;
    font-family: 'Cormorant Garamond', Georgia, serif;
    padding: 40px 0 80px 0;
}

.conteneur-aerien {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 25px;
}

/* --- En-tête de la page --- */
.header-creation {
    text-align: center;
    margin-bottom: 60px;
}

.titre-creation {
    font-family: 'Cinzel', serif;
    font-size: 2.4rem;
    font-weight: 400;
    margin-bottom: 12px;
    letter-spacing: 2px;
    color: #1A1A1A !important;
}

/* Le sous-titre de l'en-tête */
.sous-titre {
    font-style: italic;
    color: #3A3A3A !important; /* Force le gris foncé */
    font-size: 1.15rem;
    margin-bottom: 45px;
    display: block;
}

/* --- Présentation de l'Artiste --- */
.bloc-artiste {
    display: flex;
    align-items: center;
    gap: 60px;
    text-align: left;
    background: #F9F9F9 !important; /* Petit fond gris très clair pour détacher le bloc */
    padding: 35px;
    border-radius: 4px;
    border: 1px solid #EAEAEA;
}

.photo-atelier {
    width: 480px;
    height: auto;
    border-radius: 2px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.04);
}

.texte-artiste h3 {
    font-family: 'Tenor Sans', sans-serif;
    font-size: 1.45rem;
    color: #1A1A1A !important;
    margin-bottom: 12px;
    letter-spacing: 1px;
}

/* Le texte de présentation à côté de la photo */
.texte-artiste p {
    font-size: 1.1rem !important;
    line-height: 1.85 !important;
    color: #3A3A3A !important; /* Force l'écriture en anthracite foncé */
}

/* --- Section Chronologie (Mini-Galerie 3x1) --- */
.timeline-creation {
    padding: 30px 0;
    border-top: 1px solid #EAEAEA;
    margin-top: 40px;
}

.titre-section-atelier {
    font-family: 'Cinzel', serif;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 400;
    margin-bottom: 8px;
    letter-spacing: 1px;
    color: #1A1A1A !important;
}

/* Le texte d'introduction sous le titre (Cliquez sur chaque miniature...) */
.introduction-galerie {
    text-align: center;
    font-style: italic;
    color: #3A3A3A !important; /* Force le texte à apparaître */
    margin-bottom: 50px;
    font-size: 1.1rem;
    display: block;
}

/* La Grille Horizontale 3x1 */
.grille-creation-3x1 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 60px;
}

.carte-etape {
    background: #FFFFFF !important;
    border: 1px solid #EAEAEA;
    padding: 20px 15px 15px 15px;
    border-radius: 4px;
    text-align: center;
    cursor: pointer;
    position: relative;
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.3s ease;
}

.carte-etape:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 30px rgba(0,0,0,0.06);
}

/* Macaron avec le numéro de l'étape */
.badge-numero {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: #1A1A1A !important;
    color: #FFFFFF !important;
    font-family: 'Tenor Sans', sans-serif;
    font-size: 0.85rem;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-weight: bold;
}

.wrapper-img-atelier {
    width: 100%;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    margin-top: 10px;
    margin-bottom: 15px;
    border-radius: 2px;
    border: 1px solid #F0F0F0;
}

.thumb-atelier {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease, filter 0.3s ease;
}

.carte-etape:hover .thumb-atelier {
    transform: scale(1.03);
    filter: brightness(0.95);
}

.carte-etape h4 {
    font-family: 'Tenor Sans', sans-serif;
    font-size: 1.05rem;
    font-weight: 400;
    margin: 8px 0 0 0;
    color: #1A1A1A !important;
    letter-spacing: 0.5px;
}

/* --- Section Finale Célébration --- */
.celebration-creation {
    text-align: center;
    padding-top: 50px;
    border-top: 1px solid #EAEAEA;
    margin-top: 40px;
}

.celebration-creation h3 {
    font-family: 'Cinzel', serif;
    font-size: 1.9rem;
    font-weight: 400;
    margin-bottom: 12px;
    color: #1A1A1A !important;
}

/* Le texte final sous "Partager l'Émotion" */
.celebration-creation p {
    font-size: 1.05rem !important;
    color: #3A3A3A !important; /* Fini le cache-cache ! */
    max-width: 650px;
    margin: 0 auto 35px auto !important;
    line-height: 1.65 !important;
}

.img-celebration {
    width: 100%;
    max-width: 750px;
    height: auto;
    border-radius: 4px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.06);
}

/* ==========================================================================
   SYSTÈME LIGHTBOX ATELIER (ÉPURÉE & TRANSPARENTE)
   ========================================================================== */
.lightbox-atelier {
    display: none;
    position: fixed;
    z-index: 99999;
    left: 0; top: 0;
    width: 100%; height: 100%;
    background-color: rgba(255, 255, 255, 0.97);
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.35s ease;
}

.lightbox-atelier.active {
    opacity: 1;
}

.lightbox-contenu {
    max-width: 80%;
    max-height: 85vh;
    text-align: center;
}

.lightbox-contenu img {
    max-width: 100%;
    max-height: 72vh;
    object-fit: contain;
    border-radius: 2px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.08);
    border: 1px solid #EAEAEA;
    background: #FFFFFF;
}

.lightbox-caption {
    margin-top: 20px;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 1.25rem;
    color: #1A1A1A !important;
    max-width: 650px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.5;
}

.lightbox-fermer {
    position: absolute;
    top: 30px; right: 40px;
    color: #1A1A1A !important;
    font-size: 45px;
    font-weight: 200;
    cursor: pointer;
}

/* Responsive */
@media (max-width: 768px) {
    .bloc-artiste {
        flex-direction: column;
        text-align: center;
        gap: 25px;
        padding: 20px;
    }
    
    .photo-atelier {
        width: 100%;
        max-width: 260px;
    }
    
    .grille-creation-3x1 {
        grid-template-columns: 1fr;
        gap: 45px;
    }
    
    .carte-etape {
        max-width: 320px;
        margin: 25px auto;
    }
}
/* --- OPÉRATION SUPPRESSION BANDE NOIRE --- */

/* 1. On supprime les espaces résiduels sous la section de la grande photo */
.creation-hero, 
section:has(img), 
.main-content {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* 2. On s'assure que la grande photo elle-même n'a pas de petit décalage en bas */
.creation-hero img,
.main-content img {
    display: block !important;
    margin-bottom: 0 !important;
}

/* 3. On ajuste le haut du footer pour qu'il vienne épouser la photo 

footer {
    margin-top: 0 !important;
    border-top: none !important; /* Enlève une éventuelle ligne de séparation 
} */






