:root {
  --green: #2E7D32;
  --green-light: #E8F5E9;
  --green-soft: #C8E6C9;
  --blue: #1565C0;
  --orange: #EF6C00;
  --bg: #F5F7FA;
  --white: #FFFFFF;
  --text: #263238;
  --muted: #5f6b70;
  --line: #dce5df;
  --shadow: 0 16px 38px rgba(38, 50, 56, 0.12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body{
  margin: 0;
  color: var(--text);
  font-family: Inter, Arial, sans-serif;
  line-height: 1.6;
  background:var(--bg);
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
.container { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }

.site-header { position: sticky; top: 0; z-index: 50; background: var(--white); border-bottom: 1px solid var(--line); box-shadow: 0 4px 16px rgba(38, 50, 56, 0.06); }
.topbar { background: var(--green-light); color: var(--green); font-size: .82rem; font-weight: 800; }
.topbar-inner { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; }
.navbar { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.brand { display: flex; align-items: center; gap: 12px; min-width: 260px; }
.brand img { width: 58px; height: 58px; object-fit: contain; }
.brand strong { display: block; color: var(--green); font-size: .98rem; line-height: 1.2; }
.brand span { display: block; color: var(--muted); font-size: .78rem; line-height: 1.25; }
.main-menu { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 4px; margin: 0; padding: 0; list-style: none; }
.main-menu a { display: inline-flex; align-items: center; min-height: 38px; padding: 0 9px; border-radius: 6px; color: var(--text); font-size: .85rem; font-weight: 800; }
.main-menu a:hover, .main-menu a.active { color: var(--white); background: var(--green); }
.menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 6px; background: var(--white); cursor: pointer; }
.menu-toggle span { display: block; width: 22px; height: 2px; margin: 5px auto; background: var(--text); }

.hero, .page-hero { background: linear-gradient(135deg, var(--green-light), var(--white)); }
.home-hero { min-height: 560px; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: 40px; align-items: center; padding: 72px 0; }
.hero-copy h1, .page-hero h1 { margin: 0; color: var(--text); font-size: clamp(2.25rem, 5vw, 4.9rem); line-height: 1.02; letter-spacing: 0; overflow-wrap: anywhere; }
.lead, .page-hero p:last-child { max-width: 760px; margin: 22px 0 0; color: var(--muted); font-size: 1.2rem; }
.eyebrow { margin: 0 0 12px; color: var(--green); font-size: .78rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 18px; border: 0; border-radius: 6px; font-weight: 800; cursor: pointer; }
.btn.primary { color: var(--white); background: var(--green); }
.btn.secondary { color: var(--green); background: var(--white); border: 1px solid var(--green-soft); }
.btn.warning { color: var(--white); background: var(--orange); }
.btn.blue { color: var(--white); background: var(--blue); }
.hero-panel, .card, .person-card, .partner-card, .info-card, .admin-panel { border: 1px solid var(--line); border-radius: 8px; background: var(--white); box-shadow: var(--shadow); }
.hero-panel { padding: 24px; }
.logo-strip, .footer-logos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; align-items: center; }
.logo-strip img, .footer-logos img, .logo-card img, .partner-card img { width: 100%; object-fit: contain; background: var(--white); }
.logo-strip img { height: 92px; padding: 10px; border: 1px solid var(--line); border-radius: 6px; }

.page-hero { padding: 68px 0; border-bottom: 1px solid var(--line); }
.section { padding: 76px 0; }
.section.light { background: var(--green-light); }
.section-heading { max-width: 780px; margin-bottom: 28px; }
.section-heading.centered { text-align: center; }
h2 { margin: 0 0 14px; color: var(--green); font-size: clamp(1.7rem, 3vw, 2.7rem); line-height: 1.08; letter-spacing: 0; }
h3 { margin: 0 0 10px; color: var(--text); font-size: 1.08rem; letter-spacing: 0; }
p { overflow-wrap: anywhere; }
.two-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; }
.cards { display: grid; gap: 18px; }
.cards.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cards.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cards.five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.card, .person-card { padding: 24px; }
.text-link { color: var(--blue); font-weight: 800; }
.dg-word { display: grid; grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr); gap: 36px; align-items: center; }
blockquote { margin: 0; padding: 22px; border-left: 5px solid var(--orange); border-radius: 0 8px 8px 0; background: var(--green-light); color: var(--text); font-weight: 700; }
.signature { margin-top: 18px; }
.photo-frame img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; }
.photo-frame.small img { aspect-ratio: 1 / 1; }
.photo-placeholder { display: grid; place-items: center; width: 100%; min-height: 190px; aspect-ratio: 4 / 3; border: 2px dashed var(--green-soft); border-radius: 8px; color: var(--green); background: var(--white); font-weight: 800; text-align: center; }
.media-card .photo-placeholder { margin-bottom: 18px; }
.logo-card { display: grid; place-items: center; min-height: 190px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); }
.logo-card img { max-height: 130px; }

