/* Fondation Gisaro Muhoza — brand layer over the CERC design (site.css, blocks.css).
   Colours from the foundation's logo: navy #023376, sky blue, leaf green. */
:root {
  --c-primary: #2a8fd6; --c-primary-dk: #1b72b3;
  --c-red: #1b6fb8; --c-red-dk: #0f5594;
  --c-blue: #2a8fd6; --c-blue-dk: #1b72b3;
  --c-green: #4c9f38; --c-green-dk: #3b8229;
  --c-navy: #023376; --c-navy-dk: #01224f;
  --bg-mid: #eaf2f9;
  --wp--preset--gradient--pale-ocean: linear-gradient(135deg, rgb(255, 245, 203) 0%, rgb(182, 227, 212) 50%, rgb(51, 167, 181) 100%);
}
.has-pale-ocean-gradient-background { background: var(--wp--preset--gradient--pale-ocean); }

/* logo: the full foundation logo in the header */
.logo img.logo--full { width: auto; height: 72px; }
@media (max-width: 991.98px) { .logo img.logo--full { height: 56px; } }

/* home hero: a photo of the latest action, under a light veil */
.fgm-hero .hero__bg::after { background: radial-gradient(ellipse at center, rgba(255,255,255,.94) 0, rgba(255,255,255,.86) 40%, rgba(255,255,255,.35) 78%); }
.fgm-hero h1 { color: var(--c-navy); }

/* photos in heroes and splits (the CERC design shows illustrations there) */
.fgm-photo { margin: 0; }
.fgm-photo img { display: block; width: 100%; height: auto; max-height: 26rem; object-fit: cover; border-radius: 12px; box-shadow: var(--shadow-card); }
.fgm-card--photo .card-illus { margin: 0; padding: 0; background: none; }
.fgm-card--photo .card-illus img { display: block; width: 100%; height: 12rem; object-fit: cover; }

/* pages whose text is not written yet */
.fgm-soon { padding: 1.5rem 1.75rem; border-left: 4px solid var(--c-primary); background: var(--bg-light); border-radius: 4px; }
.fgm-soon p:last-child { margin-bottom: 0; }
.fgm-kids__h { margin-top: 3rem; }

/* home: zones as badges with a pin */
.fgm-zones { display: flex; flex-wrap: wrap; gap: .6rem; }
.fgm-zones .badge { display: inline-flex; align-items: center; gap: .35rem; }

/* site map page */
.fgm-sitemap h2 { font-size: var(--fs-h4); }

/* YouTube players: full width, 16:9 */
.entry iframe[src*="youtube"] { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; }

/* videos of the impact page */
.fgm-videos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); gap: 1.5rem; }
.fgm-video { background: #fff; box-shadow: var(--shadow-card); border-radius: 8px; overflow: hidden; }
.fgm-video__frame iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; }
.fgm-video h3 { font-size: var(--fs-h5); margin: 0; padding: 1rem 1.25rem 1.25rem; }

/* strategy: priorities as numbered cards, three per row */
.fgm-steps { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr)); gap: 1.5rem; }
.fgm-steps .toc-step-card p { font-size: var(--fs-small); }

/* take action: larger social buttons */
.fgm-social-lg { display: flex; gap: .75rem; }
.fgm-social-lg a { width: 3rem; height: 3rem; }
.fgm-social-lg svg { width: 22px; height: 22px; }

/* vision tiles that are links */
a.vm-tile { color: inherit; text-decoration: none; }
a.vm-tile:hover h3 { text-decoration: underline; }

/* home hero: the programme buttons take the width of their name */
.hero__apps .app-btns { display: flex; flex-wrap: wrap; gap: .5rem; max-width: 40rem; }
.hero__apps .btn-app { width: auto; flex: 0 0 auto; }
@media (max-width: 991.98px) { .hero__apps .app-btns { justify-content: center; margin: 0 auto; } }

/* five priority areas: three then two per row */
.home-approach .st-prins { grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); }
