/* New Generation Burundi — améliorations v2 (chargé après style.css) */
::selection{background:var(--gold);color:#221a05}
:focus-visible{outline:3px solid var(--green);outline-offset:2px;border-radius:6px}

/* barre de progression */
#progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--gold),var(--cream));z-index:998;transition:width .1s linear}

/* bouton retour en haut */
.to-top{position:fixed;right:22px;bottom:22px;width:46px;height:46px;border-radius:50%;background:var(--navy);color:var(--cream);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-s);opacity:0;transform:translateY(12px);pointer-events:none;transition:.3s;z-index:950;border:0;cursor:pointer}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:var(--green);color:#f8f8c8}
.to-top svg{width:20px;height:20px}

/* orbres animés du hero */
.hero-orbs{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-orbs i{position:absolute;border-radius:50%;filter:blur(60px);opacity:.45;z-index:1;animation:orbfloat 10s ease-in-out infinite}
.hero-orbs i:nth-child(1){width:340px;height:340px;background:rgba(152,200,160,.35);top:-70px;right:8%}
.hero-orbs i:nth-child(2){width:260px;height:260px;background:rgba(63,125,84,.4);bottom:-50px;left:5%;animation-delay:-3.5s}
.hero-orbs i:nth-child(3){width:190px;height:190px;background:rgba(226,195,126,.28);top:42%;left:46%;animation-delay:-7s}
@keyframes orbfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-26px)}}

/* bandeau défilant */
.marquee{background:linear-gradient(120deg,var(--green),var(--navy2));color:#f8f8c8;overflow:hidden;padding:14px 0;position:relative;z-index:3}
.marquee .track{display:flex;gap:36px;white-space:nowrap;width:max-content;animation:mq 30s linear infinite}
.marquee span{font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;color:#f8f8c8}
.marquee i{font-style:normal;opacity:.5}
@keyframes mq{to{transform:translateX(-50%)}}

/* slider de citations */
.qdots{display:flex;gap:8px;justify-content:center;margin-top:10px}
.qdots i{width:8px;height:8px;border-radius:50%;background:rgba(14,109,44,.18);cursor:pointer;transition:.25s;border:0;padding:0}
.qdots i.on{background:var(--green);transform:scale(1.3)}
.quote{transition:opacity .35s ease,transform .35s ease}
.quote.slide-out{opacity:0;transform:translateY(10px)}

/* galerie */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.gal figure{position:relative;margin:0;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-s);cursor:zoom-in}
.gal img{aspect-ratio:1/1;object-fit:cover;width:100%;transition:transform .5s}
.gal figure:hover img{transform:scale(1.07)}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;font-size:.76rem;font-weight:800;color:#fff;background:linear-gradient(transparent,rgba(8,61,28,.82));letter-spacing:.02em}
@media(max-width:760px){.gal{grid-template-columns:repeat(2,1fr)}}

/* lightbox */
#lb{position:fixed;inset:0;background:rgba(4,14,36,.94);display:none;align-items:center;justify-content:center;z-index:1000;flex-direction:column;gap:14px;padding:60px 30px 30px}
#lb.open{display:flex}
#lb img{max-width:min(900px,92vw);max-height:76vh;border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
#lb .cap{color:rgba(255,255,255,.85);font-size:.9rem}
#lb button{position:fixed;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#fff;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}
#lb .x{top:22px;right:22px}
#lb .prev{left:18px;top:50%;margin-top:-23px}
#lb .next{right:18px;top:50%;margin-top:-23px}
#lb button:hover{background:var(--green);color:#f8f8c8;border-color:var(--green)}
#lb svg{width:20px;height:20px}