.ric-form-wrap { max-width:750px; margin:30px auto; background:#fff; border-radius:14px; box-shadow:0 4px 25px rgba(0,0,0,0.08); padding:35px 40px; font-family:'Segoe UI','Helvetica Neue',Arial,sans-serif; box-sizing:border-box; }
.ric-form-wrap * { box-sizing:border-box; }

.ric-form-header { text-align:center; margin-bottom:25px; padding-bottom:20px; border-bottom:2px solid #f0f2f5; }
.ric-form-header h2 { margin:0 0 6px; font-size:24px; color:#c1121f; font-weight:800; }
.ric-form-header p { margin:0; color:#64748b; font-size:14px; }

.ric-success-box { text-align:center; padding:40px 20px; }
.ric-success-icon { font-size:55px; margin-bottom:10px; }
.ric-success-box h3 { color:#16a34a; margin:0 0 10px; font-size:22px; }
.ric-success-box p { color:#64748b; margin:0; }

.ric-error-box { background:#fee2e2; color:#991b1b; padding:12px 16px; border-radius:8px; margin-bottom:20px; border-left:4px solid #dc2626; font-size:14px; }

.ric-form-row { margin-bottom:18px; }
.ric-form-row-2 { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.ric-form-row label { display:block; font-size:13px; font-weight:700; color:#1e293b; margin-bottom:6px; letter-spacing:0.2px; }
.ric-form-row .req { color:#dc2626; }

.ric-form-row input[type="text"],.ric-form-row input[type="tel"],.ric-form-row input[type="email"],.ric-form-row input[type="date"],.ric-form-row select,.ric-form-row textarea { width:100%; padding:11px 14px; border:1.5px solid #e2e8f0; border-radius:8px; font-size:14px; background:#fafbfc; transition:all 0.2s; font-family:inherit; color:#1e293b; }
.ric-form-row input:focus,.ric-form-row select:focus,.ric-form-row textarea:focus { outline:none; border-color:#c1121f; background:#fff; box-shadow:0 0 0 3px rgba(193,18,31,0.08); }
.ric-form-row textarea { resize:vertical; min-height:70px; }

.ric-photo-upload { background:#f8fafc; border:2px dashed #cbd5e1; border-radius:10px; padding:18px; text-align:center; }
.ric-photo-preview { width:110px; height:130px; border-radius:8px; background:#e2e8f0; margin:0 auto 12px; display:flex; align-items:center; justify-content:center; color:#94a3b8; font-size:11px; overflow:hidden; border:2px solid #fff; box-shadow:0 2px 8px rgba(0,0,0,0.08); }
.ric-photo-preview img { width:100%; height:100%; object-fit:cover; }
.ric-btn-upload { background:#1e3a8a; color:#fff; border:none; padding:9px 22px; border-radius:6px; font-size:13px; font-weight:600; cursor:pointer; transition:all 0.2s; font-family:inherit; }
.ric-btn-upload:hover { background:#1e40af; }
.ric-photo-upload small { display:block; margin-top:8px; color:#94a3b8; font-size:11px; }

.ric-form-submit { text-align:center; margin-top:25px; }
.ric-submit-btn { background:linear-gradient(90deg,#c1121f 0%,#9a0d17 100%); color:#fff; border:none; padding:14px 55px; border-radius:8px; font-size:15px; font-weight:700; cursor:pointer; letter-spacing:0.5px; transition:all 0.2s; box-shadow:0 4px 14px rgba(193,18,31,0.3); font-family:inherit; }
.ric-submit-btn:hover { transform:translateY(-1px); box-shadow:0 6px 20px rgba(193,18,31,0.4); }
.ric-submit-btn:disabled { opacity:0.6; cursor:not-allowed; transform:none; }

.ric-form-message { text-align:center; margin-top:15px; font-size:14px; min-height:20px; }
.ric-form-message.success { color:#16a34a; font-weight:600; }
.ric-form-message.error { color:#dc2626; font-weight:600; }

@media (max-width:600px) {
    .ric-form-wrap { padding:25px 20px; margin:15px; }
    .ric-form-row-2 { grid-template-columns:1fr; gap:0; }
    .ric-form-header h2 { font-size:20px; }
}