/*
Theme Name: LEADD
Theme URI: https://www.leadd-hq.com
Author: LEADD - Leadership et Développement
Description: Thème sur mesure pour le site institutionnel de LEADD, cabinet scientifique de Suivi & Évaluation.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: leadd
*/

  :root{
    --green:#8bc53f;
    --green-dark:#6ea82e;
    --navy:#26333f;
    --navy-dark:#1a252e;
    --grey:#8b98a3;
    --light:#ffffff;
    --white:#ffffff;
    --border:#e6eae3;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{font-family:'Inter',sans-serif; color:var(--navy); background:var(--white); line-height:1.6;}
  h1,h2,h3,h4{font-family:'Poppins',sans-serif; color:var(--navy);}
  a{text-decoration:none; color:inherit;}
  img{max-width:100%; display:block;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 24px;}
  .eyebrow{display:inline-block; font-size:12px; font-weight:700; letter-spacing:1.5px; color:var(--green-dark); text-transform:uppercase; margin-bottom:14px;}
  .badge-pill{display:inline-block; border:1.5px solid var(--green); color:var(--green-dark); font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:8px 18px; border-radius:999px; margin-bottom:20px;}
  .section{padding:90px 0;}
  .section-light{background:var(--light);}
  .btn{display:inline-flex; align-items:center; gap:6px; padding:14px 26px; border-radius:10px; font-weight:600; font-size:15px; cursor:pointer; border:none; transition:.2s;}
  .btn-primary{background:var(--green); color:var(--navy-dark);}
  .btn-primary:hover{background:var(--green-dark); color:#fff;}
  .btn-outline{background:transparent; color:var(--navy); border:1.5px solid var(--border);}
  .btn-outline:hover{border-color:var(--green); color:var(--green-dark);}

  /* Header */
  header{position:sticky; top:0; background:rgba(255,255,255,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--border); z-index:100;}
  .nav{display:flex; align-items:center; justify-content:space-between; height:76px;}
  .logo{display:flex; align-items:center; gap:8px; font-family:'Poppins'; font-weight:800; font-size:20px; color:var(--navy);}
  .logo .sq{width:16px; height:16px; background:var(--green); border-radius:4px; display:inline-block;}
  .navlinks{display:flex; gap:32px; font-size:14.5px; font-weight:500;}
  .navlinks a{color:var(--navy); opacity:.8;}
  .navlinks a:hover{opacity:1; color:var(--green-dark);}
  .navcta{display:flex; gap:12px; align-items:center;}
  .burger{display:none; font-size:24px; cursor:pointer; background:none; border:none;}
  @media(max-width:860px){
    .navlinks, .navcta{display:none;}
    .burger{display:block;}
  }

  /* Hero */
  .hero{padding:100px 0 60px; position:relative; overflow:hidden;}
  .hero-motif{position:absolute; top:-60px; right:-80px; width:340px; opacity:.85; z-index:0; pointer-events:none;}
  .hero .wrap{position:relative; z-index:1;}
  .hero h1{font-size:52px; font-weight:800; line-height:1.12; margin-bottom:22px;}
  .hero h1 .accent{color:var(--green);}
  .hero p.lead{font-size:18px; color:var(--grey); max-width:600px; margin-bottom:34px;}
  .hero .ctas{display:flex; gap:28px; align-items:center; margin-bottom:70px; flex-wrap:wrap;}
  .hero .ctas a.link{font-weight:600; color:var(--navy); border-bottom:2px solid var(--green);}
  .stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:30px;}
  .stat-num{font-family:'Poppins'; font-size:38px; font-weight:800; color:var(--navy);}
  .stat-num .g{color:var(--green);}
  .stat-label{font-size:12px; font-weight:700; letter-spacing:1px; color:var(--grey); text-transform:uppercase; margin-top:4px;}
  @media(max-width:700px){ .hero h1{font-size:34px;} .stats-grid{grid-template-columns:repeat(2,1fr);} }

  /* Mission/Vision */
  .center{text-align:center; max-width:640px; margin:0 auto 60px;}
  .mv-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-bottom:70px;}
  .mv-card{background:var(--white); border:1px solid var(--border); border-radius:16px; padding:36px;}
  .icon-box{width:56px; height:56px; border-radius:14px; border:1.5px solid var(--green); display:flex; align-items:center; justify-content:center; font-size:24px; color:var(--green-dark); margin-bottom:20px;}
  .mv-card h3{font-size:22px; margin-bottom:14px;}
  .mv-card p{color:var(--grey); font-size:15px;}
  .values-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:26px;}
  .value{text-align:center;}
  .value .icon-box{margin:0 auto 16px;}
  .value h4{font-size:16px; margin-bottom:8px;}
  .value p{font-size:13.5px; color:var(--grey);}
  @media(max-width:860px){ .mv-grid,.values-grid{grid-template-columns:1fr 1fr;} }
  @media(max-width:560px){ .mv-grid,.values-grid{grid-template-columns:1fr;} }

  /* Services */
  .services-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
  .service-card{background:var(--white); border:1px solid var(--border); border-radius:16px; padding:32px; transition:.2s;}
  .service-card:hover{border-color:var(--green); box-shadow:0 12px 30px rgba(139,197,63,.12);}
  .service-card h3{font-size:19px; margin:18px 0 12px;}
  .service-card p{font-size:14px; color:var(--grey); margin-bottom:18px;}
  .tags{display:flex; flex-wrap:wrap; gap:8px;}
  .tag{font-size:11.5px; font-weight:600; border:1px solid var(--border); border-radius:999px; padding:5px 12px; color:var(--navy);}
  @media(max-width:860px){ .services-grid{grid-template-columns:1fr;} }

  /* Terrain photos */
  .gallery3{display:grid; grid-template-columns:2fr 1fr 1fr; gap:16px; margin-top:40px;}
  .gallery3 img{border-radius:14px; height:280px; object-fit:cover; width:100%;}
  .gallery3 .stack{display:flex; flex-direction:column; gap:16px;}
  .gallery3 .stack img{height:132px;}
  @media(max-width:760px){ .gallery3{grid-template-columns:1fr;} .gallery3 .stack{flex-direction:row;} .gallery3 .stack img{height:150px;} }

  /* Portfolio */
  .filters{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:36px;}
  .filter-btn{border:1px solid var(--border); background:var(--white); padding:9px 18px; border-radius:999px; font-size:13.5px; font-weight:600; cursor:pointer;}
  .filter-btn.active{background:var(--navy); color:var(--white); border-color:var(--navy);}
  .portfolio-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px;}
  .pf-card{border:1px solid var(--border); border-radius:14px; padding:24px; background:var(--white);}
  .pf-top{display:flex; justify-content:space-between; align-items:center; margin-bottom:12px;}
  .pf-cat{font-size:11px; font-weight:800; letter-spacing:1px; color:var(--green-dark);}
  .pf-date{font-size:12px; color:var(--grey);}
  .pf-title{font-size:15.5px; font-weight:600; margin-bottom:14px; line-height:1.4;}
  .pf-partner{font-size:12.5px; color:var(--grey); display:flex; align-items:center; gap:8px;}
  .pf-partner .dot{width:22px; height:22px; border-radius:6px; background:var(--light); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:800; color:var(--navy);}
  .pf-highlight{border-color:var(--green);}
  @media(max-width:760px){ .portfolio-grid{grid-template-columns:1fr;} }
  .stat-callout{display:flex; align-items:center; gap:16px; margin-top:40px; padding:20px 26px; border:1px solid var(--border); border-radius:14px; background:var(--light); max-width:420px;}
  .stat-callout .num{font-family:'Poppins'; font-weight:800; font-size:26px;}

  /* Team */
  .team-lead{display:grid; grid-template-columns:280px 1fr; gap:40px; align-items:center; margin-bottom:56px; padding-bottom:56px; border-bottom:1px solid var(--border);}
  .team-lead img{border-radius:16px; width:100%; height:320px; object-fit:cover;}
  .role-tag{font-size:11.5px; font-weight:800; letter-spacing:1px; color:var(--green-dark); text-transform:uppercase; margin-bottom:8px; display:block;}
  .team-lead h3{font-size:26px; margin-bottom:12px;}
  .team-lead p{color:var(--grey); margin-bottom:18px; max-width:520px;}
  .team-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:30px;}
  .team-card{text-align:left;}
  .team-card img{border-radius:14px; height:230px; object-fit:cover; margin-bottom:16px; width:100%;}
  .team-card h4{font-size:16.5px; margin-bottom:6px;}
  .team-card p{font-size:13.5px; color:var(--grey); margin-bottom:12px;}
  @media(max-width:860px){ .team-lead{grid-template-columns:1fr;} .team-grid{grid-template-columns:1fr 1fr;} }
  @media(max-width:560px){ .team-grid{grid-template-columns:1fr;} }

  /* Action gallery */
  .action-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  .action-card{border-radius:14px; overflow:hidden; border:1px solid var(--border);}
  .action-card img{height:190px; object-fit:cover;}
  .action-card .cap{padding:16px;}
  .action-card h4{font-size:14.5px; margin-bottom:4px;}
  .action-card p{font-size:12.5px; color:var(--grey);}
  @media(max-width:760px){ .action-grid{grid-template-columns:1fr;} }

  /* Testimonials */
  .testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .testi-card{background:var(--white); border:1px solid var(--border); border-radius:16px; padding:28px;}
  .testi-card .quote-mark{color:var(--green); font-size:32px; font-weight:800; line-height:1;}
  .testi-card p{font-size:14px; color:var(--navy); opacity:.85; font-style:italic; margin:14px 0 18px;}
  .testi-person{display:flex; align-items:center; gap:10px;}
  .testi-person img{width:42px; height:42px; border-radius:50%; object-fit:cover;}
  .testi-person .n{font-size:13.5px; font-weight:700;}
  .testi-person .r{font-size:12px; color:var(--green-dark);}
  @media(max-width:860px){ .testi-grid{grid-template-columns:1fr;} }

  /* Partners */
  .partners-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:20px;}
  .partner-chip{border:1px solid var(--border); border-radius:12px; padding:20px; text-align:center; font-size:12.5px; font-weight:700; color:var(--navy); background:var(--light);}
  @media(max-width:760px){ .partners-grid{grid-template-columns:1fr 1fr;} }

  /* ADN dark */
  .adn{background:var(--navy-dark); color:#fff;}
  .adn .eyebrow{color:var(--green);}
  .adn h2{color:#fff;}
  .adn p.lead{color:#b9c2c8;}
  .adn .stats-grid .stat-num{color:#fff;}
  .adn .stats-grid{margin:44px 0 40px;}
  .adn-card{border:1px solid rgba(255,255,255,.14); border-radius:16px; padding:34px; background:rgba(255,255,255,.03); max-width:640px;}
  .adn-card p{font-size:19px; font-style:italic; color:#fff; margin-bottom:14px;}
  .adn-card .n{font-weight:700; color:var(--green);}
  .adn-card .r{font-size:13px; color:#98a3a9;}
  .social-row{display:flex; gap:22px; margin-top:20px; font-size:14px; font-weight:600;}

  /* Contact */
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px;}
  .contact-item{display:flex; gap:16px; margin-bottom:22px; align-items:flex-start;}
  .contact-item .ic{width:44px; height:44px; border-radius:12px; border:1.5px solid var(--green); display:flex; align-items:center; justify-content:center; color:var(--green-dark); flex-shrink:0;}
  .contact-item .lbl{font-size:13px; color:var(--grey);}
  .contact-item .val{font-weight:600; color:var(--navy);}
  .contact-item .val.green{color:var(--green-dark);}
  form{background:var(--white); border:1px solid var(--border); border-radius:18px; padding:36px; box-shadow:0 20px 50px rgba(38,51,63,.08);}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  .field{margin-bottom:18px;}
  .field label{display:block; font-size:11.5px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; color:var(--grey); margin-bottom:7px;}
  .field input, .field select, .field textarea{width:100%; border:1px solid var(--border); border-radius:10px; padding:12px 14px; font-family:'Inter'; font-size:14px; color:var(--navy);}
  .field textarea{resize:vertical; min-height:100px;}
  .field input:focus, .field select:focus, .field textarea:focus{outline:2px solid var(--green); border-color:var(--green);}
  @media(max-width:860px){ .contact-grid{grid-template-columns:1fr;} .form-row{grid-template-columns:1fr;} }

  /* Footer */
  footer{background:var(--navy-dark); color:#c6ced2; padding:70px 0 30px; font-size:14px;}
  .foot-grid{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:50px;}
  .foot-grid h5{color:#fff; font-size:13px; margin-bottom:16px; letter-spacing:.5px;}
  .foot-grid ul{list-style:none;}
  .foot-grid li{margin-bottom:10px;}
  .foot-grid a:hover{color:var(--green);}
  .foot-bottom{border-top:1px solid rgba(255,255,255,.1); padding-top:24px; text-align:center; font-size:12.5px; color:#8b98a3;}
  @media(max-width:760px){ .foot-grid{grid-template-columns:1fr 1fr;} }
