/* ── Paycomet SEPA — Frontend ─────────────────────────────────────────────── */
:root{
  --pc-blue:#1a5276;--pc-blue-l:#2e86c1;--pc-green:#1e8449;
  --pc-border:#dde1e6;--pc-bg:#f8f9fa;--pc-radius:10px;
  --pc-shadow:0 4px 24px rgba(0,0,0,.09);
}

.pcsepa-wrap{max-width:660px;margin:32px auto;background:#fff;border-radius:var(--pc-radius);box-shadow:var(--pc-shadow);overflow:hidden;font-family:system-ui,sans-serif}

/* Header */
.pcsepa-header{background:linear-gradient(135deg,var(--pc-blue),var(--pc-blue-l));color:#fff;text-align:center;padding:32px 24px 24px}
.pcsepa-header__icon{font-size:44px;margin-bottom:8px}
.pcsepa-header__title{margin:0 0 6px;font-size:20px;font-weight:700}
.pcsepa-header__sub{margin:0;opacity:.85;font-size:14px}

/* Body */
.pcsepa-body{padding:28px}

/* Fields */
.pcsepa-field{margin-bottom:18px}
.pcsepa-field label{display:block;margin-bottom:5px;font-size:12px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.4px}
.pcsepa-field input[type=text],.pcsepa-field input[type=email],.pcsepa-field input[type=tel]{
  width:100%;padding:11px 13px;border:2px solid var(--pc-border);border-radius:8px;
  font-size:15px;font-family:inherit;transition:border-color .2s,box-shadow .2s;box-sizing:border-box
}
.pcsepa-field input:focus{outline:none;border-color:var(--pc-blue-l);box-shadow:0 0 0 3px rgba(46,134,193,.14)}
.pcsepa-hint{display:block;margin-top:3px;font-size:12px;color:#9ca3af}

/* 2-col row */
.pcsepa-row--2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:520px){.pcsepa-row--2{grid-template-columns:1fr}}

/* Mandate text */
.pcsepa-mandate-text{background:var(--pc-bg);border-left:4px solid var(--pc-blue-l);border-radius:6px;padding:14px 16px;margin-bottom:18px;font-size:13px;color:#4b5563;line-height:1.6}
.pcsepa-mandate-text h4{margin:0 0 8px;font-size:13px;color:var(--pc-blue)}
.pcsepa-mandate-text p{margin:0 0 6px}
.pcsepa-mandate-text p:last-child{margin:0}

/* Checkbox */
.pcsepa-field--check{margin-bottom:22px}
.pcsepa-check{display:flex;gap:10px;cursor:pointer;font-size:13px;color:#374151;line-height:1.5;align-items:flex-start}
.pcsepa-check input{width:18px;height:18px;margin-top:1px;flex-shrink:0;accent-color:var(--pc-blue)}

/* Button */
.pcsepa-btn{width:100%;padding:14px 20px;background:linear-gradient(135deg,var(--pc-green),#27ae60);
  color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:10px;transition:transform .15s,box-shadow .15s;font-family:inherit}
.pcsepa-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(30,132,73,.35)}
.pcsepa-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}

/* Security note */
.pcsepa-security{text-align:center;font-size:12px;color:#9ca3af;margin-top:10px}

/* Notices */
.pcsepa-notice-error,.pcsepa-notice-success{padding:11px 14px;border-radius:6px;font-size:14px;margin:0 28px 16px}
.pcsepa-notice-error{background:#fef2f2;border-left:4px solid #dc2626;color:#dc2626}
.pcsepa-notice-success{background:#f0fdf4;border-left:4px solid var(--pc-green);color:var(--pc-green)}

/* Redirect state */
.pcsepa-redirecting{text-align:center;padding:56px 32px}
.pcsepa-redirecting h3{color:var(--pc-blue);margin-bottom:8px}
.pcsepa-redirecting p{color:#6b7280;font-size:14px}

/* Spinner */
.pcsepa-spinner{width:44px;height:44px;border:4px solid #e5e7eb;border-top-color:var(--pc-blue-l);
  border-radius:50%;animation:pc-spin .7s linear infinite;margin:0 auto 20px}
@keyframes pc-spin{to{transform:rotate(360deg)}}
