/* =================================================
   BASE
================================================= */

.hero {
    width: 100%;
    overflow: hidden;
}

.hero-section {
    position: relative;
    width: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* =================================================
   FULLSCREEN — HOME ONLY
================================================= */

body.page-index .hero-section {
    min-height: 100vh;
    height: 100vh;
    display: flex;
}

/* =================================================
   CONTENT
================================================= */

.hero-content {
    max-width: 720px;
    padding: 80px;
    z-index: 2;
}

.hero-content h2 {
    font-size: clamp(28px, 4vw, 48px);
    margin-bottom: 20px;
}

.hero-btn {
    display: inline-block;
    margin-top: 30px;
    padding: 14px 32px;
    background: #000;
    color: #fff;
    text-decoration: none;
    transition: transform .3s ease, opacity .3s;
}

.hero-btn:hover {
    transform: translateY(-2px);
    opacity: .85;
}

/* =================================================
   SPLIT MODE (IMAGE + TEXTE)
================================================= */

.mode-split {
    display: flex;
    background-image: none !important; /* 🔥 FIX DÉFINITIF */
}

.mode-split.image-left {
    flex-direction: row;
}

.mode-split.image-right {
    flex-direction: row-reverse;
}

.mode-split .hero-image {
    width: 50%;
    height: 100%;
    background-size: cover;
    background-position: center;
}

.mode-split .hero-content {
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #fff;
}

/* =================================================
   OVERLAY MODE (TEXTE SUR IMAGE)
================================================= */

.mode-overlay {
    display: flex;
    align-items: center;
    justify-content: center;
}

.mode-overlay::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 1;
}

.mode-overlay .hero-content {
    position: relative;
    color: #fff;
    text-align: center;
    animation: fadeUp .8s ease forwards;
}

/* =================================================
   PARALLAX MODE (FOND FIXE)
================================================= */

.mode-fixed {
    background-attachment: fixed;
    display: flex;
    align-items: center;
}

.mode-fixed .hero-content {
    background: rgba(255,255,255,.25);
    backdrop-filter: blur(3px);
    animation: fadeUp .8s ease forwards;
}

/* =================================================
   ANIMATION
================================================= */

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =================================================
   MOBILE
================================================= */

@media (max-width: 991px) {

    body.page-index .hero-section {
        height: auto;
        min-height: 100vh;
    }

    /* SPLIT → STACK */
    .mode-split {
        flex-direction: column !important;
    }

    .mode-split .hero-image {
        width: 100%;
        height: 50vh;
    }

    .mode-split .hero-content {
        width: 100%;
        padding: 40px 24px;
    }

    /* OVERLAY */
    .mode-overlay {
        min-height: 70vh;
    }

    .mode-overlay .hero-content {
        padding: 40px 24px;
    }

    /* PARALLAX OFF (perf mobile) */
    .mode-fixed {
        background-attachment: scroll;
    }
}

