/* =========================================================
   SACIA WORDPRESS THEME — V9.0 FINAL HERO COMPOSITION
   ========================================================= */
:root{--sacia-blue:#163a68;--sacia-navy:#1d385f;--sacia-line:#dfe5ed}

/* ---------------------------------------------------------
   HERO — approved V9 composition
   The visual is deliberately a complete wide composition and
   is displayed without zooming the subject.
   --------------------------------------------------------- */
.hero{background:linear-gradient(90deg,#fff 0%,#fbfcfe 58%,#eef4fa 100%)!important;overflow:hidden!important}
.hero .wrap.hero-grid{
  position:relative!important;
  display:block!important;
  height:610px!important;
  min-height:610px!important;
  overflow:hidden!important;
}
.hero-copy{
  position:relative!important;
  z-index:10!important;
  width:47%!important;
  height:610px!important;
  min-height:610px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:46px 0 40px!important;
}
.hero-copy .kicker{margin:0 0 13px!important;color:#36577f!important}
.hero-copy h1{
  max-width:650px!important;
  margin:0 0 18px!important;
  font-size:clamp(56px,4.7vw,86px)!important;
  line-height:.94!important;
  letter-spacing:-.048em!important;
  color:#16243a!important;
}
.hero-copy h2{max-width:570px!important;margin:0 0 18px!important;color:#334d70!important}
.hero-copy>p{max-width:560px!important;margin:0 0 22px!important;font-size:13px!important;line-height:1.72!important}
.hero-actions{position:relative!important;z-index:11!important;margin-top:0!important}

/* The V9 artwork is kept whole: no object-fit:cover zoom. */
.hero-photo{
  position:absolute!important;
  z-index:1!important;
  top:0!important;
  right:0!important;
  width:min(73%,1038px)!important;
  height:610px!important;
  min-height:610px!important;
  overflow:hidden!important;
  background:transparent!important;
}
.hero-photo picture{display:block!important;width:100%!important;height:100%!important}
.hero-photo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:right center!important;
  filter:none!important;
}
/* The artwork already contains the quote and initiative signature. */
.hero-quote,.hero-quote-v8,.hero-swiss-v8{display:none!important}
.hero-photo:before{
  content:""!important;
  position:absolute!important;
  z-index:3!important;
  inset:0!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,
    rgba(255,255,255,1) 0%,
    rgba(255,255,255,.97) 7%,
    rgba(255,255,255,.80) 17%,
    rgba(255,255,255,.42) 28%,
    rgba(255,255,255,.10) 39%,
    rgba(255,255,255,0) 50%)!important;
}
.hero-photo:after{display:none!important}

/* ---------------------------------------------------------
   SACIA — association de droit suisse and governance
   --------------------------------------------------------- */
.association-note{margin-top:18px!important;padding:14px 16px!important;border-left:3px solid var(--sacia-blue)!important;background:#f4f7fa!important;color:#3f5066!important;font-size:12px!important;line-height:1.65!important}
.association-note strong,.team-legal strong{font-family:Montserrat,Inter,sans-serif!important;color:#1f3d67!important}
.team{padding:92px 0!important;background:#fff!important}
.team-legal{max-width:920px!important;margin:0 0 42px!important;color:#526176!important;font-size:15px!important;line-height:1.75!important}
.team-section-label{display:flex!important;align-items:center!important;gap:18px!important;margin:48px 0 24px!important}
.team-section-label:after{content:""!important;height:1px!important;background:var(--sacia-line)!important;flex:1!important}
.team-section-label h3{margin:0!important;font-size:18px!important;letter-spacing:.02em!important;color:#1e3d67!important;text-transform:uppercase!important}
.team-section-label span{font-size:11px!important;color:#68778a!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.08em!important}
.team-card{min-height:440px!important}.team-info{flex:1!important;display:flex!important;flex-direction:column!important}.team-bio{margin-top:auto!important;padding-top:14px!important}

/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */
@media(max-width:1500px){
  .hero .wrap.hero-grid{height:570px!important;min-height:570px!important}
  .hero-copy{height:570px!important;min-height:570px!important;width:48%!important}
  .hero-photo{height:570px!important;min-height:570px!important;width:75%!important}
  .hero-copy h1{font-size:clamp(52px,4.5vw,76px)!important}
}
@media(max-width:1100px){
  .hero .wrap.hero-grid{height:530px!important;min-height:530px!important}
  .hero-copy{height:530px!important;min-height:530px!important;width:54%!important;padding:34px 0!important}
  .hero-photo{height:530px!important;min-height:530px!important;width:77%!important}
  .hero-copy h1{font-size:clamp(46px,5vw,66px)!important}
}
@media(max-width:900px){
  .hero .wrap.hero-grid{display:flex!important;flex-direction:column!important;height:auto!important;min-height:0!important;overflow:visible!important}
  .hero-copy{width:100%!important;height:auto!important;min-height:0!important;padding:50px 0 30px!important}
  .hero-photo{position:relative!important;top:auto!important;right:auto!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1358/709!important;background:#eef4fa!important}
  .hero-photo img{object-fit:contain!important;object-position:center center!important}
  .hero-photo:before{background:linear-gradient(180deg,rgba(255,255,255,.25),rgba(255,255,255,0) 32%)!important}
}
@media(max-width:760px){
  .hero-copy h1{font-size:clamp(42px,11.6vw,60px)!important}
  .hero-photo{aspect-ratio:1/1!important}
  .hero-photo img{object-fit:cover!important;object-position:62% center!important}
  .team-section-label{align-items:flex-start!important;flex-direction:column!important;gap:8px!important}
  .team-section-label:after{display:none!important}
}


/* =========================================================
   SACIA V9.2 — BUG FIX ONLY
   Aucun changement de design : correction des débordements,
   du menu et des retours à la ligne affichés comme "\n".
   ========================================================= */
html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden!important;
}
body{position:relative!important;}
.site-header,main,footer{max-width:100%;overflow-x:clip;}
.nav-shell{min-width:0!important;max-width:100%!important;}
.brand{min-width:0!important;flex:0 1 auto!important;}
.brand img,.brand .custom-logo{max-width:100%!important;height:auto!important;}
.main-nav{min-width:0!important;}
.hero,.hero .wrap.hero-grid{max-width:100%!important;}

/* Empêche les éléments de grille de forcer une largeur supérieure à l'écran. */
.wrap,.why-grid,.complement-grid,.mission-grid,.team-grid,.program-grid,
.impact-grid,.partner-logos,.footer-top,.strip-grid{min-width:0!important;}
.wrap>*{min-width:0;}

/* À largeur intermédiaire, le menu reste entièrement visible sans couper le logo
   ni le bouton Contact. */
@media(max-width:1180px) and (min-width:761px){
  .nav-shell{width:min(100% - 32px,1460px)!important;gap:14px!important;}
  .brand img,.brand .custom-logo{width:185px!important;}
  .main-nav ul{gap:16px!important;}
  .main-nav a{font-size:10px!important;}
  .nav-tools{gap:12px!important;}
  .contact-btn{padding:12px 17px!important;}
}

/* =========================================================
   SACIA V9.3 — CORRECTION CIBLÉE DE LA SECTION
   « DEUX DOMAINES COMPLÉMENTAIRES »
   Aucun changement de contenu ou de direction graphique.
   ========================================================= */
.complement{
  overflow:hidden!important;
}
.complement-grid{
  /* Les anciennes colonnes 38% + 31% + 31%, additionnées au gap,
     dépassaient la largeur disponible et provoquaient le chevauchement. */
  grid-template-columns:minmax(0,40%) minmax(0,1fr) minmax(0,1fr)!important;
  column-gap:18px!important;
  row-gap:18px!important;
  align-items:stretch!important;
}
.complement-copy{
  min-width:0!important;
  padding-right:20px!important;
}
.complement-copy h2{
  width:100%!important;
  max-width:100%!important;
  font-size:clamp(42px,3.1vw,54px)!important;
  line-height:1.03!important;
  letter-spacing:-.04em!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.domain-card{
  min-width:0!important;
}

/* Empêche tout retour du chevauchement sur les grands écrans intermédiaires. */
@media(max-width:1180px) and (min-width:901px){
  .complement-grid{
    grid-template-columns:minmax(0,42%) minmax(0,1fr) minmax(0,1fr)!important;
  }
  .complement-copy h2{
    font-size:clamp(38px,4.2vw,50px)!important;
  }
}
@media(max-width:900px){
  .complement-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
  .complement-copy{
    grid-column:1/-1!important;
    padding-right:0!important;
  }
  .complement-copy h2{
    font-size:clamp(40px,6vw,54px)!important;
  }
}
@media(max-width:760px){
  .complement-grid{
    grid-template-columns:1fr!important;
  }
  .complement-copy{
    grid-column:auto!important;
  }
}


/* V9.5 — Logos partenaires Hero : taille et affichage fiables */
.partner-strip .founder{display:flex;align-items:center;min-height:64px;overflow:hidden}
.partner-strip .founder img{display:block;width:auto;max-width:150px;max-height:58px;height:auto;object-fit:contain}
.partner-strip .founder.uccas img{max-width:175px;max-height:60px}
@media(max-width:900px){
  .partner-strip .founder img{max-width:130px;max-height:52px}
}
@media(max-width:640px){
  .partner-strip .founder{justify-content:center}
  .partner-strip .founder img{max-width:150px;max-height:60px}
}
/* V9.5.2 — Approche et fiches détaillées des programmes */
.steps h4{min-height:32px}.steps p{min-height:42px}
.program-title-link{color:inherit;text-decoration:none}.program-title-link:hover{color:#2b548e}
.program-card .program-more{position:static!important;display:inline-flex!important;align-items:center;gap:8px;margin-top:18px;color:#244b7b!important;font-size:11px!important;font-weight:800;text-decoration:none;letter-spacing:.02em}.program-card .program-more span{font-size:18px;line-height:1}.program-card>div:last-child{display:flex;flex-direction:column}.program-card .program-more{margin-top:auto}
.program-single-hero{padding:78px 0;background:#f4f7fb;border-bottom:1px solid #dfe7f0}.program-single-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.program-single-copy h1,.program-archive h1{font-size:clamp(42px,5vw,76px);line-height:.98;margin:12px 0 24px;color:#21334f;max-width:820px}.program-single-lead{font-size:20px;line-height:1.6;color:#52657c;max-width:680px;margin-bottom:30px}.program-single-image{min-height:390px;background:#102d58;overflow:hidden}.program-single-image img{display:block;width:100%;height:100%;min-height:390px;object-fit:cover}.program-single-placeholder{min-height:390px;background:linear-gradient(135deg,#102d58,#315f92)}.program-single-content{padding:80px 0}.program-content-wrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:70px;align-items:start}.program-wp-content{font-size:18px;line-height:1.8;color:#4d6076}.program-wp-content h2,.program-wp-content h3{color:#21334f;line-height:1.2;margin-top:36px}.program-wp-content ul,.program-wp-content ol{padding-left:24px}.program-sidebar-card{padding:30px;background:#f4f7fb;border-left:4px solid #244b7b}.program-sidebar-card h3{font-size:24px;line-height:1.15;color:#21334f}.program-sidebar-card p{font-size:15px;line-height:1.65;color:#52657c}.program-back{padding:0 0 80px}.program-archive-head{padding:85px 0 55px;background:#f4f7fb;border-bottom:1px solid #dfe7f0}.program-archive-head p{font-size:18px;line-height:1.6;color:#52657c;max-width:700px}.program-archive-list{padding:65px 0 85px}.program-grid-archive{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.program-single-grid,.program-content-wrap{grid-template-columns:1fr;gap:35px}.program-sidebar{max-width:600px}.program-grid-archive{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.program-single-hero,.program-single-content{padding:55px 0}.program-single-copy h1,.program-archive h1{font-size:42px}.program-grid-archive{grid-template-columns:1fr}.steps h4,.steps p{min-height:0}}

/* =========================================================
   SACIA V9.5.3 — CORRECTION MENU DROITE UNIQUEMENT
   Aucun autre élément du site n'est modifié.
   ========================================================= */
.site-header .nav-shell{
  width:min(calc(100% - 60px),1800px)!important;
  gap:18px!important;
}
.site-header .brand{
  flex:0 0 auto!important;
}
.site-header .main-nav{
  flex:1 1 auto!important;
  margin-left:0!important;
  min-width:0!important;
}
.site-header .main-nav ul{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:clamp(12px,1.45vw,29px)!important;
}
.site-header .main-nav li{
  flex:0 0 auto!important;
}
.site-header .main-nav a{
  white-space:nowrap!important;
}
.site-header .nav-tools{
  flex:0 0 auto!important;
  flex-shrink:0!important;
  gap:18px!important;
  white-space:nowrap!important;
}
.site-header .contact-btn{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}

/* Écrans de largeur intermédiaire : réduction progressive,
   sans chevauchement entre « Nous soutenir » et CONTACT. */
@media(max-width:1500px) and (min-width:1101px){
  .site-header .nav-shell{width:min(calc(100% - 48px),1460px)!important;gap:14px!important;}
  .site-header .brand img,.site-header .brand .custom-logo{width:195px!important;}
  .site-header .main-nav ul{gap:clamp(10px,1vw,18px)!important;}
  .site-header .main-nav a{font-size:10px!important;}
  .site-header .nav-tools{gap:12px!important;}
  .site-header .contact-btn{padding:13px 19px!important;}
}

/* =========================================================
   SACIA V9.6.1 — MENU HEADER : correction du chevauchement
   « Nous soutenir » / recherche / CONTACT.
   ========================================================= */
.site-header .nav-shell{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  gap:18px!important;
}
.site-header .brand{flex:0 0 auto!important;min-width:0!important;}
.site-header .brand img,.site-header .brand .custom-logo,.site-header .brand .sacia-header-logo{
  width:220px!important;
  max-width:220px!important;
  height:auto!important;
  display:block!important;
}
.site-header .main-nav{
  flex:1 1 auto!important;
  min-width:0!important;
  margin-left:0!important;
}
.site-header .main-nav ul{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:clamp(12px,1.35vw,29px)!important;
  min-width:0!important;
}
.site-header .main-nav li{flex:0 0 auto!important;}
.site-header .main-nav a{white-space:nowrap!important;}
.site-header .nav-tools{
  flex:0 0 auto!important;
  flex-shrink:0!important;
  gap:16px!important;
  white-space:nowrap!important;
}
.site-header .search{flex:0 0 auto!important;line-height:1!important;}
.site-header .contact-btn{flex:0 0 auto!important;white-space:nowrap!important;}
@media(max-width:1500px) and (min-width:1101px){
  .site-header .nav-shell{width:min(calc(100% - 48px),1460px)!important;gap:14px!important;}
  .site-header .brand img,.site-header .brand .custom-logo,.site-header .brand .sacia-header-logo{width:195px!important;max-width:195px!important;}
  .site-header .main-nav ul{gap:clamp(9px,1vw,18px)!important;}
  .site-header .main-nav a{font-size:10px!important;}
  .site-header .nav-tools{gap:12px!important;}
  .site-header .contact-btn{padding:13px 19px!important;}
}
@media(max-width:1180px) and (min-width:761px){
  .site-header .nav-shell{width:min(calc(100% - 32px),1460px)!important;gap:10px!important;}
  .site-header .brand img,.site-header .brand .custom-logo,.site-header .brand .sacia-header-logo{width:170px!important;max-width:170px!important;}
  .site-header .main-nav ul{gap:10px!important;}
  .site-header .main-nav a{font-size:9px!important;}
  .site-header .nav-tools{gap:8px!important;}
  .site-header .contact-btn{padding:11px 15px!important;}
}


/* =========================================================
   SACIA V9.6.2 — CORRECTIONS CIBLÉES
   - Header sans chevauchement du menu
   - Logo footer administrable et net
   - Aucun changement de structure visuelle hors correctifs
   ========================================================= */
.site-header .nav-shell{
  width:min(calc(100% - 64px),1800px)!important;
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
}
.site-header .brand{flex:0 0 220px!important;display:block!important;}
.site-header .brand img,.site-header .brand .custom-logo,.site-header .brand .sacia-header-logo{
  width:220px!important;max-width:220px!important;height:auto!important;display:block!important;
}
.site-header .main-nav{flex:1 1 auto!important;min-width:0!important;margin-left:0!important;}
.site-header .main-nav ul{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;
  gap:clamp(12px,1.15vw,26px)!important;width:100%!important;min-width:0!important;
}
.site-header .main-nav li{flex:0 0 auto!important;}
.site-header .main-nav a{white-space:nowrap!important;font-size:11px!important;}
.site-header .nav-tools{flex:0 0 auto!important;display:flex!important;align-items:center!important;gap:18px!important;}
.site-header .search{flex:0 0 auto!important;}
.site-header .contact-btn{flex:0 0 auto!important;white-space:nowrap!important;}

@media(max-width:1450px) and (min-width:1101px){
  .site-header .nav-shell{width:min(calc(100% - 48px),1400px)!important;gap:13px!important;}
  .site-header .brand{flex-basis:190px!important;}
  .site-header .brand img,.site-header .brand .custom-logo,.site-header .brand .sacia-header-logo{width:190px!important;max-width:190px!important;}
  .site-header .main-nav ul{gap:clamp(8px,.8vw,14px)!important;}
  .site-header .main-nav a{font-size:10px!important;}
  .site-header .nav-tools{gap:12px!important;}
  .site-header .contact-btn{padding:13px 18px!important;}
}
@media(max-width:1220px) and (min-width:761px){
  .site-header .nav-shell{width:calc(100% - 32px)!important;gap:10px!important;}
  .site-header .brand{flex-basis:170px!important;}
  .site-header .brand img,.site-header .brand .custom-logo,.site-header .brand .sacia-header-logo{width:170px!important;max-width:170px!important;}
  .site-header .main-nav ul{gap:9px!important;}
  .site-header .main-nav a{font-size:9px!important;}
  .site-header .search{display:none!important;}
  .site-header .nav-tools{gap:0!important;}
  .site-header .contact-btn{padding:11px 15px!important;}
}

.footer-brand .sacia-footer-logo{
  display:block!important;width:auto!important;max-width:260px!important;height:auto!important;
  max-height:105px!important;object-fit:contain!important;object-position:left center!important;
}


/* =========================================================
   SACIA V9.6.5 — BIO DIRIGEANTS ALIGNÉES / ANTI-DÉBORDEMENT
   Correctifs CSS ciblés uniquement : le design général reste inchangé.
   ========================================================= */
/* Les quatre cartes de gouvernance réservent la même hauteur au nom et
   à la fonction : les biographies commencent ainsi sur une ligne commune. */
.team-grid > .team-card{min-width:0;}
.team-card .team-info{min-width:0;}
.team-card .team-info h3{
  min-height:2.5em;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
}
.team-card .team-info .team-role{
  min-height:4.5em;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
}
.team-card .team-info .team-bio{
  margin-top:16px!important;
  padding-top:0!important;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
  min-width:0;
}
.team-card .team-info .team-bio p{margin:0 0 .75em;}
.team-card .team-info .team-bio p:last-child{margin-bottom:0;}
/* Empêche les titres, paragraphes et grilles de sortir de leur conteneur. */
.wrap,.team-grid,.team-head,.team-card,.team-info,
.complement-grid,.complement-copy,.domain-card,.why-copy,.mission-copy,
.approach,.steps,.program-grid,.program-card{min-width:0;}
.complement-copy h2,.why-copy h2,.mission-copy h2,
.team-head h2,.center-head h2,.program-card h3,.domain-card h3{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
}
.complement-copy p,.why-copy p,.mission-copy p,.team-info p,
.program-card p,.domain-card p{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
}
img{max-width:100%;}
@media(max-width:760px){
  .team-card .team-info h3{min-height:0;}
  .team-card .team-info .team-role{min-height:0;}
}


/* V9.6.8 — Bandeau « En partenariat avec… » : grille extensible de logos.
   Cible précisément la bande visible sous la Hero. Nombre de logos non limité par la mise en page. */
.partner-strip .strip-grid{
  display:grid!important;
  grid-template-columns:minmax(180px,220px) minmax(0,1fr)!important;
  grid-template-areas:"label logos" "audiences audiences"!important;
  align-items:center!important;
  column-gap:28px!important;
  row-gap:12px!important;
  min-height:unset!important;
  padding-top:22px!important;
  padding-bottom:20px!important;
}
.partner-strip .strip-grid>.strip-label{grid-area:label!important;align-self:center;min-width:0!important;}
.partner-strip .strip-grid>.strip-partners{
  grid-area:logos!important;
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(125px,1fr))!important;
  align-items:center!important;
  justify-items:center!important;
  gap:14px 18px!important;
}
.partner-strip .strip-partners .founder{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:68px!important;
  margin:0!important;
  padding:4px 8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
}
.partner-strip .strip-partners .founder img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:70px!important;
  object-fit:contain!important;
}
.partner-strip .strip-partners .founder.uccas{width:100%!important;}
.partner-strip .strip-grid>.audiences{
  grid-area:audiences!important;
  display:block!important;
  min-width:0!important;
  width:100%!important;
  text-align:right!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:1100px){
  .partner-strip .strip-grid{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"label" "logos" "audiences"!important;
    row-gap:14px!important;
  }
  .partner-strip .strip-grid>.strip-partners{
    grid-template-columns:repeat(auto-fit,minmax(125px,1fr))!important;
    justify-items:stretch!important;
  }
  .partner-strip .strip-grid>.audiences{text-align:left!important;}
}
@media(max-width:600px){
  .partner-strip .strip-grid{padding-top:18px!important;padding-bottom:18px!important;}
  .partner-strip .strip-grid>.strip-partners{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  .partner-strip .strip-partners .founder{min-height:58px!important;padding:3px!important;}
  .partner-strip .strip-partners .founder img{max-height:56px!important;}
  .partner-strip .strip-grid>.audiences{text-align:left!important;font-size:9px!important;line-height:1.7!important;}
}
