:root { --kt-green: #1a9c3b; --kt-orange: #ff6b35; --kt-border: #8fd19e; }
.kkv-card { background: #fff; border: 3px solid var(--kt-green); border-radius: 40px; padding: 30px; max-width: 650px; margin: 20px auto; font-family: sans-serif; }
.kkv-form-title { color: var(--kt-green); text-align: center; font-weight: bold; text-transform: uppercase; }
.kkv-section-label { display: block; background: #f9fbf9; padding: 10px; border-radius: 10px; color: var(--kt-green); font-weight: bold; margin: 20px 0 10px; }
.kkv-row { display: flex; gap: 15px; margin-bottom: 10px; flex-wrap: wrap; }
.kkv-input-wrap { flex: 1; min-width: 200px; }
.kkv-input-wrap label { display: block; font-size: 12px; color: #666; margin-bottom: 3px; }
.kkv-input-wrap input { width: 100%; padding: 10px; border: 1px solid var(--kt-border); border-radius: 20px; }
.kkv-radio-group, .kkv-legal-box { background: #fdfdfd; padding: 15px; border-radius: 15px; border: 1px solid #eee; margin: 15px 0; }
.kkv-radio-item, .kkv-check-item { display: block; font-size: 13px; margin-bottom: 8px; cursor: pointer; }
.kkv-price-box { text-align: center; background: #f9fbf9; padding: 20px; border-radius: 20px; border: 2px dashed var(--kt-border); margin: 20px 0; }
.kkv-total-price { font-size: 32px; font-weight: bold; color: #333; }
.kkv-submit-btn { background: var(--kt-orange); color: #fff; border: none; padding: 15px; border-radius: 30px; width: 100%; font-weight: bold; cursor: pointer; font-size: 16px; }
.kkv-otp-input { display: block; margin: 20px auto; width: 160px; font-size: 24px; text-align: center; letter-spacing: 5px; border: 2px solid var(--kt-green); border-radius: 10px; padding: 10px; }