.org-chart { display: grid; gap: 18px; }
.org-node { padding: 22px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); text-align: center; box-shadow: var(--shadow); }
.org-node.top { background: var(--green); color: var(--white); }
.org-node span { display: block; margin-bottom: 8px; color: var(--muted); font-weight: 800; font-size: .85rem; text-transform: uppercase; }
.org-node.top span { color: rgba(255,255,255,.82); }
.org-node strong { display: block; font-size: 1.18rem; }
.org-node em { display: block; color: var(--muted); font-style: normal; }
.org-line { width: 2px; height: 26px; margin: 0 auto; background: var(--green-soft); }
.org-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }

.partner-list { display: grid; gap: 18px; }
.partner-card { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 24px; align-items: center; padding: 24px; }
.partner-card img { height: 120px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; }
.footer-logos { max-width: 320px; margin-top: 18px; }
.footer-logos img { height: 58px; padding: 8px; border-radius: 6px; }
.site-footer { padding: 42px 0 24px; color: rgba(255,255,255,.86); background: var(--green); }
.footer-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); gap: 32px; }
.site-footer h2, .site-footer h3 { color: var(--white); }
.footer-bottom { display: flex; justify-content: space-between; gap: 16px; margin-top: 28px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.22); font-size: .9rem; }

.filter-bar { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
.filter-bar button { min-height: 40px; padding: 0 14px; border: 1px solid var(--green-soft); border-radius: 6px; color: var(--green); background: var(--white); font-weight: 800; cursor: pointer; }
.filter-bar button.active { color: var(--white); background: var(--green); }
.info-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.info-card { overflow: hidden; }
.info-card .info-photo, .gallery-item .photo-frame img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.info-card-body { padding: 20px; }
.meta { display: flex; flex-wrap: wrap; gap: 8px; color: var(--muted); font-size: .86rem; }
.badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.badge { display: inline-flex; align-items: center; min-height: 26px; padding: 0 9px; border-radius: 999px; color: var(--white); background: var(--blue); font-size: .75rem; font-weight: 800; }
.badge.important { background: var(--orange); }
.empty-state { padding: 24px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); text-align: center; font-weight: 800; }
.gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.gallery-item { padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); }
.gallery-item h3 { margin-top: 12px; }

.back-to-top { position: fixed; right: 18px; bottom: 18px; display: none; width: 44px; height: 44px; border: 0; border-radius: 6px; color: var(--white); background: var(--green); font-size: 1.2rem; font-weight: 800; cursor: pointer; box-shadow: var(--shadow); }
.back-to-top.visible { display: block; }

