@import url('https://fonts.googleapis.com/css2?family=Anton&family=Manrope:wght@400;500;700;800&family=JetBrains+Mono:wght@500;700&display=swap');

:root{
  --creme:#F3F3F3;
  --beige:#EDE3D3;
  --marron-fonce:#45281B;
  --marron-profond:#331D13;
  --marron-clair:#896354;
  --rouge:#FA3B39;
  --rouge-deep:#C4211F;
  --anthracite:#1E1E1E;
  --anthracite-2:#2A2A2A;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-y:scroll;}
body{
  background:var(--marron-fonce);
  color:var(--beige);
  font-family:'Manrope',sans-serif;
  line-height:1.6;
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100vh;
}
body::before{
  content:'';
  position:fixed;
  inset:0;
  background-image:url('bg-texture.jpg');
  background-size:900px 900px;
  background-repeat:repeat;
  background-position:center;
  opacity:0.08;
  z-index:-1;
  pointer-events:none;
}
h1,h2,h3{
  font-family:'Anton',sans-serif;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:0.02em;
  line-height:1.05;
  color:var(--beige);
}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1180px;width:100%;margin:0 auto;padding:0 32px;}
img{max-width:100%;display:block;}

/* NAV */
nav{
  position:sticky;top:0;left:0;right:0;z-index:100;
  background:rgba(69,40,27,0.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(237,227,211,0.12);
}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;}
.brand{font-family:'Anton',sans-serif;font-size:20px;letter-spacing:0.03em;text-transform:uppercase;color:var(--beige);}
.brand span{color:var(--rouge);}
.nav-links{display:flex;gap:32px;font-size:14px;font-weight:700;}
.nav-links a{opacity:0.75;transition:opacity 0.2s;color:var(--beige);}
.nav-links a:hover, .nav-links a.active{opacity:1;color:var(--rouge);}
.nav-actions{display:flex;align-items:center;gap:14px;}

.nav-cta{
  background:var(--rouge);color:var(--creme);padding:10px 22px;
  border-radius:100px;font-weight:800;font-size:14px;
  transition:transform 0.15s ease, background 0.2s;
}
.nav-cta:hover{background:var(--rouge-deep);transform:translateY(-1px);}

.nav-toggle{
  display:none;width:32px;height:32px;flex-direction:column;justify-content:center;
  align-items:center;gap:5px;background:none;border:none;cursor:pointer;padding:0;
}
.nav-toggle span{display:block;width:100%;height:2px;background:var(--beige);border-radius:2px;transition:transform 0.2s ease, opacity 0.2s ease;}
nav.menu-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
nav.menu-open .nav-toggle span:nth-child(2){opacity:0;}
nav.menu-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media (max-width:880px){
  .nav-toggle{display:flex;}
  .nav-links{
    display:flex;flex-direction:column;gap:18px;
    position:absolute;top:72px;left:0;right:0;
    background:var(--marron-fonce);padding:24px 32px 28px;
    border-bottom:1px solid rgba(237,227,211,0.15);
    opacity:0;visibility:hidden;transform:translateY(-8px);
    transition:opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
    pointer-events:none;
  }
  nav.menu-open .nav-links{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;}
}

/* BUTTONS */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:16px 30px;border-radius:100px;font-weight:800;font-size:15px;
  transition:transform 0.15s ease, background 0.2s, box-shadow 0.2s;
}
.btn-primary{background:var(--rouge);color:var(--creme);}
.btn-primary:hover{background:var(--rouge-deep);transform:translateY(-2px);box-shadow:0 8px 24px rgba(250,59,57,0.3);}
.btn-ghost{border:1.5px solid rgba(237,227,211,0.3);color:var(--beige);}
.btn-ghost:hover{border-color:var(--beige);transform:translateY(-2px);}

.eyebrow{
  font-family:'Manrope',sans-serif;font-size:13px;font-weight:800;
  color:var(--rouge);letter-spacing:0.1em;text-transform:uppercase;
  margin-bottom:22px;display:block;
}

section{padding:150px 0;}
.section-head{max-width:640px;margin-bottom:72px;}
.section-head h2{font-size:clamp(30px,4.5vw,44px);}
.section-head p{color:var(--beige);opacity:0.75;font-size:17px;margin-top:18px;}

/* cartes anthracite, contraste avec le fond marron */
.card{background:var(--anthracite);color:var(--beige);border-radius:20px;}
.card h1, .card h2, .card h3{color:var(--beige);}
.card p{color:var(--beige);opacity:0.7;}

.ph{
  background:repeating-linear-gradient(135deg, var(--anthracite) 0px, var(--anthracite) 12px, var(--anthracite-2) 12px, var(--anthracite-2) 24px);
  display:flex;align-items:center;justify-content:center;
  color:var(--beige);opacity:0.6;font-size:12px;font-family:'Manrope',sans-serif;font-weight:700;
  text-transform:uppercase;letter-spacing:0.05em;text-align:center;
}
.ph-avatar{
  border-radius:50%;
  background:var(--anthracite-2);color:var(--beige);
  display:flex;align-items:center;justify-content:center;
  font-family:'Anton',sans-serif;text-transform:uppercase;
}

/* carrousel reutilisable */
.carousel{position:relative;}
.car-track{
  display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;
}
.car-track::-webkit-scrollbar{display:none;}
.car-btn{
  position:absolute;top:50%;transform:translateY(-50%);
  width:42px;height:42px;border-radius:50%;
  background:var(--anthracite);border:1px solid rgba(237,227,211,0.2);
  color:var(--beige);display:flex;align-items:center;justify-content:center;
  cursor:pointer;font-size:18px;z-index:5;transition:background 0.2s, transform 0.15s;
}
.car-btn:hover{background:var(--rouge);transform:translateY(-50%) scale(1.06);}
.car-prev{left:-6px;}
.car-next{right:-6px;}
@media (max-width:600px){.car-btn{display:none;}}

/* systeme de phases : basculer en changeant data-phase sur <body> */
body[data-phase="candidature"] .only-evenement{display:none !important;}
body[data-phase="evenement"] .only-candidature{display:none !important;}

.back-to-top{
  position:fixed;bottom:28px;right:28px;width:48px;height:48px;border-radius:50%;
  background:var(--rouge);color:var(--creme);border:none;
  display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;z-index:200;
}
.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0);}
.back-to-top:hover{background:var(--rouge-deep);}

footer{padding:56px 0 40px;background:var(--marron-fonce);border-top:1px solid rgba(237,227,211,0.12);margin-top:auto;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;margin-bottom:36px;}
.footer-col{display:flex;flex-direction:column;gap:10px;}
.footer-col-title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:0.05em;opacity:0.5;margin-bottom:4px;}
.footer-col a{font-size:14px;opacity:0.7;color:var(--beige);}
.footer-col a:hover{opacity:1;color:var(--rouge);}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:24px;border-top:1px solid rgba(237,227,211,0.1);font-size:13px;opacity:0.6;}
.footer-bottom a{text-decoration:underline;opacity:1;color:var(--beige);}
.footer-bottom a:hover{color:var(--rouge);}
@media (max-width:700px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:24px;}
  .footer-grid > div:first-child{grid-column:1 / -1;margin-bottom:8px;}
}
.footer-note{font-size:14px;opacity:0.65;color:var(--beige);}
