/* ALPC Coaching — membre du réseau international Dale Carnegie
   Feuille de style principale */

@import url('https://fonts.googleapis.com/css2?family=Sanchez:ital@0;1&family=Work+Sans:wght@400;500;600;700;800&display=swap');

:root{
  --vert: #86BC42;
  --vert-fonce: #0B7A5B;
  --turquoise: #00A99D;
  --navy: #142642;
  --noir: #14171A;
  --texte: #262B2E;
  --texte-clair: #5B6469;
  --fond: #FFFFFF;
  --gris-clair: #F4F6F5;
  --bord: #E3E7E5;
  --rayon: 4px;
  --max: 1120px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:'Work Sans', Arial, sans-serif;
  color:var(--texte);
  background:var(--fond);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3{
  font-family:'Sanchez', Georgia, serif;
  color:var(--noir);
  line-height:1.2;
  margin:0 0 .6em;
}
h1{ font-size:clamp(2rem, 4vw, 2.9rem); }
h2{ font-size:clamp(1.5rem, 2.6vw, 2rem); }
h3{ font-size:1.2rem; }
p{ margin:0 0 1em; color:var(--texte); }
a{ color:var(--vert-fonce); text-decoration:none; }
a:hover{ text-decoration:underline; }
ul{ padding-left:1.2em; }
img{ max-width:100%; display:block; }

.wrap{ max-width:var(--max); margin:0 auto; padding:0 24px; }

/* Skip link / accessibilité */
.skip-link{
  position:absolute; left:-999px; top:0; background:var(--navy); color:#fff;
  padding:10px 16px; z-index:999;
}
.skip-link:focus{ left:8px; top:8px; }

/* En-tête */
.site-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 24px; max-width:var(--max); margin:0 auto;
}
.logo{
  display:flex; align-items:center; gap:2px;
}
.logo img{ height:40px; width:auto; display:block; }
.logo .separateur{ width:1px; height:28px; background:var(--bord); margin:0 12px; }
.logo .logo-texte{
  font-family:'Work Sans', sans-serif; font-weight:500; font-size:.68rem;
  color:var(--texte-clair); letter-spacing:.02em; max-width:150px; line-height:1.25;
}

/* Bloc logos du footer (fond clair pour lisibilité sur le footer sombre) */
.footer-logos{
  display:flex; align-items:center; gap:18px; background:#fff; border-radius:var(--rayon);
  padding:16px 20px; margin-bottom:18px; width:fit-content;
}
.footer-logos img{ height:34px; width:auto; display:block; }
.footer-logos .separateur{ width:1px; height:26px; background:var(--bord); }
.nav-principale{ display:flex; align-items:center; gap:28px; }
.nav-principale a{
  color:var(--texte); font-weight:500; font-size:.95rem;
}
.nav-principale a:hover{ color:var(--vert-fonce); text-decoration:none; }
.nav-cta{
  background:var(--navy); color:#fff !important; padding:10px 20px; border-radius:var(--rayon);
}
.nav-cta:hover{ background:var(--vert-fonce); }
.filet-marque{ height:4px; background:linear-gradient(90deg, var(--vert), var(--turquoise)); }

.nav-toggle{ display:none; background:none; border:1px solid var(--bord); border-radius:var(--rayon); padding:8px 10px; }

/* Fil d'ariane */
.fil{ font-size:.85rem; color:var(--texte-clair); padding:14px 24px; max-width:var(--max); margin:0 auto; }
.fil a{ color:var(--texte-clair); }

