/*
 * FOBAK Manager Pro V129.5
 * Accueil institutionnel inspiré des présentations CEN V150 et FMS V2.0.3,
 * avec identité FOBAK, portraits non rognés et lecture mobile prioritaire.
 */

:root{
  --fobak-ink:#0a3553;
  --fobak-blue:#074b72;
  --fobak-blue-deep:#052f4d;
  --fobak-teal:#08766f;
  --fobak-gold:#f1d433;
  --fobak-line:#d7e5ed;
  --fobak-soft:#f3f8fb;
  --fobak-muted:#587183;
  --fobak-shadow:0 18px 48px rgba(5,54,83,.10);
}

body.page-index .public-content{
  width:100%;
  max-width:1380px;
  padding-inline:clamp(14px,2.5vw,34px);
}

body.page-index .welcome-hero,
body.page-index .home-health-gateway,
body.page-index .home-intro-card,
body.page-index .public-info-strip,
body.page-index .home-institution-grid>.card,
body.page-index .home-membership-grid>.card{
  border-color:var(--fobak-line)!important;
  box-shadow:var(--fobak-shadow)!important;
}

body.page-index .home-institution-grid>.card,
body.page-index .home-membership-grid>.card{
  position:relative;
  overflow:hidden;
}

body.page-index .home-institution-grid>.card:before,
body.page-index .home-membership-grid>.card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,var(--fobak-blue),var(--fobak-teal));
}

.home-section-title-lockup{
  display:flex;
  align-items:flex-start;
  gap:16px;
  min-width:0;
}

.home-section-number{
  flex:0 0 48px;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:var(--fobak-gold);
  color:#173342;
  font-size:.77rem;
  font-weight:950;
  letter-spacing:.08em;
  box-shadow:0 9px 22px rgba(151,126,4,.15);
}

/* Activités : section claire, cartes éditoriales fixes et images administrables. */
.home-activities-showcase{
  display:block!important;
  margin:34px 0!important;
  padding:clamp(24px,4vw,46px)!important;
  overflow:hidden!important;
  border:1px solid var(--fobak-line)!important;
  border-top:6px solid var(--fobak-gold)!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 100% 0,rgba(8,118,111,.10),transparent 28%),
    linear-gradient(135deg,#fff 0%,#f7fbfd 100%)!important;
  box-shadow:0 22px 58px rgba(5,54,83,.12)!important;
}

.home-activities-showcase .home-activities-heading{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin:0 0 27px!important;
  padding-bottom:21px;
  border-bottom:1px solid var(--fobak-line);
}

.home-activities-showcase .eyebrow{
  color:var(--fobak-teal)!important;
}

.home-activities-showcase .section-title{
  margin:4px 0 5px!important;
  color:var(--fobak-ink)!important;
  font-size:clamp(1.85rem,3vw,2.75rem)!important;
  line-height:1.05;
  text-align:left!important;
}

.home-activities-showcase .home-activities-heading p{
  max-width:760px;
  margin:0!important;
  color:var(--fobak-muted)!important;
  line-height:1.6;
}

.home-activities-all{
  flex:0 0 auto!important;
  min-height:46px;
  border:1px solid var(--fobak-blue)!important;
  background:var(--fobak-blue)!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(7,75,114,.16);
}

.home-activities-all:hover{
  background:var(--fobak-teal)!important;
  border-color:var(--fobak-teal)!important;
}

.home-activities-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  gap:20px!important;
  overflow:visible!important;
}

.home-news-card{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  border:1px solid var(--fobak-line)!important;
  border-radius:21px!important;
  background:#fff!important;
  box-shadow:0 11px 28px rgba(5,54,83,.075)!important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.home-news-card:hover{
  transform:translateY(-4px);
  border-color:#aecbd9!important;
  box-shadow:0 17px 36px rgba(5,54,83,.13)!important;
}

.home-news-card.is-featured{
  grid-column:span 2!important;
  display:grid!important;
  grid-template-columns:minmax(300px,1.2fr) minmax(280px,.8fr)!important;
}

.home-news-media{
  position:relative!important;
  display:block!important;
  min-height:225px!important;
  overflow:hidden!important;
  background:linear-gradient(145deg,#e9f3f7,#dcebef)!important;
}

.home-news-card.is-featured .home-news-media{
  min-height:100%!important;
}

.home-news-media>img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:225px!important;
  object-position:center!important;
  transition:transform .35s ease!important;
}

.home-news-card:hover .home-news-media>img{
  transform:scale(1.02)!important;
}

.home-news-media:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(2,31,49,.03),rgba(2,31,49,.22));
}

