/* ============================================================
   Au Cœur de la Grâce — styles pages internes (hero, formulaires,
   missions liste & détail, …)
   ============================================================ */

/* ───────── HERO de page (titre + sous-titre) ───────── */
.acg-page-hero{ display:flex; align-items:center; justify-content:center; text-align:center; min-height:40vh; padding:80px 20px; background:linear-gradient(135deg,#025574 0%,#013a52 100%); }
.acg-page-hero .inner{ width:100%; max-width:720px; margin:0 auto; }
.acg-page-hero h1{ font-family:"Montserrat",sans-serif; font-weight:600; color:#fff; font-size:clamp(2rem,5vw,3.5rem); margin:0 0 16px; }
.acg-page-hero p{ font-family:"Roboto",sans-serif; font-size:1rem; line-height:1.7; color:rgba(255,255,255,.8); max-width:600px; margin:0 auto; }

/* ───────── FORMULAIRES ───────── */
.acg-form{ background:#fff; border-radius:12px; box-shadow:0 2px 8px rgba(0,0,0,.08); padding:24px; display:flex; flex-direction:column; gap:16px; }
@media(min-width:768px){ .acg-form{ padding:32px; } }
.acg-grid-form{ display:grid; grid-template-columns:1fr; gap:16px; }
@media(min-width:640px){ .acg-grid-form{ grid-template-columns:1fr 1fr; } }
.acg-form-label{ display:block; font-family:"Roboto",sans-serif; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:#475467; margin-bottom:6px; }
.acg-form-input{ width:100%; padding:12px 16px; font-family:"Roboto",sans-serif; font-size:.875rem; border:1px solid #e2e8f0; border-radius:2px; background:#F9FAFB; color:#1A1A1A; outline:none; transition:border-color .2s; }
.acg-form-input:focus{ border-color:#025574; }
textarea.acg-form-input{ resize:vertical; }
.acg-form-msg{ font-family:"Roboto",sans-serif; font-size:.875rem; }
.acg-form-ok{ text-align:center; padding:64px 24px; }
.acg-form-ok .ico{ width:64px; height:64px; font-size:1.6rem; margin:0 auto 24px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#F8F9FA; color:#025574; }
.acg-form-ok h3{ font-family:"Montserrat",sans-serif; font-size:1.5rem; color:#025574; margin:0 0 12px; }
.acg-form-ok p{ font-family:"Roboto",sans-serif; color:#475467; margin:0; }
.acg-rgpd{ font-family:"Roboto",sans-serif; font-size:.75rem; color:#9CA3AF; line-height:1.6; }

/* ───────── MISSIONS — LISTE ───────── */
.acg-mission-card{ position:relative; overflow:hidden; background:#fff; border-radius:12px; box-shadow:0 2px 8px rgba(0,0,0,.08); transition:all .3s ease; }
.acg-mission-card:hover{ box-shadow:0 12px 32px rgba(0,0,0,.14); transform:translateY(-4px); }
.acg-mission-status{ padding:10px 20px; display:flex; align-items:center; justify-content:space-between; }
.acg-mission-status span{ font-family:"Roboto",sans-serif; font-size:.72rem; text-transform:uppercase; letter-spacing:.15em; }
.acg-mission-body{ padding:24px; }
.acg-mission-body h3{ font-family:"Montserrat",sans-serif; font-weight:600; font-size:1.25rem; margin:0 0 12px; }
.acg-mission-row{ display:flex; align-items:center; gap:8px; margin-bottom:8px; font-family:"Roboto",sans-serif; font-size:.875rem; }
.acg-mission-row .pin{ color:#025574; flex-shrink:0; }
.acg-mission-desc{ font-family:"Roboto",sans-serif; font-size:.875rem; line-height:1.6; color:#475467; margin:12px 0; }
.acg-mission-quote{ border-left:2px solid #025574; padding-left:12px; margin:12px 0 0; }
.acg-mission-quote p{ font-family:"Montserrat",sans-serif; font-style:italic; font-size:.875rem; line-height:1.5; color:#1e3a8a; margin:0; }
.acg-mission-link{ font-family:"Roboto",sans-serif; font-size:.875rem; color:#025574; margin-top:12px; display:inline-block; }

/* ───────── MISSION — DÉTAIL ───────── */
.acg-detail-hero{ display:flex; align-items:center; justify-content:center; text-align:center; min-height:45vh; padding:80px 20px; background:linear-gradient(135deg,#025574 0%,#013a52 100%); background-size:cover; background-position:center; }
.acg-detail-hero .inner{ max-width:720px; margin:0 auto; }
.acg-detail-back{ display:inline-flex; align-items:center; gap:8px; font-family:"Roboto",sans-serif; font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; color:#E5B80B; margin-bottom:24px; }
.acg-detail-badge{ display:inline-block; font-family:"Roboto",sans-serif; font-size:.72rem; text-transform:uppercase; letter-spacing:.15em; padding:4px 12px; border-radius:9999px; background:rgba(255,255,255,.1); margin-bottom:16px; }
.acg-detail-hero h1{ font-family:"Montserrat",sans-serif; font-weight:300; color:#fff; font-size:clamp(2rem,5vw,3.5rem); margin:0 0 16px; }
.acg-detail-meta{ display:flex; flex-wrap:wrap; justify-content:center; gap:24px; margin-top:16px; }
.acg-detail-meta span{ display:flex; align-items:center; gap:8px; font-family:"Roboto",sans-serif; font-size:.875rem; color:rgba(255,255,255,.8); }
.acg-prose{ font-family:"Roboto",sans-serif; font-size:1rem; line-height:2; color:#334155; }
.acg-prose p{ margin:0 0 16px; }
.acg-detail-quote{ border-left:3px solid #025574; padding-left:24px; text-align:left; margin-top:32px; }
.acg-detail-quote .acg-prose{ font-family:"Montserrat",sans-serif; font-style:italic; font-size:1.125rem; color:#1e3a8a; }
.acg-detail-gallery{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:32px; }
@media(min-width:768px){ .acg-detail-gallery{ grid-template-columns:1fr 1fr 1fr; } }
.acg-detail-gallery .cell{ aspect-ratio:4/3; border-radius:6px; background-size:cover; background-position:center; border:1px solid #e2e8f0; }
.acg-detail-cta{ background:#025574; }
.acg-detail-cta .inner{ max-width:36rem; margin:0 auto; text-align:center; }
.acg-detail-cta h2{ font-family:"Montserrat",sans-serif; font-weight:300; color:#fff; font-size:clamp(1.5rem,3.5vw,2.2rem); margin:0 0 16px; }
.acg-detail-cta p{ font-family:"Roboto",sans-serif; font-size:.875rem; line-height:1.7; color:rgba(255,255,255,.85); margin:0 0 32px; }

/* tag aligné gauche */
.acg-tag-left{ text-align:left; }
.acg-divider-left{ margin-left:0; margin-right:0; }

/* ───────── BLOG — filtres catégories ───────── */
.acg-filter{ background:#F8F9FA; border-bottom:1px solid #e2e8f0; padding:16px 20px; }
.acg-filter-row{ width:100%; max-width:1152px; margin:0 auto; display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.acg-filter-btn{ font-family:"Roboto",sans-serif; font-size:.75rem; padding:6px 16px; border-radius:9999px; border:1px solid #e2e8f0; background:#fff; color:#4A4A4A; cursor:pointer; transition:all .2s; }
.acg-filter-btn:hover{ border-color:#025574; }
.acg-filter-btn.active{ background:#025574; color:#fff; border-color:#025574; }
.acg-blog-empty{ text-align:center; padding:80px 0; }
.acg-blog-empty p{ font-family:"Montserrat",sans-serif; font-size:1.5rem; color:#475467; margin:0; }

/* ───────── BLOG — article détail ───────── */
.acg-article-hero{ display:flex; align-items:center; justify-content:center; text-align:center; min-height:40vh; padding:80px 20px; background:linear-gradient(135deg,#025574 0%,#013a52 100%); background-size:cover; background-position:center; }
.acg-article-hero .inner{ max-width:720px; margin:0 auto; }
.acg-article-meta{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px; margin-bottom:16px; }
.acg-article-meta .cat{ font-family:"Roboto",sans-serif; font-size:.75rem; color:#E5B80B; }
.acg-article-meta .date{ font-family:"Roboto",sans-serif; font-size:.75rem; color:rgba(255,255,255,.8); }
.acg-article-hero h1{ font-family:"Montserrat",sans-serif; font-weight:500; color:#fff; font-size:clamp(1.8rem,5vw,3.2rem); margin:0; }
.acg-article-video{ margin-bottom:40px; border-radius:6px; overflow:hidden; aspect-ratio:16/9; }
.acg-article-video iframe{ width:100%; height:100%; border:0; display:block; }
.acg-article-foot{ display:flex; flex-direction:column; gap:16px; align-items:center; margin-top:56px; padding-top:32px; border-top:1px solid #e2e8f0; }
@media(min-width:640px){ .acg-article-foot{ flex-direction:row; justify-content:space-between; } }
.acg-article-back{ display:inline-flex; align-items:center; gap:8px; font-family:"Roboto",sans-serif; font-size:.875rem; color:#025574; }

/* ───────── Barre de progression de lecture ───────── */
.acg-progress{ position:fixed; top:0; left:0; height:3px; width:0; z-index:9999; background:linear-gradient(to right,#025574,#E5B80B); transition:width .1s ease; }

/* ============================================================
   Page LIVE
   ============================================================ */
.acg-lecteur-player{ margin:0 auto; max-width:860px; aspect-ratio:16/9; background:#013a52; border:1px solid rgba(255,255,255,.1); border-radius:6px; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.acg-lecteur-player iframe{ width:100%; height:100%; border:0; display:block; }
.acg-lecteur-empty{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; padding:24px; text-align:center; }
.acg-lecteur-empty .ico{ width:64px; height:64px; border-radius:50%; background:rgba(255,68,68,.12); display:flex; align-items:center; justify-content:center; color:#FF4444; }
.acg-lecteur-empty p{ font-family:"Montserrat",sans-serif; color:#fff; font-size:1.125rem; margin:0; }

/* Cartes plateformes */
.acg-platform-card{ display:flex; flex-direction:column; gap:16px; height:100%; padding:24px; }
.acg-platform-icon{ width:52px; height:52px; border-radius:50%; background:#F8F9FA; display:flex; align-items:center; justify-content:center; }
.acg-platform-card h3{ font-family:"Montserrat",sans-serif; font-weight:600; font-size:1.25rem; margin:0; }
.acg-platform-card p{ font-family:"Roboto",sans-serif; font-size:.875rem; line-height:1.6; color:#475467; margin:0; flex:1; }

/* Agenda prochains lives */
.acg-agenda{ display:flex; flex-direction:column; gap:16px; max-width:48rem; margin:40px auto 0; }
.acg-agenda-item{ display:flex; align-items:flex-start; gap:24px; padding:24px; }
.acg-agenda-date{ text-align:center; flex-shrink:0; min-width:60px; }
.acg-agenda-date .d{ font-family:"Montserrat",sans-serif; font-weight:600; font-size:1.5rem; color:#025574; }
.acg-agenda-date .m{ font-family:"Roboto",sans-serif; font-size:.72rem; text-transform:uppercase; color:#475467; }
.acg-agenda-body{ flex:1; }
.acg-agenda-badges{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:8px; }
.acg-chip{ font-family:"Roboto",sans-serif; font-size:.72rem; padding:2px 8px; border-radius:4px; }
.acg-chip.p{ background:#F8F9FA; color:#025574; }
.acg-chip.t{ background:#e2e8f0; color:#475467; }
.acg-agenda-body h3{ font-family:"Montserrat",sans-serif; font-weight:600; font-size:1.125rem; margin:0 0 4px; }
.acg-agenda-body p{ font-family:"Roboto",sans-serif; font-size:.875rem; line-height:1.6; color:#475467; margin:0; }
.acg-agenda-time{ font-family:"Roboto",sans-serif; font-size:.875rem; font-weight:600; color:#025574; flex-shrink:0; }

/* Cartes replays */
.acg-replay-img{ position:relative; height:176px; overflow:hidden; background:linear-gradient(135deg,#025574,#013a52); display:flex; align-items:center; justify-content:center; background-size:cover; background-position:center; }
.acg-replay-img .play{ font-family:"Montserrat",sans-serif; font-size:2.25rem; opacity:.35; color:#fff; }
.acg-replay-link{ font-family:"Roboto",sans-serif; font-size:.75rem; color:#025574; margin-top:auto; padding-top:8px; }

/* ============================================================
   Page PRIÈRE
   ============================================================ */
.acg-engage-grid{ display:grid; grid-template-columns:1fr; gap:48px; align-items:start; max-width:56rem; margin:0 auto; }
@media(min-width:768px){ .acg-engage-grid{ grid-template-columns:1fr 1fr; } }
.acg-engage-left h2{ font-family:"Montserrat",sans-serif; font-weight:600; font-size:clamp(1.8rem,4vw,2.8rem); margin:0 0 16px; }
.acg-engage-left p{ font-family:"Roboto",sans-serif; font-size:1rem; line-height:2; color:#334155; margin:0 0 24px; }
.acg-engage-quote{ border-left:3px solid #025574; padding-left:20px; }
.acg-engage-quote p{ font-family:"Montserrat",sans-serif; font-style:italic; font-size:1.125rem; line-height:1.6; color:#025574; margin:0 0 8px; }
.acg-engage-quote cite{ font-family:"Roboto",sans-serif; font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; color:#475467; font-style:normal; }
.acg-engage-cards{ display:flex; flex-direction:column; gap:12px; }
.acg-engage-card{ display:flex; align-items:flex-start; gap:16px; padding:16px 20px; }
.acg-engage-card h3{ font-family:"Montserrat",sans-serif; font-weight:600; font-size:1.125rem; margin:0 0 4px; }
.acg-engage-card p{ font-family:"Roboto",sans-serif; font-size:.875rem; line-height:1.6; color:#334155; margin:0; }

/* Formulaire prière (sans carte, sur fond clair) */
.acg-priere-form{ display:flex; flex-direction:column; gap:20px; margin-top:40px; }
.acg-priere-check{ display:flex; align-items:center; gap:12px; font-family:"Roboto",sans-serif; font-size:.875rem; color:#334155; cursor:pointer; }
.acg-priere-check input{ width:16px; height:16px; accent-color:#025574; }
.acg-priere-note{ font-family:"Roboto",sans-serif; font-size:.75rem; color:#475467; margin:0; }
.acg-priere-note a{ color:#025574; }
.acg-priere-ok{ text-align:center; max-width:36rem; margin:0 auto; }
.acg-priere-ok .ico{ width:64px; height:64px; font-size:1.8rem; margin:0 auto 24px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(2,85,116,.1); }
.acg-priere-ok h2{ font-family:"Montserrat",sans-serif; font-weight:600; font-size:1.5rem; margin:0 0 16px; }
.acg-priere-ok p{ font-family:"Roboto",sans-serif; font-size:1rem; line-height:2; color:#334155; margin:0 0 24px; }

/* ============================================================
   Page DON
   ============================================================ */
/* Projets à soutenir */
.acg-projet-card{ display:flex; flex-direction:column; gap:12px; height:100%; padding:24px; }
.acg-projet-card .emoji{ font-size:2rem; line-height:1; }
.acg-projet-card h3{ font-family:"Montserrat",sans-serif; font-weight:600; font-size:1.25rem; margin:0; }
.acg-projet-card p{ font-family:"Roboto",sans-serif; font-size:.875rem; line-height:1.6; color:#475467; margin:0; flex:1; }
.acg-projet-sugg{ align-self:flex-start; font-family:"Roboto",sans-serif; font-size:.72rem; padding:4px 12px; border-radius:9999px; background:rgba(2,85,116,.08); color:#025574; border:1px solid rgba(2,85,116,.15); }

/* Modalités de don */
.acg-modalites{ display:flex; flex-direction:column; gap:24px; margin-top:40px; }
.acg-modalite{ padding:24px; }
.acg-modalite-head{ display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:12px; }
.acg-modalite h3{ font-family:"Montserrat",sans-serif; font-weight:600; font-size:1.25rem; margin:0; }
.acg-modalite-badge{ font-family:"Roboto",sans-serif; font-size:.72rem; padding:4px 12px; border-radius:9999px; background:rgba(46,125,50,.1); color:#2E7D32; border:1px solid rgba(46,125,50,.2); }
.acg-modalite p{ font-family:"Roboto",sans-serif; font-size:.875rem; line-height:1.6; color:#475467; margin:0 0 16px; }
.acg-modalite .muted{ font-family:"Roboto",sans-serif; font-size:.75rem; color:#475467; margin:0; }

/* ============================================================
   Pages légales + 404
   ============================================================ */
.acg-legal-hero{ display:flex; align-items:center; justify-content:center; text-align:center; min-height:40vh; padding:80px 20px; background:linear-gradient(135deg,#025574 0%,#013a52 100%); }
.acg-legal-hero .inner{ max-width:720px; margin:0 auto; }
.acg-legal-hero .acg-tag{ color:#E5B80B; text-align:center; }
.acg-legal-hero h1{ font-family:"Montserrat",sans-serif; font-weight:300; color:#fff; font-size:clamp(2rem,5vw,3.5rem); margin:0 0 8px; }
.acg-legal-hero h1 em{ color:#E5B80B; font-style:italic; }

.acg-legal{ max-width:42rem; margin:0 auto; display:flex; flex-direction:column; gap:40px; }
.acg-legal-block h2{ font-family:"Montserrat",sans-serif; font-weight:600; font-size:1.5rem; color:#013a52; margin:0 0 16px; }
.acg-legal-block p{ font-family:"Roboto",sans-serif; font-size:1rem; line-height:2; color:#334155; margin:0 0 12px; }
.acg-legal-block ul{ font-family:"Roboto",sans-serif; font-size:1rem; line-height:2; color:#334155; padding-left:24px; margin:8px 0 0; list-style:disc; }
.acg-legal-block a{ color:#025574; }

/* 404 */
.acg-404-num{ font-family:"Montserrat",sans-serif; font-weight:300; font-size:6rem; line-height:1; color:#E5B80B; margin:0 0 8px; }

/* ============================================================
   Fluent Forms — mise à la charte ACG
   ============================================================ */
.acg-ff{ margin-top:24px; }
.acg-ff .ff-el-group{ margin-bottom:18px; }
.acg-ff .ff-el-input--label label,
.acg-ff .ff-el-input--label{ font-family:"Roboto",sans-serif !important; font-size:.72rem !important; letter-spacing:.1em; text-transform:uppercase; color:#475467 !important; font-weight:400 !important; margin-bottom:6px; }
.acg-ff input[type="text"],
.acg-ff input[type="email"],
.acg-ff input[type="tel"],
.acg-ff input[type="number"],
.acg-ff textarea,
.acg-ff select{
  width:100% !important; padding:12px 16px !important; font-family:"Roboto",sans-serif !important; font-size:.875rem !important;
  border:1px solid #e2e8f0 !important; border-radius:2px !important; background:#F9FAFB !important; color:#1A1A1A !important;
  box-shadow:none !important; height:auto !important;
}
.acg-ff textarea{ min-height:120px; }
.acg-ff input:focus, .acg-ff textarea:focus, .acg-ff select:focus{ border-color:#025574 !important; box-shadow:none !important; outline:none !important; }
.acg-ff .ff-el-form-check-label, .acg-ff .ff_item_selectable_lbl{ font-family:"Roboto",sans-serif; font-size:.875rem; color:#334155; }
.acg-ff .ff-btn-submit{
  background:#025574 !important; color:#fff !important; font-family:"Roboto",sans-serif !important; font-weight:700 !important;
  text-transform:uppercase; letter-spacing:.12em; font-size:.78rem !important; padding:.85rem 2rem !important;
  border:0 !important; border-radius:10px !important; box-shadow:0 4px 10px rgba(2,85,116,.3) !important; cursor:pointer;
}
.acg-ff .ff-btn-submit:hover{ background:#013a52 !important; transform:translateY(-1px); }
.acg-ff .ff-message-success{ font-family:"Roboto",sans-serif; color:#025574; background:#F8F9FA; border:1px solid #e2e8f0; border-radius:8px; padding:24px; text-align:center; }

/* Variante fond sombre (newsletter teal) */
.acg-ff-dark .ff-el-input--label label,
.acg-ff-dark .ff-el-input--label{ color:rgba(255,255,255,.8) !important; }
.acg-ff-dark input[type="text"], .acg-ff-dark input[type="email"], .acg-ff-dark textarea{
  background:rgba(255,255,255,.08) !important; border:1px solid rgba(255,255,255,.2) !important; color:#fff !important;
}
.acg-ff-dark input::placeholder, .acg-ff-dark textarea::placeholder{ color:rgba(255,255,255,.5) !important; }
.acg-ff-dark .ff-btn-submit{ background:#E5B80B !important; color:#013a52 !important; }
.acg-ff-dark .ff-btn-submit:hover{ background:#f0c93a !important; }
.acg-ff-dark .ff-message-success{ background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.2); color:#fff; }