.admin-body { background: var(--bg); }
.admin-header { padding: 24px 0; background: var(--green); color: var(--white); }
.admin-header a { text-decoration: underline; }
.admin-grid { display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 22px; align-items: start; padding: 34px 0; }
.admin-panel { padding: 22px; }
.admin-list { display: grid; gap: 10px; }
.admin-item { width: 100%; padding: 14px; border: 1px solid var(--line); border-radius: 6px; background: var(--white); text-align: left; cursor: pointer; }
.admin-item.active { border-color: var(--green); background: var(--green-light); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.form-field { display: grid; gap: 6px; }
.form-field.full { grid-column: 1 / -1; }
.form-field input, .form-field textarea, .form-field select { width: 100%; border: 1px solid var(--line); border-radius: 6px; padding: 10px 12px; background: var(--white); color: var(--text); }
.check-row { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.admin-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }

@media (max-width: 1024px) {
  .navbar { align-items: flex-start; padding: 12px 0; }
  .main-menu { max-width: 620px; }
  .cards.five { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cards.four, .info-grid, .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .menu-toggle { display: block; flex: 0 0 auto; }
  .navbar { align-items: center; }
  .main-menu { position: absolute; left: 20px; right: 20px; top: 112px; display: none; flex-direction: column; align-items: stretch; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); box-shadow: var(--shadow); }
  .main-menu.open { display: flex; }
  .main-menu a { width: 100%; }
  .hero-grid, .two-columns, .dg-word, .footer-grid, .admin-grid, .partner-card { grid-template-columns: 1fr; }
  .cards.three, .cards.four, .cards.five, .info-grid, .gallery-grid, .org-row { grid-template-columns: 1fr; }
  .hero-grid { padding: 54px 0; }
  .partner-card img { width: 100%; }
}
@media (max-width: 480px) {
  .container { width: min(100% - 28px, 1160px); }
  .topbar-inner, .footer-bottom { flex-direction: column; }
  .brand { min-width: 0; }
  .brand img { width: 48px; height: 48px; }
  .brand span { display: none; }
  .hero-copy h1, .page-hero h1 { font-size: 2.15rem; }
  .lead, .page-hero p:last-child { font-size: 1rem; }
  .section, .page-hero { padding: 50px 0; }
  .logo-strip { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
}
@media (max-width: 320px) {
  .container { width: min(100% - 20px, 1160px); }
  .btn, .filter-bar button { width: 100%; }
  .hero-copy h1, .page-hero h1 { font-size: 1.85rem; }
  .brand strong { font-size: .86rem; }
}
.read-more { margin-top: 10px; list-style: none; }
.read-more::-webkit-details-marker { display: none; }
details p { margin-bottom: 0; }

/* Reportages photo */
.reportage-list { display: grid; gap: 28px; }
.reportage-card { position: relative; overflow: hidden; min-height: 420px; border-radius: 8px; background: var(--white); box-shadow: var(--shadow); }
.reportage-card a { display: block; min-height: 420px; color: var(--white); }
.reportage-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.reportage-card:hover img { transform: scale(1.025); }
.reportage-card-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; padding: clamp(22px, 4vw, 46px); background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.78)); }
.reportage-card-overlay span, .reportage-card-overlay strong { font-weight: 800; }
.reportage-card-overlay h2 { max-width: 820px; margin: 0; color: var(--white); font-size: clamp(1.6rem, 4vw, 3rem); }
.reportage-card-overlay p { max-width: 760px; margin: 0; color: rgba(255,255,255,.9); }
.reportage-card-overlay em { display: inline-flex; align-self: flex-start; margin-top: 8px; min-height: 42px; align-items: center; padding: 0 14px; border-radius: 6px; color: var(--green); background: var(--white); font-style: normal; font-weight: 800; }
.home-report-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.home-report-card { display: grid; grid-template-columns: 42% minmax(0, 1fr); overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--white); box-shadow: var(--shadow); }
.home-report-card img { width: 100%; height: 100%; min-height: 260px; object-fit: cover; }
.home-report-card div { padding: 24px; }
.home-report-card span { color: var(--orange); font-weight: 800; }

.reportage-hero { position: relative; min-height: 520px; overflow: hidden; color: var(--white); }
.reportage-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.reportage-hero-overlay { position: absolute; inset: 0; display: flex; align-items: flex-end; padding: 70px 0; background: linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.78)); }
.reportage-hero h1 { max-width: 980px; margin: 0; color: var(--white); font-size: clamp(2rem, 5vw, 4.6rem); line-height: 1.04; letter-spacing: 0; }
.reportage-subtitle { margin: 12px 0 0; max-width: 720px; font-size: 1.25rem; color: rgba(255,255,255,.9); }
.reportage-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.reportage-meta span { padding: 8px 10px; border-radius: 999px; background: rgba(255,255,255,.16); color: var(--white); font-weight: 800; }
.reportage-intro { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 22px; align-items: center; }
.reportage-intro p { margin: 0; font-size: 1.18rem; font-weight: 700; }
.reportage-actions { display: flex; flex-wrap: wrap; gap: 10px; }