.home-news-category,
.home-news-featured-label{
  position:absolute!important;
  z-index:2;
  top:14px!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  font-size:.69rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.055em!important;
  box-shadow:0 6px 15px rgba(0,0,0,.16)!important;
}

.home-news-category{
  left:14px!important;
  background:var(--fobak-gold)!important;
  color:#173342!important;
}

.home-news-featured-label{
  right:14px;
  background:var(--fobak-blue-deep);
  color:#fff;
}

.home-news-body{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:9px!important;
  padding:21px!important;
  border-top:1px solid #e3edf2;
}

.home-news-body h3,
.home-news-body p{
  overflow-wrap:anywhere!important;
}

.home-news-body h3{
  margin:0!important;
  font-size:1.22rem!important;
  line-height:1.3!important;
}

.home-news-card.is-featured .home-news-body h3{
  font-size:clamp(1.42rem,2vw,1.85rem)!important;
}

.home-news-body h3 a{
  color:var(--fobak-ink)!important;
}

.home-news-subtitle{
  color:var(--fobak-teal)!important;
}

.home-news-body p{
  color:var(--fobak-muted)!important;
  line-height:1.62!important;
}

.home-news-links .activity-read-link{
  color:var(--fobak-blue)!important;
}

.home-activities-empty{
  grid-column:1/-1!important;
  color:var(--fobak-ink)!important;
  border-color:#b9ceda!important;
  background:rgba(255,255,255,.75)!important;
}

.home-activities-empty span{
  color:var(--fobak-muted)!important;
}

/* Présidence : même logique éditoriale que CEN/FMS, avec portrait complet. */
.president-home-feature{
  position:relative!important;
  isolation:isolate!important;
  display:block!important;
  margin:34px 0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid var(--fobak-line)!important;
  border-left:0!important;
  border-radius:28px!important;
  background:#fff!important;
  box-shadow:0 22px 58px rgba(5,54,83,.12)!important;
}

.president-home-feature:after{
  content:""!important;
  position:absolute!important;
  z-index:-1;
  right:-110px!important;
  bottom:-150px!important;
  width:350px!important;
  height:350px!important;
  border:1px solid rgba(8,118,111,.10)!important;
  border-radius:50%!important;
  box-shadow:0 0 0 50px rgba(8,118,111,.025),0 0 0 100px rgba(8,118,111,.015)!important;
}

.president-home-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding:clamp(23px,3.5vw,38px);
  border-bottom:1px solid var(--fobak-line);
  background:
    linear-gradient(90deg,rgba(7,75,114,.075),rgba(8,118,111,.055)),
    #fff;
}

.president-home-heading h2{
  margin:4px 0 5px!important;
  color:var(--fobak-ink)!important;
  font-size:clamp(1.85rem,3vw,2.7rem)!important;
  line-height:1.08!important;
}

.president-home-heading p{
  max-width:760px;
  margin:0;
  color:var(--fobak-muted);
  line-height:1.6;
}

.president-home-layout{
  display:grid;
  grid-template-columns:minmax(285px,340px) minmax(0,1fr);
  gap:clamp(24px,4vw,46px);
  align-items:start;
  padding:clamp(24px,4vw,44px);
}

.president-home-portrait{
  position:sticky!important;
  top:92px!important;
  z-index:1!important;
  width:100%!important;
  max-width:340px!important;
  margin:0!important;
  padding:16px!important;
  overflow:hidden!important;
  border-radius:24px!important;
  background:linear-gradient(155deg,var(--fobak-blue-deep),var(--fobak-blue) 62%,var(--fobak-teal))!important;
  box-shadow:0 18px 40px rgba(5,47,77,.20)!important;
}

.president-home-photo{
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/5!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border:5px solid #fff!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#f6fafc,#e5f0f4)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.20)!important;
}

.president-home-photo img,
.president-home-photo .president-biography-placeholder{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  object-fit:contain!important;
  object-position:center top!important;
  background:#eef5f7!important;
}

.president-home-marker{
  position:absolute!important;
  z-index:3!important;
  left:30px!important;
  top:30px!important;
  bottom:auto!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  background:var(--fobak-gold)!important;
  color:#173342!important;
  font-size:.69rem!important;
  font-weight:950!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  box-shadow:0 7px 16px rgba(0,0,0,.18)!important;
}

