
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:wght@700&display=swap');
.bloom-pay-container { max-width: 540px; margin: 40px auto; background-color: #E1ECED; border-radius: 24px; padding: 35px; box-sizing: border-box; font-family: 'Inter', sans-serif; color: #1F2937; direction: ltr; text-align: left; }
.bloom-pay-card { background: #FFFFFF; border-radius: 20px; padding: 30px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.015); transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); }
.bloom-pay-card-header { margin-bottom: 25px; border-bottom: 1px solid #F3F4F6; padding-bottom: 15px; }
.bloom-pay-card-header h3 { font-family: 'Playfair Display', serif; font-size: 1.6rem; font-weight: 700; color: #111827; margin: 0 0 8px 0; }
.bloom-pay-card-header p { font-size: 0.9rem; color: #6B7280; margin: 0; line-height: 1.5; }
.form-group { margin-bottom: 20px; }
.form-row { display: flex; margin-left: -10px; margin-right: -10px; }
.col-6 { flex: 0 0 50%; max-width: 50%; padding-left: 10px; padding-right: 10px; box-sizing: border-box; }
label { display: block; font-size: 0.85rem; font-weight: 600; margin-bottom: 6px; color: #111827; }
.required-asterisk { color: #EF4444; margin-left: 2px; font-weight: bold; }
.form-control { width: 100%; height: 46px; padding: 10px 14px; font-size: 0.95rem; background-color: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 8px; outline: none; transition: all 0.2s ease; box-sizing: border-box; color: #1F2937; }
.form-control:focus { border-color: #1F2937; box-shadow: 0 0 0 1px #1F2937; }
.form-actions { display: flex; justify-content: flex-end; margin-top: 25px; }
.btn { display: inline-flex; align-items: center; justify-content: center; height: 42px; padding: 0 24px; font-size: 0.95rem; font-weight: 600; border-radius: 8px; border: none; cursor: pointer; transition: all 0.2s ease; outline: none; color: #FFFFFF; background-color: #1E293B; }
.btn-secondary { background-color: #64748B; }
.btn-success { background-color: #059669; }
.btn:hover { opacity: 0.9; }
.btn-spinner { width: 16px; height: 16px; border: 2px solid rgba(255, 255, 255, 0.3); border-radius: 50%; border-top-color: #ffffff; animation: spin 0.8s ease-in-out infinite; margin-left: 8px; display: inline-block; }
@keyframes spin { to { transform: rotate(360deg); } }
.form-response-msg { margin-top: 15px; margin-bottom: 15px; padding: 12px 16px; border-radius: 8px; font-size: 0.85rem; display: none; }
.form-response-msg.success { display: block; background-color: #F0FDF4; border: 1px solid #DCFCE7; color: #166534; }
.form-response-msg.error { display: block; background-color: #FEF2F2; border: 1px solid #FEE2E2; color: #991B1B; }
.hidden { display: none !important; }

/* RTL Support for Persian */
.bloom-pay-container.rtl { direction: rtl; text-align: right; font-family: Tahoma, 'IRANSans', 'Vazir', sans-serif; }
.bloom-pay-container.rtl .bloom-pay-card-header h3 { font-family: Tahoma, 'IRANSans', 'Vazir', sans-serif; }
.bloom-pay-container.rtl .btn-spinner { margin-left: 0; margin-right: 8px; }
.bloom-pay-container.rtl .required-asterisk { margin-left: 0; margin-right: 2px; }