.slideshow { position: relative; overflow: hidden; border-radius: 8px; background: var(--text); box-shadow: var(--shadow); }
.slides { position: relative; min-height: 560px; }
.slide { position: absolute; inset: 0; margin: 0; opacity: 0; pointer-events: none; transition: opacity .35s ease; }
.slide.active { opacity: 1; pointer-events: auto; }
.slide img { width: 100%; height: 100%; min-height: 560px; object-fit: cover; }
.slide figcaption { position: absolute; left: 20px; right: 20px; bottom: 74px; padding: 12px 14px; border-radius: 6px; color: var(--white); background: rgba(0,0,0,.58); font-weight: 700; }
.slide-control, .lightbox-nav, .lightbox-close { border: 0; color: var(--white); background: rgba(0,0,0,.52); cursor: pointer; }
.slide-control { position: absolute; top: 50%; transform: translateY(-50%); width: 46px; height: 56px; border-radius: 6px; font-size: 2rem; }
.slide-control.prev { left: 14px; }
.slide-control.next { right: 14px; }
.slide-footer { position: absolute; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 18px; color: var(--white); background: rgba(0,0,0,.66); font-weight: 800; }
.slide-dots { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.slide-dots button { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.48); cursor: pointer; }
.slide-dots button.active { background: var(--white); }
.reportage-text { max-width: 900px; padding: 30px; border-radius: 8px; background: var(--white); box-shadow: var(--shadow); }
.reportage-text p { font-size: 1.05rem; }
.reportage-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.reportage-figure { margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--white); box-shadow: 0 10px 26px rgba(38,50,56,.08); }
.lightbox-trigger { display: block; width: 100%; padding: 0; border: 0; background: transparent; cursor: pointer; }
.reportage-figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .25s ease; }
.reportage-figure:hover img { transform: scale(1.03); }
.reportage-figure figcaption { padding: 12px; color: var(--text); font-size: .92rem; font-weight: 700; }
.lightbox { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 24px; background: rgba(0,0,0,.92); }
.lightbox[hidden] { display: none; }
.lightbox figure { width: min(1100px, 100%); margin: 0; color: var(--white); text-align: center; }
.lightbox img { max-width: 100%; max-height: 78vh; object-fit: contain; }
.lightbox figcaption { margin-top: 12px; font-weight: 700; }
.lightbox [data-lightbox-count] { display: block; margin-top: 6px; color: rgba(255,255,255,.72); }
.lightbox-close { position: fixed; top: 14px; right: 14px; width: 46px; height: 46px; border-radius: 6px; font-size: 2rem; }
.lightbox-nav { position: fixed; top: 50%; transform: translateY(-50%); width: 50px; height: 62px; border-radius: 6px; font-size: 2.2rem; }
.lightbox-nav.prev { left: 16px; }
.lightbox-nav.next { right: 16px; }
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .45s ease, transform .45s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1024px) { .reportage-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); } .slides, .slide img { min-height: 480px; } }
@media (max-width: 768px) { .home-report-grid, .home-report-card, .reportage-intro { grid-template-columns: 1fr; } .reportage-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } .reportage-card, .reportage-card a { min-height: 360px; } .reportage-hero { min-height: 460px; } .slides, .slide img { min-height: 420px; } .slide figcaption { bottom: 86px; } }
@media (max-width: 480px) { .reportage-gallery { grid-template-columns: 1fr; } .reportage-card, .reportage-card a { min-height: 430px; } .reportage-card-overlay { padding: 20px; } .reportage-hero { min-height: 520px; } .slides, .slide img { min-height: 360px; } .slide-footer { align-items: flex-start; flex-direction: column; } .slide-control { width: 40px; height: 48px; } .lightbox { padding: 8px; } .lightbox img { max-height: 82vh; } .lightbox-nav { width: 42px; height: 54px; } }
@media (prefers-reduced-motion: reduce) { .reveal, .slide, .reportage-card img, .reportage-figure img { transition: none; } .reveal { opacity: 1; transform: none; } }
.admin-grid.wide { grid-template-columns: 320px minmax(0, 1fr); }
@media (max-width: 1024px) { .admin-grid.wide { grid-template-columns: 1fr; } }


