/* Modal de paiement partagé (services, contact, événements) */
.jp-modal-overlay#methodModalOverlay{z-index:10001}
.pay-modal{max-height:calc(100dvh - 32px);overflow-y:auto}
.pay-modal h3:focus{outline:none}
.pay-step[hidden]{display:none}
.pay-recap{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0 22px;padding:14px 18px;border-radius:14px;background:var(--bg-panel);border:1px solid var(--gray-light)}
.pay-recap small{display:block;font-size:.72rem;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted)}
.pay-recap strong{display:block;margin-top:2px;font-size:.98rem;line-height:1.35;color:var(--navy)}
.pay-recap-amount{flex:none;text-align:right;font:900 1.35rem/1.2 'Nunito',sans-serif;color:var(--navy);font-variant-numeric:tabular-nums}
.pay-recap-amount small{margin-top:2px;font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:none}
.pay-recap-amount small[hidden]{display:none}
.pm-choices{display:grid;gap:14px}
.pm-choice{display:grid;grid-template-columns:60px minmax(0,1fr) 20px;align-items:center;gap:16px;width:100%;padding:16px 18px;text-align:left;cursor:pointer;font:inherit;color:var(--navy);background:#fff;border:2px solid var(--gray-light);border-radius:16px;transition:border-color .2s,box-shadow .2s,transform .15s}
.pm-choice:hover{border-color:var(--teal);box-shadow:0 12px 28px -16px rgba(30,45,90,.4);transform:translateY(-2px)}
.pm-choice:hover .pm-go{transform:translateX(3px);color:var(--teal-dark)}
.pm-choice:focus-visible,.pay-back:focus-visible{outline:3px solid var(--or);outline-offset:3px}
.pm-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.pm-text strong{font:800 1.05rem/1.25 'Nunito',sans-serif}
.pm-text small{font-size:.86rem;line-height:1.45;color:var(--text-muted)}
.pm-go{color:var(--navy);font-size:.9rem;transition:transform .2s,color .2s}
.pm-logo{position:relative;width:60px;height:60px;flex:none}
.pm-logo img{width:60px;height:60px;object-fit:contain;border-radius:14px;background:#fff;border:1px solid var(--gray-light)}
.pm-logo .pm-logo-sub{position:absolute;right:-8px;bottom:-8px;width:28px;height:28px;padding:2px;border-radius:8px;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.pm-logo-stripe{display:grid;place-items:center;width:60px;height:60px;border-radius:14px;background:#635bff;color:#fff;font-size:1.9rem}
.pm-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px}
.pm-chips span{padding:3px 10px;border-radius:14px;background:var(--off-white,#f6f4ef);border:1px solid var(--gray-light);font-size:.74rem;font-weight:800;color:var(--navy)}
.pm-chips i{font-size:1.5rem;line-height:1;color:var(--navy)}
.pm-secure{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;font-size:.82rem;color:var(--text-muted)}
.pm-secure i{color:var(--teal-dark)}
.pay-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;padding:8px 14px 8px 10px;border:0;border-radius:20px;background:rgba(30,45,90,.07);cursor:pointer;font:800 .88rem 'Nunito',sans-serif;color:var(--navy);transition:background .2s}
.pay-back:hover:not(:disabled){background:rgba(30,45,90,.14)}
.pay-back:disabled{opacity:.5;cursor:not-allowed}
.pay-method-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.pay-method-head .pm-logo,.pay-method-head .pm-logo img,.pay-method-head .pm-logo-stripe{width:48px;height:48px}
.pay-method-head strong{display:block;font:800 1.1rem 'Nunito',sans-serif;color:var(--navy)}
.pay-method-head small{color:var(--text-muted);font-size:.85rem}
.pay-help{margin-bottom:18px;font-size:.94rem;line-height:1.65;color:var(--gray)}
.pay-note{margin-top:12px;text-align:center;font-size:.84rem;line-height:1.5;color:var(--text-muted)}
.pay-error{margin:0 0 12px;padding:10px 12px;border-radius:8px;background:rgba(220,53,69,.1);color:#a1262f;font-size:.9rem;line-height:1.5}
.pay-error[hidden]{display:none}
#stripePayBtn:disabled{background:#d8d6cf;color:#5b6070;box-shadow:none;transform:none;cursor:wait;opacity:1}

/* message de retour Stripe (?stripe=succes | annule) */
.pay-notice{max-width:760px;margin:0 auto 24px;padding:14px 18px;border-radius:14px;text-align:center;font-weight:700;line-height:1.5}
.pay-notice[hidden]{display:none}
.pay-notice.is-ok{background:rgba(26,127,55,.12);color:#14612b}
.pay-notice.is-info{background:#fff;color:var(--navy);border:1px solid var(--gray-light)}

@media (max-width:480px){
  .pm-choice{grid-template-columns:52px minmax(0,1fr) 16px;gap:12px;padding:14px}
  .pm-logo,.pm-logo img,.pm-logo-stripe{width:52px;height:52px}
  .pay-recap{flex-direction:column;align-items:flex-start;gap:6px}
  .pay-recap-amount{text-align:left}
}
@media (prefers-reduced-motion:reduce){.pm-choice,.pm-go{transition:none}}
