
/* =========================================================
   FESDFA 2.7 BLUE PREMIUM STABLE — FORCE FINAL
   Chargé APRÈS assets/style.css pour écraser les anciens styles.
   - Bleu premium unique partout
   - Mobile annuaire en une seule colonne
   - Bouton menu caché sur desktop, visible sur mobile seulement
   - Suppression panneaux de chargement
   - WhatsApp réduit
========================================================= */

:root{
  --fesdfa-blue-premium:#0B33D6;
  --fesdfa-blue-premium-2:#0A2DCC;
  --fesdfa-blue-bright:#1147FF;
  --fesdfa-gold:#E8C75A;
  --fesdfa-gold-deep:#D4AF37;
  --fesdfa-card-gradient:linear-gradient(180deg,#1147FF 0%,#0B33D6 55%,#0A2DCC 100%);
  --fesdfa-page-gradient:linear-gradient(135deg,#0B33D6 0%,#0A2DCC 52%,#1147FF 100%);
  --fesdfa-border:1.5px solid rgba(232,199,90,.48);
}

html,
body{
  background:var(--fesdfa-page-gradient)!important;
  color:#fff!important;
  overflow-x:hidden!important;
}

/* BLEU PREMIUM SUR TOUTES LES PAGES */
body,
main,
.site,
.page,
.wrapper,
.app,
#app,
#root,
.home,
.home-page,
.homepage,
section,
.section,
.content-section,
.hero,
.hero-section,
.main-hero,
.president-section,
.structure-section,
.quick-access,
.quick-access-section,
.acces-rapide,
.documents-section,
.conventions-section,
.inscription-section,
.annuaire-section,
.members-section,
.team-section,
.bureau-section,
.comite-section,
.actualites-hero,
.latest-facebook-section,
.featured-news-section,
.footer,
.site-footer{
  background:var(--fesdfa-page-gradient)!important;
  background-color:#0B33D6!important;
  color:#fff!important;
}

/* CARTES BLEU PREMIUM — plus de blanc/gris/violet */
.card,
.info-card,
.quick-card,
.feature-card,
.document-card,
.convention-card,
.president,
.president-card,
.president-message,
.mot-president,
.mot-du-president,
.structure-card,
.member,
.member-card,
.verify-card,
.fesdfa-unified-card,
.fesdfa-final-card,
.member-profile,
.annuaire-card,
.directory-card,
.leader-card,
.team-card,
.bureau-card,
.comite-card,
.facebook-highlight-card,
.featured-news-card,
.platform-callout,
.verification-panel{
  background:var(--fesdfa-card-gradient)!important;
  background-color:#0B33D6!important;
  color:#fff!important;
  border:var(--fesdfa-border)!important;
  border-radius:28px!important;
  box-shadow:0 18px 48px rgba(0,0,0,.22)!important;
  overflow:hidden!important;
}

/* Ne pas laisser les anciennes classes imposer noir/violet/gris */
.president-section,
.structure-section,
.quick-access,
.acces-rapide,
.member-grid,
.members-grid,
.fesdfa-final-grid,
.fesdfa-verification-grid{
  background:var(--fesdfa-page-gradient)!important;
  background-color:#0B33D6!important;
}

/* Header */
.site-header,
header,
.navbar,
.topbar,
.main-header{
  background:var(--fesdfa-page-gradient)!important;
  background-color:#0B33D6!important;
  border-bottom:1px solid rgba(232,199,90,.38)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.18)!important;
}

.site-header .menu{
  display:flex!important;
  align-items:center!important;
}

.site-header .menu a{
  color:#fff!important;
  font-weight:900!important;
}

/* BOUTON MENU : CACHÉ SUR DESKTOP */
.mobile-menu-toggle,
.hamburger,
.menu-toggle,
.nav-toggle,
.mobile-toggle,
#menuToggle,
#mobileMenuToggle{
  display:none!important;
}

