/* ==========================================================================
   IHRO West Africa - Page "Groupe WhatsApp officiel" (whatsapp-groupe.php)
   Feuille de style dediee : la page reste bilingue (FR/EN) comme le reste du
   site, seuls les textes changent via includes/language.php.
   ========================================================================== */

/* ------------------------------------------------------ Couleur WhatsApp */
:root {
    --wg-green: #25d366;
    --wg-green-dark: #075e54;
    --wg-green-light: #128c7e;
}

/* -------------------------------------------------------------- Hero */
.wg-hero {
    background:
        radial-gradient(circle at 15% 20%, rgba(37, 211, 102, .16) 0%, transparent 45%),
        radial-gradient(circle at 85% 10%, rgba(247, 147, 30, .14) 0%, transparent 45%),
        linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);
    padding: 70px 20px 90px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Motif discret, evoque l'interface WhatsApp */
.wg-hero::after {
    content: '\f1e4';
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Pro", "Font Awesome 5 Free", sans-serif;
    font-weight: 900;
    position: absolute;
    right: -40px;
    bottom: -70px;
    font-size: 320px;
    line-height: 1;
    color: rgba(255, 255, 255, .035);
    pointer-events: none;
}

.wg-hero > * {
    position: relative;
    z-index: 1;
}

.wg-hero__inner {
    max-width: 860px;
    margin: 0 auto;
}

.wg-hero h1 {
    color: #fff;
    font-size: 2.4rem;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 16px;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .2);
}

.wg-hero__lead {
    color: rgba(255, 255, 255, .92);
    font-size: 1.1rem;
    line-height: 1.7;
    max-width: 720px;
    margin: 0 auto 28px;
}

/* Badge "officiel" */
.wg-badge {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background: rgba(37, 211, 102, .18);
    border: 1px solid rgba(37, 211, 102, .5);
    color: #d7ffe9;
    font-weight: 600;
    font-size: .95rem;
    padding: .45rem 1.1rem;
    border-radius: 999px;
    margin-bottom: 22px;
}

/* Bouton WhatsApp principal */
.wg-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    background: linear-gradient(135deg, var(--wg-green) 0%, var(--wg-green-light) 100%);
    color: #fff;
    font-weight: 700;
    font-size: 1.05rem;
    padding: .95rem 2.1rem;
    border-radius: 999px;
    border: 0;
    text-decoration: none;
    box-shadow: 0 10px 28px rgba(37, 211, 102, .38);
    transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}

.wg-btn:hover,
.wg-btn:focus-visible {
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 16px 36px rgba(37, 211, 102, .5);
    filter: brightness(1.05);
}

.wg-btn--lg {
    font-size: 1.15rem;
    padding: 1.1rem 2.6rem;
}

.wg-btn--outline {
    background: transparent;
    border: 2px solid rgba(255, 255, 255, .55);
    box-shadow: none;
}

.wg-btn--outline:hover,
.wg-btn--outline:focus-visible {
    background: rgba(255, 255, 255, .12);
    border-color: #fff;
    box-shadow: none;
}

/* Bouton secondaire (lien interne) */
.wg-btn--ghost {
    background: var(--primary-color);
    box-shadow: 0 10px 28px rgba(26, 54, 93, .25);
}

.wg-btn--ghost:hover,
.wg-btn--ghost:focus-visible {
    background: var(--primary-light);
    box-shadow: 0 16px 36px rgba(26, 54, 93, .35);
}

/* Pulsation douce pour attracter l'oeil sur l'appel a l'action */
.wg-btn--pulse {
    animation: wgPulse 2.6s ease-in-out infinite;
}
/* ------------------------------------------------- Bloc "image reservee" */
.wg-media {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 22px 55px rgba(15, 42, 68, .28);
    border: 5px solid #fff;
}

.wg-media img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

/* Emplacement reserve : s'affiche tant que l'image n'est pas deposee
   dans /uploads (voir $waGroupImageName en haut de whatsapp-groupe.php). */
.wg-media__placeholder {
    aspect-ratio: 16 / 9;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    text-align: center;
    padding: 1.5rem;
    background: linear-gradient(135deg, var(--light-color) 0%, var(--soft-gray) 100%);
    color: var(--secondary-color);
}

/* Si l'image existe sur le disque mais ne se charge pas (onerror),
   on conserve une hauteur correcte au lieu d'un trou blanc. */
.wg-media--broken {
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, var(--light-color) 0%, var(--soft-gray) 100%);
}

.wg-media__placeholder i {
    font-size: 3rem;
    color: var(--wg-green);
}

.wg-media__placeholder strong {
    color: var(--primary-color);
    font-weight: 700;
}

.wg-media__placeholder span {
    font-size: .88rem;
    line-height: 1.5;
    max-width: 34ch;
}

/* --------------------------------------------------------- Sections */
.wg-section {
    padding: 60px 0;
}

.wg-section--alt {
    background: var(--light-color);
}

.wg-eyebrow {
    display: inline-block;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: var(--accent-dark);
    margin-bottom: .6rem;
}

