.ob{--g:#1A3A3A;--g2:#24504E;--ink:#10201F;--b:#51605D;--mu:#6F7B78;--ln:rgba(16,32,31,.1);font-family:inherit;line-height:1.5}
.ob .bt{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 28px;border-radius:99px;border:0;font:inherit;font-weight:750;font-size:16px;cursor:pointer;transition:transform .15s}.ob .bt.p{background:var(--g);color:#fff}.ob .bt.p:hover{background:var(--g2)}
.ob h3,.ob p{margin:0}.ob *{box-sizing:border-box}
.ob-note{font-size:13px;color:var(--mu);margin-top:-4px}.ob-wa{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border-radius:99px;background:#25D366;color:#fff!important;font-weight:750;text-decoration:none}.ob-rm{font-size:14px;color:var(--b);text-align:center}
.ob{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;visibility:hidden;pointer-events:none}
.ob.on{visibility:visible;pointer-events:auto}
.ob-bg{position:absolute;inset:0;background:rgba(16,32,31,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .3s}
.ob.on .ob-bg{opacity:1}
.ob-p{position:relative;width:min(100%,520px);max-height:calc(100svh - 32px);overflow:auto;border-radius:32px;background:linear-gradient(180deg,#EEF5F4,#fff 40%);box-shadow:0 40px 90px rgba(16,32,31,.35);color:var(--ink);transform:translateY(24px) scale(.97);opacity:0;transition:transform .4s cubic-bezier(.2,.8,.2,1),opacity .3s}
.ob.on .ob-p{transform:none;opacity:1}
.ob-t{position:sticky;top:0;display:flex;align-items:center;gap:14px;padding:16px 16px 0;z-index:1}
.ob-bk,.ob-x{width:44px;height:44px;border-radius:99px;border:0;background:#fff;box-shadow:0 0 0 1px var(--ln);font:inherit;font-size:20px;cursor:pointer;color:var(--ink);flex-shrink:0}
.ob-x{font-size:26px;line-height:1}
.ob-pg{flex:1;height:6px;border-radius:99px;background:rgba(16,32,31,.08);overflow:hidden}.ob-pg i{display:block;height:100%;width:0;background:var(--g);border-radius:99px;transition:width .4s cubic-bezier(.2,.8,.2,1)}
.ob-in{padding:22px clamp(22px,4vw,36px) 30px;display:flex;flex-direction:column;gap:14px;animation:obin .35s cubic-bezier(.2,.8,.2,1)}
@keyframes obin{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.ob-in h3{font-size:clamp(26px,3vw,34px);font-weight:800;letter-spacing:-.045em;line-height:1.05}
.ob-lead{color:var(--b);font-size:16px}
.ob-b{display:flex;flex-direction:column;gap:14px;margin-top:6px}
.ob-f{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:750;min-width:0}
.ob-f input:not([type=range]){width:100%;min-width:0;height:54px;padding:0 16px;border-radius:16px;border:1.5px solid var(--ln);font:inherit;font-size:16px;font-weight:500;background:#fff;color:var(--ink);outline:none}
.ob-f input:focus{border-color:var(--g)}
.ob-tel{display:flex;align-items:center;border-radius:16px;border:1.5px solid var(--ln);background:#fff}.ob-tel:focus-within{border-color:var(--g)}.ob-tel em{font-style:normal;font-weight:750;padding:0 4px 0 16px}.ob-tel input{border:0!important;height:52px!important}
.ob-f input[type=range]{accent-color:var(--g);width:100%;height:28px}
.ob-r2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.ob-code{display:grid;grid-template-columns:repeat(4,62px);gap:10px}
.ob-code input{height:66px;border-radius:16px;border:1.5px solid transparent;background:#f4f4f3;text-align:center;font:inherit;font-size:26px;font-weight:800;outline:none;color:var(--ink)}
.ob-code input:focus{border-color:#000;background:#fff}.ob-code input:not(:placeholder-shown){background:#fff;box-shadow:0 4px 14px rgba(16,32,31,.08)}
.ob-ch{display:flex;flex-wrap:wrap;gap:8px}
.ob-ch button,.ob-days button{min-height:46px;padding:0 18px;border-radius:99px;border:0;background:#fff;box-shadow:inset 0 0 0 1.5px var(--ln);font:inherit;font-size:15px;font-weight:700;color:var(--ink);cursor:pointer;transition:background .15s,color .15s}
.ob-ch.sm button{min-height:40px;padding:0 14px;font-size:14px}
.ob-ch button.on,.ob-days button.on{background:var(--g);color:#fff;box-shadow:none}
.ob-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.ob-days button{padding:0;border-radius:14px;min-height:52px}
.ob-go{width:100%;margin-top:8px;min-height:58px}.ob-go:disabled{opacity:.35;cursor:not-allowed;transform:none}
.ob-s{font-size:13px;color:var(--mu);text-align:center}.ob-s a{color:var(--b)}
.ob-lk{border:0;background:none;padding:0;font:inherit;font-weight:750;color:var(--g);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ob-done{display:flex;flex-direction:column;gap:16px}
.ob-ok{width:64px;height:64px;border-radius:99px;background:#F1DDA2;color:var(--g);display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800;animation:obok .5s cubic-bezier(.3,1.6,.5,1)}
@keyframes obok{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
.ob-ls{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ob-ls li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;align-items:center;padding:12px 14px;border-radius:18px;background:#f4f4f3}
.ob-ls i{width:32px;height:32px;border-radius:99px;background:#fff;font-style:normal;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:14px}
.ob-ls li.ok i{background:var(--g);color:#fff}.ob-ls li.nx{background:#fff;box-shadow:inset 0 0 0 2px var(--g)}
.ob-ls b{display:block;font-size:15px}.ob-ls span{font-size:13px;color:var(--b)}
@media (max-width:520px){.ob{padding:0;align-items:flex-end}.ob-p{width:100%;max-height:94svh;border-radius:28px 28px 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}.ob-code{grid-template-columns:repeat(4,minmax(0,1fr))}.ob-r2{grid-template-columns:minmax(0,1fr)}.ob-days button{min-height:46px;font-size:13px}}

/* Erreur d’envoi de l’onboarding (club-onb.js) */
.ob-err{margin-top:14px;padding:12px 14px;border-radius:14px;background:#FBEAE8;color:#8E2A20;font-size:14px;line-height:1.5}.ob-err a{color:inherit;font-weight:700;text-decoration:underline}.ob-err[hidden]{display:none}
/* Zones : recherche de commune (Île-de-France) */
.ob-ac{position:relative}
.ob-sg{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:5;margin:0;padding:6px;list-style:none;background:#fff;border-radius:16px;box-shadow:0 0 0 1.5px var(--ln),0 16px 36px rgba(16,32,31,.14);max-height:264px;overflow:auto}
.ob-sg li{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer}
.ob-sg li:hover,.ob-sg li.on{background:#EEF3F1}
.ob-opt{font-style:normal;font-weight:500;color:var(--mu)}