/* Si le bouton est un button général, ne pas laisser la règle bouton or le transformer */
button.mobile-menu-toggle,
.mobile-menu-toggle{
  background:rgba(255,255,255,.08)!important;
  border:1.5px solid rgba(255,255,255,.45)!important;
  border-radius:18px!important;
  box-shadow:none!important;
  color:#F7D46A!important;
}

/* Les 3 barres selon la référence */
.mobile-menu-toggle span,
.hamburger span,
.menu-toggle span,
.nav-toggle span,
.mobile-toggle span,
#menuToggle span,
#mobileMenuToggle span{
  background:#F7D46A!important;
  box-shadow:none!important;
}

/* Boutons or seulement pour CTA, pas pour le menu desktop */
.btn,
a.button,
.cta,
.cta-button,
.btn-primary,
.verify-button,
.digital-card-btn.save-contact{
  background:linear-gradient(135deg,#D4AF37,#E8C75A)!important;
  color:#06185B!important;
  border:1px solid rgba(255,255,255,.55)!important;
  border-radius:999px!important;
  font-weight:900!important;
}

/* Mot du Président */
.president,
.president-card,
.president-message,
.mot-president,
.mot-du-president,
#mot-president,
#motDuPresident{
  background:var(--fesdfa-card-gradient)!important;
  background-color:#0B33D6!important;
  color:#fff!important;
}

.president img,
.president-card img,
.president-message img,
.president-photo,
.mot-president img,
.mot-du-president img{
  border:4px solid var(--fesdfa-gold)!important;
  background:#fff!important;
  box-shadow:0 12px 30px rgba(0,0,0,.20)!important;
}

/* Annuaire / contacts */
.member *,
.member-card *,
.verify-card *,
.fesdfa-unified-card *,
.fesdfa-final-card *{
  box-sizing:border-box!important;
  max-width:100%!important;
}

.member a,
.member-card a,
.verify-card a,
.fesdfa-unified-card a,
.fesdfa-final-card a{
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
}

/* WhatsApp : jamais géant */
img[src*="whatsapp"],
img[src*="WhatsApp"],
img[alt*="WhatsApp"],
img[alt*="whatsapp"],
a[href*="wa.me"] img,
a[href*="whatsapp"] img,
.whatsapp-annuaire-logo{
  width:24px!important;
  height:24px!important;
  max-width:24px!important;
  max-height:24px!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:contain!important;
  box-shadow:none!important;
  border:0!important;
  padding:0!important;
}

/* Supprimer panneau violet / loader */
.loading-card,
.page-loader,
.loader-overlay,
.loading-overlay,
.preloader,
.page-transition,
.transition-card,
.splash,
.splash-screen,
#loader,
#preloader,
#page-loader,
#pageTransition{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* MOBILE */
@media(max-width:900px){
  .site-header .menu{
    display:none!important;
  }

  .site-header .menu.menu-open{
    display:flex!important;
    position:absolute!important;
    top:calc(100% + 10px)!important;
    left:14px!important;
    right:14px!important;
    z-index:9999!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
    padding:14px!important;
    background:var(--fesdfa-page-gradient)!important;
    border:1px solid rgba(232,199,90,.40)!important;
    border-radius:18px!important;
    box-shadow:0 20px 55px rgba(0,0,0,.28)!important;
  }

  .site-header .menu.menu-open a{
    display:block!important;
    width:100%!important;
    padding:14px 16px!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.08)!important;
    border:1px solid rgba(255,255,255,.12)!important;
    color:#fff!important;
  }

  .mobile-menu-toggle{
    display:inline-flex!important;
    width:56px!important;
    height:56px!important;
    min-width:56px!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:6px!important;
  }

  .mobile-menu-toggle span{
    display:block!important;
    width:26px!important;
    height:4px!important;
    border-radius:99px!important;
  }
}

