/*
Theme Name: Agir Pour Les Enfants
Theme URI: https://agirpourlesenfants.org
Author: Agir Pour Les Enfants
Description: Thème WordPress personnalisé — entièrement éditable via Apparence > Personnaliser et Apparence > Menus. Compatible Elementor (version gratuite).
Version: 2.0.0
Requires at least: 5.8
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: agir-pour-les-enfants
*/

/* ─── Variables (modifiées dynamiquement par le Customizer) ─── */
:root {
  --ape-primary:   #00658d;
  --ape-gold:      #c69d37;
  --ape-on-gold:   #4a3600;
  --ape-surface:   #fbf9f8;
  --ape-surface-highest: #e4e2e1;
  --ape-on-surface:      #1b1c1c;
  --ape-on-variant:      #3e4850;
  --ape-outline:         #bdc8d1;
  --ape-surface-con:     #f0eded;
  --font-h: 'Montserrat', sans-serif;
  --font-b: 'Open Sans', sans-serif;
  --header-h: 68px;
}

/* ─── Reset ─── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--ape-surface);
  color:var(--ape-on-surface);
  font-family:var(--font-b);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  padding-top:var(--header-h);
}
img{max-width:100%;height:auto;display:block;}

/* ─── IMAGES : anti-flou Elementor ─── */
.elementor img,
.elementor-widget-image img,
.elementor-widget-image-box img,
.elementor-widget-background-image,
.elementor-section > .elementor-background-overlay {
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  transform:translateZ(0);
  image-rendering:auto;
}
.elementor-section{isolation:isolate;}

/* ─── HEADER ─── */
.ape-header{
  position:fixed;top:0;left:0;right:0;z-index:9000;
  background:var(--ape-surface);
  box-shadow:0 2px 12px rgba(0,0,0,.07);
  height:var(--header-h);
  transition:box-shadow .3s;
}
.ape-header.scrolled{box-shadow:0 4px 20px rgba(0,0,0,.12);}
.ape-header-inner{
  max-width:1200px;margin:0 auto;padding:0 24px;
  height:100%;display:flex;align-items:center;
  justify-content:space-between;gap:24px;
}
/* Logo */
.ape-logo,.ape-logo a{
  font-family:var(--font-h);font-size:20px;font-weight:700;
  color:var(--ape-primary)!important;text-decoration:none!important;
  white-space:nowrap;flex-shrink:0;
}
.ape-logo img{height:44px;width:auto;object-fit:contain;}
/* Nav desktop — alimenté par wp_nav_menu() */
.ape-nav-desktop{display:flex;align-items:center;gap:32px;}
.ape-nav-desktop ul{list-style:none;display:flex;gap:32px;margin:0;padding:0;}
.ape-nav-desktop ul li a{
  font-family:var(--font-h);font-size:15px;font-weight:700;
  color:var(--ape-on-variant);text-decoration:none;
  padding-bottom:3px;border-bottom:2px solid transparent;
  transition:color .2s,border-color .2s;display:block;
}
.ape-nav-desktop ul li a:hover,
.ape-nav-desktop ul li.current-menu-item > a,
.ape-nav-desktop ul li.current_page_item > a,
.ape-nav-desktop ul li.current_page_ancestor > a{
  color:var(--ape-primary)!important;
  border-bottom-color:var(--ape-primary);
}
/* Bouton CTA header */
.ape-header-cta{
  font-family:var(--font-h);font-size:15px;font-weight:700;
  background:var(--ape-gold);color:var(--ape-on-gold)!important;
  padding:10px 24px;border-radius:999px;
  text-decoration:none!important;white-space:nowrap;
  transition:filter .2s;flex-shrink:0;
}
.ape-header-cta:hover{filter:brightness(.9);}
/* Hamburger */
.ape-hamburger{
  display:none;background:none;border:none;cursor:pointer;
  color:var(--ape-primary);padding:4px;flex-shrink:0;
}
/* Tiroir mobile */
.ape-mobile-nav{
  display:none;flex-direction:column;
  background:var(--ape-surface);
  border-top:1px solid var(--ape-outline);
  position:fixed;top:var(--header-h);left:0;right:0;
  z-index:8999;box-shadow:0 8px 24px rgba(0,0,0,.1);
}
.ape-mobile-nav.open{display:flex;}
.ape-mobile-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.ape-mobile-nav ul li a{
  font-family:var(--font-h);font-size:16px;font-weight:700;
  color:var(--ape-on-variant);text-decoration:none;
  padding:15px 20px;display:block;
  border-bottom:1px solid var(--ape-surface-highest);
  transition:background .15s;
}
.ape-mobile-nav ul li a:hover{background:var(--ape-surface-highest);}
.ape-mobile-cta-wrap{padding:16px 20px;}
.ape-mobile-cta-wrap a{
  display:block;text-align:center;
  background:var(--ape-gold);color:var(--ape-on-gold)!important;
  font-family:var(--font-h);font-weight:700;font-size:16px;
  padding:13px 24px;border-radius:8px;text-decoration:none!important;
}

