/* Fenêtre de paiement CatchYourCard (au-dessus de toute autre fenêtre du site) */
.pay-open{overflow:hidden}
.pay-layer{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px}
.pay-backdrop{position:absolute;inset:0;background:#102c3d99}
.pay-dialog{position:relative;width:min(460px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:var(--surface,#fff);border-radius:14px;padding:28px 26px 22px;box-shadow:0 24px 70px #10223640}
.pay-dialog h2{font-size:24px;font-weight:650;margin:8px 0 14px;color:var(--ink)}
.pay-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:8px;font-size:22px;color:var(--muted)}
.pay-close:hover{background:var(--paper)}
.pay-summary{list-style:none;margin:0 0 20px;padding:14px 16px;border-radius:10px;background:var(--azure-soft,#edf8ff);display:grid;gap:7px;font-size:13px;color:var(--ink);line-height:1.5}
.pay-summary li{padding-left:20px;position:relative}
.pay-summary li:before{content:"✓";position:absolute;left:0;color:var(--azure);font-weight:700}
.pay-element{min-height:120px;margin-bottom:14px}
.pay-loading{color:var(--muted);font-size:13px;margin:40px 0;text-align:center}
#pay-form .form-error{min-height:18px;margin:0 0 10px;color:var(--danger);font-size:13px}
.pay-note{display:flex;gap:8px;align-items:flex-start;margin:16px 0 0;font-size:11px;line-height:1.6;color:var(--muted)}
.pay-note .icon{width:15px;height:15px;flex-shrink:0;margin-top:2px;color:var(--green)}
.pay-note a{color:inherit}
@media (max-width:520px){.pay-layer{place-items:end center;padding:0}.pay-dialog{width:100%;border-radius:16px 16px 0 0;padding:24px 18px calc(18px + env(safe-area-inset-bottom,0px));max-height:94dvh}}
