/* Charte de la communauté, appliquée par-dessus le socle (chargé en dernier).
   Repris du site officiel : titres condensés en capitales (--f-head), texte courant (--f-body),
   petits libellés en chasse fixe (--f-mono), or en accent, violet quasi noir en fond.
   Règle : l'italique est RÉSERVÉE aux versets bibliques (police --f-scripture). Aucun emoji dans l'interface. */

/* ---------- typographie ---------- */
body{font-family:var(--f-body);font-size:.94rem;letter-spacing:-.003em;font-feature-settings:"cv11","ss01"}
h1,h2,.brand b{font-family:var(--f-head);font-weight:700;text-transform:var(--head-case);letter-spacing:.005em;font-style:normal}
h1{font-size:clamp(1.9rem,6.4vw,2.6rem);line-height:1}
h2{font-size:1.35rem;line-height:1.08;font-weight:600}
h3{font-family:var(--f-body);font-weight:600;letter-spacing:-.01em}
.brand b{font-size:1.12rem;font-weight:600;letter-spacing:.03em}
.brand .eyebrow{font-size:.75rem}

/* Libellés (« eyebrow ») : chasse fixe, capitales, or. Le trait doré ouvre les titres de page. */
.eyebrow{font-family:var(--f-mono);font-weight:600;font-size:.75rem;letter-spacing:.16em;color:var(--gold);font-style:normal}
.stack > .eyebrow:first-child,section.stack > .eyebrow:first-child{display:inline-flex;align-items:center;gap:10px}
.stack-lg > section.stack:not(.card) > .eyebrow:first-child::before{content:"";width:22px;height:2px;background:currentColor;flex:none}
.top .eyebrow,.fi-h .eyebrow{color:var(--muted)}

/* Titres de groupe (« Quoi de neuf », « Prochain rendez-vous »…) */
.group-title h2,.group-title h3{font-family:var(--f-head);font-weight:600;text-transform:var(--head-case);font-size:1.08rem;letter-spacing:.04em}

/* Salutation de l'accueil : droite, condensée — plus d'italique */
.greet,.dayhead h1.greet,.dayhead .greet{font-family:var(--f-head)!important;font-style:normal!important;font-weight:700!important;text-transform:var(--head-case);letter-spacing:.005em!important;color:var(--ink)}
.dayhead h1.greet,.dayhead .greet{font-size:clamp(1.9rem,8vw,2.5rem)!important;line-height:1!important}

/* ---------- l'italique ne sert qu'aux versets ---------- */
.w-accent,.vcard b,.value b,.vision-hero .motto,.rj-hero .motto,.temoignage p,.temo > p,.feed-item > p.fi-quote,#toast span{font-style:normal!important}
.vcard b,.value b{font-family:var(--f-head)!important;font-weight:600!important;text-transform:var(--head-case);letter-spacing:.01em!important;font-size:1.3rem!important;line-height:1.1!important}
.vision-hero .motto,.rj-hero .motto{font-family:var(--f-head)!important;font-weight:600;text-transform:var(--head-case);letter-spacing:.03em;font-size:1.25rem!important}
.temoignage p,.temo > p,.feed-item > p.fi-quote{font-family:var(--f-body)!important;font-size:1rem!important;line-height:1.55!important;color:var(--ink-2)}
#toast span{font-family:var(--f-body)!important;font-size:.88rem!important}
.w-accent{font-family:var(--f-head)!important;font-weight:700!important;text-transform:var(--head-case)}
/* Versets : serif italique, seul usage autorisé */
.verse q,.theme-hero q,.give-hero q,.reading blockquote,.vision-hero blockquote,q.scripture,.scripture{font-family:var(--f-scripture);font-style:italic;font-weight:400;letter-spacing:0;text-transform:none}

