/* Univers C'Sharing : fond rose poudré, cartes vert très clair, titres Cormorant, texte Nunito Sans */
:root{
  --bg:#C29386; --bg-grad:linear-gradient(165deg,#D8B4A8 0%,#C69A8D 45%,#AE7F72 100%);
  --card:linear-gradient(150deg,#F6FAF4 0%,#EAF3E7 55%,#DDECD9 100%);
  --ink:#3B4A3E; --muted:#6B7A6D; --line:rgba(70,110,78,.16); --green:#6F9774; --green-d:#5A8060; --green-soft:rgba(111,151,116,.14);
  --rose:#C9A89A; --rose-d:#B98877; --white:#FFFFFF; --white-muted:rgba(255,255,255,.88);
  --display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --body:"Nunito Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{color-scheme:light}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{margin:0;background:var(--bg) var(--bg-grad) fixed;min-height:100vh;color:var(--white);font-family:var(--body);font-size:15px;line-height:1.5}
img{max-width:100%}
[hidden]{display:none!important}
h1,h2,h3{font-family:var(--display);margin:0;text-wrap:balance;letter-spacing:-.01em;font-weight:600}
h1{font-size:2rem;line-height:1.1;text-shadow:0 1px 8px rgba(90,50,45,.25)}
h2{font-size:1.5rem}
h3{font-size:1.25rem}
.wrap{max-width:560px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:16px 40px;display:flex;flex-direction:column;gap:16px}
.card{background:var(--card);color:var(--ink);border:1px solid rgba(255,255,255,.7);border-radius:20px;padding:16px;box-shadow:0 6px 18px rgba(80,45,40,.12);display:flex;flex-direction:column;gap:10px}
.muted{color:var(--muted)}
.small{font-size:.85rem}
.num{font-variant-numeric:tabular-nums}
button{font:inherit;color:inherit;cursor:pointer}
button:focus-visible,input:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #FFFFFF;outline-offset:2px}
.card button:focus-visible,.card input:focus-visible,.card a:focus-visible{outline-color:var(--green)}
.btn{border:0;border-radius:14px;padding:13px 16px;font-weight:700;font-size:1rem;background:linear-gradient(135deg,#7FA684,#6A9370);color:#fff;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:6px}
.btn.rose{background:linear-gradient(135deg,#D9B2A5,#B98877)}
.btn.ghost{background:transparent;border:1.5px solid var(--green);color:var(--green)}
.btn.light{background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.6);color:#fff}
.btn.small{padding:8px 12px;font-size:.85rem;border-radius:12px}
.btn:disabled{opacity:.45;cursor:default}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-weight:700;font-size:.9rem}
input[type=text],input[type=email],input[type=number],select{width:100%;font:inherit;color:#3B3236;background:#fff;border:1px solid rgba(70,110,78,.25);border-radius:12px;padding:12px 13px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:8px 13px;font-size:.88rem;font-weight:600}
.chip[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#fff}
.topbar{display:flex;align-items:center;gap:12px}
.logo{width:52px;height:52px;border-radius:50%;flex:none;box-shadow:0 0 0 3px rgba(255,255,255,.9),0 4px 14px rgba(70,40,35,.25)}
.brand{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#FFF1EC;font-weight:800}
.back{border:0;border-radius:999px;background:rgba(255,255,255,.25);border:1px solid rgba(255,255,255,.6);color:#fff;font-weight:800;font-size:.85rem;padding:8px 12px;text-decoration:none;white-space:nowrap}
.bar{height:9px;border-radius:99px;background:rgba(70,110,78,.14);overflow:hidden}
.bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#9DBE9C,#6F9774)}
.foot{border-top:1px solid rgba(255,255,255,.4);padding-top:16px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.foot p{margin:0;font-size:.76rem;color:#fff;max-width:46ch}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(24px + env(safe-area-inset-bottom,0px));background:#3B4A3E;color:#fff;padding:10px 16px;border-radius:999px;font-weight:700;font-size:.88rem;z-index:50;max-width:90%;text-align:center}
@media (prefers-reduced-motion:no-preference){.fade{animation:fade .35s ease-out}@keyframes fade{from{opacity:0;transform:translateY(6px)}}}