.wg-title {
    color: var(--primary-color);
    font-weight: 800;
    font-size: 1.9rem;
    line-height: 1.3;
    margin-bottom: 1rem;
}

.wg-subtitle {
    color: var(--secondary-color);
    font-size: 1.06rem;
    max-width: 760px;
    margin: 0 auto;
}

.wg-divider {
    width: 70px;
    height: 4px;
    border-radius: 3px;
    margin: 18px auto 0;
    background: linear-gradient(90deg, var(--wg-green), var(--accent-color));
}

/* ------------------------------------------------- Cartes des 3 axes */
.wg-pillar {
    height: 100%;
    border: none;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 6px 24px rgba(15, 42, 68, .08);
    overflow: hidden;
    transition: transform .3s ease, box-shadow .3s ease;
    display: flex;
    flex-direction: column;
}

.wg-pillar:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 44px rgba(15, 42, 68, .16);
}

.wg-pillar__top {
    padding: 26px 26px 18px;
    color: #fff;
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-light) 100%);
}

.wg-pillar--2 .wg-pillar__top {
    background: linear-gradient(135deg, var(--wg-green-dark) 0%, var(--wg-green-light) 100%);
}

.wg-pillar--3 .wg-pillar__top {
    background: linear-gradient(135deg, var(--accent-dark) 0%, var(--accent-color) 100%);
}

.wg-pillar__num {
    font-size: 2.2rem;
    line-height: 1;
    margin-bottom: 8px;
    display: block;
}

.wg-pillar__title {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0;
    line-height: 1.35;
}

.wg-pillar__body {
    padding: 24px 26px 28px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.wg-pillar__intro {
    color: var(--secondary-color);
    line-height: 1.75;
    margin-bottom: 1rem;
}
/* ------------------------------------------------- Statistiques / chiffres */
.wg-stat {
    text-align: center;
    padding: 26px 18px;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 6px 22px rgba(15, 42, 68, .08);
    height: 100%;
}

.wg-stat__icon {
    font-size: 2rem;
    color: var(--wg-green);
    margin-bottom: .6rem;
    display: block;
}

.wg-stat__value {
    font-size: 1.9rem;
    font-weight: 800;
    color: var(--primary-color);
    line-height: 1.1;
}

.wg-stat__label {
    color: var(--secondary-color);
    font-size: .93rem;
    margin-top: .35rem;
}

/* --------------------------------------------- Partenaires (liste en grille) */
.wg-partners {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px;
}

.wg-partners li {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    background: #fff;
    border-radius: 12px;
    padding: 14px 16px;
    box-shadow: 0 4px 16px rgba(15, 42, 68, .07);
    color: var(--secondary-color);
    line-height: 1.55;
    font-size: .96rem;
}

.wg-partners i {
    color: var(--wg-green);
    margin-top: 3px;
    flex-shrink: 0;
}

/* ------------------------------------- Convergence / mots-cles Cooperation */
.wg-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 26px 0 0;
    padding: 0;
    list-style: none;
}

.wg-tags li {
    background: #fff;
    border: 1px solid rgba(37, 211, 102, .45);
    color: var(--wg-green-dark);
    font-weight: 600;
    font-size: .93rem;
    padding: .5rem 1.1rem;
    border-radius: 999px;
    box-shadow: 0 3px 12px rgba(15, 42, 68, .06);
}

/* ------------------------------------------------- Encadre "partenariat" */
.wg-panel {
    background: #fff;
    border-radius: 20px;
    padding: 34px;
    box-shadow: 0 10px 34px rgba(15, 42, 68, .1);
    border-left: 6px solid var(--wg-green);
}

.wg-panel h3 {
    color: var(--primary-color);
    font-weight: 800;
}

/* ---------------------------------------------- Bloc Nations Unies / ECOSOC */
.wg-un {
    display: flex;
    align-items: center;
    gap: 1.1rem;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 16px;
    padding: 22px 26px;
    color: #fff;
}

