/* =======================
   TEAM EK — MAIN STYLES
   ======================= */

/* VARIABLES */
:root{
  --font-base: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --font-title:"Poppins","Segoe UI",Arial,sans-serif;

  --bg:#fafbfc;
  --bg-alt:#f4f6fb;
  --text:#111;
  --text-muted:#555;
  --border:#e5e7eb;
  --accent:#e94560;
  --accent-dark:#c9344e;

  --container:1200px;
  --shadow-soft:0 8px 24px rgba(0,0,0,.06);
}

/* RESET */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:var(--font-base);line-height:1.6;overflow-x:hidden
}
h1,h2,h3,h4{font-family:var(--font-title);margin:0 0 .5em}
p{margin:0 0 1em}
a{color:var(--accent);text-decoration:none;transition:.2s}
a:hover{color:var(--accent-dark)}
.muted{color:var(--text-muted)}

/* LAYOUT */
.container{max-width:var(--container);width:90%;margin:0 auto;position:relative}
.section{padding:clamp(60px,8vw,100px) 0}
.section.alt{background:var(--bg-alt)}
.section-title{font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:800;margin-bottom:1rem}
.section-subtitle{font-weight:700;margin-bottom:.4rem}

/* HEADER */
.site-header{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0}
.brand{display:flex;align-items:center;gap:.6rem;color:inherit}
.brand__img{height:44px;width:auto;display:block}
.main-nav{display:flex;gap:1.2rem;align-items:center}
.main-nav a{position:relative;color:#111}
.main-nav a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--accent);transition:width .22s}
.main-nav a:hover::after{width:100%}
.btn-ghost{border:2px solid var(--accent);padding:.55rem 1.1rem;border-radius:10px;color:var(--accent);font-weight:700}
.btn-ghost:hover{background:var(--accent);color:#fff}

/* Lang toggle */
.lang-toggle{display:flex;gap:.4rem}
.lang-toggle button{border:1px solid var(--border);background:#fff;padding:.45rem .7rem;border-radius:999px;font-weight:800;cursor:pointer}
.lang-toggle button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}

/* Burger */
.menu-toggle{display:none;flex-direction:column;gap:5px;width:42px;height:38px;align-items:center;justify-content:center;border:1px solid var(--border);background:#fff;border-radius:8px}
.menu-toggle span{display:block;width:22px;height:2px;background:#111;transition:transform .25s,opacity .25s}
.menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle.is-open span:nth-child(2){opacity:0}
.menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:980px){
  .menu-toggle{display:flex}
  .main-nav{
    position:fixed;inset:64px 0 auto 0;background:#fff;
    display:grid;gap:1rem;padding:1rem 1.2rem;border-top:1px solid var(--border);
    transform:translateY(-120%);transition:transform .25s
  }
  .main-nav.is-open{transform:translateY(0)}
}

/* SKIP LINK */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:8px;top:8px;width:auto;height:auto;padding:.5rem;background:#000;color:#fff;z-index:1001}

/* HERO (dégradé, aucune image externe) */
.hero{
  text-align:center;color:#111;
  background:
    radial-gradient(1200px 500px at 50% -10%, rgba(233,69,96,.10), transparent 60%),
    linear-gradient(180deg,#ffffff 0%, #f6f8ff 100%);
  padding:120px 0 96px
}
.badge{
  display:inline-block;border:1px solid var(--border);
  padding:.35rem .9rem;border-radius:999px;
  color:var(--text-muted);font-weight:700;margin-bottom:10px
}
.hero-title{font-size:clamp(2.3rem,5.5vw,3.8rem);font-weight:900;line-height:1.08}
.highlight{color:var(--accent)}
.lead{max-width:780px;margin:.6rem auto 1.2rem;color:var(--text-muted);font-size:1.08rem}
.cta-row{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:center}

/* BUTTONS */
.btn-primary,.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.85rem 1.4rem;border-radius:10px;font-weight:800
}
.btn-primary{background:var(--accent);color:#fff;border:none}
.btn-primary:hover{background:var(--accent-dark)}
.btn-ghost{background:transparent;color:var(--accent);border:2px solid var(--accent)}
.btn-ghost:hover{background:var(--accent);color:#fff}

/* GRIDS / MEDIA */
.grid{display:grid;gap:clamp(16px,2vw,24px)}
.grid--2{grid-template-columns:1.1fr .9fr}
.grid--3{grid-template-columns:repeat(3,1fr)}
@media (max-width:980px){.grid--2,.grid--3{grid-template-columns:1fr}}

.media{display:grid;gap:18px;grid-template-columns:.9fr 1.1fr;align-items:center}
@media (max-width:980px){.media{grid-template-columns:1fr}}

.media__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
  border: 1px solid var(--border);
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
  transition: transform 0.3s ease;
}

.media__img img:hover {
  transform: scale(1.02);
}

/* LISTES JOLIES */
.u-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.u-list li{display:flex;gap:10px;align-items:flex-start;color:var(--text-muted)}
.u-list .dot{flex:0 0 9px;height:9px;border-radius:50%;background:var(--accent);margin-top:7px}
.u-list--cards{display:grid;gap:12px}
.u-list--cards li{background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px 14px}

/* CARD */
.card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:var(--shadow-soft)}

/* ===== SPONSORS (amélioré) ===== */
.sponsors {
  background: #fff;
}

.sponsor-rail {
  overflow: hidden;
  position: relative;
  padding: 10px 0;
}

.sponsor-track {
  display: flex;
  align-items: center;
  gap: clamp(40px, 5vw, 70px);
  animation: rail 40s linear infinite;
}

@keyframes rail {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* Chaque logo */
.sponsor-item {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;           /* plus de fond blanc */
  border: none;                      /* bordure supprimée */
  border-radius: 0;                  /* pas d'arrondis inutiles */
  box-shadow: none;
  width: auto;
  height: auto;
  padding: 0;
}

/* Images : taille max uniforme mais respect du ratio */
.sponsor-item img {
  display: block;
  height: clamp(40px, 6vw, 60px);
  width: auto;                       /* garde la proportion originale */
  max-width: 160px;                  /* limite largeurs extrêmes */
  object-fit: contain;
  filter: grayscale(0.1) contrast(1.05);
  opacity: 0.95;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.sponsor-item img:hover {
  transform: scale(1.08);
  opacity: 1;
}

/* Accessibilité : désactiver l'animation pour les personnes sensibles */
@media (prefers-reduced-motion: reduce) {
  .sponsor-track { animation: none; }
}

@media (min-width: 1600px) {
  .sponsor-track { flex-wrap: wrap; animation: none; justify-content: center; }
}

/* CONTACT */
.contact{background:var(--bg-alt)}
.contact .contact-grid{display:grid;gap:22px;grid-template-columns:1.1fr .9fr}
@media (max-width:980px){.contact .contact-grid{grid-template-columns:1fr}}
.input,.textarea{
  width:100%;padding:.9rem 1rem;border:1px solid var(--border);border-radius:12px;background:#fff;color:#111;font:inherit
}
.textarea{min-height:140px;resize:vertical}
.input:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(233,69,96,.12)}
.form-row{display:grid;gap:12px}
.form-row--2{grid-template-columns:1fr 1fr}
@media (max-width:640px){.form-row--2{grid-template-columns:1fr}}
.cf-actions{display:flex;gap:.6rem;align-items:center;margin-top:8px}
.cf-feedback{font-size:.95rem}
.cf-feedback.ok{color:#10b981}
.cf-feedback.err{color:#ef4444}
.map-embed{position:relative;padding-bottom:60%;height:0;border-radius:16px;overflow:hidden;border:1px solid var(--border)}
.map-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* SOCIAL PILLS */
.social-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.social-pill{
  display:inline-flex;align-items:center;gap:8px;padding:.55rem .9rem;border-radius:999px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-soft);font-weight:700
}

/* FOOTER */
.site-footer{background:#111;color:#fff;padding:60px 0 30px}
.site-footer a{color:#bbb}.site-footer a:hover{color:#fff}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:26px;margin-bottom:30px}
.footer-social{display:flex;gap:.6rem;margin-top:.4rem}
.social{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:#fff;transition:transform .2s, filter .2s}
.social:hover{transform:translateY(-2px);filter:brightness(1.05)}
.social--fb{background:#1877F2}.social--ig{background:#E4405F}.social--yt{background:#FF0000}
.footer-copy{text-align:center;font-size:.92rem;color:#999}

/* RESPONSIVE hero padding */
@media (max-width:980px){.hero{padding:100px 0 80px}}

/* ===== Bilingue (cacher proprement) ===== */
/* Par défaut (FR actif) : cacher EN */
html:not(.lang-en) body [lang="en"] { display: none; }

/* Quand EN est actif : cacher FR */
html.lang-en body [lang="fr"] { display: none; }

.label-certif {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
  padding: 10px 0;
}

.label-certif img {
  max-width: 240px;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.08));
  transition: transform 0.25s ease;
}

.label-certif img:hover {
  transform: scale(1.04);
}