/* =========================================================
   CEECI-UE — Feuille de style « diplomatique »
   (100 % responsive, mobile first — aucun framework requis)
   ========================================================= */

:root{
  --brand:#123a72;    /* bleu institutionnel */
  --brand-dark:#0d2b56;
  --gold:#c8a227;     /* or */
  --gold-dark:#8a6c10;
  --accent:#0a2249;   /* bleu nuit */
  --ink:#16233a;
  --muted:#6b7280;
  --line:#e8ecef;
  --paper:#f5f7fa;
  --radius:14px;
  --shadow:0 10px 30px rgba(18,58,114,.12);
  --font:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --serif:'Playfair Display',Georgia,'Times New Roman',serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--paper);font-size:15.5px;line-height:1.65}
img{max-width:100%;display:block}
a{text-decoration:none;color:var(--brand)}
h1,h2,h3,h4,.serif{font-family:var(--serif);letter-spacing:-.2px}
.container{width:100%;max-width:1180px;margin:0 auto;padding:0 1.15rem}
main{display:block}
.d-none-m{display:none}
.ic{vertical-align:-2px;flex:0 0 auto}
.text-gold{color:var(--gold)!important}

/* ------------------------------ Boutons ------------------------------ */
.btn{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;font-weight:600;padding:.6rem 1.45rem;border:1px solid transparent;cursor:pointer;font-size:.92rem;transition:.2s;font-family:var(--font)}
.btn-brand{background:var(--brand);color:#fff;border-color:var(--brand)}
.btn-brand:hover{background:var(--brand-dark);color:#fff}
.btn-gold{background:var(--gold);color:#1b1b1b;border-color:var(--gold)}
.btn-gold:hover{background:#b18f1d;color:#1b1b1b}
.btn-outline-light{border:1px solid #ffffff88;color:#fff;background:transparent}
.btn-outline-light:hover{background:#ffffff22;color:#fff}
.btn-outline-brand{border:1px solid var(--brand);color:var(--brand);background:transparent}
.btn-outline-brand:hover{background:var(--brand);color:#fff}

/* ------------------------------ Topbar ------------------------------ */
.topbar{background:var(--brand);color:#dce6f4;font-size:.8rem;padding:.42rem 0}
.topbar-in{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.topbar a{color:#dce6f4;display:inline-flex;align-items:center;gap:.35rem}
.topbar a:hover{color:var(--gold)}
.topbar .sep{opacity:.5;margin:0 .5rem}
.topbar-right{display:flex;align-items:center;gap:.9rem}
.topbar-soc{display:flex;gap:.55rem}
.topbar-admin{border:1px solid #ffffff3d;padding:.16rem .7rem;border-radius:999px;font-weight:600;font-size:.74rem}
.topbar-admin:hover{background:var(--gold);color:#1b1b1b!important;border-color:var(--gold)}

/* ------------------------------ Navbar ------------------------------ */
.main-nav{background:#fff;box-shadow:0 2px 16px rgba(0,0,0,.06);position:sticky;top:0;z-index:900;padding:.55rem 0}
.main-nav.scrolled{box-shadow:0 6px 24px rgba(10,34,73,.14)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.7rem}
.brand-crest{width:52px;height:52px;flex:0 0 52px}
.brand-text strong{display:block;font-family:var(--serif);font-size:1.4rem;color:var(--brand);line-height:1;font-weight:800}
.brand-text small{display:block;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);line-height:1.3;margin-top:.15rem}
.nav-links{display:flex;align-items:center;gap:.15rem}
.nav-link{font-weight:500;color:#263341;padding:.55rem .75rem;border-radius:8px;font-size:.92rem;white-space:nowrap}
.nav-link:hover,.nav-link.active{color:var(--brand);background:rgba(18,58,114,.07)}
.btn-nav{margin-left:.6rem;padding:.5rem 1.15rem}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:.55rem;cursor:pointer}
.burger span{width:24px;height:2.5px;background:var(--brand);border-radius:2px;transition:.25s}
.nav-overlay{display:none}

/* ------------------------------ Hero slider ------------------------------ */
.hero{position:relative;min-height:78vh;background:var(--accent);color:#fff;overflow:hidden}
.hero-slide{position:absolute;inset:0;display:flex;align-items:center;background-size:cover;background-position:center;opacity:0;visibility:hidden;transition:opacity .9s ease;background-color:var(--accent)}
.hero-slide.active{opacity:1;visibility:visible;position:relative}
.hero-slide::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(7,25,55,.96) 5%,rgba(10,34,73,.78) 45%,rgba(10,34,73,.28) 100%)}
.hero-slide .container{position:relative;z-index:2;padding-top:5.5rem;padding-bottom:5.5rem;max-width:1180px}
.hero-kicker{display:inline-flex;align-items:center;gap:.5rem;background:var(--gold);color:#20200e;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:.38rem 1.05rem;border-radius:999px}
.hero h1{font-size:clamp(1.85rem,5vw,3.35rem);font-weight:800;margin:1.1rem 0;max-width:880px;color:#fff;line-height:1.15}
.hero p.lead{max-width:660px;color:#e4ecf7;font-size:1.06rem;margin:0 0 1.8rem}
.hero-btns{display:flex;gap:.8rem;flex-wrap:wrap}
.hero-nav{position:absolute;bottom:1.6rem;left:0;right:0;z-index:5}
.hero-dots{display:flex;gap:.5rem}
.hero-dot{width:34px;height:4px;border-radius:4px;background:#ffffff55;border:none;cursor:pointer;transition:.3s;padding:0}
.hero-dot.active{background:var(--gold);width:48px}
.hero-arrows{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;gap:.5rem;z-index:5}
.hero-arrow{width:44px;height:44px;border-radius:50%;border:1px solid #ffffff55;background:#ffffff14;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.25s}
.hero-arrow:hover{background:var(--gold);color:#1b1b1b;border-color:var(--gold)}
.hero-arrow svg{transform:scaleX(1)}

/* ------------------------------ Bandeau page interne ------------------------------ */
.page-banner{position:relative;background:var(--brand) center/cover no-repeat;color:#fff;padding:4.6rem 0 3.8rem}
.page-banner::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,58,114,.96),rgba(10,34,73,.65))}
.page-banner .container{position:relative;z-index:2}
.page-banner h1{color:#fff;font-size:clamp(1.6rem,4vw,2.5rem);margin:0 0 .3rem}
.page-banner p{color:#d7e3f2;margin:.3rem 0 .8rem;max-width:720px}
.breadcrumb-diplo{font-size:.8rem;color:#c8d6ea;display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.breadcrumb-diplo a{color:var(--gold);font-weight:600}
.breadcrumb-diplo span{color:#e8eef8}

/* ------------------------------ Sections ------------------------------ */
section{padding:3.6rem 0}
.section-alt{background:#fff}
.section-kicker{color:var(--gold);font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;display:flex;align-items:center;gap:.5rem}
.section-kicker.center{justify-content:center}
.section-title{font-family:var(--serif);font-weight:700;color:var(--brand);font-size:clamp(1.45rem,3.4vw,2.1rem);margin:.4rem 0 0;line-height:1.2}
.section-title.center{text-align:center}
.section-lead{color:var(--muted);max-width:760px;margin-top:.6rem}
.section-lead.center{margin-left:auto;margin-right:auto;text-align:center}
.title-rule{width:70px;height:3px;background:var(--gold);border-radius:3px;margin:.9rem 0 1.5rem}
.title-rule.center{margin-left:auto;margin-right:auto}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:2rem}
.sec-head.center{flex-direction:column;align-items:center;text-align:center;margin-bottom:2.4rem}

/* ------------------------------ Grilles ------------------------------ */
.grid{display:grid;gap:1.4rem}
.grid-2{grid-template-columns:1fr}
.grid-3{grid-template-columns:1fr}
.grid-4{grid-template-columns:1fr}
@media(min-width:640px){.grid-2,.grid-4{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}
@media(min-width:960px){.d-none-m{display:inline}}

/* ------------------------------ Accréditations ------------------------------ */
.accred{background:var(--gold);padding:1.6rem 0}
.accred-grid{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:820px){.accred-grid{grid-template-columns:repeat(3,1fr)}}
.accred-card{background:#fff;border-radius:12px;padding:1rem 1.2rem;display:flex;gap:.9rem;align-items:center;box-shadow:0 6px 18px rgba(10,34,73,.12)}
.accred-card .ac-ic{width:46px;height:46px;flex:0 0 46px;border-radius:10px;background:rgba(18,58,114,.09);color:var(--brand);display:flex;align-items:center;justify-content:center}
.accred-card strong{display:block;color:var(--brand);font-size:.92rem;line-height:1.25}
.accred-card span{font-size:.76rem;color:var(--muted);line-height:1.35;display:block}

/* ------------------------------ Statistiques ------------------------------ */
.stats{padding:2.6rem 0}
.stat-grid{display:grid;gap:1rem;grid-template-columns:1fr 1fr}
@media(min-width:900px){.stat-grid{grid-template-columns:repeat(6,1fr)}}
.stat-card{background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:12px;padding:1.05rem .8rem;text-align:center;height:100%}
.stat-card .icon{color:var(--brand);margin-bottom:.25rem}
.stat-card .value{font-family:var(--serif);font-size:1.75rem;font-weight:800;color:var(--brand);line-height:1.1}
.stat-card .label{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600}

/* ------------------------------ À propos ------------------------------ */
.split{display:grid;gap:2.2rem;grid-template-columns:1fr;align-items:center}
@media(min-width:920px){.split{grid-template-columns:1.05fr .95fr}}
.split .media{position:relative}
.split .media img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;height:auto;object-fit:cover}
.split .media::before{content:'';position:absolute;inset:auto -14px -14px auto;width:120px;height:120px;border:4px solid var(--gold);border-radius:var(--radius);z-index:-0;opacity:.55}
.seat-cards{display:grid;gap:1rem;margin-top:1.3rem}
.seat-card{background:#fff;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:12px;padding:.95rem 1.1rem;display:flex;gap:.9rem;align-items:center}
.seat-card img.flag{width:38px;border-radius:4px;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.seat-card small{display:block;color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.64rem}
.seat-card strong{color:var(--brand);font-family:var(--serif);font-size:1.05rem}
.seat-card span{display:block;font-size:.8rem;color:var(--muted)}

/* ------------------------------ Listes à cocher ------------------------------ */
.list-check{list-style:none;padding:0;margin:1rem 0}
.list-check li{position:relative;padding-left:1.7rem;margin-bottom:.5rem}
.list-check li::before{content:'';position:absolute;left:0;top:.28rem;width:16px;height:16px;border-radius:50%;background:rgba(200,162,39,.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a6c10' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/9px no-repeat}

/* ------------------------------ Vision / Mission ------------------------------ */
.leviers{display:grid;gap:1.4rem;grid-template-columns:1fr}
@media(min-width:880px){.leviers{grid-template-columns:1fr 1fr}}
.levier-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;height:100%;display:flex;flex-direction:column;transition:.25s}
.levier-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.levier-head{background:linear-gradient(120deg,var(--brand),var(--accent));color:#fff;padding:1.4rem 1.5rem;position:relative}
.levier-head::after{content:'';position:absolute;left:1.5rem;bottom:0;width:60px;height:4px;background:var(--gold);border-radius:4px 4px 0 0}
.levier-head .tag{background:#ffffff22;color:#fff}
.levier-head h3{color:#fff;margin:.55rem 0 .25rem;font-size:1.3rem}
.levier-head p{margin:0;color:#d7e3f2;font-size:.9rem}
.levier-body{padding:1.4rem 1.5rem;flex:1}
.values-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem}
.values-chips .tag{font-size:.7rem}

/* ------------------------------ Cartes génériques ------------------------------ */
.card-diplo{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;height:100%;transition:.25s;display:flex;flex-direction:column}
.card-diplo:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#dfe6ec}
.card-diplo .cover{width:100%;height:195px;object-fit:cover}
.card-diplo .card-body{padding:1.15rem 1.2rem;flex:1;display:flex;flex-direction:column}
.card-diplo h3{font-size:1.06rem;font-weight:700;color:var(--brand);margin:.55rem 0 .45rem;line-height:1.35;font-family:var(--serif)}
.card-diplo p{font-size:.9rem;color:var(--muted);margin:0 0 .9rem}
.card-meta{display:flex;align-items:center;gap:.5rem;font-size:.76rem;color:var(--muted)}
.card-link{margin-top:auto;font-weight:600;font-size:.86rem;color:var(--brand);display:inline-flex;align-items:center;gap:.4rem}
.card-link:hover{color:var(--gold-dark)}
.tag{display:inline-flex;align-items:center;gap:.3rem;background:rgba(200,162,39,.16);color:var(--gold-dark);font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.24rem .75rem;border-radius:999px}
.tag-brand{background:rgba(18,58,114,.1);color:var(--brand)}
.tag-dark{background:rgba(10,34,73,.85);color:#fff}

/* ------------------------------ Section Président ------------------------------ */
.president{background:linear-gradient(135deg,var(--brand) 0%,var(--accent) 100%);color:#e8eef8;position:relative;overflow:hidden}
.president::before{content:'';position:absolute;right:-80px;top:-80px;width:340px;height:340px;border:3px solid rgba(200,162,39,.25);border-radius:50%}
.president::after{content:'';position:absolute;right:30px;bottom:-120px;width:260px;height:260px;border:3px solid rgba(200,162,39,.18);border-radius:50%}
.president .split{position:relative;z-index:2}
.president h2,.president .section-title{color:#fff}
.president .portrait{border-radius:var(--radius);object-fit:cover;width:100%;max-height:460px;box-shadow:0 18px 40px rgba(0,0,0,.35);border:4px solid rgba(200,162,39,.45)}
.president .quote-mark{font-family:var(--serif);font-size:4.2rem;line-height:.55;color:var(--gold);opacity:.8;display:block;margin-bottom:.6rem}
.president blockquote{margin:0 0 1.4rem;font-size:.98rem;white-space:pre-line}
.president .signature{color:var(--gold);font-family:var(--serif);font-size:1.25rem;font-weight:700;margin-bottom:.1rem}
.president .fonction{font-size:.84rem;color:#bcd0ea}

/* ------------------------------ Domaines d'intervention ------------------------------ */
.domaine-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.3rem;height:100%;transition:.25s}
.domaine-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(200,162,39,.5)}
.domaine-card .d-ic{width:52px;height:52px;border-radius:12px;background:rgba(18,58,114,.08);color:var(--brand);display:flex;align-items:center;justify-content:center;margin-bottom:.9rem}
.domaine-card:hover .d-ic{background:var(--gold);color:#1b1b1b}
.domaine-card h3{font-size:1.02rem;color:var(--brand);margin:0 0 .4rem;font-family:var(--serif)}
.domaine-card p{font-size:.85rem;color:var(--muted);margin:0}

/* ------------------------------ Annonces & communiqués ------------------------------ */
.duo{display:grid;gap:1.6rem;grid-template-columns:1fr}
@media(min-width:920px){.duo{grid-template-columns:1fr 1fr}}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}
.panel-head h3{font-family:var(--serif);color:var(--brand);margin:0;font-size:1.15rem;display:flex;align-items:center;gap:.5rem}
.panel-head h3 .ic{color:var(--gold)}
.panel-link{font-size:.8rem;font-weight:600;display:inline-flex;align-items:center;gap:.3rem}
.mini-item{border-top:1px solid var(--line);padding:.9rem 0}
.mini-item:first-of-type{border-top:none;padding-top:.2rem}
.mini-item h4{font-size:.95rem;margin:.35rem 0 .3rem;font-family:var(--serif);color:var(--ink);line-height:1.4}
.mini-item h4 a:hover{color:var(--brand)}
.mini-item p{font-size:.83rem;color:var(--muted);margin:0 0 .35rem}
.mini-meta{display:flex;gap:.9rem;flex-wrap:wrap;font-size:.74rem;color:var(--muted)}
.mini-meta b{color:var(--gold-dark)}

/* ------------------------------ Galerie ------------------------------ */
.gal-grid{display:grid;gap:1rem;grid-template-columns:1fr 1fr}
@media(min-width:760px){.gal-grid{grid-template-columns:repeat(3,1fr)}}
.gal-item{position:relative;border-radius:12px;overflow:hidden;cursor:zoom-in;aspect-ratio:4/3;background:var(--accent)}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gal-item:hover img{transform:scale(1.06)}
.gal-item .gal-cap{position:absolute;inset:auto 0 0 0;padding:2rem .9rem .8rem;background:linear-gradient(transparent,rgba(10,34,73,.9));color:#fff;font-size:.82rem;font-weight:600}
.gal-filter{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.6rem}
.gal-filter button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.42rem 1.1rem;font-size:.8rem;font-weight:600;color:var(--muted);cursor:pointer;transition:.2s;font-family:var(--font)}
.gal-filter button.active,.gal-filter button:hover{background:var(--brand);color:#fff;border-color:var(--brand)}

/* ------------------------------ Partenaires ------------------------------ */
.marquee{overflow:hidden;position:relative;padding:.6rem 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee-track{display:flex;gap:1.2rem;width:max-content;animation:marquee 32s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.partner-logo-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem 1.4rem;display:flex;align-items:center;gap:.9rem;min-width:250px;transition:.25s}
.partner-logo-card:hover{box-shadow:var(--shadow);border-color:rgba(200,162,39,.55);transform:translateY(-3px)}
.partner-logo-card img.pl-logo{width:54px;height:54px;object-fit:contain}
.partner-logo-card .pl-info strong{display:block;font-size:.86rem;color:var(--brand);font-family:var(--serif)}
.partner-logo-card .pl-info span{font-size:.72rem;color:var(--muted);display:flex;align-items:center;gap:.3rem}
.partner-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem 1.3rem;text-align:center;height:100%;display:flex;flex-direction:column;align-items:center;gap:.7rem;transition:.25s}
.partner-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(200,162,39,.55)}
.partner-card img.pc-logo{width:86px;height:86px;object-fit:contain}
.partner-card h3{font-size:1rem;color:var(--brand);margin:0;font-family:var(--serif)}
.partner-card .pc-pays{font-size:.78rem;color:var(--muted);display:flex;align-items:center;gap:.35rem}
.partner-cat{margin-top:2.6rem}
.partner-cat:first-of-type{margin-top:0}
.partner-cat > h3{font-size:1.2rem;color:var(--brand);border-left:4px solid var(--gold);padding-left:.7rem;margin-bottom:1.3rem}

/* ------------------------------ CTA band ------------------------------ */
.cta-band{background:linear-gradient(120deg,var(--accent),var(--brand));color:#fff;text-align:center;border-radius:0}
.cta-band h2{color:#fff;font-size:clamp(1.4rem,3.5vw,2.1rem);margin:.3rem auto .8rem;max-width:760px}
.cta-band p{color:#d7e3f2;max-width:640px;margin:0 auto 1.6rem}

/* ------------------------------ Contact / Nous trouver ------------------------------ */
.contact-grid{display:grid;gap:1.6rem;grid-template-columns:1fr}
@media(min-width:920px){.contact-grid{grid-template-columns:1.05fr .95fr}}
.info-item{display:flex;gap:1rem;padding:1rem 1.1rem;background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:.9rem;align-items:flex-start}
.info-item .i-ic{width:42px;height:42px;flex:0 0 42px;border-radius:10px;background:rgba(18,58,114,.08);color:var(--brand);display:flex;align-items:center;justify-content:center}
.info-item strong{display:block;color:var(--brand);font-size:.9rem;margin-bottom:.15rem}
.info-item span,.info-item a{font-size:.86rem;color:var(--muted)}
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem}
.form-grid{display:grid;gap:.9rem;grid-template-columns:1fr}
@media(min-width:640px){.form-grid .span-2{grid-column:span 2}.form-grid{grid-template-columns:1fr 1fr}}
label.f-label{font-size:.8rem;font-weight:600;color:var(--brand);display:block;margin-bottom:.3rem}
.f-input,.f-textarea,.f-select{width:100%;border:1px solid #dbe2ea;border-radius:10px;padding:.65rem .9rem;font-size:.9rem;font-family:var(--font);background:#fbfcfe;color:var(--ink);transition:.2s}
.f-input:focus,.f-textarea:focus,.f-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(18,58,114,.12);background:#fff}
.f-textarea{min-height:140px;resize:vertical}

/* ------------------------------ Article / détail ------------------------------ */
.article-wrap{display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:960px){.article-wrap{grid-template-columns:1fr 320px}}
.article-body{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem}
.article-body .cover{border-radius:12px;width:100%;max-height:420px;object-fit:cover;margin-bottom:1.4rem}
.article-title{font-size:clamp(1.4rem,3vw,2rem);color:var(--brand);margin:.5rem 0 .6rem}
.article-content{white-space:pre-line;color:#26333f}
.article-content p{margin:.6rem 0}
.side-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;margin-bottom:1.2rem}
.side-box h4{font-family:var(--serif);color:var(--brand);margin:0 0 .8rem;font-size:1rem;border-left:3px solid var(--gold);padding-left:.55rem}
.side-link{display:block;padding:.55rem 0;border-top:1px solid var(--line);font-size:.86rem}
.side-link:first-of-type{border-top:none}
.side-link:hover{color:var(--gold-dark)}
.ref-badge{display:inline-flex;align-items:center;gap:.4rem;background:rgba(10,34,73,.07);color:var(--accent);font-size:.74rem;font-weight:700;padding:.3rem .8rem;border-radius:8px;letter-spacing:.05em}

/* ------------------------------ Témoignages / valeurs ------------------------------ */
.quote-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;height:100%;position:relative}
.quote-card .quote-mark{font-size:3rem;color:var(--gold);opacity:.55;line-height:.6;font-family:var(--serif);display:block;margin-bottom:.6rem}
.quote-card p{font-size:.92rem;margin:0 0 1rem}
.quote-card .q-name{font-weight:700;color:var(--brand);font-size:.9rem;font-family:var(--serif)}
.quote-card .q-role{font-size:.76rem;color:var(--muted)}

/* ------------------------------ Pagination ------------------------------ */
.pagination{display:flex;gap:.4rem;justify-content:center;margin-top:2.4rem;flex-wrap:wrap}
.pagination a,.pagination span{min-width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:.86rem;font-weight:600;color:var(--brand);padding:0 .6rem}
.pagination span.current{background:var(--brand);color:#fff;border-color:var(--brand)}
.pagination a:hover{background:var(--gold);border-color:var(--gold);color:#1b1b1b}

/* ------------------------------ Flash ------------------------------ */
.flash{margin:1rem auto 0;padding:.85rem 1.1rem;border-radius:10px;font-size:.9rem;font-weight:500;max-width:1180px}
.flash-success{background:#e7f6ec;color:#166534;border:1px solid #b9e4c7}
.flash-error{background:#fde8e8;color:#9b1c1c;border:1px solid #f5c6c6}
.flash-info{background:#e8f0fb;color:#1e429f;border:1px solid #c3d8f5}

/* ------------------------------ Empty state ------------------------------ */
.empty{padding:3rem 1rem;text-align:center;color:var(--muted)}
.empty .ic{color:#c3cddb;margin-bottom:.6rem}

/* ------------------------------ Footer ------------------------------ */
.footer{background:var(--accent);color:#c9d6e8;margin-top:0}
.footer-grid{display:grid;gap:2.2rem;grid-template-columns:1fr;padding:3.4rem 1.15rem 2.4rem}
@media(min-width:700px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.footer-grid{grid-template-columns:1.35fr .9fr 1fr 1.1fr}}
.brand-footer .brand-text strong{color:#fff}
.brand-footer .brand-text small{color:#8fa4c2}
.f-text{font-size:.85rem;color:#a8bbd6;margin:1rem 0 .6rem}
.f-legal{font-size:.76rem;color:#7e93b5;margin:0 0 1rem}
.f-soc{display:flex;gap:.6rem}
.f-soc a{width:36px;height:36px;border-radius:50%;border:1px solid #ffffff2e;display:flex;align-items:center;justify-content:center;color:#c9d6e8}
.f-soc a:hover{background:var(--gold);color:#1b1b1b;border-color:var(--gold)}
.f-col h4{color:#fff;font-size:1.02rem;margin:0 0 1.05rem;position:relative;padding-bottom:.55rem}
.f-col h4::after{content:'';position:absolute;left:0;bottom:0;width:42px;height:2.5px;background:var(--gold);border-radius:3px}
.f-links{list-style:none;margin:0;padding:0}
.f-links li{margin-bottom:.5rem}
.f-links a{color:#a8bbd6;font-size:.86rem;display:inline-flex;align-items:center;gap:.35rem}
.f-links a:hover{color:var(--gold)}
.f-contact{list-style:none;margin:0;padding:0}
.f-contact li{display:flex;gap:.7rem;font-size:.85rem;margin-bottom:.85rem;color:#a8bbd6}
.f-contact .ic{color:var(--gold);margin-top:.15rem}
.f-contact a{color:#a8bbd6}
.f-contact a:hover{color:var(--gold)}
.footer-bottom{border-top:1px solid #ffffff1c;padding:1.15rem 0;font-size:.76rem;color:#7e93b5}
.fb-in{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.to-top{width:38px;height:38px;border-radius:50%;background:var(--gold);color:#1b1b1b;display:flex;align-items:center;justify-content:center;transform:rotate(180deg)}
.to-top:hover{background:#b18f1d}

/* ------------------------------ Lightbox ------------------------------ */
.lightbox{position:fixed;inset:0;background:rgba(7,18,38,.93);z-index:1200;display:none;align-items:center;justify-content:center;flex-direction:column;padding:2rem}
.lightbox.open{display:flex}
.lightbox img{max-width:min(92vw,1000px);max-height:78vh;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.lb-caption{color:#c9d6e8;margin-top:1rem;font-size:.9rem}
.lb-close{position:absolute;top:1.2rem;right:1.4rem;background:#ffffff1c;border:none;color:#fff;width:46px;height:46px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lb-close:hover{background:var(--gold);color:#1b1b1b}

/* ------------------------------ Responsive nav ------------------------------ */
@media(max-width:979px){
  .nav-links{position:fixed;top:0;right:-100%;width:min(340px,86vw);height:100vh;background:#fff;flex-direction:column;align-items:stretch;padding:5rem 1.4rem 2rem;gap:.2rem;box-shadow:-10px 0 40px rgba(10,34,73,.18);transition:right .35s ease;z-index:1000;overflow-y:auto}
  .nav-links.open{right:0}
  .nav-link{padding:.85rem 1rem;font-size:1rem;border-radius:10px}
  .btn-nav{margin:.8rem 0 0;justify-content:center}
  .burger{display:flex;z-index:1100}
  body.nav-open .burger span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  body.nav-open .burger span:nth-child(2){opacity:0}
  body.nav-open .burger span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
  body.nav-open{overflow:hidden}
  .nav-overlay{display:block;position:fixed;inset:0;background:rgba(10,34,73,.45);z-index:999;opacity:0;visibility:hidden;transition:.3s}
  body.nav-open .nav-overlay{opacity:1;visibility:visible}
  .hero{min-height:88vh}
}
@media(min-width:980px){
  .hero-slide .container{padding-top:6.5rem;padding-bottom:6.5rem}
}
@media(max-width:560px){
  .brand-crest{width:44px;height:44px;flex-basis:44px}
  .brand-text strong{font-size:1.15rem}
  .brand-text small{font-size:.5rem;letter-spacing:.1em}
  .stat-grid{grid-template-columns:1fr 1fr}
  section{padding:2.8rem 0}
  .page-banner{padding:2.6rem 0}
}

/* ==================== V2 — Modules dynamiques ==================== */

/* ------- Slides : meilleure visibilité des images + Ken Burns ------- */
.hero-slide{background-size:cover;background-position:center;animation:kenburns 12s ease-in-out infinite alternate}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.06)}}
.hero-slide::after{background:linear-gradient(100deg,rgba(7,25,55,.9) 0%,rgba(10,34,73,.62) 48%,rgba(10,34,73,.12) 100%)}

/* ------- Menu déroulant « Réseau » ------- */
.has-drop{position:relative}
.drop-toggle{background:none;border:none;cursor:pointer;font-family:var(--font);display:inline-flex;align-items:center;gap:.3rem}
.has-drop.active > .drop-toggle{color:var(--brand);background:rgba(18,58,114,.07)}
.drop-menu{display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);min-width:270px;background:#fff;border-radius:14px;box-shadow:0 18px 46px rgba(10,34,73,.18);border-top:3px solid var(--gold);padding:.55rem;z-index:950}
.has-drop:hover .drop-menu,.has-drop:focus-within .drop-menu{display:block}
.drop-link{display:block;padding:.6rem .8rem;border-radius:10px}
.drop-link strong{display:block;font-size:.9rem;color:var(--brand)}
.drop-link span{display:block;font-size:.74rem;color:var(--muted)}
.drop-link:hover,.drop-link.active{background:rgba(18,58,114,.06)}
.has-drop.open .drop-menu{display:block}
@media(max-width:979px){
  .drop-menu{position:static;transform:none;box-shadow:none;border-top:none;padding:.2rem .4rem .4rem;background:rgba(18,58,114,.04);margin:0 .4rem}
  .has-drop:hover .drop-menu,.has-drop:focus-within .drop-menu{display:none}
  .has-drop.open .drop-menu{display:block}
  .drop-toggle{width:100%;justify-content:space-between}
}

/* ------- Présence internationale ------- */
.presence-grid{display:grid;gap:1rem;grid-template-columns:1fr 1fr}
@media(min-width:760px){.presence-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1020px){.presence-grid{grid-template-columns:repeat(4,1fr)}}
.presence-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.1rem;text-align:center;transition:.25s;height:100%}
.presence-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.presence-card .pr-flag{width:64px;height:auto;margin:0 auto .7rem;border-radius:6px;box-shadow:0 3px 10px rgba(0,0,0,.16);display:block}
.presence-card .pr-flag-missing{width:64px;height:44px;margin:0 auto .7rem;border-radius:6px;background:rgba(18,58,114,.1);display:flex;align-items:center;justify-content:center;color:var(--brand)}
.presence-card strong{display:block;font-family:var(--serif);color:var(--brand);font-size:1.02rem}
.presence-card .pr-ville{font-size:.82rem;color:var(--muted)}
.presence-card .pr-type{margin-top:.5rem}
.presence-card .pr-adr{font-size:.74rem;color:var(--muted);margin-top:.45rem}

/* ------- Annuaire des membres ------- */
.member-card{display:flex;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem;height:100%;transition:.25s;align-items:center}
.member-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.member-avatar{width:74px;height:74px;border-radius:14px;object-fit:cover;flex:0 0 74px;background:rgba(18,58,114,.09);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--brand);font-size:1.25rem;font-family:var(--serif);border:2px solid rgba(200,162,39,.4)}
.member-card h3{font-size:1rem;margin:0;font-family:var(--serif);color:var(--brand)}
.member-role{color:var(--gold-dark);font-weight:600;font-size:.82rem}
.member-meta{font-size:.76rem;color:var(--muted);display:flex;align-items:center;gap:.3rem;margin-top:.2rem}
.member-num{font-size:.68rem;color:var(--muted);margin-top:.25rem;letter-spacing:.06em}

/* ------- Organigramme ------- */
.org-level{margin-bottom:2.6rem}
.org-level:last-child{margin-bottom:0}
.org-level > h3{font-size:1.25rem;color:var(--brand);border-left:4px solid var(--gold);padding-left:.7rem;margin-bottom:1.3rem}
.org-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);text-align:center;overflow:hidden;height:100%;transition:.25s}
.org-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.org-card img,.org-card .no-photo{width:100%;height:230px;object-fit:cover;background:rgba(18,58,114,.08);display:flex;align-items:center;justify-content:center;font-size:2.2rem;color:var(--brand);font-family:var(--serif);font-weight:800}
.org-card .org-body{padding:1rem}
.org-card h4{font-family:var(--serif);color:var(--brand);margin:0 0 .25rem;font-size:1rem}
.org-card p{margin:0;font-size:.82rem;color:var(--muted)}

/* ------- Page adhésion ------- */
.advantages{background:linear-gradient(135deg,var(--brand),var(--accent));border-radius:var(--radius);color:#e8eef8;padding:1.8rem;height:100%}
.advantages h3{color:#fff;margin:0 0 1.2rem}
.adv-item{display:flex;gap:.9rem;margin-bottom:1.05rem;align-items:flex-start}
.adv-item .ic{color:var(--gold);margin-top:.15rem}
.adv-item strong{display:block;color:#fff;font-size:.95rem}
.adv-item span{font-size:.82rem;color:#bccde6}
.steps-mini{background:#ffffff12;border-radius:12px;padding:1.1rem 1.2rem;margin-top:1.4rem}
.steps-mini h4{margin:0 0 .7rem;color:var(--gold);font-size:.9rem;font-family:var(--serif)}
.steps-mini ol{margin:0;padding-left:1.2rem;font-size:.84rem}
.steps-mini li{margin-bottom:.35rem}

/* ------- Recherche annuaire ------- */
.search-bar{display:flex;gap:.6rem;max-width:560px;margin:0 auto 2rem}
.search-bar .f-input{flex:1}
@media(max-width:560px){.search-bar{flex-direction:column}}

/* =========================================================
   V3 — Habillage institutionnel enrichi (CMS)
   ========================================================= */
.page-banner::after{background:linear-gradient(100deg,rgba(7,25,55,.94) 0%,rgba(10,34,73,.80) 50%,rgba(10,34,73,.45) 100%)}
.page-banner::before{content:'';position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--gold),transparent 70%);z-index:3}
.page-banner h1{text-shadow:0 2px 18px rgba(0,0,0,.25)}
.banner-kicker{display:inline-block;background:rgba(200,162,39,.18);border:1px solid rgba(200,162,39,.55);color:var(--gold);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:.3rem .9rem;border-radius:999px;margin-bottom:.8rem}

/* Cartes domaines illustrées */
.domaine-card.has-img{padding:0;overflow:hidden;display:flex;flex-direction:column;color:inherit}
.domaine-card .d-img{position:relative;height:150px;overflow:hidden;background:var(--accent)}
.domaine-card .d-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.domaine-card .d-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(10,34,73,.55))}
.domaine-card.has-img:hover .d-img img{transform:scale(1.07)}
.domaine-card.has-img .d-body{padding:0 1.25rem 1.35rem;position:relative}
.domaine-card.has-img .d-ic{margin-top:-26px;position:relative;z-index:2;background:#fff;box-shadow:0 6px 18px rgba(10,34,73,.15);border:2px solid rgba(200,162,39,.5)}
a.domaine-card{color:inherit}
.d-ic.obj-num{font-family:var(--serif);font-weight:800;font-size:1.05rem;color:var(--gold-dark);background:rgba(200,162,39,.14)}

/* Bandeau d'appel avec photo */
.cta-photo{background-size:cover!important;background-position:center!important;padding:5rem 0}

/* Sections : respiration et titres */
.section-title{position:relative}
.split .media img{aspect-ratio:4/3}
.president .portrait{aspect-ratio:4/5}

/* Contenu riche des pages libres */
.rich{color:#26333f;font-size:1rem}
.rich h2{color:var(--brand);font-size:1.45rem;margin:1.6rem 0 .6rem}
.rich h3{color:var(--brand);font-size:1.15rem;margin:1.3rem 0 .5rem}
.rich img{border-radius:12px;margin:1rem 0;height:auto}
.rich blockquote{border-left:4px solid var(--gold);margin:1.2rem 0;padding:.6rem 1rem;background:var(--paper);font-style:italic;color:var(--muted)}
.rich ul,.rich ol{padding-left:1.3rem}
.rich li{margin:.3rem 0}
.rich table{width:100%;border-collapse:collapse;margin:1rem 0}
.rich th,.rich td{border:1px solid var(--line);padding:.5rem .7rem;text-align:left}
.rich th{background:var(--paper);color:var(--brand)}
.footer-bottom a{color:inherit;opacity:.85}
.footer-bottom a:hover{color:var(--gold)}

/* Apparition douce au défilement */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
.brand-text strong,.brand-text small,.btn-nav,.nav-link{white-space:nowrap}
@media(min-width:981px) and (max-width:1280px){.nav-link{padding:.5rem .5rem;font-size:.86rem}.btn-nav{padding:.48rem .9rem;margin-left:.3rem}.brand-crest{width:44px;height:44px;flex-basis:44px}.brand-text strong{font-size:1.2rem}.brand-text small{font-size:.54rem}}

/* =========================================================
   V4 — Agenda, opportunités, vitrines professionnelles
   ========================================================= */
.btn-login{padding:.48rem 1rem}
@media(min-width:981px) and (max-width:1280px){.btn-login{padding:.45rem .75rem}}
.agenda-band{background:#fff}
.event-row,.opp-row{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.85rem 1rem;margin-bottom:.75rem;color:inherit;transition:.25s}
.event-row:hover,.opp-row:hover{border-color:rgba(200,162,39,.6);box-shadow:var(--shadow);transform:translateX(3px)}
.event-row > .ic:last-child,.opp-row > .ic:last-child{margin-left:auto;color:var(--gold-dark)}
.event-date{flex:0 0 62px;height:66px;border-radius:12px;background:linear-gradient(160deg,var(--brand),var(--accent));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.event-date b{font-family:var(--serif);font-size:1.6rem}
.event-date small{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);margin-top:.2rem}
.event-date.is-past{background:#e8ecf2;color:var(--muted)}
.event-date.is-past small{color:var(--muted)}
.event-info{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.event-info strong{color:var(--brand);font-family:var(--serif);font-size:1rem;line-height:1.3}
.event-meta{font-size:.78rem;color:var(--muted);display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}
.event-info .tag{align-self:flex-start}
.opp-type{flex:0 0 auto;display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.32rem .7rem;border-radius:999px;background:rgba(18,58,114,.1);color:var(--brand)}
.opp-offre{background:#e7f6ec;color:#166534}
.opp-demande{background:#fff4e0;color:#8a5a00}
.opp-partenariat{background:rgba(18,58,114,.1);color:var(--brand)}
.opp-investissement{background:#f3e8ff;color:#6b21a8}
.opp-note{font-size:.82rem;color:var(--muted);margin:.4rem 0 0;display:flex;align-items:center;gap:.35rem}
.event-card .ev-cover{position:relative;display:block}
.ev-float{position:absolute;left:14px;bottom:-22px;box-shadow:0 8px 20px rgba(10,34,73,.3);border:3px solid #fff}
.event-card .card-body{padding-top:1.9rem}
.event-box h4{margin:0 0 .8rem;color:var(--brand);font-family:var(--serif)}
.info-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.75rem}
.info-list li{display:flex;gap:.65rem;align-items:flex-start;font-size:.88rem}
.info-list li > .ic{color:var(--gold-dark);margin-top:.15rem}
.info-list b{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.badge-soft{display:block;text-align:center;background:var(--paper);border:1px dashed var(--line);border-radius:10px;padding:.65rem;color:var(--muted);font-weight:600;font-size:.88rem}
.btn-ghost-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:.7rem;font-size:.85rem;font-weight:600}
.opp-filter{display:flex;gap:.6rem;flex-wrap:wrap}
.opp-filter .f-input{flex:1 1 180px}
.pro-head{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap;padding-bottom:1.2rem;margin-bottom:1rem;border-bottom:1px solid var(--line)}
.pro-head h2{margin:0;color:var(--brand)}
.pro-avatar{width:110px;height:110px;border-radius:20px;object-fit:cover;background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff;font-family:var(--serif);font-size:2.2rem;font-weight:800;display:flex;align-items:center;justify-content:center;border:3px solid rgba(200,162,39,.55);flex:0 0 110px}
.pro-logo{max-width:110px;max-height:70px;object-fit:contain;margin-left:auto}
.pro-card h3{color:var(--brand);font-size:1.1rem;margin:1.3rem 0 .5rem}
.badge-verified{display:inline-flex;align-items:center;gap:.3rem;margin-top:.5rem;background:#e7f6ec;color:#166534;font-size:.72rem;font-weight:700;padding:.25rem .65rem;border-radius:999px}
.search-bar.opp-filter{max-width:960px}
/* Organigramme hiérarchique */
.orgchart{display:flex;flex-direction:column;align-items:center}
.org-tier{width:100%;text-align:center}
.org-tier-title{display:inline-block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark);background:rgba(200,162,39,.14);padding:.35rem 1rem;border-radius:999px;margin:0 0 1rem;font-family:var(--font)}
.org-tier-row{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}
.org-link{width:2px;height:38px;background:linear-gradient(var(--gold),rgba(200,162,39,.2));margin:.4rem 0 .6rem}
.org-node{background:#fff;border:1px solid var(--line);border-top:4px solid var(--brand);border-radius:14px;padding:1.2rem 1rem;width:230px;display:flex;flex-direction:column;align-items:center;gap:.35rem;transition:.25s}
.org-node:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-top-color:var(--gold)}
.org-node img,.org-node .org-ini{width:86px;height:86px;border-radius:50%;object-fit:cover;border:3px solid rgba(200,162,39,.5);margin-bottom:.3rem}
.org-node .org-ini{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff;font-family:var(--serif);font-weight:800;font-size:1.5rem}
.org-node strong{font-family:var(--serif);color:var(--brand);font-size:1rem;line-height:1.3}
.org-node span{font-size:.8rem;color:var(--muted);line-height:1.4}
.org-node.is-top{width:300px;border-top-color:var(--gold);box-shadow:var(--shadow)}
.org-node.is-top img,.org-node.is-top .org-ini{width:110px;height:110px}

/* =========================================================
   V5 — Présence internationale, contact, annuaire, partenaires
   ========================================================= */
/* Cartes présence (drapeau + pays + ville + statut) */
.pres-grid{display:grid;gap:1.1rem;grid-template-columns:1fr}
@media(min-width:560px){.pres-grid{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.pres-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1100px){.pres-grid{grid-template-columns:repeat(4,1fr)}}
.pres-card{background:#fff;border:1px solid #e3e8ef;border-radius:12px;padding:1.15rem 1.2rem;display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;transition:.25s;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.pres-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(10,34,73,.10);border-color:rgba(200,162,39,.5)}
.pres-head{display:flex;align-items:center;gap:.7rem}
.pres-head strong{font-weight:700;color:#16233a;font-size:1rem;font-family:var(--font)}
.pc-flag{width:52px!important;height:34px;object-fit:cover;border-radius:4px;box-shadow:0 0 0 1px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.1);flex:0 0 52px}
.pc-flag-empty{display:inline-flex;align-items:center;justify-content:center;background:rgba(18,58,114,.08);color:var(--brand)}
.pres-city{color:#5b6472;font-size:.92rem}
.pres-badge{display:inline-block;font-size:.76rem;font-weight:700;padding:.24rem .65rem;border-radius:6px;border:1px solid #d7dde6;background:#fff;color:#16233a}
.pres-badge.pb-siege{background:var(--brand);border-color:var(--brand);color:#fff}
.pres-badge.pb-repr{background:#fff;color:#16233a}
.pres-badge.pb-bureau{background:#eef3fb;border-color:#d4e0f3;color:var(--brand)}
.pres-badge.pb-ouverture{background:#ffc21a;border-color:#ffc21a;color:#1b1b1b}
.pres-adr{font-size:.76rem;color:var(--muted);display:flex;gap:.3rem;align-items:flex-start}
.pres-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2.4rem}
@media(min-width:800px){.pres-stats{grid-template-columns:repeat(4,1fr)}}
.pres-stats > div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.1rem 1rem;text-align:center;border-bottom:3px solid var(--gold)}
.pres-stats b{display:block;font-family:var(--serif);font-size:2rem;color:var(--brand);line-height:1.1}
.pres-stats span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}
.seat-grid{display:grid;gap:1.2rem;grid-template-columns:1fr}
@media(min-width:860px){.seat-grid{grid-template-columns:1fr 1fr}}
.seat-hero{position:relative;overflow:hidden;border-radius:16px;background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff;min-height:190px;box-shadow:var(--shadow)}
.seat-flag-bg{position:absolute;right:-40px;top:50%;transform:translateY(-50%) rotate(-8deg);width:300px;opacity:.16;border-radius:8px}
.seat-body{position:relative;z-index:2;padding:1.5rem 1.6rem;display:flex;flex-direction:column;gap:.8rem}
.seat-body .pres-badge.pb-siege{background:var(--gold);border-color:var(--gold);color:#1b1b1b;align-self:flex-start}
.seat-title{display:flex;align-items:center;gap:.9rem}
.seat-title h3{margin:0;color:#fff;font-size:1.55rem}
.seat-title span{color:#cfdaee;font-size:.9rem}
.seat-body p{margin:0;color:#dbe5f3;font-size:.88rem;display:flex;gap:.4rem;align-items:flex-start}

/* Page contact */
.ct-layout{display:grid;gap:1.6rem;grid-template-columns:1fr}
@media(min-width:1000px){.ct-layout{grid-template-columns:1.6fr 1fr}}
.ct-form-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:2rem;box-shadow:0 4px 20px rgba(0,0,0,.04)}
.ct-form-head{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.6rem}
.ct-form-head h2{margin:0;color:#16233a;font-size:1.6rem}
.ct-form-head p{margin:.25rem 0 0;color:var(--muted);font-size:.92rem}
.ct-ic-box{width:52px;height:52px;flex:0 0 52px;border-radius:12px;background:rgba(200,162,39,.16);color:var(--gold-dark);display:flex;align-items:center;justify-content:center}
.ct-form{display:flex;flex-direction:column;gap:1.1rem}
.ct-row{display:grid;gap:1.1rem;grid-template-columns:1fr}
@media(min-width:700px){.ct-row{grid-template-columns:1fr 1fr}}
.ct-field{display:flex;flex-direction:column;gap:.45rem}
.ct-field > span:first-child{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5b6472}
.ct-field i{color:#dc2626;font-style:normal}
.ct-input{display:flex;align-items:stretch;border:1px solid #dbe2ea;border-radius:10px;overflow:hidden;background:#fff;transition:.2s}
.ct-ico{flex:0 0 48px;display:flex;align-items:center;justify-content:center;background:#f6f8fb;border-right:1px solid #dbe2ea;color:#5b6472}
.ct-input input,.ct-input select{flex:1;border:none;padding:.8rem .9rem;font-size:.95rem;font-family:var(--font);background:transparent;outline:none;min-width:0}
.ct-field textarea{border:1px solid #dbe2ea;border-radius:10px;padding:.85rem .95rem;font-size:.95rem;font-family:var(--font);resize:vertical;outline:none;transition:.2s}
.ct-input:focus-within,.ct-field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(18,58,114,.12)}
.ct-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.4rem}
.btn-lg-ct{padding:.9rem 2.2rem;font-size:1.05rem}
.ct-note{font-size:.8rem;color:var(--muted);display:flex;align-items:center;gap:.35rem}
.ct-side{display:flex;flex-direction:column;gap:1.2rem}
.ct-dark{background:linear-gradient(150deg,var(--accent) 0%,#06152e 100%);border:1px solid rgba(200,162,39,.35);border-radius:18px;padding:1.6rem;color:#e8eef8}
.ct-dark h3{display:flex;align-items:center;gap:.55rem;color:#fff;margin:0 0 1.1rem;font-size:1.35rem}
.ct-dark h3 .ic{color:var(--gold)}
.ct-dark ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}
.ct-dark li{display:flex;gap:.7rem;align-items:flex-start;font-size:.95rem}
.ct-dark li .ic{color:var(--gold);margin-top:.2rem}
.ct-dark a{color:#fff}
.ct-dark a:hover{color:var(--gold)}
.ct-soc{display:flex;gap:.6rem;margin-top:1.3rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.14)}
.ct-soc a{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:#fff;transition:.2s}
.ct-soc a:hover{background:var(--gold);color:#1b1b1b}
.ct-wa{display:flex;align-items:center;justify-content:center;gap:.6rem;background:#25d366;color:#fff;font-weight:700;font-size:1.05rem;border-radius:12px;padding:1rem;transition:.25s}
.ct-wa:hover{background:#1ebe5a;color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(37,211,102,.3)}
.ct-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.3rem 1.4rem}
.ct-card h4{display:flex;align-items:center;gap:.5rem;margin:0 0 .7rem;color:#16233a;font-size:1.08rem}
.ct-card h4 .ic{color:var(--gold-dark)}
.ct-card p{margin:0;color:#5b6472;font-size:.92rem}
.ct-seat{border-left:3px solid var(--gold);padding:.15rem 0 .15rem .8rem;margin-bottom:.9rem}
.ct-seat:nth-of-type(2n){border-left-color:#16a34a}
.ct-seat b{display:flex;align-items:center;gap:.45rem;color:#16233a;font-size:.95rem}
.ct-seat span{display:block;color:#5b6472;font-size:.88rem;margin-top:.15rem}
.ct-flag{width:24px!important;height:16px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.1)}
.ct-map-sec{background:#fff;border-top:1px solid var(--line)}
.ct-map{border-radius:16px;overflow:hidden;border:1px solid var(--line);height:420px;box-shadow:0 4px 18px rgba(0,0,0,.05)}
.ct-map iframe{width:100%;height:100%;border:0}

/* Annuaire */
.dir-filter{display:flex;gap:.6rem;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem;margin-bottom:1rem;box-shadow:0 2px 10px rgba(0,0,0,.03)}
.dir-filter select{border:1px solid #dbe2ea;border-radius:10px;padding:.65rem .8rem;font-family:var(--font);font-size:.9rem;background:#fff;flex:1 1 160px}
.dir-search{flex:2 1 260px;display:flex;align-items:center;gap:.5rem;border:1px solid #dbe2ea;border-radius:10px;padding:0 .8rem;color:var(--muted)}
.dir-search input{border:none;outline:none;flex:1;padding:.65rem 0;font-family:var(--font);font-size:.92rem;min-width:0}
.dir-count{font-size:.88rem;color:var(--muted);margin:0 0 1.2rem}
.dir-count a{color:#b91c1c;font-weight:600}
.dir-grid{display:grid;gap:1.3rem;grid-template-columns:1fr}
@media(min-width:760px){.dir-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1150px){.dir-grid{grid-template-columns:repeat(3,1fr)}}
.dir-card{background:#fff;border:1px solid rgba(200,162,39,.25);border-top:4px solid var(--brand);border-radius:16px;padding:1.2rem;display:flex;gap:1.15rem;align-items:flex-start;transition:.3s;box-shadow:0 6px 20px rgba(13,59,102,.05)}
.dir-card:hover{transform:translateY(-5px);box-shadow:0 14px 32px rgba(10,34,73,.12);border-top-color:var(--gold)}
.dir-card.is-acc{border-top-color:var(--gold)}
.dir-photo{position:relative;width:130px;height:156px;flex:0 0 130px}
.dir-photo img,.dir-ini{width:100%;height:100%;border-radius:12px;object-fit:cover;object-position:top center;border:2px solid var(--gold);box-shadow:0 4px 12px rgba(13,59,102,.1)}
.dir-ini{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#7a1f2b,var(--brand));color:#fff;font-family:var(--serif);font-weight:800;font-size:2rem;letter-spacing:1px}
.dir-flag{position:absolute;right:-8px;bottom:-8px;width:40px;height:40px;border-radius:50%;background:#fff;border:2px solid var(--gold);box-shadow:0 3px 10px rgba(0,0,0,.25);overflow:hidden;display:flex;align-items:center;justify-content:center}
.dir-flag img{width:100%!important;height:100%;object-fit:cover}
.dir-info{min-width:0;flex:1}
.dir-badges{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.45rem}
.dir-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.68rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}
.dir-badge.acc{background:rgba(200,162,39,.18);color:#7a5f10}
.dir-badge.ok{background:#e7f6ec;color:#166534}
.dir-info h3{margin:0 0 .2rem;font-size:1.1rem;color:var(--brand);line-height:1.3}
.dir-info h3 a{color:inherit}
.dir-role{display:inline-block;font-size:.76rem;font-weight:600;color:#7a1f2b;background:rgba(122,31,43,.07);border:1px solid rgba(122,31,43,.14);padding:.18rem .55rem;border-radius:6px;margin-bottom:.45rem;max-width:100%}
.dir-line{font-size:.84rem;color:#475569;margin-bottom:.3rem;display:flex;align-items:center;gap:.4rem;line-height:1.35}
.dir-line .ic{color:var(--gold-dark);flex:0 0 auto}
.dir-mini-flag{width:20px!important;height:14px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.1);flex:0 0 20px}
.dir-foot{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.6rem;padding-top:.6rem;border-top:1px dashed rgba(200,162,39,.35);font-size:.74rem;color:var(--muted)}
.dir-foot a{font-weight:700;font-size:.8rem;display:inline-flex;align-items:center;gap:.25rem}
@media(max-width:520px){.dir-photo{width:100px;height:124px;flex-basis:100px}.dir-ini{font-size:1.5rem}}

/* Partenaires : logos agrandis */
.partner-card{padding:1.8rem 1.4rem}
.partner-card img.pc-logo{width:100%;max-width:220px;height:130px;object-fit:contain;padding:.6rem;background:#fff}
.partner-card h3{font-size:1.08rem}
.partner-logo-card{min-width:320px;padding:1.1rem 1.5rem;gap:1.1rem}
.partner-logo-card img.pl-logo{width:96px;height:96px}
.partner-logo-card .pl-info strong{font-size:.98rem}

/* =========================================================
   V6 — Programme ADCR & reconnaissance légale
   ========================================================= */
:root{--adcr-green:#0f6b3a;--adcr-green2:#16a34a;--adcr-orange:#f97316}
.nav-link.nav-adcr{color:var(--adcr-green);font-weight:700;background:rgba(22,163,74,.08)}
.nav-link.nav-adcr:hover,.nav-link.nav-adcr.active{background:var(--adcr-green);color:#fff}
.adcr-hero,.adcr-download,.adcr-home{position:relative;overflow:hidden;background:linear-gradient(125deg,#0b5530 0%,var(--adcr-green) 45%,#12803f 100%);color:#fff}
.adcr-hero::after,.adcr-home::after,.adcr-download::after{content:'';position:absolute;right:-120px;bottom:-140px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(249,115,22,.55),rgba(249,115,22,0) 70%)}
.adcr-hero::before,.adcr-home::before{content:'';position:absolute;left:0;right:0;bottom:0;height:6px;background:linear-gradient(90deg,var(--adcr-orange),#fff 50%,var(--adcr-green2))}
.adcr-hero-in,.adcr-home-in,.adcr-dl-in{position:relative;z-index:2;display:grid;gap:2.4rem;grid-template-columns:1fr;align-items:center;padding:3.6rem 1.15rem}
@media(min-width:940px){.adcr-hero-in,.adcr-home-in{grid-template-columns:1.25fr .75fr}.adcr-dl-in{grid-template-columns:1.2fr .8fr}}
.adcr-logo{width:240px;background:#fff;border-radius:16px;padding:.5rem .8rem;box-shadow:0 10px 30px rgba(0,0,0,.25);margin-bottom:1.2rem}
.adcr-logo.sm{width:190px}
.adcr-kicker{display:inline-flex;align-items:center;gap:.4rem;background:var(--adcr-orange);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:.36rem .95rem;border-radius:999px}
.adcr-hero h1,.adcr-home h2,.adcr-download h2{color:#fff;font-size:clamp(1.7rem,4vw,2.7rem);margin:.9rem 0 .4rem;line-height:1.15}
.adcr-slogan{font-family:var(--serif);font-style:italic;font-size:1.25rem;color:#ffd7b5;margin:0 0 1rem}
.adcr-lead,.adcr-home-txt > p:not(.adcr-slogan){color:#e2f3e8;max-width:620px}
.adcr-values{list-style:none;padding:0;margin:1.2rem 0 1.6rem;display:flex;flex-wrap:wrap;gap:.55rem}
.adcr-values li{display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);padding:.4rem .85rem;border-radius:999px;font-weight:600;font-size:.88rem}
.adcr-values li .ic{color:#fde047}
.adcr-btn-play{background:#111;color:#fff;border-color:#111;padding:.5rem 1.2rem;border-radius:12px}
.adcr-btn-play:hover{background:#000;color:#fff}
.adcr-btn-play span{display:flex;flex-direction:column;line-height:1.05;font-size:1.05rem;text-align:left}
.adcr-btn-play small{font-size:.62rem;font-weight:500;opacity:.8}
.adcr-visual img,.adcr-home-visual img{width:100%;max-width:420px;margin:0 auto;border-radius:22px;box-shadow:0 30px 60px rgba(0,0,0,.35);transform:rotate(2deg);transition:.4s}
.adcr-home-visual:hover img{transform:rotate(0) scale(1.02)}
.adcr-k{color:var(--adcr-green)!important}
.adcr-rule{background:linear-gradient(90deg,var(--adcr-orange),var(--adcr-green2))!important}
.adcr-feat-grid{display:grid;gap:1.1rem;grid-template-columns:1fr}
@media(min-width:620px){.adcr-feat-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1050px){.adcr-feat-grid{grid-template-columns:repeat(4,1fr)}}
.adcr-feat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.2rem;display:flex;gap:.9rem;align-items:flex-start;transition:.25s}
.adcr-feat:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.adcr-feat-ic{width:54px;height:54px;flex:0 0 54px;border-radius:14px;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(0,0,0,.15)}
.adcr-feat h3{margin:0 0 .25rem;font-size:1rem;font-family:var(--font);font-weight:800}
.adcr-feat p{margin:0;font-size:.86rem;color:var(--muted)}
.adcr-account{background:#fff;border:1px solid var(--line);border-top:5px solid var(--adcr-green2);border-radius:16px;padding:1.5rem;height:100%}
.adcr-account:nth-child(2){border-top-color:var(--adcr-orange)}
.adcr-acc-ic{width:56px;height:56px;border-radius:50%;background:rgba(22,163,74,.12);color:var(--adcr-green);display:flex;align-items:center;justify-content:center;margin-bottom:.8rem}
.adcr-account h3{margin:0 0 .7rem;color:var(--adcr-green);font-size:1.15rem}
.adcr-account ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.45rem}
.adcr-account li{display:flex;gap:.45rem;align-items:center;font-size:.9rem}
.adcr-account li .ic{color:var(--adcr-green2)}
.adcr-poster img{width:100%;max-width:360px;margin:0 auto;border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.35);border:6px solid #fff}
.adcr-partner{display:flex;align-items:center;gap:.7rem;margin-top:1.6rem;color:#e2f3e8;font-size:.88rem}
.adcr-partner img{width:44px;height:44px;background:#fff;border-radius:50%;padding:3px}
.adcr-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.2rem 0 1.6rem}
.adcr-chips span{display:inline-flex;align-items:center;gap:.35rem;background:#fff;color:var(--c);font-weight:700;font-size:.82rem;padding:.38rem .8rem;border-radius:10px;box-shadow:0 4px 10px rgba(0,0,0,.12)}
/* Reconnaissance légale */
.legal-ids{display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:2.6rem}
@media(min-width:900px){.legal-ids{grid-template-columns:repeat(4,1fr)}}
.legal-ids > div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.1rem;display:flex;flex-direction:column;gap:.3rem;border-left:4px solid var(--gold)}
.legal-ids span{color:var(--gold-dark)}
.legal-ids b{color:var(--brand);font-family:var(--serif);font-size:1rem}
.legal-ids small{color:var(--muted);font-size:.78rem}
.timeline{position:relative;padding-left:2.4rem}
.timeline::before{content:'';position:absolute;left:19px;top:6px;bottom:6px;width:3px;background:linear-gradient(var(--gold),var(--brand));border-radius:3px}
.tl-item{position:relative;margin-bottom:1.6rem}
.tl-dot{position:absolute;left:-2.4rem;top:.6rem;width:40px;height:40px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;border:3px solid #fff;box-shadow:0 0 0 3px var(--gold)}
.tl-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.3rem 1.4rem;display:flex;gap:1.3rem;align-items:flex-start;flex-wrap:wrap;margin-left:.8rem;transition:.25s}
.tl-card:hover{box-shadow:var(--shadow)}
.tl-body{flex:1;min-width:240px}
.tl-body h3{margin:0 0 .4rem;color:var(--brand);font-size:1.12rem}
.tl-body p{margin:0 0 .6rem;color:#3f4a5a;font-size:.93rem}
.tl-doc img{width:150px;height:190px;object-fit:cover;object-position:top;border-radius:8px;border:1px solid var(--line);box-shadow:0 6px 16px rgba(0,0,0,.12);transition:.25s}
.tl-doc img:hover{transform:scale(1.04)}
.legal-quote{background:linear-gradient(135deg,var(--brand),var(--accent));color:#e8eef8;border-radius:18px;padding:2rem;position:relative}
.legal-quote .quote-mark{font-family:var(--serif);font-size:4.5rem;line-height:.5;color:var(--gold);display:block;margin-bottom:.4rem}
.legal-quote p{font-family:var(--serif);font-size:1.15rem;font-style:italic;line-height:1.6;margin:0 0 1rem}
.legal-quote small{color:var(--gold);font-weight:600;letter-spacing:.04em}

/* =========================================================
   V7 — Application installable (PWA) + correctifs À propos
   ========================================================= */
.president .levier-body,.president .levier-body p{color:#3f4a5a}
.president .levier-card{box-shadow:0 18px 40px rgba(0,0,0,.25)}
.btn-install{margin:.4rem 0 1rem;font-size:.85rem;padding:.55rem 1.1rem}
.pwa-standalone .btn-install{display:none}
.pwa-overlay{position:fixed;inset:0;z-index:5000;background:rgba(7,20,45,.55);backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .3s}
.pwa-overlay.show{opacity:1}
@media(min-width:700px){.pwa-overlay{align-items:center}}
.pwa-sheet{position:relative;width:min(460px,100%);background:#fff;border-radius:22px 22px 0 0;padding:1.6rem 1.4rem 1.4rem;box-shadow:0 -10px 40px rgba(0,0,0,.25);transform:translateY(40px);transition:transform .35s cubic-bezier(.2,.8,.2,1);font-family:var(--font)}
@media(min-width:700px){.pwa-sheet{border-radius:22px}}
.pwa-overlay.show .pwa-sheet{transform:none}
.pwa-sheet::before{content:'';position:absolute;top:8px;left:50%;transform:translateX(-50%);width:44px;height:5px;border-radius:5px;background:#dfe5ee}
.pwa-x{position:absolute;top:10px;right:12px;width:34px;height:34px;border-radius:50%;border:none;background:#f1f4f8;font-size:1.4rem;line-height:1;cursor:pointer;color:#475569}
.pwa-head{display:flex;gap:.9rem;align-items:center;margin-top:.4rem}
.pwa-head img{width:62px;height:62px;border-radius:16px;box-shadow:0 6px 16px rgba(10,34,73,.25)}
.pwa-head b{display:block;font-family:var(--serif);color:var(--brand);font-size:1.15rem;line-height:1.25}
.pwa-head span{font-size:.8rem;color:var(--muted)}
.pwa-msg{margin:1rem 0 .8rem;color:#26333f;font-size:.95rem}
.pwa-os{display:flex;gap:.4rem;margin-bottom:.9rem}
.pwa-os span{font-size:.72rem;font-weight:700;padding:.25rem .65rem;border-radius:999px;background:#f1f4f8;color:#64748b}
.pwa-os span.on{background:rgba(22,163,74,.12);color:#166534}
.pwa-perks{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.45rem}
.pwa-perks li{position:relative;padding-left:1.6rem;font-size:.9rem;color:#334155}
.pwa-perks li::before{content:'✓';position:absolute;left:0;top:0;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--gold);color:#1b1b1b;font-size:.7rem;font-weight:800;display:flex;align-items:center;justify-content:center}
.pwa-steps{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.6rem}
.pwa-steps li{display:flex;align-items:center;gap:.55rem;font-size:.9rem;color:#334155;background:#f7f9fc;border:1px solid #e6ebf2;border-radius:12px;padding:.6rem .7rem;flex-wrap:wrap}
.pwa-steps svg{color:#2563eb}
.pwa-n{width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:var(--brand);color:#fff;font-weight:700;font-size:.8rem;display:flex;align-items:center;justify-content:center}
.pwa-note{font-size:.8rem;color:#92400e;background:#fffbeb;border-radius:10px;padding:.55rem .7rem;margin:0 0 1rem}
.pwa-actions{display:flex;flex-direction:column;gap:.5rem}
.pwa-btn{border:none;border-radius:14px;padding:.95rem;font-weight:700;font-size:1rem;background:linear-gradient(120deg,var(--brand),var(--accent));color:#fff;cursor:pointer}
.pwa-later{border:none;background:none;color:var(--muted);font-weight:600;padding:.5rem;cursor:pointer}
.pwa-steps li{display:block;position:relative;padding:.65rem .75rem .65rem 2.7rem;line-height:1.45}
.pwa-steps li .pwa-n{position:absolute;left:.7rem;top:.62rem}
.pwa-steps li svg{vertical-align:-3px;margin:0 .15rem}

/* =========================================================================
   ORGANIGRAMME v7 — fiches photo (style institutionnel)
   ========================================================================= */
.org-page{background:linear-gradient(180deg,#f5f7fa 0%,#fff 40%,#f5f7fa 100%)}
.oc-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:0 0 2.4rem}
.oc-tabs a{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem 1rem;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.86rem;font-weight:600;color:var(--brand);box-shadow:0 2px 8px rgba(18,58,114,.05);transition:.2s}
.oc-tabs a b{background:var(--brand);color:#fff;border-radius:999px;font-size:.72rem;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0 .4rem}
.oc-tabs a:hover{background:var(--brand);color:#fff}
.oc-tabs a:hover b{background:var(--gold)}
.oc-tier{scroll-margin-top:110px}
.oc-tier-title{display:flex;align-items:center;gap:1rem;margin:0 0 1.6rem;font-size:1.7rem;color:var(--ink)}
.oc-tier-title::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}
.oc-tier-title span{position:relative;padding-bottom:.45rem}
.oc-tier-title span::after{content:'';position:absolute;left:0;bottom:0;width:70px;height:3px;border-radius:3px;background:var(--gold)}
.org-page .org-link{margin:1.6rem auto}
.oc-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.6rem}
.oc-grid>.oc-card{flex:1 1 300px;max-width:370px}
.oc-card{background:#fff;border:1px solid #e6ebf1;border-radius:22px;padding:1.6rem 1.4rem 1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;box-shadow:0 4px 18px rgba(18,58,114,.05);transition:.3s}
.oc-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(18,58,114,.13)}
.oc-photo{position:relative;width:100%;max-width:280px;aspect-ratio:1/1.04;margin-bottom:1.2rem}
.oc-photo img,.oc-ini{width:100%;height:100%;border-radius:16px;object-fit:cover;object-position:top center;box-shadow:0 10px 26px rgba(10,34,73,.18)}
.oc-ini{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff;font-family:var(--serif);font-weight:800;font-size:3.2rem;letter-spacing:.04em}
.oc-flag{position:absolute;right:-12px;bottom:-10px;background:#fff;border-radius:10px;padding:5px 6px;box-shadow:0 4px 14px rgba(0,0,0,.2);line-height:0}
.oc-flag img{width:38px!important;height:26px;object-fit:cover;border-radius:4px}
.oc-body{display:flex;flex-direction:column;align-items:center;width:100%;flex:1}
.oc-org{display:inline-block;font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand);background:#e7f0fb;padding:.35rem .8rem;border-radius:8px;margin-bottom:.8rem}
.oc-name{font-family:var(--serif);font-size:1.32rem;line-height:1.25;color:var(--ink);margin:0 0 .35rem;text-transform:none}
.oc-role{font-weight:600;color:var(--brand);font-size:.98rem;line-height:1.45;margin-bottom:.55rem}
.oc-loc{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.92rem;margin-bottom:.7rem}
.oc-loc .ic{color:#16a34a}
.oc-dist{display:inline-flex;align-items:center;gap:.4rem;background:#fdf6dc;color:#7a5f10;border:1px solid rgba(200,162,39,.3);font-weight:600;font-size:.88rem;padding:.4rem .85rem;border-radius:10px;margin-bottom:.7rem}
.oc-dist .ic{color:var(--gold)}
.oc-bio{width:100%;margin:.4rem 0 1rem;padding-top:1rem;border-top:1px dashed #d9e0e8;color:#4b5563;font-size:.94rem;line-height:1.65;text-align:left}
.oc-contact{margin-top:auto;display:inline-flex;align-items:center;gap:.45rem;background:#eef2f7;color:var(--brand);font-weight:700;font-size:.92rem;padding:.6rem 1.25rem;border-radius:999px;transition:.2s}
.oc-contact:hover{background:var(--brand);color:#fff}
/* Président : fiche mise en avant */
.oc-featured{max-width:980px;margin:0 auto;border:2px solid rgba(200,162,39,.55);background:linear-gradient(135deg,#fff 0%,#fffdf6 100%);box-shadow:0 20px 50px rgba(18,58,114,.12)}
.oc-featured .oc-photo{max-width:320px}
.oc-featured .oc-photo img,.oc-featured .oc-ini{border:3px solid var(--gold)}
.oc-featured .oc-name{font-size:1.65rem}
@media(min-width:860px){
  .oc-featured{flex-direction:row;align-items:center;gap:2.4rem;padding:2rem 2.4rem;text-align:left}
  .oc-featured .oc-photo{flex:0 0 320px;margin:0}
  .oc-featured .oc-body{align-items:flex-start}
  .oc-featured .oc-contact{margin-top:.3rem}
}

/* =========================================================================
   ORGANIGRAMME EN ARBRE (v7.1) — fondateur en haut, branches en dessous
   ========================================================================= */
.org-page{padding:4.5rem 0 3.5rem;background:radial-gradient(1200px 500px at 50% 0,#eaf1fb 0%,rgba(234,241,251,0) 70%),linear-gradient(180deg,#f7f9fc,#fff 60%,#f5f7fa)}
.ot-scroll{overflow-x:auto;padding:1rem 0 1.5rem;-webkit-overflow-scrolling:touch}
.ot{min-width:max-content;display:flex;justify-content:center;margin:0 auto;--ot-line:#c8a227;--ot-gap:34px}
.ot ul{display:flex;justify-content:center;list-style:none;margin:0;padding:var(--ot-gap) 0 0;position:relative}
.ot>ul{padding-top:0}
.ot li{position:relative;display:flex;flex-direction:column;align-items:center;padding:var(--ot-gap) 10px 0}
.ot>ul>li{padding-top:0}
/* traits de liaison */
.ot li::before,.ot li::after{content:'';position:absolute;top:0;right:50%;width:50%;height:var(--ot-gap);border-top:2px solid var(--ot-line)}
.ot li::after{right:auto;left:50%;border-left:2px solid var(--ot-line)}
.ot li:only-child::before,.ot li:only-child::after{display:none}
.ot li:only-child{padding-top:0}
.ot li:first-child::before,.ot li:last-child::after{border:0 none}
.ot li:last-child::before{border-right:2px solid var(--ot-line);border-radius:0 10px 0 0}
.ot li:first-child::after{border-radius:10px 0 0 0}
.ot ul ul::before{content:'';position:absolute;top:0;left:50%;width:0;height:var(--ot-gap);border-left:2px solid var(--ot-line)}
.ot>ul>li::before,.ot>ul>li::after{display:none}
/* racine (fondateur / présidence) */
.ot-root{display:flex;flex-direction:column;align-items:center;gap:.8rem}
.ot-root-row{display:flex;gap:1.4rem;justify-content:center}
.ot-level{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.45rem;background:linear-gradient(135deg,#123a72,#0a2249);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.55rem 1.1rem;border-radius:999px;box-shadow:0 6px 16px rgba(10,34,73,.25);white-space:nowrap}
.ot-level b{background:var(--gold);color:#0a2249;border-radius:999px;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem}
.ot-level-top{background:linear-gradient(135deg,#e2c14b,#c8a227);color:#0a2249}
/* nœud personne */
.ot-node{position:relative;z-index:1;width:200px;background:#fff;border:1px solid #e3e9f1;border-radius:20px;padding:1.2rem .9rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.35rem;text-align:center;cursor:pointer;font-family:var(--font);box-shadow:0 8px 22px rgba(18,58,114,.08);transition:transform .25s,box-shadow .25s,border-color .25s}
.ot-node:hover,.ot-node:focus-visible{transform:translateY(-6px);box-shadow:0 18px 38px rgba(18,58,114,.18);border-color:var(--gold);outline:none}
.ot-photo{position:relative;width:104px;height:104px;margin-bottom:.35rem}
.ot-photo img,.ot-ini{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:top center;border:4px solid #fff;box-shadow:0 0 0 3px var(--gold),0 8px 18px rgba(10,34,73,.2)}
.ot-ini{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff;font-family:var(--serif);font-weight:800;font-size:2rem}
.ot-flag{position:absolute;right:-4px;bottom:2px;width:34px;height:34px;border-radius:50%;overflow:hidden;background:#fff;border:3px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.25);display:flex}
.ot-flag img{width:100%!important;height:100%;object-fit:cover}
.ot-name{font-family:var(--serif);font-size:1rem;line-height:1.25;color:var(--ink)}
.ot-role{font-size:.8rem;line-height:1.4;color:var(--brand);font-weight:600;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ot-loc{font-size:.82rem;color:var(--muted);display:inline-flex;align-items:center;gap:.3rem}
.ot-loc .ic{color:#16a34a}
.ot-more{margin-top:.35rem;font-size:.74rem;font-weight:700;color:var(--gold-dark);display:inline-flex;align-items:center;gap:.25rem;opacity:.75;transition:.2s}
.ot-node:hover .ot-more{opacity:1}
/* fondateur mis en valeur */
.ot-top{width:290px;padding:1.6rem 1.2rem 1.3rem;border:2px solid rgba(200,162,39,.6);background:linear-gradient(180deg,#fffdf5,#fff);box-shadow:0 22px 50px rgba(18,58,114,.16)}
.ot-top .ot-photo{width:160px;height:160px}
.ot-top .ot-photo img,.ot-top .ot-ini{box-shadow:0 0 0 4px var(--gold),0 14px 30px rgba(10,34,73,.25)}
.ot-top .ot-flag{width:42px;height:42px;right:2px;bottom:6px}
.ot-top .ot-name{font-size:1.3rem}
.ot-top .ot-role{font-size:.9rem;-webkit-line-clamp:4}
.ot-hint{display:none;text-align:center;font-size:.8rem;color:var(--muted);margin:.2rem 0 0;align-items:center;justify-content:center;gap:.35rem}
/* mobile : arbre vertical */
@media(max-width:820px){
  .ot-scroll{overflow:visible}
  .ot{min-width:0;display:block;--ot-gap:26px}
  .ot ul{flex-direction:column;align-items:center}
  .ot li{padding:var(--ot-gap) 0 0;width:100%}
  .ot li::before{display:none}
  .ot li::after{left:50%;width:0;border-top:0;border-radius:0!important;border-left:2px solid var(--ot-line)!important}
  .ot li:first-child::after{display:block}
  .ot ul ul{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;padding-top:var(--ot-gap);width:100%}
  .ot ul ul ul>li{padding-top:0}
  .ot ul ul ul>li::after{display:none}
  .ot ul ul ul::before{display:none}
  .ot ul ul>li{grid-column:1/-1}
  .ot ul ul ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;padding-top:1rem;width:100%;max-width:440px}
  .ot ul ul ul>li:only-child{grid-column:1/-1}
  .ot-node{width:100%}
  .ot-photo{width:84px;height:84px}
  .ot-top{width:100%;max-width:340px}
  .ot-top .ot-photo{width:140px;height:140px}
}
/* fenêtre fiche détaillée */
.otm{border:none;border-radius:24px;padding:0;width:min(860px,94vw);max-height:90vh;box-shadow:0 30px 80px rgba(10,34,73,.35)}
.otm::backdrop{background:rgba(10,34,73,.55);backdrop-filter:blur(3px)}
.otm-x{position:absolute;top:.6rem;right:.8rem;z-index:2;width:40px;height:40px;border-radius:50%;border:none;background:#eef2f7;color:var(--brand);font-size:1.6rem;line-height:1;cursor:pointer}
.otm-in{display:grid;gap:1.6rem;padding:2rem;grid-template-columns:1fr}
@media(min-width:720px){.otm-in{grid-template-columns:280px 1fr;align-items:start}}
.otm-photo{position:relative;max-width:280px;margin:0 auto;width:100%}
.otm-photo img,.otm-photo .ot-ini{width:100%;aspect-ratio:1/1.05;height:auto;border-radius:18px;object-fit:cover;object-position:top;border:3px solid var(--gold);box-shadow:0 12px 30px rgba(10,34,73,.2)}
.otm-photo .ot-flag{width:46px;height:46px;right:-10px;bottom:-10px}
.otm-body{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem}
.otm-level{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold-dark);font-weight:700;margin-bottom:.4rem}
.otm-body h3{font-size:1.6rem;margin:.1rem 0 .3rem;color:var(--ink)}
.otm-body .oc-bio{text-align:left}
/* ajustements largeur arbre */
.org-page>.container{max-width:1440px}
.ot-node{width:178px;padding:1.1rem .75rem .9rem}
.ot-photo{width:96px;height:96px}
.ot li{padding-left:8px;padding-right:8px}
.ot-level{white-space:normal;max-width:230px;text-align:center;justify-content:center;line-height:1.3;font-size:.72rem}
@media(max-width:820px){.ot-node{width:100%}.ot-level{max-width:none}}
.ot-node.ot-top{width:300px;padding:1.6rem 1.2rem 1.3rem}
.ot-node.ot-top .ot-photo{width:160px;height:160px}
@media(max-width:820px){.ot-node.ot-top{width:100%;max-width:340px}.ot-node.ot-top .ot-photo{width:140px;height:140px}}

/* =========================================================================
   ORGANIGRAMME v8 — tronc central, niveaux en branches, grandes photos
   ========================================================================= */
.ot2{--w:240px;--g:30px;--line:#c8a227;display:flex;flex-direction:column;align-items:center;padding:1rem 0 1rem}
.ot2-tier{display:flex;flex-direction:column;align-items:center;width:100%}
.ot2-trunk{width:3px;height:46px;background:linear-gradient(var(--line),#e2c14b);border-radius:3px}
.ot2-row{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:42px var(--g);padding-top:36px;width:100%}
.ot2-row::before{content:'';position:absolute;top:0;left:50%;width:2px;height:18px;margin-left:-1px;background:var(--line)}
.ot2-row::after{content:'';position:absolute;top:18px;left:50%;transform:translateX(-50%);height:2px;background:var(--line);border-radius:2px;
  width:min(calc((var(--n) - 1) * (var(--w) + var(--g))), calc(100% - var(--w)))}
.ot2-row>.ot-node::before{content:'';position:absolute;top:-19px;left:50%;width:2px;height:19px;margin-left:-1px;background:var(--line)}
.ot2-root .ot2-row{padding-top:22px}
.ot2-root .ot2-row::before,.ot2-root .ot2-row::after,.ot2-root .ot2-row>.ot-node::before{display:none}
.ot2 .ot-node{width:var(--w);padding:1.4rem 1rem 1.1rem}
.ot2 .ot-photo{width:150px;height:150px}
.ot2 .ot-flag{width:38px;height:38px;right:2px;bottom:4px}
.ot2 .ot-name{font-size:1.05rem}
.ot2 .ot-role{font-size:.84rem}
.ot2 .ot-node.ot-top{width:340px;padding:1.8rem 1.3rem 1.4rem}
.ot2 .ot-node.ot-top .ot-photo{width:210px;height:210px}
.ot2 .ot-node.ot-top .ot-flag{width:48px;height:48px;right:10px;bottom:8px}
.ot2 .ot-level{max-width:none;font-size:.78rem;padding:.6rem 1.3rem}
@media(max-width:820px){
  .ot2{--w:calc(50vw - 30px);--g:14px}
  .ot2 .ot-node{padding:1rem .6rem .9rem}
  .ot2 .ot-photo{width:110px;height:110px}
  .ot2 .ot-node.ot-top{width:min(340px,92vw)}
  .ot2 .ot-node.ot-top .ot-photo{width:170px;height:170px}
  .ot2 .ot-level{max-width:92vw;white-space:normal}
}

/* =========================================================================
   v9 — Accueil (organigramme, Dynace, annuaire) + responsive tablette/mobile
   ========================================================================= */
.btn-lg{padding:.95rem 2rem;font-size:1rem}
/* Diaporama : plus de grand vide bleu sur tablette */
.hero{min-height:0;display:flex;flex-direction:column}
.hero-slide.active{flex:1 1 auto;min-height:clamp(520px,72vh,720px)}
@media(max-width:979px){.hero{min-height:0}.hero-slide.active{min-height:clamp(460px,62vh,640px)}}
@media(max-width:560px){.hero-slide.active{min-height:clamp(500px,80svh,680px)}.hero-slide .container{padding-top:3.2rem;padding-bottom:5rem}}

/* ---------- Organigramme (aperçu accueil) ---------- */
.home-org{position:relative;padding:5rem 0;background:radial-gradient(900px 420px at 85% 20%,rgba(200,162,39,.18),transparent 60%),linear-gradient(135deg,#071937 0%,#0d2b56 55%,#123a72 100%);color:#fff;overflow:hidden}
.home-org::after{content:'';position:absolute;right:-120px;bottom:-160px;width:460px;height:460px;border-radius:50%;border:2px solid rgba(200,162,39,.18)}
.home-org-in{display:grid;gap:3rem;align-items:center;position:relative;z-index:1}
@media(min-width:980px){.home-org-in{grid-template-columns:1fr 1.05fr}}
.home-org-txt h2{font-size:clamp(1.7rem,3.4vw,2.5rem);color:#fff;margin:.6rem 0 1rem;line-height:1.2}
.home-org-txt p{color:#c9d6ea;font-size:1.02rem;margin:0 0 1.6rem;max-width:560px}
.home-org-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-bottom:1.8rem;max-width:560px}
.home-org-stats div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:1rem .8rem;text-align:center}
.home-org-stats b{display:block;font-family:var(--serif);font-size:2.3rem;color:var(--gold);line-height:1}
.home-org-stats span{display:block;font-size:.76rem;color:#c9d6ea;margin-top:.4rem;line-height:1.3}
.home-org-visual{display:flex;flex-direction:column;align-items:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:2.2rem 1.4rem;color:#fff;transition:.3s}
.home-org-visual:hover{background:rgba(255,255,255,.09);transform:translateY(-4px)}
.hov-top{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.3rem}
.hov-photo{width:190px;height:190px;border-radius:50%;padding:5px;background:linear-gradient(135deg,#e2c14b,#c8a227);box-shadow:0 18px 40px rgba(0,0,0,.35);margin-bottom:.6rem}
.hov-photo img,.hov-photo .ot-ini{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:top;border:4px solid #0d2b56}
.hov-top b{font-family:var(--serif);font-size:1.3rem}
.hov-top small{color:var(--gold);font-weight:600;font-size:.9rem}
.hov-line{width:3px;height:40px;background:linear-gradient(var(--gold),rgba(200,162,39,.2));margin:.9rem 0}
.hov-team{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;max-width:520px}
.hov-av{width:84px;height:84px;border-radius:50%;padding:3px;background:var(--gold);box-shadow:0 8px 20px rgba(0,0,0,.3);transition:.25s}
.hov-av:hover{transform:scale(1.08)}
.hov-av img,.hov-av .ot-ini{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:top;border:3px solid #0d2b56;font-size:1.3rem}
.hov-more{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);color:#fff;font-weight:800;font-size:1.1rem}

/* ---------- Dynace Global ---------- */
.dy-brand{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}
.dy-brand img{width:66px;height:66px;border-radius:16px;background:#fff;object-fit:contain;padding:4px;box-shadow:0 6px 16px rgba(0,0,0,.2)}
.dy-brand b{display:block;font-family:var(--font);font-weight:900;font-size:1.45rem;letter-spacing:.02em;line-height:1.1;text-transform:uppercase}
.dy-brand span{display:block;color:var(--gold);font-weight:800;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}
.dy-kicker{display:inline-flex;align-items:center;gap:.4rem;background:rgba(200,162,39,.18);color:#f3d77a;border:1px solid rgba(200,162,39,.4);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .9rem;border-radius:999px}
.dy-quote{font-family:var(--serif);font-style:italic;font-size:1.15rem;color:#f3d77a;border-left:3px solid var(--gold);padding-left:1rem;margin:0 0 1.4rem}
.dy-btn-wa{background:#25d366;color:#fff;border-color:#25d366;box-shadow:0 8px 20px rgba(37,211,102,.35)}
.dy-btn-wa:hover{background:#1ebe5a;color:#fff}
.dy-slogan{position:absolute;left:50%;bottom:-18px;transform:translateX(-50%);white-space:nowrap;background:linear-gradient(135deg,#e2c14b,#c8a227);color:#0a2249;font-family:var(--serif);font-style:italic;font-weight:700;padding:.55rem 1.3rem;border-radius:999px;box-shadow:0 10px 24px rgba(0,0,0,.25);font-size:.95rem}
.dy-home{padding:5rem 0;background:linear-gradient(120deg,#071937,#0d2b56 60%,#16478c);color:#fff;position:relative;overflow:hidden}
.dy-home::before{content:'';position:absolute;inset:0;background:radial-gradient(600px 300px at 10% 90%,rgba(200,162,39,.25),transparent 70%)}
.dy-home-in{position:relative;display:grid;gap:3rem;align-items:center}
@media(min-width:980px){.dy-home-in{grid-template-columns:.85fr 1.15fr}}
.dy-home-visual{position:relative;max-width:440px;margin:0 auto;width:100%}
.dy-home-visual img,.dy-hero-visual img{width:100%;aspect-ratio:1/1.05;object-fit:cover;object-position:top;border-radius:26px;border:4px solid var(--gold);box-shadow:0 24px 60px rgba(0,0,0,.4)}
.dy-home-txt h2{font-size:clamp(1.5rem,3vw,2.2rem);color:#fff;line-height:1.25;margin:.2rem 0 1rem}
.dy-home-list{list-style:none;padding:0;margin:0 0 1.8rem;display:grid;gap:.55rem}
@media(min-width:700px){.dy-home-list{grid-template-columns:1fr 1fr}}
.dy-home-list li{display:flex;gap:.55rem;align-items:flex-start;color:#dbe5f3;font-size:.93rem;line-height:1.4}
.dy-home-list .ic{color:var(--gold);margin-top:2px}
/* page Dynace */
.dy-hero{padding:4.5rem 0 5.5rem;background:radial-gradient(700px 400px at 90% 10%,rgba(37,99,235,.35),transparent 70%),linear-gradient(130deg,#071937,#0d2b56 55%,#123a72);color:#fff;position:relative;overflow:hidden}
.dy-hero-in{display:grid;gap:3rem;align-items:center}
@media(min-width:980px){.dy-hero-in{grid-template-columns:1.15fr .85fr}}
.dy-hero h1{color:#fff;font-size:clamp(1.8rem,4vw,2.9rem);line-height:1.15;margin:1rem 0 1.2rem}
.dy-hero-visual{position:relative;max-width:460px;margin:0 auto;width:100%}
.dy-missions-wrap{padding:0;margin-top:-2.6rem;position:relative;z-index:2}
.dy-missions{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;background:#fff;border-radius:22px;padding:1.6rem;box-shadow:0 20px 50px rgba(10,34,73,.14);border-bottom:4px solid var(--gold)}
@media(min-width:900px){.dy-missions{grid-template-columns:repeat(5,1fr)}}
.dy-mission{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem}
.dy-mission b{font-size:.8rem;text-transform:uppercase;letter-spacing:.02em;color:var(--brand);line-height:1.3}
.dy-ring{width:74px;height:74px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#f3d77a;background:radial-gradient(circle at 30% 30%,#1d56a8,#0a2249);box-shadow:0 0 0 4px #fff,0 0 0 7px var(--gold),0 10px 22px rgba(10,34,73,.3)}
.dy-band{text-align:center;margin:3rem 0 1.6rem}
.dy-band span{display:inline-block;background:linear-gradient(135deg,#123a72,#0a2249);color:#fff;font-family:var(--font);font-weight:900;text-transform:uppercase;font-size:clamp(1rem,2.4vw,1.45rem);padding:.7rem 2rem;border-radius:999px;box-shadow:0 10px 24px rgba(10,34,73,.25)}
.dy-band em{font-style:normal;color:var(--gold)}
.dy-domaines{display:grid;gap:1.2rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:900px){.dy-domaines{grid-template-columns:repeat(4,1fr)}}
.dy-dom{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(10,34,73,.08);border:1px solid #e6ebf2;transition:.3s}
.dy-dom:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(10,34,73,.15)}
.dy-dom-img img{width:100%;aspect-ratio:16/10;object-fit:cover}
.dy-dom-body{padding:1rem 1.1rem 1.2rem;text-align:center}
.dy-dom-body h4{margin:0 0 .3rem;font-family:var(--font);font-weight:800;text-transform:uppercase;font-size:.92rem;color:var(--brand)}
.dy-dom-body p{margin:0;font-size:.84rem;color:var(--muted)}
.dy-atouts{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:900px){.dy-atouts{grid-template-columns:repeat(5,1fr)}}
.dy-atout{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem;padding:1.3rem 1rem;border-radius:18px;background:#f7f9fc;border:1px solid #e6ebf2;color:var(--brand)}
.dy-atout span{color:var(--ink);font-size:.92rem;line-height:1.35}
.dy-publics{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:640px){.dy-publics{grid-template-columns:1fr 1fr}}
@media(min-width:1050px){.dy-publics{grid-template-columns:repeat(4,1fr)}}
.dy-public{display:flex;gap:.9rem;align-items:flex-start;background:#fff;border-radius:18px;padding:1.2rem;border:1px solid #e6ebf2;box-shadow:0 6px 18px rgba(10,34,73,.06)}
.dy-public>span{flex:0 0 54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#e7f0fb;color:var(--brand)}
.dy-public b{display:block;color:var(--brand);font-size:1rem}
.dy-public p{margin:.2rem 0 0;font-size:.85rem;color:var(--muted)}
.dy-contact{background:linear-gradient(130deg,#071937,#123a72);color:#fff;padding:4.5rem 0}
.dy-contact-in{display:grid;gap:2.5rem;align-items:center}
@media(min-width:900px){.dy-contact-in{grid-template-columns:1.3fr .7fr}}
.dy-contact h2{color:#fff;font-size:clamp(1.6rem,3vw,2.3rem);margin:.8rem 0}
.dy-contact p{color:#c9d6ea;max-width:600px}
.dy-coords{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;gap:.55rem}
.dy-coords li{display:flex;align-items:center;gap:.6rem;color:#dbe5f3}
.dy-coords .ic{color:var(--gold)}
.dy-coords a{color:#fff;font-weight:600}
.dy-poster{position:relative;display:block;max-width:300px;margin:0 auto;border-radius:18px;overflow:hidden;border:3px solid var(--gold);box-shadow:0 20px 50px rgba(0,0,0,.4)}
.dy-poster img{width:100%;max-height:520px;object-fit:cover;object-position:top}
.dy-poster span{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);background:rgba(10,34,73,.85);color:#fff;font-size:.8rem;font-weight:700;padding:.4rem .9rem;border-radius:999px;display:inline-flex;gap:.35rem;align-items:center}
.wa-float{position:fixed;right:18px;bottom:88px;z-index:900;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(37,211,102,.5);animation:waPulse 2.4s infinite}
.wa-float svg{width:30px;height:30px}
@keyframes waPulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}

/* ---------- Annuaire (accueil) ---------- */
.home-dir{background:linear-gradient(180deg,#fff,#f5f7fa)}
.hd-grid{display:grid;gap:1.3rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.hd-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1100px){.hd-grid{grid-template-columns:repeat(4,1fr)}}
.hd-card{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border:1px solid #e6ebf2;border-radius:22px;padding:1rem 1rem 1.3rem;box-shadow:0 8px 22px rgba(10,34,73,.06);transition:.3s;color:var(--ink)}
.hd-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(10,34,73,.14);border-color:var(--gold)}
.hd-photo{position:relative;width:100%;aspect-ratio:1/1.08;margin-bottom:.9rem}
.hd-photo img,.hd-ini{width:100%;height:100%;border-radius:16px;object-fit:cover;object-position:top}
.hd-ini{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff;font-family:var(--serif);font-weight:800;font-size:2.6rem}
.hd-flag{position:absolute;right:-8px;bottom:-8px;background:#fff;border-radius:10px;padding:4px 5px;line-height:0;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.hd-flag img{width:34px!important;height:23px;object-fit:cover;border-radius:3px}
.hd-acc{position:absolute;left:8px;top:8px;display:inline-flex;align-items:center;gap:.25rem;background:rgba(255,255,255,.94);color:#7a5f10;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .55rem;border-radius:999px}
.hd-card strong{font-family:var(--serif);font-size:1.05rem;line-height:1.25;color:var(--brand)}
.hd-role{font-size:.82rem;color:#475569;margin-top:.25rem;line-height:1.35}
.hd-loc{font-size:.8rem;color:var(--muted);margin-top:.35rem;display:inline-flex;gap:.25rem;align-items:center}
.hd-loc .ic{color:#16a34a}

/* ---------- Annuaire (page) : photos agrandies ---------- */
.dir-card{flex-direction:column;align-items:center;text-align:center;padding:1.3rem 1.2rem 1.2rem}
.dir-photo{width:100%;max-width:260px;height:auto;aspect-ratio:1/1.1;flex:none}
.dir-info{width:100%}
.dir-badges,.dir-line{justify-content:center}
.dir-foot{justify-content:space-between}
@media(max-width:520px){.dir-photo{width:100%;max-width:300px;height:auto;flex-basis:auto}}

/* ---------- Mobile : affichage plus soigné ---------- */
@media(max-width:820px){
  /* organigramme : grandes photos visibles */
  .ot2{--w:calc(50vw - 26px);--g:12px}
  .ot2 .ot-node{padding:.7rem .6rem .9rem;border-radius:18px}
  .ot2 .ot-photo{width:100%;height:auto;aspect-ratio:1/1.05;margin-bottom:.5rem}
  .ot2 .ot-photo img,.ot2 .ot-ini{border-radius:14px;border:0;box-shadow:0 0 0 3px var(--gold)}
  .ot2 .ot-flag{right:-6px;bottom:-6px;width:34px;height:34px}
  .ot2 .ot-node.ot-top .ot-photo{width:100%;height:auto}
  .ot2 .ot-node.ot-top{width:min(330px,88vw)}
  .ot2 .ot-name{font-size:.95rem}
  .ot2 .ot-role{font-size:.78rem}
  .hov-photo{width:150px;height:150px}
  .hov-av{width:64px;height:64px}
  .home-org,.dy-home{padding:3.6rem 0}
}
@media(max-width:560px){
  .container{padding:0 1rem}
  .section-title{font-size:1.65rem}
  .section-lead{font-size:.95rem}
  .sec-head{flex-direction:column;align-items:flex-start;gap:1rem}
  .hero h1{font-size:1.9rem}
  .hero p.lead{font-size:.98rem}
  .hero-btns .btn{flex:1 1 100%;justify-content:center;padding:.85rem 1.2rem}
  .home-org-stats b{font-size:1.8rem}
  .home-org-txt .btn,.dy-home .btn,.dy-hero .btn,.dy-contact .btn{width:100%;justify-content:center}
  .hd-grid{gap:.8rem}
  .hd-card{padding:.7rem .7rem 1rem;border-radius:18px}
  .hd-card strong{font-size:.95rem}
  .dy-slogan{font-size:.8rem;padding:.45rem 1rem}
  .dy-brand b{font-size:1.2rem}
  .dy-missions{padding:1.2rem;gap:1.1rem .6rem}
  .dy-ring{width:62px;height:62px}
  .wa-float{bottom:80px;right:14px;width:54px;height:54px}
}
@media(max-width:767px){.topbar a.d-none-m,.topbar .sep.d-none-m{display:none}.topbar{font-size:.76rem}}
@media(max-width:560px){.hero-arrows{display:none}.hero-nav{bottom:1.2rem}}
@media(min-width:600px) and (max-width:899px){.stat-grid{grid-template-columns:repeat(3,1fr)}}

/* =========================================================================
   v10 — BOUTIQUE DYNACE GLOBAL
   ========================================================================= */
.shop{padding:3rem 0 4.5rem;background:#f6f8fb}
.shop-intro{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;justify-content:space-between;background:#fff;border-radius:20px;padding:1.3rem 1.5rem;border:1px solid #e6ebf2;margin-bottom:1.4rem}
.shop-intro p{margin:0;max-width:640px;color:#475569}
.shop-trust{display:flex;flex-wrap:wrap;gap:.5rem}
.shop-trust span{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:600;color:#166534;background:#e7f6ec;padding:.35rem .75rem;border-radius:999px}
.shop-filter{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1.6rem}
.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:999px;background:#fff;border:1px solid #dbe2ea;color:var(--brand);font-weight:600;font-size:.86rem;transition:.2s}
.chip b{background:#eef2f7;border-radius:999px;padding:0 .45rem;font-size:.72rem}
.chip.on,.chip:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.chip.on b{background:var(--gold);color:#0a2249}
.shop-search{margin-left:auto;display:flex;align-items:center;gap:.4rem;background:#fff;border:1px solid #dbe2ea;border-radius:999px;padding:0 .9rem;color:var(--muted);min-width:240px}
.shop-search input{border:none;outline:none;padding:.6rem 0;font-family:var(--font);flex:1;min-width:0}
.shop-grid{display:grid;gap:1.3rem;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:820px){.shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1150px){.shop-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pcard{background:#fff;border-radius:20px;overflow:hidden;border:1px solid #e6ebf2;display:flex;flex-direction:column;transition:.3s;box-shadow:0 6px 18px rgba(10,34,73,.05)}
.pcard:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(10,34,73,.14);border-color:var(--gold)}
.pcard-img{position:relative;display:block;aspect-ratio:1/1;background:#fff;overflow:hidden}
.pcard-img img{width:100%;height:100%;object-fit:contain;transition:transform .5s}
.pcard:hover .pcard-img img{transform:scale(1.06)}
.pcard-tag{position:absolute;left:10px;top:10px;background:linear-gradient(135deg,#e2c14b,#c8a227);color:#0a2249;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:.28rem .6rem;border-radius:999px}
.pcard-tag.out{left:auto;right:10px;background:#b91c1c;color:#fff}
.pcard-body{padding:1rem 1.1rem 1.1rem;display:flex;flex-direction:column;flex:1}
.pcard-cat{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gold-dark)}
.pcard h3{font-family:var(--font);font-weight:800;font-size:1.02rem;margin:.25rem 0 .35rem;line-height:1.3}
.pcard h3 a{color:var(--ink)}
.pcard p{font-size:.84rem;color:var(--muted);margin:0 0 .8rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pcard-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}
.pcard-price b{font-size:1.1rem;color:var(--brand);font-weight:800}
.pcard-price s{display:block;font-size:.78rem;color:var(--muted)}
.pcard-add{display:inline-flex;align-items:center;gap:.3rem;border:none;cursor:pointer;background:var(--brand);color:#fff;font-weight:700;font-size:.82rem;padding:.55rem .9rem;border-radius:999px;font-family:var(--font);transition:.2s}
.pcard-add:hover{background:var(--gold);color:#0a2249}
.shop-legal{margin-top:2rem;font-size:.8rem;color:var(--muted);background:#fff;border:1px dashed #d6dee8;border-radius:14px;padding:1rem 1.2rem}
.shop-legal p{margin:.2rem 0;display:flex;gap:.4rem;align-items:flex-start}
.shop-crumbs{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--muted);margin-bottom:1.2rem;flex-wrap:wrap}
.cart-float{position:fixed;right:18px;bottom:22px;z-index:950;display:flex;align-items:center;gap:.5rem;background:var(--brand);color:#fff;padding:.8rem 1.15rem;border-radius:999px;box-shadow:0 12px 30px rgba(10,34,73,.35);font-weight:700}
.cart-float b{background:var(--gold);color:#0a2249;border-radius:999px;min-width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem}
.cart-float.has{animation:cartPop .5s ease}
@keyframes cartPop{0%{transform:scale(.8)}60%{transform:scale(1.08)}100%{transform:scale(1)}}
/* fiche produit */
.pd{display:grid;gap:2.4rem;background:#fff;border-radius:24px;padding:1.6rem;border:1px solid #e6ebf2}
@media(min-width:900px){.pd{grid-template-columns:1fr 1fr;padding:2.2rem}}
.pd-main{border-radius:18px;overflow:hidden;background:#fff;border:1px solid #eef2f7;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.pd-main img{width:100%;height:100%;object-fit:contain}
.pd-thumbs{display:flex;gap:.6rem;margin-top:.8rem}
.pd-thumbs button{width:80px;height:80px;border-radius:12px;overflow:hidden;border:2px solid #e6ebf2;padding:0;background:#fff;cursor:pointer}
.pd-thumbs button.on{border-color:var(--gold)}
.pd-thumbs img{width:100%;height:100%;object-fit:cover}
.pd-info h1{font-size:clamp(1.6rem,3vw,2.2rem);margin:.3rem 0 .5rem;color:var(--ink)}
.pd-accroche{color:#475569;font-size:1.02rem;margin:0 0 1rem}
.pd-price{display:flex;align-items:baseline;gap:.6rem;margin-bottom:1.2rem;flex-wrap:wrap}
.pd-price b{font-size:2rem;color:var(--brand);font-weight:900}
.pd-price s{color:var(--muted)}
.pd-price small{color:var(--muted)}
.pd-buy{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:.8rem}
.qty{display:inline-flex;align-items:center;border:1px solid #dbe2ea;border-radius:999px;overflow:hidden;background:#fff}
.qty button{width:42px;height:46px;border:none;background:#f1f5f9;font-size:1.2rem;cursor:pointer;color:var(--brand)}
.qty input{width:52px;height:46px;border:none;text-align:center;font-weight:700;font-size:1rem;-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.qty.sm button{width:34px;height:38px}.qty.sm input{width:42px;height:38px}
.pd-wa{width:100%;justify-content:center;max-width:420px}
.pd-perks{list-style:none;padding:0;margin:1.2rem 0;display:grid;gap:.45rem;font-size:.88rem;color:#475569}
.pd-perks li{display:flex;gap:.45rem;align-items:flex-start}.pd-perks .ic{color:#16a34a;margin-top:2px}
.pd-tabs details{border-top:1px solid #eef2f7;padding:.85rem 0}
.pd-tabs summary{cursor:pointer;font-weight:700;color:var(--brand)}
.pd-tabs p{margin:.6rem 0 0;color:#475569;font-size:.92rem;line-height:1.65}
.pd-out{background:#fef2f2;color:#991b1b;border-radius:12px;padding:.8rem 1rem;margin-bottom:1rem;display:flex;gap:.4rem;align-items:center}
/* panier */
.cart{display:grid;gap:1.6rem;align-items:start}
@media(min-width:980px){.cart{grid-template-columns:1.35fr 1fr}}
.cart-list{background:#fff;border-radius:20px;border:1px solid #e6ebf2;padding:.6rem 1.1rem}
.cart-row{display:grid;grid-template-columns:70px 1fr auto;gap:.6rem 1rem;align-items:center;padding:.9rem 0;border-bottom:1px solid #eef2f7}
.cart-row img{width:70px;height:70px;object-fit:contain;border-radius:12px;border:1px solid #eef2f7}
.cart-name b{display:block}.cart-name span{font-size:.82rem;color:var(--muted)}
.cart-st{grid-column:2;color:var(--brand)}
.cart-row .qty{grid-column:3;grid-row:1}
.cart-del{grid-column:3;justify-self:end;border:none;background:#fef2f2;color:#b91c1c;width:36px;height:36px;border-radius:10px;cursor:pointer}
@media(min-width:640px){.cart-row{grid-template-columns:70px 1fr auto auto 40px}.cart-st{grid-column:auto}.cart-row .qty{grid-column:auto;grid-row:auto}.cart-del{grid-column:auto}}
.cart-actions{display:flex;justify-content:space-between;gap:.6rem;flex-wrap:wrap;padding:1rem 0 .5rem}
.checkout{background:#fff;border-radius:20px;border:1px solid #e6ebf2;padding:1.4rem;box-shadow:0 12px 30px rgba(10,34,73,.08)}
@media(min-width:980px){.checkout{position:sticky;top:100px}}
.checkout h3{margin:0 0 1rem;color:var(--brand);display:flex;gap:.4rem;align-items:center}
.checkout .f-label{margin-top:.75rem}
.co-sum{background:#f8fafc;border-radius:14px;padding:.8rem 1rem;margin-bottom:.4rem}
.co-sum div{display:flex;justify-content:space-between;padding:.25rem 0;font-size:.92rem}
.co-total{border-top:1px solid #e2e8f0;margin-top:.3rem;padding-top:.5rem!important;font-size:1.1rem!important}
.co-total b{color:var(--brand)}
.co-opts,.co-pay{display:grid;gap:.5rem}
.co-opts{grid-template-columns:1fr 1fr}
.co-opts label,.co-pay label{cursor:pointer}
.co-opts input,.co-pay input{position:absolute;opacity:0}
.co-opts span,.co-pay span{display:flex;align-items:center;gap:.45rem;border:2px solid #e2e8f0;border-radius:12px;padding:.7rem .8rem;font-size:.88rem;font-weight:600;color:#334155;transition:.2s}
.co-opts input:checked+span,.co-pay input:checked+span{border-color:var(--brand);background:#eef4fc;color:var(--brand)}
.co-legal{font-size:.75rem;color:var(--muted);margin:.9rem 0}
/* confirmation */
.order{max-width:1000px;margin:0 auto}
.order-head{display:flex;gap:1rem;align-items:center;background:#fff;border-radius:20px;padding:1.4rem;border:1px solid #e6ebf2;margin-bottom:1.3rem}
.order-ok{flex:0 0 64px;height:64px;border-radius:50%;background:#16a34a;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(22,163,74,.35)}
.order-head h1{font-size:clamp(1.25rem,2.6vw,1.7rem);margin:0 0 .3rem}
.order-head p{margin:0;color:#475569}
.order-grid{display:grid;gap:1.3rem;align-items:start}
@media(min-width:900px){.order-grid{grid-template-columns:1.3fr 1fr}}
.order-pay,.order-sum{background:#fff;border-radius:20px;padding:1.4rem;border:1px solid #e6ebf2}
.order-pay h2{font-size:1.35rem;margin:0 0 .8rem;color:var(--brand)}
.order-pay .btn{margin:.4rem 0}
.order-steps{padding-left:1.2rem;color:#475569;line-height:1.7}
.order-ref{margin:1rem 0;padding:1rem;background:#f8fafc;border-radius:14px}
.order-ref div{display:flex;gap:.5rem;flex-wrap:wrap}.order-ref .f-input{flex:1;min-width:180px}
.order-save{font-size:.8rem;color:var(--muted);display:flex;gap:.3rem;align-items:center}
.os-row{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid #eef2f7;font-size:.92rem}
.os-total{font-size:1.1rem;border-bottom:none}.os-total b{color:var(--brand)}
.os-client{margin-top:.8rem;background:#f8fafc;border-radius:12px;padding:.6rem .9rem;font-size:.86rem;color:#475569}
.os-client p{margin:.25rem 0;display:flex;gap:.4rem;align-items:center}
/* produits sur l'accueil (section Dynace) */
.dy-products{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin:0 0 1.6rem}
.dy-products a{background:#fff;border-radius:14px;padding:.4rem;text-align:center;color:var(--ink);font-size:.72rem;font-weight:700;line-height:1.2;transition:.2s}
.dy-products a:hover{transform:translateY(-4px)}
.dy-products img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:10px;margin-bottom:.3rem}
@media(max-width:560px){
  .shop{padding:2rem 0 4rem}
  .shop-search{margin-left:0;width:100%;min-width:0}
  .shop-grid{gap:.7rem}
  .pcard-body{padding:.75rem .8rem .9rem}
  .pcard h3{font-size:.92rem}
  .pcard p{display:none}
  .pcard-add{width:100%;justify-content:center}
  .pcard-price b{font-size:1rem}
  .cart-float{bottom:16px;right:12px;padding:.7rem 1rem}
  .co-opts{grid-template-columns:1fr}
  .wa-float{bottom:84px}
}
@media(max-width:560px){.shop-filter{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.3rem;scrollbar-width:none}.shop-filter::-webkit-scrollbar{display:none}.chip{flex:0 0 auto}.shop-search{flex:0 0 100%;order:-1}.shop-filter{flex-wrap:wrap}.shop-filter .chip{white-space:nowrap}}

/* =========================================================================
   v11 — Paiement Wave / Orange Money + panier visible mobile/tablette
   ========================================================================= */
.pay-methods{background:#f8fafc;border:1px solid #e6ebf2;border-radius:16px;padding:1rem;margin:0 0 1rem}
.pay-methods-t{margin:0 0 .6rem;font-weight:700;color:var(--brand);text-align:center}
.pay-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.95rem 1rem;margin:.55rem 0;border-radius:12px;color:#fff!important;font-weight:800;font-size:1rem;text-decoration:none;box-shadow:0 8px 18px rgba(0,0,0,.12);transition:transform .2s,filter .2s}
.pay-btn:hover{transform:translateY(-2px);filter:brightness(1.05)}
.pay-btn small{font-weight:600;opacity:.9;font-size:.82rem}
.pay-wave{background:#1e88e5}
.pay-orange{background:#f97316}
.pay-mf{background:var(--brand)}
.pay-logo{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 .3rem;border-radius:8px;background:rgba(255,255,255,.22);font-size:.78rem;font-weight:900}
.pay-dot{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:22px;padding:0 .25rem;border-radius:6px;color:#fff;font-style:normal;font-size:.68rem;font-weight:900}
/* Panier dans l'en-tête (toujours visible, y compris mobile & tablette) */
.nav-cart{position:relative;display:inline-flex;align-items:center;gap:.4rem;margin-left:.6rem;padding:.55rem .85rem;border-radius:999px;background:#eef4fc;color:var(--brand);font-weight:700;font-size:.9rem;flex:0 0 auto;order:2}
.nav-cart:hover{background:var(--brand);color:#fff}
.nav-cart b{position:absolute;top:-6px;right:-6px;background:#e11d48;color:#fff;border:2px solid #fff;border-radius:999px;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem}
@media(max-width:979px){.nav-in{display:flex;align-items:center}.nav-cart{margin-left:auto;margin-right:.6rem}.burger{order:3}}
@media(max-width:560px){.nav-cart span{display:none}.nav-cart{padding:.55rem .65rem}}
/* bouton panier flottant : visible sur mobile/tablette au-dessus des autres boutons */
.cart-float{z-index:1001}
@media(max-width:979px){.cart-float{left:50%;right:auto;transform:translateX(-50%);bottom:16px;padding:.85rem 1.4rem;font-size:1rem}.cart-float.has{animation:none}}

/* =========================================================================
   v12 — Fiabilité tactile mobile : l'animation « Ken Burns » ne déplace plus
   les boutons du diaporama (elle ne s'applique qu'à l'image de fond)
   ========================================================================= */
.hero-slide{animation:none!important;transform:none!important}
.hero-slide::before{content:'';position:absolute;inset:0;background-image:inherit;background-size:cover;background-position:center;z-index:0;animation:kenburns 12s ease-in-out infinite alternate;will-change:transform;pointer-events:none}
.hero-slide::after{z-index:1;pointer-events:none}
.hero-slide .container{z-index:2}
a,button,label,summary,[data-fiche],[data-pwa-install],.gal-item img{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(18,58,114,.15)}
.home-org::after,.dy-home::before,.membre-card-rect::before,.membre-card-rect::after{pointer-events:none}
@media(prefers-reduced-motion:reduce){.hero-slide::before{animation:none}}
/* Panier flottant compact (le panier de l'en-tête reste toujours visible) */
@media(max-width:979px){.cart-float{left:14px;right:auto;transform:none;bottom:16px;padding:.7rem 1rem;font-size:.92rem}.cart-float:not(.has){display:none}}
/* CORRECTIF MENU MOBILE : le voile sombre (z-index 999) passait au-dessus du menu
   (en-tête z-index 900) → les liens du menu ne réagissaient pas au toucher */
@media(max-width:979px){
  body.nav-open .main-nav{z-index:1200}
  .nav-links{z-index:1150}
  .nav-links .drop-menu{z-index:auto}
}
/* Disponibilité (stock) */
.stk{display:inline-flex;align-items:center;gap:.35rem;font-size:.76rem;font-weight:700;font-style:normal;margin:-.3rem 0 .7rem}
.stk-dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 20%,transparent)}
.stk-ok{color:#16a34a}.stk-low{color:#d97706}.stk-out{color:#b91c1c}
.stk-line{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;font-size:.92rem;margin:0 0 1rem;padding:.4rem .8rem;border-radius:999px;background:#f8fafc}
.cart-name .stk{margin:0}
@media(max-width:560px){.pcard .stk{margin:.1rem 0 .5rem;font-size:.7rem}}
/* Notification fin de commande */
.cmd-notif{position:fixed;inset:0;z-index:4000;background:rgba(7,20,45,.6);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:cmdIn .3s ease}
@keyframes cmdIn{from{opacity:0}to{opacity:1}}
.cmd-notif-card{background:#fff;border-radius:24px;max-width:460px;width:100%;padding:1.8rem 1.5rem;text-align:center;display:flex;flex-direction:column;gap:.7rem;box-shadow:0 30px 80px rgba(0,0,0,.35);animation:cmdUp .4s cubic-bezier(.2,.8,.2,1)}
@keyframes cmdUp{from{transform:translateY(30px)}to{transform:none}}
.cmd-notif-card .order-ok{margin:0 auto}
.cmd-notif-card h2{margin:.2rem 0 0;color:var(--brand);font-size:1.5rem}
.cmd-notif-card p{margin:0;color:#475569}
.cmd-notif-send{display:flex;flex-direction:column;gap:.35rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;padding:.9rem 1rem;text-align:left;font-size:.9rem;color:#14532d}
.cmd-notif-send span{display:flex;gap:.4rem;align-items:center}
.cmd-notif-send small{color:#166534}
.cmd-notif-card .btn{justify-content:center}
.cmd-notif-card .order-ok{width:64px;height:64px;flex:0 0 auto}
/* Application « Boutique Dynace » installée : interface boutique épurée */
@media (display-mode: standalone){
  body.is-shop .topbar,body.is-shop .nav-links,body.is-shop .burger,body.is-shop .page-banner .breadcrumb{display:none!important}
  body.is-shop .nav-cart{margin-left:auto}
}
/* Bandeau d'installation de l'application boutique (visible immédiatement) */
.shop-install{display:flex;align-items:center;gap:.9rem;background:linear-gradient(120deg,#071937,#123a72);color:#fff;border-radius:18px;padding:.85rem 1rem;margin-bottom:1.2rem;box-shadow:0 12px 28px rgba(10,34,73,.25)}
.shop-install[hidden]{display:none}
.shop-install img{width:52px;height:52px;border-radius:14px;background:#fff;flex:0 0 52px}
.shop-install div{flex:1;min-width:0}.shop-install b{display:block;font-size:1rem}.shop-install span{display:block;font-size:.8rem;color:#cfdcf0;line-height:1.35}
.shop-install .btn{flex:0 0 auto;padding:.65rem 1.1rem}
/* Partage WhatsApp / Telegram */
.share{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:1rem 0 .2rem;padding:.8rem 1rem;background:#f8fafc;border:1px solid #e6ebf2;border-radius:14px}
.share>span{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;color:var(--brand);font-size:.88rem;margin-right:.2rem}
.share a{display:inline-flex;align-items:center;gap:.4rem;color:#fff;font-weight:700;font-size:.88rem;padding:.55rem 1rem;border-radius:999px;transition:.2s}
.share a:hover,.pcard-share a:hover{transform:translateY(-2px);filter:brightness(1.05)}
.sh-wa{background:#25d366}.sh-tg{background:#229ed9}
.pcard-share{display:flex;align-items:center;gap:.4rem;margin:-.2rem 0 .7rem}
.pcard-share a{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:.2s}
.pcard-share small{font-size:.72rem;color:var(--muted)}
@media(max-width:560px){.share a{flex:1 1 40%;justify-content:center}.share>span{flex:1 1 100%}}
/* =========================================================================
   Mode application (boutique ouverte depuis l'app ADCR : /boutique/?app=1)
   ========================================================================= */
.app-bar{position:sticky;top:0;z-index:950;display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:10px 14px;padding-top:max(10px,env(safe-area-inset-top));background:linear-gradient(110deg,#0a2249,#123a72);color:#fff;box-shadow:0 4px 14px rgba(10,34,73,.25)}
.app-bar a{color:#fff;text-decoration:none;font-weight:800}
.app-bar__titre{display:inline-flex;align-items:center;gap:.55rem;font-size:1.05rem}
.app-bar__titre img{width:32px;height:32px;border-radius:9px;background:#fff}
.app-bar__panier{display:inline-flex;align-items:center;gap:.35rem;background:#FBBF24;color:#123a72!important;padding:7px 13px;border-radius:10px;font-size:.92rem}
.app-bar__panier b{background:#123a72;color:#fff;border-radius:999px;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem}
body.app-mode .cart-float,body.app-mode .wa-float{display:none!important}
body.app-mode .shop{padding-top:1.2rem}
/* =========================================================================
   Boutique — affichage mobile épuré (catalogue en premier)
   ========================================================================= */
.shop-count{margin:-.4rem 0 1rem;font-size:.88rem;color:var(--muted)}
.shop-count b{color:var(--brand)}
.shop-count a{color:var(--brand);font-weight:700}
@media(max-width:820px){
  .shop{padding:1rem 0 4.5rem}
  .shop-trust,.shop-filter .chip{display:none!important}
  .shop-intro{padding:.85rem 1rem;margin-bottom:.8rem;border-radius:16px}
  .shop-intro p{font-size:.88rem;line-height:1.5;color:#475569}
  .shop-filter{margin-bottom:.9rem}
  .shop-search{flex:1 1 100%;margin:0;min-width:0;padding:.15rem 1rem;border-radius:14px;box-shadow:0 4px 14px rgba(10,34,73,.06)}
  .shop-search input{font-size:1rem;padding:.75rem 0}
  .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
  .pcard{border-radius:18px}
  .pcard-img{aspect-ratio:1/1;padding:.4rem}
  .pcard-tag{font-size:.6rem;padding:.22rem .5rem;left:8px;top:8px}
  .pcard-body{padding:.7rem .75rem .85rem}
  .pcard-cat{font-size:.62rem}
  .pcard h3{font-size:.93rem;margin:.2rem 0 .3rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .pcard p{display:none}
  .pcard .stk{margin:.05rem 0 .45rem;font-size:.7rem}
  .pcard-share{margin:0 0 .55rem}
  .pcard-share small{display:none}
  .pcard-share a{width:28px;height:28px}
  .pcard-foot{flex-direction:column;align-items:stretch;gap:.45rem}
  .pcard-price b{font-size:1.05rem}
  .pcard-add{width:100%;justify-content:center;padding:.62rem .8rem;font-size:.86rem}
}
/* Mode application : intro encore plus compacte */
body.app-mode .shop-intro{display:none}