.wg-un i {
    font-size: 2.4rem;
/* ------------------------------------------------- Bouton WhatsApp flottant */
.wg-float {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 1040;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    background: linear-gradient(135deg, var(--wg-green) 0%, var(--wg-green-light) 100%);
    color: #fff;
    font-weight: 700;
    padding: .85rem 1.3rem;
    border-radius: 999px;
    box-shadow: 0 12px 30px rgba(37, 211, 102, .45);
    text-decoration: none;
    transition: transform .25s ease, box-shadow .25s ease;
}

.wg-float:hover,
.wg-float:focus-visible {
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 16px 38px rgba(37, 211, 102, .6);
}

.wg-float i {
    font-size: 1.35rem;
}

.wg-float__label {
    font-size: .95rem;
    line-height: 1.2;
}

/* -------------------------------------------------- Mode sombre */
[data-theme="dark"] .wg-section--alt {
    background: #10161e;
}

[data-theme="dark"] .wg-pillar,
[data-theme="dark"] .wg-stat,
[data-theme="dark"] .wg-panel,
[data-theme="dark"] .wg-partners li,
[data-theme="dark"] .wg-tags li {
    background: #1a2430;
    color: var(--text-color);
    box-shadow: none;
}

[data-theme="dark"] .wg-pillar__body,
[data-theme="dark"] .wg-stat__label,
[data-theme="dark"] .wg-partners li,
[data-theme="dark"] .wg-panel h3,
[data-theme="dark"] .wg-signature strong {
    color: var(--text-color);
}

[data-theme="dark"] .wg-pillar__intro,
[data-theme="dark"] .wg-pillar__foot,
[data-theme="dark"] .wg-list li,
[data-theme="dark"] .wg-signature span {
    color: var(--text-muted);
}

[data-theme="dark"] .wg-list-label {
    color: var(--wg-green);
}

[data-theme="dark"] .wg-media {
    background: #1a2430;
    border-color: #2d3748;
}

[data-theme="dark"] .wg-media__placeholder {
    background: linear-gradient(135deg, #1a2430 0%, #121820 100%);
    color: var(--text-muted);
}

[data-theme="dark"] .wg-media__placeholder strong {
    color: var(--text-color);
}

[data-theme="dark"] .wg-tags li {
    border-color: rgba(37, 211, 102, .5);
}

/* ---------------------------------------------------------- Responsive */
@media (max-width: 991.98px) {
    .wg-hero {
        padding: 56px 20px 70px;
    }

    .wg-hero h1 {
        font-size: 1.85rem;
    }

    .wg-title,
    .wg-cta h2 {
        font-size: 1.55rem;
    }

    .wg-section {
        padding: 46px 0;
    }

    .wg-panel {
        padding: 26px 22px;
    }

    .wg-float {
        right: 14px;
        bottom: 14px;
        padding: .8rem 1rem;
    }

    .wg-float__label {
        display: none;
    }

    .wg-float i {
        font-size: 1.6rem;
    }
}

@media (max-width: 575.98px) {
    .wg-hero__lead {
        font-size: 1rem;
    }

    .wg-btn {
        width: 100%;
    }

    .wg-un {
        flex-direction: column;
        text-align: center;
        gap: .6rem;
    }
}

/* Accessibilite : focus visible sur fond sombre */
.wg-hero a:focus-visible,
.wg-cta a:focus-visible,
.wg-un a:focus-visible {
    outline: 3px solid var(--wg-green);
    outline-offset: 3px;
}
    color: var(--wg-green);
    flex-shrink: 0;
}

.wg-un h3 {
    color: #fff;
    font-weight: 700;
    font-size: 1.15rem;
    margin-bottom: .3rem;
}

.wg-un p {
    margin: 0;
    color: rgba(255, 255, 255, .88);
    line-height: 1.7;
}

/* ------------------------------------------------- Appel a l'action final */
.wg-cta {
    background:
        radial-gradient(circle at 20% 0%, rgba(37, 211, 102, .18) 0%, transparent 50%),
        linear-gradient(135deg, var(--wg-green-dark) 0%, var(--primary-dark) 100%);
    padding: 70px 20px;
    text-align: center;
    color: #fff;
}

.wg-cta h2 {
    color: #fff;
    font-weight: 800;
    font-size: 1.9rem;
    margin-bottom: 1rem;
}

.wg-cta p {
    color: rgba(255, 255, 255, .9);
    max-width: 720px;
    margin: 0 auto 28px;
    line-height: 1.75;
    font-size: 1.05rem;
}

/* Signature de l'organisation en bas d'article */
.wg-signature {
    border-top: 3px solid var(--wg-green);
    margin-top: 34px;
    padding-top: 20px;
    text-align: center;
}

.wg-signature strong {
    display: block;
    color: var(--primary-color);
    font-weight: 800;
    font-size: 1.08rem;
    margin-bottom: .5rem;
}

.wg-signature span {
    display: block;
    color: var(--secondary-color);
    font-size: .93rem;
    line-height: 1.8;
}

.wg-list-label {
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: .6rem;
    font-size: .98rem;
}

.wg-list {
    list-style: none;
    padding: 0;
    margin: 0 0 1.1rem;
}

.wg-list li {
    position: relative;
    padding-left: 1.75rem;
    margin-bottom: .5rem;
    color: var(--secondary-color);
    line-height: 1.65;
    font-size: .96rem;
}

.wg-list li::before {
    content: '\f058';
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Pro", "Font Awesome 5 Free", sans-serif;
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 0;
    color: var(--wg-green);
    font-size: .82rem;
}

.wg-pillar__foot {
    margin-top: auto;
    padding-top: .5rem;
    border-top: 1px dashed #e2e8f0;
    font-size: .93rem;
    color: var(--secondary-color);
    line-height: 1.7;
    font-style: italic;
}

@keyframes wgPulse {
    0%, 100% { box-shadow: 0 10px 28px rgba(37, 211, 102, .38); }
    50% { box-shadow: 0 10px 40px rgba(37, 211, 102, .72); }
}

@media (prefers-reduced-motion: reduce) {
    .wg-btn--pulse { animation: none; }
}

/* Numero affiche sous le bouton */
.wg-number {
    margin-top: 18px;
    color: rgba(255, 255, 255, .85);
    font-size: .98rem;
}

.wg-number strong {
    color: #fff;
    letter-spacing: .5px;
}