/* Theme Name: UCCAS Institutional V28
Version: 28.0.0
Description: UCCAS institutional theme with a central WordPress content manager.
*/
:root{--red:#ef2121;--black:#080808;--white:#fff;--soft:#f5f5f5;--line:#ddd;--text:#151515;--muted:#666;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.container{width:min(var(--max),92%);margin:auto}.site-header{height:78px;background:#fff;border-bottom:1px solid #ddd;display:flex;align-items:center;position:sticky;top:0;z-index:99}.header-inner{display:flex;align-items:center;gap:32px}.site-logo{height:48px;width:auto}.main-nav{margin-left:auto}.main-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:25px}.main-nav a{font-size:14px;font-weight:800}.main-nav a:hover{color:var(--red)}.menu-toggle{display:none;border:0;background:transparent;font-size:28px}.hero{position:relative;min-height:385px;display:flex;align-items:center;color:#fff;overflow:hidden;background:#111}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.58) 43%,rgba(0,0,0,.08) 100%)}.hero-content{position:relative;z-index:2;max-width:650px;padding:58px 0}.hero h1{font-size:clamp(38px,5vw,62px);line-height:1.02;margin:0 0 18px;font-weight:900;text-transform:uppercase}.hero h1 span{color:var(--red)}.hero p{font-size:16px;max-width:590px}.btn{display:inline-flex;padding:12px 20px;border:1px solid var(--red);font-weight:800;font-size:12px;margin:8px 8px 0 0;transition:.2s}.btn-red{background:var(--red);color:#fff}.btn-outline{border-color:#fff;color:#fff}.btn-black{background:#000;color:#fff}.btn:hover{transform:translateY(-1px);opacity:.9}.stats{display:grid;grid-template-columns:repeat(5,1fr);background:#050505;color:#fff}.stat{padding:22px 15px;text-align:center;border-right:1px solid var(--red);min-width:0}.stat:last-child{border:0}.stat strong{display:block;color:var(--red);font-size:30px;line-height:1.1}.stat small{font-size:10px;font-weight:700}.section{padding:58px 0}.network{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;align-items:center}.section-title{color:var(--red);font-size:12px;font-weight:900;text-transform:uppercase;margin-bottom:8px}.section h2{font-size:clamp(28px,4vw,43px);line-height:1.05;margin:0 0 16px;text-transform:uppercase}.lead{color:var(--muted)}.network img{display:block;margin:auto;max-height:350px;object-fit:contain}.legend{font-size:10px;text-align:center;margin-top:10px}.dot{display:inline-block;width:10px;height:10px;background:var(--red);margin-right:4px}.dot.gray{background:#ccc}.mission{background:#050505;color:#fff}.mission h2{color:#fff}.mission-grid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #333;margin-top:25px}.mission-card{padding:22px 15px;border-right:1px solid #333;text-align:center}.mission-card:last-child{border:0}.mission-icon{color:var(--red);font-weight:900;font-size:26px}.mission-card h3{font-size:13px;margin:10px 0}.mission-card p{font-size:11px;color:#ddd}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);background:#050505;color:#fff}.feature{padding:30px;min-height:300px;border-right:1px solid #333}.feature:last-child{border:0}.feature img{height:120px;width:100%;object-fit:contain;margin-bottom:15px}.feature:nth-child(2){background:var(--red)}.feature h3{font-size:14px}.feature p{font-size:12px;color:#ddd}.feature:nth-child(2) p{color:#fff}.partners{display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap}.partners img{height:65px;width:auto;max-width:23%;object-fit:contain}.cta{background:var(--red);color:#fff}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:35px 0}.cta h2{margin:0;font-size:30px}.cta p{margin:4px 0}.page-hero{padding:60px 0;background:var(--soft)}.page-hero h1{font-size:52px;line-height:1.05;margin:8px 0;text-transform:uppercase}.content-area{padding:55px 0}.entry-content{max-width:920px}.entry-content img{max-width:100%}.people-grid{display:grid;grid-template-columns:repeat(4,minmax(0,260px));justify-content:center;gap:28px}.person{border:1px solid var(--line);background:#fff}.person img,.person-photo-placeholder{width:100%;height:320px;object-fit:contain;object-position:center center;display:block;background:#f3f3f3}.person-photo-placeholder{display:grid;place-items:center;color:#888}.person-info{padding:18px}.person h2{font-size:18px;margin:0 0 6px}.person p{margin:0;color:var(--muted);font-size:13px}.site-footer{background:#050505;color:#fff;padding:48px 0 18px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:30px}.site-footer h3{font-size:13px;margin:0 0 14px}.site-footer p,.site-footer a{font-size:12px;color:#ddd}.footer-bottom{border-top:1px solid #333;margin-top:35px;padding-top:15px;font-size:11px;color:#aaa;display:flex;justify-content:space-between}.admin-note{padding:16px;background:#fff3f3;border-left:4px solid var(--red)}
@media(max-width:950px){.main-nav ul{gap:13px}.main-nav a{font-size:11px}.mission-grid{grid-template-columns:repeat(3,1fr)}.people-grid{grid-template-columns:repeat(2,minmax(0,260px));justify-content:center}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.site-header{height:70px}.header-inner{justify-content:space-between}.main-nav{display:none}.main-nav.open{display:block;position:absolute;top:70px;left:0;right:0;background:#fff;border-bottom:1px solid #ddd}.main-nav.open ul{display:block}.main-nav.open li{padding:14px 5%;border-top:1px solid #eee}.menu-toggle{display:block}.hero{min-height:520px}.hero-content{padding:45px 0}.hero h1{font-size:40px}.stats{grid-template-columns:1fr 1fr}.stat{border-bottom:1px solid #333}.network{grid-template-columns:1fr;gap:25px}.mission-grid{grid-template-columns:1fr 1fr}.feature-grid{grid-template-columns:1fr}.feature{border-right:0;border-bottom:1px solid #333}.partners{justify-content:center}.partners img{max-width:42%;height:52px}.cta-inner{display:block;padding:30px 0}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.page-hero h1{font-size:38px}.people-grid{grid-template-columns:minmax(0,340px);justify-content:center}.person img,.person-photo-placeholder{height:360px}}

/* V18 pages */
.uccas-two-blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:40px 0}
.uccas-edit-card{background:#fff;border:1px solid #e5e5e5;box-shadow:0 8px 30px rgba(0,0,0,.06);overflow:hidden}
.uccas-placeholder{min-height:230px;display:flex;align-items:center;justify-content:center;background:#111;color:#fff;font-weight:700;letter-spacing:.08em;text-align:center;padding:20px}
.uccas-card-body{padding:28px}
.uccas-network-map{width:100%;max-width:900px;height:auto;display:block;margin:35px auto}
.uccas-partner-page-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:40px 0}
.uccas-partner-card{min-height:160px;background:#fff;border:1px solid #eee;display:flex;align-items:center;justify-content:center;padding:25px}
.uccas-partner-card img{max-width:100%;max-height:100px;object-fit:contain}
.uccas-contact-box{background:#f5f5f5;padding:32px;border-left:5px solid #b5121b;margin-top:30px}
.uccas-edit-note{font-size:.9rem;color:#777;margin-top:25px}
@media(max-width:767px){.uccas-two-blocks{grid-template-columns:1fr}.uccas-partner-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.uccas-placeholder{min-height:180px}.uccas-card-body{padding:20px}}

/* ================= V19 stable internal pages ================= */
.uccas-page-intro{max-width:900px;margin:0 auto 42px}
.uccas-page-intro h2{font-size:clamp(28px,4vw,48px);line-height:1.08;margin:0 0 20px}
.uccas-page-intro p{font-size:18px;line-height:1.75;color:#4b4b4b}
.uccas-network-visual{margin:30px auto 45px;text-align:center;background:#f6f6f6;padding:25px}
.uccas-network-visual img{display:block;width:100%;max-width:900px;height:auto;margin:auto}
.uccas-v19-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:35px}
.uccas-v19-service-card{background:#fff;border:1px solid #e5e5e5;overflow:hidden;box-shadow:0 8px 28px rgba(0,0,0,.07)}
.uccas-v19-service-card>img,.uccas-service-image-placeholder{width:100%;height:210px;display:block;object-fit:cover}
.uccas-service-image-placeholder{background:#111;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;letter-spacing:.08em}
.uccas-service-card-content{padding:24px}
.uccas-service-card-content>span{color:#e31d1c;font-weight:800;font-size:13px}
.uccas-service-card-content h3{margin:8px 0 12px;font-size:21px}
.uccas-service-card-content p{margin:0;line-height:1.65;color:#555}
.uccas-v19-contact{max-width:1100px}
.uccas-contact-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:35px}
.uccas-contact-details>div{background:#0b0b0d;color:#fff;padding:28px;min-height:150px}
.uccas-contact-details span{display:block;color:#e31d1c;font-size:12px;font-weight:800;letter-spacing:.08em;margin-bottom:14px}
.uccas-contact-details a{color:#fff;font-size:20px;text-decoration:none;word-break:break-word}
.uccas-contact-details p{margin:0;font-size:18px;line-height:1.55}
@media(max-width:900px){
 .uccas-v19-services{grid-template-columns:repeat(2,minmax(0,1fr))}
 .uccas-contact-details{grid-template-columns:1fr}
}
@media(max-width:600px){
 .uccas-v19-services{grid-template-columns:1fr}
 .uccas-page-intro h2{font-size:30px}
 .uccas-v19-service-card>img,.uccas-service-image-placeholder{height:190px}
 .uccas-network-visual{padding:12px}
}

/* V20 — Conseil: fixed card width, no image cropping, stable layout after deletions */
.people-grid{grid-template-columns:repeat(4,minmax(0,260px));justify-content:center;align-items:start}
.person{width:260px;min-width:260px;overflow:hidden}
.person img.person-photo{width:260px !important;height:320px !important;max-width:260px !important;object-fit:contain !important;object-position:center !important;background:#f3f3f3}
.person-photo-placeholder{width:260px !important;height:320px !important;object-fit:contain !important}
@media(max-width:1100px){.people-grid{grid-template-columns:repeat(3,minmax(0,260px))}}
@media(max-width:850px){.people-grid{grid-template-columns:repeat(2,minmax(0,260px))}}
@media(max-width:600px){.people-grid{grid-template-columns:minmax(0,340px)}.person{width:340px;min-width:0}.person img.person-photo{width:340px !important;max-width:340px !important;height:400px !important}.person-photo-placeholder{width:340px !important;height:400px !important}}

/* ==========================================================
   V21 — COMMITTEE / TEAM: LOCKED CARD GEOMETRY
   Prevents remaining cards from expanding when members are deleted.
   Images are contained inside a fixed frame and can never overflow.
   ========================================================== */
.council-section .council-container{max-width:1240px;overflow:visible}
.people-grid-v21{
  display:grid;
  grid-template-columns:repeat(auto-fit,280px);
  gap:32px;
  justify-content:center;
  align-items:start;
  width:100%;
}
.person-v21{
  width:280px;
  min-width:280px;
  max-width:280px;
  background:#fff;
  border:1px solid #ddd;
  overflow:hidden;
  align-self:start;
}
.person-photo-v21{
  width:280px;
  height:330px;
  min-height:330px;
  max-height:330px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#f4f4f4;
}
.person-photo-v21 img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}
.person-photo-placeholder-v21{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#888;
  font-weight:700;
  background:#f4f4f4;
}
.person-info-v21{padding:20px 18px 22px;min-height:128px}
.person-info-v21 h2{font-size:19px;line-height:1.15;margin:0 0 8px;word-break:normal;overflow-wrap:anywhere}
.person-info-v21 p{font-size:13px;line-height:1.55;color:#666;margin:0;overflow-wrap:anywhere}
@media(max-width:700px){
  .people-grid-v21{grid-template-columns:minmax(0,320px);gap:22px}
  .person-v21{width:320px;min-width:0;max-width:320px}
  .person-photo-v21{width:320px;height:380px;min-height:380px;max-height:380px}
}
@media(max-width:360px){
  .people-grid-v21{grid-template-columns:minmax(0,1fr)}
  .person-v21{width:100%;max-width:100%}
  .person-photo-v21{width:100%;height:auto;aspect-ratio:4/5;min-height:0;max-height:none}
}

/* UCCAS V22: final defensive governance layout. */
.uccas-council-page-v22 .uccas-people-v22{box-sizing:border-box!important;}
.uccas-council-page-v22 .uccas-person-v22{float:none!important;position:relative!important;left:auto!important;right:auto!important;top:auto!important;transform:none!important;}

/* V24 hard reset for governance people cards */
.page-template-page-comite-de-conseil .uccas-council-v24 .uccas-people-v24{display:flex!important;flex-flow:row wrap!important;align-items:flex-start!important;justify-content:flex-start!important;gap:32px!important;width:100%!important;max-width:1216px!important;margin:0 auto!important;padding:0!important;box-sizing:border-box!important;}
.page-template-page-comite-de-conseil .uccas-council-v24 .uccas-person-v24{display:block!important;flex:0 0 280px!important;width:280px!important;min-width:280px!important;max-width:280px!important;height:auto!important;float:none!important;position:static!important;transform:none!important;box-sizing:border-box!important;overflow:hidden!important;margin:0!important;padding:0!important;}
.page-template-page-comite-de-conseil .uccas-council-v24 .uccas-person-photo-v24{display:flex!important;width:278px!important;height:330px!important;min-width:278px!important;max-width:278px!important;min-height:330px!important;max-height:330px!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;box-sizing:border-box!important;margin:0!important;padding:0!important;}
.page-template-page-comite-de-conseil .uccas-council-v24 .uccas-person-photo-v24 img{display:block!important;flex:none!important;width:auto!important;height:auto!important;max-width:278px!important;max-height:330px!important;min-width:0!important;min-height:0!important;object-fit:contain!important;object-position:center!important;margin:0 auto!important;padding:0!important;}
@media(max-width:1300px){.page-template-page-comite-de-conseil .uccas-council-v24 .uccas-people-v24{max-width:904px!important}}
@media(max-width:950px){.page-template-page-comite-de-conseil .uccas-council-v24 .uccas-people-v24{max-width:592px!important}}
@media(max-width:650px){.page-template-page-comite-de-conseil .uccas-council-v24 .uccas-people-v24{max-width:280px!important;gap:22px!important}.page-template-page-comite-de-conseil .uccas-council-v24 .uccas-person-v24{flex-basis:280px!important;width:280px!important;min-width:280px!important;max-width:280px!important}}

/* V25 — Publications: real editable cover images */
.publication-card-v25 .publication-image-v25{height:330px;width:100%;background:#f5f5f5;display:flex;align-items:center;justify-content:center;overflow:hidden}
.publication-card-v25 .publication-image-v25 img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#f5f5f5}
.publication-card-v25 .uccas-placeholder{background:#111;color:#fff;font-weight:700;letter-spacing:.08em}
@media(max-width:767px){.publication-card-v25 .publication-image-v25{height:300px}}


/* V26 — Chambres de commerce : logos sous la carte du réseau */
.uccas-chambers-section{margin:55px 0 20px;padding-top:10px}
.uccas-chambers-heading{margin-bottom:25px}
.uccas-chambers-heading .eyebrow{margin-bottom:8px}
.uccas-chambers-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;align-items:stretch}
.uccas-chamber-card{min-height:145px;background:#fff;border:1px solid #e1e1e1;display:flex;align-items:center;justify-content:center;padding:22px;transition:transform .2s,box-shadow .2s}
.uccas-chamber-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.07)}
.uccas-chamber-card a{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.uccas-chamber-card img{display:block;width:auto;max-width:100%;height:92px;object-fit:contain}
.uccas-chamber-name{display:block;text-align:center;font-size:11px;font-weight:800;line-height:1.35;margin-top:10px;text-transform:uppercase}
.uccas-chamber-inner{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.uccas-chamber-placeholder{width:100%;min-height:100px;border:1px dashed #ccc;display:flex;align-items:center;justify-content:center;color:#aaa;font-size:10px;font-weight:700;letter-spacing:.06em;text-align:center}
@media(max-width:1000px){.uccas-chambers-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:800px){.uccas-chambers-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.uccas-chambers-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.uccas-chamber-card{min-height:125px;padding:15px}.uccas-chamber-card img{height:72px}}
@media(max-width:380px){.uccas-chambers-grid{grid-template-columns:1fr}}

/* V26 admin — chamber logo manager */
.uccas-chamber-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1150px}
.uccas-chamber-admin-card{background:#fff;border:1px solid #ddd;padding:18px;display:grid;grid-template-columns:145px 1fr;gap:18px}
.uccas-chamber-admin-preview{height:120px;width:145px;border:1px solid #eee;background:#f7f7f7;display:flex;align-items:center;justify-content:center;overflow:hidden}
.uccas-chamber-admin-preview img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.uccas-chamber-admin-fields label{display:block;font-weight:700;margin:0 0 5px}
.uccas-chamber-admin-fields input{width:100%;margin-bottom:10px}
.uccas-chamber-admin-row-actions{margin-top:5px}
@media(max-width:800px){.uccas-chamber-admin-grid{grid-template-columns:1fr}.uccas-chamber-admin-card{grid-template-columns:120px 1fr}.uccas-chamber-admin-preview{width:120px}}
@media(max-width:560px){.uccas-chamber-admin-card{grid-template-columns:1fr}.uccas-chamber-admin-preview{width:100%;height:150px}}

/* V27 — Public chamber slots are always visible under the network map. */
.uccas-chambers-section{display:block!important;clear:both!important;position:relative!important;width:100%!important;max-width:100%!important;margin:64px 0 40px!important;padding:0!important;}
.uccas-chambers-heading{display:block!important;margin:0 0 28px!important;}
.uccas-chambers-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:18px!important;width:100%!important;}
.uccas-chamber-card{display:flex!important;min-width:0!important;min-height:160px!important;width:auto!important;box-sizing:border-box!important;background:#fff!important;border:1px solid #dcdcdc!important;align-items:center!important;justify-content:center!important;padding:20px!important;overflow:hidden!important;}
.uccas-chamber-inner{width:100%!important;min-width:0!important;min-height:118px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;}
.uccas-chamber-card a{width:100%!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.uccas-chamber-card img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:105px!important;object-fit:contain!important;}
.uccas-chamber-placeholder{display:flex!important;width:100%!important;height:105px!important;min-height:105px!important;box-sizing:border-box!important;border:1px dashed #c9c9c9!important;background:#fafafa!important;color:#999!important;align-items:center!important;justify-content:center!important;text-align:center!important;font-size:11px!important;font-weight:800!important;letter-spacing:.08em!important;}
.uccas-chamber-name{display:block!important;margin-top:12px!important;max-width:100%!important;text-align:center!important;font-size:11px!important;font-weight:800!important;line-height:1.35!important;text-transform:uppercase!important;overflow-wrap:anywhere!important;}
@media(max-width:1000px){.uccas-chambers-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:800px){.uccas-chambers-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:600px){.uccas-chambers-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.uccas-chamber-card{min-height:135px!important;padding:14px!important}.uccas-chamber-placeholder{height:82px!important;min-height:82px!important;font-size:10px!important}}
@media(max-width:380px){.uccas-chambers-grid{grid-template-columns:1fr!important}}
.uccas-page .uccas-edit-note{display:none!important;}
