/* Charte « crème & or » — inspirée de l'affiche ABCJ KTO */
:root{--creme:#fcf7ea;--or:#b8923a;--or-clair:#e6c878;--brun:#2a1d0b;
 --bande-fond:linear-gradient(100deg,#6f511a 0%,#a3792c 45%,#7a5a1e 100%);
 --tick-h:38px;--bar-h:0px;--serif:'Playfair Display',Georgia,serif}
body{background:var(--creme);padding-bottom:calc(var(--tick-h) + var(--bar-h) + env(safe-area-inset-bottom))}
h1,h2,h3{font-family:var(--serif)}
h2.titre{font-weight:800;letter-spacing:-.005em}
.eyebrow::before{width:8px;height:8px;background:var(--accent);transform:rotate(45deg)}
.btn-bleu,.btn-cv{background:var(--bande-fond)!important}

/* Hero clair avec mandalas dorés */
.hero{background:linear-gradient(180deg,#fbf3df 0%,#f6ead0 100%);color:var(--brun)}
.hero::before,.hero::after{content:"";position:absolute;width:440px;height:440px;background:url(mandala.svg) center/contain no-repeat;opacity:.55;pointer-events:none;inset:auto}
.hero::before{right:-150px;top:-150px;background-image:url(mandala.svg)}
.hero::after{left:-170px;bottom:-190px}
.hero .eyebrow{color:#8f6b22}.hero .eyebrow::before{background:#8f6b22}
.hero h1{color:var(--brun)}
.hero h1 span{background:linear-gradient(100deg,#7a5a1e,#c49a3c 60%,#8f6b22);-webkit-background-clip:text;background-clip:text;color:transparent}
.orn{display:block;width:min(260px,70%);height:12px;margin:2px 0 16px;background:
 linear-gradient(var(--accent),var(--accent)) left center/calc(50% - 14px) 1px no-repeat,
 linear-gradient(var(--accent),var(--accent)) right center/calc(50% - 14px) 1px no-repeat;position:relative}
.orn::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;background:var(--accent);transform:translate(-50%,-50%) rotate(45deg)}
.hero .fonction{display:inline-block;background:var(--bande-fond);color:#fff;padding:10px 24px;font-weight:600;border-radius:2px;margin-bottom:18px}
.hero p.intro{color:#3d3524}
.hero .btn-accent{background:var(--bande-fond);color:#fff}
.hero .btn-accent:hover{filter:brightness(1.1)}
.hero .btn-ligne{border-color:#8f6b22;color:#6e5019}
.hero .btn-ligne:hover{background:#6e5019;color:#fff}
.portrait-cadre{box-shadow:0 24px 50px rgba(42,29,11,.28);outline:1px solid rgba(143,107,34,.45);outline-offset:8px}
.ch-hero{background:var(--bande-fond)}

/* Liturgie du jour */
.jour{background:var(--beige)}
.jour-tete{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap}
.j-liturgie{display:flex;align-items:center;gap:10px;font-weight:600;font-size:.9rem;color:#6e5019;background:#fff;border:1px solid rgba(143,107,34,.3);padding:8px 16px;border-radius:2px}
.pastille{width:14px;height:14px;border-radius:50%;background:#3c7a3a;border:1px solid rgba(0,0,0,.25);flex-shrink:0}
.jour-grille{display:grid;grid-template-columns:1.6fr 1fr;gap:26px;margin-top:24px;align-items:stretch}
.j-carte{position:relative;background:#fff;padding:30px 34px;box-shadow:var(--ombre)}
.j-carte::before{content:"";position:absolute;inset:8px;border:1px solid rgba(196,154,60,.55);pointer-events:none}
.j-onglets{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;position:relative}
.j-onglet{padding:8px 18px;border:1px solid rgba(143,107,34,.35);background:#fff;font-weight:600;font-size:.82rem;color:#6e5019;cursor:pointer;border-radius:2px}
.j-onglet:hover{border-color:var(--accent)}
.j-onglet.actif{background:var(--bande-fond);color:#fff;border-color:transparent}
.j-corps{font-family:'Lora',Georgia,serif;font-size:1.02rem;line-height:1.8;color:#2e281a;position:relative}
.j-corps.replie{max-height:340px;overflow:hidden}
.j-corps.replie::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(transparent,#fff)}
.j-corps p{margin-bottom:12px}
.j-corps sup{font-size:.62em;color:#a8822f;margin-right:2px}
.j-titre{font-size:1.25rem;margin-bottom:2px}
.j-ref{font-weight:700;color:#8f6b22;font-family:'Montserrat',sans-serif;font-size:.85rem;margin-bottom:14px}
.j-refrain,.j-alleluia{background:var(--beige);border-left:3px solid var(--accent);padding:10px 14px;font-style:italic;margin-bottom:14px}
.j-fin{margin-top:14px;font-weight:600;color:#6e5019;font-style:italic}
.j-plus{margin:6px 0 0;position:relative;background:none;border:0;color:#8f6b22;font-weight:700;cursor:pointer;font-size:.9rem;text-decoration:underline}
.j-source{margin-top:14px;font-size:.74rem;color:var(--gris);position:relative}
.j-source a{text-decoration:underline}
.j-charge,.j-erreur{color:var(--gris)}
.j-saint{background:linear-gradient(160deg,#2a1d0b,#4a3512);color:#f3e6c1;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.j-saint::before{border-color:rgba(230,200,120,.4)}
.j-etiq{font-weight:700;font-size:.78rem;letter-spacing:.16em;color:var(--or-clair)}
.j-nimbe{width:86px;height:86px;color:var(--or-clair);margin:10px 0 4px}
.j-saint h3{color:#fff;font-size:1.5rem;line-height:1.25}
.s-rang{font-size:.8rem;font-weight:700;color:var(--or-clair)}
.s-desc{font-size:.92rem;color:#eadcb4;max-width:320px}
.s-priere{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:#fff;margin-top:6px}
.s-lien{margin-top:10px;font-size:.78rem;color:var(--or-clair);text-decoration:underline;position:relative}
@media (max-width:900px){.jour-grille{grid-template-columns:1fr}.j-carte{padding:26px 22px}}

/* Bande défilante en pied de page, fixe */
.bande{position:fixed;left:0;right:0;bottom:calc(var(--bar-h) + env(safe-area-inset-bottom));z-index:65;height:var(--tick-h);background:var(--bande-fond);color:#fff;overflow:hidden;display:flex;align-items:center;border-top:1px solid rgba(255,255,255,.3);box-shadow:0 -4px 16px rgba(42,29,11,.18)}
.bande-piste{display:flex;flex-shrink:0;white-space:nowrap;animation:defile 70s linear infinite;will-change:transform}
.bande:hover .bande-piste,.bande:focus-within .bande-piste{animation-play-state:paused}
.bande-groupe{display:flex;align-items:center;flex-shrink:0;list-style:none}
.bande-item{padding-left:22px;font-size:.8rem;font-weight:600;letter-spacing:.02em}
.bande-item::after{content:"";display:inline-block;width:7px;height:7px;background:var(--or-clair);transform:rotate(45deg);margin:0 22px 1px 44px}
.bande a{text-decoration:none}.bande a:hover{text-decoration:underline}
@keyframes defile{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.bande{overflow-x:auto}.bande-piste{animation:none}}

/* Pied de page allégé */
footer{margin-top:36px;padding:28px 0 0}
.pied{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}
.pied-liens{display:flex;flex-wrap:wrap;gap:6px 22px;list-style:none}
.pied-liens li{margin:0;font-size:.85rem}
.pied-liens a:hover{color:var(--accent)}
.reseaux{margin-top:0}
.copyright{margin-top:22px}

/* Éléments flottants au-dessus de la bande */
.retour-haut{bottom:calc(var(--tick-h) + var(--bar-h) + 16px + env(safe-area-inset-bottom))}
.mini-lecteur{bottom:calc(var(--tick-h) + var(--bar-h) + 16px + env(safe-area-inset-bottom))}
@media (max-width:760px){
 :root{--bar-h:58px}
 body{padding-bottom:calc(var(--tick-h) + var(--bar-h) + env(safe-area-inset-bottom) + 8px)}
 .barre-mobile{background:rgba(252,247,234,.98)}
 .hero::before,.hero::after{width:300px;height:300px}
 .hero .fonction{font-size:.88rem;padding:8px 16px}
 .orn{margin-inline:auto}
 .retour-haut,.mini-lecteur{bottom:calc(var(--tick-h) + var(--bar-h) + 14px + env(safe-area-inset-bottom))}
 .pied{flex-direction:column;align-items:flex-start}
}

/* Ajustements */
section[id]{scroll-margin-top:84px}
.logo-txt span{white-space:nowrap}
@media (min-width:761px) and (max-width:1340px){.logo-txt span{display:none}}
