/* ==========================================================================
   OG School & Foundation — Feuille de style principale
   Mobile-first. Les couleurs/polices viennent des variables injectées par le
   thème (inc/dynamic-css.php). Valeurs de repli ci-dessous.
   ========================================================================== */

:root{
	--og-color-primary:#5B2A86;
	--og-color-primary-dark:#3D1A5B;
	--og-color-accent:#F2B705;
	--og-color-accent-dark:#D89B00;
	--og-color-ink:#1F1A24;
	--og-color-surface:#F7F4FB;
	--og-font-display:Georgia,"Times New Roman",serif;
	--og-font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

	--og-maxw:1200px;
	--og-gap:clamp(1rem,4vw,2.5rem);
	--og-radius:14px;
	--og-shadow:0 10px 30px rgba(61,26,91,.12);
	--og-header-h:76px;
}

/* --- Reset léger -------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
	margin:0;
	font-family:var(--og-font-body);
	color:var(--og-color-ink);
	background:#fff;
	line-height:1.65;
	font-size:1.0625rem;
	-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--og-color-primary);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--og-font-display);line-height:1.18;font-weight:600;color:var(--og-color-primary-dark);margin:0 0 .5em}
h1{font-size:clamp(2rem,5vw,3.1rem)}
h2{font-size:clamp(1.5rem,3.5vw,2.2rem)}
p{margin:0 0 1rem}

.og-container{width:100%;max-width:var(--og-maxw);margin-inline:auto;padding-inline:clamp(1rem,5vw,2rem)}
.og-section{padding-block:clamp(2.5rem,7vw,5rem)}
.og-section--surface{background:var(--og-color-surface)}
.og-section--primary{background:var(--og-color-primary);color:#fff}
.og-section--primary h2{color:#fff}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.og-skip-link{position:absolute;left:-999px;top:0;background:#fff;padding:.6rem 1rem;z-index:1000}
.og-skip-link:focus{left:1rem;top:1rem}

.og-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:600;color:var(--og-color-accent-dark);margin:0 0 .6rem}

/* --- Boutons ------------------------------------------------------------ */
.og-btn{
	display:inline-block;padding:.85rem 1.6rem;border-radius:999px;font-weight:600;
	font-family:var(--og-font-body);font-size:1rem;line-height:1;text-align:center;
	transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.og-btn:hover{text-decoration:none;transform:translateY(-2px)}
.og-btn--primary{background:var(--og-color-primary);color:#fff}
.og-btn--primary:hover{background:var(--og-color-primary-dark)}
.og-btn--accent{background:var(--og-color-accent);color:var(--og-color-primary-dark)}
.og-btn--accent:hover{background:var(--og-color-accent-dark);color:#fff}
.og-link{font-weight:600;color:var(--og-color-primary)}

/* --- Barre supérieure --------------------------------------------------- */
.og-topbar{background:var(--og-color-primary-dark);color:#fff;font-size:.85rem}
.og-topbar a{color:#fff}
.og-topbar__inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:38px;flex-wrap:wrap}
.og-topbar__contact a{margin-right:1.2rem}
.og-topbar__social{display:flex;gap:.4rem}
.og-social{display:inline-flex;width:26px;height:26px;border:1px solid rgba(255,255,255,.4);border-radius:50%;align-items:center;justify-content:center;font-size:.7rem;text-transform:uppercase}
.og-social:hover{background:var(--og-color-accent);color:var(--og-color-primary-dark);text-decoration:none;border-color:var(--og-color-accent)}
@media(max-width:600px){.og-topbar__contact a{display:block;margin:.15rem 0}}

/* --- Header ------------------------------------------------------------- */
.og-header{background:#fff;border-bottom:1px solid rgba(91,42,134,.10);transition:box-shadow .2s ease,padding .2s ease}
.og-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--og-header-h)}
.og-logo img{max-height:54px;width:auto;transition:max-height .2s ease}
.og-logo--text{font-family:var(--og-font-display);font-weight:700;font-size:1.25rem;color:var(--og-color-primary-dark)}
.og-logo:hover{text-decoration:none}

/* sticky : injecté via JS (classe is-stuck) */
.og-header[data-sticky="fixed"]{position:sticky;top:0;z-index:900}
.og-header.is-stuck{box-shadow:var(--og-shadow)}
.og-header.is-stuck .og-logo img{max-height:42px}
.og-header.is-stuck .og-header__inner{min-height:62px}

/* navigation */
.og-nav{display:flex;align-items:center;gap:1.4rem}
.og-menu{list-style:none;display:flex;gap:1.3rem;margin:0;padding:0;align-items:center}
.og-menu a{color:var(--og-color-ink);font-weight:500;padding:.4rem 0;position:relative}
.og-menu a:hover{color:var(--og-color-primary);text-decoration:none}
.og-menu .current-menu-item>a{color:var(--og-color-primary)}
.og-menu li{position:relative}
.og-menu .sub-menu{list-style:none;margin:0;padding:.5rem 0;position:absolute;top:100%;left:0;min-width:220px;background:#fff;box-shadow:var(--og-shadow);border-radius:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease;z-index:950}
.og-menu li:hover>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.og-menu .sub-menu a{display:block;padding:.5rem 1.1rem}
.og-menu .sub-menu a:hover{background:var(--og-color-surface)}
.og-header__donate{margin-left:.4rem}

.og-nav-toggle{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.og-nav-toggle__bar,.og-nav-toggle__bar::before,.og-nav-toggle__bar::after{content:"";position:absolute;left:9px;width:26px;height:3px;background:var(--og-color-primary-dark);border-radius:3px;transition:.2s}
.og-nav-toggle__bar{top:21px}
.og-nav-toggle__bar::before{top:-8px}
.og-nav-toggle__bar::after{top:8px}
.og-nav-toggle[aria-expanded="true"] .og-nav-toggle__bar{background:transparent}
.og-nav-toggle[aria-expanded="true"] .og-nav-toggle__bar::before{top:0;transform:rotate(45deg)}
.og-nav-toggle[aria-expanded="true"] .og-nav-toggle__bar::after{top:0;transform:rotate(-45deg)}

@media(max-width:880px){
	.og-nav-toggle{display:block}
	.og-nav{position:fixed;inset:0 0 0 auto;width:min(82vw,340px);background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:5rem 1.5rem 2rem;transform:translateX(100%);transition:transform .25s ease;box-shadow:var(--og-shadow);overflow-y:auto;z-index:980}
	.og-nav.is-open{transform:translateX(0)}
	.og-menu{flex-direction:column;align-items:stretch;gap:0;width:100%}
	.og-menu a{display:block;padding:.85rem 0;border-bottom:1px solid var(--og-color-surface)}
	.og-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:0 0 0 1rem}
	.og-header__donate{margin:1rem 0 0;text-align:center}
	body.og-nav-open{overflow:hidden}
}

/* --- Hero --------------------------------------------------------------- */
.og-hero{position:relative;color:#fff;background:var(--og-color-primary-dark) var(--og-hero-bg) center/cover no-repeat}
.og-hero__overlay{position:absolute;inset:0;background:linear-gradient(120deg,rgba(61,26,91,.92),rgba(91,42,134,.62))}
.og-hero__inner{position:relative;padding-block:clamp(3.5rem,12vw,7rem);max-width:760px}
.og-hero__title{color:#fff;margin-bottom:.4em}
.og-hero__title::after{content:"";display:block;width:64px;height:4px;background:var(--og-color-accent);border-radius:3px;margin-top:.7rem}
.og-hero__text{font-size:1.15rem;opacity:.95;margin-bottom:1.8rem}
.og-hero__cta{display:flex;gap:.8rem;flex-wrap:wrap}

/* --- En-tête de page interne ------------------------------------------- */
.og-pagehead{position:relative;color:#fff;background:var(--og-color-primary-dark) var(--og-hero-bg) center/cover no-repeat}
.og-pagehead__overlay{position:absolute;inset:0;background:linear-gradient(120deg,rgba(61,26,91,.9),rgba(91,42,134,.6))}
.og-pagehead__inner{position:relative;padding-block:clamp(2.5rem,8vw,4.5rem);max-width:760px}
.og-pagehead__title{color:#fff}
.og-pagehead__intro{font-size:1.1rem;opacity:.95}
.og-pagehead--plain{background:var(--og-color-surface);color:var(--og-color-ink)}
.og-pagehead--plain .og-pagehead__title{color:var(--og-color-primary-dark)}
.og-pagehead--plain{padding-block:clamp(2rem,6vw,3.2rem)}

/* --- Double porte ------------------------------------------------------- */
.og-twocol__grid{display:grid;gap:var(--og-gap);grid-template-columns:1fr}
@media(min-width:760px){.og-twocol__grid{grid-template-columns:1fr 1fr}}
.og-card{background:#fff;border-radius:var(--og-radius);overflow:hidden;box-shadow:var(--og-shadow);display:flex;flex-direction:column;transition:transform .18s ease}
.og-card:hover{transform:translateY(-4px)}
.og-card__media{aspect-ratio:16/10;background:var(--og-color-surface) center/cover no-repeat}
.og-card__body{padding:1.6rem}
.og-card--found{border-top:5px solid var(--og-color-primary)}
.og-card--school{border-top:5px solid var(--og-color-accent)}

/* --- Impact ------------------------------------------------------------- */
.og-impact__title{text-align:center;margin-bottom:2rem}
.og-impact__grid{display:grid;gap:var(--og-gap);grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.og-impact__grid{grid-template-columns:repeat(4,1fr)}}
.og-stat{text-align:center}
.og-stat__num{display:block;font-family:var(--og-font-display);font-size:clamp(2.2rem,6vw,3.2rem);font-weight:700;color:var(--og-color-accent)}
.og-stat__lab{display:block;font-size:.95rem;opacity:.92;margin-top:.3rem}

/* --- Mission/Vision & Feature ------------------------------------------ */
.og-mv{display:grid;gap:var(--og-gap);grid-template-columns:1fr}
@media(min-width:760px){.og-mv{grid-template-columns:1fr 1fr}}
.og-mv__item{background:var(--og-color-surface);padding:1.8rem;border-radius:var(--og-radius);border-left:4px solid var(--og-color-accent)}
.og-feature{display:grid;gap:var(--og-gap);grid-template-columns:1fr;align-items:center}
@media(min-width:820px){.og-feature{grid-template-columns:1fr 1fr}}
.og-feature__media img{border-radius:var(--og-radius);box-shadow:var(--og-shadow);width:100%;object-fit:cover}

/* --- Prose / contenu ---------------------------------------------------- */
.og-prose{max-width:780px}
.og-prose img{border-radius:10px;margin:1.5rem 0}
.og-featured-img{border-radius:var(--og-radius);margin-bottom:1.5rem}

/* --- Liste d'articles --------------------------------------------------- */
.og-postlist{display:grid;gap:var(--og-gap);grid-template-columns:1fr}
@media(min-width:640px){.og-postlist{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.og-postlist{grid-template-columns:repeat(3,1fr)}}
.og-postcard{background:#fff;border-radius:var(--og-radius);overflow:hidden;box-shadow:var(--og-shadow)}
.og-postcard__media img{aspect-ratio:16/10;object-fit:cover;width:100%}
.og-postcard__body{padding:1.3rem}
.og-postcard__title{font-size:1.2rem}
.og-postcard__meta{color:var(--og-color-accent-dark);font-size:.82rem;margin:.2rem 0 .6rem}

/* --- Footer ------------------------------------------------------------- */
.og-footer{background:var(--og-color-primary-dark);color:#e9e2f2;margin-top:0}
.og-footer a{color:#e9e2f2}
.og-footer a:hover{color:var(--og-color-accent);text-decoration:none}
.og-footer__grid{display:grid;gap:var(--og-gap);grid-template-columns:1fr;padding-block:clamp(2.5rem,6vw,4rem)}
@media(min-width:680px){.og-footer__grid{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.og-footer__grid{grid-template-columns:1.6fr 1fr 1fr 1.4fr}}
.og-footer__logo{max-height:60px;margin-bottom:1rem;filter:brightness(0) invert(1)}
.og-footer__brandtext{font-family:var(--og-font-display);font-size:1.3rem;font-weight:700;color:#fff;display:block;margin-bottom:1rem}
.og-footer__text{font-size:.92rem;opacity:.85}
.og-footer__address{font-style:normal;font-size:.9rem;opacity:.85;margin-top:.8rem}
.footer-title{color:#fff;font-size:1.05rem;margin-bottom:1rem}
.og-footer__menu{list-style:none;margin:0;padding:0}
.og-footer__menu li{margin-bottom:.55rem}
.og-footer__menu a{font-size:.93rem}
.og-footer__bottom{background:rgba(0,0,0,.22)}
.og-footer__bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding-block:1rem;font-size:.85rem}
.og-footer__credit a{color:var(--og-color-accent);font-weight:600}

/* --- Boutons flottants : retour-haut (dessus) + WhatsApp (dessous) ------ */
.og-floating{position:fixed;right:18px;bottom:18px;z-index:990;display:flex;flex-direction:column;gap:12px;align-items:center}
.og-floating__btn{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:0;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.22);transition:transform .15s ease,opacity .2s ease}
.og-floating__btn:hover{transform:translateY(-3px);text-decoration:none}
.og-whatsapp{background:#25D366;color:#fff}
.og-backtotop{background:var(--og-color-primary);color:#fff}
.og-backtotop[hidden]{display:none}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
