/* ============================================================
   Au Cœur de la Grâce — styles des sections (navbar, footer…)
   Reproduction du design Next.js
   ============================================================ */

.acg-wrap{ width:100%; max-width:1152px; margin:0 auto; padding:0 20px; }

/* ───────────── NAVBAR ───────────── */
.acg-header{
  position:sticky; top:0; z-index:50;
  background:linear-gradient(135deg,#011f2e 0%,#013547 60%,#011f2e 100%);
  box-shadow:0 2px 20px rgba(0,0,0,.45);
  border-bottom:1px solid rgba(212,175,55,.2);
}
.acg-header-inner{
  width:100%; max-width:1152px; margin:0 auto; padding:16px 20px;
  display:flex; align-items:center; justify-content:space-between;
}
.acg-logo{ display:flex; flex-direction:column; line-height:1.15; }
.acg-logo-title{
  font-family:"Montserrat",sans-serif; font-weight:600;
  font-size:clamp(1rem,3vw,1.3rem); letter-spacing:.02em; color:#d4af37;
}
.acg-logo-sub{
  font-family:"Roboto",sans-serif; font-size:.6rem; text-transform:uppercase;
  letter-spacing:.2em; color:rgba(212,175,55,.55);
}
.acg-nav-desktop{ display:none; align-items:center; gap:28px; }
.acg-nav-desktop ul{ display:flex; align-items:center; gap:28px; list-style:none; margin:0; padding:0; }
.acg-nav-link{
  display:flex; align-items:center; gap:6px;
  font-family:"Roboto",sans-serif; font-size:.75rem; text-transform:uppercase;
  letter-spacing:.18em; color:rgba(212,175,55,.7);
  padding-bottom:2px; border-bottom:2px solid transparent; transition:all .2s ease;
}
.acg-nav-link:hover{ color:#d4af37; }
.acg-nav-link.is-active{ color:#d4af37; border-bottom-color:#d4af37; }
.acg-live-dot{
  display:inline-block; width:6px; height:6px; border-radius:50%;
  background:#f87171; flex-shrink:0; animation:acgPulse 1.5s infinite;
}
@keyframes acgPulse{ 0%,100%{opacity:1} 50%{opacity:.3} }
.acg-cta-don{
  font-family:"Roboto",sans-serif; font-size:.75rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.1em;
  padding:10px 20px; color:#080d1a; background:#d4af37; border-radius:2px;
  transition:background .2s ease;
}
.acg-cta-don:hover{ background:#f0c93a; color:#080d1a; }
.acg-burger{
  display:flex; flex-direction:column; gap:5px; background:none; border:0;
  cursor:pointer; padding:6px;
}
.acg-burger span{ width:22px; height:2px; background:#d4af37; border-radius:2px; }
.acg-nav-mobile{ display:none; padding:20px; background:linear-gradient(135deg,#010f18 0%,#011f2e 100%); border-top:1px solid rgba(212,175,55,.15); }
.acg-nav-mobile.open{ display:block; }
.acg-nav-mobile ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:20px; }
.acg-nav-mobile .acg-nav-link{ font-size:.85rem; }
.acg-cta-don-mobile{ display:block; text-align:center; padding:12px; }
@media (min-width:768px){
  .acg-nav-desktop{ display:flex; }
  .acg-burger{ display:none; }
  .acg-nav-mobile{ display:none !important; }
}

/* ───────────── FOOTER ───────────── */
.acg-footer{ background:#025574; }
.acg-footer-inner{ width:100%; max-width:1152px; margin:0 auto; padding:64px 20px; }
.acg-footer-grid{ display:grid; grid-template-columns:1fr; gap:40px; margin-bottom:48px; }
.acg-footer-ident h3{ font-family:"Montserrat",sans-serif; font-size:1.25rem; color:#E5B80B; margin:0 0 4px; }
.acg-footer-sub{ font-family:"Roboto",sans-serif; font-size:.72rem; text-transform:uppercase; letter-spacing:.2em; color:rgba(255,255,255,.45); margin:0 0 16px; }
.acg-footer-text{ font-family:"Roboto",sans-serif; font-size:.875rem; line-height:1.7; color:rgba(255,255,255,.6); margin:0 0 16px; }
.acg-accent{ color:#E5B80B; }
.acg-footer h4{ font-family:"Roboto",sans-serif; font-size:.72rem; text-transform:uppercase; letter-spacing:.2em; color:#E5B80B; margin:0 0 20px; }
.acg-footer-nav{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.acg-footer-nav a{ font-family:"Roboto",sans-serif; font-size:.875rem; color:rgba(255,255,255,.6); transition:color .2s; }
.acg-footer-nav a:hover{ color:#fff; }
.acg-footer-socials{ display:flex; gap:16px; margin-bottom:24px; }
.acg-footer-socials a{ color:rgba(255,255,255,.6); transition:color .2s; }
.acg-footer-socials a:hover{ color:#fff; }
.acg-footer-priere{ border-top:1px solid rgba(255,255,255,.12); padding-top:20px; }
.acg-footer-priere p{ font-family:"Roboto",sans-serif; font-size:.75rem; line-height:1.7; color:rgba(255,255,255,.5); margin:0 0 8px; }
.acg-footer-priere a{ font-family:"Roboto",sans-serif; font-size:.875rem; }
.acg-footer-bottom{ display:flex; flex-direction:column; align-items:center; gap:12px; border-top:1px solid rgba(255,255,255,.1); padding-top:24px; }
.acg-footer-bottom p{ font-family:"Roboto",sans-serif; font-size:.75rem; color:rgba(255,255,255,.35); margin:0; }
.acg-footer-legal{ display:flex; gap:20px; }
.acg-footer-legal a{ font-family:"Roboto",sans-serif; font-size:.75rem; color:rgba(255,255,255,.35); }
.acg-footer-legal a:hover{ color:rgba(255,255,255,.6); }
@media (min-width:640px){
  .acg-footer-grid{ grid-template-columns:1fr 1fr; }
  .acg-footer-ident{ grid-column:span 2; }
}
@media (min-width:768px){
  .acg-footer-grid{ grid-template-columns:2fr 1fr 1fr; }
  .acg-footer-ident{ grid-column:span 1; }
  .acg-footer-bottom{ flex-direction:row; justify-content:space-between; }
}

/* Hello Elementor: retire le header/footer du thème (on utilise HFE) */
.site-header, .site-footer{ display:none; }

/* ============================================================
   Header — effet « shrink on scroll »
   ============================================================ */
.acg-header{ transition:box-shadow .3s ease, background .3s ease; }
.acg-header-inner{ transition:padding-top .3s ease, padding-bottom .3s ease; }
.acg-logo-title{ transition:font-size .3s ease; }
.acg-logo-sub{ transition:max-height .3s ease, opacity .25s ease, margin .3s ease; max-height:1.4em; overflow:hidden; }

/* État compact (au défilement) */
.acg-header.shrink{ box-shadow:0 4px 24px rgba(0,0,0,.55); }
.acg-header.shrink .acg-header-inner{ padding-top:8px; padding-bottom:8px; }
.acg-header.shrink .acg-logo-title{ font-size:clamp(.9rem, 2.4vw, 1.1rem); }
.acg-header.shrink .acg-logo-sub{ max-height:0; opacity:0; margin-top:-2px; }