/* ---------- boutons (comme le site) ---------- */
.btn{border-radius:999px;font-weight:500}
.btn.primary{background:var(--brand-gold);border-color:var(--brand-gold);color:#150E21;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:700}
.btn.primary:hover{background:var(--brand-gold-light);border-color:var(--brand-gold-light)}
.theme-hero .btn.primary,.pole-hero .btn.primary,.give-hero .btn.primary{background:var(--brand-gold);border-color:var(--brand-gold);color:#150E21}
.give-hero .btn.primary{font-size:.86rem}

/* ---------- une seule couleur d'accent : l'or ---------- */
:root{--brand-gold:#C9A24B;--brand-gold-light:#ECCA7B}
.badge,.fi-new{background:var(--brand-gold);color:#150E21}
.dot-unread{background:var(--brand-gold)}
.vcard .eyebrow,.missions .n,.lsec .lab,.ec-top .cd,.pourtoi .eyebrow,.pt-row svg,.cw i,.sondage .opt.best .tx small::after,.verse::before,.ring.full b{color:var(--gold)}
.annonce{border-left-color:var(--brand-gold)}
.reading blockquote{border-left-color:var(--brand-gold)}

/* Pastilles d'icônes : monochromes, sobres (fini l'arc-en-ciel violet / orange / rouge) */
.qk .ic,.qk.give .ic,.qk.vis .ic,.navrow .ic,.navrow.give .ic,.navrow.vis .ic,.navrow.pol .ic,.navrow.res .ic,.navrow.res[data-type] .ic,
.feed-item[data-kind] .fi-ic,.fi-ic,.moment .ico,.moment[data-type] .ico,.row[data-type] .t .ti,.event[data-type] .date{
  background:var(--surface-2)!important;color:var(--gold)!important;border:1px solid var(--line)}
.feed-item[data-kind] .fi-h .eyebrow{color:var(--muted)}
.qk .ic{border-radius:12px}
.qk{font-size:.78rem;font-weight:500}
.event .date b{font-family:var(--f-head);font-weight:600}
.event .date span{font-family:var(--f-mono);font-size:.75rem;letter-spacing:.12em}

/* ---------- réactions : icônes au trait, plus d'emoji ---------- */
.react{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:none;color:var(--muted);font-size:.78rem;font-weight:500;cursor:pointer}
.react svg{flex:none}
.react[aria-pressed="true"]{color:var(--gold);border-color:color-mix(in srgb,var(--brand-gold) 55%,transparent);background:color-mix(in srgb,var(--brand-gold) 10%,transparent)}
.react[aria-pressed="true"] svg{fill:currentColor;fill-opacity:.18}

/* ---------- onglets ---------- */
.tab{letter-spacing:-.015em}
.tab[aria-selected="true"] svg{color:var(--gold)}

/* ---------- divers ---------- */
.state{display:inline-flex;align-items:center;gap:5px;font-family:var(--f-mono);font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:999px;margin-right:6px;vertical-align:1px}
.state.ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}
ol.steps{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:6px;color:var(--ink-2)}
.chip{font-family:var(--f-mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
@media (max-width:719px){.tab{font-size:.75rem;padding-inline:0}}
/* Bienvenue : bouton or plein, texte sombre, capitales (comme le site) */
.w-go{background:var(--brand-gold)!important;color:#150E21!important;text-transform:uppercase;letter-spacing:.08em;font-size:.88rem!important;font-weight:700!important}
.w-title{letter-spacing:.005em!important}
.give-hero .btn.primary,.chk[aria-pressed="true"],.navrow .tick{color:#150E21}

/* ---------- Actualités : teinte dorée seulement au survol (ordinateur) ou au toucher (téléphone) ---------- */
.feed-item,.feed-item[data-kind]{background:var(--surface)!important;border-color:var(--line)!important;
  transition:background .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease),transform .35s var(--ease)}
@media (hover:hover){
  .feed-item:hover{background:linear-gradient(150deg,color-mix(in srgb,var(--brand-gold) 11%,var(--surface)),var(--surface) 62%)!important;
    border-color:color-mix(in srgb,var(--brand-gold) 45%,var(--line))!important;box-shadow:var(--shadow);transform:translateY(-2px)}
}
.feed-item:active{background:linear-gradient(150deg,color-mix(in srgb,var(--brand-gold) 11%,var(--surface)),var(--surface) 62%)!important;
  border-color:color-mix(in srgb,var(--brand-gold) 45%,var(--line))!important}

/* ---------- Actualités : carrousel de l'accueil ---------- */
.fc .group-title{align-items:center}
.fc-nav{display:flex;align-items:center;gap:2px}
.fc-arrow{display:none}
@media (hover:hover) and (min-width:720px){.fc-arrow{display:inline-flex}}
.fc-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:16px;overscroll-behavior-x:contain;
  margin-inline:-16px;padding:2px 16px 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
@media (min-width:541px){.fc-track{margin-inline:-20px;padding-inline:20px;scroll-padding-inline:20px}}
.fc-track::-webkit-scrollbar{display:none}
.fc-slide{flex:0 0 min(84%,340px);scroll-snap-align:start;display:flex;min-width:0}
.fc-slide > *{flex:1;min-width:0;margin:0!important;width:auto}
.fc-track.one{overflow:visible}
.fc-track.one .fc-slide{flex-basis:100%}
.upnext .fc-slide > .event.mini{align-items:center}
.upnext .fc-slide > .evt-home,.upnext .fc-slide > .vcard{text-align:left}
.fc-track .feed-item > p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fc-track .feed-item .fi-acts{margin-top:auto}
.fc-track .feed-item .fi-thumb{aspect-ratio:21/9}
.fc-dots{display:flex;justify-content:center;gap:6px;margin-top:-2px}
.fc-dots i{width:6px;height:6px;border-radius:999px;background:var(--line-strong);transition:width .35s var(--ease),background .35s var(--ease)}
.fc-dots i.on{width:18px;background:var(--brand-gold)}

/* ---------- onglets : pastille qui glisse + icône qui rebondit (façon Instagram) ---------- */
@media (min-width:720px){.tabs{position:relative}}
.tab{position:relative;z-index:1;background:none!important;box-shadow:none!important;transition:color .3s var(--ease)}
.tab-ind{position:absolute;left:0;top:0;z-index:0;border-radius:15px;background:var(--accent-soft);pointer-events:none;opacity:0}
.tab-ind.ready{opacity:1;transition:transform .5s cubic-bezier(.34,1.36,.5,1),width .4s var(--ease),opacity .2s}
@media (min-width:720px){.tab-ind{border-radius:10px;background:var(--surface);box-shadow:var(--shadow-sm),0 0 0 1px var(--line)}}
.tab[aria-selected="true"]{color:var(--accent)!important}
@media (min-width:720px){.tab[aria-selected="true"]{color:var(--ink)!important}}
.tab svg{transition:transform .35s var(--ease)}
.tab[aria-selected="true"] svg{transform:translateY(-1px)}
.tab[aria-selected="true"] svg path{fill:currentColor;fill-opacity:.16}
.tab.pop svg{animation:tabpop .45s cubic-bezier(.34,1.56,.64,1)}
@keyframes tabpop{0%{transform:scale(1)}35%{transform:scale(.78)}70%{transform:scale(1.14)}100%{transform:scale(1) translateY(-1px)}}
.tab:active svg{transform:scale(.88)}
.tab .badge[hidden]{display:none}
/* Contenu : arrive du côté de l'onglet choisi */
@media (prefers-reduced-motion:no-preference){
  #app.enter[data-dir="r"] > *{animation:slide-r .42s var(--ease) both}
  #app.enter[data-dir="l"] > *{animation:slide-l .42s var(--ease) both}
}
@keyframes slide-r{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
@keyframes slide-l{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}

/* ---------- défilement façon Instagram : la barre rétrécit, l'en-tête s'efface ---------- */
/* iPhone : jamais d'animation de « transform » sur un élément fixé pendant le défilement (il suivait le contenu) ;
   on anime des propriétés de mise en page (top, left, right, padding), que Safari garde bien en place. */
.top{transition:top .38s cubic-bezier(.2,.8,.2,1),opacity .25s}
@media (max-width:719px){
  .tabs{transition:left .36s var(--ease),right .36s var(--ease),padding .36s var(--ease),border-radius .36s var(--ease)}
  .tab .sm{display:block;max-height:1.4em;opacity:1;transition:max-height .38s var(--ease),opacity .22s}
  body.scroll-down .tabs{left:8%;right:8%;padding:4px;border-radius:20px}
  body.scroll-down .tab .sm{max-height:0;opacity:0}
  body.scroll-down .tab{gap:0;padding-block:8px}
  body.scroll-down .tab .badge{top:1px}
  body.scroll-down .top{top:calc(-72px - env(safe-area-inset-top,0px));opacity:0}
}

/* ---------- tirer pour actualiser ---------- */
html{overscroll-behavior-y:none}
.ptr{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 58px);z-index:19;width:40px;height:40px;display:grid;place-items:center;
  border-radius:50%;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink-2);opacity:0;pointer-events:none;transform:translate(-50%,-44px)}
.ptr svg{stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.ptr.anim{transition:transform .38s cubic-bezier(.2,.8,.2,1),opacity .3s}
.ptr.spin svg{animation:ptrspin .8s steps(8) infinite!important;transform:none!important}
@keyframes ptrspin{to{transform:rotate(360deg)}}
#app.ptr-anim{transition:transform .38s cubic-bezier(.2,.8,.2,1)}

/* ---------- phrase d'accueil : toujours une seule ligne ---------- */
.hello .sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.pcount{font-size:.76rem;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:-6px}
.pcount.over{color:var(--crit);font-weight:600}

/* ---------- groupes dépliables (façon « Avec Lui ») ---------- */
.grps{display:flex;flex-direction:column;gap:10px}
details.grp{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);overflow:hidden;transition:border-color .3s var(--ease)}
details.grp[open]{border-color:var(--line-strong)}
details.grp > summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:44px minmax(0,1fr) auto 18px;align-items:center;gap:14px;padding:14px 16px;-webkit-tap-highlight-color:transparent;user-select:none}
details.grp > summary::-webkit-details-marker{display:none}
details.grp > summary:active{background:color-mix(in srgb,var(--ink) 4%,transparent)}
.grp-i{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--surface-2);color:var(--gold);border:1px solid var(--line)}
.grp-h{display:flex;flex-direction:column;gap:2px;min-width:0}
.grp-h b{font-family:var(--f-body);font-size:1.02rem;font-weight:600;letter-spacing:-.01em;color:var(--ink)}
.grp-h > span{font-size:.84rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.grp-n{display:inline-flex;align-items:center;gap:5px;font-size:.88rem;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.grp-n .badge{margin:0}
.grp-c{display:grid;place-items:center;color:var(--muted);transition:transform .35s var(--ease)}
details.grp[open] .grp-c{transform:rotate(180deg)}
details.grp.full .grp-i{background:var(--brand-gold);border-color:var(--brand-gold);color:#150E21}
details.grp.full .grp-n{color:var(--gold)}
.grp-b{border-top:1px solid var(--line);padding:6px 16px 10px}
details.grp.opening[open] .grp-b{animation:grpin .38s var(--ease) both}
@keyframes grpin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.grp-b .tl .row{padding-block:10px}
.grp-more{margin:4px 0 0;padding-inline:4px;color:var(--gold)}

/* Lignes de liste dans un groupe */
.li-list{display:flex;flex-direction:column}
.li{display:grid;grid-template-columns:42px minmax(0,1fr) 16px;align-items:center;gap:12px;width:100%;padding:11px 0;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;cursor:pointer;color:var(--ink)}
.li:last-child{border-bottom:0}
.li > svg{color:var(--muted)}
.li-d{width:42px;height:42px;border-radius:11px;background:var(--surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;color:var(--ink)}
.li-d b{font-family:var(--f-head);font-weight:600;font-size:1.1rem}
.li-d span{font-family:var(--f-mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:2px}
.li.ic .li-d{color:var(--gold)}
.li-h{display:flex;flex-direction:column;gap:1px;min-width:0}
.li-h b{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.li-h > span{font-size:.8rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.li-tag{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--f-mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:600}
.li-tag .fi-new{font-family:var(--f-body);letter-spacing:.04em}
@media (hover:hover){.li:hover .li-h b{color:var(--gold)}}

/* Ta journée : en-tête sobre, compteur et barre (plus de grande carte ni d'anneau) */
section.dayp{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;gap:14px}
.dayp-h{padding:0 2px!important;align-items:flex-end!important}
.dayp-h h2{font-size:1.6rem!important}
.dp-n{font-family:var(--f-head);font-size:1rem;color:var(--muted);white-space:nowrap}
.dp-n b{font-size:1.7rem;color:var(--ink);font-weight:600;margin-right:2px}
.dp-bar{height:5px;border-radius:999px;background:var(--track);overflow:hidden;margin-top:-4px}
.dp-bar i{display:block;height:100%;border-radius:inherit;background:var(--brand-gold);transition:width .6s var(--ease)}
/* Thème : moments à l'intérieur d'un groupe, sans double carte */
.grp-b .moments{display:flex;flex-direction:column;gap:0}
.grp-b .moment{background:none;border:0;box-shadow:none;border-bottom:1px solid var(--line);border-radius:0;padding:12px 0}
.grp-b .moment:last-child{border-bottom:0}
/* Bibliothèque : lignes d'enseignement dans un groupe, sans carte en double */
.grp-b .navlist{background:none;border:0;box-shadow:none;padding:0}
.grp-b .navrow{padding-inline:0}
/* Groupes sans ligne de résumé : carte plus courte */
details.grp > summary{padding-block:12px}
.grp-i{width:40px;height:40px}
details.grp > summary{grid-template-columns:40px minmax(0,1fr) auto 18px}

/* ---------- fenêtre « Active les notifications » ---------- */
.pask{position:fixed;inset:0;z-index:80;display:grid;place-items:end center;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));background:rgba(10,6,16,0);transition:background .3s}
.pask.on{background:rgba(10,6,16,.55)}
.pask-card{width:min(440px,100%);background:var(--surface);border:1px solid var(--line-strong);border-radius:24px;box-shadow:var(--shadow-lg);padding:24px 22px 18px;display:flex;flex-direction:column;gap:12px;
  transform:translateY(24px);opacity:0;transition:transform .42s cubic-bezier(.2,.8,.2,1),opacity .3s}
.pask.on .pask-card{transform:none;opacity:1}
@media (min-width:720px){.pask{place-items:center}}
.pask-ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--brand-gold);color:#150E21}
.pask-card h2{font-size:1.5rem}
.pask-card p{color:var(--ink-2);line-height:1.55}
.pask-acts{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.pask-acts .btn{min-height:48px;justify-content:center}
.pask-card small{font-size:.78rem;text-align:center}

/* ---------- date de naissance (demande d'accès) ---------- */
.naiss{margin-top:6px;text-align:left}
.naiss > b{font-size:1.05rem}
.naiss-ok{display:flex;align-items:center;gap:6px;color:var(--ok);font-weight:500;font-size:.92rem}

/* ---------- pastille du profil (en haut à droite) + page Mon profil ---------- */
.who-btn{border:0;background:none;padding:0;cursor:pointer;border-radius:50%;line-height:0}
.who-btn .avatar{width:38px;height:38px;box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px color-mix(in srgb,var(--brand-gold) 70%,transparent)}
.who-btn:active .avatar{transform:scale(.94)}
.avatar.xl{width:96px;height:96px;font-size:2rem}
.profil-head{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding-top:26px}
.profil-av{position:relative}
.profil-cam{position:absolute;right:-2px;bottom:-2px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--brand-gold);color:#150E21;border:3px solid var(--surface);cursor:pointer}
.profil-id{display:flex;flex-direction:column;align-items:center;gap:3px}
.profil-id > b{font-family:var(--f-head);font-weight:600;font-size:1.4rem;text-transform:var(--head-case);letter-spacing:.01em}
.profil-nick{color:var(--gold);font-weight:500}
.profil-id small{color:var(--muted);font-size:.82rem}
.profil-id .row-actions{justify-content:center;margin-top:8px}
.profil-id label.btn{cursor:pointer}

/* ---------- pièces jointes et liens dans les messages ---------- */
.composer .attach{flex:none;width:44px;min-height:44px;border-radius:50%;color:var(--muted);cursor:pointer}
.att-pending{display:flex;align-items:center;gap:8px;padding:8px 10px 8px 14px;margin-top:6px;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface);font-size:.85rem;color:var(--ink-2)}
.att-pending span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.att-pending svg{color:var(--gold);flex:none}
.att-pending .btn{min-height:30px;width:30px;font-size:1.2rem}
.bubble .att-img{display:block;margin:2px 0 6px;border-radius:12px;overflow:hidden;background:var(--surface-2);min-height:120px;max-width:260px}
.bubble .att-img img{display:block;width:100%;height:auto;max-height:320px;object-fit:cover}
.bubble .att-doc{display:flex;align-items:center;gap:10px;margin:2px 0 6px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--ink) 6%,transparent);color:inherit;text-decoration:none;max-width:280px}
.bubble .att-doc svg{flex:none;color:var(--gold)}
.bubble .att-doc span{display:flex;flex-direction:column;min-width:0}
.bubble .att-doc b{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bubble .att-doc small{font-size:.74rem;opacity:.75}
.att-err{opacity:.5}
.bubble p a{color:inherit;text-decoration:underline;text-underline-offset:2px;word-break:break-all}

/* ---------- visio : Google Meet d'abord ---------- */
.visio-acts{margin-top:2px}
.linkbtn{border:0;background:none;padding:0;color:var(--gold);font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}

/* ---------- messages façon WhatsApp : panneau d'actions ---------- */
.msheet{position:fixed;inset:0;z-index:85;display:flex;align-items:flex-end;justify-content:center}
.msheet-bg{position:absolute;inset:0;border:0;background:rgba(10,6,16,0);transition:background .25s;cursor:default}
.msheet.on .msheet-bg{background:rgba(10,6,16,.5)}
.msheet-card{position:relative;width:min(480px,100%);max-height:86vh;overflow:auto;background:var(--surface);border:1px solid var(--line-strong);border-bottom:0;border-radius:22px 22px 0 0;
  padding:12px 14px calc(14px + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-lg);transform:translateY(100%);transition:transform .34s cubic-bezier(.2,.8,.2,1)}
.msheet.on .msheet-card{transform:none}
@media (min-width:720px){.msheet{align-items:center}.msheet-card{border-radius:22px;border-bottom:1px solid var(--line-strong)}}
.msheet-card::before{content:"";display:block;width:38px;height:4px;border-radius:4px;background:var(--line-strong);margin:0 auto 10px}
.ms-reacts{display:flex;justify-content:space-between;gap:4px;padding:4px 2px 12px;border-bottom:1px solid var(--line)}
.ms-react{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;border:0;background:none;color:var(--ink-2);cursor:pointer;padding:6px 0;border-radius:14px}
.ms-react svg{width:26px;height:26px;padding:10px;box-sizing:content-box;border-radius:50%;background:var(--surface-2);transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.ms-react small{font-size:.75rem;color:var(--muted)}
.ms-react:active svg{transform:scale(.86)}
.ms-react[aria-pressed="true"] svg{background:var(--brand-gold);color:#150E21}
.ms-prev{padding:10px 4px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px;font-size:.88rem;color:var(--muted)}
.ms-prev b{color:var(--ink);font-size:.84rem}
.ms-prev span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ms-list{display:flex;flex-direction:column;padding-top:4px}
.ms-row{display:flex;align-items:center;gap:14px;padding:12px 6px;border:0;background:none;color:var(--ink);font:inherit;font-size:.96rem;text-align:left;cursor:pointer;border-radius:12px}
.ms-row svg{color:var(--gold);flex:none}
.ms-row:active{background:var(--surface-2)}
.ms-row.danger,.ms-row.danger svg{color:var(--crit)}
.ms-row.person .avatar{flex:none}
.ms-head{display:flex;align-items:center;gap:8px;padding:0 0 8px;border-bottom:1px solid var(--line)}
.ms-head b{font-size:1rem}
.ms-info{display:flex;justify-content:space-between;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line);font-size:.9rem}
.ms-info span{color:var(--muted)} .ms-info b{font-weight:500;text-align:right}
.ms-who{display:flex;flex-direction:column;padding-top:6px}
.ms-whorow{display:flex;align-items:center;gap:10px;padding:8px 4px;font-size:.9rem}
.ms-whorow svg{color:var(--gold)} .ms-whorow span{flex:1} .ms-whorow small{color:var(--muted)}

/* Dans la bulle : transféré, citation, marques, réactions */
.b-fwd{display:flex;align-items:center;gap:4px;font-size:.72rem;font-style:normal;opacity:.7;margin-bottom:3px}
.b-quote{display:flex;flex-direction:column;gap:1px;width:100%;margin:2px 0 6px;padding:6px 10px;border:0;border-left:3px solid var(--brand-gold);border-radius:8px;background:color-mix(in srgb,var(--ink) 7%,transparent);color:inherit;font:inherit;text-align:left;cursor:pointer}
.msg.mine .b-quote{background:rgba(0,0,0,.12)}
.b-quote b{font-size:.74rem;color:var(--gold)}
.msg.mine .b-quote b{color:inherit;opacity:.85}
.b-quote span{font-size:.8rem;opacity:.85;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.b-mark{display:inline-flex;opacity:.7} .b-mark.star svg{fill:currentColor}
.b-edited{font-size:.75rem;opacity:.65}
.b-read{display:inline-flex;margin-left:-4px;color:var(--brand-gold)} .b-read svg + svg{margin-left:-8px}
.b-reacs{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 -2px}
.b-reac{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:.72rem;cursor:pointer}
.b-reac[aria-pressed="true"]{border-color:var(--brand-gold);color:var(--gold)}
.b-reac b{font-weight:600}
.msg.flash .bubble{animation:mflash 1.4s ease}
@keyframes mflash{0%,40%{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-gold) 70%,transparent)}100%{box-shadow:0 0 0 0 transparent}}
.bubble[data-act="selmsg"]{cursor:pointer;-webkit-user-select:none;user-select:none}

/* Bandeau épinglé, réponse ou modification en cours */
.pinbar{position:sticky;top:calc(58px + env(safe-area-inset-top,0px));z-index:12;display:flex;align-items:center;gap:10px;width:100%;margin-bottom:8px;padding:9px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm)}
.pinbar svg{color:var(--gold);flex:none}
.pinbar span{display:flex;flex-direction:column;min-width:0}
.pinbar b{font-size:.76rem;color:var(--gold)} .pinbar small{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cchip{display:flex;align-items:center;gap:10px;margin-top:6px;padding:8px 8px 8px 12px;border-left:3px solid var(--brand-gold);border-radius:12px;background:var(--surface);border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.cchip svg{color:var(--gold);flex:none}
.cchip span{flex:1;display:flex;flex-direction:column;min-width:0}
.cchip b{font-size:.78rem;color:var(--gold)} .cchip small{font-size:.84rem;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cchip .btn{min-height:30px;width:30px;font-size:1.2rem}
.msg-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.icon-txt{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;min-height:30px;padding:2px 8px;color:var(--gold)}

/* ---------- Inviter quelqu'un ---------- */
#who{display:flex;align-items:center;gap:10px}
.who-inv{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-strong);background:var(--surface);color:var(--gold);cursor:pointer}
.who-inv:active{transform:scale(.94)}
.invite-card{display:flex;align-items:center;gap:14px;width:100%;text-align:left;cursor:pointer;color:var(--ink);font:inherit;
  background:linear-gradient(135deg,color-mix(in srgb,var(--brand-gold) 16%,var(--surface)),var(--surface) 70%);border-color:color-mix(in srgb,var(--brand-gold) 40%,var(--line))}
.invite-card .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--brand-gold);color:#150E21;flex:none}
.invite-card .tx{flex:1;display:flex;flex-direction:column;gap:2px}
.invite-card b{font-weight:600}
.invite-card small{color:var(--muted);font-size:.82rem}
.iv-head{display:flex;flex-direction:column;gap:6px;padding:2px 2px 14px}
.iv-head h2{font-size:1.5rem}
.iv-apps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding-bottom:14px}
.iv-app{display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:none;color:var(--ink-2);cursor:pointer;font:inherit}
.iv-ic{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:var(--surface-2);color:var(--gold);border:1px solid var(--line)}
.iv-ic.iv-whatsapp{background:#1FA855;color:#fff;border-color:#1FA855}
.iv-app small{font-size:.74rem}
.iv-app:active .iv-ic{transform:scale(.92)}
.iv-link{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:12px 14px;border:1px dashed color-mix(in srgb,var(--brand-gold) 60%,var(--line));border-radius:14px;background:var(--surface-2);color:var(--ink);font:inherit;cursor:pointer;text-align:left}
.iv-link span:first-child{display:flex;flex-direction:column;min-width:0}
.iv-link small{font-size:.72rem;color:var(--muted)}
.iv-link b{font-family:var(--f-mono);font-size:.86rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.iv-copy{display:inline-flex;align-items:center;gap:5px;color:var(--gold);font-size:.84rem;font-weight:600;flex:none}
.iv-msg{margin-top:10px;font-size:.86rem}
.iv-msg summary{cursor:pointer;color:var(--muted);font-size:.82rem;padding:4px 2px}
.iv-msg p{margin-top:6px;padding:10px 12px;border-radius:12px;background:var(--surface-2);color:var(--ink-2);line-height:1.5}
.iv-qr{display:flex;align-items:center;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.iv-qr canvas{width:112px;height:112px;border-radius:10px;flex:none;background:#fff}
.iv-qr > div{display:flex;flex-direction:column;gap:4px;font-size:.86rem}
.iv-qr span{color:var(--muted);line-height:1.45}
.iv-qr .btn{align-self:flex-start;padding-inline:4px;color:var(--gold)}

/* ---------- entrée : « Rejoindre » d'abord, les membres se reconnectent dessous ---------- */
.auth-member{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding-top:14px;margin-top:4px;border-top:1px solid var(--line);font-size:.88rem;color:var(--muted)}
.auth-member .linkish{color:var(--gold);font-weight:600}
.naiss-install{display:flex;flex-direction:column;gap:8px}

/* ---------- installation guidée ---------- */
.iguide{z-index:200}
.ig-head{display:flex;gap:14px;align-items:center;padding-bottom:12px}
.ig-head img{width:52px;height:52px;border-radius:13px;flex:none}
.ig-head h2{font-size:1.35rem}
.ig-head p{font-size:.86rem;margin-top:2px}
.ig-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.ig-steps li{display:flex;gap:12px;padding:10px;border-radius:14px;border:1px solid transparent;transition:background .35s,border-color .35s}
.ig-steps li.cur{background:color-mix(in srgb,var(--brand-gold) 9%,transparent);border-color:color-mix(in srgb,var(--brand-gold) 40%,transparent)}
.ig-n{width:26px;height:26px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:700;font-size:.8rem;background:var(--surface-2);color:var(--ink-2)}
.ig-steps li.cur .ig-n{background:var(--brand-gold);color:#150E21}
.ig-steps p{font-size:.94rem;line-height:1.45;color:var(--ink)}
.ig-steps p svg{width:17px;height:17px;vertical-align:-3px;color:#2F7CF6}
.ig-mock{margin-top:8px;border-radius:12px;background:#F2F2F7;color:#1C1C1E;border:1px solid rgba(0,0,0,.08);font-family:-apple-system,"SF Pro Text",var(--f-body);font-size:.8rem}
.ig-bar{display:flex;align-items:center;gap:8px;padding:8px 10px}
.ig-url{flex:1;padding:6px 10px;border-radius:10px;background:#fff;color:#3C3C43;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ig-btn{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#2F7CF6;flex:none}
.ig-sheet{display:flex;flex-direction:column;padding:4px 0;background:#fff}
.ig-row{display:flex;align-items:center;justify-content:space-between;flex-direction:row-reverse;gap:10px;padding:9px 14px;border-bottom:1px solid rgba(0,0,0,.06)}
.ig-row:last-child{border-bottom:0}
.ig-row svg{color:#1C1C1E}
.ig-add{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#fff}
.ig-add span{color:#2F7CF6}
.ig-app{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px;background:transparent;border:0;width:max-content}
.ig-app img{width:48px;height:48px;border-radius:12px}
.ig-app span{font-size:.72rem;color:var(--ink-2)}
.ig-mock .hot{position:relative;border-radius:10px;box-shadow:0 0 0 2px var(--brand-gold);animation:ighot 1.6s ease-in-out infinite}
@keyframes ighot{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--brand-gold) 35%,transparent)}}
.ig-foot{display:flex;justify-content:flex-end;padding-top:12px}
.ig-arrow{position:fixed;bottom:calc(4px + env(safe-area-inset-bottom,0px));color:var(--brand-gold);z-index:201;pointer-events:none;animation:igbounce 1.2s ease-in-out infinite;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}
.ig-arrow.center{left:calc(50% - 15px)} .ig-arrow.right{right:18px}
@keyframes igbounce{50%{transform:translateY(6px)}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ig-mock{background:#1C1C1E;color:#F2F2F7;border-color:rgba(255,255,255,.1)} :root:not([data-theme="light"]) .ig-url{background:#2C2C2E;color:#EBEBF5} :root:not([data-theme="light"]) .ig-sheet,:root:not([data-theme="light"]) .ig-add{background:#2C2C2E} :root:not([data-theme="light"]) .ig-row svg{color:#F2F2F7} :root:not([data-theme="light"]) .ig-row{border-color:rgba(255,255,255,.08)}}
:root[data-theme="dark"] .ig-mock{background:#1C1C1E;color:#F2F2F7;border-color:rgba(255,255,255,.1)} :root[data-theme="dark"] .ig-url{background:#2C2C2E;color:#EBEBF5} :root[data-theme="dark"] .ig-sheet,:root[data-theme="dark"] .ig-add{background:#2C2C2E} :root[data-theme="dark"] .ig-row svg{color:#F2F2F7}

/* ---------- références bibliques → YouVersion ---------- */
a.bref{color:inherit;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:var(--brand-gold);text-underline-offset:3px;text-decoration-thickness:1.5px}
a.bref:hover{color:var(--gold)}

/* ---------- événements et pôles : image (photo ou logo) + logo blanc du ministère ---------- */
.hero-photo{display:block;margin:-26px -24px 8px;aspect-ratio:16/8;overflow:hidden;background:color-mix(in srgb,#000 30%,var(--hero-bg))}
@media (max-width:540px){.hero-photo{margin:-22px -18px 6px}}
.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
.hero-logo{display:grid;place-items:center;width:88px;height:88px;border-radius:22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);margin-bottom:6px;overflow:hidden}
.hero-logo img{max-width:72%;max-height:72%;object-fit:contain}
.evt-card.has-thumb{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:14px;align-items:center}
.evt-card.has-thumb > :not(.thumb-img){grid-column:2}
.evt-card.has-thumb .thumb-img{grid-row:1 / span 4;align-self:start}
.thumb-img{width:72px;height:72px;border-radius:14px;overflow:hidden;flex:none;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--line)}
.thumb-img img{width:100%;height:100%;object-fit:cover}
.thumb-img.logo{background:var(--hero-bg)}
.thumb-img.logo img{width:74%;height:74%;object-fit:contain}
.navrow .thumb-img{width:44px;height:44px;border-radius:12px}
.img-f{display:flex;flex-direction:column;gap:8px}
.img-f > span{font-size:.84rem;font-weight:600;color:var(--ink-2)}
.img-row{display:flex;align-items:center;gap:14px}
.img-prev{width:84px;height:84px;border-radius:16px;overflow:hidden;display:grid;place-items:center;flex:none;background:var(--surface-2);border:1px dashed var(--line-strong);color:var(--muted)}
.img-prev img{width:100%;height:100%;object-fit:cover}
.img-prev.busy{opacity:.5}
.img-acts{display:flex;flex-wrap:wrap;gap:6px}
.img-acts label.btn{cursor:pointer}
.img-mode{align-self:flex-start}
.img-mode label{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:.84rem;cursor:pointer}
.img-mode input{accent-color:var(--brand-gold)}

/* ---------- signature : le logo du ministère, petit, en bas à droite des pages où il a du sens ---------- */
/* (Plus, Réglages, Mon profil, entrée et attente) — comme la signature d'un document, jamais sur les pages de contenu. */
.signature{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:8px;padding:6px 2px 0}
.signature span{font-size:.72rem;color:var(--muted);letter-spacing:.02em}
.signature img{height:26px;width:auto;opacity:.85}
/* Logo en deux versions (.wm-pair : signature, affiche du QR code). Fond sombre (par défaut) : logo blanc ;
   fond clair : logo noir (ou, faute de version noire, le blanc assombri) ; à l'impression : toujours le noir. */
.wm-pair img.wm-on-light{display:none}
@media (prefers-color-scheme:light){
  :root:not([data-theme="dark"]) .wm-pair:has(.wm-on-light) img.wm-on-dark{display:none}
  :root:not([data-theme="dark"]) .wm-pair img.wm-on-light{display:block}
  :root:not([data-theme="dark"]) .wm-pair:not(:has(.wm-on-light)) img{filter:brightness(0)}
}
:root[data-theme="light"] .wm-pair:has(.wm-on-light) img.wm-on-dark{display:none}
:root[data-theme="light"] .wm-pair img.wm-on-light{display:block}
:root[data-theme="light"] .wm-pair:not(:has(.wm-on-light)) img{filter:brightness(0)}
.signature img.wm-on-light{opacity:.7}
.qr-wm{display:flex;justify-content:center;margin-bottom:6px}
.qr-wm img{height:64px;width:auto}
@media print{
  .wm-pair:has(.wm-on-light) img.wm-on-dark{display:none!important}
  .wm-pair img.wm-on-light{display:block!important;opacity:1!important}
  .wm-pair:not(:has(.wm-on-light)) img{filter:brightness(0)!important}
  .qr-wm img{height:120px}
}

.gate-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}
.gate-foot .signature{margin:0;padding:0}

/* ---------- Thème : une carte « Ta semaine » ---------- */
.weekc{display:flex;flex-direction:column;gap:12px}
.weekc-h{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.weekc-h h2{font-size:1.25rem;margin-top:4px}
.wk-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:2px}
.wk-day{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 7px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);cursor:pointer;font:inherit;transition:background .25s,border-color .25s,color .25s}
.wk-day span{font-family:var(--f-mono);font-size:.75rem;letter-spacing:.08em}
.wk-day b{font-family:var(--f-head);font-size:1.15rem;font-weight:600;color:var(--ink)}
.wk-day i{width:5px;height:5px;border-radius:50%;background:transparent}
.wk-day i.on{background:var(--brand-gold)}
.wk-day.today span{color:var(--gold)}
.wk-day.full{background:color-mix(in srgb,var(--brand-gold) 16%,var(--surface-2));border-color:color-mix(in srgb,var(--brand-gold) 45%,transparent)}
.wk-day.cur{border-color:var(--brand-gold);box-shadow:0 0 0 1px var(--brand-gold) inset;background:var(--surface)}
.wk-day:active{transform:scale(.95)}
.weekc .moments{display:flex;flex-direction:column;gap:0}
.weekc .moment{background:none;border:0;box-shadow:none;border-bottom:1px solid var(--line);border-radius:0;padding:12px 0}
.weekc .moment:last-child{border-bottom:0}
.wk-empty{padding:6px 2px;font-size:.9rem}
.wk-sub{border-top:1px solid var(--line);padding-top:10px;display:flex;flex-direction:column;gap:2px}

/* ---------- Vision : plus court ---------- */
.more-about summary{cursor:pointer;color:var(--gold);font-weight:600;font-size:.9rem;list-style:none}
.more-about summary::-webkit-details-marker{display:none}
.more-about[open] summary{display:none}
.more-about p + p{margin-top:12px}
.missions2{padding:4px 18px}
.mis{border-bottom:1px solid var(--line)}
.mis:last-child{border-bottom:0}
.mis > summary,.mis-h{display:grid;grid-template-columns:30px minmax(0,1fr) 16px;align-items:center;gap:10px;padding:14px 0;list-style:none;cursor:pointer}
.mis > summary::-webkit-details-marker{display:none}
.mis .n{font-family:var(--f-mono);font-size:.78rem;font-weight:600;color:var(--gold)}
.mis b{font-weight:600;font-size:.98rem;line-height:1.3}
.mis > summary svg{color:var(--muted);transition:transform .3s var(--ease)}
.mis[open] > summary svg{transform:rotate(180deg)}
.mis > p{padding:0 0 14px 40px;color:var(--muted);font-size:.92rem;line-height:1.5}

/* =====================================================================================================
   AUDIT DESIGN — actions 1 à 4 (22 oct. 2026). Bloc final : il a le dernier mot sur tout ce qui précède.
   ===================================================================================================== */

/* 1. L'or est une récompense : bouton principal, progression, élément actif, pastilles. Le reste en neutre. */
:root{--label:var(--muted);--icon-quiet:var(--ink-2)}
.eyebrow,.vcard .eyebrow,.pourtoi .eyebrow,.lsec .lab,.li-tag,.missions .n,.mis .n,.ec-top .cd,.cw i{color:var(--label)!important}
.stack-lg > section.stack:not(.card) > .eyebrow:first-child::before{background:var(--brand-gold)}
.qk .ic,.qk.give .ic,.qk.vis .ic,.navrow .ic,.navrow.give .ic,.navrow.vis .ic,.navrow.pol .ic,.navrow.res .ic,.navrow.res[data-type] .ic,
.feed-item[data-kind] .fi-ic,.fi-ic,.moment .ico,.moment[data-type] .ico,.row[data-type] .t .ti,.grp-i,.li.ic .li-d,.ms-row svg,.cchip svg,.pinbar svg,.iv-ic,.who-inv{color:var(--icon-quiet)!important}
.iv-ic.iv-whatsapp{color:#fff!important}
.ms-row.danger svg{color:var(--crit)!important}
.event[data-type] .date,.li-d{color:var(--ink)!important}
.linkbtn,.auth-member .linkish,.icon-txt,.grp-more,.iv-copy,.profil-nick,.ig-arrow{color:var(--ink)!important}
.grp-more,.linkbtn,.auth-member .linkish{text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}
a.bref{text-decoration-color:color-mix(in srgb,var(--ink) 35%,transparent)}
a.bref:hover{color:var(--ink)}
.b-quote b,.pinbar b,.cchip b{color:var(--ink-2)!important}
.wk-day.today span{color:var(--ink)}
.state.ok{color:var(--ok)}
/* restent dorés : .btn.primary, barres de progression, onglet actif, jour choisi, tout fait, pastilles, réaction choisie */

/* 2. Capitales Oswald pour le titre de page et la marque seulement. */
h2,.group-title h2,.group-title h3,.vcard b,.value b,.vision-hero .motto,.rj-hero .motto,.w-accent,.profil-id > b,.event .date b,.li-d b{
  font-family:var(--f-body)!important;text-transform:none!important;letter-spacing:-.01em!important;font-weight:600!important}
h2{font-size:1.25rem;line-height:1.2}
.group-title h2,.group-title h3{font-size:1.06rem!important}
.vcard b,.value b{font-size:1.15rem!important;line-height:1.25!important}
.vision-hero .motto,.rj-hero .motto{font-size:1.1rem!important}
.greet,.dayhead h1.greet,.dayhead .greet{text-transform:none!important;letter-spacing:-.005em!important}
.event .date b,.li-d b{font-family:var(--f-head)!important;font-weight:600!important}

/* 3. Une règle pour les boutons : casse normale, trois tailles (48 · 40 · 32), un seul principal par carte. */
.btn{min-height:40px;padding:8px 16px;font-size:.9rem;font-weight:500;letter-spacing:0;text-transform:none}
.btn.primary,.theme-hero .btn.primary,.pole-hero .btn.primary,.give-hero .btn.primary,.w-go{text-transform:none!important;letter-spacing:-.005em!important;font-size:.95rem!important;font-weight:600!important;min-height:48px;padding-inline:22px}
.btn.sm,.row.ev .btn,.react,.b-reac{min-height:32px}
.btn.icon{width:40px;min-height:40px}
.btn.ghost{color:var(--ink-2)}
.card .row-actions .btn.primary + .btn.primary{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}

/* 4. Trois niveaux de surface : fond < carte < carte mise en avant (la bordure ne sépare plus, elle affine). */
:root{--raised:var(--surface)}
/* Clair : la carte mise en avant reste blanche, une ombre plus nette la détache ; sombre : un violet plus clair. */
.verse,.lect-home,.anniv-card,.pourtoi,.vcard{box-shadow:var(--shadow)}
.card,.grp,details.grp,.feed-item,.evt-card,.weekc{border-color:var(--line)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--raised:#271B37}}
:root[data-theme="dark"]{--raised:#271B37}
.verse,.lect-home,.anniv-card,.pourtoi,.vcard{background-color:var(--raised)}
/* 1 (suite) : étiquettes, références et liens d'information en neutre ; cadres dorés réservés au bouton « Inviter ». */
.chip{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}
.chip.lead-chip{background:rgba(255,255,255,.1);color:var(--hero-ink);border-color:rgba(255,255,255,.16)}
.hello .sub b{color:var(--ink)}
.vd-card .ref,.vd-hero .ref,.theme-hero .ref,.give-hero .ref{color:color-mix(in srgb,var(--hero-ink) 78%,transparent)}
.ig-steps li.cur{border-color:var(--line-strong)}
.abo-cta{background:var(--surface)!important;border-color:var(--line)!important}
.abo-cta .abo-ic{background:var(--surface-2)!important;color:var(--icon-quiet)!important}

/* =====================================================================================================
   AUDIT DESIGN — actions 5 et 6 : accueil « moment du jour », textures et couvertures.
   ===================================================================================================== */
/* Textures de marque : violet profond + lumière dorée, quatre variantes (halo, rayons, braise, voile). */
.tex{background-color:var(--hero-bg)!important;color:var(--hero-ink)}
.tex-0{background-image:radial-gradient(120% 90% at 100% 0%,rgba(236,202,123,.30),transparent 55%),radial-gradient(80% 70% at 0% 100%,rgba(107,56,148,.55),transparent 60%)!important}
.tex-1{background-image:repeating-conic-gradient(from 200deg at 0% 0%,rgba(236,202,123,.10) 0deg 4deg,transparent 4deg 13deg),radial-gradient(90% 80% at 0% 0%,rgba(236,202,123,.22),transparent 60%),linear-gradient(160deg,#2A1A40,var(--hero-bg) 70%)!important}
.tex-2{background-image:radial-gradient(90% 70% at 0% 100%,rgba(238,123,34,.30),transparent 55%),radial-gradient(70% 60% at 100% 0%,rgba(236,202,123,.22),transparent 60%),linear-gradient(200deg,#241636,var(--hero-bg))!important}
.tex-3{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 1px,transparent 1px 9px),radial-gradient(100% 80% at 50% 0%,rgba(107,56,148,.6),transparent 65%),radial-gradient(60% 50% at 100% 100%,rgba(236,202,123,.18),transparent 70%)!important}
/* Couverture photo : l'image en fond, un voile violet pour garder le texte lisible. */
.has-cover{position:relative;overflow:hidden;background:var(--hero-bg)!important}
.cover{position:absolute;inset:0;z-index:0}
.cover img{width:100%;height:100%;object-fit:cover;display:block}
.cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,8,19,.35),rgba(13,8,19,.82) 70%)}
.has-cover > :not(.cover),.tex > *{position:relative;z-index:1}
.theme-hero.has-cover .logo-mark{display:none}

/* Le moment du jour : le verset en grand, la carte la plus forte de l'accueil. */
.vd-hero-card{padding:26px 24px 20px;min-height:280px;justify-content:space-between;box-shadow:var(--shadow-lg)}
.vd-hero-card::before{display:none}
.vd-hero-card q{font-size:clamp(1.45rem,6.4vw,1.75rem)!important;line-height:1.28!important}
.vd-hero-card .vd-top .eyebrow{color:rgba(246,241,230,.75)!important}

/* « Pour aller plus loin » : replié sous les trois blocs essentiels. */
.home-more{border-top:1px solid var(--line);padding-top:6px}
.home-more > summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 18px;grid-template-rows:auto auto;column-gap:12px;padding:14px 2px;color:var(--ink)}
.home-more > summary::-webkit-details-marker{display:none}
.home-more > summary span{font-weight:600;font-size:1.02rem}
.home-more > summary small{grid-column:1;color:var(--muted);font-size:.84rem}
.home-more > summary svg{grid-column:2;grid-row:1 / span 2;align-self:center;color:var(--muted);transition:transform .3s var(--ease)}
.home-more[open] > summary svg{transform:rotate(180deg)}
.home-more[open] > .stack-lg{padding-top:8px}
.home-more.opening[open] > .stack-lg{animation:grpin .38s var(--ease) both}

/* Bibliothèque : une couverture par enseignement (miniature YouTube ou texture). */
.rcover{width:72px;height:46px;border-radius:10px;overflow:hidden;flex:none;display:grid;place-items:center;color:rgba(246,241,230,.85);background:var(--hero-bg)}
.rcover img{width:100%;height:100%;object-fit:cover;display:block}
.rcover.grp-cover{width:44px;height:44px;border-radius:12px}
.navrow.res{gap:14px}
form[data-form="theme"] .img-mode{display:none}
.home-comm{gap:10px}
/* Boutons secondaires sur les cartes sombres (verset, thème, bandeaux) : texte clair, quel que soit le thème. */
.vd-card .btn:not(.primary),.theme-hero .btn:not(.primary),.give-hero .btn:not(.primary){color:var(--hero-ink)!important}
/* Le titre du thème est le titre de la page Thème : capitales condensées, en grand. */
.theme-hero h2{font-family:var(--f-head)!important;text-transform:var(--head-case)!important;letter-spacing:.005em!important;font-weight:700!important;font-size:clamp(1.8rem,7.4vw,2.3rem)!important;line-height:1.02!important}
.theme-hero .eyebrow,.give-hero .eyebrow,.vd-card .eyebrow,.tex .eyebrow,.has-cover .eyebrow,.evt-home .eyebrow,.vd-hero .eyebrow{color:rgba(246,241,230,.72)!important}

/* =====================================================================================================
   AUDIT DESIGN — actions 7 à 11
   ===================================================================================================== */
/* 7. Messages groupés : une suite d'une même personne se serre ; « Amen » devient une icône + compteur. */
.msg.cont{margin-top:-3px}
.msg .av-sp{width:28px;flex:none}
.msg.cont .bubble{border-top-left-radius:8px}
.msg.mine.cont .bubble{border-top-right-radius:8px;border-top-left-radius:var(--r)}
.msg.more:not(.mine) .bubble{border-bottom-left-radius:8px}
.amen{display:inline-flex;align-items:center;gap:4px;min-height:26px}
.amen b{font-weight:600}
.amen[aria-pressed="true"]{background:color-mix(in srgb,var(--brand-gold) 16%,transparent)!important;color:var(--gold)!important}
.msg.mine .amen[aria-pressed="true"]{color:var(--on-accent)!important}
/* 8. Grand texte : tout est en rem ; la taille de base suit le choix de Réglages → Affichage, ou celle de l'iPhone. */
html[data-text="normal"]{font-size:100%}
html[data-text="grand"]{font-size:112.5%}
html[data-text="tgrand"]{font-size:125%}
.eyebrow{letter-spacing:.12em}
.seg-ctl button{white-space:nowrap}
/* 11. Temps de l'année : une lueur de saison sur le verset du jour et l'en-tête du thème, et son nom près de la date. */
:root{--season:transparent}
html[data-season="avent"]{--season:rgba(110,91,216,.42)}
html[data-season="noel"]{--season:rgba(243,213,138,.40)}
html[data-season="careme"]{--season:rgba(122,78,140,.45)}
html[data-season="paques"]{--season:rgba(255,243,209,.38)}
html[data-season="pentecote"]{--season:rgba(225,68,43,.42)}
html[data-season="periode"]{--season:rgba(231,200,115,.40)}
html[data-season] .vd-hero-card::after,html[data-season] .theme-hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(90% 70% at 100% 100%,var(--season),transparent 65%)}
.season-tag{color:var(--ink-2)}
html[data-season] .season-tag::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:1px;background:var(--season);box-shadow:0 0 0 1px var(--line-strong)}
/* Boutons ronds (envoi, icône seule) : jamais de marge intérieure, sinon l'icône disparaît. */
.composer .btn,.btn.icon,.btn.primary.icon{padding:0!important;min-height:44px;width:44px;flex:none}
.btn.icon{min-height:40px;width:40px}
/* Barre d'onglets : libellés à taille fixe (comme sur iPhone), pour ne jamais être coupés en grand texte. */
@media (max-width:719px){.tab{font-size:12px!important}.tab svg{width:21px;height:21px}}

/* =====================================================================================================
   CORRECTIFS (22 oct. 2026) — grand texte, couvertures, puces, en-tête
   ===================================================================================================== */
/* En-tête et barre d'onglets : tailles fixes (comme les barres d'une appli iPhone), ils ne grossissent pas avec le texte. */
.top .brand .eyebrow{font-size:10.5px!important;letter-spacing:.14em}
.top .brand b{font-size:18px!important}
.who-inv,.who-btn .avatar{width:38px!important;height:38px!important}
/* Messages : les quatre volets défilent si le texte est grand, sans couper « Témoignages ». */
.msg-seg{display:flex!important;overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap!important}
.msg-seg::-webkit-scrollbar{display:none}
.msg-seg button{flex:1 0 auto;overflow:visible!important;text-overflow:clip!important;padding-inline:12px!important}
/* États vides : Inter, pas Oswald. */
.empty b{font-family:var(--f-body)!important;font-weight:600!important;font-size:1.1rem!important;letter-spacing:-.01em}
/* Bibliothèque : la couverture a sa propre colonne (elle chevauchait le titre). */
.navrow.res{grid-template-columns:72px minmax(0,1fr) auto!important}
.navrow.res .tx b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.navrow.res.done .tx b{color:var(--muted)!important}
/* Listes (pôles…) : une puce trop longue passe sous le nom au lieu de sortir de l'écran. */
.navrow .tx b{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;overflow-wrap:anywhere}
.navrow .tx b .chip{letter-spacing:.06em}
.navrow .thumb-img{grid-column:1}
/* Bandeau d'événement : l'affiche entière (sans la recadrer), le lieu sous la date. */
.hero-photo{aspect-ratio:auto!important;max-height:340px;display:flex!important;justify-content:center;background:#0b0710!important}
.hero-photo img{width:100%!important;height:auto!important;max-height:340px;object-fit:contain!important}
.evt-hero .evt-when{margin:0}
.evt-hero .evt-where{display:flex;align-items:center;gap:6px;margin:0;color:color-mix(in srgb,var(--hero-ink) 80%,transparent)}
.evt-hero .evt-where svg{flex:none;opacity:.85}

/* Lisibilité : un voile sombre léger sur les cartes à texture (verset du jour, thème), pour que le texte ressorte. */
.tex{position:relative;isolation:isolate}
.tex::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;display:block!important;width:auto!important;background:linear-gradient(180deg,rgba(8,4,14,.34),rgba(8,4,14,.52))}
.tex > *{position:relative;z-index:1}
.tex .logo-mark{position:absolute!important;z-index:0}
