/* Couche de finition, chargée en dernier sur tout le site, la landing de l'Avent, les Actualités, le livret et le tableau de bord.
   CSS uniquement : aucun balisage, script, formulaire ni envoi n'est modifié.
   Direction — Produit : relier donateurs, paroisses et plus de 100 associations contre la précarité.
   Caractère : proche, posé, digne. Monde : papier, salles paroissiales, lumière d'hiver.
   Accent : le rouge Caritas, rare. Signature : la croix Caritas devant les intitulés.
   Méthode : unslop, par Damir Sokolovsky (@heydamir), CC BY 4.0. */

:root{
  /* Une rampe chaude et neutre, un seul accent */
  --ink:#1f1b16;--ink-2:#2a251f;--muted:#6b6258;--line:rgba(31,27,22,.1);--cream:#f7f4ee;--sand:#efe9df;
  --red:#c9141c;--brand:#c9141c;--red-deep:#a3101a;
  /* Plus de dégradés de teinte : les jetons deviennent des aplats */
  --grad-red:#c9141c;
  --grad-dark:#1c1814;
  --grad-ember:none;
  --radius:16px;--radius-sm:10px;
  --shadow:0 1px 2px rgba(31,27,22,.05),0 8px 24px rgba(31,27,22,.06);
  --shadow-lg:0 1px 2px rgba(31,27,22,.06),0 16px 40px rgba(31,27,22,.1);
  --ease:cubic-bezier(.22,1,.36,1);
  --gs-crimson:#c9141c;
}

/* ---------- Typographie : hiérarchie par la taille, pas par la graisse ---------- */
html body h1,html body h2{font-weight:600;letter-spacing:-.02em}
html body h3{font-weight:600;letter-spacing:-.01em}
html body p,html body li,html body label,html body small,html body dd,html body dt,html body td,html body th{letter-spacing:0}
html body .stats strong,html body .impact strong,html body .av-figures strong,html body .lv-figs strong,html body .don-num{font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em}

