/* Le site du fidèle — don.consistoire.org (docs/SPEC-ESPACE-DON.md).
   Feuille COMMUNE : jetons, polices, en-tête, pied de page, fenêtre de connexion, champs, et l'espace fidèle.
   Les couleurs viennent de la palette choisie dans le back-office : chaque page émet un bloc :root{…}
   (Core\Formulaires\Palette::css) AVANT cette feuille. Les sections propres à l'accueil sont dans
   don-accueil.css. Aucune police externe (D58) : Plus Jakarta Sans et Fraunces (italique) sont hébergées par le CRM.
   La feuille est servie depuis /public/assets/css/ : les chemins des polices lui sont relatifs. */
@font-face{
  font-family:"Plus Jakarta Sans";font-style:normal;font-weight:200 800;font-display:swap;
  src:url("../fonts/don/plus-jakarta-sans-latin-wght.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Fraunces";font-style:italic;font-weight:100 900;font-display:swap;
  src:url("../fonts/don/fraunces-italic-latin-wght.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root{
  --ink:#141a2e; --muted:#535b73; --faint:#6f7789; --white:#fff;
  --ok:#1c6b43; --ok-pale:#e6f5ec; --alerte:#a3262b; --alerte-pale:#fdecec;
  --r-xl:28px; --r-lg:20px; --r-md:14px;
  --shadow:0 24px 60px rgba(var(--navy-deep-rgb),.16); --shadow-soft:0 10px 30px rgba(var(--navy-deep-rgb),.08);
  --sans:"Plus Jakarta Sans",-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  --serif:"Fraunces",Georgia,"Times New Roman","Noto Serif",serif;
}
/* Réglages de base dans une couche CSS déclarée la PREMIÈRE (donc la plus faible) : là où une page charge aussi la
   feuille Tailwind du CRM (écrans de l'espace pas encore réécrits), ses utilitaires (text-*, bg-*) l'emportent sur
   ces réglages d'éléments. site.css est toujours chargée avant les autres feuilles. */
@layer site-base{
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none}
  button,input,select,textarea{font:inherit;color:inherit}
  button{cursor:pointer}
  svg{flex:none}
}
.wrap{width:min(1200px,calc(100% - 40px));margin:0 auto}
.ico{width:22px;height:22px}
.ico-sm{width:18px;height:18px}
.ico-xs{width:15px;height:15px}
.ico-grand{width:64px;height:64px;opacity:.92}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.serif{font-family:var(--serif);font-style:italic;font-weight:600;letter-spacing:-.01em}
[hidden]{display:none !important}

/* ── Boutons ───────────────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:12px 20px;font-weight:700;font-size:15px;line-height:1.2;border:1.5px solid transparent;transition:transform .15s,box-shadow .15s,background .15s;white-space:nowrap;background:none;cursor:pointer}
.btn:hover{transform:translateY(-1px)}
.btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.btn-gold{background:linear-gradient(135deg,var(--gold-light),var(--gold) 55%,var(--gold-strong));color:var(--navy-deep);box-shadow:0 10px 24px rgba(var(--gold-rgb),.35)}
.btn-gold:hover{box-shadow:0 14px 30px rgba(var(--gold-rgb),.45)}
.btn-navy{background:var(--navy);color:#fff;box-shadow:0 10px 24px rgba(var(--navy-rgb),.28)}
.btn-navy:hover{background:var(--navy-ink)}
.btn-outline{border-color:#cbd3e4;color:var(--navy);background:#fff}
.btn-outline:hover{border-color:var(--navy)}
.btn-white{background:#fff;color:var(--navy-deep);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.btn-ghost{color:var(--navy);padding-left:8px;padding-right:8px}
.btn-lg{padding:16px 26px;font-size:16.5px}
.btn-sm{padding:8px 14px;font-size:14px;gap:7px}
.btn-bloc{width:100%}
.btn[aria-disabled="true"],.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}

/* ── Annonce de saison ─────────────────────────────────────────────────── */
.annonce{background:linear-gradient(90deg,var(--gold-strong),var(--gold) 40%,var(--gold-light));color:var(--navy-deep);font-size:14px;font-weight:600}
.annonce .wrap{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;position:relative;padding:6px 36px;text-align:center}
.annonce a{text-decoration:underline;text-underline-offset:3px;font-weight:800;white-space:nowrap}
.annonce .fermer{position:absolute;right:0;background:none;border:0;color:var(--navy-deep);opacity:.65;padding:6px}
.annonce .fermer:hover{opacity:1}

/* ── En-tête ───────────────────────────────────────────────────────────── */
.header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid rgba(15,23,42,.06)}
.header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px}
.brand img{height:46px;width:auto;display:block}
.nav{display:flex;gap:28px;font-size:15px;font-weight:600;color:#38415c}
.nav a{position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .2s}
.nav a:hover::after,.nav a:focus-visible::after,.nav a[aria-current]::after{transform:scaleX(1)}
.nav a[aria-current]{color:var(--navy-deep)}
.actions{display:flex;gap:10px;align-items:center}
.moi{position:relative}
.moi-bouton{display:inline-flex;align-items:center;gap:10px;padding:5px 14px 5px 5px;border-radius:999px;border:1.5px solid #dfe3ee;background:#fff;font-weight:700;font-size:15px;color:var(--navy-deep)}
.moi-bouton:hover,.moi-bouton[aria-expanded="true"]{border-color:var(--navy)}
.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13.5px;color:var(--navy-deep);background:linear-gradient(135deg,var(--gold-light),var(--gold));flex:none}
.avatar-lg{width:56px;height:56px;font-size:19px}
.moi-menu{position:absolute;right:0;top:calc(100% + 10px);width:290px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:8px;z-index:40}
.moi-menu .qui{padding:12px 12px 14px;border-bottom:1px solid var(--line);margin-bottom:6px}
.moi-menu .qui strong{display:block;font-size:15.5px}
.moi-menu .qui span{font-size:13px;color:var(--muted);word-break:break-all}
.moi-menu a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:12px;font-size:14.5px;font-weight:600;color:#2b3450}
.moi-menu a:hover,.moi-menu a:focus-visible{background:var(--bg);outline:0}
.moi-menu a svg{color:#8a92a6}
.moi-menu .sep{height:1px;background:var(--line);margin:6px 4px}
.cloche{position:relative}
.cloche-bouton{position:relative;width:44px;height:44px;border-radius:50%;border:1.5px solid #dfe3ee;background:#fff;display:grid;place-items:center;color:var(--navy-deep);cursor:pointer}
.cloche-bouton:hover,.cloche-bouton[aria-expanded="true"]{border-color:var(--navy)}
.cloche-compte{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;border-radius:999px;padding:0 5px;display:grid;place-items:center;background:#d8452f;color:#fff;font-size:11px;font-weight:800;border:2px solid #fff}
.cloche-menu{position:absolute;right:0;top:calc(100% + 10px);width:360px;max-width:calc(100vw - 24px);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:8px;z-index:41}
.cloche-tete{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 12px 12px;border-bottom:1px solid var(--line);margin-bottom:4px}
.cloche-tete strong{font-size:15.5px}
.cloche-tete span{font-size:12.5px;color:var(--faint)}
.cloche-liste{max-height:min(420px,60vh);overflow:auto}
.cloche-item{display:flex;gap:11px;align-items:flex-start;padding:10px 12px;border-radius:12px;color:#2b3450;position:relative}
.cloche-item:hover,.cloche-item:focus-visible{background:var(--bg);outline:0}
.cloche-item b{display:block;font-size:14px;font-weight:700}
.cloche-item small{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.cloche-item.nouveau b::after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#d8452f;margin-left:7px;vertical-align:middle}
.cloche-ico{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--gold-pale);color:var(--gold-strong);flex:none}
.cloche-vide{margin:0;padding:14px 12px;font-size:14px;color:var(--muted)}
.cloche-pied{display:flex;justify-content:center;align-items:center;gap:6px;padding:10px;margin-top:4px;border-top:1px solid var(--line);font-size:13.5px;font-weight:800;color:var(--navy)}
.compte{min-width:22px;height:22px;border-radius:999px;padding:0 7px;display:inline-grid;place-items:center;background:#d8452f;color:#fff;font-size:12px;font-weight:800;margin-left:auto}

/* ── Bandeaux (pages du site, espace) ──────────────────────────────────── */
.bandeau{position:relative;background:var(--navy-deep);color:#fff;overflow:hidden}
.bandeau .photo{position:absolute;inset:0 0 0 38%;background-size:cover;background-position:center}
.bandeau .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy-deep) 0%,rgba(var(--navy-deep-rgb),.92) 22%,rgba(var(--navy-deep-rgb),.55) 55%,rgba(var(--navy-deep-rgb),.25) 100%),linear-gradient(0deg,rgba(var(--navy-deep-rgb),.95) 0%,rgba(var(--navy-deep-rgb),0) 45%)}
.bandeau .motif{position:absolute;inset:0;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.2'%3E%3Cpath d='M32 10 L50 41 L14 41 Z'/%3E%3Cpath d='M32 54 L14 23 L50 23 Z'/%3E%3C/g%3E%3C/svg%3E")}
.bandeau .halo{position:absolute;width:620px;height:620px;left:-180px;top:-240px;border-radius:50%;background:radial-gradient(circle,rgba(var(--gold-rgb),.3),rgba(var(--gold-rgb),0) 65%)}
.bandeau .wrap{position:relative;padding:44px 0 56px;display:flex;flex-direction:column;gap:14px}
.bandeau h1{margin:0;font-size:clamp(34px,4.4vw,54px);line-height:1.04;letter-spacing:-.035em;font-weight:800;max-width:720px}
.bandeau h1 em{font-family:var(--serif);font-style:italic;font-weight:600;color:var(--gold-light);letter-spacing:-.02em}
.bandeau p{margin:0;max-width:620px;font-size:17px;color:rgba(255,255,255,.82)}
.pastille{display:inline-flex;align-items:center;gap:9px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);font-size:13.5px;font-weight:600;align-self:flex-start}

/* ── Cartes, titres, badges ────────────────────────────────────────────── */
.carte{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-soft)}
.carte-p{padding:26px 28px}
.surtitre{font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-strong)}
.sous{color:var(--muted)}
.lien-fort{font-weight:800;color:var(--navy);display:inline-flex;gap:7px;align-items:center}
.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 10px;font-size:12.5px;font-weight:800;white-space:nowrap}
.b-vert{background:var(--ok-pale);color:var(--ok)}
.b-or{background:var(--gold-pale);color:var(--gold-strong)}
.b-bleu{background:#e8edfb;color:var(--navy)}
.b-gris{background:#eef0f4;color:var(--muted)}
.b-rouge{background:var(--alerte-pale);color:var(--alerte)}
.encart{display:flex;gap:11px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:var(--bg);font-size:14px;color:#3d4660;line-height:1.5}
.encart svg{margin-top:1px}
.encart.or{background:var(--gold-pale);color:#5b4410}
.encart.vert{background:var(--ok-pale);color:#164f33}
.encart.rouge{background:var(--alerte-pale);color:#7a1c20}
.separateur{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:13px;font-weight:700}
.separateur::before,.separateur::after{content:"";flex:1;height:1px;background:var(--line)}

/* ── Champs ────────────────────────────────────────────────────────────── */
.champ{display:flex;flex-direction:column;gap:7px}
.champ label,.etiquette{font-size:13.5px;font-weight:800;color:#2b3450}
.champ .facultatif{font-weight:600;color:var(--faint)}
.champ .ligne-lbl{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.champ .ligne-lbl a{font-size:13.5px;font-weight:700;color:var(--navy)}
.saisie{height:50px;border:1.5px solid #d9dce6;border-radius:14px;background:#fbfcfe;padding:0 16px;font-size:16px;width:100%;color:var(--ink)}
.saisie:focus{outline:0;border-color:var(--navy);box-shadow:0 0 0 4px rgba(var(--navy-rgb),.1);background:#fff}
.saisie[aria-invalid="true"]{border-color:var(--alerte)}
select.saisie{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23535b73'%3E%3Cpath fill-rule='evenodd' d='M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:40px}
.saisie.code{font-size:26px;letter-spacing:.5em;text-align:center;font-weight:800;color:var(--navy-deep);padding-left:.5em}
.case{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;color:#2b3450;cursor:pointer}
.case input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--navy);flex:none}
.aide-champ{font-size:13px;color:var(--faint)}
.erreur{color:var(--alerte);font-size:13.5px;font-weight:600}

/* Onglets segmentés */
.onglets{display:flex;gap:4px;background:var(--bg);border-radius:999px;padding:4px}
.onglet{flex:1;border:0;background:none;border-radius:999px;padding:10px 14px;font-weight:700;font-size:14.5px;color:var(--muted);display:inline-flex;gap:8px;align-items:center;justify-content:center}
.onglet[aria-selected="true"]{background:#fff;color:var(--navy-deep);box-shadow:0 2px 8px rgba(var(--navy-deep-rgb),.12)}

/* ── Fenêtre de connexion (et page /connexion) ─────────────────────────── */
.voile{position:fixed;inset:0;background:rgba(11,26,77,.55);backdrop-filter:blur(3px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
.fenetre{width:min(900px,100%);display:grid;grid-template-columns:350px minmax(0,1fr);background:#fff;border-radius:30px;overflow:hidden;box-shadow:0 40px 100px rgba(5,12,40,.45);position:relative;margin:auto}
.fenetre.en-page{box-shadow:var(--shadow);margin:40px auto}
.fenetre .gauche{background:linear-gradient(155deg,var(--navy) 0%,var(--navy-ink) 45%,var(--indigo) 100%);color:#fff;padding:36px 32px;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:22px}
.fenetre .gauche::before{content:"";position:absolute;right:-110px;top:-110px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(var(--gold-rgb),.38),rgba(var(--gold-rgb),0) 70%)}
.fenetre .gauche img{height:34px;width:auto;align-self:flex-start;position:relative}
.fenetre .gauche h2{margin:0;font-size:27px;line-height:1.12;letter-spacing:-.025em;position:relative}
.fenetre .gauche h2 em{font-family:var(--serif);font-style:italic;font-weight:600;color:var(--gold-light)}
.fenetre .gauche .bas{margin:auto 0 0;font-size:13px;color:rgba(255,255,255,.74);position:relative}
.avantages-f{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;position:relative}
.avantages-f li{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:rgba(255,255,255,.9)}
.avantages-f li svg{color:var(--gold-light);margin-top:1px}
.avantages-f li b{display:block;color:#fff;font-size:15px}
.fenetre .droite{padding:34px 38px 30px;display:flex;flex-direction:column;gap:18px}
.fenetre .droite h2{margin:0;font-size:27px;letter-spacing:-.03em}
.fenetre .droite .chapeau{margin:4px 0 0;font-size:14.5px;color:var(--muted)}
.fenetre form{display:flex;flex-direction:column;gap:16px;margin:0}
.fermer-f{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:0;background:var(--bg);color:var(--muted);display:grid;place-items:center;z-index:2}
.fermer-f:hover{color:var(--ink)}
.deux-boutons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.securite{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--faint);margin:0}
.lien-simple{background:none;border:0;padding:0;color:var(--navy);font-weight:700;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
body.fenetre-ouverte{overflow:hidden}

/* ── Pages simples du site (connexion, mot de passe…) ───────────────────── */
.page-simple{padding:48px 0 64px}
.page-simple .carte{max-width:560px;margin:0 auto}
.page-simple h1{margin:0 0 6px;font-size:30px;letter-spacing:-.03em}

/* ── Pages de don et tunnel de paiement, dans le site ──────────────────── */
.page-don{padding:32px 0 64px}
.page-don-carte{max-width:780px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow)}
.pay-wrap{max-width:720px;margin:0 auto;padding:40px 16px 64px}
.pay-card{background:#fff;border-radius:var(--r-xl);box-shadow:var(--shadow-soft);border:1px solid var(--line);overflow:hidden}
/* Les rares utilitaires Tailwind des vues publiques (le site ne charge pas la feuille du CRM). */
.text-red-500{color:#dc2626}.text-amber-700{color:#b45309}.text-slate-800{color:#1e293b}.text-slate-500{color:#64748b}.text-slate-200{color:#e2e8f0}
.text-sm{font-size:14px}.text-lg{font-size:18px}.text-5xl{font-size:48px;line-height:1}.text-center{text-align:center}
.font-bold{font-weight:700}.font-black{font-weight:900}.inline-block{display:inline-block}.p-8{padding:32px}.mt-2{margin-top:8px}.mt-5{margin-top:20px}.mb-3{margin-bottom:12px}

/* ── Créer / activer son espace ────────────────────────────────────────── */
.inscription{padding:0 0 64px}
.inscription-carte{max-width:720px;margin:-36px auto 0;position:relative;box-shadow:var(--shadow)}
.inscription-form{display:flex;flex-direction:column;gap:18px;margin:0}
.grille-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.grille-cp{display:grid;grid-template-columns:160px minmax(0,1fr);gap:14px}
.civilite{border:0;margin:0;padding:0}
.civilite legend{padding:0;margin-bottom:7px}
.pilules{display:flex;gap:10px}
.pilules label{flex:1;position:relative;cursor:pointer}
.pilules input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.pilules span{display:block;text-align:center;padding:12px;border:1.5px solid #d9dce6;border-radius:14px;font-weight:700;background:#fbfcfe}
.pilules input:checked+span{border-color:var(--navy);background:#e8edfb;color:var(--navy-deep)}
.pilules input:focus-visible+span{outline:3px solid var(--gold);outline-offset:2px}
.regles-mdp{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--faint)}
.regles-mdp li{display:flex;gap:8px;align-items:center}
.regles-mdp li::before{content:"";width:14px;height:14px;border-radius:50%;border:1.5px solid #c5cad8;flex:none}
.regles-mdp li.ok{color:var(--ok)}
.regles-mdp li.ok::before{border-color:var(--ok);background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23fff'%3E%3Cpath d='M8 13.2 4.8 10l-1.1 1.1L8 15.4l8.3-8.3-1.1-1.1z'/%3E%3C/svg%3E") center/12px no-repeat}
.titre-i{margin:6px 0 6px;font-size:26px;letter-spacing:-.03em}
.doublons{display:flex;flex-direction:column;gap:10px;margin:18px 0 10px}
.doublon{display:flex;gap:14px;align-items:center;width:100%;text-align:left;padding:14px 16px;border:1.5px solid #dfe3ee;border-radius:16px;background:#fff}
.doublon strong{display:block;font-size:15px}
.doublon small{display:block;font-size:13px;color:var(--muted)}
.doublon .rond-choix{width:22px;height:22px;border-radius:50%;border:2px solid #c5cad8;flex:none;display:grid;place-items:center}
.doublon[aria-pressed="true"]{border-color:var(--navy);box-shadow:0 0 0 4px rgba(var(--navy-rgb),.08)}
.doublon[aria-pressed="true"] .rond-choix{border-color:var(--navy)}
.doublon[aria-pressed="true"] .rond-choix::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--navy)}
.actions-i{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}
.succes-i{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.rond-succes{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--ok-pale);color:var(--ok)}
.rond-succes svg{width:34px;height:34px}
.ts-wrapper.saisie{padding:0;height:auto;border:0;background:none;box-shadow:none}
.ts-wrapper .ts-control{min-height:50px;border:1.5px solid #d9dce6;border-radius:14px;background:#fbfcfe;padding:12px 16px;font-size:16px}
.ts-wrapper.focus .ts-control{border-color:var(--navy);box-shadow:0 0 0 4px rgba(var(--navy-rgb),.1)}
.ts-dropdown{border-radius:14px;border-color:#d9dce6;overflow:hidden}

/* ── Espace fidèle ─────────────────────────────────────────────────────── */
.espace{display:grid;grid-template-columns:272px minmax(0,1fr);gap:32px;padding:32px 0 64px;align-items:start}
.rail-nav{background:#fff;border:1px solid var(--line);border-radius:24px;padding:16px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:3px;position:sticky;top:96px}
.identite{display:flex;gap:13px;align-items:center;padding:8px 8px 18px;border-bottom:1px solid var(--line);margin-bottom:10px}
.identite strong{display:block;font-size:16px;letter-spacing:-.01em}
.identite div span{display:block;font-size:12.5px;color:var(--muted);line-height:1.35;word-break:break-all}
.rail-nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:13px;font-size:14.5px;font-weight:650;color:#3a4360;position:relative}
.rail-nav a svg{color:#8a92a6;width:20px;height:20px}
.rail-nav a:hover{background:var(--bg)}
.rail-nav a[aria-current]{background:var(--gold-pale);color:var(--navy-deep);font-weight:800}
.rail-nav a[aria-current] svg{color:var(--gold-strong)}
.rail-nav a[aria-current]::before{content:"";position:absolute;left:-16px;top:9px;bottom:9px;width:4px;border-radius:0 4px 4px 0;background:var(--gold)}
.rail-nav .sep{height:1px;background:var(--line);margin:8px 6px}
.rail-nav .titre-groupe{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);padding:10px 12px 4px}
.rail-nav a.discret{font-size:13.5px;color:var(--muted);font-weight:600;padding:9px 12px}
.contenu-espace{min-width:0}
.entete-page{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;flex-wrap:wrap}
.entete-page h1{margin:0;font-size:34px;letter-spacing:-.035em;line-height:1.08}
.entete-page h1 em{font-family:var(--serif);font-style:italic;font-weight:600;color:var(--gold-strong)}
.entete-page p{margin:6px 0 0;color:var(--muted);font-size:15.5px}
.onglets-bas{display:none}

/* ── Écrans de l'espace (lot E3) : accueil, Mes dons, À régler, Mes reçus, Mon profil ─ */
.titre-bloc{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:30px 0 14px}
.titre-bloc:first-child{margin-top:0}
.titre-bloc h2{margin:0;font-size:22px;letter-spacing:-.025em;line-height:1.15}
.titre-bloc h2 em{font-family:var(--serif);font-style:italic;font-weight:600;color:var(--gold-strong)}
.titre-bloc p{margin:4px 0 0;color:var(--muted);font-size:14.5px}
.titre-bloc a{font-weight:800;color:var(--navy);display:inline-flex;gap:6px;align-items:center;white-space:nowrap;font-size:14.5px}
.bandeau-chiffres{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}
.bandeau-chiffres.trois{grid-template-columns:repeat(3,minmax(0,1fr))}
.chiffre{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px;min-width:0}
.chiffre span{display:block;font-size:12.5px;color:var(--muted);font-weight:700}
.chiffre b{display:block;font-size:26px;letter-spacing:-.02em;margin-top:2px;line-height:1.2}
.chiffre small{display:block;font-size:12.5px;color:var(--faint)}
.chiffre.or{background:linear-gradient(145deg,var(--navy-deep),var(--navy));border:0;color:#fff}
.chiffre.or span,.chiffre.or small{color:rgba(255,255,255,.72)}
.chiffre.or b{color:var(--gold-light)}
.filtres{display:flex;gap:10px;align-items:center;margin:0 0 6px;flex-wrap:wrap}
.filtre{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 14px;border-radius:12px;border:1.5px solid #dfe3ee;background:#fff;font:inherit;font-weight:700;font-size:14px;color:#2b3450}
select.filtre{padding-right:34px;appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%236f7789'%3E%3Cpath d='M5.3 7.3a1 1 0 0 1 1.4 0L10 10.6l3.3-3.3a1 1 0 1 1 1.4 1.4l-4 4a1 1 0 0 1-1.4 0l-4-4a1 1 0 0 1 0-1.4z'/%3E%3C/svg%3E") right 11px center/16px no-repeat;cursor:pointer}
.filtre:focus-visible,.filtre:focus-within{outline:0;border-color:var(--navy);box-shadow:0 0 0 4px rgba(var(--navy-rgb),.1)}
.filtre.recherche{flex:1;min-width:200px;color:var(--faint);font-weight:500}
.filtre.recherche input{border:0;outline:0;background:none;font:inherit;font-size:14.5px;color:var(--ink);width:100%;height:100%}
.mois{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin:22px 0 10px}
.lignes{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;container-type:inline-size}
.ligne{display:flex;align-items:center;gap:16px;padding:16px 20px;border-top:1px solid var(--line)}
.ligne:first-child{border-top:0}
.pico{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;flex:none}
.pico svg{width:22px;height:22px}
.pico.don{background:var(--gold-pale);color:var(--gold-strong)}
.pico.promesse{background:#e8edfb;color:var(--navy)}
.pico.kippour{background:#efe9fb;color:#5b3fb8}
.pico.adhesion{background:var(--ok-pale);color:var(--ok)}
.pico.evenement{background:#fdeee6;color:#b4501e}
.ligne .quoi{flex:1;min-width:0}
.ligne .quoi strong{display:block;font-size:15.5px;letter-spacing:-.01em}
.ligne .quoi span{display:block;font-size:13.5px;color:var(--muted)}
.ligne .combien{text-align:right;min-width:96px}
.ligne .combien b{display:block;font-size:17px;white-space:nowrap}
.ligne .combien small{font-size:12.5px;color:var(--faint)}
.ligne .suite{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex:none;min-width:200px}
/* Une liste étroite (colonne de l’accueil, téléphone) : l’état et l’action passent sous le titre. */
@container (max-width:640px){
  .ligne{flex-wrap:wrap;gap:10px 14px;padding:14px 16px}
  .ligne .quoi{flex:1 1 calc(100% - 170px)}
  .ligne .suite{min-width:0;width:100%;justify-content:flex-start;padding-left:58px}
  .ligne .suite:empty{display:none}
}
.ligne .suite .badge{white-space:nowrap}
.ligne[hidden],.mois[hidden],.lignes[hidden]{display:none}
.bouton-ico{width:40px;height:40px;border-radius:12px;border:1.5px solid #dfe3ee;background:#fff;display:grid;place-items:center;color:var(--navy);flex:none}
.bouton-ico:hover{border-color:var(--navy)}
.bouton-ico svg{width:19px;height:19px}
.vide{text-align:center;padding:40px 24px;color:var(--muted)}
.vide .rond{width:58px;height:58px;border-radius:50%;margin:0 auto 12px;display:grid;place-items:center;background:var(--gold-pale);color:var(--gold-strong)}
.vide strong{display:block;color:var(--ink);font-size:17px;margin-bottom:4px}
.vide p{margin:0 auto 16px;max-width:460px;font-size:14.5px}
.anneau{width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--gold) 0 66%,rgba(var(--navy-rgb),.12) 66% 100%);display:grid;place-items:center;flex:none}
.anneau .dedans{width:118px;height:118px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.anneau .dedans b{font-size:24px;letter-spacing:-.02em;line-height:1.05}
.anneau .dedans span{font-size:11.5px;color:var(--muted);font-weight:700}
.recap-fiscal{display:grid;grid-template-columns:minmax(0,1fr) 250px;overflow:hidden;margin-bottom:26px}
.recap-fiscal .gauche{padding:28px 30px;display:flex;flex-direction:column;gap:14px}
.recap-fiscal h2{margin:0;font-size:27px;letter-spacing:-.03em}
.recap-fiscal .droite{background:linear-gradient(160deg,var(--cream),var(--gold-pale));display:grid;place-items:center}
.recap-fiscal .chiffres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.recap-fiscal .actions-r{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.recap-fiscal form{margin:0}
.annees{max-width:100%;overflow-x:auto}
.annees .onglet{flex:0 0 auto;text-decoration:none}
.annees .onglet[aria-current]{background:#fff;color:var(--navy-deep);box-shadow:0 2px 8px rgba(var(--navy-deep-rgb),.12)}
.puces{display:flex;gap:8px;flex-wrap:wrap}
.puces a{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;font-size:13px;font-weight:700;background:#eef0f4;color:var(--muted)}
.puces a[aria-current]{background:#e8edfb;color:var(--navy)}
.entre{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.entre strong{font-size:18px}
.flash{margin-bottom:18px}
/* Accueil de l'espace */
.accueil-grille{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
.accueil-cote{display:flex;flex-direction:column;gap:18px}
.annee-fiscale{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;padding:24px 26px;background:linear-gradient(145deg,var(--navy-deep),var(--navy));color:#fff;border:0}
.annee-fiscale .surtitre{color:var(--gold-light)}
.annee-fiscale h2{margin:4px 0 14px;font-size:22px;letter-spacing:-.02em}
.annee-fiscale .trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.annee-fiscale .trio span{display:block;font-size:12.5px;font-weight:700;color:rgba(255,255,255,.7)}
.annee-fiscale .trio b{display:block;font-size:24px;letter-spacing:-.02em;color:#fff}
.annee-fiscale .trio b.or{color:var(--gold-light)}
.annee-fiscale small{display:block;margin-top:12px;font-size:12.5px;color:rgba(255,255,255,.65)}
.annee-fiscale .anneau{background:conic-gradient(var(--gold-light) 0 66%,rgba(255,255,255,.18) 66% 100%);width:124px;height:124px}
.annee-fiscale .anneau .dedans{width:96px;height:96px;background:var(--navy-deep);color:#fff}
.annee-fiscale .anneau .dedans b{font-size:22px;color:var(--gold-light)}
.annee-fiscale .anneau .dedans span{color:rgba(255,255,255,.7)}
.carte-cote{padding:20px 22px}
.carte-cote h3{margin:0 0 12px;font-size:16px;letter-spacing:-.01em;display:flex;gap:9px;align-items:center}
.carte-cote h3 svg{color:var(--gold-strong);width:20px;height:20px}
.liste-liens{display:flex;flex-direction:column;gap:2px;margin:0 -8px}
.liste-liens a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 8px;border-radius:12px;font-weight:700;font-size:14.5px;color:var(--ink)}
.liste-liens a small{display:block;font-weight:500;color:var(--muted);font-size:13px}
.liste-liens a svg{color:var(--faint);width:18px;height:18px;flex:none}
.liste-liens a:hover{background:var(--bg)}
.liste-liens a:hover svg{color:var(--gold-strong)}
.redonner{background:linear-gradient(160deg,var(--cream),var(--gold-pale));border-color:var(--gold-light)}
.redonner p{margin:0 0 14px;font-size:14.5px;color:#3d4660}
.jauge-profil{height:8px;border-radius:99px;background:var(--gold-pale);overflow:hidden;margin:4px 0 10px}
.jauge-profil i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-strong));border-radius:99px}
/* Mon profil */
.profil-grille{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
.profil-form{display:flex;flex-direction:column;gap:16px;margin:0}
.profil-form .pied-form{display:flex;justify-content:flex-end;gap:10px;align-items:center;flex-wrap:wrap;padding-top:6px}
.profil-form h2,.carte-cote h2{margin:0 0 4px;font-size:19px;letter-spacing:-.02em}
.liste-plate{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14.5px}
.liste-plate li{display:flex;justify-content:space-between;gap:10px;align-items:center}
.liste-plate li span{color:var(--muted);font-size:13px}
/* Lot E4 : Kippour, adhésion, réservations, rendez-vous, services, aide, retours de paiement */
.date-bloc{width:48px;height:52px;border-radius:14px;background:var(--gold-pale);color:var(--gold-strong);display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;line-height:1}
.date-bloc b{font-size:20px;color:var(--navy-deep)}
.date-bloc small{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-top:2px}
.reservation{overflow:hidden;margin-bottom:14px;container-type:inline-size}
.reservation .places{border-top:1px solid var(--line);padding:0 20px}
.reservation .places summary{cursor:pointer;padding:12px 0;font-weight:700;font-size:14px;color:var(--navy)}
.reservation .places .liste-plate{padding:0 0 14px 60px}
.places-resume{border-top:1px solid var(--line);padding:11px 20px 12px 84px;font-size:13.5px;color:var(--muted)}
.ligne .quoi .motif{margin-top:3px;font-style:italic;color:var(--faint)}
.ligne-total{background:var(--bg)}
.saisie.zone{height:auto;padding:12px 16px;line-height:1.5;resize:vertical;font:inherit;font-size:16px}
.mandat{margin-bottom:22px}
.mandat-tete{display:flex;align-items:center;gap:14px}
.mandat-tete div{flex:1;min-width:0}
.mandat-tete strong{display:block;font-size:17px}
.mandat-tete .sous{display:block;font-size:14px}
.mandat-suspendu{border-color:#f2c1c3}
.retour-paiement{max-width:620px;margin:10px auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
.retour-paiement h1{margin:6px 0 0;font-size:26px;letter-spacing:-.03em}
.retour-paiement h1 em{font-family:var(--serif);font-style:italic;font-weight:600;color:var(--gold-strong)}
.retour-paiement .montant{margin:0;font-size:30px;font-weight:800;letter-spacing:-.03em}
.retour-paiement .sous{margin:0 0 8px;max-width:480px}
.rond-attente{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--gold-pale);color:var(--gold-strong)}
.rond-attente svg{width:32px;height:32px}
.resume{width:100%;margin:6px 0 10px;border:1px solid var(--line);border-radius:14px;text-align:left}
.resume div{display:flex;justify-content:space-between;gap:14px;padding:9px 14px;border-top:1px solid var(--line);font-size:14px}
.resume div:first-child{border-top:0}
.resume dt{color:var(--muted)}
.resume dd{margin:0;font-weight:700;text-align:right}
.tuiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}
.tuile{padding:20px 22px;display:flex;flex-direction:column;gap:8px;color:inherit}
.tuile h2{margin:4px 0 0;font-size:17px;letter-spacing:-.01em}
.tuile p{margin:0;flex:1;font-size:14.5px;color:var(--muted)}
a.tuile:hover{border-color:var(--navy)}
.soutenir{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:linear-gradient(145deg,var(--navy-deep),var(--navy));color:#fff;border:0}
.soutenir h2{margin:0 0 4px;font-size:21px}
.soutenir p{margin:0;color:rgba(255,255,255,.75);max-width:560px}
/* L'aide : les groupes de questions sur deux colonnes quand la place le permet */
.faq-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:6px 22px;align-items:start}
.faq{padding:4px 22px}
.faq details{border-top:1px solid var(--line)}
.faq details:first-child{border-top:0}
.faq summary{cursor:pointer;padding:15px 0;font-weight:700;font-size:15.5px;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold-strong);font-size:20px;line-height:1;font-weight:600}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 16px;color:#3d4660;font-size:14.5px;line-height:1.6}
/* La page de don dans le site (page.php) : bandeau, deux colonnes, mur des donateurs */
.don-site{padding-bottom:56px}
.don-site .don-apercu{padding-left:max(16px,calc((100% - 1200px) / 2));padding-right:16px}
.don-bandeau{position:relative;overflow:hidden;color:#fff;padding:40px 0 76px;
  background-color:var(--accent);background-image:linear-gradient(135deg,var(--accent) 0%,color-mix(in srgb,var(--accent) 72%,#000) 100%)}
.don-bandeau.claire{color:var(--ink)}
.don-bandeau.avec-photo{background:var(--navy-deep)}
.don-bandeau-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.don-bandeau.avec-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(var(--navy-deep-rgb),.94) 0%,rgba(var(--navy-deep-rgb),.78) 45%,rgba(var(--navy-deep-rgb),.35) 100%)}
.don-bandeau-in{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.don-bandeau-txt{display:flex;flex-direction:column;gap:14px;max-width:720px}
.don-bandeau h1{margin:0;font-size:44px;line-height:1.08;letter-spacing:-.035em}
.don-bandeau .intro{margin:0;font-size:17px;line-height:1.55;opacity:.9;max-width:620px}
.don-bandeau .pastille{align-self:flex-start;color:inherit}
.don-bandeau.claire .pastille{background:rgba(0,0,0,.06);border-color:rgba(0,0,0,.12)}
.don-fil{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;opacity:.85}
.don-fil a{text-decoration:underline;text-underline-offset:3px}
.don-bandeau-logo{height:64px;width:auto;max-width:200px;object-fit:contain;background:#fff;border-radius:14px;padding:8px}
.don-colonnes{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:26px;align-items:start;margin-top:-44px;position:relative;z-index:2}
.don-principale{overflow:hidden;box-shadow:var(--shadow)}
.don-cote{display:flex;flex-direction:column;gap:16px;position:sticky;top:96px}
.don-cote-camp{overflow:hidden}
.don-cote-camp .don-sec{padding:20px 22px}
.don-garanties{display:flex;flex-direction:column;gap:14px;font-size:14px;color:#3d4660;padding:20px 22px}
.don-garanties div{display:flex;gap:12px;align-items:flex-start}
.don-garanties svg{color:var(--gold-strong);flex:none;margin-top:2px}
.don-garanties b{display:block;color:var(--ink);font-size:14.5px}
.don-cote-aide{padding:16px 20px;display:flex;gap:12px;align-items:flex-start;font-size:14px;color:#3d4660}
.don-cote-aide svg{color:var(--navy);flex:none;margin-top:2px}
.don-cote-aide a{font-weight:800;color:var(--navy);overflow-wrap:break-word}
.don-mur-site{margin-top:48px}
.don-mur-site .carte{overflow:hidden}
.don-mur-site .don-campagnes{margin:0}
@media (max-width:1060px){
  .don-colonnes{grid-template-columns:minmax(0,1fr)}
  .don-cote{position:static}
}
@media (max-width:560px){
  .don-bandeau{padding:28px 0 64px}
  .don-bandeau h1{font-size:32px}
  .don-bandeau-logo{display:none}
}
/* Le panier « Régler mes dons » (cart.php) : lien personnel public et espace fidèle */
.panier-wrap{max-width:760px}
.pay-wrap-large{max-width:1040px}
.pay-card .panier{padding:26px 28px 22px}
.panier-intro{margin-bottom:18px}
.panier-intro h1{margin:4px 0 6px;font-size:28px;letter-spacing:-.03em}
.panier-intro h1 em{font-family:var(--serif);font-style:italic;font-weight:600;color:var(--gold-strong)}
.panier-intro .sous{margin:0;font-size:15px}
.panier-presel{margin-bottom:16px}
.panier-groupe{margin-bottom:14px}
.panier-tete{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;background:var(--bg);border-bottom:1px solid var(--line);font-weight:800;font-size:14.5px;color:var(--navy-deep)}
.panier-tete span{display:inline-flex;gap:8px;align-items:center}
.panier-tete svg{width:18px;height:18px;color:var(--gold-strong)}
.panier-tete small{font-weight:600;color:var(--muted);font-size:13px;white-space:nowrap}
label.panier-ligne{cursor:pointer}
label.panier-ligne:hover{background:#fbfaf6}
.panier-ligne.en-vue{box-shadow:inset 0 0 0 2px var(--gold)}
.panier-case{width:22px;height:22px;flex:none;accent-color:var(--navy);margin:0}
.panier-montant-libre{display:inline-flex;align-items:center;gap:6px;font-weight:800;white-space:nowrap}
.panier-montant-libre .saisie{width:110px;height:42px;text-align:right;font-weight:700}
.panier-nom{display:block;font-weight:700;font-size:15px}
.panier-sub{display:block;font-size:13.5px;color:var(--muted)}
.panier-somme{font-weight:800;font-size:16px;white-space:nowrap}
.panier-retirer{width:34px;height:34px;border-radius:10px;border:1.5px solid #f2c1c3;background:#fff;color:var(--alerte);font-size:20px;line-height:1;cursor:pointer;flex:none}
.panier-ajout{margin:4px 0 16px;overflow:hidden;box-shadow:none;border-style:dashed}
.panier-ajout-tete{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;border:0;background:var(--bg);font:inherit;font-weight:800;font-size:15px;color:var(--navy-deep);cursor:pointer;text-align:left}
.panier-ajout-tete span{display:inline-flex;gap:8px;align-items:center}
.panier-ajout-tete svg{color:var(--gold-strong)}
.panier-ajout-corps{padding:18px 20px;border-top:1px solid var(--line)}
.panier-ajout-corps .champ,.panier-dl-bloc{margin-bottom:14px}
.panier-dl-case{display:block;margin-bottom:14px;font-size:14.5px;color:#2b3450;cursor:pointer}
.panier-dl-case input{width:20px;height:20px;margin:0 8px 0 0;vertical-align:-4px;accent-color:var(--navy)}
.panier-dl-ligne{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.panier-dl-date{width:170px}
.panier-dl-grow{flex:1;min-width:140px}
.puces button{border:1.5px solid #dfe3ee;background:#fff;border-radius:999px;padding:7px 13px;font:inherit;font-size:13px;font-weight:700;color:var(--navy);cursor:pointer}
.puces button:hover{border-color:var(--navy)}
.puces{margin-top:8px}
.obligatoire{color:var(--alerte)}
.panier-option{margin-bottom:14px;box-shadow:none}
.panier-option .etiquette{display:block;margin-bottom:10px}
.panier-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.panier-grille .large{grid-column:1 / -1}
.panier-total{position:sticky;bottom:0;z-index:5;background:#fff;border-top:1px solid var(--line);padding:16px 0 4px;margin-top:6px;display:flex;flex-direction:column;gap:10px}
.panier-total-l{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.panier-total-l span{font-weight:800;color:var(--navy-deep)}
.panier-total-l b{font-size:28px;letter-spacing:-.03em}
.panier-total .securite{justify-content:center}
.btn[disabled]{opacity:.5;cursor:not-allowed;box-shadow:none}
.ts-wrapper.invalide .ts-control{border-color:var(--alerte)}
#kp-checkout{margin-top:10px}
.contenu-espace .panier{padding:0}
.contenu-espace .panier-total{background:var(--bg)}
@media (max-width:560px){
  .pay-card .panier{padding:20px 16px}
  .panier-grille{grid-template-columns:minmax(0,1fr)}
}
@container (max-width:640px){
  .places-resume{padding-left:20px}
  .reservation .places .liste-plate{padding-left:0}
}

/* ── Pied de page ──────────────────────────────────────────────────────── */
.aide-bande{background:var(--cream);border-top:1px solid var(--gold-light)}
.aide-bande .wrap{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding:22px 0;font-size:15px}
.aide-bande a{font-weight:800;color:var(--navy);display:inline-flex;gap:8px;align-items:center}
.aide-bande .contacts{display:flex;gap:22px;flex-wrap:wrap}
.pied-page{background:var(--navy-deep);color:rgba(255,255,255,.72);font-size:14px}
.pied-page .wrap{padding:48px 0 26px}
.pied-grille{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:34px}
.pied-page img{height:44px;width:auto;margin-bottom:14px}
.pied-page strong{display:block;color:#fff;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}
.pied-page a{display:block;margin-bottom:8px}
.pied-page a:hover{color:#fff}
.pied-bas{margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12.5px;color:rgba(255,255,255,.6)}
.pied-bas a{display:inline}

/* ── Écrans moyens et petits ───────────────────────────────────────────── */
@media (max-width:1060px){
  .nav{display:none}
  .espace{grid-template-columns:minmax(0,1fr)}
  .rail-nav{display:none}
  .onglets-bas{display:grid;position:fixed;left:0;right:0;bottom:0;z-index:35;height:74px;padding:8px 6px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;backdrop-filter:blur(10px)}
  .onglets-bas a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:700;color:#6c7488;text-align:center}
  .onglets-bas a svg{width:22px;height:22px}
  .onglets-bas a[aria-current]{color:var(--navy-deep)}
  .onglets-bas a[aria-current] svg{color:var(--gold-strong)}
  .onglets-bas a.donner .rond{width:52px;height:52px;border-radius:50%;margin-top:-24px;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold-light),var(--gold) 55%,var(--gold-strong));color:var(--navy-deep);box-shadow:0 10px 22px rgba(var(--gold-rgb),.45);border:4px solid #fff}
  body.avec-onglets{padding-bottom:74px}
}
@media (max-width:860px){
  .fenetre{grid-template-columns:minmax(0,1fr)}
  .fenetre .gauche{display:none}
  .fenetre .droite{padding:30px 22px 24px}
  .pied-grille{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .wrap{width:calc(100% - 32px)}
  .header .wrap{height:66px;gap:12px}
  .brand img{height:38px}
  .actions .btn-outline .txt,.actions .btn-gold .txt,.moi-bouton .txt{display:none}
  .moi-bouton{padding:4px}
  .cloche{position:static}
  .cloche-bouton{width:40px;height:40px}
  .cloche-menu{position:fixed;left:12px;right:12px;top:68px;width:auto;max-width:none}
  .voile{padding:0;align-items:flex-end}
  .fenetre{border-radius:26px 26px 0 0}
  .deux-boutons{grid-template-columns:minmax(0,1fr)}
  .grille-2,.grille-cp{grid-template-columns:minmax(0,1fr)}
  .inscription-carte{margin-top:-24px}
  .pied-grille{grid-template-columns:1fr}
  .entete-page h1{font-size:28px}
}
/* ---- Deux colonnes : le formulaire à gauche, le récapitulatif et l'action à droite (panier, réservation de places,
   Talmud Torah). La bascule se règle sur la largeur disponible (espace avec son menu, ou page publique), pas sur
   l'écran : `.colonnes-boite` est le conteneur mesuré. ---- */
.pay-wrap-libre{padding-top:40px}
.pay-wrap-libre .resa{padding:0}
.colonnes-boite{container-type:inline-size}
.deux-col{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}
.deux-col>.cote{align-self:stretch;min-width:0}
.colonne-principale{min-width:0}
.cote-collant{position:sticky;top:96px;display:flex;flex-direction:column;gap:14px}
.recap{padding:20px 22px}
.ma-communaute p{margin:0 0 12px;font-size:14.5px}
/* « Mes communautés » du profil : chaque lien et sa raison */
.mes-communautes{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column}
.mes-communautes li{padding:12px 0;border-top:1px solid var(--line)}
.mes-communautes li:first-child{border-top:0;padding-top:4px}
.mc-nom{font-weight:700;font-size:14.5px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mc-raisons{display:flex;gap:6px;flex-wrap:wrap;margin:5px 0 6px}
.mc-raisons span{font-size:12px;font-weight:700;color:var(--muted);background:var(--bg);border-radius:999px;padding:2px 9px}
.mc-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.mc-actions form{margin:0}
.mc-actions .lien-simple{font-size:13px}
.mc-retirer{color:#b42318}
.mc-note{font-size:12.5px;color:var(--faint)}
.mc-ajout{border-top:1px solid var(--line);padding-top:14px}
.ma-communaute p .sous{font-size:13px}
.ma-communaute-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.ma-communaute-actions .lien-simple{font-size:13.5px}
.recap h2{font-size:17px;letter-spacing:-.01em;margin:0 0 6px}
.recap-objet{display:flex;gap:6px;align-items:center;font-size:13.5px;color:var(--muted);margin:0 0 14px}
.recap-lignes{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14px}
.recap-lignes li{display:flex;justify-content:space-between;gap:12px}
.recap-lignes li span:first-child{min-width:0;overflow-wrap:anywhere}
.recap-lignes li span:last-child{font-weight:800;white-space:nowrap}
.recap-vide{font-size:14px;color:var(--muted);margin:0 0 12px}
.recap .panier-total{position:static;background:none;border-top:1px solid var(--line);padding:14px 0 0;margin:0}
.recap .panier-total .securite{margin:0;align-items:flex-start;justify-content:flex-start}
@container (max-width:820px){
  .deux-col{grid-template-columns:minmax(0,1fr)}
  .cote-collant{position:static}
}
/* ---- Réservation de places de Kippour et inscription au Talmud Torah (pages publiques dans PageCarte) ---- */
.resa{padding:30px 32px 32px}
.resa-titre{font-size:30px;line-height:1.15;letter-spacing:-.02em;margin:6px 0 6px}
.resa-titre em{font-family:var(--serif);font-style:italic;font-weight:600;color:var(--gold-strong)}
.resa-retour{display:flex;width:fit-content;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--muted);margin-bottom:14px}
.resa-retour:hover{color:var(--navy)}
.resa-h2{font-size:17px;letter-spacing:-.01em;margin:26px 0 12px}
.resa-lookup{margin-bottom:6px;box-shadow:none}
.resa-lookup summary{display:flex;gap:10px;align-items:flex-start;padding:16px 18px;cursor:pointer;list-style:none;font-size:14.5px;color:#2b3450}
.resa-lookup summary::-webkit-details-marker{display:none}
.resa-lookup summary .ico-sm{flex:none;margin-top:2px;color:var(--navy)}
.resa-lookup[open] summary{border-bottom:1px solid var(--line)}
.resa-lookup-corps{padding:16px 18px 18px}
.ligne.resa-place{flex-wrap:nowrap}
.resa-place .quoi{flex:1 1 auto}
.resa-place .quoi span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.resa-qte{display:flex;align-items:center;flex:none;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#fff}
.resa-qte button{width:38px;height:38px;border:0;background:transparent;font-size:19px;font-weight:700;color:var(--navy);cursor:pointer}
.resa-qte button:hover{background:#f3f5fa}
.resa-qte input{width:42px;height:38px;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center;font:inherit;font-weight:800;font-size:16px;background:transparent}
.resa-qte input:focus{outline:2px solid var(--navy);outline-offset:-2px}
.resa-proches .ligne{cursor:pointer}
.resa-proches .benef-place{flex:none;width:auto;max-width:220px}
.resa-offices{margin:0}
.resa-offices a{padding:14px 12px;border:1px solid var(--line);border-radius:16px;margin-bottom:8px}
.resa-offices a:hover{border-color:var(--navy);background:#f8f9fc}
.resa-bloc{margin-bottom:14px;box-shadow:none}
.resa-bloc>.case,.resa-bloc>.etiquette{margin-bottom:4px}
.resa-bloc .panier-grille[hidden],.resa-bloc .champ[hidden]{display:none}
.resa-fichier{padding:10px 12px}
.resa .panier-total{margin-top:22px}
.resa form>.case{margin-top:10px}
@media (max-width:640px){
  .resa{padding:22px 18px 24px}
  .resa-titre{font-size:25px}
  .resa-proches .benef-place{max-width:none;width:100%}
  .resa-place .pico{display:none}
  .resa-place .quoi span{white-space:normal}
}
@media (max-width:1060px){
  .accueil-grille,.profil-grille{grid-template-columns:minmax(0,1fr)}
  .contenu-espace .entete-page>.btn-gold{display:none}
  .tuiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bandeau-chiffres{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .recap-fiscal{grid-template-columns:minmax(0,1fr)}
  .recap-fiscal .droite{display:none}
  .recap-fiscal .gauche{padding:22px 20px}
  .recap-fiscal .chiffres,.annee-fiscale .trio,.bandeau-chiffres.trois{grid-template-columns:minmax(0,1fr)}
  .annee-fiscale{grid-template-columns:minmax(0,1fr)}
  .annee-fiscale .anneau{display:none}
  .filtre.recherche{flex-basis:100%}
  .tuiles,.tuiles.trois{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .btn{transition:none}
}
