:root{--c1:#6a11cb;--c2:#2575fc;--c3:#ff5e62;--c4:#ff9966;--text:#fff;--bg:#0b0b12;--card:rgba(255,255,255,.08);--card-stroke:rgba(255,255,255,.12);--shadow:0 10px 30px rgba(0,0,0,.35);}
body{margin:0;font-family: 'ZabalDEMOSemiBold';color:var(--text);background:var(--bg);}
.home-bg{position:fixed;inset:0;z-index:-1;background:linear-gradient(120deg,var(--c1),var(--c2),var(--c3),var(--c4));background-size:300% 300%;animation:grad 18s ease infinite;}
@keyframes grad{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}

main{position: relative; z-index: 1;}
.home-bg{position: fixed;inset: 0;z-index: -1;}

/* Sections */
.section{padding:140px 18px}
.container{max-width:1100px;margin:auto;padding:40px;}
.section.hero .container{background:none;box-shadow:none;text-align:center}
h2{text-align:center;font-family: 'ZabalDEMOBlack';text-transform:uppercase;letter-spacing:2px;margin:0 0 40px}

/* Vidéo intro (grande) */
.home-video{margin:24px auto 32px;max-width:720px;aspect-ratio:16/9;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.home-video iframe{width:100%;height:100%;display:block;border:none}

/* Boutons */
.btn-ghost{padding:12px 18px;border-radius:14px;border:1px solid var(--card-stroke);background:rgba(255,255,255,.06);color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:10px}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-center{text-align:center;margin-top:40px}

/* Évènements — espacement réduit */
.grid{display:grid;gap:18px}
.cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.ev-card{background:var(--card);padding:16px;border-radius:16px;border:1px solid var(--card-stroke);display:flex;flex-direction:column;gap:10px}
.ev-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.ev-card h3{margin:8px 0;}
.ev-card p{margin:0;}
.chip{background:rgba(255,255,255,.15);padding:5px 10px;border-radius:999px;font-size:.9rem}

/* Partenaires */
#partenaires{padding:140px 18px}
.partners-grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));max-width:1200px;margin:auto}
.partner-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px;border-radius:16px;background:var(--card);border:1px solid var(--card-stroke);text-align:center}
.partner-card img{max-width:100%;max-height:70px;object-fit:contain;filter:grayscale(100%);opacity:.95}
.partner-name{font-weight:700;letter-spacing:.2px}
.partner-icon{font-size:3.5rem;opacity:.9;color:#fff;margin-bottom:6px;filter:drop-shadow(0 3px 6px rgba(0,0,0,.4));transition:transform .3s ease,opacity .3s ease}
.partner-card:hover .partner-icon{transform:scale(1.08);opacity:1}

/* Révélation */
.reveal{opacity:0;transform:translateY(60px) scale(0.98);filter:blur(6px);transition:opacity .9s cubic-bezier(.16,.8,.37,1),transform .9s cubic-bezier(.16,.8,.37,1),filter .9s ease}
.reveal.visible{opacity:1;transform:none;filter:none;transition-delay:.1s}

/* === Ajustements mobile index === */
@media (max-width: 767px) {
    .section {padding: 72px 16px;}
    #partenaires {padding: 72px 16px;}
    .container {max-width: 100%;padding: 0 16px;}
    .section.hero .container {padding: 0 16px;}
    .home-video {max-width: none;width: calc(100% + 32px);margin: 16px -16px 24px;border-radius: 0;}
}

/* === Images dans les cards événements (index) === */

.ev-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
}

.ev-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.terra-logo {
    width: 34px;
    height: 34px;
    object-fit: contain;
    flex: 0 0 auto;
}

.visuel-icon {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 8px;
    flex: 0 0 auto;
}