/* ─── FOOTER ─── */
.ape-footer{background:var(--ape-surface-highest);padding-top:72px;}
.ape-footer-grid{
  max-width:1200px;margin:0 auto;padding:0 24px 56px;
  display:grid;
  grid-template-columns:2fr 1fr 1.2fr 1.4fr 1.6fr;
  gap:48px;align-items:start;
}
.ape-footer-logo{
  font-family:var(--font-h);font-size:19px;font-weight:700;
  color:var(--ape-primary);margin-bottom:14px;
}
.ape-footer-logo img{height:48px;width:auto;margin-bottom:14px;}
.ape-footer-desc{
  font-family:var(--font-b);font-size:14px;
  color:var(--ape-on-variant);line-height:1.65;margin-bottom:20px;
}
.ape-socials{display:flex;gap:10px;flex-wrap:wrap;}
.ape-socials a{
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;background:var(--ape-surface-con);
  border-radius:8px;color:var(--ape-primary);
  text-decoration:none;transition:background .2s;
}
.ape-socials a:hover{background:var(--ape-outline);}
.ape-col-title{
  font-family:var(--font-h);font-size:13px;font-weight:700;
  color:var(--ape-primary);margin-bottom:14px;
  text-transform:uppercase;letter-spacing:.05em;
}
.ape-footer-col ul{list-style:none;margin:0;padding:0;}
.ape-footer-col ul li{margin-bottom:9px;}
.ape-footer-col ul li a{
  font-family:var(--font-b);font-size:14px;
  color:var(--ape-on-variant);text-decoration:none;transition:color .2s;
}
.ape-footer-col ul li a:hover{color:var(--ape-primary);text-decoration:underline;}
.ape-footer-addr{
  font-style:normal;font-family:var(--font-b);font-size:14px;
  color:var(--ape-on-variant);line-height:1.65;margin-bottom:10px;
}
.ape-footer-email{
  font-family:var(--font-b);font-size:14px;
  color:var(--ape-primary);text-decoration:none;
  word-break:break-all;
}
.ape-cta-box{
  background:var(--ape-surface-con);padding:24px;border-radius:14px;
}
.ape-cta-box h4{
  font-family:var(--font-h);font-size:16px;font-weight:700;
  color:var(--ape-on-surface);margin-bottom:8px;
}
.ape-cta-box p{
  font-family:var(--font-b);font-size:13px;
  color:var(--ape-on-variant);margin-bottom:14px;
}
.ape-cta-box a{
  display:inline-block;background:var(--ape-gold);
  color:var(--ape-on-gold)!important;
  font-family:var(--font-h);font-weight:700;font-size:14px;
  padding:11px 22px;border-radius:8px;
  text-decoration:none!important;transition:filter .2s;
}
.ape-cta-box a:hover{filter:brightness(.92);}
/* Copyright bar */
.ape-footer-bottom{
  max-width:1200px;margin:0 auto;padding:20px 24px 28px;
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:12px;
  border-top:1px solid var(--ape-outline);
}
.ape-footer-bottom p{
  font-family:var(--font-b);font-size:13px;color:var(--ape-on-variant);
}
.ape-badges{display:flex;gap:18px;align-items:center;}
.ape-badge{
  display:flex;align-items:center;gap:5px;
  font-family:var(--font-b);font-size:12px;color:var(--ape-on-variant);
}
.ape-badge svg{color:var(--ape-primary);flex-shrink:0;}
/* Barre sticky donate — mobile uniquement */
.ape-sticky-bar{
  display:none;
  position:fixed;bottom:0;left:0;right:0;z-index:9000;
  background:var(--ape-gold);padding:14px 16px;
  box-shadow:0 -2px 12px rgba(0,0,0,.12);
}
.ape-sticky-bar a{
  display:flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--font-h);font-weight:700;font-size:16px;
  color:var(--ape-on-gold)!important;text-decoration:none!important;width:100%;
}

/* ─── Contenu principal ─── */
.ape-main{min-height:60vh;}
.elementor-section-wrap{margin-top:0!important;}

/* ─── Responsive ─── */
@media(max-width:1024px){
  .ape-footer-grid{grid-template-columns:1fr 1fr 1fr;}
  .ape-footer-grid > div:first-child{grid-column:1/-1;}
}
@media(max-width:767px){
  .ape-sticky-bar{display:block !important;}
  :root{--header-h:60px;}
  .ape-nav-desktop{display:none!important;}
  .ape-header-cta{display:none!important;}
  .ape-hamburger{display:block!important;}
  .ape-footer-grid{grid-template-columns:1fr 1fr;gap:28px;}
  .ape-footer-grid > div:first-child{grid-column:1/-1;}
  /* Barre sticky donate — mobile uniquement */
.ape-sticky-bar{
  display:none;
  position:fixed;bottom:0;left:0;right:0;z-index:9000;
  background:var(--ape-gold);padding:14px 16px;
  box-shadow:0 -2px 12px rgba(0,0,0,.12);
}
  body{padding-bottom:58px;}
}
@media(max-width:480px){
  .ape-footer-grid{grid-template-columns:1fr;}
  .ape-footer-grid > div:first-child{grid-column:auto;}
}