@media(max-width:760px){
  body{
    overflow-x:hidden!important;
  }

  /* CARD RESPONSIVE: UNE SEULE COLONNE */
  .verify-card,
  .member,
  .member-card,
  .fesdfa-unified-card,
  .fesdfa-final-card,
  .member-profile,
  .annuaire-card,
  .directory-card{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important;
    min-width:0!important;
    margin:16px auto!important;
    padding:22px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    background:var(--fesdfa-card-gradient)!important;
    color:#fff!important;
  }

  .verify-body,
  .member-content,
  .member-info-grid,
  .profile-grid,
  .members-grid,
  .member-grid,
  .fesdfa-final-grid,
  .fesdfa-verification-grid{
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:16px!important;
  }

  .verify-card > *,
  .member > *,
  .member-card > *,
  .fesdfa-unified-card > *,
  .fesdfa-final-card > *,
  .member-profile > *,
  .annuaire-card > *,
  .directory-card > *{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-column:1/-1!important;
    float:none!important;
    position:static!important;
    box-sizing:border-box!important;
  }

  .member img,
  .member-card img,
  .verify-photo,
  .fesdfa-member-photo,
  .fesdfa-unified-card img,
  .fesdfa-final-card img,
  .member-profile img,
  .annuaire-card img,
  .directory-card img{
    display:block!important;
    width:min(220px,78vw)!important;
    height:auto!important;
    max-height:280px!important;
    object-fit:cover!important;
    margin:0 auto 18px!important;
    float:none!important;
    position:static!important;
    border:4px solid var(--fesdfa-gold)!important;
    border-radius:22px!important;
  }

  .member img[src*="whatsapp"],
  .member-card img[src*="whatsapp"],
  .fesdfa-unified-card img[src*="whatsapp"],
  .fesdfa-final-card img[src*="whatsapp"],
  .verify-card img[src*="whatsapp"],
  .member img[alt*="WhatsApp"],
  .member-card img[alt*="WhatsApp"],
  .verify-card img[alt*="WhatsApp"],
  .member a[href*="wa.me"] img,
  .member-card a[href*="wa.me"] img,
  .verify-card a[href*="wa.me"] img,
  .whatsapp-annuaire-logo{
    width:22px!important;
    height:22px!important;
    max-width:22px!important;
    max-height:22px!important;
    min-width:0!important;
    min-height:0!important;
    object-fit:contain!important;
    display:inline-block!important;
    vertical-align:middle!important;
    margin:0 8px 0 0!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
    position:static!important;
    transform:none!important;
  }

  .member h1,
  .member h2,
  .member h3,
  .member-card h1,
  .member-card h2,
  .member-card h3,
  .fesdfa-unified-card h2,
  .fesdfa-final-card h2,
  .verify-card h2{
    text-align:center!important;
    font-size:clamp(28px,8vw,38px)!important;
    line-height:1.08!important;
    margin:14px auto!important;
    word-break:break-word!important;
    overflow-wrap:anywhere!important;
    color:#fff!important;
  }

  .row,
  .label,
  .value,
  .member p,
  .member-card p,
  .fesdfa-unified-card p,
  .fesdfa-final-card p,
  .verify-card p,
  .member-info,
  .profile-info,
  .annuaire-contact-block,
  .annuaire-contact-line{
    display:block!important;
    text-align:left!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    word-break:break-word!important;
    overflow-wrap:anywhere!important;
    white-space:normal!important;
    line-height:1.45!important;
    color:#fff!important;
  }

  .annuaire-contact-line{
    margin:10px 0!important;
  }

  .annuaire-contact-line a,
  .fesdfa-final-contact a{
    display:inline!important;
    max-width:100%!important;
    white-space:normal!important;
    word-break:break-word!important;
    overflow-wrap:anywhere!important;
  }

  .digital-social-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
    width:100%!important;
  }

  .digital-business-card-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
  }

  .digital-card-btn,
  .digital-social-link{
    width:100%!important;
    box-sizing:border-box!important;
    white-space:normal!important;
    text-align:center!important;
  }

  .president,
  .president-card,
  .president-message,
  .quick-card,
  .quick-access .card,
  .feature-card,
  .info-card,
  .card,
  .document-card,
  .convention-card,
  .structure-card{
    width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

@media(max-width:420px){
  .digital-social-grid{
    grid-template-columns:1fr!important;
  }
}