/* Plus de texte en dégradé */
html body .hero h1 .grad,html body .grad-text{background:none;-webkit-text-fill-color:currentColor;color:inherit}
html body .section h2{background:none;-webkit-text-fill-color:currentColor;color:inherit}
html body .av-quote p{background:none;-webkit-text-fill-color:#fff;color:#fff}

/* Intitulés : casse normale, sans espacement large, précédés de la croix Caritas */
html body .eyebrow,html body .ant-kicker,html body .lv-page .lv-kicker,html body .lv-way-k,html body .av-track-kicker,html body .ar-cat,html body .project-category,html body .don-num-label,html body .don-transfer dt,html body .legs-model-label,html body .legs-card dt,html body .rg-where,html body .rg-d-label{text-transform:none;letter-spacing:0;font-weight:600}
html body .eyebrow,html body .lv-page .lv-kicker{font-size:14px;display:inline-flex;align-items:center;gap:8px}
html body .eyebrow::before,html body .lv-page .lv-kicker::before{content:"";flex:none;width:10px;height:10px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M3.5 0h3v3.5H10v3H6.5V10h-3V6.5H0v-3h3.5z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M3.5 0h3v3.5H10v3H6.5V10h-3V6.5H0v-3h3.5z'/%3E%3C/svg%3E") center/contain no-repeat}
html body .footer-top h3{text-transform:none;letter-spacing:0;font-size:14px;font-weight:600}

/* ---------- Boutons : aplat rouge, sans halo ni reflet ---------- */
html body .btn{border-radius:10px;background:var(--red);box-shadow:none;font-weight:600;letter-spacing:0;transition:background-color .16s var(--ease),color .16s var(--ease),transform .16s var(--ease)}
html body .btn:before{display:none}
html body .btn:hover{background:var(--red-deep);transform:none;box-shadow:none}
html body .btn:active{transform:scale(.98)}
html body .btn.secondary{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
html body .btn.secondary:hover{background:var(--cream);color:var(--ink);box-shadow:inset 0 0 0 1px rgba(31,27,22,.18)}
html body .btn.secondary[aria-pressed="true"]{background:var(--ink);color:#fff;box-shadow:none}
html body .hero .btn.secondary{background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
html body .btn:focus-visible,html body a:focus-visible,html body button:focus-visible{outline:2px solid var(--red);outline-offset:2px}

/* ---------- Rayons : selon la taille, pas des pilules partout ---------- */
html body .project-card,html body .support-card,html body .news-card,html body .ant-card,html body .don-choice,html body .don-ticket,html body .don-guide,html body .don-transfer,html body .lv-chapter,html body .ar-card,html body .home-news-empty{border-radius:16px}
html body form.filters{border-radius:16px!important}
html body form.filters input:not([type=checkbox]):not([type=radio]),html body form.filters select{border-radius:10px!important}
html body form.filters>.btn{border-radius:10px}
html body .desktop-nav .nav-sub{border-radius:12px}
html body .desktop-nav .nav-sub a{border-radius:8px}

/* ---------- Pied de page : un aplat sombre, des liens calmes ---------- */
html body footer:before{display:none}
html body .footer-top a.ft-cta{background:none;box-shadow:none;padding:0;margin:0 0 6px;color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:4px}
html body .footer-top a.ft-cta:before{display:none}
html body .footer-top a.ft-cta:hover{background:none;transform:none;text-decoration-color:#fff}

/* ---------- Mouvement : plus de boucles décoratives ---------- */
@keyframes ember{}@keyframes pulse{}@keyframes wheel{}@keyframes float{}@keyframes ctaPing{}
@keyframes avNow{}@keyframes avBeat{}@keyframes avRing{}@keyframes avFloat{}@keyframes rgPing{}
html body .marquee,html body .hero-scroll,html body .av-flip-ic::after,html body .rg-ping{display:none}
html body .project-card:hover,html body .support-card:hover,html body .news-card:hover{transform:none}

/* ---------- Livret : la couverture garde son bleu, sans halos colorés ---------- */
html body .lv-hero{background:#101a4d}
html body .lv-hero::before{display:none}
html body .lv-hero::after{background:#5a2d82}
html body .lv-ways-s{background:#f7f4f9}

/* ---------- Tableau de bord : sélection calme, sans halo ---------- */
html body.gs-body .gs-nav button[aria-current="page"],html body .gs-nav button[aria-current="page"]{background:#f1ebe6;color:var(--red);box-shadow:inset 3px 0 0 var(--red)}
html body .gs-nav button[aria-current="page"] svg{color:var(--red)}
html body .gs-nav button[aria-current="page"] .gs-count,html body.gs-body .gs-nav button[aria-current="page"] .gs-count{background:var(--red);color:#fff}
html body.gs-body .gs-sub,html body .st-wk,html body .st-spot b{text-transform:none;letter-spacing:0}
html body .gs-body .gs-scroll th{text-transform:none;letter-spacing:0}

/* Chiffres clés : des nombres, sans pastilles d'icônes */
html body .stats svg{display:none}
html body .support-card>svg{background:var(--cream);border-radius:10px;transition:background-color .16s var(--ease),color .16s var(--ease)}
html body .support-card:hover>svg{transform:none}
/* Tableau de bord : tuile « À traiter » en aplat, boutons sans halo */
html body .gs-body .gs-tile-action,html body.gs-body .gs-tile-action{background:var(--ink)}
html body.gs-body .btn,html body.gs-body .btn:hover{box-shadow:none}

/* Page « Agir contre la pauvreté » (/pauvrete) : douleur, réponse, valeur, appel */
html body .pv-hero{position:relative;overflow:hidden;isolation:isolate;min-height:clamp(560px,86vh,780px);display:flex;align-items:flex-end;color:#fff;background:#141418}
html body .pv-hero-bg{position:absolute;inset:0;z-index:-2}
html body .pv-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:60% 70%}
html body .pv-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(14,14,18,.94) 0%,rgba(14,14,18,.78) 42%,rgba(14,14,18,.25) 78%,rgba(14,14,18,.1) 100%)}
html body .pv-hero-in{padding:clamp(48px,7vw,84px) 0}
html body .pv-hero h1{max-width:15ch;margin:0 0 22px;font-size:clamp(40px,6vw,74px);line-height:1.02;letter-spacing:-.025em;color:#fff;-webkit-text-fill-color:#fff;background:none}
html body .pv-lead{max-width:58ch;margin:0 0 30px;font-size:clamp(18px,1.7vw,21px);line-height:1.6;color:rgba(255,255,255,.9)}
html body .pv-source{margin:26px 0 0;font-size:13px;color:rgba(255,255,255,.62)}
html body .pv-big{font-size:clamp(18px,1.6vw,21px);line-height:1.6;color:var(--ink)}
html body .pv-answer{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,80px);align-items:center}
html body .pv-answer h2,html body .pv-value h2,html body .pv-cta h2{margin-top:0;font-size:clamp(30px,3.6vw,46px);line-height:1.1;letter-spacing:-.02em}
html body .pv-answer-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:16px;display:block}
html body .pv-steps{list-style:none;counter-reset:pv;margin:30px 0 0;padding:0;display:grid;gap:18px}
html body .pv-steps li{counter-increment:pv;display:grid;grid-template-columns:44px 1fr;column-gap:16px;align-items:baseline}
html body .pv-steps li:before{content:counter(pv);grid-row:span 2;font-size:30px;font-weight:800;color:var(--red);line-height:1}
html body .pv-steps strong{font-size:19px}
html body .pv-steps span{color:var(--muted);line-height:1.55}
html body .pv-value{background:#101a4d;color:#fff}
html body .pv-value h2{max-width:20ch;color:#fff;-webkit-text-fill-color:#fff;background:none}
html body .pv-value .pv-big{max-width:60ch;color:#fff}
html body .pv-value p{max-width:62ch;color:rgba(255,255,255,.86);line-height:1.65}
html body .pv-figures{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px;padding-top:34px;border-top:1px solid rgba(255,255,255,.2)}
html body .pv-figures strong{display:block;font-size:clamp(40px,4.4vw,56px);font-weight:800;line-height:1;color:#fff}
html body .pv-figures span{display:block;margin-top:10px;color:rgba(255,255,255,.78);line-height:1.45}
html body .pv-cta{max-width:820px;margin:0 auto}
html body .pv-transfer{margin:30px 0 0;padding:clamp(20px,3vw,32px);background:#fff;border:2px solid var(--red);border-radius:16px;display:grid;gap:20px}
html body .pv-transfer>div{padding-bottom:18px;border-bottom:1px solid var(--line)}
html body .pv-transfer>div:last-child{padding-bottom:0;border-bottom:0}
html body .pv-transfer dt{font-size:14px;font-weight:600;color:var(--muted)}
html body .pv-transfer dd{margin:6px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:clamp(18px,2vw,22px);font-weight:700;color:var(--ink)}
html body .pv-val{font-variant-numeric:tabular-nums;letter-spacing:.01em}
html body .pv-copy{font:inherit;font-size:14px;font-weight:700;padding:7px 14px;border-radius:999px;border:1.5px solid var(--ink);background:#fff;color:var(--ink);cursor:pointer;transition:background-color .16s,color .16s}
html body .pv-copy:hover,html body .pv-copy:focus-visible{background:var(--ink);color:#fff}
html body .pv-note{margin:10px 0 0;font-size:15px;line-height:1.5;color:var(--muted)}
html body .pv-h3{margin:40px 0 14px;font-size:20px}
html body .pv-amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
html body .pv-amounts div{padding:18px;background:#fff;border:1px solid var(--line);border-radius:14px}
html body .pv-amounts strong{display:block;font-size:28px;font-weight:800;color:var(--red)}
html body .pv-amounts span{display:block;margin-top:4px;color:var(--muted);line-height:1.4}
html body .pv-fine{margin:14px 0 0;font-size:15px;color:var(--muted);line-height:1.55}
html body .pv-online{margin-top:36px;padding-top:28px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
html body .pv-online p{margin:0;font-weight:600}
@media (max-width:820px){html body .pv-answer{grid-template-columns:1fr}html body .pv-answer-photo{order:-1}html body .pv-answer-photo img{aspect-ratio:3/2}html body .pv-figures,html body .pv-amounts{grid-template-columns:1fr}html body .pv-hero h1{max-width:none}}

/* Page « Journée mondiale des pauvres » (/journee-mondiale-des-pauvres) */
html body .jmp-hero .pv-hero-bg img{object-position:50% 55%}
html body .jmp-date{margin:0 0 18px;font-size:15px;font-weight:600;color:rgba(255,255,255,.82)}
html body .jmp-hero h1{max-width:18ch}
html body .jmp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px}
html body .jmp-ghost{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1.5px}
html body .jmp-ghost:hover{text-decoration-thickness:3px}
@keyframes jmpKb{from{transform:scale(1.02)}to{transform:scale(1.14) translate(-1.5%,-1%)}}
@keyframes jmpUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes jmpFlicker{0%,100%{filter:brightness(1)}45%{filter:brightness(1.08)}60%{filter:brightness(.95)}}
@media (prefers-reduced-motion:no-preference){
 html body .jmp-kb img{animation:jmpKb 24s ease-in-out infinite alternate}
 html body .jmp-hero-in>*{opacity:0;animation:jmpUp .9s cubic-bezier(.2,.7,.2,1) forwards}
 html body .jmp-hero-in>:nth-child(2){animation-delay:.15s}
 html body .jmp-hero-in>:nth-child(3){animation-delay:.3s}
 html body .jmp-hero-in>:nth-child(4){animation-delay:.45s}
 html body .jmp-hero-in>:nth-child(5){animation-delay:.6s}
 html body .jmp-candle img{animation:jmpFlicker 3.2s ease-in-out infinite}
 html body .jmp-faces figure img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
 html body .jmp-faces figure:hover img{transform:scale(1.04)}
 html body .jmp-cards article{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
 html body .jmp-cards article:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(20,20,24,.1)}
}
html body .jmp-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,80px);align-items:center}
html body .jmp-split-rev{grid-template-columns:1.1fr .9fr}
html body .jmp-split h2,html body .jmp-be h2,html body .jmp-help h2,html body .jmp-final h2{margin-top:0;font-size:clamp(30px,3.6vw,46px);line-height:1.1;letter-spacing:-.02em}
html body .jmp-split-photo{overflow:hidden;border-radius:16px}
html body .jmp-split-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
html body .jmp-quote{margin:30px 0 0;padding:4px 0 4px 22px;border-left:3px solid var(--red)}
html body .jmp-quote p{margin:0;font-size:clamp(20px,2vw,24px);font-weight:600;line-height:1.4;color:var(--ink)}
html body .jmp-quote cite{display:block;margin-top:10px;font-style:normal;font-size:14px;color:var(--muted)}
html body .jmp-be{background:#101a4d;color:#fff}
html body .jmp-be h2{color:#fff;-webkit-text-fill-color:#fff;background:none}
html body .jmp-be .pv-big{max-width:58ch;color:rgba(255,255,255,.9)}
html body .jmp-figs{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:44px;padding-top:34px;border-top:1px solid rgba(255,255,255,.2)}
html body .jmp-figs strong{display:block;font-size:clamp(36px,4vw,52px);font-weight:800;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
html body .jmp-figs span{display:block;margin-top:12px;color:rgba(255,255,255,.8);line-height:1.5}
html body .jmp-src{margin:22px 0 0;font-size:13px;color:rgba(255,255,255,.6)}
html body .jmp-faces{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:48px}
html body .jmp-faces figure{margin:0;overflow:hidden;border-radius:16px;position:relative}
html body .jmp-faces img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
html body .jmp-faces figcaption{position:absolute;left:0;right:0;bottom:0;padding:48px 20px 18px;font-weight:600;color:#fff;background:linear-gradient(0deg,rgba(10,12,30,.85),rgba(10,12,30,0))}
html body .jmp-inline-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin-top:40px;padding:24px 28px;border:1px solid rgba(255,255,255,.25);border-radius:16px}
html body .jmp-inline-cta p{margin:0;font-size:19px;font-weight:600;color:#fff}
html body .jmp-domains{list-style:none;margin:26px 0 28px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:18px 26px}
html body .jmp-domains li{display:grid;grid-template-columns:24px 1fr;gap:12px}
html body .jmp-domains svg{width:22px;height:22px;fill:none;stroke:var(--red);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
html body .jmp-domains strong{display:block;font-size:17px}
html body .jmp-domains span{display:block;margin-top:2px;color:var(--muted);line-height:1.5}
html body .jmp-help-head{max-width:640px}
html body .jmp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
html body .jmp-cards article{display:flex;flex-direction:column;align-items:flex-start;padding:28px;background:#fff;border:1px solid var(--line);border-radius:16px}
html body .jmp-cards h3{margin:14px 0 8px;font-size:22px}
html body .jmp-cards p{margin:0 0 22px;color:var(--muted);line-height:1.55;flex:1}
html body .jmp-n{font-size:34px;font-weight:800;line-height:1;color:var(--red)}
html body .jmp-final{position:relative;isolation:isolate;overflow:hidden;padding:clamp(70px,9vw,120px) 0;color:#fff;background:#141418}
html body .jmp-final-bg{position:absolute;inset:0;z-index:-2}
html body .jmp-final-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
html body .jmp-final:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,14,18,.9) 0%,rgba(14,14,18,.78) 45%,rgba(14,14,18,.92) 100%)}
html body .jmp-final-head{max-width:820px;margin:0 auto}
html body .jmp-final h2{color:#fff;-webkit-text-fill-color:#fff;background:none}
html body .jmp-final .pv-lead{margin-bottom:0}
html body .jmp-final-box{margin-top:30px;padding:clamp(22px,3vw,36px);background:var(--cream);border-radius:20px;color:var(--ink)}
html body .jmp-final-box .pv-transfer{margin-top:0}
@media (max-width:900px){html body .jmp-split,html body .jmp-split-rev{grid-template-columns:1fr}html body .jmp-split-photo img{aspect-ratio:3/2}html body .jmp-split-rev .jmp-split-photo{order:-1}html body .jmp-figs{grid-template-columns:1fr 1fr}html body .jmp-cards{grid-template-columns:1fr}html body .jmp-domains{grid-template-columns:1fr}}
@media (max-width:560px){html body .jmp-figs,html body .jmp-faces{grid-template-columns:1fr}}