.president-home-portrait figcaption{
  display:grid;
  gap:4px;
  padding:15px 5px 3px;
  text-align:center;
}

.president-home-portrait figcaption h3{
  margin:0;
  color:#fff!important;
  font-size:1.24rem;
  line-height:1.25;
}

.president-home-portrait figcaption strong{
  color:#ffe776!important;
  font-size:.86rem;
  line-height:1.45;
}

.president-home-copy{
  position:relative!important;
  z-index:1!important;
  display:block!important;
  min-width:0!important;
}

.president-home-lead{
  margin:0 0 19px!important;
  padding:0 0 0 18px;
  border-left:4px solid var(--fobak-gold);
  color:#38586d!important;
  font-size:1.02rem!important;
  line-height:1.78!important;
  white-space:pre-line;
}

.president-home-details{
  display:grid;
  gap:11px;
}

.president-home-details details{
  overflow:hidden;
  border:1px solid var(--fobak-line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 7px 18px rgba(5,54,83,.045);
}

.president-home-details summary{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 17px;
  cursor:pointer;
  color:var(--fobak-ink);
  font-weight:900;
  list-style:none;
  background:#f7fafc;
}

.president-home-details summary::-webkit-details-marker{
  display:none;
}

.president-home-details summary:after{
  content:"+";
  margin-left:auto;
  color:var(--fobak-teal);
  font-size:1.2rem;
}

.president-home-details details[open] summary:after{
  content:"−";
}

.president-home-details summary span{
  flex:0 0 34px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#e4f3f1;
  color:var(--fobak-teal);
  font-size:.69rem;
}

.president-home-details details p{
  margin:0!important;
  padding:0 18px 18px!important;
  color:var(--fobak-muted)!important;
  line-height:1.7!important;
  white-space:pre-line;
}

.president-home-actions{
  display:flex!important;
  gap:11px!important;
  flex-wrap:wrap!important;
  margin-top:20px!important;
}

.president-home-actions .btn{
  min-height:46px!important;
}

/* Page de biographie : grand portrait entier, contenu hiérarchisé. */
.president-biography-page{
  max-width:1180px!important;
  border-color:var(--fobak-line)!important;
  box-shadow:0 24px 65px rgba(4,48,78,.13)!important;
}

.president-biography-hero{
  min-height:0!important;
  grid-template-columns:minmax(280px,340px) minmax(0,1fr)!important;
  gap:clamp(30px,5vw,68px)!important;
  align-items:center!important;
  background:
    radial-gradient(circle at 95% 8%,rgba(255,255,255,.12),transparent 28%),
    linear-gradient(120deg,var(--fobak-blue-deep) 0%,var(--fobak-blue) 57%,var(--fobak-teal) 100%)!important;
}

.president-biography-portrait{
  position:relative!important;
  z-index:1!important;
  align-self:start!important;
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:14px!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 18px 44px rgba(0,0,0,.24)!important;
}

.president-biography-portrait>span{
  left:28px!important;
  top:28px!important;
  bottom:auto!important;
}

.president-biography-portrait img,
.president-biography-portrait>.president-biography-placeholder{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:4/5!important;
  object-fit:contain!important;
  object-position:center top!important;
  border-radius:16px 16px 10px 10px!important;
  background:linear-gradient(145deg,#f5fafc,#e4eff3)!important;
}

.president-biography-portrait figcaption{
  display:grid;
  gap:3px;
  padding:13px 5px 2px;
  color:var(--fobak-ink);
  text-align:center;
}

.president-biography-portrait figcaption strong{
  font-size:1.05rem;
  line-height:1.3;
}

.president-biography-portrait figcaption small{
  color:var(--fobak-teal);
  font-weight:850;
  line-height:1.4;
}

.president-biography-section-heading{
  padding:clamp(25px,4vw,42px) clamp(24px,4vw,48px) 0;
  background:var(--fobak-soft);
}

.president-biography-section-heading h2{
  margin:5px 0 6px;
  color:var(--fobak-ink);
  font-size:clamp(1.55rem,2.5vw,2.2rem);
}

.president-biography-section-heading p{
  max-width:760px;
  margin:0;
  color:var(--fobak-muted);
  line-height:1.6;
}

.president-biography-sections{
  padding-top:24px!important;
}

.president-biography-section{
  border-left:4px solid var(--fobak-teal)!important;
  transition:transform .18s ease,box-shadow .18s ease;
}

.president-biography-section:hover{
  transform:translateY(-2px);
  box-shadow:0 13px 28px rgba(5,54,91,.09)!important;
}

/* Réseaux et copyright : logos SVG de marque et bande légale garantie. */
.fobak-unified-footer.app-footer.dashboard-style-footer{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  overflow:visible!important;
  background:linear-gradient(135deg,#053a5a,#075b74 68%,#08766f)!important;
  border-top:4px solid var(--fobak-gold)!important;
}

.fobak-social-note{
  margin:-3px 0 11px!important;
  color:rgba(255,255,255,.72)!important;
  font-size:.73rem!important;
}

.fobak-social-icons{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}

.fobak-social-icons>a{
  display:grid!important;
  place-items:center!important;
  width:50px!important;
  height:50px!important;
  min-width:50px!important;
  padding:0!important;
  overflow:hidden!important;
  border:2px solid rgba(255,255,255,.88)!important;
  border-radius:50%!important;
  color:#fff!important;
  visibility:visible!important;
  opacity:1!important;
  box-shadow:0 8px 20px rgba(0,0,0,.18)!important;
}

.fobak-social-icons>a svg{
  display:block!important;
  width:25px!important;
  height:25px!important;
  fill:currentColor!important;
}

.fobak-social-icons>.social-whatsapp{
  order:-1!important;
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  background:#25d366!important;
}

.fobak-social-icons>.social-whatsapp svg{
  width:31px!important;
  height:31px!important;
}

.fobak-social-icons .social-facebook{background:#1877f2!important}
.fobak-social-icons .social-youtube{background:#ff0033!important}
.fobak-social-icons .social-instagram{background:radial-gradient(circle at 32% 100%,#ffd36b 0 18%,#f3426d 42%,#8b3ac8 72%,#405de6 100%)!important}
.fobak-social-icons .social-tiktok{background:#111!important}
.fobak-social-icons .social-x{background:#050505!important}
.fobak-social-icons .social-linkedin{background:#0a66c2!important}

.fobak-footer-copyright{
  position:relative!important;
  z-index:3!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px 12px!important;
  width:100%!important;
  min-height:48px!important;
  padding:13px clamp(16px,3vw,46px)!important;
  border-top:1px solid rgba(255,255,255,.22)!important;
  background:#032d47!important;
  color:#fff!important;
  font-size:.78rem!important;
  line-height:1.45!important;
  text-align:center!important;
  visibility:visible!important;
  opacity:1!important;
}

.fobak-footer-copyright strong{
  color:#fff!important;
}

.fobak-footer-copyright span:last-child{
  color:#ffe56a!important;
  font-weight:900!important;
}

@media(max-width:1000px){
  .home-activities-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .home-news-card.is-featured{grid-column:1/-1!important}
  .president-home-layout{grid-template-columns:minmax(245px,300px) minmax(0,1fr)}
  .president-biography-hero{grid-template-columns:minmax(240px,290px) minmax(0,1fr)!important}
}

@media(max-width:760px){
  .home-section-number{flex-basis:42px;width:42px;height:42px;border-radius:13px}
  .home-activities-showcase .home-activities-heading,
  .president-home-heading{align-items:flex-start!important;flex-direction:column!important}
  .home-activities-all{width:100%!important}
  .president-home-layout{grid-template-columns:1fr;padding:19px}
  .president-home-portrait{position:relative!important;top:auto!important;width:min(100%,330px)!important;margin:0 auto!important}
  .president-home-copy{display:block!important}
  .president-home-lead{font-size:.95rem!important;line-height:1.67!important}
  .president-biography-hero{grid-template-columns:1fr!important;padding:24px 18px 28px!important}
  .president-biography-portrait{width:min(100%,310px)!important;margin:0 auto!important}
  .president-biography-intro{text-align:center!important}
  .president-biography-lead{text-align:left!important}
  .president-biography-sections{grid-template-columns:1fr!important}
}

@media(max-width:620px){
  body.page-index .public-content{padding-inline:10px}
  .home-activities-showcase{padding:20px 14px!important;border-radius:21px!important}
  .home-activities-grid{grid-template-columns:1fr!important}
  .home-news-card.is-featured{grid-column:auto!important;display:flex!important}
  .home-news-media,.home-news-card.is-featured .home-news-media{min-height:195px!important}
  .home-news-media>img{min-height:195px!important}
  .president-home-feature{display:block!important;border-radius:21px!important}
  .president-home-heading{padding:20px 16px}
  .president-home-heading h2{font-size:1.65rem!important}
  .president-home-details summary{padding:12px 13px;font-size:.88rem}
  .president-home-details summary span{flex-basis:31px;width:31px;height:31px}
  .president-home-actions .btn{flex:1 1 180px!important}
  .president-biography-page{border-radius:19px!important}
  .president-biography-intro h1{font-size:2.05rem!important}
  .president-biography-section-heading{padding:22px 17px 0}
  .president-biography-sections{padding:18px!important}
  .fobak-footer-copyright{display:grid!important;gap:2px!important;font-size:.72rem!important}
}

@media(prefers-reduced-motion:reduce){
  .home-news-card,
  .home-news-media>img,
  .president-biography-section{
    transition:none!important;
  }
}

/* ===== V129.6.0 — signature en ligne, photo de profil assistée et reçus ===== */
.online-signature-widget{
  border:1px solid #bdd5e6;
  border-radius:20px;
  padding:20px;
  background:linear-gradient(145deg,#f8fcff 0%,#eef8fd 100%);
  box-shadow:0 12px 30px rgba(7,69,111,.08);
}
.signature-widget-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:4px}
.signature-widget-heading h3{margin:2px 0;color:#073e64;font-size:1.15rem}
.signature-required{padding:6px 10px;border-radius:999px;background:#fff1f2;color:#a31327;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.online-signature-widget>p{margin:8px 0 14px;color:#405d73;line-height:1.55}
.signature-canvas-wrap{position:relative;border:2px dashed #719ab8;border-radius:16px;background:#fff;overflow:hidden}
.signature-canvas{display:block;width:100%;height:190px;cursor:crosshair;touch-action:none;outline:none}
.signature-canvas:focus{box-shadow:inset 0 0 0 4px rgba(31,180,239,.18)}
.signature-placeholder{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;color:#8298a8;font-size:1rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.signature-placeholder[hidden]{display:none}
.signature-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:12px}
.signature-thumb{min-height:50px;padding:12px 18px!important;border:2px solid #e5b900!important;background:linear-gradient(135deg,#ffe45c,#f3c600)!important;color:#082f49!important;font-size:.94rem!important;font-weight:950!important;box-shadow:0 8px 18px rgba(184,139,0,.18)}
.signature-thumb:hover{filter:brightness(.97);transform:translateY(-1px)}
.signature-status{color:#64798b;font-size:.86rem;font-weight:700}
.signature-status.success{color:#087743}
.signature-status.error{color:#b1182c}
.signature-privacy-note{display:block;margin-top:12px;padding:10px 12px;border-left:4px solid #20a7cc;background:#edf9fd;color:#35586e;line-height:1.5}
.existing-member-signature{display:flex;align-items:center;gap:14px;margin:12px 0;padding:10px 12px;border:1px solid #d6e4ee;border-radius:13px;background:#fff}
.existing-member-signature img{width:min(230px,48%);height:72px;object-fit:contain;border-right:1px solid #e2ebf2;padding-right:12px}
.existing-member-signature small{color:#3f5e73;font-weight:800;line-height:1.5}
.application-signature-preview{display:block;width:132px;height:48px;object-fit:contain;padding:4px;margin-bottom:7px;border:1px solid #d8e5ee;border-radius:9px;background:#fff}
.applications-table .application-signature-preview{max-width:100%}
.profile-photo-widget{margin-bottom:4px}
.profile-photo-widget .camera-preview{box-shadow:0 8px 20px rgba(7,69,111,.12)}
.member-receipt-link{display:inline-flex;margin-top:7px;padding:6px 9px;border-radius:9px;background:#e9f7ef;color:#08753e!important;font-size:.8rem;font-weight:900;text-decoration:none}
.member-receipt-link:hover{background:#d3f0df}
.campaign-attachment-choice{padding:14px;border:1px solid #d8e8f2;border-radius:15px;background:#f7fbfe}
.campaign-attachment-choice small{display:block;margin-top:7px;color:#587083;line-height:1.5}

@media(max-width:700px){
  .online-signature-widget{padding:15px}
  .signature-widget-heading{align-items:flex-start}
  .signature-canvas{height:160px}
  .signature-actions .btn{width:100%}
}

/* ===== V129.5.2 — footer d'accueil universel et bande passante lisible ===== */

/* Les mentions superposées à la photographie ne masquent plus le portrait. */
.president-home-marker,
.president-biography-portrait>span{
  display:none!important;
}

/* Le même footer public est conservé dans FOBAK, l'administration, le Centre
   de Santé et le portail patient, sans variante chromatique contextuelle. */
.fobak-unified-footer.app-footer.dashboard-style-footer,
.fobak-unified-footer.app-footer.dashboard-style-footer.is-health{
  width:100%!important;
  max-width:none!important;
  margin:28px 0 0!important;
  border-radius:0!important;
  background:linear-gradient(135deg,#053a5a,#075b74 68%,#08766f)!important;
  border-top:4px solid var(--fobak-gold)!important;
  color:#fff!important;
}

.health-main>.fobak-unified-footer,
.health-public>.fobak-unified-footer,
.patient-portal>.fobak-unified-footer{
  align-self:stretch!important;
  box-sizing:border-box!important;
}

/* La bande passante devient un véritable bandeau d'information : texte plus
   grand, graisse forte et contraste renforcé sur tous les écrans. */
:root{
  --v125-ticker-h:52px;
}

.communique-ticker.enhanced-ticker{
  min-height:var(--v125-ticker-h)!important;
  height:var(--v125-ticker-h)!important;
  padding:5px 10px!important;
  gap:11px!important;
  grid-template-columns:auto minmax(0,1fr) 40px!important;
  border-top:3px solid #064d7c!important;
  background:linear-gradient(90deg,#ffc928 0%,#ffe76b 52%,#ffd53d 100%)!important;
  box-shadow:0 -7px 24px rgba(4,42,69,.24)!important;
}

.communique-ticker.enhanced-ticker>strong{
  height:40px!important;
  padding:0 16px!important;
  border:1px solid rgba(255,255,255,.32)!important;
  background:#053f69!important;
  color:#fff!important;
  font-size:13.5px!important;
  font-weight:950!important;
  letter-spacing:.045em!important;
  text-shadow:0 1px 1px rgba(0,0,0,.24)!important;
  box-shadow:0 4px 12px rgba(3,43,73,.22)!important;
}

.communique-ticker.enhanced-ticker .ticker-track span{
  color:#062c49!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1.25!important;
  letter-spacing:.012em!important;
  text-shadow:0 1px 0 rgba(255,255,255,.72)!important;
}

.communique-ticker.enhanced-ticker .ticker-close{
  width:38px!important;
  height:38px!important;
  border:1px solid rgba(5,63,105,.18)!important;
  background:rgba(255,255,255,.68)!important;
  color:#053f69!important;
  font-size:22px!important;
  font-weight:950!important;
}

body.health-app,
body.health-public,
body.patient-portal{
  padding-bottom:calc(var(--v125-ticker-h) + 10px)!important;
}

body.ticker-is-hidden.health-app,
body.ticker-is-hidden.health-public,
body.ticker-is-hidden.patient-portal{
  padding-bottom:10px!important;
}

@media(max-width:520px){
  :root{
    --v125-ticker-h:58px;
  }

  .communique-ticker.enhanced-ticker{
    grid-template-columns:auto minmax(0,1fr) 36px!important;
    gap:7px!important;
    padding:6px!important;
  }

  .communique-ticker.enhanced-ticker>strong{
    height:42px!important;
    padding:0 10px!important;
    font-size:11.5px!important;
  }

  .communique-ticker.enhanced-ticker .ticker-track span{
    font-size:14px!important;
    font-weight:900!important;
  }

  .communique-ticker.enhanced-ticker .ticker-close{
    width:34px!important;
    height:34px!important;
  }
}

/* ===== V129.5.1 — proportions institutionnelles et lisibilité ===== */

/* Le portrait suit désormais le ratio réel du fichier : aucune bande vide et
   aucun recadrage forcé, quelle que soit l'orientation de la photographie. */
.president-home-layout{
  grid-template-columns:minmax(310px,380px) minmax(0,1fr)!important;
}

.president-home-portrait{
  position:relative!important;
  top:auto!important;
  max-width:380px!important;
  align-self:start!important;
}

.president-home-photo{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  line-height:0!important;
}

.president-home-photo img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
}

.president-home-photo>.president-biography-placeholder{
  width:100%!important;
  height:auto!important;
  min-height:310px!important;
  aspect-ratio:4/5!important;
}

.president-biography-hero{
  grid-template-columns:minmax(310px,380px) minmax(0,1fr)!important;
  align-items:start!important;
}

.president-biography-portrait{
  align-self:start!important;
  height:auto!important;
}

.president-biography-portrait img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
}

.president-biography-portrait>.president-biography-placeholder{
  width:100%!important;
  height:auto!important;
  min-height:340px!important;
  aspect-ratio:4/5!important;
}

/* En-tête public pleine largeur et mieux proportionné. */
@media(min-width:1200px){
  :root{
    --v125-public-header-h:106px;
    --v125-public-nav-h:62px;
  }

  body.public-layout>.site-header.public-header{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:12px clamp(30px,5vw,76px)!important;
    grid-template-columns:82px minmax(0,1fr) 104px!important;
    gap:26px!important;
  }

  body.public-layout>.site-header.public-header .logo-box{
    width:74px!important;
    height:74px!important;
  }

  body.public-layout>.site-header.public-header .flag-real{
    width:96px!important;
    height:64px!important;
  }

  body.public-layout>.site-header.public-header .brand-block strong{
    font-size:clamp(28px,2.35vw,36px)!important;
    letter-spacing:.01em!important;
  }

  body.public-layout>.site-header.public-header .brand-block span,
  body.public-layout>.site-header.public-header .brand-block em{
    font-size:13px!important;
  }

  body.public-layout>.top-nav.public-nav{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:16px!important;
    padding:8px clamp(22px,3vw,48px)!important;
    overflow:visible!important;
  }

  body.public-layout>.top-nav.public-nav .public-nav-links{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    min-width:0!important;
    flex-wrap:nowrap!important;
  }

  body.public-layout>.top-nav.public-nav .public-nav-actions{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:8px!important;
  }

  body.public-layout>.top-nav.public-nav a,
  body.public-layout>.top-nav.public-nav .language-select{
    min-height:42px!important;
    padding:9px 11px!important;
    font-size:13px!important;
  }
}

/* Pied de page : quatre zones équilibrées, textes lisibles et coordonnées
   complètes. Réseaux sociaux et téléchargements forment un même bloc. */
.fobak-footer-grid.fobak-footer-grid-v125{
  grid-template-columns:minmax(320px,1.35fr) minmax(175px,.72fr) minmax(235px,1fr) minmax(255px,.92fr)!important;
  gap:clamp(25px,3vw,46px)!important;
  padding:38px clamp(24px,4vw,62px) 40px!important;
  align-items:start!important;
}

.fobak-footer-community{
  display:grid!important;
  align-content:start!important;
  gap:25px!important;
  min-width:0!important;
}

.footer-brand-copy{
  gap:9px!important;
}

.footer-brand-copy>strong{
  font-size:1.12rem!important;
  line-height:1.3!important;
}

.footer-brand-copy>span{
  font-size:.86rem!important;
  line-height:1.5!important;
}

.fobak-footer-contact{
  gap:8px!important;
  margin-top:7px!important;
}

.footer-info-chip{
  align-items:flex-start!important;
  font-size:.84rem!important;
  line-height:1.45!important;
}

.footer-info-chip span{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

.fobak-footer-links{
  gap:9px!important;
}

.fobak-footer-links h3,
.fobak-footer-social h3,
.fobak-footer-apps h3{
  margin-bottom:10px!important;
  font-size:.88rem!important;
}

.fobak-footer-links a{
  font-size:.87rem!important;
  line-height:1.48!important;
}

.fobak-social-note{
  font-size:.8rem!important;
}

.fobak-footer-apps{
  min-width:0!important;
}

.footer-app-icons{
  gap:9px!important;
}

.footer-app-icon{
  width:72px!important;
  height:66px!important;
}

.fobak-footer-copyright{
  min-height:54px!important;
  padding-block:15px!important;
  font-size:.84rem!important;
}

@media(max-width:1199px){
  .president-home-layout{
    grid-template-columns:minmax(270px,330px) minmax(0,1fr)!important;
  }

  .president-biography-hero{
    grid-template-columns:minmax(270px,330px) minmax(0,1fr)!important;
  }

  .fobak-footer-grid.fobak-footer-grid-v125{
    grid-template-columns:minmax(290px,1.15fr) minmax(190px,.8fr) minmax(230px,1fr)!important;
  }

  .fobak-footer-community{
    grid-column:1/-1!important;
    grid-template-columns:minmax(230px,.7fr) minmax(270px,1fr)!important;
    align-items:start!important;
  }
}

@media(max-width:760px){
  .president-home-layout,
  .president-biography-hero{
    grid-template-columns:1fr!important;
  }

  .president-home-portrait{
    width:min(100%,380px)!important;
  }

  .fobak-footer-grid.fobak-footer-grid-v125{
    grid-template-columns:1fr!important;
    gap:27px!important;
  }

  .fobak-footer-brand{
    grid-column:auto!important;
  }

  .fobak-footer-community{
    grid-column:auto!important;
    grid-template-columns:1fr!important;
  }
}

/* ===== V129.6.5 — Déconnexion toujours visible au-dessus de la bande passante ===== */
/* Administration FOBAK : le menu latéral reste prioritaire sur le ticker. */
body.admin-layout .side-dashboard{
  z-index:1905!important;
}
body.admin-layout .side-account-footer{
  position:relative!important;
  z-index:1910!important;
  background:linear-gradient(180deg,#063553 0%,#05283f 100%)!important;
  padding:8px 6px max(10px,env(safe-area-inset-bottom))!important;
  box-shadow:0 -12px 28px rgba(2,24,40,.34)!important;
}
body.admin-layout .side-account-footer .logout-btn{
  position:relative!important;
  z-index:1912!important;
  width:100%!important;
  min-height:54px!important;
  margin:4px 0 0!important;
  padding:13px 16px!important;
  border:2px solid #fff!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#d92737,#b91527)!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:950!important;
  letter-spacing:.015em!important;
  text-shadow:0 1px 1px rgba(0,0,0,.22)!important;
  box-shadow:0 8px 20px rgba(91,7,19,.34)!important;
  visibility:visible!important;
  opacity:1!important;
}
body.admin-layout .side-account-footer .logout-btn svg{
  fill:#fff!important;
  width:23px!important;
  height:23px!important;
}
body.admin-layout .side-account-footer .logout-btn:hover,
body.admin-layout .side-account-footer .logout-btn:focus-visible{
  background:linear-gradient(135deg,#ef3a49,#c5182a)!important;
  color:#fff!important;
  outline:3px solid rgba(255,210,30,.55)!important;
  outline-offset:2px!important;
}

/* Sur grand écran, le bandeau commence après le menu : aucun chevauchement. */
@media (min-width:781px){
  body.admin-layout:not(.sidebar-collapsed) .communique-ticker.enhanced-ticker{
    left:var(--fobak-sidebar-width,280px)!important;
    right:0!important;
    width:calc(100% - var(--fobak-sidebar-width,280px))!important;
  }
  body.admin-layout.sidebar-collapsed .communique-ticker.enhanced-ticker{
    left:0!important;
    right:0!important;
    width:100%!important;
  }
}

/* Sur téléphone/tablette, le menu ouvert passe nettement devant le ticker. */
@media (max-width:780px){
  body.admin-layout .side-dashboard{
    z-index:1905!important;
  }
  body.admin-layout .mobile-menu-backdrop{
    z-index:1895!important;
  }
  body.admin-layout .side-account-footer{
    padding-bottom:max(12px,env(safe-area-inset-bottom))!important;
  }
  body.admin-layout .side-account-footer .logout-btn{
    min-height:56px!important;
    font-size:16px!important;
  }
}

/* Centre de Santé : même protection pour le bouton Déconnexion. */
body.health-app .health-sidebar{
  z-index:1905!important;
}
body.health-app .health-sidebar-footer{
  position:relative!important;
  z-index:1910!important;
  padding-bottom:max(10px,env(safe-area-inset-bottom))!important;
}
body.health-app .health-sidebar-footer a.logout-btn{
  min-height:50px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:2px solid #fff!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,#d92737,#b91527)!important;
  color:#fff!important;
  font-weight:950!important;
  box-shadow:0 8px 18px rgba(91,7,19,.30)!important;
}
@media (min-width:1051px){
  body.health-app .communique-ticker.enhanced-ticker{
    left:286px!important;
    right:0!important;
    width:calc(100% - 286px)!important;
  }
}
@media (max-width:1050px){
  body.health-app .health-backdrop{z-index:1895!important;}
  body.health-app .health-sidebar{z-index:1905!important;}
}
