/* Impulse Pour Elles — adhésion, billets, back-office (prolonge la charte du site) */
.btn.sm{padding:11px 18px;font-size:14px}
.btn.xs{padding:7px 12px;font-size:12.5px;box-shadow:none}
.btn.g.danger,.btn.danger{color:var(--coral-d)}
.btn[disabled]{opacity:.6;cursor:progress;transform:none}
.mono{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.lnk{background:none;border:0;padding:0;font-weight:800;color:var(--plum);cursor:pointer;text-decoration:underline;text-decoration-color:var(--coral);text-underline-offset:3px}
.lnk:hover{color:var(--coral-d)}
.chipb{border:1.5px solid #EBD3E1;background:#fff;border-radius:999px;padding:5px 10px;font-weight:700;font-size:12.5px;color:var(--plum);cursor:pointer;white-space:nowrap}
.chipb:hover{border-color:var(--coral);background:var(--coral-l)}
.bdg{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px;background:var(--plum-l);color:var(--plum);white-space:nowrap}
.bdg.ok{background:#E3F4EA;color:#1F6B43}.bdg.warn{background:#FFF1DC;color:#8A5300}.bdg.bad{background:#FDE3E5;color:#A3283A}.bdg.off{background:#EFE8EC;color:#6E5867}
.deep .bdg.ok{background:rgba(227,244,234,.16);color:#BDF0D2}.deep .bdg.bad{background:rgba(253,227,229,.16);color:#FFC9D0}

/* ---------- documents (confirmation) ---------- */
.docs{margin-top:34px;text-align:left;color:var(--ink);background:#fff}
.doclist{display:grid;gap:12px;margin-top:18px}
.docrow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 16px;border-radius:20px;background:var(--blush)}
.docico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--plum);color:#fff}
.doctxt b{display:block;font-size:16px;letter-spacing:-.01em}.doctxt small{color:var(--muted)}
@media(max-width:620px){.docrow{grid-template-columns:auto minmax(0,1fr)}.docrow .btn{grid-column:1/-1;justify-content:center}}

/* ---------- adhésion ---------- */
.mcard{position:relative;aspect-ratio:85.6/54;width:100%;max-width:520px;border-radius:26px;overflow:hidden;background:#6F225D url(../pdf/card_bg.jpg) center/cover;box-shadow:0 50px 90px -40px rgba(0,0,0,.65),inset 0 0 0 1px rgba(255,255,255,.14);color:#fff;transform:rotate(-4deg);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.mcard:hover{transform:rotate(-1deg) translateY(-6px)}
.mcard .lg{position:absolute;left:7%;top:10%;width:24%}
.mcard .who{position:absolute;left:7%;bottom:11%}
.mcard .who b{display:block;font-size:clamp(20px,2.4vw,30px);font-weight:800;letter-spacing:-.03em;line-height:1}
.mcard .who small{display:block;margin-top:6px;font-size:12px;letter-spacing:.14em;font-weight:700;color:#FFD6DB}
.mcard .tag{position:absolute;left:7%;bottom:34%;background:#fff;color:var(--plum)}
.mcard .qr{position:absolute;right:6%;bottom:9%;width:21%;aspect-ratio:1;border-radius:12px;background:#fff;display:grid;place-items:center}
.mcard .qr svg{width:78%;height:78%}
.plan{position:relative;display:flex;flex-direction:column;gap:18px;min-height:100%}
.plan .price{display:flex;align-items:baseline;gap:8px}
.plan .price b{font-size:clamp(54px,6vw,84px);font-weight:800;letter-spacing:-.06em;line-height:.9}
.plan .price span{font-weight:700;opacity:.8}
.plan ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.plan li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start;line-height:1.45}
.plan li::before{content:"";width:22px;height:22px;border-radius:50%;margin-top:1px;background:var(--coral) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat}
.plan.hl{box-shadow:inset 0 0 0 3px var(--coral),0 40px 80px -40px rgba(62,15,51,.55)}
.plan .ribbon{position:absolute;top:22px;right:22px}
.plan .btn{align-self:flex-start;margin-top:auto}
.perk{display:flex;flex-direction:column;gap:12px}
.perk img{width:74px}
.steps3{counter-reset:s;display:grid;gap:14px;list-style:none;margin:0;padding:0}
.steps3 li{counter-increment:s;display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start}
.steps3 li::before{content:counter(s);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--plum);color:#fff;font-weight:800;font-size:18px}
.faq details{border-radius:20px;background:#fff;padding:18px 22px}
.faq summary{font-weight:800;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::after{content:"+";color:var(--coral);font-size:22px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:10px;color:var(--muted)}

/* ---------- back-office ---------- */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:26px}
@media(max-width:980px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kpic{background:#fff;border-radius:22px;padding:18px 20px;display:flex;flex-direction:column;gap:6px;box-shadow:0 18px 40px -30px rgba(62,15,51,.5);border:1px solid #F1E2EB}
.kpic span{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--coral)}
.kpic b{font-size:clamp(28px,3vw,40px);font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--plum);font-variant-numeric:tabular-nums}
.kpic small{color:var(--muted);font-size:13px}
.kpic .bar{display:block;height:6px;border-radius:9px;background:var(--plum-l);overflow:hidden}
.kpic .bar em{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,var(--plum),var(--coral))}
.admwrap{background:var(--blush)}
.admtabs{display:flex;gap:6px;flex-wrap:wrap;padding:6px;border-radius:999px;background:#fff;border:1px solid #F1E2EB;margin-bottom:18px;width:max-content;max-width:100%}
.admtabs button{border:0;background:none;padding:10px 16px;border-radius:999px;font-weight:800;font-size:14px;color:var(--ink);cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.admtabs button[aria-selected="true"]{background:var(--plum);color:#fff}
.admtabs em{font-style:normal;font-size:11px;min-width:20px;padding:2px 6px;border-radius:99px;background:var(--coral);color:#fff;text-align:center}
.admtabs em:empty{display:none}
@media(max-width:760px){.admtabs{border-radius:22px;width:100%}}
.admpanel{background:#fff;border-radius:28px;padding:clamp(16px,2.4vw,28px);border:1px solid #F1E2EB;box-shadow:0 30px 60px -45px rgba(62,15,51,.5)}
.admbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}
.admbar .grow{flex:1}
.admbar select,.admsearch{border:2px solid #EBD3E1;border-radius:999px;background:#fff;height:44px;padding:0 14px;font-weight:600;font-size:14px}
.admsearch{display:inline-flex;align-items:center;gap:8px;min-width:min(320px,100%);flex:1 1 260px;color:var(--muted)}
.admsearch input{border:0;outline:0;flex:1;min-width:0;font-weight:600;background:none}
.admsearch:focus-within,.admbar select:focus{border-color:var(--coral);outline:none}
.admtable{overflow-x:auto;border-radius:18px;border:1px solid #F1E2EB}
.admtable table{width:100%;border-collapse:collapse;font-size:14px;min-width:760px}
.admtable th{position:sticky;top:0;text-align:left;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--plum);background:var(--plum-l);padding:12px 14px;white-space:nowrap}
.admtable td{padding:12px 14px;border-top:1px solid #F4E9EF;vertical-align:top}
.admtable td small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.admtable tr:hover td{background:#FFFAFB}
.admtable td.acts{white-space:nowrap;text-align:right}
.admtable td.acts .btn+.btn{margin-left:6px}
.admtable select{border:1.5px solid #EBD3E1;border-radius:10px;padding:6px 8px;font-weight:700;font-size:13px;background:#fff}
.admempty{padding:48px 20px;text-align:center;border:2px dashed #EBD3E1;border-radius:22px}
.admempty b{font-size:20px;color:var(--plum)}.admempty p{color:var(--muted);margin-top:8px}
.checkin{display:grid;gap:8px;padding:16px 18px;border-radius:20px;background:var(--plum);color:#fff;margin-bottom:16px}
.checkin label{font-size:14px}
.checkin input{flex:1;min-width:0;border:0;border-radius:999px;padding:12px 18px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.checkin .row{flex-wrap:nowrap}
.checkin .bdg.ok{background:#E3F4EA}
.tpls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:-4px 0 16px}
.brevo{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px}
@media(max-width:980px){.brevo{grid-template-columns:minmax(0,1fr)}}
.brevo .card{border:1px solid #F1E2EB}
.bgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:620px){.bgrid{grid-template-columns:minmax(0,1fr)}}
.bgrid .field label{font-size:12.5px}
.bgrid .field input{padding:11px 14px;border-radius:12px}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.steps li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;line-height:1.4}
.steps li span{width:26px;height:26px;border-radius:50%;border:2px solid #EBD3E1;display:grid;place-items:center;font-weight:800;color:#fff;font-size:13px}
.steps li.ok span{background:#2E8B57;border-color:#2E8B57}
.admmodal{position:fixed;inset:0;z-index:90;display:flex;justify-content:flex-end}
.admmodal[hidden]{display:none!important}
.admscrim{position:absolute;inset:0;background:rgba(36,6,31,.45);backdrop-filter:blur(2px)}
.admsheet{position:relative;width:min(560px,100%);height:100%;overflow:auto;background:#fff;padding:calc(26px + env(safe-area-inset-top,0px)) clamp(18px,3vw,32px) 40px;display:flex;flex-direction:column;gap:16px;animation:slidein .35s cubic-bezier(.2,.8,.2,1)}
@keyframes slidein{from{transform:translateX(40px);opacity:0}}
.admsheet .x{align-self:flex-end;width:42px;height:42px;border-radius:50%;border:0;background:var(--plum-l);color:var(--plum);font-size:18px;cursor:pointer;flex:none}
.admmodal.center{justify-content:center;align-items:center;padding:16px}
.admmodal.center .admsheet{height:auto;max-height:92vh;width:min(760px,100%);border-radius:26px}
.admmodal iframe{width:100%;height:min(70vh,760px);border:0;border-radius:16px;background:#F3E4EE}
.kvs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.kv{background:var(--blush);border-radius:14px;padding:10px 12px}
.kv span{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--coral)}
.kv b{font-size:14.5px;word-break:break-word}
.linked{border-radius:16px;background:var(--plum-l);padding:14px 16px;display:grid;gap:8px}
.lockbox{max-width:640px}

/* ajustements */
.btn.g.xs{box-shadow:inset 0 0 0 1.5px currentColor}
.nav a{white-space:nowrap}
.cta-top{white-space:nowrap}
@media(max-width:1380px){.hdr .logo{margin-right:28px}.nav a{padding:9px 10px;font-size:14.5px}}
.admsheet .admtable table{min-width:0}
.docs{margin-top:30px}
.band .card.docs{background:#fff;color:var(--ink);box-shadow:0 40px 80px -40px rgba(20,0,15,.6)}
.band .card.docs .m{color:var(--plum)}
.band .card.docs .note{color:var(--muted)}
