/* =========================================================
   CDIDES — Feuille de style « diplomatique »
   Bootstrap 5 + personnalisation. 100 % responsive (mobile first)
   ========================================================= */

:root{
  --brand:#123a72;   /* bleu institutionnel */
  --gold:#c8a227;    /* or */
  --accent:#0a2249;  /* bleu nuit */
  --ink:#16233a;
  --muted:#6b7280;
  --paper:#f5f7fa;
  --radius:14px;
  --shadow:0 10px 30px rgba(18,58,114,.12);
}

*{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  color:var(--ink);
  background:var(--paper);
  font-size:15.5px;
  line-height:1.65;
}
h1,h2,h3,h4,.display-title,.navbar-brand strong{font-family:'Playfair Display',Georgia,serif;letter-spacing:-.2px}
a{text-decoration:none}
img{max-width:100%}
.text-gold{color:var(--gold)!important}
.bg-brand{background:var(--brand)!important}
.bg-accent{background:var(--accent)!important}

/* ------------------------- Boutons ------------------------- */
.btn{border-radius:999px;font-weight:600;padding:.55rem 1.35rem}
.btn-brand{background:var(--brand);color:#fff;border:1px solid var(--brand)}
.btn-brand:hover{background:#0d2b56;color:#fff}
.btn-gold{background:var(--gold);color:#1b1b1b;border:1px solid var(--gold)}
.btn-gold:hover{background:#b18f1d;color:#1b1b1b}
.btn-outline-brand{border:1px solid var(--brand);color:var(--brand)}
.btn-outline-brand:hover{background:var(--brand);color:#fff}

/* ------------------------- Topbar / Nav ------------------------- */
.topbar{background:var(--brand);color:#dce6f4;font-size:.82rem;padding:.4rem 0}
.topbar a{color:#dce6f4}
.topbar a:hover{color:var(--gold)}
.main-nav{background:#fff;box-shadow:0 2px 16px rgba(0,0,0,.06);padding:.5rem 0}
.navbar-brand .brand-text strong{display:block;font-size:1.35rem;color:var(--brand);line-height:1}
.navbar-brand .brand-text small{display:block;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.main-nav .nav-link{font-weight:500;color:#26332e;padding:.55rem .8rem;border-radius:8px}
.main-nav .nav-link:hover,.main-nav .nav-link.active{color:var(--brand);background:rgba(18,58,114,.07)}
.dropdown-menu{border:none;box-shadow:var(--shadow);border-radius:12px;padding:.5rem;border-top:3px solid var(--gold)}
.dropdown-item{border-radius:8px;padding:.5rem .8rem;font-size:.92rem}
.dropdown-item:hover{background:rgba(18,58,114,.08);color:var(--brand)}

/* ------------------------- Hero / slider ------------------------- */
.hero{position:relative;min-height:70vh;background:#0a2249;color:#fff;display:flex;align-items:center;overflow:hidden}
.hero .carousel,.hero .carousel-inner,.hero .carousel-item{height:100%;min-height:70vh}
.hero-slide{position:relative;min-height:70vh;display:flex;align-items:center;background-size:cover;background-position:center}
.hero-slide::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(7,40,30,.95) 5%,rgba(7,40,30,.75) 45%,rgba(7,40,30,.25) 100%)}
.hero-slide .container{position:relative;z-index:2}
.hero-kicker{display:inline-block;background:var(--gold);color:#20200e;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:.35rem 1rem;border-radius:999px}
.hero h1{font-size:clamp(1.9rem,5vw,3.4rem);font-weight:800;margin:1rem 0;max-width:900px;color:#fff}
.hero p.lead{max-width:660px;color:#e6ede9}
.carousel-indicators [data-bs-target]{width:34px;height:4px;border-radius:4px;background:#ffffff88}
.carousel-indicators .active{background:var(--gold)}

/* Bandeau simple pour les pages internes */
.page-banner{position:relative;background:var(--brand);color:#fff;padding:3.2rem 0;background-size:cover;background-position:center}
.page-banner::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,58,114,.95),rgba(18,58,114,.6))}
.page-banner .container{position:relative;z-index:2}
.page-banner h1{color:#fff;font-size:clamp(1.6rem,4vw,2.6rem);margin:0}
.page-banner p{color:#dbe7e1;margin:.4rem 0 0}
.breadcrumb-diplo{--bs-breadcrumb-divider-color:#9fb8ad;font-size:.82rem}
.breadcrumb-diplo a{color:var(--gold)}
.breadcrumb-diplo .breadcrumb-item.active{color:#cfe0d8}

/* ------------------------- Sections ------------------------- */
section{padding:3.4rem 0}
.section-kicker{color:var(--gold);font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem}
.section-title{font-family:'Playfair Display',serif;font-weight:700;color:var(--brand);font-size:clamp(1.4rem,3.4vw,2.1rem)}
.section-title.center{text-align:center}
.title-rule{width:70px;height:3px;background:var(--gold);border-radius:3px;margin:.8rem 0 1.4rem}
.title-rule.center{margin-left:auto;margin-right:auto}

/* ------------------------- Cartes ------------------------- */
.card-diplo{background:#fff;border:1px solid #e8eceb;border-radius:var(--radius);overflow:hidden;height:100%;transition:.25s}
.card-diplo:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#dfe6e3}
.card-diplo img.cover{width:100%;height:190px;object-fit:cover}
.card-diplo .card-body{padding:1.15rem}
.card-diplo h3,.card-diplo h5{font-size:1.05rem;font-weight:700;color:var(--brand)}
.tag{display:inline-block;background:rgba(200,162,39,.16);color:#8a6c10;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.22rem .7rem;border-radius:999px}
.tag-brand{background:rgba(18,58,114,.1);color:var(--brand)}

/* ------------------------- Statistiques ------------------------- */
.stat-card{background:#fff;border:1px solid #e8eceb;border-left:4px solid var(--gold);border-radius:12px;padding:1.1rem;height:100%;text-align:center}
.stat-card .icon{font-size:1.5rem;color:var(--brand)}
.stat-card .value{font-family:'Playfair Display',serif;font-size:1.9rem;font-weight:800;color:var(--brand);line-height:1.1}
.stat-card .label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}

/* ------------------------- Président ------------------------- */
.president{background:var(--brand);color:#e8eef8}
.president h2{color:#fff}
.president .portrait{border-radius:var(--radius);object-fit:cover;width:100%;height:380px;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.president .signature{color:var(--gold);font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700}
.quote-mark{font-family:'Playfair Display',serif;font-size:4rem;line-height:.6;color:var(--gold);opacity:.6}

/* ------------------------- Listes ------------------------- */
.list-check{list-style:none;padding-left:0}
.list-check li{position:relative;padding-left:1.6rem;margin-bottom:.45rem}
.list-check li::before{content:'\F26E';font-family:'bootstrap-icons';position:absolute;left:0;color:var(--gold)}

/* ------------------------- Annuaire / membres ------------------------- */
.member-card{display:flex;gap:1rem;background:#fff;border:1px solid #e8eceb;border-radius:var(--radius);padding:1rem;height:100%}
.member-card:hover{box-shadow:var(--shadow)}
.member-avatar{width:78px;height:78px;border-radius:12px;object-fit:cover;flex:0 0 78px;background:rgba(18,58,114,.09);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--brand);font-size:1.3rem}
.member-card h3{font-size:1rem;margin:0}
.member-role{color:var(--brand);font-weight:600;font-size:.85rem}
.member-meta{font-size:.78rem;color:var(--muted)}

/* ------------------------- Organigramme ------------------------- */
.org-level{margin-bottom:2.4rem}
.org-level h2{font-size:1.25rem;color:var(--brand);border-left:4px solid var(--gold);padding-left:.7rem;margin-bottom:1.2rem}
.org-card{background:#fff;border:1px solid #e8eceb;border-radius:var(--radius);text-align:center;overflow:hidden;height:100%}
.org-card img,.org-card .no-photo{width:100%;height:210px;object-fit:cover;background:rgba(18,58,114,.09);display:flex;align-items:center;justify-content:center;font-size:2.4rem;color:var(--brand);font-family:'Playfair Display',serif}
.org-card .body{padding:1rem}
.org-card .name{font-weight:700;color:var(--ink)}
.org-card .role{color:var(--brand);font-size:.85rem;font-weight:600}

/* ------------------------- Galerie ------------------------- */
.gallery-item{position:relative;display:block;border-radius:var(--radius);overflow:hidden;height:220px}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.35s}
.gallery-item:hover img{transform:scale(1.07)}
.gallery-item .overlay{position:absolute;inset:auto 0 0 0;padding:.9rem;background:linear-gradient(transparent,rgba(0,0,0,.78));color:#fff}
.gallery-item .overlay strong{display:block}

/* ------------------------- Partenaires ------------------------- */
.partner-logo{background:#fff;border:1px solid #e8eceb;border-radius:12px;height:104px;display:flex;align-items:center;justify-content:center;padding:1rem;transition:.2s}
.partner-logo:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.partner-logo img{max-height:66px;object-fit:contain}

/* Fiche partenaire institutionnelle */
.partner-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e8eceb;border-radius:var(--radius);overflow:hidden;transition:.25s}
.partner-card:hover{box-shadow:var(--shadow);transform:translateY(-3px);border-color:#dfe6e3}
.partner-card-logo{height:110px;display:flex;align-items:center;justify-content:center;background:#fbfcfb;border-bottom:1px solid #eef2f0;padding:.8rem}
.partner-card-logo img{max-height:80px;max-width:100%;object-fit:contain}
.partner-card-body{padding:1rem;flex:1}
.partner-card-body h3{font-size:.98rem;font-weight:700;color:var(--ink);line-height:1.35}
.flag-img{border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.08);vertical-align:middle}
.sticky-cats{position:sticky;top:64px;z-index:20}

/* ------------------- Leviers financiers CIS / FIP ------------------- */
.leviers-section{background:linear-gradient(180deg,#ffffff 0%, #f2f5f3 100%)}
.levier-card{position:relative;background:#fff;border:1px solid #e5eae8;border-top:5px solid var(--lc,var(--brand));
  border-radius:var(--radius);padding:1.6rem;display:flex;flex-direction:column;transition:.25s}
.levier-card:hover{box-shadow:0 16px 40px rgba(18,58,114,.14);transform:translateY(-4px)}
.levier-head{display:flex;gap:1rem;align-items:flex-start;margin-bottom:.8rem}
.levier-icon{flex:0 0 54px;width:54px;height:54px;border-radius:14px;display:flex;align-items:center;
  justify-content:center;background:var(--lc,var(--brand));color:#fff;font-size:1.5rem}
.levier-sigle{display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--lc,var(--brand));background:rgba(0,0,0,.04);padding:.15rem .6rem;border-radius:999px}
.levier-card h3{font-size:1.18rem;font-weight:700;color:var(--ink);margin:.35rem 0 0}
.levier-tagline{font-family:'Playfair Display',serif;font-size:1.02rem;color:var(--lc,var(--brand));font-weight:600}
.chip{display:inline-flex;align-items:center;font-size:.7rem;background:#f4f7f5;border:1px solid #e5eae8;
  color:#4b5a53;padding:.2rem .6rem;border-radius:999px}
.btn-levier{margin-top:auto;align-self:flex-start;background:var(--lc,var(--brand));color:#fff;border-radius:999px;
  padding:.55rem 1.4rem;font-weight:600;font-size:.9rem;border:1px solid var(--lc,var(--brand))}
.btn-levier:hover{filter:brightness(1.15);color:#fff}
.leviers-synthese{background:#fff;border:1px solid #e5eae8;border-left:4px solid var(--gold);
  border-radius:var(--radius);padding:1.4rem 1.6rem}
.leviers-synthese p{margin:.4rem 0}

.levier-banner::after{display:none}
.levier-banner .hero-kicker{background:var(--gold);color:#20200e}
.ambition-card{background:var(--brand);color:#e8eef8;border-radius:var(--radius);padding:1.3rem;border-left:4px solid var(--gold)}
.ambition-card .section-kicker{color:var(--gold)}
.sector-card{background:#fff;border:1px solid #e8eceb;border-radius:12px;padding:1rem .8rem;text-align:center;height:100%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;transition:.2s}
.sector-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.sector-card i{font-size:1.7rem}
.sector-card span{font-size:.82rem;font-weight:600;color:#3c4a44;line-height:1.3}
.levier-mini{display:block;background:#fff;border:1px solid #e8eceb;border-radius:var(--radius);padding:1rem;
  text-decoration:none;color:inherit;transition:.2s}
.levier-mini:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.accordion-button:not(.collapsed){background:#f4f7f5;color:var(--brand);box-shadow:none}
.accordion-button:focus{box-shadow:none;border-color:#e5eae8}

/* --------------------- Mandats & représentations -------------------- */
.mandate-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e8eceb;border-radius:var(--radius);
  overflow:hidden;transition:.25s}
.mandate-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.mandate-logo{height:104px;display:flex;align-items:center;justify-content:center;background:#fbfcfb;
  border-bottom:1px solid #eef2f0;padding:.8rem}
.mandate-logo img{max-height:74px;max-width:100%;object-fit:contain}
.mandate-body{padding:1.1rem;flex:1}
.mandate-line{display:flex;flex-direction:column;font-size:.82rem;margin-bottom:.55rem}
.mandate-line .lbl{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
.mandate-mini{display:block;background:#fff;border:1px solid #e8eceb;border-left:3px solid var(--gold);
  border-radius:12px;padding:1rem;text-decoration:none;color:inherit;transition:.2s}
.mandate-mini:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.mandate-mini-logo{max-height:36px;max-width:130px;object-fit:contain}
.dropdown-leviers{min-width:320px}

/* Cartes pays / représentations */
.country-card{background:#fff;border:1px solid #e8eceb;border-left:4px solid var(--gold);border-radius:var(--radius);padding:1.1rem}
.country-card:hover{box-shadow:var(--shadow)}
.country-card h3{font-size:1.02rem;font-weight:700;color:var(--brand)}

/* Bandeau accréditations institutionnelles */
.accreditation-bar{background:var(--brand);color:#dbe7e1}
.accreditation-bar .item{display:flex;align-items:center;gap:.7rem;padding:.9rem 0}
.accreditation-bar strong{color:#fff;font-size:.9rem}
.accreditation-bar small{font-size:.74rem;opacity:.8}

/* Sièges (accueil) */
.hq-card{background:#fff;border:1px solid #e8eceb;border-radius:var(--radius);padding:1.3rem;height:100%}
.hq-card .hq-label{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700}
.hq-card h3{font-size:1.05rem;color:var(--brand);font-weight:700;margin:.3rem 0}

/* ------------------------- Témoignages ------------------------- */
.testimonial{background:#fff;border:1px solid #e8eceb;border-radius:var(--radius);padding:1.5rem;height:100%}
.testimonial p{font-style:italic;color:#3c4a44}
.testimonial .who{display:flex;align-items:center;gap:.75rem;border-top:1px solid #eef1f0;padding-top:.9rem;margin-top:.9rem}
.testimonial .who img{width:44px;height:44px;border-radius:50%;object-fit:cover}

/* ------------------------- Formulaires ------------------------- */
.form-panel{background:#fff;border:1px solid #e8eceb;border-radius:var(--radius);padding:1.6rem}
.form-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:#4b5a53}
.form-control,.form-select{border-radius:10px;border:1px solid #d9e0dd;padding:.6rem .8rem;font-size:.95rem}
.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 .2rem rgba(18,58,114,.13)}

/* ------------------------- Carte de membre ------------------------- */
.member-badge{background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff;border-radius:18px;padding:1.5rem;box-shadow:var(--shadow)}
.member-badge .photo{width:96px;height:96px;border-radius:14px;object-fit:cover;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:800}
.member-badge .num{font-family:'Inter',monospace;letter-spacing:.08em}

/* ------------------------- CTA / Footer ------------------------- */
.cta-band{background:var(--accent);color:#fff;text-align:center}
.cta-band h2{color:#fff}
.site-footer{background:#0a2249;color:#c3d1e6;font-size:.9rem}
.footer-title{color:#fff;font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;margin-bottom:1rem}
.footer-list{list-style:none;padding:0;margin:0}
.footer-list li{margin-bottom:.5rem}
.footer-list a{color:#c3d1e6}
.footer-list a:hover{color:var(--gold)}
.social a{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;margin-right:.4rem}
.social a:hover{background:var(--gold);color:#1b1b1b}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1rem 0;font-size:.8rem}

.back-to-top{position:fixed;right:18px;bottom:18px;width:44px;height:44px;border-radius:50%;background:var(--brand);color:#fff;display:none;align-items:center;justify-content:center;z-index:1000}
.back-to-top.show{display:flex}

/* ------------------------- Administration ------------------------- */
.admin-body{background:#eef1f0}
/* Hauteur FIXE (et non min-height) : indispensable pour que le defilement
   interne fonctionne et que le dernier menu reste accessible. */
.admin-sidebar{background:#0a2249;color:#c3d1e6;width:262px;position:fixed;top:0;left:0;bottom:0;
  height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;z-index:1040;transition:transform .25s;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent}
.admin-sidebar::-webkit-scrollbar{width:7px}
.admin-sidebar::-webkit-scrollbar-track{background:transparent}
.admin-sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:7px}
.admin-sidebar::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.45)}
.admin-sidebar .sidebar-scroll{padding-bottom:2.5rem}   /* espace sous le dernier menu */
.admin-sidebar a{color:#c3d1e6;display:flex;align-items:center;gap:.6rem;padding:.55rem .9rem;border-radius:9px;font-size:.9rem}
.admin-sidebar a:hover,.admin-sidebar a.active{background:rgba(255,255,255,.1);color:#fff}
.admin-sidebar .group{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#7f9bc4;padding:1rem .9rem .35rem}
.admin-main{margin-left:262px;min-height:100vh}
.admin-topbar{background:#fff;border-bottom:1px solid #e2e8e5;padding:.8rem 1.2rem;position:sticky;top:0;z-index:1030;display:flex;justify-content:space-between;align-items:center}
.admin-content{padding:1.4rem}
.panel{background:#fff;border:1px solid #e5eae8;border-radius:12px}
.panel-head{padding:.85rem 1.1rem;border-bottom:1px solid #eef2f0;font-weight:700;color:var(--brand);display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}
.panel-body{padding:1.1rem}
.kpi{background:#fff;border:1px solid #e5eae8;border-radius:12px;padding:1rem}
.kpi .v{font-size:1.6rem;font-weight:800;color:var(--brand);font-family:'Playfair Display',serif}
.kpi .l{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}
.table-admin{font-size:.88rem}
.table-admin th{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#61706a;background:#f7f9f8}
.table-admin td{vertical-align:middle}
.bar-track{height:9px;background:#eef2f0;border-radius:9px;overflow:hidden}
.bar-fill{height:100%;background:var(--brand);border-radius:9px}
.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1035}

@media (max-width:991.98px){
  .admin-sidebar{transform:translateX(-100%)}
  .admin-sidebar.open{transform:translateX(0)}
  .admin-main{margin-left:0}
  .sidebar-backdrop.show{display:block}
  .hero,.hero-slide,.hero .carousel,.hero .carousel-inner,.hero .carousel-item{min-height:78vh}
  .president .portrait{height:280px}
}
@media (max-width:575.98px){
  section{padding:2.4rem 0}
  .stat-card .value{font-size:1.5rem}
  .member-card{flex-direction:column;text-align:center;align-items:center}
}

/* ------------------------- Impression ------------------------- */
@media print{
  .topbar,.main-nav,.site-footer,.back-to-top,.admin-sidebar,.admin-topbar,.no-print{display:none!important}
  .admin-main{margin:0}
  body{background:#fff}
}

/* ------------------- Contact : WhatsApp & légal --------------------- */
.btn-whatsapp{background:#25d366;border:1px solid #25d366;color:#fff;font-weight:600}
.btn-whatsapp:hover{background:#1da851;border-color:#1da851;color:#fff}
.footer-legal{border-top:1px solid rgba(255,255,255,.08);padding:.8rem 0;color:#9db2d0;font-size:.78rem}
.footer-bottom a{color:#c3d1e6}
.footer-bottom a:hover{color:var(--gold)}

/* Rubrique éditoriale des publications */
.rubrique{display:inline-block;background:var(--brand);color:#fff;font-size:.62rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;padding:.2rem .6rem;border-radius:3px}

/* ===================================================================
   SÉLECTEUR MULTILINGUE AVEC DRAPEAUX HD & MODE ARABE RTL ([dir="rtl"])
   =================================================================== */
.cdides-lang-bar{
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(200, 162, 39, 0.35);
  padding: 3px;
  border-radius: 999px;
}
.lang-pill{
  background: transparent;
  color: #e2e8f0;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 3px 9px 3px 6px;
  font-size: 0.74rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
  letter-spacing: 0.03em;
}
.lang-flag-img{
  width: 18px;
  height: 13px;
  object-fit: cover;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.4);
  flex-shrink: 0;
}
.lang-pill:hover{
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  transform: translateY(-1px);
}
.lang-pill.active{
  background: linear-gradient(135deg, #e3c265 0%, #c8a227 100%);
  color: #16233a;
  border-color: #f7d879;
  box-shadow: 0 3px 10px rgba(200, 162, 39, 0.45);
}
.lang-pill.active .lang-flag-img{
  box-shadow: 0 0 0 1px rgba(22,35,58,0.45);
}

/* Grille 4 langues sur mobile */
.cdides-lang-grid-mobile{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
}
.lang-card-mobile{
  display: flex;
  align-items: center;
  gap: 7px;
  background: #f7f9fc;
  border: 1px solid #dde5f0;
  border-radius: 10px;
  padding: 7px 10px;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ink);
  cursor: pointer;
  transition: all 0.2s ease;
}
.lang-card-mobile:hover{
  border-color: var(--brand);
  background: #eef3fb;
}
.lang-card-mobile.active{
  background: linear-gradient(135deg, var(--brand) 0%, var(--accent) 100%);
  color: #fff;
  border-color: var(--gold);
  box-shadow: 0 4px 12px rgba(18,58,114,0.25);
}

/* Neutraliser les iframes / barres de notification Google Translate */
body > .skiptranslate,
.goog-te-banner-frame.skiptranslate,
#goog-gt-tt, .goog-te-balloon-frame {
  display: none !important;
}
body {
  top: 0px !important;
}
.goog-text-highlight {
  background: none !important;
  box-shadow: none !important;
}

/* Bascule RTL automatique quand l'arabe est sélectionné */
[dir="rtl"] body, .cdides-rtl {
  text-align: right;
  font-family: 'Tahoma', 'Cairo', 'Segoe UI Arabic', 'Inter', sans-serif;
}
[dir="rtl"] .topbar .container,
[dir="rtl"] .main-nav .navbar-nav {
  direction: rtl;
}
[dir="rtl"] .ms-auto {
  margin-left: 0 !important;
  margin-right: auto !important;
}
[dir="rtl"] .me-1, [dir="rtl"] .me-2, [dir="rtl"] .me-3 {
  margin-right: 0 !important;
  margin-left: 0.5rem !important;
}
[dir="rtl"] .ms-1, [dir="rtl"] .ms-2, [dir="rtl"] .ms-3 {
  margin-left: 0 !important;
  margin-right: 0.5rem !important;
}
[dir="rtl"] .section-title.center,
[dir="rtl"] .title-rule.center {
  text-align: center;
}
[dir="rtl"] .list-check li {
  padding-left: 0;
  padding-right: 1.6rem;
}
[dir="rtl"] .list-check li::before {
  left: auto;
  right: 0;
}
[dir="rtl"] .doc-meta {
  text-align: left;
}

/* --------------------- Marque / logo du header ---------------------- */
.brand-cdides{display:flex;align-items:center;gap:.7rem}
.brand-logo{width:auto;object-fit:contain;display:block}
@media (max-width:575.98px){ .brand-logo{height:42px!important} .navbar-brand .brand-text strong{font-size:1.1rem} }

/* --------------------------- CDIDES Académie ------------------------ */
.academy-banner::after{background:linear-gradient(100deg,rgba(18,58,114,.95),rgba(10,34,73,.72))}
.academy-cta{background:var(--accent);color:#dce6f4}
.programme-card{background:#fff;border:1px solid #e5eae8;border-top:5px solid var(--pc,var(--brand));
  border-radius:var(--radius);padding:1.5rem;transition:.25s}
.programme-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
.programme-card h3{font-size:1.12rem;font-weight:700;color:var(--brand);margin:.7rem 0 .4rem}
.programme-badge{display:inline-block;background:var(--brand);color:#fff;font-size:.68rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;padding:.28rem .8rem;border-radius:999px}

/* ============ ORGANIGRAMME INSTITUTIONNEL ============ */
.org-level{margin-bottom:2.8rem}
.org-level h2{font-size:1.22rem;color:var(--brand);border-left:4px solid var(--gold);padding-left:.75rem;
  margin-bottom:1.1rem;display:flex;align-items:center;gap:.6rem}
.org-count{background:rgba(18,58,114,.08);color:var(--brand);font-size:.72rem;font-weight:700;
  padding:.1rem .55rem;border-radius:999px}
.org-card{background:#fff;border:1px solid #e5eae8;border-radius:var(--radius);overflow:hidden;height:100%;
  transition:.25s;display:flex;flex-direction:column}
.org-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
.org-photo{position:relative;background:linear-gradient(160deg,#16457f,#0a2249)}
.org-photo img{width:100%;height:230px;object-fit:cover;display:block}
.org-card-lg .org-photo img{height:290px}
.org-flag{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.92);border-radius:4px;
  padding:3px 5px;line-height:0;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.org-card .body{padding:1.1rem;flex:1}
.org-institution{display:inline-block;background:rgba(200,162,39,.16);color:#8a6c10;font-size:.62rem;
  font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .6rem;border-radius:999px;margin-bottom:.5rem}
.org-card .name{font-weight:700;color:var(--ink);font-size:1.02rem;line-height:1.3}
.org-card .role{color:var(--brand);font-size:.85rem;font-weight:600;margin-top:.2rem;line-height:1.4}
.org-highlight{margin-top:.7rem;background:#f4f7fb;border-left:3px solid var(--gold);border-radius:6px;
  padding:.45rem .65rem;font-size:.76rem;color:#3d4a5c;font-weight:600}
.org-bio{margin-top:.7rem}
.org-bio p{font-size:.83rem;color:#5b6875;margin:0 0 .5rem;line-height:1.55}

/* Bloc OCI */
.oci-section{background:linear-gradient(180deg,#f4f7fb 0%,#ffffff 100%)}
.oci-badge{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid #dde5f0;
  border-radius:999px;padding:.4rem 1rem;font-size:.78rem;font-weight:600;color:var(--brand);box-shadow:var(--shadow)}
.oci-kicker{color:var(--muted);font-size:.9rem;max-width:760px;margin:0 auto}
.oci-intro{background:#fff;border:1px solid #e5eae8;border-left:4px solid var(--gold);border-radius:var(--radius);
  padding:1.2rem 1.5rem;max-width:940px;margin:0 auto}
.oci-intro p{margin:.3rem 0}
.oci-thanks{display:flex;gap:1rem;align-items:flex-start;background:var(--brand);color:#e8eef8;
  border-radius:var(--radius);padding:1.3rem 1.5rem}
.oci-thanks i{font-size:1.7rem;color:var(--gold)}
.oci-thanks strong{display:block;color:#fff;margin-bottom:.35rem}
.oci-thanks p{font-size:.9rem;margin:0}
.oci-motto{color:var(--gold);font-family:'Playfair Display',serif;font-size:1rem}

/* ============ OUTILS & GADGETS DIPLOMATIQUES ============ */
.accr-chip{display:inline-flex;align-items:center;gap:.5rem;background:#f4f7fb;border:1px solid #dde5f0;
  border-radius:999px;padding:.4rem .9rem;font-size:.8rem;font-weight:600;color:var(--brand)}
.gadget-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e5eae8;
  border-radius:var(--radius);overflow:hidden;transition:.25s}
.gadget-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
.gadget-visual{position:relative;background:#eef2f7;display:flex;align-items:center;justify-content:center;
  min-height:210px;padding:1rem}
.gadget-visual img{max-width:100%;max-height:230px;object-fit:contain}
.gadget-visual i{font-size:3.4rem;color:var(--brand);opacity:.45}
.gadget-badge{position:absolute;top:12px;left:12px;background:var(--gold);color:#20200e;font-size:.66rem;
  font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.24rem .7rem;border-radius:999px}
.gadget-body{padding:1.2rem;flex:1}
.gadget-body h3{font-size:1.05rem;font-weight:700;color:var(--brand);margin-bottom:.15rem}
.gadget-sub{font-size:.82rem;color:var(--gold);font-weight:600;margin-bottom:.6rem}
.gadget-features{background:#f8fafc;border-radius:10px;padding:.8rem 1rem;margin-top:.8rem}
.gadget-features .lbl{display:block;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);font-weight:700;margin-bottom:.4rem}
.notice-panel{display:flex;gap:1rem;align-items:flex-start;background:#fff8e6;border:1px solid #f0dfae;
  border-left:4px solid var(--gold);border-radius:var(--radius);padding:1.1rem 1.3rem}
.notice-panel i{font-size:1.6rem;color:#b8901d}
.notice-panel strong{display:block;color:#7a5f10;margin-bottom:.25rem}
.notice-panel p{font-size:.88rem;color:#6b5a2e}

@media (max-width:575.98px){
  .org-photo img,.org-card-lg .org-photo img{height:200px}
  .oci-thanks{flex-direction:column}
}

/* ==================== ESPACE MEMBRE ==================== */
.member-area{padding-top:2rem}
.member-layout{display:grid;grid-template-columns:262px 1fr;gap:1.6rem;align-items:start}
.member-nav{background:#fff;border:1px solid #e5eae8;border-radius:var(--radius);overflow:hidden;position:sticky;top:96px}
.mn-head{display:flex;gap:.75rem;align-items:center;padding:1rem;background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff}
.mn-head img,.mn-initials{width:52px;height:52px;border-radius:12px;object-fit:cover;flex:0 0 52px;
  display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.18);font-weight:800}
.mn-head strong{font-size:.92rem}
.mn-head small{font-size:.7rem;opacity:.8}
.mn-status{display:inline-block;margin-top:.25rem}
.mn-links{padding:.5rem}
.mn-links a{display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem;border-radius:9px;color:#42505f;
  font-size:.9rem;font-weight:500;text-decoration:none}
.mn-links a:hover{background:#f2f6fb;color:var(--brand)}
.mn-links a.active{background:var(--brand);color:#fff}
.mn-links a.active i{color:var(--gold)}
.member-content{min-width:0}

.kpi-m{background:#fff;border:1px solid #e5eae8;border-left:4px solid var(--brand);border-radius:12px;
  padding:.9rem 1rem;display:flex;flex-direction:column;height:100%}
.kpi-m.ok{border-left-color:#16a34a}
.kpi-m.warn{border-left-color:#f59e0b}
.kpi-m .l{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
.kpi-m .v{font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:800;color:var(--brand);margin-top:.15rem}

.todo-list{list-style:none;padding:0;margin:0}
.todo-list li{display:flex;align-items:center;gap:.7rem;padding:.65rem 0;border-bottom:1px solid #eef2f6;font-size:.9rem}
.todo-list li:last-child{border-bottom:none}

.quick-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;
  background:#fff;border:1px solid #e5eae8;border-radius:12px;padding:1.1rem .6rem;text-align:center;
  text-decoration:none;color:#42505f;font-size:.82rem;font-weight:600;transition:.2s;height:100%}
.quick-card:hover{border-color:var(--brand);color:var(--brand);box-shadow:var(--shadow);transform:translateY(-3px)}
.quick-card i{font-size:1.5rem;color:var(--brand)}

.steps-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.step-item{display:flex;gap:.75rem;align-items:flex-start;background:#fff;border:1px solid #e5eae8;border-radius:12px;padding:.9rem}
.step-num{flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:var(--brand);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem}

.pay-card{background:#fff;border:1px solid #e5eae8;border-radius:var(--radius);padding:1.1rem;height:100%;transition:.2s}
.pay-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.pay-card.done{border-color:#bfe3c9;background:#f6fdf8}
.pay-icon{width:42px;height:42px;border-radius:11px;background:rgba(18,58,114,.08);color:var(--brand);
  display:flex;align-items:center;justify-content:center;font-size:1.2rem}
.pay-card h3{font-size:1rem;font-weight:700;color:var(--ink);margin:.7rem 0 .1rem}
.pay-amount{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:800;color:var(--brand)}
.pay-methods{background:#fff;border:1px solid #e5eae8;border-radius:12px;padding:.9rem 1rem;
  display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.pay-methods .lbl{font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:700;margin-right:.4rem}
.pm-chip{background:#f2f6fb;border:1px solid #e0e8f2;border-radius:999px;padding:.25rem .7rem;font-size:.78rem;color:#42505f}

.don-panel{background:linear-gradient(140deg,var(--brand),var(--accent));color:#e8eef8;border-radius:var(--radius);padding:1.4rem}
.don-panel h2{color:#fff}
.don-kicker{display:inline-block;background:var(--gold);color:#20200e;font-size:.68rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;padding:.22rem .7rem;border-radius:999px}
.don-panel .form-label,.don-panel .small{color:#cfdcee!important}

.track{display:grid;gap:.2rem}
.track-step{display:flex;gap:.85rem;align-items:flex-start;padding:.55rem 0;position:relative}
.tk-dot{flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#e8edf4;color:#94a3b8;
  display:flex;align-items:center;justify-content:center;font-size:.8rem}
.track-step.done .tk-dot{background:#16a34a;color:#fff}
.track-step.done strong{color:#15803d}

/* ==================== CARTE DE MEMBRE ==================== */
.cdides-card-wrap{position:relative;max-width:520px;width:100%}
.cdides-card{background:linear-gradient(140deg,var(--cbg),color-mix(in srgb,var(--cbg) 65%, #000 35%));
  color:#fff;border-radius:16px;padding:1.1rem 1.2rem;box-shadow:0 14px 34px rgba(10,34,73,.28);
  border:1px solid rgba(255,255,255,.14);position:relative;overflow:hidden}
.cdides-card::after{content:'';position:absolute;inset:0;border-radius:16px;
  border:2px solid var(--cacc);opacity:.35;pointer-events:none;margin:6px}
.cc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem;
  border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:.7rem}
.cc-brand{display:flex;gap:.6rem;align-items:center;min-width:0}
.cc-logo{height:40px;width:40px;object-fit:contain;background:#fff;border-radius:8px;padding:2px}
.cc-brand strong{display:block;font-size:.95rem;letter-spacing:.04em}
.cc-brand small{display:block;font-size:.56rem;opacity:.75;line-height:1.25;max-width:220px}
.cc-quality{background:var(--cacc);color:#20200e;font-size:.6rem;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;padding:.24rem .6rem;border-radius:999px;white-space:nowrap}
.cc-body{display:flex;gap:.9rem;align-items:center;padding:.9rem 0}
.cc-photo{flex:0 0 82px;width:82px;height:96px;border-radius:10px;overflow:hidden;background:rgba(255,255,255,.14);
  display:flex;align-items:center;justify-content:center;border:1.5px solid var(--cacc)}
.cc-photo img{width:100%;height:100%;object-fit:cover}
.cc-photo span{font-size:1.6rem;font-weight:800}
.cc-ident{flex:1;min-width:0}
.cc-name{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;line-height:1.2}
.cc-role{color:var(--cacc);font-size:.82rem;font-weight:600;margin-top:.1rem}
.cc-org,.cc-loc{font-size:.72rem;opacity:.8}
.cc-seal{flex:0 0 70px;width:70px;height:70px;display:flex;align-items:center;justify-content:center}
.cc-seal img{max-width:100%;max-height:100%;object-fit:contain}
.cc-seal-ph{width:62px;height:62px;border:1.5px dashed var(--cacc);border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-size:.56rem;letter-spacing:.1em;color:var(--cacc);opacity:.65}
.cc-foot{display:flex;justify-content:space-between;gap:.5rem;border-top:1px solid rgba(255,255,255,.18);padding-top:.6rem}
.cc-foot span{display:flex;flex-direction:column}
.cc-foot small{font-size:.55rem;opacity:.65;text-transform:uppercase;letter-spacing:.08em}
.cc-foot strong{font-size:.78rem}
.cc-accr{margin-top:.55rem;font-size:.56rem;opacity:.7;display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}

.cdides-card-wrap.is-locked .cdides-card{filter:blur(4px) saturate(.6);pointer-events:none;user-select:none}
.cc-lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.4rem;text-align:center;padding:1.2rem;background:rgba(255,255,255,.82);border-radius:16px;
  border:1px dashed #b9c6d8}
.cc-lock i{font-size:1.9rem;color:var(--brand)}
.cc-lock strong{color:var(--brand)}
.cc-lock p{font-size:.82rem;color:#5b6875;margin:0 0 .3rem;max-width:330px}

/* ==================== DOCUMENTS OFFICIELS ==================== */
.doc-body{background:#eef2f7;padding:1.5rem 0}
.doc-toolbar{max-width:820px;margin:0 auto 1rem;display:flex;justify-content:space-between;gap:.5rem;padding:0 1rem}
.doc-sheet{max-width:820px;margin:0 auto;background:#fff;padding:2.6rem 3rem;position:relative;
  box-shadow:0 10px 40px rgba(10,34,73,.14);border-top:6px solid var(--brand)}
.doc-watermark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.doc-watermark img{width:60%;max-width:380px;opacity:.045}
.doc-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;
  border-bottom:3px solid var(--brand);padding-bottom:1rem;position:relative}
.doc-brand{display:flex;gap:.9rem;align-items:center}
.doc-brand img{height:66px;width:66px;object-fit:contain}
.doc-brand strong{display:block;font-family:'Playfair Display',serif;font-size:1.35rem;color:var(--brand)}
.doc-brand small{display:block;font-size:.68rem;color:#64748b;max-width:290px;line-height:1.35}
.doc-meta{font-size:.66rem;color:#64748b;text-align:right;line-height:1.6}
.doc-accr{display:flex;justify-content:center;align-items:center;gap:.4rem;flex-wrap:wrap;
  font-size:.66rem;color:#64748b;padding:.5rem 0;border-bottom:1px solid #e8eef5;position:relative}
.doc-main{position:relative;padding-top:1.6rem}
.doc-ribbon{display:inline-block;background:var(--gold);color:#20200e;font-size:.68rem;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;padding:.3rem .9rem;border-radius:999px;margin-bottom:.8rem}
.doc-title{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:800;color:var(--brand);margin:0}
.doc-title-xl{font-size:2rem;text-align:center;letter-spacing:.02em}
.doc-sub{font-size:.8rem;color:#64748b;margin-bottom:1.4rem}
.doc-title-xl + .doc-sub{text-align:center}
.doc-text p{font-size:.92rem;line-height:1.75;color:#33404f;margin:0 0 .7rem}
.doc-decide{text-align:center;font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:800;
  color:var(--brand);letter-spacing:.3em;margin:1.2rem 0!important}
.doc-highlight{background:#f5f8fc;border-left:4px solid var(--gold);border-radius:8px;padding:1rem 1.2rem;
  margin:1rem 0;text-align:center}
.dh-name{display:block;font-family:'Playfair Display',serif;font-size:1.45rem;font-weight:800;color:var(--brand)}
.dh-role{display:block;font-size:.95rem;font-weight:600;color:#8a6c10;margin-top:.2rem}
.dh-meta{display:block;font-size:.76rem;color:#64748b;margin-top:.3rem}
.doc-formation{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700;color:var(--brand);
  text-align:center;margin:.8rem 0}
.doc-table{width:100%;margin:1.2rem 0;border-collapse:collapse}
.doc-table th,.doc-table td{padding:.65rem .2rem;border-bottom:1px solid #e8eef5;font-size:.9rem}
.doc-table th{text-align:left;color:#64748b;font-weight:600;width:45%}
.doc-table td{text-align:right;color:#1f2b3a;font-weight:500}
.doc-table .doc-total th,.doc-table .doc-total td{border-bottom:none;border-top:2px solid var(--brand);
  padding-top:.9rem;font-size:1.15rem;font-weight:800;color:var(--brand)}
.doc-note{font-size:.82rem;color:#64748b}
.doc-place{font-size:.86rem;color:#33404f;margin-top:1.6rem;text-align:right}
.doc-signature{display:flex;justify-content:flex-end;align-items:flex-end;gap:2rem;margin-top:1.2rem;position:relative}
.doc-stamp{width:130px;display:flex;align-items:center;justify-content:center}
.doc-stamp img{max-width:130px;max-height:130px;object-fit:contain;opacity:.92;transform:rotate(-8deg)}
.doc-sign-block{text-align:center;min-width:210px}
.doc-sign-img{max-height:64px;object-fit:contain;display:block;margin:0 auto .2rem}
.doc-sign-line{height:52px;border-bottom:1px solid #94a3b8;margin-bottom:.3rem}
.doc-sign-block strong{display:block;font-size:.88rem;color:var(--brand)}
.doc-sign-block small{display:block;font-size:.72rem;color:#64748b}
.doc-footer{margin-top:2rem;border-top:1px solid #e8eef5;padding-top:.8rem;position:relative}
.doc-legal{font-size:.72rem;color:#64748b;font-style:italic;margin-bottom:.4rem}
.doc-footline{display:flex;justify-content:space-between;gap:1rem;font-size:.66rem;color:#94a3b8}

/* Choix du type d'adhérent */
.type-choice{display:block;cursor:pointer;height:100%}
.type-choice input{position:absolute;opacity:0}
.type-choice .tc-body{display:flex;flex-direction:column;gap:.2rem;border:2px solid #e0e8f2;border-radius:12px;
  padding:1rem;height:100%;transition:.2s;background:#fff}
.type-choice .tc-body i{font-size:1.5rem;color:var(--brand)}
.type-choice .tc-body small{color:var(--muted);font-size:.76rem}
.type-choice input:checked + .tc-body{border-color:var(--brand);background:#f5f8fd;box-shadow:0 0 0 3px rgba(18,58,114,.08)}
.asso-block{background:#f5f8fd;border:1px solid #dbe6f4;border-radius:12px;padding:1.1rem}

@media (max-width:991.98px){
  .member-layout{grid-template-columns:1fr}
  .member-nav{position:static}
  .mn-links{display:grid;grid-template-columns:repeat(2,1fr);gap:.2rem}
  .steps-row{grid-template-columns:1fr}
  .doc-sheet{padding:1.6rem 1.3rem}
  .doc-header{flex-direction:column}
  .doc-meta{text-align:left}
  .doc-signature{flex-direction:column;align-items:center;gap:1rem}
}
@media print{
  .doc-toolbar,.member-nav{display:none!important}
  .doc-body{background:#fff;padding:0}
  .doc-sheet{box-shadow:none;max-width:100%;padding:1.4rem}
  .cdides-card{box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .cdides-card-wrap.is-locked{display:none!important}
}

/* ================== CANAUX DE PAIEMENT ================== */
.pay-channels{margin-bottom:.5rem}
.channel-card{background:#fff;border:1px solid #e5eae8;border-radius:var(--radius);padding:1.1rem 1.2rem;transition:.2s}
.channel-card:hover{box-shadow:var(--shadow)}
.channel-card.featured{border-color:var(--gold);border-width:2px;background:linear-gradient(180deg,#fffdf5,#fff)}
.ch-head{display:flex;align-items:flex-start;gap:.8rem;margin-bottom:.6rem}
.ch-icon{flex:0 0 42px;width:42px;height:42px;border-radius:11px;background:rgba(18,58,114,.09);color:var(--brand);
  display:flex;align-items:center;justify-content:center;font-size:1.2rem}
.channel-card.featured .ch-icon{background:rgba(200,162,39,.18);color:#8a6c10}
.ch-head h3{font-size:1rem;font-weight:700;color:var(--ink);margin:0}
.ch-head small{color:var(--muted);font-size:.75rem}
.ch-tag{margin-left:auto;background:var(--gold);color:#20200e;font-size:.6rem;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;padding:.2rem .55rem;border-radius:999px;white-space:nowrap}

.bank-card{background:#f7f9fc;border:1px solid #e2e9f2;border-left:4px solid var(--brand);border-radius:11px;padding:.9rem 1rem;height:100%}
.bk-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}
.bk-label{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}
.bk-cur{background:var(--brand);color:#fff;font-size:.66rem;font-weight:700;padding:.12rem .5rem;border-radius:999px}
.bk-rows{margin:0}
.bk-rows > div{display:flex;justify-content:space-between;gap:.6rem;padding:.28rem 0;border-bottom:1px dashed #dde5ef}
.bk-rows > div:last-child{border-bottom:none}
.bk-rows dt{font-size:.7rem;color:var(--muted);font-weight:600;flex:0 0 auto}
.bk-rows dd{margin:0;font-size:.82rem;text-align:right;font-weight:600;color:var(--ink);word-break:break-all}
.bk-num{flex-direction:column!important;align-items:flex-start!important}
.bk-num dd{text-align:left;display:flex;align-items:center;flex-wrap:wrap;gap:.2rem;margin-top:.2rem}
.bk-rows code{background:#fff;border:1px solid #dbe4ef;border-radius:5px;padding:.15rem .4rem;
  font-size:.82rem;color:var(--brand);letter-spacing:.03em}
.bk-notice{margin-top:.9rem;background:#fff8e6;border:1px solid #f0dfae;border-radius:9px;
  padding:.6rem .85rem;font-size:.8rem;color:#6b5a2e}

.momo-card{background:#f7f9fc;border:1px solid #e2e9f2;border-radius:10px;padding:.7rem;text-align:center;height:100%}
.mo-name{display:block;font-size:.72rem;font-weight:700;color:var(--brand);text-transform:uppercase;letter-spacing:.05em}
.momo-card code{display:block;margin-top:.2rem;font-size:.82rem;color:var(--ink);word-break:break-all}
[data-copy].copied{background:#16a34a!important;border-color:#16a34a!important;color:#fff!important}
.don-banner{background:linear-gradient(115deg,var(--brand),var(--accent))}
.don-banner::after{display:none}

@media (max-width:575.98px){
  .bk-rows > div{flex-direction:column;align-items:flex-start}
  .bk-rows dd{text-align:left}
}
