@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

/* ── Variables & Reset ── */
.ap-wrapper{
  --or:#B5740A;--or2:#D4920E;--or3:#F5C842;--orl:#FEF7E6;--ord:#7C4A00;
  --gr:#15623A;--gr2:#1A7A48;--grl:#EDFAF4;--grd:#0D3D22;
  --nav:#0F2543;--sl:#475569;--sl2:#64748B;--sl3:#94A3B8;--sl4:#CBD5E1;
  --sl5:#E2E8F0;--sl6:#F1F5F9;--sl7:#F8FAFC;
  --rd:#C0392B;--rdl:#FEF1F0;
  --pp:'Poppins',system-ui,sans-serif;
  --ease:cubic-bezier(.4,0,.2,1);
  max-width:700px;margin:1.5rem auto;font-family:var(--pp);color:var(--nav);
}
.ap-wrapper *,.ap-wrapper *::before,.ap-wrapper *::after{box-sizing:border-box}
.ap-wrapper button{font-family:var(--pp);cursor:pointer;line-height:1}

/* Honeypot */
.ap-hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}

/* ── Card ── */
.ap-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.06),0 4px 20px rgba(0,0,0,.08)}

/* ── Progress ── */
.ap-progress{height:3px;background:var(--sl5)}
.ap-prog-fill{height:100%;background:linear-gradient(90deg,var(--or),var(--or2));border-radius:0 2px 2px 0;transition:width .4s var(--ease);width:25%}

