:root{--vert:#0F4C35;--vert-fonce:#07331F;--vert-clair:#E4EFE4;--safran:#E8B93B;--safran-clair:#F7E8C3;
--ocre:#C4762A;--sable:#F5EDDA;--creme:#FBF6E9;--encre:#221D12}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Manrope',sans-serif;background:var(--creme);color:var(--encre);line-height:1.6}
.ar{font-family:'Amiri',serif}
.conteneur{max-width:640px;margin:0 auto;padding:0 18px}
nav.barre{position:sticky;top:0;z-index:50;background:rgba(251,246,233,.94);backdrop-filter:blur(8px);
border-bottom:2px solid var(--safran);padding:0 16px}
nav.barre .interieur{display:flex;align-items:center;justify-content:space-between;height:62px;max-width:640px;margin:0 auto}
nav.barre a{text-decoration:none;color:var(--vert);font-weight:700;font-size:14px}
nav.barre .marque{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:800}
main{padding:28px 0 60px}
h1{color:var(--vert);font-size:26px;margin-bottom:18px}
h2{color:var(--vert);font-size:19px;margin-bottom:12px}
.carte{background:#FFFDF6;border:1.5px solid rgba(196,118,42,.25);border-radius:18px;padding:20px;margin-bottom:16px;
box-shadow:0 6px 18px rgba(15,76,53,.06)}
.btn{display:inline-block;padding:13px 22px;border-radius:999px;font-weight:800;font-size:15px;text-decoration:none;
border:none;cursor:pointer;transition:transform .14s ease}
.btn:active{transform:scale(.97)}
.btn-vert{background:linear-gradient(135deg,#14603F,var(--vert));color:#fff;border:2px solid var(--safran)}
.btn-safran{background:var(--safran);color:var(--vert-fonce)}
.btn-lien{background:none;color:var(--vert);text-decoration:underline;padding:8px}
.btn-bloc{display:block;width:100%;text-align:center}
input,textarea,select{width:100%;padding:13px;border:1.5px solid rgba(15,76,53,.25);border-radius:12px;
font-family:inherit;font-size:15px;background:#fff;margin-bottom:12px}
label{font-size:13px;font-weight:700;color:var(--vert)}
.badge{display:inline-block;border-radius:999px;padding:3px 12px;font-size:12px;font-weight:800}
.badge-vert{background:var(--vert-clair);color:var(--vert)}
.badge-attente{background:var(--safran-clair);color:var(--ocre)}
.message{background:var(--safran-clair);border:1.5px solid var(--safran);border-radius:12px;padding:12px 16px;
font-size:14px;margin-bottom:16px;color:var(--vert-fonce)}
.erreur{background:#FDE8E4;border-color:#C0512F;color:#8A2F14}
.grille-parts{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:5px;margin:14px 0}
.part{aspect-ratio:1;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:11px;
font-weight:800;border:1.5px solid rgba(15,76,53,.2);background:var(--vert-clair);color:var(--vert);
text-decoration:none;transition:transform .12s}
.part:hover{transform:scale(1.12)}
.part.prise{background:var(--vert);color:#fff9;border-color:var(--vert)}
.part.vous{background:var(--safran);color:var(--vert-fonce);border-color:var(--ocre)}
.info-virement{background:var(--sable);border-radius:12px;padding:12px 14px;font-size:14px;margin:10px 0}
.info-virement code{font-family:monospace;font-size:13px;background:#fff;padding:2px 7px;border-radius:6px}
.separateur-or{display:flex;align-items:center;gap:12px;margin:22px 0}
.separateur-or span:first-child,.separateur-or span:last-child{flex:1;height:2px;
background:linear-gradient(90deg,transparent,var(--safran))}
.separateur-or span:last-child{background:linear-gradient(90deg,var(--safran),transparent)}
.separateur-or .e{color:var(--ocre);font-size:18px;flex:none}
footer.pied{background:var(--vert-fonce);color:#CBBFA0;text-align:center;padding:30px 18px;font-size:12.5px}
footer.pied .ar{color:var(--safran);font-size:18px}
@media print{nav.barre,.btn,footer.pied{display:none!important}body{background:#fff}}
