/*
Theme Name: CCISD Suisse-Djibouti — Version 1.3.3
Description: Thème WordPress one-page administrable pour la Chambre de Commerce et d’Industrie Suisse Djibouti.
Version: 1.3.3
Author: CCISD
Text Domain: ccisd
*/
:root{--blue:#20a9e8;--green:#07983d;--red:#e51b2b;--ink:#10151c;--muted:#5d6672;--paper:#f5f7f9;--line:#e3e7eb;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.65}a{color:inherit;text-decoration:none}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e7e9ed}.head{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px}.brand img{max-width:230px;max-height:66px;width:auto;object-fit:contain}.nav ul{display:flex;gap:16px;align-items:center;list-style:none;margin:0;padding:0}.nav a{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.nav a:hover{color:var(--red)}.cta,.btn{display:inline-block;background:var(--red);color:white;padding:12px 18px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;border:0}.menu-toggle{display:none;background:var(--ink);color:#fff;padding:10px;border:0}.hero{min-height:610px;display:flex;align-items:center;background:linear-gradient(100deg,rgba(8,15,24,.9),rgba(8,15,24,.32)),var(--hero);background-size:cover;background-position:center;color:white;position:relative}.hero:after{content:"";position:absolute;bottom:0;height:7px;left:0;right:0;background:linear-gradient(90deg,var(--blue) 0 33%,var(--green) 33% 66%,var(--red) 66%)}.hero-content{padding:90px 0;max-width:800px;position:relative;z-index:1}.kicker{font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--blue)}h1{font-size:clamp(40px,6vw,76px);line-height:1;letter-spacing:-.04em;margin:18px 0 24px;text-transform:uppercase}h1 span{color:#ff3544}.hero p{font-size:20px;color:#e0e5ea;max-width:680px}.btn-outline{background:transparent;border:1px solid #fff;margin-left:8px}.section{padding:88px 0;scroll-margin-top:82px}.alt{background:var(--paper)}.section-head{max-width:780px;margin-bottom:36px}.section h2{font-size:clamp(30px,4vw,50px);line-height:1.1;letter-spacing:-.035em;margin:12px 0 18px}.lead{font-size:18px;color:#444d58}.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.photo{min-height:330px;background:linear-gradient(140deg,rgba(10,20,30,.1),rgba(10,20,30,.45)),var(--photo);background-size:cover;background-position:center;border-bottom:7px solid var(--green)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{background:white;border:1px solid var(--line);padding:26px;min-height:170px}.card:nth-child(3n+1){border-top:4px solid var(--blue)}.card:nth-child(3n+2){border-top:4px solid var(--green)}.card:nth-child(3n){border-top:4px solid var(--red)}.num{font-size:11px;font-weight:900;letter-spacing:.12em;color:var(--red)}.card h3{font-size:18px;line-height:1.25;text-transform:uppercase;margin:12px 0}.card p{color:var(--muted);font-size:14px;margin:0}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#dce1e7;border:1px solid #dce1e7;margin-top:30px}.stat{background:#fff;padding:22px 14px}.stat strong{display:block;font-size:clamp(21px,2.7vw,32px);color:var(--red);line-height:1.2}.stat span{font-size:11px;color:var(--muted);font-weight:bold;text-transform:uppercase}.quote{margin-top:30px;background:#101923;color:white;padding:34px;border-left:6px solid var(--red);font-size:clamp(22px,3vw,34px);line-height:1.2;font-weight:800}.quote small{display:block;font-size:12px;color:#b5c0cc;font-weight:400;margin-top:12px}.benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;list-style:none;padding:0}.benefits li{background:white;border:1px solid var(--line);padding:15px 18px}.benefits li:before{content:'✓';color:var(--green);font-weight:900;margin-right:12px}.member{background:#fff;padding:24px;border:1px solid var(--line);border-top:4px solid var(--blue)}.member h3{margin:0 0 8px}.member p{color:var(--muted);margin:0 0 12px}.member strong{color:var(--red);font-size:11px;text-transform:uppercase}.team{background:#fff;border:1px solid var(--line);padding:18px}.portrait{height:125px;background:#e6ebf0;display:grid;place-items:center;color:#687380;font-size:11px;text-transform:uppercase;margin-bottom:14px}.team h3{margin:0;font-size:16px}.team p{margin:3px 0;color:var(--muted);font-size:13px}.contact{background:#101923;color:white}.contact .lead{color:#d3d9e0}.contactbox{background:#1a2633;border:1px solid #35414e;padding:28px}.contactbox p{border-bottom:1px solid #35414e;padding-bottom:12px}.contactbox b{display:block;color:#9eabb9;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.footer{background:#080d13;color:#aab3be;padding:22px 0;font-size:12px}.footerinner{display:flex;justify-content:space-between;gap:20px}.footer strong{color:white}
@media(max-width:980px){.nav ul{gap:10px}.nav a{font-size:10px}.brand img{max-width:175px}.stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.head{min-height:70px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:white;padding:12px 20px;border-bottom:1px solid var(--line)}.nav.open{display:block}.nav ul{display:block}.nav li{border-bottom:1px solid var(--line)}.nav a{display:block;padding:11px 0;font-size:12px}.head>.cta{display:none}.hero{min-height:540px}.section{padding:64px 0}.split{grid-template-columns:1fr;gap:28px}.grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.benefits{grid-template-columns:1fr}.footerinner{flex-direction:column}.photo{min-height:240px}}

/* Fiches administrables Équipe et Affiliations — cadrage photo responsive */
.team{min-width:0;overflow:hidden}
.team-photo{width:100%;aspect-ratio:4/5;height:auto;max-height:none;min-height:0;background:#f0f2f4;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:0 0 16px}
.team-photo img{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:50% 0%;}
/* Sur mobile, conserver un cadrage confortable sans étirer les portraits. */
@media(max-width:760px){.team-photo{aspect-ratio:4/5;max-height:none}.team-photo img{object-position:50% 0%}}
.affiliation-logo{height:90px;display:flex;align-items:center;justify-content:flex-start;margin-bottom:18px}
.affiliation-logo img{max-width:190px;max-height:78px;width:auto;height:auto;object-fit:contain}
.affiliation-status{display:inline-block;margin-top:14px!important;font-size:11px!important;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#626d79!important}
.affiliation-status.confirmed{color:#087f42!important}
.affiliation-status.to-confirm{color:#a45c00!important}
.affiliation-link{display:inline-block;margin-top:8px;font-size:12px;font-weight:800;color:var(--red);text-transform:uppercase;letter-spacing:.04em}
.team-bio{margin-top:10px;color:var(--muted);font-size:13px}


/* Correctif 1.2.4 : les textes administrables restent entièrement visibles. */
.split, .split > div, .section-head, .hero-content {
  min-width: 0;
  height: auto;
  max-height: none;
  overflow: visible;
}
.split p, .section-head p, .hero-content p, .editable-copy, .editable-copy p {
  height: auto;
  max-height: none;
  overflow: visible;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}
.editable-copy p { margin: 0 0 1em; }
.editable-copy p:last-child { margin-bottom: 0; }

/* v1.2.5: contenus éditables avec hauteur naturelle et retours à la ligne conservés. */
.editable-copy, .editable-copy p { height:auto; max-height:none; overflow:visible; white-space:normal; overflow-wrap:anywhere; }


/* v1.3.0 — Affiliations en rangée horizontale et cartes adaptatives. */
.affiliation-list{display:flex;flex-wrap:wrap;align-items:stretch;gap:20px}
.affiliation-list .affiliation-card{flex:0 1 calc(25% - 15px);min-width:230px;max-width:100%;display:flex;flex-direction:column;padding:22px;min-height:0;overflow-wrap:anywhere}
.affiliation-list .affiliation-logo{height:100px;min-height:100px;display:flex;align-items:center;justify-content:center;margin:0 0 14px;padding:6px}
.affiliation-list .affiliation-logo img{display:block;max-width:100%;max-height:88px;width:auto;height:auto;object-fit:contain}
.affiliation-list .affiliation-card h3{font-size:15px;margin:8px 0 10px}
.affiliation-list .affiliation-card .affiliation-description{font-size:13px;line-height:1.55;color:var(--muted)}
.advisory-section{margin-top:64px;padding-top:44px;border-top:1px solid var(--line)}
.advisory-section .section-head{margin-bottom:28px}
.advisory-section h3.advisory-heading{font-size:clamp(24px,3vw,34px);line-height:1.15;margin:0 0 12px;letter-spacing:-.025em}
.advisory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.advisory-card{background:#fff;border:1px solid var(--line);padding:18px;min-width:0;overflow:hidden}
.advisory-card .team-photo{aspect-ratio:4/5;max-height:none;overflow:hidden;background:#f0f2f4;margin-bottom:14px}
.advisory-card .team-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 0%}
.advisory-card h4{font-size:16px;line-height:1.3;margin:0}
.advisory-card .advisory-role{margin:4px 0 0;color:var(--muted);font-size:13px}
.advisory-card .team-bio{font-size:13px;line-height:1.55}
@media(max-width:980px){.affiliation-list .affiliation-card{flex-basis:calc(33.333% - 14px)}.advisory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.affiliation-list{gap:12px}.affiliation-list .affiliation-card{flex:1 1 calc(50% - 6px);min-width:0;padding:15px}.affiliation-list .affiliation-logo{height:78px;min-height:78px}.affiliation-list .affiliation-logo img{max-height:68px}.advisory-grid{grid-template-columns:1fr}.advisory-section{margin-top:44px;padding-top:32px}}


/* v1.3.2 — Affichages des affiliations adaptatifs : plusieurs cartes côte à côte, une carte seule utilise toute la largeur disponible. */
#reseau .affiliation-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  align-items: stretch;
  gap: 20px;
  width: 100%;
}
#reseau .affiliation-list > .affiliation-card {
  width: 100%;
  min-width: 0;
  max-width: none;
  flex: initial;
  box-sizing: border-box;
}
#reseau .affiliation-list .affiliation-logo img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
@media (max-width: 760px) {
  #reseau .affiliation-list { grid-template-columns: 1fr; gap: 14px; }
}


/* v1.3.3 — Logo des affiliations agrandi, notamment pour les logos horizontaux comme UCCAS. */
#reseau .affiliation-list .affiliation-logo {
  width: 100%;
  height: 170px;
  min-height: 170px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  margin: 0 0 16px;
}
#reseau .affiliation-list .affiliation-logo img {
  display: block;
  width: 100%;
  height: 150px;
  max-width: 100%;
  max-height: none;
  object-fit: contain;
  object-position: center;
}
@media (max-width: 760px) {
  #reseau .affiliation-list .affiliation-logo { height: 130px; min-height: 130px; }
  #reseau .affiliation-list .affiliation-logo img { height: 115px; }
}