/* ── Hero ── */
.ap-hero{background:var(--nav);padding:2.25rem 2.25rem 0;position:relative;overflow:hidden}
.ap-hbg1{position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(181,116,10,.12);top:-80px;right:-60px;pointer-events:none}
.ap-hbg2{position:absolute;width:200px;height:200px;border-radius:50%;background:rgba(21,98,58,.1);bottom:-60px;left:-30px;pointer-events:none}
.ap-hero-in{position:relative;z-index:1}
.ap-eyebrow{display:inline-flex;align-items:center;gap:6px;background:rgba(181,116,10,.18);border:1px solid rgba(245,200,66,.25);border-radius:99px;padding:4px 12px;margin-bottom:.9rem}
.ap-eydot{width:6px;height:6px;background:var(--or3);border-radius:50%;flex-shrink:0;animation:apPulse 2s infinite}
@keyframes apPulse{0%,100%{opacity:1}50%{opacity:.4}}
.ap-eyebrow span{font-size:11px;font-weight:600;color:var(--or3);letter-spacing:.06em;text-transform:uppercase}
.ap-title{font-size:clamp(1.25rem,3.5vw,1.65rem)!important;font-weight:700!important;color:#fff!important;letter-spacing:-.04em;line-height:1.2;margin:0 0 .45rem!important;font-family:var(--pp)!important}
.ap-sub{font-size:13px;color:rgba(255,255,255,.5);font-weight:300;line-height:1.65;max-width:460px;margin-bottom:1.25rem}
.ap-frais-pill{display:inline-flex;align-items:center;gap:.5rem;background:rgba(245,200,66,.12);border:1px solid rgba(245,200,66,.3);border-radius:99px;padding:6px 14px;margin-bottom:1.1rem}
.ap-fval{font-size:1rem;font-weight:700;color:var(--or3);letter-spacing:-.02em}
.ap-flbl-pill,.ap-flbl{font-size:11px}
.ap-frais-pill .ap-flbl{color:rgba(255,255,255,.55);font-weight:300}
.ap-hstats{display:flex;gap:1.5rem;padding:1rem 0;border-top:1px solid rgba(255,255,255,.08)}
.ap-sv{font-size:1rem;font-weight:700;color:#fff;letter-spacing:-.02em}
.ap-sl{font-size:10px;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.06em;margin-top:1px}

/* ── Stepper ── */
.ap-stepper{display:flex;align-items:center;background:var(--sl7);border-bottom:1px solid var(--sl5);padding:.9rem 2rem;gap:0}
.ap-step{display:flex;align-items:center;gap:7px;flex-shrink:0}
.ap-snum{width:26px;height:26px;border-radius:50%;border:2px solid var(--sl4);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:var(--sl3);background:#fff;transition:all .25s var(--ease);flex-shrink:0}
.ap-step.ap-act  .ap-snum{background:var(--or);border-color:var(--or);color:#fff}
.ap-step.ap-done .ap-snum{background:var(--gr2);border-color:var(--gr2);color:#fff}
.ap-stxt{font-size:.72rem;font-weight:600;color:var(--sl3);white-space:nowrap;transition:color .25s}
.ap-step.ap-act  .ap-stxt{color:var(--ord)}
.ap-step.ap-done .ap-stxt{color:var(--grd)}
.ap-sbar{flex:1;height:2px;background:var(--sl5);margin:0 6px;border-radius:2px;transition:background .3s}
.ap-sbar.ap-sdone{background:var(--gr2)}

/* ── Body & Panels ── */
.ap-body{padding:1.75rem 2.25rem}
.ap-panel{display:none;animation:apFi .28s var(--ease)}
.ap-panel.ap-pact{display:block}
@keyframes apFi{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ── Erreur globale ── */
.ap-err{display:none;align-items:flex-start;gap:.5rem;background:var(--rdl);border:1px solid #FCA5A5;border-radius:10px;padding:.72rem 1rem;font-size:.82rem;color:#7F1D1D;font-weight:500;margin-bottom:1rem;animation:apFi .2s ease}
.ap-err.ap-erron{display:flex}
.ap-err svg{width:15px;height:15px;flex-shrink:0;margin-top:1px}

/* ── Section label ── */
.ap-slbl{font-size:.7rem;font-weight:700;color:var(--sl);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.7rem;display:flex;align-items:center;gap:.4rem}
.ap-slbl-n{width:20px;height:20px;background:var(--or);color:#fff;border-radius:5px;font-size:.65rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}

/* ── Info box ── */
.ap-ibox{background:#EFF6FF;border:1.5px solid #BFDBFE;border-radius:9px;padding:.65rem 1rem;font-size:.8rem;color:#1E40AF;margin-bottom:1.1rem;line-height:1.6}

/* ── Champs ── */
.ap-frow{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.8rem}
.ap-ff{display:flex;flex-direction:column;gap:.28rem;flex:1 1 190px}
.ap-ff.ap-sm{flex:0 0 90px}.ap-ff.ap-full{flex:1 1 100%}
.ap-flbl{font-size:.7rem;font-weight:700;color:var(--sl);text-transform:uppercase;letter-spacing:.06em}
.ap-req{color:var(--rd);margin-left:2px}
.ap-finp{width:100%;padding:.68rem .95rem;border:1.5px solid var(--sl5);border-radius:10px;font-family:var(--pp);font-size:.88rem;color:var(--nav);background:#fff;outline:none;transition:border-color .18s,box-shadow .18s;-webkit-appearance:none}
.ap-finp:focus{border-color:var(--or);box-shadow:0 0 0 3px rgba(181,116,10,.1)}
.ap-finp.ap-ok {border-color:var(--gr2)}
.ap-finp.ap-err-f{border-color:var(--rd);background:var(--rdl)}
.ap-ferr{font-size:.68rem;color:var(--rd);font-weight:500;display:none}
.ap-ferr.ap-ferron{display:block}
select.ap-finp{cursor:pointer}
textarea.ap-finp{resize:vertical;line-height:1.55;min-height:70px}

/* ── Upload cards ── */
.ap-ucards{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.25rem}
.ap-ucard{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:.8rem;background:var(--sl7);border:1.5px dashed var(--sl4);border-radius:12px;padding:.85rem 1rem;cursor:pointer;transition:all .2s var(--ease);user-select:none}
.ap-ucard:hover{border-color:var(--or2);background:var(--orl)}
.ap-ucard.ap-uok{border-style:solid;border-color:var(--gr2);background:var(--grl)}
.ap-fileinp{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.ap-uico{font-size:20px;flex-shrink:0}
.ap-uinfo strong{font-size:.84rem;font-weight:600;color:var(--nav);display:block;margin-bottom:.12rem;font-family:var(--pp)}
.ap-uinfo span{display:block;font-size:.72rem;color:var(--sl3);line-height:1.4}
.ap-ufn{font-size:.7rem!important;color:var(--sl4)!important;margin-top:.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}
.ap-ucard.ap-uok .ap-ufn{color:var(--grd)!important}
.ap-ubadge{font-size:.6rem;font-weight:700;padding:.1rem .45rem;border-radius:99px;margin-left:.3rem;vertical-align:middle}
.ap-req-b{background:#FEE2E2;color:#7F1D1D}
.ap-uico-state{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--sl5);transition:all .18s}
.ap-ucard.ap-uok .ap-uico-state{background:var(--gr2)}
.ap-ico-upload{width:16px;height:16px;stroke:var(--sl3);display:block}
.ap-ico-ok{width:16px;height:16px;stroke:#fff;display:none}
.ap-ucard.ap-uok .ap-ico-upload{display:none}
.ap-ucard.ap-uok .ap-ico-ok{display:block}

/* ── Récap montant ── */
.ap-rband{background:var(--nav);border-radius:12px;padding:.9rem 1.25rem;margin-bottom:1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.ap-rl{font-size:.68rem;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}
.ap-rv{font-size:1.4rem;font-weight:700;color:#fff;letter-spacing:-.04em}
.ap-rsub{font-size:.7rem;color:rgba(255,255,255,.35);margin-top:2px}

/* ── Grille paiement ── */
.ap-pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.5rem;margin-bottom:1rem}
.ap-pcard{border:1.5px solid var(--sl5);border-radius:12px;padding:.85rem .5rem .7rem;cursor:pointer;text-align:center;background:#fff;transition:all .2s var(--ease);position:relative;font-family:var(--pp)}
.ap-pcard:hover{border-color:var(--or2);transform:translateY(-2px)}
.ap-pcard.ap-psel{border-color:var(--gr2);background:var(--grl)}
.ap-pchk{position:absolute;top:6px;right:6px;width:15px;height:15px;background:var(--gr2);border-radius:50%;display:none;align-items:center;justify-content:center}
.ap-pcard.ap-psel .ap-pchk{display:flex}
.ap-pico{font-size:18px;margin-bottom:.3rem;display:block}
.ap-pnam{font-size:.7rem;font-weight:700;color:var(--nav);margin-bottom:.1rem}
.ap-pdsc{font-size:.6rem;color:var(--sl3);line-height:1.3}
.ap-pzon{font-size:.57rem;font-weight:600;padding:.1rem .42rem;border-radius:99px;background:var(--sl6);color:var(--sl2);margin-top:.3rem;display:inline-block;text-transform:uppercase;letter-spacing:.04em}
.ap-pcard.ap-psel .ap-pzon{background:var(--grl);color:var(--grd)}
.ap-pnew{font-size:.55rem;font-weight:700;padding:.08rem .4rem;border-radius:99px;background:#EEF2FF;color:#3730A3;margin-top:.2rem;display:inline-block}

/* ── Panneaux paiement ── */
.ap-pibox{display:none;background:var(--sl7);border:1px solid var(--sl5);border-radius:12px;padding:.9rem 1.1rem;margin-bottom:1rem;font-size:.84rem;color:var(--sl);line-height:1.65;animation:apFi .2s ease}
.ap-pibox.ap-piact{display:block}
.ap-pichips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.55rem}
.ap-pichips span{font-size:.7rem;font-weight:600;background:#fff;color:var(--grd);padding:.22rem .65rem;border-radius:99px;border:1px solid #a7f3d0}
.ap-cprow{display:flex;align-items:stretch;border:1.5px solid var(--sl5);border-radius:10px;overflow:hidden;background:#fff;transition:border-color .18s;margin-top:.4rem}
.ap-cprow:focus-within{border-color:#1a56db;box-shadow:0 0 0 3px rgba(26,86,219,.1)}
.ap-cpre{padding:.65rem .8rem;background:var(--sl6);border-right:1.5px solid var(--sl5);font-size:.86rem;font-weight:700;color:var(--sl2);display:flex;align-items:center;white-space:nowrap;transition:all .18s}
.ap-cprow:focus-within .ap-cpre{background:#EEF2FF;color:#1a56db;border-right-color:#1a56db}
input.ap-cinp{flex:1;padding:.65rem .8rem;border:none;font-family:var(--pp);font-size:.9rem;font-weight:600;color:var(--nav);outline:none;background:transparent}
.ap-cnote{font-size:.7rem;color:var(--sl3);margin-top:.4rem}
.ap-stripe-el{background:#fff;border:1.5px solid var(--sl5);border-radius:9px;padding:.7rem .85rem;min-height:44px;margin-top:.6rem;transition:border-color .18s,box-shadow .18s}
.ap-stripe-el.ap-sf{border-color:var(--or);box-shadow:0 0 0 3px rgba(181,116,10,.1)}
.ap-serr{color:var(--rd);font-size:.8rem;margin-top:.4rem}
.ap-ppbtn{width:100%;padding:.72rem;border-radius:9px;background:#0070ba;color:#fff;border:none;font-family:var(--pp);font-size:.88rem;font-weight:700;cursor:pointer;transition:background .18s;display:flex;align-items:center;justify-content:center;gap:.4rem}
.ap-ppbtn:hover{background:#005ea6}
.ap-ppnote{font-size:.68rem;color:var(--sl3);text-align:center;margin-top:.45rem}
.ap-btbl{width:100%;border-collapse:collapse;font-size:.8rem;margin-top:.55rem}
.ap-btbl th,.ap-btbl td{padding:.38rem .55rem;border-bottom:1px solid var(--sl5);text-align:left}
.ap-btbl th{color:var(--sl3);font-weight:500;width:110px}
.ap-btbl td{font-weight:600;font-family:'Courier New',monospace;color:var(--nav)}
.ap-vnote{background:#FFFBEB;border:1px solid #FDE68A;border-radius:8px;padding:.55rem .85rem;font-size:.74rem;color:#92400E;margin-top:.65rem;line-height:1.5}
.ap-trust{display:flex;align-items:center;gap:.5rem;padding:.65rem .95rem;background:var(--sl7);border-radius:9px;border:1px solid var(--sl5);margin-bottom:.85rem;font-size:.71rem;color:var(--sl2)}
.ap-trust svg{width:14px;height:14px;flex-shrink:0;stroke:var(--gr2);fill:none;stroke-width:1.5;stroke-linecap:round}
.ap-trust strong{color:var(--nav)}
.ap-consent{font-size:.72rem;color:var(--sl3);line-height:1.6;margin-bottom:1.1rem}
.ap-consent a{color:var(--or);text-decoration:none}
.ap-consent a:hover{text-decoration:underline}

/* ── Boutons ── */
.ap-btns{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.5rem}
.ap-bw{justify-content:space-between}
.ap-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.72rem 1.45rem;border-radius:10px;font-family:var(--pp);font-size:.88rem;font-weight:600;cursor:pointer;border:none;transition:all .2s var(--ease)}
.ap-bnn,.ap-bsub{background:linear-gradient(135deg,var(--or),var(--or2));color:#fff;box-shadow:0 2px 8px rgba(181,116,10,.3)}
.ap-bnn:hover,.ap-bsub:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px rgba(181,116,10,.4)}
.ap-bsub:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}
.ap-bprev{background:var(--sl6);color:var(--sl);border:1px solid var(--sl5)}
.ap-bprev:hover{background:var(--sl5);color:var(--nav)}
.ap-arr{transition:transform .18s}
.ap-bnn:hover .ap-arr{transform:translateX(3px)}
.ap-spin{width:15px;height:15px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:apSpin .7s linear infinite;display:none;flex-shrink:0}
@keyframes apSpin{to{transform:rotate(360deg)}}
.ap-bsub.ap-loading .ap-spin{display:inline-block}

/* ── Confirmation ── */
.ap-conf{padding:2.75rem 2.25rem;text-align:center;display:none}
.ap-conf.ap-confsho{display:block;animation:apFi .3s ease}
.ap-cring{width:70px;height:70px;border-radius:50%;background:var(--grl);border:2px solid #a7f3d0;display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem}
.ap-cring svg{width:30px;height:30px;stroke:var(--gr2)}
.ap-ch{font-size:1.35rem!important;font-weight:700!important;color:var(--nav)!important;letter-spacing:-.04em;margin:0 0 .5rem!important;font-family:var(--pp)!important}
.ap-cp{font-size:.87rem;color:var(--sl2);line-height:1.7;margin-bottom:1.1rem;max-width:440px;margin-inline:auto}
.ap-crec{background:var(--sl7);border:1px solid var(--sl5);border-radius:12px;padding:1rem 1.2rem;display:inline-block;text-align:left;min-width:280px;margin-bottom:.9rem}
.ap-crow{display:flex;justify-content:space-between;padding:.28rem 0;border-bottom:1px solid var(--sl5);font-size:.82rem;gap:1rem}
.ap-crow:last-child{border-bottom:none}
.ap-crl{color:var(--sl3)}.ap-crv{font-weight:600;color:var(--nav);text-align:right}
.ap-ctok{display:inline-flex;align-items:center;gap:.3rem;background:var(--grl);color:var(--grd);font-size:.7rem;font-weight:700;padding:2px 9px;border-radius:99px;border:1px solid #a7f3d0}
.ap-cnote{font-size:.77rem;color:var(--sl3);max-width:400px;margin:0 auto;line-height:1.65}

/* ── Responsive ── */
@media(max-width:540px){
  .ap-hero,.ap-body{padding-left:1.25rem;padding-right:1.25rem}
  .ap-stepper{padding:.9rem 1.25rem}
  .ap-pgrid{grid-template-columns:repeat(3,1fr)}
  .ap-frow{flex-direction:column}
  .ap-ff.ap-sm{flex:none;width:100%}
}
@media(max-width:360px){.ap-pgrid{grid-template-columns:repeat(2,1fr)}}
