/* ═══════════════════════════════════════════════════════════════════════
   Omid Instant Checkout — Styles
   ═══════════════════════════════════════════════════════════════════════ */

.om-pay-section{margin-top:32px;padding:28px;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;box-shadow:0 2px 12px rgba(0,72,81,.04);font-family:inherit;direction:rtl}
.om-pay-section *{box-sizing:border-box}

/* Header */
.om-pay-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:2px dashed #e2e8f0}
.om-pay-icon{width:40px;height:40px;background:#004851;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.om-pay-icon svg{width:20px;height:20px}
.om-pay-header h3{margin:0;font-size:17px;font-weight:700;color:#004851}
.om-pay-header p{margin:3px 0 0;font-size:13px;color:#64748b}
.om-pay-timer{margin-inline-start:auto;font-size:12px;font-weight:700;color:#92842c;background:rgba(146,132,44,.08);padding:6px 12px;border-radius:20px;white-space:nowrap;display:none}
.om-pay-timer.active{display:inline-block}

/* Steps */
.om-steps{display:flex;gap:8px;margin-bottom:24px}
.om-steps .om-step{flex:1;text-align:center;font-size:12px;font-weight:700;padding:8px 4px;border-radius:8px;background:#f1f5f9;color:#94a3b8}
.om-steps .om-step.done{background:rgba(0,72,81,.08);color:#004851}
.om-steps .om-step.active{background:#004851;color:#fff}
.om-steps.skip-otp .om-step[data-step="2"]{display:none}

/* Fields */
.om-pay-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.om-pay-fields .om-field{display:flex;flex-direction:column;gap:6px}
.om-pay-fields .om-field.full{grid-column:1/-1}
.om-pay-fields label{font-size:13px;font-weight:600;color:#0f172a;margin:0}
.om-pay-fields label .req{color:#ef4444}
.om-pay-fields input,
.om-pay-fields textarea,
.om-pay-fields select{width:100%;padding:11px 14px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:14px;color:#0f172a;background:#fff;outline:0;font-family:inherit;resize:vertical}
.om-pay-fields input:focus,
.om-pay-fields textarea:focus,
.om-pay-fields select:focus{border-color:#004851;box-shadow:0 0 0 3px rgba(0,72,81,.06)}
.om-pay-fields input[type=tel]{direction:ltr;text-align:right}

/* Donation */
.om-donation-box{margin-bottom:20px;padding:16px;background:rgba(146,132,44,.06);border-radius:12px;border:1px dashed #92842c}
.om-donation-box>label{font-size:13px;font-weight:700;color:#92842c;display:block;margin-bottom:8px}
.om-donation-box input{width:100%;padding:10px 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:14px}
.om-donation-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.om-donation-preset-btn{padding:9px 16px;border:1.5px solid #e2e8f0;border-radius:20px;background:#fff;font-size:13px;font-weight:700;color:#0f172a;cursor:pointer;font-family:inherit}
.om-donation-preset-btn:hover{border-color:#92842c}
.om-donation-preset-btn.active{background:#92842c;border-color:#92842c;color:#fff}

/* Total */
.om-pay-total{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;margin-bottom:20px;background:#004851;color:#fff;border-radius:12px;font-size:16px;font-weight:800;border:2px solid #92842c}

/* OTP */
.om-otp-box{margin-bottom:20px;text-align:center}
.om-otp-box p{font-size:13px;color:#64748b;margin:0 0 14px}
.om-otp-inputs{display:flex;gap:8px;justify-content:center;direction:ltr;margin-bottom:14px}
.om-otp-inputs input{width:46px !important;height:52px !important;text-align:center;font-size:20px;font-weight:700;border:1.5px solid #e2e8f0;border-radius:10px;outline:0;padding:0 !important}
.om-otp-inputs input:focus{border-color:#004851;box-shadow:0 0 0 3px rgba(0,72,81,.06)}
.om-otp-resend{font-size:12px;color:#004851;background:none;border:0;cursor:pointer;font-weight:700;text-decoration:underline;margin-top:4px;font-family:inherit}
.om-otp-resend:disabled{color:#94a3b8;cursor:not-allowed;text-decoration:none}

/* Gateways */
.om-pay-gateways{margin-bottom:20px}
.om-gw-title{font-size:14px;font-weight:700;color:#004851;margin:0 0 12px;display:flex;align-items:center;gap:8px;padding:10px 14px;background:rgba(0,72,81,.04);border-radius:10px;border-right:3px solid #92842c}
.om-pay-gateways ul{list-style:none;margin:0;padding:0}
.om-pay-gateways ul li{margin-bottom:8px}
.om-pay-gateways ul li label{display:flex;align-items:center;gap:10px;padding:12px 16px;border:1.5px solid #e2e8f0;border-radius:10px;cursor:pointer;font-size:13px;font-weight:600;color:#0f172a}
.om-pay-gateways ul li label:hover{border-color:#004851;background:rgba(0,72,81,.04)}
.om-pay-gateways ul li input[type=radio]:checked+label{border-color:#004851;background:rgba(0,72,81,.04)}
.om-pay-gateways ul li .payment_box{margin:6px 0 0;padding:10px 12px;background:#f7f8f9;border-radius:8px;font-size:12px;color:#64748b}

/* Terms */
.om-pay-terms{margin-bottom:20px;padding:12px 14px;background:rgba(146,132,44,.08);border-radius:10px;border-right:3px solid #92842c}
.om-pay-terms label{display:flex !important;align-items:flex-start;gap:10px;font-size:13px !important;color:#0f172a !important;cursor:pointer;line-height:1.7;font-weight:500 !important;margin:0 !important}
.om-pay-terms input[type=checkbox]{width:18px !important;height:18px !important;margin-top:2px;accent-color:#004851}
.om-pay-terms a{color:#004851 !important;font-weight:700 !important;text-decoration:underline !important}

/* Submit */
.om-pay-submit{width:100%;padding:16px 24px;background:#004851;color:#fff;border:0;border-radius:14px;font-size:16px;font-weight:800;cursor:pointer;font-family:inherit;text-align:center;display:block}
.om-pay-submit:hover{background:#003a42}
.om-pay-submit:disabled{background:#94a3b8;cursor:not-allowed}

/* Loading */
.om-pay-loading{display:none;align-items:center;justify-content:center;padding:20px;font-size:14px;color:#004851;font-weight:600;gap:10px}
.om-pay-loading.active{display:flex}
.om-pay-loading .spinner{width:22px;height:22px;border:3px solid #e2e8f0;border-top-color:#004851;border-radius:50%;animation:omSpin .6s linear infinite}
@keyframes omSpin{to{transform:rotate(360deg)}}

/* Error */
.om-pay-error{display:none;padding:12px 16px;margin-bottom:16px;background:#fef2f2;color:#991b1b;border-radius:10px;font-size:13px;border-right:4px solid #ef4444;line-height:1.7}
.om-pay-error.active{display:block}

/* Step Panels — بسیار مهم */
.om-step-panel{display:none !important}
.om-step-panel.active{display:block !important}

/* Summary */
.om-summary-box{margin-bottom:20px;padding:14px 16px;background:#f7f8f9;border-radius:10px;font-size:13px;color:#334155;line-height:2}
.om-summary-box b{color:#004851}

/* OTP Actions */
.om-otp-actions{display:flex;gap:10px;margin-bottom:16px}
.om-otp-actions .om-pay-submit{flex:1;margin:0}
.om-btn-back{width:100%;padding:14px 24px;background:transparent;color:#004851;border:2px solid #004851;border-radius:14px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px}
.om-btn-back:hover{background:#004851;color:#fff}
.om-btn-back svg{width:16px;height:16px}

/* Edit Phone */
.om-edit-phone-box{display:none;margin:12px 0;padding:16px;background:#fefce8;border:1.5px solid #fbbf24;border-radius:12px;text-align:center}
.om-edit-phone-box.active{display:block}
.om-edit-phone-box label{display:block;font-size:13px;font-weight:600;color:#92400e;margin-bottom:8px}
.om-edit-phone-box input{width:100%;max-width:280px;padding:11px 14px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:15px;text-align:center;direction:ltr;font-family:inherit}
.om-edit-phone-actions{display:flex;gap:8px;justify-content:center;margin-top:10px;flex-wrap:wrap}
.om-edit-phone-actions button{padding:10px 20px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;border:0;font-family:inherit}
.om-btn-save-phone{background:#004851;color:#fff}
.om-btn-cancel-phone{background:#e2e8f0;color:#334155}
.om-edit-phone-link{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#004851;cursor:pointer;font-weight:700;text-decoration:underline;margin-top:6px;background:none;border:0;font-family:inherit}

/* Secure */
.om-pay-secure{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px;font-size:12px;color:#64748b}

/* Mobile */
@media(max-width:768px){
	.om-pay-section{padding:20px 16px}
	.om-pay-fields{grid-template-columns:1fr;gap:14px}
	.om-otp-actions{flex-direction:column-reverse}
}