:root{--green:#0d4b3b;--green2:#176b55;--gold:#f2b51d;--cream:#fffaf0;--ink:#15251f;--muted:#64716c;--white:#fff;--line:#e5eadf;--shadow:0 18px 48px rgba(23,55,43,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.7rem;z-index:99}.utility{min-height:34px;background:var(--green);color:#fff;display:flex;justify-content:flex-end;gap:2rem;align-items:center;padding:0 5vw;font-size:.82rem}.utility a{color:#fff;text-decoration:none}.site-header{position:sticky;top:0;z-index:20;background:#fff;box-shadow:0 2px 18px rgba(0,0,0,.07)}.nav-wrap{height:88px;display:flex;align-items:center;gap:1.5rem;padding:0 5vw}.brand{display:flex;align-items:center;gap:.65rem;color:var(--green);text-decoration:none;min-width:270px}.brand img{width:68px;height:68px;object-fit:contain;border-radius:50%}.brand strong{display:block;font-family:Georgia,serif;font-size:1.24rem;text-transform:uppercase}.brand small{display:block;color:#8b6d19}.nav-wrap nav{display:flex;align-items:center;justify-content:center;gap:1.2rem;flex:1}.nav-wrap nav>a,.dropdown>button{color:var(--ink);font:inherit;font-size:.93rem;text-decoration:none;background:none;border:0;padding:.7rem .2rem;white-space:nowrap;cursor:pointer}.nav-wrap nav>a:hover,.dropdown>button:hover{color:var(--green2)}.dropdown{position:relative}.drop-menu{display:none;position:absolute;top:100%;left:0;min-width:250px;background:#fff;border-radius:12px;padding:.5rem;box-shadow:var(--shadow)}.dropdown:hover .drop-menu,.dropdown:focus-within .drop-menu{display:grid}.drop-menu a{padding:.65rem .8rem;color:var(--ink);text-decoration:none;border-radius:8px}.drop-menu a:hover{background:var(--cream)}.languages{display:flex;gap:.25rem}.languages button{border:0;background:none;padding:.4rem;color:var(--muted);font-weight:700;cursor:pointer}.languages button.active{color:var(--green);border-bottom:2px solid var(--gold)}.menu-toggle{display:none;margin-left:auto;background:none;border:0;font-size:1.6rem}
.hero{min-height:600px;display:grid;grid-template-columns:1.02fr .98fr;background:linear-gradient(125deg,var(--cream),#fff 65%);overflow:hidden}.hero-copy{padding:7rem 5vw 5rem 8vw;align-self:center}.eyebrow{display:inline-flex;gap:.5rem;align-items:center;color:var(--green2);font-weight:800;text-transform:uppercase;letter-spacing:.13em;font-size:.78rem}.eyebrow:before{content:"";width:38px;height:3px;background:var(--gold)}h1,h2,h3{font-family:Georgia,serif;line-height:1.12}h1{font-size:clamp(2.7rem,5vw,5.3rem);margin:.9rem 0 1.2rem;color:var(--green)}h2{font-size:clamp(2rem,3vw,3.3rem);color:var(--green);margin:.4rem 0 1rem}h3{font-size:1.4rem;color:var(--green)}.lead{font-size:1.18rem;max-width:610px;color:#46554f}.actions{display:flex;gap:.8rem;flex-wrap: nowrap;margin-top:2rem}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;padding:.9rem 1.25rem;font-weight:800;text-decoration:none;border:2px solid var(--green);cursor:pointer}.btn-primary{background:var(--gold);border-color:var(--gold);color:#183226}.btn-secondary{background:var(--green);color:#fff}.hero-photo{position:relative;background:linear-gradient(145deg,#194f40,#0b3128);display:grid;place-items:center;padding:3rem}.hero-photo img{width:min(370px,80%);aspect-ratio:1/1.05;object-fit:cover;object-position:center;border-radius:46% 46% 16px 16px;border:9px solid rgba(255,255,255,.92);box-shadow:0 25px 80px rgba(0,0,0,.28)}.hero-photo:before,.hero-photo:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(242,181,29,.5)}.hero-photo:before{width:430px;height:430px}.hero-photo:after{width:520px;height:520px}.section{padding:5.5rem max(5vw,calc((100vw - 1180px)/2))}.section.alt{background:var(--cream)}.section-head{max-width:760px;margin-bottom:2.5rem}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.6rem;box-shadow:0 10px 30px rgba(24,65,49,.07)}.card .icon{font-size:1.8rem}.card a{color:var(--green);font-weight:800;text-decoration:none}.impact{background:var(--green);color:#fff}.impact h2{color:#fff}.values{display:flex;gap:.7rem;flex-wrap:wrap}.pill{background:#fff1bd;color:#694f05;border-radius:999px;padding:.65rem 1rem;font-weight:800}.donate{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.donate a{padding:1.2rem;text-align:center;border-radius:12px;color:#fff;font-weight:800;text-decoration:none;background:#183a7a}.donate a:last-child{background:#0872bc}.page-hero{padding:5rem max(5vw,calc((100vw - 1180px)/2)) 3rem;background:linear-gradient(120deg,var(--cream),#fff)}.content{max-width:900px}.content p{font-size:1.05rem}.content h2{margin-top:2.8rem}.profile{display:grid;grid-template-columns:220px 1fr;gap:2rem;align-items:start}.profile img{width:100%;border-radius:16px}.notice{padding:1rem 1.2rem;border-left:5px solid var(--gold);background:#fff7d9;border-radius:8px}.steps{counter-reset:steps;display:grid;gap:1rem}.step{counter-increment:steps;padding:1.3rem 1.3rem 1.3rem 4.5rem;border:1px solid var(--line);border-radius:14px;position:relative}.step:before{content:counter(steps);position:absolute;left:1rem;top:1rem;width:2.5rem;height:2.5rem;border-radius:50%;display:grid;place-items:center;background:var(--gold);font-weight:900}.faq details{border-bottom:1px solid var(--line);padding:1rem 0}.faq summary{font-weight:800;color:var(--green);cursor:pointer}.form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:grid;gap:.35rem}.field.full{grid-column:1/-1}.field label{font-weight:700}.field input,.field select,.field textarea{width:100%;padding:.85rem;border:1px solid #bdc8c1;border-radius:8px;font:inherit}.field textarea{min-height:130px}.status{display:none;margin-top:1rem;padding:1rem;border-radius:8px;background:#e7f7ef;color:#0d563d}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.gallery .placeholder{min-height:240px;border-radius:16px;background:linear-gradient(135deg,#e7efe9,#fff7d9);display:grid;place-items:center;color:var(--green);font-weight:800;text-align:center;padding:1rem}footer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;background:#092f26;color:#fff;padding:3rem 6vw}footer>div:first-child{display:flex;gap:1rem;align-items:center}footer img{width:72px;height:72px;border-radius:50%}
@media(max-width:1000px){.brand{min-width:auto}.brand span{display:none}.nav-wrap nav{position:fixed;inset:122px 0 auto;background:#fff;padding:1rem 5vw;display:none;align-items:stretch;flex-direction:column;box-shadow:var(--shadow)}.nav-wrap nav.open{display:flex}.dropdown>button{width:100%;text-align:left}.drop-menu{position:static;box-shadow:none;padding-left:1rem}.dropdown:hover .drop-menu{display:none}.dropdown.open .drop-menu{display:grid}.menu-toggle{display:block}.hero{grid-template-columns:1fr}.hero-copy{padding:4rem 7vw}.hero-photo{min-height:420px}.grid{grid-template-columns:1fr 1fr}.utility{justify-content:center}.utility span{display:none}}
@media(max-width:650px){.utility{gap:1rem;font-size:.73rem}.nav-wrap{height:76px;padding:0 4vw}.brand img{width:58px;height:58px}.nav-wrap nav{inset:110px 0 auto}.languages button{font-size:.72rem;padding:.25rem}.hero-copy{padding:3rem 6vw}.hero{min-height:auto}.hero-photo{min-height:360px}.hero-photo:before{width:300px;height:300px}.hero-photo:after{width:350px;height:350px}.section{padding:4rem 6vw}.grid,.donate,.form,.gallery{grid-template-columns:1fr}.profile{grid-template-columns:1fr}.profile img{max-width:260px}.field.full{grid-column:auto}footer{grid-template-columns:1fr}footer>div:first-child{align-items:flex-start}h1{font-size:2.65rem}}

.danotech-credit{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem 6vw;background:#061e19;color:#dceae5;border-top:1px solid rgba(255,255,255,.12);font-size:.9rem}.danotech-credit>div{display:grid}.danotech-credit>div strong{color:#fff;font-size:1rem}.danotech-credit a{display:flex;align-items:center;gap:.35rem;color:#fff;text-decoration:none;text-align:right}.danotech-credit a>strong{color:#ffd05b}.danotech-credit a>span{margin-left:.7rem;padding:.4rem .65rem;border:1px solid rgba(255,255,255,.35);border-radius:999px;font-weight:800}.danotech-credit a:hover>span{background:var(--gold);border-color:var(--gold);color:#17362d}@media(max-width:760px){.danotech-credit{align-items:flex-start;flex-direction:column;gap:.8rem}.danotech-credit a{align-items:flex-start;flex-direction:column;text-align:left}.danotech-credit a>span{margin-left:0}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.language-menu{display:flex;align-items:center;gap:.35rem;padding:.4rem .55rem;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--green);white-space:nowrap}.language-menu select{max-width:130px;border:0;outline:0;background:transparent;color:var(--green);font:inherit;font-weight:800;cursor:pointer}@media(max-width:650px){.language-menu select{max-width:92px;font-size:.78rem}.language-menu{padding:.3rem .4rem}}

@media(min-width:1001px){.nav-wrap{gap:.8rem}.brand{flex:0 0 350px;min-width:350px}.brand strong{font-size:1.08rem;white-space:nowrap}.brand small{white-space:nowrap}.nav-wrap nav{gap:.75rem}.nav-wrap nav>a,.dropdown>button{font-size:.88rem}.language-menu select{max-width:112px}}

.page-hero h1{max-width:1500px;font-size:clamp(2.35rem,3.6vw,4.15rem);line-height:1.08;text-wrap:balance;overflow-wrap:normal}.page-hero{overflow:hidden}@media(max-width:650px){.page-hero h1{font-size:clamp(2.1rem,10vw,3rem);text-wrap:wrap}}

.content li{font-size:1.05rem}.content li+li{margin-top:.45rem}.content ol,.content ul{padding-left:1.4rem}.faq summary{font-size:1.05rem}.faq details p{padding-left:1rem}#don{scroll-margin-top:122px}
/* Nouvelle forme rectangulaire de l’image héro */
.hero-photo {
  padding: 0 !important;
  min-height: 690px;
  overflow: hidden;
  background: transparent !important;
}

.hero-photo::before,
.hero-photo::after {
  display: none !important;
}

.hero-photo img {
  width: 100% !important;
  height: 100% !important;
  min-height: 690px;
  max-width: none !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block;
}

@media (max-width: 900px) {
  .hero-photo,
  .hero-photo img {
    min-height: 350px;
  }
}
.hero-photo {
  background: #eaf5ff !important;
}

.hero-photo img {
  object-fit: contain !important;
  object-position: center !important;
}
/* HÉROS RECTANGULAIRE */
.hero {
  min-height: 520px !important;
}

.hero-copy {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

.hero-copy h1 {
  font-size: clamp(52px, 5vw, 82px) !important;
  line-height: 0.98 !important;
}

.hero-photo {
  min-height: 520px !important;
  height: 520px !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: none !important;
}

.hero-photo::before,
.hero-photo::after {
  display: none !important;
}

.hero-photo img {
  width: 100% !important;
  height: 520px !important;
  min-height: 0 !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block !important;
}

@media (max-width: 900px) {
  .hero-photo,
  .hero-photo img {
    height: 330px !important;
    min-height: 330px !important;
  }
}
/* Réduire l’espace après le héros */
.hero + .section {
  padding-top: 25px !important;
  padding-bottom: 50px !important;
}

.hero + .section .section-head {
  margin-bottom: 25px !important;
}
/* Réduire les espaces des pages internes */
.page-hero {
  padding-top: 35px !important;
  padding-bottom: 35px !important;
}

.page-hero + .section {
  padding-top: 30px !important;
  padding-bottom: 45px !important;
}

.page-hero h1 {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}
/* Photo du fondateur */
.fondateur-photo {
  float: left !important;
  width: 280px !important;
  height: 340px !important;
  max-width: 280px !important;
  object-fit: cover !important;
  object-position: top center !important;
  margin: 0 35px 25px 0 !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 35px rgba(0,0,0,0.15) !important;
}

.content h2 {
  clear: both;
}

body {
  overflow-x: hidden;
}

@media (max-width: 700px) {
  .fondateur-photo {
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 300px !important;
    height: 360px !important;
    margin: 0 auto 25px !important;
  }
}
/* Photo à gauche, texte à droite */
.fondateur-photo {
  float: left !important;
  display: block !important;
  width: 280px !important;
  height: 340px !important;
  margin: 0 40px 25px 0 !important;
  object-fit: cover !important;
  object-position: top center !important;
}

.content {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.content h2 {
  clear: both;
}
/* Galerie de photos */
.gallery {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}

.gallery img {
  width: 100% !important;
  height: 280px !important;
  object-fit: cover !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

@media (max-width: 700px) {
  .gallery {
    grid-template-columns: 1fr !important;
  }
}
/* Afficher complètement la tête sur les 3 dernières photos */
.gallery img:nth-child(n+5) {
  object-position: center top !important;
}
/* Afficher la tête des 3 premières photos */
.gallery img:nth-child(-n+3) {
  object-position: center top !important;
}
/* Emplacements des photos du témoignage */
.testimonial-photos {
  display: flex;
  justify-content: center;
  gap: 60px;
  flex-wrap: wrap;
  margin-top: 35px;
}

.photo-placeholder {
  width: 280px;
  height: 320px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px dashed #0b5545;
  border-radius: 16px;
  background: #faf7ed;
  color: #0b5545;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}

@media (max-width: 700px) {
  .testimonial-photos {
    gap: 25px;
  }

  .photo-placeholder {
    width: 100%;
    max-width: 280px;
  }
}

/* ===== HÉROS FINAL : PHOTO PLEINE LARGEUR + VAGUE ===== */
.hero-wave-layout {
  position: relative;
  overflow: hidden;
  padding-bottom: 90px;
  background: #f9f7ef;
}

.hero-wide-photo {
  position: relative;
  height: clamp(300px, 36vw, 510px);
  overflow: hidden;
  background: #dff1f6;
}

.hero-wide-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 38%;
}

.hero-photo-slogan {
  position: absolute;
  z-index: 2;
  top: 42px;
  right: 7vw;
  width: 260px;
  margin: 0;
  color: #083e60;
  font-family: Georgia, serif;
  font-size: clamp(1.35rem, 2vw, 2rem);
  font-style: italic;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  text-shadow: 0 2px 12px rgba(255,255,255,.9);
}

.hero-wave-band {
  position: relative;
  z-index: 3;
  min-height: 390px;
  margin-top: -76px;
  padding: 118px max(7vw, calc((100vw - 1280px)/2)) 110px;
  color: #fff;
  background: #073858;
  border-radius: 50% 50% 0 0 / 78px 78px 0 0;
  box-shadow: 0 -12px 0 #19c6d5, 0 -24px 0 #e7b82f;
}

.hero-wave-copy {
  position: relative;
  z-index: 2;
  max-width: 940px;
}

.hero-wave-copy .eyebrow { color: #58d8df; }
.hero-wave-copy h1 {
  max-width: 900px;
  margin: 14px 0 15px;
  color: #fff;
  font-size: clamp(2.7rem, 5vw, 5rem);
  line-height: 1;
}
.hero-wave-copy p { max-width: 720px; margin: 0; font-size: 1.2rem; color: #e8f5f8; }
.hero-wave-copy .actions { margin-top: 25px; }
.hero-wave-copy .btn-light { color: #073858; background: #fff; border-color: #fff; }
.hero-wave-copy .btn-ghost { color: #fff; background: transparent; border-color: #65dce2; }

.hero-wave-mark {
  position: absolute;
  right: 8vw;
  top: 135px;
  color: #f3c445;
  font-size: 8rem;
  line-height: 1;
  transform: rotate(-10deg);
}

.hero-wave-layout .wave-stats {
  position: relative;
  z-index: 5;
  left: auto;
  bottom: auto;
  width: min(1160px, 90vw);
  margin: -62px auto 0;
  transform: none;
}

@media (max-width: 800px) {
  .hero-wide-photo { height: 320px; }
  .hero-photo-slogan { top: 20px; right: 4vw; width: 170px; font-size: 1.2rem; }
  .hero-wave-band {
    min-height: 430px;
    margin-top: -45px;
    padding: 85px 6vw 115px;
    border-radius: 50% 50% 0 0 / 45px 45px 0 0;
    box-shadow: 0 -8px 0 #19c6d5, 0 -16px 0 #e7b82f;
  }
  .hero-wave-copy h1 { font-size: clamp(2.45rem, 12vw, 4rem); }
  .hero-wave-copy .actions { display: grid; }
  .hero-wave-copy .btn { width: 100%; }
  .hero-wave-mark { display: none; }
  .hero-wave-layout { padding-bottom: 45px; }
  .hero-wave-layout .wave-stats { grid-template-columns: 1fr; margin-top: -75px; }
}

@media (max-width: 520px) {
  .hero-wide-photo { height: 260px; }
  .hero-wide-photo img { object-position: 48% center; }
  .hero-photo-slogan { display: none; }
  .hero-wave-band { padding-top: 72px; }
}

/* ===== NOUVEAU MODÈLE DE LA PAGE D’ACCUEIL ===== */
.hero.hero-editorial {
  position: relative;
  min-height: 720px !important;
  display: grid;
  grid-template-columns: minmax(380px, .9fr) minmax(520px, 1.1fr);
  align-items: center;
  gap: 2rem;
  padding: 55px max(5vw, calc((100vw - 1450px)/2)) 145px;
  overflow: hidden;
  background: linear-gradient(135deg, #fffdf8 0%, #fbf5e8 100%);
}

.hero-editorial .hero-copy {
  position: relative;
  z-index: 3;
  padding: 0 !important;
  max-width: 650px;
}

.hero-editorial .hero-copy h1 {
  margin: 18px 0 22px;
  max-width: 630px;
  font-size: clamp(3.1rem, 5.1vw, 5.6rem) !important;
  line-height: .98 !important;
  letter-spacing: -.045em;
}

.hero-editorial .hero-copy .lead { max-width: 590px; }
.hero-editorial .actions { margin-top: 28px; }
.btn-outline { color: var(--green); background: #fff; }
.btn-outline:hover { color: #fff; background: var(--green); }

.hero-visual {
  position: relative;
  z-index: 2;
  min-height: 490px;
  display: grid;
  place-items: center;
}

.hero-arch {
  width: min(720px, 100%);
  height: 530px;
  overflow: hidden;
  border-radius: 52% 52% 24px 24px / 38% 38% 24px 24px;
  background: #e7f1ed;
  box-shadow: 0 28px 70px rgba(13,75,59,.2);
  border: 7px solid rgba(255,255,255,.9);
}

.hero-arch img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.hero-decor-gold {
  position: absolute;
  z-index: 1;
  top: 105px;
  right: 43%;
  width: 230px;
  height: 230px;
  border-radius: 50%;
  background: var(--gold);
  opacity: .9;
}

.hero-message {
  position: absolute;
  right: -15px;
  bottom: 5px;
  width: 185px;
  height: 180px;
  display: grid;
  place-items: center;
  padding: 20px;
  border-radius: 55% 45% 50% 45%;
  background: var(--green);
  color: #fff;
  font-family: Georgia, serif;
  font-size: 1.7rem;
  font-style: italic;
  line-height: 1.1;
  text-align: center;
  transform: rotate(-5deg);
}

.hero-stats {
  position: absolute;
  z-index: 5;
  left: 50%;
  bottom: 36px;
  width: min(1120px, 88vw);
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.stat-card {
  min-height: 105px;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 18px 24px;
  border: 1px solid rgba(13,75,59,.08);
  border-radius: 17px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 14px 40px rgba(13,75,59,.12);
}

.stat-icon {
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--green);
  background: #fbf0d2;
  font-size: 1.4rem;
}

.stat-card strong {
  display: block;
  color: var(--green);
  font-family: Georgia, serif;
  font-size: 2.15rem;
  line-height: 1;
}

.stat-card small {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: .98rem;
}

@media (max-width: 1000px) {
  .hero.hero-editorial {
    min-height: auto !important;
    grid-template-columns: 1fr;
    padding: 55px 7vw 190px;
  }
  .hero-editorial .hero-copy { max-width: 760px; }
  .hero-visual { min-height: 450px; }
  .hero-arch { width: min(680px, 100%); height: 460px; }
  .hero-decor-gold { top: 390px; right: 65%; }
}

@media (max-width: 700px) {
  .hero.hero-editorial { padding: 42px 5vw 350px; gap: 35px; }
  .hero-editorial .hero-copy h1 { font-size: clamp(2.7rem, 13vw, 4rem) !important; }
  .hero-editorial .actions { display: grid; }
  .hero-editorial .btn { width: 100%; }
  .hero-visual { min-height: 320px; }
  .hero-arch { height: 330px; border-width: 5px; }
  .hero-message { right: -8px; bottom: -28px; width: 125px; height: 120px; font-size: 1.15rem; }
  .hero-stats { bottom: 28px; grid-template-columns: 1fr; gap: 10px; }
  .stat-card { min-height: 82px; padding: 12px 18px; }
  .stat-icon { flex-basis: 44px; width: 44px; height: 44px; }
  .stat-card strong { font-size: 1.65rem; }
  .stat-card small { margin-top: 2px; }
}

/* Priorité finale pour les statistiques du héros ondulé */
.hero-wave-layout .hero-stats.wave-stats {
  position: relative;
  z-index: 5;
  left: auto;
  bottom: auto;
  width: min(1160px, 90vw);
  margin: -62px auto 0;
  transform: none;
  grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 800px) {
  .hero-wave-layout .hero-stats.wave-stats {
    grid-template-columns: 1fr;
    margin-top: -75px;
  }
}
/* CORRECTION : HÉROS PLUS PETIT ET TEXTE À GAUCHE */

.hero-wave-layout {
  padding-bottom: 15px !important;
}

/* Réduire la hauteur de la photo */
.hero-wide-photo {
  height: 380px !important;
}

/* Afficher correctement les enfants */
.hero-wide-photo img {
  object-position: center 40% !important;
}

/* Déplacer le petit texte dans l’espace vide à gauche */
.hero-photo-slogan {
  top: 45px !important;
  left: 5vw !important;
  right: auto !important;
  width: 300px !important;
  padding: 15px 20px;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.82);
  font-size: 27px !important;
  line-height: 1.15 !important;
  text-shadow: none !important;
}

/* Réduire la partie bleue */
.hero-wave-band {
  min-height: 310px !important;
  margin-top: -55px !important;
  padding-top: 85px !important;
  padding-bottom: 75px !important;
}

/* Réduire le grand titre */
.hero-wave-copy h1 {
  max-width: 820px !important;
  font-size: clamp(42px, 4vw, 66px) !important;
}

/* Rapprocher les statistiques */
.hero-wave-layout .hero-stats.wave-stats {
  margin-top: -48px !important;
}

/* Réduire l’espace avant Notre mission */
.hero-wave-layout + .section {
  padding-top: 45px !important;
}

/* VERSION TÉLÉPHONE */

@media (max-width: 800px) {
  .hero-wide-photo {
    height: 280px !important;
  }

  .hero-photo-slogan {
    top: 20px !important;
    left: 4vw !important;
    width: 190px !important;
    padding: 10px !important;
    font-size: 18px !important;
  }

  .hero-wave-band {
    min-height: 360px !important;
    padding-top: 70px !important;
    padding-bottom: 95px !important;
  }
}

@media (max-width: 520px) {
  .hero-photo-slogan {
    display: block !important;
    width: 160px !important;
    font-size: 15px !important;
  }
}
/* Enlever le fond derrière le slogan */

.hero-photo-slogan {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  text-shadow:
    0 2px 5px rgba(255, 255, 255, 0.95),
    0 0 12px rgba(255, 255, 255, 0.9) !important;
}
/* Slogan en blanc */

.hero-photo-slogan {
  color: white !important;
  text-shadow:
    0 3px 6px rgba(0, 0, 0, 0.85),
    0 0 15px rgba(0, 0, 0, 0.55) !important;
}
/* Photo de l’enfant dans le témoignage */

.testimonial-photo-card {
  width: 280px;
  margin: 0;
  text-align: center;
}

.testimonial-photo-card img {
  width: 280px;
  height: 320px;
  display: block;
  object-fit: cover;
  object-position: center top;
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.16);
}

.testimonial-photo-card figcaption,
.gallery-item figcaption {
  padding: 12px 8px;
  color: #0b5545;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}

/* Photo avec nom dans la galerie */

.gallery-item {
  margin: 0;
  overflow: hidden;
  border-radius: 16px;
  background: white;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.gallery-item img {
  border-radius: 16px 16px 0 0 !important;
  box-shadow: none !important;
}

@media (max-width: 700px) {
  .testimonial-photo-card,
  .testimonial-photo-card img {
    width: 100%;
    max-width: 280px;
  }
}
/* Espacer les trois boutons de l’accueil */

.hero-wave-copy .actions {
  gap: 35px !important;
}

@media (max-width: 800px) {
  .hero-wave-copy .actions {
    gap: 15px !important;
  }
}
/* Centrer les trois boutons */

.hero-wave-copy {
  max-width: none !important;
}

.hero-wave-copy .actions {
  width: 100%;
  justify-content: center !important;
  gap: 28px !important;
}
/* Centrer tout le contenu de la partie bleue */

.hero-wave-copy {
  width: 100%;
  max-width: none !important;
  text-align: center;
}

/* Agrandir Fondation Dorélus — FONDO */

.hero-wave-copy .eyebrow {
  justify-content: center;
  font-size: 18px !important;
  letter-spacing: 3px;
}

/* Centrer le grand titre */

.hero-wave-copy h1 {
  max-width: 1250px !important;
  margin: 20px auto !important;
  text-align: center;
}

/* Centrer le petit texte */

.hero-wave-copy p {
  max-width: 1000px !important;
  margin: 0 auto !important;
  text-align: center;
}

/* Garder les boutons centrés */

.hero-wave-copy .actions {
  justify-content: center !important;
}
/* Enlever le grand cœur jaune */

.hero-wave-mark {
  display: none !important;
}
/* NOUVEAU FOOTER FONDO */

.fondo-footer {
  display: grid !important;
  grid-template-columns: 1.4fr 1.4fr 1fr 1.2fr 1.2fr 1fr;
  gap: 45px;
  padding: 55px 5vw 0 !important;
  background: #07533f !important;
  color: white;
}

.fondo-footer > div {
  min-width: 0;
}

.footer-brand img {
  width: 85px;
  height: 85px;
  object-fit: contain;
  border-radius: 50%;
}

.footer-brand p {
  margin: 14px 0;
  line-height: 1.4;
}

.footer-brand h2 {
  margin: 15px 0 0;
  color: white;
  font-family: Arial, sans-serif;
  font-size: 28px;
  letter-spacing: 5px;
}

.footer-column strong {
  display: block;
  margin-bottom: 18px;
  color: white;
  font-size: 18px;
  text-transform: uppercase;
}

.footer-column p {
  margin: 0 0 14px;
  line-height: 1.55;
}

.footer-column a {
  display: block;
  margin-bottom: 10px;
  color: white;
  text-decoration: none;
}

.footer-column a:hover {
  color: #f2b51d;
}

.footer-danotech {
  grid-column: 1 / -1;
  margin: 15px -5vw 0;
  padding: 17px;
  background: #042f27;
  text-align: center;
  font-size: 17px;
}

.footer-danotech a {
  margin-left: 7px;
  color: white;
  text-decoration: none;
}


.footer-danotech strong {
  margin-left: 5px;
}

@media (max-width: 1100px) {
  .fondo-footer {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 700px) {
  .fondo-footer {
    grid-template-columns: 1fr;
    gap: 30px;
    padding-top: 40px !important;
  }

  .footer-danotech {
    grid-column: 1;
  }
}
/* CORRECTION DE LA PRÉSENTATION DU FOOTER */

.fondo-footer {
  grid-template-columns:
    1.3fr
    1.8fr
    1.1fr
    1.4fr
    1.3fr
    1fr !important;

  align-items: start !important;
  gap: 35px !important;
  padding: 55px 5vw 0 !important;
}

/* Corriger le bloc du logo */

.fondo-footer > .footer-brand {
  display: block !important;
}

.footer-brand img {
  display: block;
  width: 90px !important;
  height: 90px !important;
  margin-bottom: 18px;
}

.footer-brand p {
  margin: 0 0 15px !important;
  font-size: 16px;
  line-height: 1.5;
}

.footer-brand h2 {
  margin: 12px 0 0 !important;
  font-size: 25px !important;
  letter-spacing: 4px;
}

/* Empêcher les coordonnées de se casser */

.footer-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.footer-column strong {
  min-height: 30px;
  margin-bottom: 20px !important;
  font-size: 17px !important;
  line-height: 1.25;
}

.footer-column p {
  margin: 0 0 14px !important;
  font-size: 16px;
  line-height: 1.55;
}

.footer-column a {
  margin-bottom: 12px !important;
  font-size: 16px;
  line-height: 1.4;
}

/* Garder l’adresse courriel sur une ligne */

.footer-column a[href^="mailto:"] {
  white-space: nowrap;
}

/* TABLETTE */

@media (max-width: 1250px) {
  .fondo-footer {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* TÉLÉPHONE */

@media (max-width: 700px) {
  .fondo-footer {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .footer-column strong {
    min-height: 0;
  }

  .footer-column a[href^="mailto:"] {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}
/* Réduire le logo du footer */

.footer-brand img {
  width: 65px !important;
  height: 65px !important;
}
/* Ajouter les couleurs FONDO au footer */

.fondo-footer {
  position: relative;
  border-top: 8px solid #f2b51d;
  background:
    linear-gradient(
      135deg,
      #07533f 0%,
      #0a654f 55%,
      #064737 100%
    ) !important;
}

/* Petite ligne turquoise */

.fondo-footer::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 100%;
  height: 5px;
  background: #20c5d4;
}

/* Titres des colonnes en doré */

.fondo-footer .footer-column > strong {
  color: #ffd052 !important;
}

/* Nom Fondation Dorélus */

.footer-brand p strong {
  color: #ffd052 !important;
}

/* FONDO en turquoise */

.footer-brand h2 {
  color: #43d5df !important;
}

/* Liens légèrement colorés */

.footer-column a {
  color: #f4fffc !important;
}

.footer-column a:hover {
  color: #ffd052 !important;
  transform: translateX(4px);
}

/* Couleur des petits symboles sociaux */

.footer-column:last-of-type a {
  color: #54dce4 !important;
}

.footer-column:last-of-type a:hover {
  color: #ffd052 !important;
}
/* ===== VERSION MOBILE COMPLÈTE ===== */
@media (max-width: 700px) {

  html,
  body {
    width: 100%;
    overflow-x: hidden;
  }

  /* En-tête */
  .topbar {
    display: none !important;
  }

  header,
  .site-header {
    padding: 12px 16px !important;
  }

  .brand img,
  .logo img {
    width: 58px !important;
    height: 58px !important;
  }

  .brand h1,
  .brand-title {
    font-size: 18px !important;
  }

  .brand p,
  .brand-subtitle {
    font-size: 12px !important;
  }

  /* Navigation */
  nav {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px !important;
  }

  nav a {
    font-size: 14px !important;
  }

  /* Photo d’accueil */
  .hero-photo {
    height: 290px !important;
    min-height: 290px !important;
    background-position: 58% center !important;
  }

  .hero-photo img {
    width: 100% !important;
    height: 290px !important;
    object-fit: cover !important;
    object-position: 58% center !important;
  }

  .hero-photo-slogan,
  .photo-slogan {
    left: 18px !important;
    top: 25px !important;
    width: 190px !important;
    max-width: 48% !important;
    font-size: 23px !important;
    line-height: 1.05 !important;
  }

  /* Partie bleue de l’accueil */
  .hero-wave-content,
  .hero-content {
    padding: 75px 20px 35px !important;
    text-align: center !important;
  }

  .hero-eyebrow,
  .eyebrow {
    justify-content: center !important;
    font-size: 14px !important;
    letter-spacing: 2px !important;
  }

  .hero-title,
  .hero-content h1 {
    max-width: 100% !important;
    font-size: clamp(38px, 11vw, 54px) !important;
    line-height: 1.02 !important;
    text-align: center !important;
  }

  .hero-description,
  .hero-content > p {
    font-size: 17px !important;
    line-height: 1.5 !important;
    text-align: center !important;
  }

  /* Boutons */
  .hero-actions,
  .hero-buttons,
  .cta-buttons {
    width: 100% !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
  }

  .hero-actions a,
  .hero-actions button,
  .hero-buttons a,
  .cta-buttons a {
    width: 100% !important;
    min-height: 58px !important;
    justify-content: center !important;
    text-align: center !important;
  }

  /* Statistiques */
  .stats,
  .stats-grid,
  .hero-stats {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding: 20px 16px 35px !important;
  }

  .stat-card {
    width: 100% !important;
    min-height: 125px !important;
  }

  /* Sections */
  section {
    scroll-margin-top: 100px;
  }

  .section-container,
  .container {
    width: 100% !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  section h2 {
    font-size: 37px !important;
    line-height: 1.08 !important;
  }

  /* Galerie */
  .gallery-grid,
  .galerie-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .gallery-grid img,
  .galerie-grid img,
  .gallery-photo-card img {
    width: 100% !important;
    height: auto !important;
    max-height: 440px !important;
    object-fit: cover !important;
  }

  /* Témoignage */
  .testimonial-photos,
  .testimonial-gallery,
  .temoignage-photos {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .testimonial-photo-card {
    width: 100% !important;
    max-width: 360px !important;
    margin: 0 auto !important;
  }

  .testimonial-photo-card img {
    width: 100% !important;
    height: auto !important;
  }

  /* Footer */
  .fondo-footer {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    padding: 45px 25px 20px !important;
    text-align: left !important;
  }

  .fondo-footer > div {
    width: 100% !important;
  }

  .footer-brand img {
    width: 65px !important;
    height: 65px !important;
  }

  .footer-column strong {
    min-height: 0 !important;
    margin-bottom: 12px !important;
    color: #ffd052 !important;
  }

  .footer-column a[href^="mailto:"] {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .footer-danotech {
    text-align: center !important;
  }
}
@media (max-width: 700px) {
  .hero-title,
  .hero-content h1 {
    font-size: 36px !important;
    line-height: 1.05 !important;
  }
}
@media (max-width: 700px) {

  /* Afficher le nom à côté du logo */
  .brand,
  .site-brand {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .brand-text,
  .brand-info {
    display: block !important;
  }

  .brand h1,
  .brand-title {
    display: block !important;
    font-size: 14px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    margin: 0 !important;
  }

  .brand p,
  .brand-subtitle {
    display: none !important;
  }

  .brand img,
  .site-brand img {
    width: 48px !important;
    height: 48px !important;
  }

  /* Corriger le texte blanc sur la photo */
  .hero-photo-slogan,
  .photo-slogan {
    top: 18px !important;
    left: 14px !important;
    width: 145px !important;
    max-width: 145px !important;
    font-size: 18px !important;
    line-height: 1.05 !important;
    text-align: center !important;
    color: white !important;
    text-shadow: 1px 2px 5px #003c5a !important;
  }

  /* Réduire légèrement le grand titre blanc */
  .hero-title,
  .hero-content h1 {
    font-size: 32px !important;
    line-height: 1.02 !important;
  }
}
@media (max-width: 700px) {

  /* Afficher Fondation Dorélus à côté du logo */
  .brand > div,
  .site-brand > div {
    display: block !important;
  }

  .brand > div strong,
  .site-brand > div strong {
    display: block !important;
    color: #07533f !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  /* Cacher seulement la petite devise pour conserver l’espace */
  .brand > div span,
  .brand > div p,
  .site-brand > div span,
  .site-brand > div p {
    display: none !important;
  }
}
.brand-mobile-text {
  display: flex;
  flex-direction: column;
}

.brand-mobile-text strong {
  color: #07533f;
  font-size: 18px;
}

.brand-mobile-text span {
  color: #916712;
  font-size: 13px;
}

@media (max-width: 700px) {
  .brand-mobile-text {
    display: flex !important;
  }

  .brand-mobile-text strong {
    display: block !important;
    font-size: 12px !important;
    white-space: nowrap;
  }

  .brand-mobile-text span {
    display: none !important;
  }
}
@media (max-width: 700px) {

  .nav-wrap {
    padding: 10px 8px !important;
    gap: 6px !important;
  }

  .brand {
    gap: 5px !important;
    flex-shrink: 1 !important;
  }

  .brand img {
    width: 40px !important;
    height: 40px !important;
  }

  .brand-mobile-text strong {
    width: 82px !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    white-space: normal !important;
  }

  .menu-toggle {
    padding: 5px !important;
    font-size: 22px !important;
  }

  .language-menu {
    width: 92px !important;
    padding: 7px 5px !important;
    font-size: 11px !important;
    flex-shrink: 0 !important;
  }

  .language-menu select {
    max-width: 65px !important;
    font-size: 11px !important;
  }
}
@media (max-width: 700px) {

  .brand-mobile-text span {
    display: block !important;
    color: #916712 !important;
    font-size: 8px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    margin-top: 2px !important;
  }

  .brand-mobile-text strong {
    width: auto !important;
    white-space: nowrap !important;
    font-size: 10px !important;
  }
}
@media (max-width: 700px) {

  /* Afficher la devise sous le nom */
  a.brand .brand-mobile-text {
    display: flex !important;
    flex-direction: column !important;
    width: 115px !important;
  }

  a.brand .brand-mobile-text > strong {
    display: block !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  a.brand .brand-mobile-text > span {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #916712 !important;
    font-size: 6.5px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    margin-top: 3px !important;
  }

  /* Mieux présenter le texte blanc sur la photo */
  .hero-photo-slogan,
  .photo-slogan {
    top: 14px !important;
    left: 10px !important;
    width: 125px !important;
    max-width: 125px !important;
    font-size: 15px !important;
    line-height: 1.05 !important;
    text-align: center !important;
    color: white !important;
    text-shadow:
      0 2px 3px #003c5a,
      0 0 6px #003c5a !important;
  }
}
@media (max-width: 700px) {

  /* Afficher tous les enfants, y compris celui de droite */
  .hero-photo {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 3 / 1 !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  .hero-photo img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  /* Garder le texte lisible */
  .hero-photo-slogan,
  .photo-slogan {
    top: 10px !important;
    left: 8px !important;
    width: 115px !important;
    font-size: 14px !important;
  }
}
@media (max-width: 700px) {

  /* Afficher la photo complète sur téléphone */
  .hero-wide-photo {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .hero-wide-photo img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  /* Texte blanc sur la photo */
  .hero-wide-photo .hero-photo-slogan {
    position: absolute !important;
    top: 10px !important;
    left: 8px !important;
    width: 115px !important;
    font-size: 14px !important;
    line-height: 1.05 !important;
  }
}
@media (max-width: 700px) {
  .hero-wave-band {
    margin-top: 0 !important;
    transform: translateY(0) !important;
  }
}
@media (max-width: 700px) {
  .hero-wide-photo .hero-photo-slogan {
    left: 6px !important;
    top: 8px !important;
    width: 100px !important;
    font-size: 13px !important;
    line-height: 1.03 !important;
  }
}
/* Bouton de langue plus petit */
.language-menu {
  width: auto !important;
  min-width: 150px !important;
  padding: 10px 14px !important;
  font-size: 16px !important;
}

.language-menu select {
  font-size: 16px !important;
}
@media (max-width: 700px) {
  .language-menu {
    min-width: 88px !important;
    padding: 6px 7px !important;
  }

  .language-menu select {
    font-size: 10px !important;
  }
}
/* Publicité Danotech */
.footer-danotech {
  background: #f7f3e8 !important;
  color: #063f5c !important;
  border-top: 5px solid #20c5d4 !important;
  box-shadow: inset 0 2px 0 #f2b51d;
  padding: 22px 15px !important;
  text-align: center !important;
}

.footer-danotech a,
.footer-danotech strong {
  color: #063f5c !important;
}

.footer-danotech  .dano {
  color: #0878d1 !important;
}

.footer-danotech .tech {
  color: #e03535 !important;
}
.footer-copyright {
  margin: 0 0 10px !important;
  color: #07533f !important;
  font-size: 14px !important;
}
.footer-danotech {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 25px !important;
  padding: 22px 5vw !important;
}

.footer-copyright {
  margin: 0 !important;
  text-align: left !important;
}

.danotech-credit {
  margin-left: auto !important;
  text-align: right !important;
}

@media (max-width: 700px) {
  .footer-danotech {
    flex-direction: column !important;
    gap: 10px !important;
  }

  .footer-copyright,
  .danotech-credit {
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
  }
}
.footer-danotech .danotech-credit {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.danotech-credit a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
}

.danotech-credit .dano,
.danotech-credit .tech {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.danotech-credit strong {
  margin-left: 10px !important;
}
.documents-enfant {
  margin-top: 50px;
  padding-top: 40px;
  border-top: 1px solid #dce8e2;
}

.documents-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 30px;
}

.document-card {
  background: #f8f5eb;
  border: 1px solid #e3dfd2;
  border-radius: 18px;
  padding: 30px 22px;
  text-align: center;
  box-shadow: 0 12px 30px rgba(5, 83, 63, 0.10);
}

.document-icon {
  display: block;
  font-size: 40px;
  margin-bottom: 15px;
}

.document-card h3 {
  color: #07533f;
  min-height: 55px;
}

.document-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
}

.document-actions a {
  padding: 11px 15px;
  border-radius: 9px;
  text-decoration: none;
  font-weight: bold;
}

.document-open {
  color: white;
  background: #07533f;
}

.document-download {
  color: #073f5c;
  background: #f2b51d;
}

@media (max-width: 700px) {
  .documents-grid {
    grid-template-columns: 1fr;
  }

  .document-actions {
    flex-direction: column;
  }

  .document-actions a {
    width: 100%;
  }
}
/* Ranger la colonne Coordonnées */
.fondo-footer > .footer-column:nth-child(2) {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.fondo-footer > .footer-column:nth-child(2) p {
  margin: 0 0 14px !important;
  padding: 0 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
}

.fondo-footer > .footer-column:nth-child(2) p:last-child {
  margin-bottom: 0 !important;
}

.fondo-footer > .footer-column:nth-child(2) a {
  display: inline !important;
  margin: 0 !important;
  font-size: 15px !important;
  white-space: nowrap !important;
}
.footer-contact {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
}

.footer-contact > strong {
  margin-bottom: 5px !important;
}

.contact-row {
  display: grid !important;
  grid-template-columns: 25px 1fr !important;
  gap: 10px !important;
  align-items: start !important;
}

.contact-icon {
  font-size: 18px !important;
  line-height: 1.3 !important;
}

.contact-row b {
  display: block;
  color: #ffd052;
  font-size: 14px;
  margin-bottom: 3px;
}

.contact-row p,
.contact-row a {
  margin: 0 !important;
  color: white !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
}
.footer-contact .contact-row:first-of-type p {
  font-size: 14px !important;
  white-space: nowrap !important;
}
/* Conseil d’administration : cartes 2 x 2 */
.conseil-grid {
  width: min(1100px, 92%);
  margin: 40px auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 25px;
}

.membre-card {
  position: relative;
  padding: 30px;
  background: #f8f5eb;
  border: 1px solid #e1dac5;
  border-top: 5px solid #f2b51d;
  border-radius: 16px;
  box-shadow: 0 10px 25px rgba(0, 70, 50, 0.12);
}

.membre-numero {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #10b9c5;
  color: white;
  font-weight: bold;
}

.membre-card h3 {
  margin: 18px 0 8px;
  color: #07533f;
  font-size: 23px;
}

.membre-card strong {
  display: block;
  margin-bottom: 10px;
  color: #b77b00;
  font-size: 17px;
}

.membre-card p {
  margin: 0;
  color: #333;
  line-height: 1.5;
}

/* La cinquième carte est centrée */
.membre-card:last-child {
  grid-column: 1 / -1;
  width: calc(50% - 13px);
  justify-self: center;
}

/* Téléphone : une seule colonne */
@media (max-width: 700px) {
  .conseil-grid {
    grid-template-columns: 1fr;
  }

  .membre-card:last-child {
    grid-column: auto;
    width: auto;
  }
}
/* Afficher le titre et les 5 membres sur le même écran */
body:has(.conseil-grid) .section-head {
  padding-top: 18px !important;
  padding-bottom: 10px !important;
  margin-bottom: 0 !important;
}

body:has(.conseil-grid) .section-head h2 {
  font-size: 38px !important;
  line-height: 1.05 !important;
  margin: 8px 0 !important;
}

.conseil-grid {
  width: min(1400px, 92%) !important;
  margin: 15px auto !important;
  padding: 0 !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 15px !important;
}

.membre-card {
  min-height: 0 !important;
  padding: 18px 20px !important;
}

.membre-numero {
  width: 34px !important;
  height: 34px !important;
}

.membre-card h3 {
  margin: 10px 0 5px !important;
  font-size: 20px !important;
}

.membre-card strong {
  margin-bottom: 5px !important;
}

.membre-card:last-child {
  grid-column: auto !important;
  width: auto !important;
  justify-self: stretch !important;
}

/* Tablette */
@media (max-width: 900px) {
  .conseil-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Téléphone */
@media (max-width: 600px) {
  .conseil-grid {
    grid-template-columns: 1fr !important;
  }
}
/* Forcer les 4 boutons sur la même ligne */
.hero .actions,
.hero-copy .actions {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  width: 90% !important;
  max-width: 1500px !important;
  margin: 30px auto !important;
  gap: 15px !important;
}

.hero .actions .btn,
.hero-copy .actions .btn {
  width: 100% !important;
  min-width: 0 !important;
  grid-column: auto !important;
  transform: none !important;
  padding: 20px 8px !important;
  white-space: nowrap !important;
}

/* Mobile */
@media (max-width: 700px) {
  .hero .actions,
  .hero-copy .actions {
    grid-template-columns: 1fr !important;
    width: 85% !important;
  }

  .hero .actions .btn,
  .hero-copy .actions .btn {
    white-space: normal !important;
  }
}
.section.alt .card img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 14px;
  margin-bottom: 20px;
}
.section.alt {
  padding-top: 45px;
  padding-bottom: 45px;
}

.section.alt .section-head {
  margin-bottom: 30px;
}

.section.alt .section-head h2 {
  max-width: none;
  white-space: nowrap;
  font-size: 48px;
}
/* ==================================================
   CONTACT - VERSION PROFESSIONNELLE
================================================== */

.contact-layout {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr);
  gap: 48px;
  align-items: stretch;
}


/* ===== COLONNE GAUCHE ===== */

.contact-info-column {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.contact-info-column .card {
  width: 100%;
  min-height: 140px;
  padding: 26px 28px;
  box-sizing: border-box;

  background: #ffffff;
  border: 1px solid #e4e8e3;
  border-radius: 16px;

  box-shadow:
    0 8px 24px rgba(0, 60, 45, 0.06);

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.contact-info-column .card:hover {
  transform: translateY(-3px);

  box-shadow:
    0 12px 30px rgba(0, 60, 45, 0.10);
}

.contact-info-column .card h3 {
  margin: 0 0 14px;
  color: #075844;
  font-size: 1.2rem;
}

.contact-info-column .card p {
  margin: 0;
  line-height: 1.7;
}

.contact-info-column .card a {
  color: #075844;
  font-weight: 600;
  text-decoration: none;
}

.contact-info-column .card a:hover {
  text-decoration: underline;
}


/* ===== FORMULAIRE À DROITE ===== */

.contact-form-column {
  width: 100%;
  box-sizing: border-box;

  background: #ffffff;
  border: 1px solid #e4e8e3;
  border-radius: 20px;

  padding: 32px;

  box-shadow:
    0 10px 32px rgba(0, 60, 45, 0.08);
}

.contact-form-column .form {
  width: 100%;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.contact-form-column .field {
  margin: 0;
}

.contact-form-column .field.full {
  grid-column: 1 / -1;
}

.contact-form-column label {
  display: block;
  margin-bottom: 7px;

  color: #17231f;
  font-size: 0.96rem;
  font-weight: 700;
}


/* ===== CHAMPS ===== */

.contact-form-column input,
.contact-form-column textarea,
.contact-form-column select {
  width: 100%;
  box-sizing: border-box;

  border: 1px solid #cad5d0;
  border-radius: 10px;

  background: #fbfcfb;

  padding: 13px 14px;

  font: inherit;

  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
}

.contact-form-column input {
  min-height: 50px;
}

.contact-form-column textarea {
  min-height: 170px;
  resize: vertical;
}

.contact-form-column input:focus,
.contact-form-column textarea:focus,
.contact-form-column select:focus {
  outline: none;

  border-color: #08705a;
  background: #ffffff;

  box-shadow:
    0 0 0 4px rgba(8, 112, 90, 0.10);
}


/* ===== BOUTON ===== */

.contact-form-column .btn {
  grid-column: 1 / -1;

  width: 100%;
  min-height: 54px;

  margin-top: 4px;

  border-radius: 10px;

  font-size: 1rem;
  font-weight: 800;

  cursor: pointer;

  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.contact-form-column .btn:hover {
  transform: translateY(-2px);

  box-shadow:
    0 8px 20px rgba(0, 0, 0, 0.12);
}

.contact-form-column .status {
  grid-column: 1 / -1;
}


/* ===== TABLETTE ===== */

@media (max-width: 1000px) {

  .contact-layout {
    grid-template-columns: 310px 1fr;
    gap: 28px;
  }

  .contact-form-column {
    padding: 25px;
  }
}


/* ===== MOBILE ===== */

@media (max-width: 800px) {

  .contact-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .contact-info-column {
    display: grid;
    grid-template-columns: 1fr;
  }

  .contact-form-column {
    padding: 22px;
  }

  .contact-form-column .form {
    grid-template-columns: 1fr;
  }

  .contact-form-column .field,
  .contact-form-column .field.full,
  .contact-form-column .btn,
  .contact-form-column .status {
    grid-column: 1;
  }
}
.contact-detail-line {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 9px 0;
}

.contact-detail-icon {
  font-size: 1rem;
  width: 24px;
  flex-shrink: 0;
}

.contact-detail-line a {
  margin: 0;
  text-decoration: none;
  color: #075844;
  font-weight: 600;
}
/* FORCE LE CRÉDIT DANOTECH SUR UNE SEULE LIGNE - MOBILE */
@media (max-width: 700px) {

  .fondo-footer .footer-danotech {
    width: 100% !important;
    padding: 18px 10px !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  .fondo-footer .danotech-credit {
    display: block !important;
    width: 100% !important;
    margin: 8px 0 0 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  .fondo-footer .danotech-credit a {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    white-space: nowrap !important;
  }

  .fondo-footer .danotech-credit .dano,
  .fondo-footer .danotech-credit .tech,
  .fondo-footer .danotech-credit strong {
    display: inline !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
  }

  .fondo-footer .danotech-credit strong {
    margin-left: 5px !important;
  }
}
.fondo-footer .footer-column a {
  display: flex;
  align-items: center;
  gap: 10px;
}

.fondo-footer .footer-column a i {
  width: 22px;
  font-size: 18px;
  text-align: center;
}
/* ===== PAGE FONDATEUR - VERSION FINALE ===== */

.content .founder-layout {
  display: grid !important;
  grid-template-columns: 320px minmax(0, 1fr) !important;
  gap: 45px !important;
  align-items: start !important;
}

.content .founder-left {
  width: 100% !important;
}

.content .founder-left .fondateur-photo {
  float: none !important;
  display: block !important;
  width: 100% !important;
  max-width: 320px !important;
  height: auto !important;
  margin: 0 !important;
  border-radius: 20px !important;
}

.content .founder-right {
  min-width: 0;
}

.content .founder-right p {
  margin: 0 0 20px !important;
  line-height: 1.7;
}

.content .founder-right h2 {
  clear: none !important;
  margin: 28px 0 16px !important;
}

/* Téléphone */
@media (max-width: 800px) {
  .content .founder-layout {
    grid-template-columns: 1fr !important;
    gap: 25px !important;
  }

  .content .founder-left .fondateur-photo {
    margin: 0 auto !important;
  }
}
.founder-right p {
  margin: 0 0 16px !important;
  line-height: 1.65;
}
.founder-bottom {
  grid-column: 1 / -1;
  width: 100%;
  margin-top: 5px;
}

.founder-bottom p {
  margin: 0 0 20px;
  line-height: 1.7;
}

.founder-bottom h2 {
  margin: 30px 0 16px;
}
nav a.nav-donate {
  background: transparent !important;
  color: #111 !important;
  padding: 11px 18px !important;
  border-radius: 9px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: 0.25s ease;
}

nav a.nav-donate:hover {
  background: #f7b719 !important;
  color: #064f40 !important;
}
/* Boutons du hero - même style que "Découvrir notre mission" */
main a[href="#enfant"],
main a[href*="zeffy.com"],
main a[href*="paypal.com"] {
  background: transparent !important;
  color: #ffffff !important;
  border: 2px solid #55d6df !important;
  box-shadow: none !important;
}

/* Au passage de la souris */
main a[href="#enfant"]:hover,
main a[href*="zeffy.com"]:hover,
main a[href*="paypal.com"]:hover {
  background: #55d6df !important;
  color: #073f5c !important;
}
/* ===== MENU MOBILE ===== */
@media (max-width: 800px) {

  .site-header .nav-wrap {
    position: relative;
  }

  /* Bouton hamburger */
  .site-header .menu-toggle {
    display: flex !important;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }

  /* Menu fermé par défaut */
  .site-header .menu-toggle + nav {
    display: none !important;
  }

  /* Menu ouvert quand on clique sur ☰ */
  .site-header .menu-toggle[aria-expanded="true"] + nav {
    display: flex !important;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 9999;

    background: #ffffff;
    padding: 15px 20px;

    flex-direction: column;
    align-items: stretch;
    gap: 4px;

    box-shadow: 0 12px 25px rgba(0,0,0,0.12);
  }

  .site-header nav > a,
  .site-header nav .dropdown {
    width: 100%;
  }

  .site-header nav > a,
  .site-header nav .dropdown > button {
    display: block;
    width: 100%;
    padding: 11px 8px;
    text-align: left;
  }

  .site-header nav .nav-donate {
    background: transparent !important;
    color: #111 !important;
  }

  .site-header nav .nav-donate:hover {
    background: #f7b719 !important;
    color: #064f40 !important;
  }
}
/* Remonter le texte "Il a ainsi eu la chance..." */
.founder-bottom {
  margin-top: -45px !important;
}

@media (max-width: 800px) {
  .founder-bottom {
    margin-top: 0 !important;
  }
}