/* Hero atelier */
.hero{
  background:linear-gradient(160deg, var(--vert) 0%, var(--vert) 58%, var(--vert-fonce) 58%, var(--vert-fonce) 78%, var(--turquoise) 78%);
  color:#fff;
  padding:64px 0 56px;
}
.hero .wrap{ max-width:860px; }
.hero .eyebrow{
  text-transform:none; font-weight:600; letter-spacing:.01em; opacity:.92; margin-bottom:.4em;
  font-size:.95rem;
}
.hero .eyebrow a{ color:#fff; text-decoration:underline; }
.hero h1{ color:#fff; }
.hero .accroche{ font-size:1.15rem; max-width:640px; opacity:.96; }
.hero .sous-titre{ font-size:1.05rem; font-weight:600; margin-top:-.4em; opacity:.95; }
.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:24px; }

.button{
  display:inline-block; padding:13px 26px; border-radius:var(--rayon); font-weight:600;
  border:2px solid transparent; cursor:pointer; font-size:.98rem;
}
.button--primary{ background:var(--navy); color:#fff; }
.button--primary:hover{ background:#0d1a2e; text-decoration:none; }
.button--fantome{ background:transparent; color:#fff; border-color:rgba(255,255,255,.7); }
.button--fantome:hover{ background:rgba(255,255,255,.14); text-decoration:none; }
.button--fantome-sombre{ background:transparent; color:var(--navy); border-color:var(--navy); }
.button--fantome-sombre:hover{ background:var(--navy); color:#fff; text-decoration:none; }

.preuves{ list-style:none; padding:0; display:flex; gap:34px; margin-top:30px; flex-wrap:wrap; }
.preuves li strong{ display:block; font-size:1.1rem; }
.preuves li span{ font-size:.85rem; opacity:.9; }

/* Bandes de contenu */
.band{ padding:56px 0; border-bottom:1px solid var(--bord); }
.band--alt{ background:var(--gris-clair); }
.band--navy{ background:var(--navy); color:#fff; border-bottom:none; }
.band--navy h2{ color:#fff; }
.band--navy p{ color:#dfe6ee; }
.band--tight{ padding-bottom:36px; }
.centre-texte{ max-width:760px; }
.section-head{ margin-bottom:8px; }
.intro{ font-size:1.05rem; color:var(--texte-clair); max-width:760px; }

.run-in{ font-weight:700; }

/* Grille programme */
.programme-grid{
  list-style:none; padding:0; margin:28px 0 0;
  display:grid; grid-template-columns:1fr 1fr; gap:22px;
}
.programme-grid.un-col{ grid-template-columns:1fr; }
.programme-carte{
  background:var(--gris-clair); border:1px solid var(--bord); border-radius:var(--rayon);
  padding:22px 24px;
}
.programme-carte h3{ margin-bottom:.5em; color:var(--vert-fonce); }
.programme-carte ul{ margin:0; padding-left:1.1em; }
.programme-carte li{ margin-bottom:.35em; }

/* Objectifs en liste soulignée */
.objectifs{ list-style:none; padding:0; margin:0; display:grid; gap:14px; }
.objectifs li{
  padding-left:30px; position:relative;
}
.objectifs li::before{
  content:""; position:absolute; left:0; top:8px; width:14px; height:14px;
  border-radius:50%; background:var(--turquoise);
}

/* Étapes numérotées (vrai process séquentiel) */
.etapes{ list-style:none; padding:0; counter-reset:etape; display:grid; gap:16px; }
.etapes li{ position:relative; padding-left:44px; }
.etapes li::before{
  counter-increment:etape; content:counter(etape);
  position:absolute; left:0; top:0; width:30px; height:30px; border-radius:50%;
  background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:.9rem;
}

/* Timeline demi-journées (atelier 8) */
.timeline{ display:grid; gap:0; margin-top:20px; }
.dj{
  border-left:3px solid var(--turquoise); padding:6px 0 30px 26px; position:relative;
}
.dj::before{
  content:""; position:absolute; left:-9px; top:6px; width:15px; height:15px; border-radius:50%;
  background:var(--turquoise); border:3px solid #fff; box-shadow:0 0 0 1px var(--turquoise);
}
.dj.option{ border-left-style:dashed; }
.dj.option::before{ background:#fff; }
.dj-tete{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:6px; }
.dj-num{ font-family:'Sanchez', serif; font-size:1.25rem; color:var(--navy); }
.dj-duree{ font-size:.85rem; color:var(--texte-clair); background:var(--gris-clair); padding:3px 10px; border-radius:20px; }
.dj h3{ margin:0 0 6px; }
.dj p{ color:var(--texte-clair); margin-bottom:8px; }
.dj ul{ margin:8px 0 0; }

/* Cartes ateliers (page liste) */
.cartes-ateliers{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.carte-atelier{
  border:1px solid var(--bord); border-radius:var(--rayon); padding:26px; display:flex; flex-direction:column;
  background:#fff;
}
.carte-atelier .num{ font-family:'Sanchez', serif; color:var(--turquoise); font-size:.9rem; margin-bottom:6px; }
.carte-atelier h3{ margin-bottom:8px; }
.carte-atelier p{ color:var(--texte-clair); flex-grow:1; }
.carte-atelier .arrow-link{ margin-top:14px; font-weight:600; }
.arrow-link::after{ content:" →"; }

/* Bandeau final de contact */
.final-cta{ text-align:left; }
.final-cta .coordonnees{ display:flex; gap:40px; flex-wrap:wrap; margin:22px 0 26px; }
.final-cta .coordonnees div strong{ display:block; font-size:1.05rem; color:#fff; }
.final-cta .coordonnees div span{ color:#c9d3de; font-size:.92rem; }
.final-actions{ display:flex; gap:14px; flex-wrap:wrap; }

/* Formulaire de contact */
.form-contact{ max-width:640px; display:grid; gap:18px; }
.form-contact label{ display:block; font-weight:600; margin-bottom:6px; font-size:.92rem; }
.form-contact input, .form-contact select, .form-contact textarea{
  width:100%; padding:12px 14px; border:1px solid var(--bord); border-radius:var(--rayon);
  font-family:inherit; font-size:1rem; background:#fff;
}
.form-contact textarea{ resize:vertical; min-height:120px; }
.form-note{ font-size:.85rem; color:var(--texte-clair); }

/* Footer */
.site-footer{ background:var(--noir); color:#c7cdd1; padding:48px 0 0; }
.footer-grille{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:32px; padding-bottom:36px; }
.footer-marque .logo{ color:#fff; }
.footer-marque .logo span{ color:#9aa4a9; }
.footer-marque p{ color:#9aa4a9; font-size:.92rem; max-width:320px; }
.site-footer h2{ color:#fff; font-family:'Work Sans',sans-serif; font-size:.95rem; font-weight:700; margin-bottom:14px; }
.site-footer nav ul{ list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.site-footer nav a{ color:#c7cdd1; font-size:.92rem; }
.site-footer nav a:hover{ color:#fff; }
.footer-bas{ border-top:1px solid #2a2e31; padding:18px 24px; display:flex; justify-content:space-between;
  flex-wrap:wrap; gap:10px; max-width:var(--max); margin:0 auto; font-size:.82rem; color:#8b9297; }

/* Responsive */
@media (max-width: 860px){
  .nav-principale{
    position:fixed; inset:0 0 0 auto; width:78%; max-width:320px; background:#fff; flex-direction:column;
    align-items:flex-start; padding:90px 26px; gap:22px; transform:translateX(100%); transition:transform .25s ease;
    box-shadow:-6px 0 24px rgba(0,0,0,.12); z-index:50;
  }
  .nav-principale.ouvert{ transform:translateX(0); }
  .nav-toggle{ display:block; }
  .programme-grid{ grid-template-columns:1fr; }
  .cartes-ateliers{ grid-template-columns:1fr; }
  .footer-grille{ grid-template-columns:1fr; }
  .preuves{ gap:20px; }
}