/* Menu principal regroupé */
.navbar{overflow:visible}
.main-menu{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:8px;margin:0;padding:0;list-style:none}
.main-menu>li{position:relative;list-style:none}
.main-menu .nav-link,.dropdown-toggle{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 13px;border:0;border-radius:8px;background:transparent;color:var(--text);font-size:.92rem;font-weight:800;white-space:nowrap;cursor:pointer}
.main-menu .nav-link:hover,.main-menu .nav-link.active,.dropdown-toggle:hover,.nav-dropdown.active>.dropdown-toggle,.nav-dropdown.open>.dropdown-toggle{color:var(--white);background:var(--green)}
.contact-link{background:var(--green)!important;color:var(--white)!important}
.contact-link:hover,.contact-link.active{background:var(--green-dark)!important}
.dropdown-toggle span{font-size:1rem;transition:transform .2s ease}
.nav-dropdown.open>.dropdown-toggle span{transform:rotate(180deg)}
.dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;z-index:1200;display:none;min-width:235px;margin:0;padding:9px;border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:0 16px 35px rgba(38,50,56,.16);list-style:none}
.nav-dropdown.open>.dropdown-menu{display:block}
.dropdown-menu li{list-style:none}
.dropdown-menu a{display:block;width:100%;padding:11px 12px;border-radius:8px;color:var(--text);font-size:.9rem;font-weight:700;white-space:nowrap}
.dropdown-menu a:hover,.dropdown-menu a:focus{color:var(--green);background:var(--green-pale,#E8F5E9)}
@media (hover:hover) and (min-width:961px){.nav-dropdown:hover>.dropdown-menu{display:block}.nav-dropdown:hover>.dropdown-toggle span{transform:rotate(180deg)}}
@media(max-width:960px){
  .main-menu{position:absolute;left:20px;right:20px;top:112px;display:none;flex-direction:column;align-items:stretch;gap:5px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:var(--shadow)}
  .main-menu.open{display:flex}
  .main-menu>li{width:100%}
  .main-menu .nav-link,.dropdown-toggle{width:100%;justify-content:space-between;min-height:46px;padding:0 14px}
  .dropdown-menu{position:static;display:none;min-width:0;margin:5px 0 3px;padding:5px 8px 6px 16px;border:0;border-left:3px solid var(--green-soft,#C8E6C9);border-radius:0;background:var(--green-pale,#E8F5E9);box-shadow:none}
  .nav-dropdown.open>.dropdown-menu{display:block}
  .dropdown-menu a{padding:10px 12px;white-space:normal}
}


/* Corrections professionnelles — menu et fond public */
body{background:var(--bg)}
.site-header{background:#fff}
main{background:var(--bg)}
.section{background:var(--white)}
.section.light{background:var(--green-light)}
.card,.info-card,.home-report-card,.hero-panel,.dg-word,.reportage-article,.gallery-report-card,.contact-form,.partner-card,.zone-card,.resource-card{background:#fff}

.dropdown-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;line-height:1;border:0}
.dropdown-toggle::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transform-origin:center;transition:transform .2s ease;margin-left:2px;flex:0 0 auto}
.nav-dropdown.open>.dropdown-toggle::after{transform:rotate(225deg) translate(-1px,-1px)}
@media (hover:hover) and (min-width:961px){.nav-dropdown:hover>.dropdown-toggle::after{transform:rotate(225deg) translate(-1px,-1px)}}

.main-menu .nav-link,.dropdown-toggle{min-height:44px;padding:0 15px;border-radius:9px;vertical-align:middle}
.dropdown-menu{top:calc(100% + 10px);padding:10px;border-radius:14px;box-shadow:0 18px 42px rgba(38,50,56,.18)}
.dropdown-menu::before{content:"";position:absolute;top:-6px;left:24px;width:12px;height:12px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}
.dropdown-menu a{position:relative;z-index:1;padding:11px 13px;border-radius:9px}
.dropdown-menu a:hover,.dropdown-menu a:focus-visible{background:#E8F5E9;color:#1B5E20;outline:none}

.footer-bottom{justify-content:flex-start}

@media(max-width:960px){
  .dropdown-toggle{justify-content:space-between}
  .dropdown-menu::before{display:none}
  .nav-dropdown.open>.dropdown-toggle::after{transform:rotate(225deg) translate(-1px,-1px)}
}

/* Correction finale du menu : aucun chevron ni lettre sous les onglets */
.dropdown-toggle::before,
.dropdown-toggle::after,
.nav-dropdown > .dropdown-toggle::before,
.nav-dropdown > .dropdown-toggle::after,
.nav-dropdown.open > .dropdown-toggle::before,
.nav-dropdown.open > .dropdown-toggle::after,
.nav-dropdown:hover > .dropdown-toggle::before,
.nav-dropdown:hover > .dropdown-toggle::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  margin: 0 !important;
  transform: none !important;
}

.dropdown-toggle,
.main-menu .dropdown-toggle {
  gap: 0 !important;
  padding-inline: 16px !important;
  justify-content: center !important;
}

.dropdown-toggle > span,
.dropdown-toggle .arrow,
.dropdown-toggle .chevron,
.dropdown-toggle .caret {
  display: none !important;
}

@media (max-width: 960px) {
  .dropdown-toggle,
  .main-menu .dropdown-toggle {
    justify-content: flex-start !important;
  }
}


/* Navigation multipage compacte : tous les onglets sur une ligne */
.navbar{max-width:1500px;width:calc(100% - 24px);gap:14px}
.brand{min-width:210px;flex:0 0 auto}
.brand div{display:none}
.brand img{width:54px;height:54px}
.main-menu{display:flex;align-items:center;justify-content:flex-end;gap:2px;flex-wrap:nowrap;white-space:nowrap;margin-left:auto}
.main-menu>li{position:relative;flex:0 0 auto}
.main-menu .nav-link{display:inline-flex;align-items:center;min-height:40px;padding:0 9px;border-radius:7px;font-size:.78rem;font-weight:750;white-space:nowrap}
.main-menu .nav-link:hover,.main-menu .nav-link.active{background:var(--green);color:#fff}
.single-column{max-width:780px;margin-inline:auto}
/* Les anciens menus déroulants ne sont plus utilisés */
.nav-dropdown,.dropdown-menu,.dropdown-toggle{display:none!important}
@media(max-width:1180px) and (min-width:961px){
 .brand{min-width:62px}.main-menu .nav-link{font-size:.72rem;padding:0 6px}.navbar{width:calc(100% - 14px);gap:6px}
}
@media(max-width:960px){
 .brand div{display:block}.navbar{width:min(100% - 28px,var(--container));max-width:var(--container)}
 .main-menu{display:none;position:absolute;left:14px;right:14px;top:calc(100% + 1px);z-index:1000;flex-direction:column;align-items:stretch;gap:2px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 35px rgba(38,50,56,.16);white-space:normal}
 .main-menu.open{display:flex}.main-menu .nav-link{width:100%;justify-content:flex-start;min-height:44px;padding:0 14px;font-size:.92rem}
}

/* Amélioration typographique des titres et agrandissement du logo IRED */
.page-hero {
  padding: clamp(64px, 7vw, 96px) 0;
}

.page-hero .container {
  max-width: 1180px;
}

.page-hero h1 {
  max-width: 1000px;
  margin: 6px 0 0;
  color: var(--green);
  font-size: clamp(2.35rem, 4.4vw, 4.35rem);
  font-weight: 800;
  line-height: 1.07;
  letter-spacing: -0.035em;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
}

.page-hero .eyebrow {
  margin-bottom: 14px;
  color: var(--orange);
  font-size: .82rem;
  letter-spacing: .14em;
}

.page-hero p:last-child {
  max-width: 820px;
  margin-top: 20px;
  font-size: clamp(1.02rem, 1.5vw, 1.22rem);
  line-height: 1.7;
}

.section-heading h2,
.section > .container > h2,
.two-columns h2,
.dg-word h2 {
  position: relative;
  margin-bottom: 22px;
  color: var(--green);
  font-size: clamp(2rem, 3.4vw, 3.15rem);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.section-heading h2::after,
.section > .container > h2::after,
.two-columns h2::after,
.dg-word h2::after {
  content: "";
  display: block;
  width: 72px;
  height: 4px;
  margin-top: 14px;
  border-radius: 999px;
  background: var(--orange);
}

.section-heading.centered h2::after {
  margin-inline: auto;
}

.navbar {
  min-height: 100px;
}

.brand img {
  width: 82px !important;
  height: 82px !important;
  object-fit: contain;
  flex: 0 0 auto;
}

@media (max-width: 1180px) and (min-width: 961px) {
  .brand img {
    width: 68px !important;
    height: 68px !important;
  }
}

@media (max-width: 960px) {
  .navbar {
    min-height: 86px;
  }
  .brand img {
    width: 64px !important;
    height: 64px !important;
  }
  .page-hero h1 {
    font-size: clamp(2.15rem, 7vw, 3.35rem);
  }
}

@media (max-width: 480px) {
  .brand img {
    width: 58px !important;
    height: 58px !important;
  }
  .page-hero {
    padding: 56px 0;
  }
  .page-hero h1 {
    font-size: clamp(2rem, 10vw, 2.65rem);
    line-height: 1.1;
  }
  .section-heading h2,
  .section > .container > h2,
  .two-columns h2,
  .dg-word h2 {
    font-size: clamp(1.75rem, 8vw, 2.35rem);
  }
}


/* VERSION FINALE — titres équilibrés et logo IRED mieux visible */
.page-hero {
  padding: clamp(52px, 6vw, 78px) 0;
}
.page-hero h1 {
  max-width: 920px;
  margin: 8px 0 0;
  font-size: clamp(2rem, 3.7vw, 3.35rem) !important;
  font-weight: 720 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
}
.reportage-hero h1 {
  max-width: 940px;
  font-size: clamp(1.95rem, 3.8vw, 3.35rem) !important;
  font-weight: 720 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-wrap: balance;
}
.section-heading h2,
.section > .container > h2,
.two-columns h2,
.dg-word h2,
.reportage-text h2 {
  font-size: clamp(1.65rem, 2.7vw, 2.45rem) !important;
  font-weight: 720 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.018em !important;
}
.navbar { min-height: 108px; }
.brand img {
  width: 96px !important;
  height: 86px !important;
  object-fit: contain !important;
}
.slide-footer { justify-content: center; }
@media (max-width: 1180px) and (min-width: 961px) {
  .brand img { width: 78px !important; height: 72px !important; }
}
@media (max-width: 960px) {
  .navbar { min-height: 88px; }
  .brand img { width: 68px !important; height: 64px !important; }
  .page-hero h1, .reportage-hero h1 { font-size: clamp(1.9rem, 7vw, 2.75rem) !important; }
}
@media (max-width: 480px) {
  .brand img { width: 60px !important; height: 58px !important; }
  .page-hero h1, .reportage-hero h1 { font-size: clamp(1.75rem, 9vw, 2.3rem) !important; }
}


/* FOVAC — finition institutionnelle 2026 */
:root{--container:1240px;--green:#2E7D32;--green-dark:#1B5E20;--green-soft:#EEF7EF;--blue:#1565C0;--orange:#EF6C00;--ink:#263238;--muted:#5F6F75;--line:#DDE7DF;--surface:#FFFFFF;--page:#F6F8F7}
body{background:var(--page);color:var(--ink);font-size:16px}
.section{padding:clamp(64px,7vw,96px) 0}
.section-heading{max-width:820px;margin-bottom:38px}
.section-heading.centered{margin-inline:auto;text-align:center}
.section-heading h2,.section>.container>h2,.two-columns h2,.dg-word h2,.reportage-text h2{font-size:clamp(1.85rem,2.8vw,2.75rem)!important;font-weight:750!important;line-height:1.16!important;letter-spacing:-.025em!important;max-width:860px}
.page-hero{padding:clamp(54px,6vw,82px) 0;background:linear-gradient(135deg,#f1f8f2,#fff)}
.page-hero h1,.reportage-hero h1{font-size:clamp(2rem,3.5vw,3.35rem)!important;font-weight:760!important;line-height:1.1!important;letter-spacing:-.035em!important;max-width:900px}
.page-hero p:last-child{max-width:760px;font-size:1.08rem;line-height:1.72;color:var(--muted)}

/* Accueil : bannière éditoriale équilibrée */
.home-hero-pro{padding:clamp(64px,7vw,98px) 0;background:linear-gradient(115deg,#eef7ef 0%,#f9fbfa 56%,#fff 100%);min-height:auto}
.hero-pro-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr);gap:clamp(42px,6vw,82px);align-items:center}
.hero-copy-pro{max-width:680px}
.hero-copy-pro h1{margin:14px 0 24px;font-size:clamp(2.7rem,5.1vw,5.1rem);font-weight:760;line-height:.98;letter-spacing:-.055em;text-wrap:balance;color:var(--ink)}
.hero-copy-pro .lead{max-width:650px;font-size:clamp(1.05rem,1.45vw,1.25rem);line-height:1.68;color:var(--muted)}
.hero-actions-pro{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.hero-actions-pro .btn{min-height:50px;padding:0 23px}
.hero-note{margin-top:22px;font-size:.9rem;color:#6c7b80}
.hero-visual{position:relative;min-height:510px;border-radius:28px;overflow:hidden;box-shadow:0 28px 65px rgba(38,50,56,.18)}
.hero-visual img{width:100%;height:100%;min-height:510px;object-fit:cover;object-position:center}
.hero-visual::after{content:"";position:absolute;inset:auto 0 0;height:40%;background:linear-gradient(transparent,rgba(12,32,20,.82))}
.hero-visual-caption{position:absolute;z-index:2;left:28px;right:28px;bottom:24px;color:#fff;display:grid;gap:4px}
.hero-visual-caption strong{font-size:1.08rem}.hero-visual-caption span{font-size:.9rem;color:#dfeae2}
.partner-band{background:#fff;border-block:1px solid var(--line)}
.partner-band-inner{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.partner-band-inner>p{font-weight:700;color:var(--muted)}
.partner-band-logos{display:flex;align-items:center;gap:28px}.partner-band-logos img{width:120px;height:68px;object-fit:contain}
.intro-pro-section{background:#fff}
.intro-pro-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:70px;align-items:center}
.intro-pro-copy{max-width:760px}.intro-pro-copy h2{font-size:clamp(2rem,3.2vw,3.1rem);line-height:1.12;letter-spacing:-.03em;color:var(--green);margin:12px 0 24px}.intro-pro-copy p{font-size:1.08rem;line-height:1.78;color:var(--muted);margin-bottom:16px}
.key-points{display:grid;grid-template-columns:1fr 1fr;gap:14px}.key-points article{background:var(--green-soft);border:1px solid #d7e7da;border-radius:18px;padding:22px;min-height:132px}.key-points strong{display:block;color:var(--green);font-size:1.65rem;margin-bottom:8px}.key-points span{color:var(--muted);line-height:1.4}
.home-report-card{border-radius:20px;overflow:hidden;border:1px solid var(--line);box-shadow:0 12px 32px rgba(38,50,56,.08)}
.home-report-card img{height:310px;object-fit:cover}.home-report-card>div{padding:26px}.home-report-card h3{font-size:1.35rem;line-height:1.3}
.card,.info-card,.partner-card{border:1px solid var(--line);box-shadow:0 10px 28px rgba(38,50,56,.07)}

/* En-tête lisible, logo renforcé, onglets sur une ligne */
.navbar{min-height:96px;max-width:1500px;width:calc(100% - 32px)}
.brand{min-width:102px}.brand img{width:94px!important;height:82px!important}.brand div{display:none}
.main-menu{gap:3px}.main-menu .nav-link{font-size:.79rem;min-height:42px;padding:0 9px;border-radius:8px}

/* Administration simplifiée */
.admin-tip{margin:18px 0;padding:14px;border-radius:12px;background:#eef7ef;border:1px solid #d7e7da}.admin-tip p{margin:5px 0 0}
.panel-intro{color:#607D8B;margin-top:-4px}.template-guide{background:#f7faf8;border:1px solid #dbe8de;border-left:5px solid var(--orange);border-radius:12px;padding:16px 18px;margin-bottom:20px}.template-guide strong{color:var(--green)}.template-guide ul{display:flex;flex-wrap:wrap;gap:7px 20px;margin:10px 0 0;padding-left:18px;color:#52636a}.publish-main{min-width:180px;box-shadow:0 10px 22px rgba(46,125,50,.22)}

@media(max-width:1100px){.hero-pro-grid{grid-template-columns:1fr 1fr;gap:34px}.hero-copy-pro h1{font-size:clamp(2.5rem,5vw,4.2rem)}.main-menu .nav-link{font-size:.72rem;padding:0 6px}.brand img{width:76px!important;height:68px!important}}
@media(max-width:960px){.hero-pro-grid,.intro-pro-grid{grid-template-columns:1fr}.hero-copy-pro{max-width:760px}.hero-visual{min-height:420px}.hero-visual img{min-height:420px}.partner-band-inner{flex-direction:column;justify-content:center;padding:20px 0}.partner-band-logos{flex-wrap:wrap;justify-content:center}.brand div{display:block}.brand img{width:66px!important;height:62px!important}}
@media(max-width:640px){.home-hero-pro{padding:52px 0}.hero-copy-pro h1{font-size:clamp(2.25rem,11vw,3.15rem);line-height:1.04}.hero-actions-pro{display:grid}.hero-actions-pro .btn{width:100%}.hero-visual{min-height:330px;border-radius:20px}.hero-visual img{min-height:330px}.partner-band-logos{gap:12px}.partner-band-logos img{width:90px;height:54px}.key-points{grid-template-columns:1fr}.intro-pro-grid{gap:36px}.home-report-card img{height:230px}}

/* Compléments institutionnels et contexte tchadien */
.partner-band-title{text-align:center;font-weight:800;margin:0 0 18px;color:var(--muted)}
.all-logo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;align-items:stretch}
.all-logo-grid figure{margin:0;min-height:150px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--white);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 8px 22px rgba(38,50,56,.06)}
.all-logo-grid img{width:100%;height:78px;object-fit:contain}
.all-logo-grid figcaption{margin-top:10px;font-weight:800;color:var(--text);line-height:1.25}.all-logo-grid small{color:var(--muted)}
.funding-logos{grid-template-columns:repeat(3,minmax(0,1fr));max-width:880px;margin:0 auto}.funding-logos img{height:92px}
.context-layout{align-items:center}.context-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.context-photo-grid img{width:100%;height:180px;object-fit:cover;border-radius:12px;box-shadow:var(--shadow)}.context-photo-grid img:first-child{grid-column:1/-1;height:240px}
.tchad-context{background:linear-gradient(135deg,#f3f8f2,#fff7e7)}
.footer-context-logos,.footer-funders{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px}.footer-context-logos img,.footer-funders img{height:46px;width:auto;max-width:130px;object-fit:contain;background:#fff;border-radius:6px;padding:4px}
.map-context-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}.project-map{margin:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.project-map img{width:100%;height:auto}.project-map figcaption{margin-top:10px;color:var(--muted);font-size:.92rem}
.legend-list{list-style:none;padding:0;margin:18px 0}.legend-list li{display:flex;align-items:center;gap:10px;margin:12px 0}.legend-color{display:inline-block;width:28px;height:18px;border:1px solid #666;flex:0 0 auto}.legend-color.accept{background:#59c954}.legend-color.sials{background:radial-gradient(#444 1.6px,transparent 1.8px);background-size:7px 7px}.legend-color.fovac{background:#aeb7ba}
.zone-tags{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.zone-tags span{padding:11px 15px;border-radius:999px;background:var(--green-light);color:var(--green);font-weight:800;border:1px solid var(--green-soft)}
.partner-role-cards{margin-top:28px}
@media(max-width:900px){.all-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.funding-logos{grid-template-columns:1fr}.map-context-grid{grid-template-columns:1fr}}
@media(max-width:560px){.all-logo-grid{grid-template-columns:1fr}.context-photo-grid{grid-template-columns:1fr}.context-photo-grid img:first-child{grid-column:auto;height:190px}.context-photo-grid img{height:190px}}
