.rb-quote-wrap{
  --rb-red:#E22726;--rb-red-dark:#B01F1E;--rb-charcoal:#1A1A1C;--rb-charcoal-soft:#4A4A4D;
  --rb-white:#FFFFFF;--rb-bg-light:#F6F5F2;--rb-bg-panel:#FFFFFF;--rb-border:#E4E2DC;--rb-border-strong:#D2CFC7;
  --rb-radius-sm:6px;--rb-radius-md:10px;--rb-green:#1F8A4C;--rb-green-bg:#EAF6EE;
  max-width:640px;margin:0 auto;font-family:inherit;color:var(--rb-charcoal);
}
.rb-quote-wrap *{box-sizing:border-box;}
.rb-progress{display:flex;gap:6px;margin:0 0 6px;}
.rb-progress .rb-seg{flex:1;height:4px;border-radius:3px;background:var(--rb-border-strong);}
.rb-progress .rb-seg.done{background:var(--rb-red);}
.rb-progress-label{font-size:12px;font-weight:700;color:var(--rb-charcoal-soft);text-transform:uppercase;letter-spacing:.05em;margin-bottom:22px;}
.rb-progress-label span{color:var(--rb-red);}
.rb-quote-card{background:var(--rb-bg-panel);border:1px solid var(--rb-border);border-radius:var(--rb-radius-md);padding:22px;}
.rb-step{display:none;}
.rb-step.active{display:block;animation:rbfade .2s ease;}
@keyframes rbfade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
.rb-step h3{font-size:19px;margin:0 0 4px;font-weight:700;}
.rb-step .rb-step-desc{font-size:13.5px;color:var(--rb-charcoal-soft);margin:0 0 20px;}
.rb-field{margin-bottom:16px;}
.rb-field label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;}
.rb-field .rb-opt{font-weight:500;color:var(--rb-charcoal-soft);text-transform:none;letter-spacing:0;}
.rb-field input[type=text],.rb-field input[type=tel],.rb-field input[type=email],.rb-field select,.rb-field textarea{
  width:100%;height:48px;border:1.5px solid var(--rb-border-strong);border-radius:var(--rb-radius-sm);
  padding:0 14px;font-family:inherit;font-size:15px;background:var(--rb-white);color:var(--rb-charcoal);
}
.rb-field textarea{height:auto;padding:12px 14px;resize:vertical;min-height:110px;}
.rb-field input:focus,.rb-field select:focus,.rb-field textarea:focus{outline:none;border-color:var(--rb-red);box-shadow:0 0 0 3px rgba(226,39,38,.12);}
.rb-field-row{display:grid;grid-template-columns:1fr;gap:16px;}
.rb-char-count{font-size:11.5px;color:var(--rb-charcoal-soft);text-align:right;margin-top:4px;}
.rb-field-error{display:none;font-size:12.5px;color:var(--rb-red);margin-top:6px;font-weight:600;}
.rb-field.invalid input,.rb-field.invalid select,.rb-field.invalid textarea{border-color:var(--rb-red);}
.rb-field.invalid .rb-field-error{display:block;}
.rb-upload-zone{border:1.5px dashed var(--rb-border-strong);border-radius:var(--rb-radius-md);padding:26px 16px;text-align:center;background:var(--rb-white);cursor:pointer;display:block;}
.rb-upload-zone:hover{border-color:var(--rb-charcoal);}
.rb-upload-ico{font-size:26px;margin-bottom:8px;}
.rb-upload-zone p{font-size:13.5px;color:var(--rb-charcoal-soft);margin:0;}
.rb-upload-zone strong{color:var(--rb-charcoal);}
.rb-quote-wrap input[type=file]{display:none;}
.rb-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;}
.rb-preview-item{position:relative;aspect-ratio:1;border-radius:var(--rb-radius-sm);overflow:hidden;border:1px solid var(--rb-border);background:#eee;}
.rb-preview-item img{width:100%;height:100%;object-fit:cover;display:block;}
.rb-preview-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:rgba(26,26,28,.75);color:#fff;border:none;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.rb-upload-hint{font-size:12px;color:var(--rb-charcoal-soft);margin-top:10px;}
.rb-step-nav{display:flex;gap:12px;margin-top:24px;}
.rb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 22px;border-radius:var(--rb-radius-sm);font-weight:700;font-size:15px;border:1.5px solid transparent;flex:1;cursor:pointer;transition:background .15s,border-color .15s,transform .1s;}
.rb-btn:active{transform:scale(.98);}
.rb-btn-primary{background:var(--rb-red);color:#fff;}
.rb-btn-primary:hover{background:var(--rb-red-dark);}
.rb-btn-secondary{background:var(--rb-white);color:var(--rb-charcoal);border-color:var(--rb-border-strong);}
.rb-btn-secondary:hover{border-color:var(--rb-charcoal);}
.rb-btn[disabled]{opacity:.55;pointer-events:none;}
.rb-hp-field{position:absolute;left:-9999px;top:-9999px;opacity:0;height:0;overflow:hidden;}
.rb-success-card{background:var(--rb-bg-panel);border:1px solid var(--rb-border);border-radius:var(--rb-radius-md);padding:34px 24px;text-align:center;display:none;}
.rb-success-card.active{display:block;}
.rb-success-ico{width:56px;height:56px;border-radius:50%;background:var(--rb-green-bg);color:var(--rb-green);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:26px;}
.rb-success-card h3{font-size:20px;margin:0;}
.rb-success-card p{font-size:14px;color:var(--rb-charcoal-soft);margin-top:10px;max-width:360px;margin-left:auto;margin-right:auto;}
.rb-ref{margin-top:16px;font-size:13px;font-weight:700;background:var(--rb-bg-light);display:inline-block;padding:6px 14px;border-radius:20px;}
.rb-consent{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--rb-charcoal-soft);margin-bottom:4px;}
.rb-summary-list{border:1px solid var(--rb-border);border-radius:var(--rb-radius-sm);overflow:hidden;margin-bottom:18px;}
.rb-summary-row{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;font-size:13.5px;border-bottom:1px solid var(--rb-border);}
.rb-summary-row:last-child{border-bottom:none;}
.rb-summary-row .k{color:var(--rb-charcoal-soft);}
.rb-summary-row .v{font-weight:600;text-align:right;}
.rb-form-error-general{display:none;background:#FDE2E2;color:#A11;border-radius:var(--rb-radius-sm);padding:12px 14px;font-size:13.5px;font-weight:600;margin-top:16px;}
.rb-form-error-general.show{display:block;}

.rb-captcha{margin-top:22px;padding-top:20px;border-top:1px solid var(--rb-border);}
.rb-captcha-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--rb-charcoal-soft);margin-bottom:10px;}
.rb-captcha-prompt{font-size:13.5px;color:var(--rb-charcoal-soft);margin-bottom:10px;}
.rb-captcha-display{display:flex;align-items:center;justify-content:center;width:140px;height:60px;border:1.5px solid var(--rb-border-strong);border-radius:var(--rb-radius-sm);background:var(--rb-bg-light);margin-bottom:12px;font-size:32px;line-height:1;font-weight:800;letter-spacing:.18em;color:var(--rb-charcoal);font-family:Arial,Helvetica,sans-serif;user-select:none;}
.rb-captcha-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.rb-captcha-option{
  height:48px;border:1.5px solid var(--rb-border-strong);border-radius:var(--rb-radius-sm);background:var(--rb-white);
  font-family:inherit;font-size:16px;font-weight:700;color:var(--rb-charcoal);cursor:pointer;transition:.15s;
}
.rb-captcha-option:hover{border-color:var(--rb-charcoal);}
.rb-captcha-option.selected{border-color:var(--rb-red);background:#FDEFEE;color:var(--rb-red-dark);}
.rb-captcha-option.correct{border-color:var(--rb-green);background:var(--rb-green-bg);color:var(--rb-green);}
.rb-captcha-option.wrong{border-color:var(--rb-red);background:#FDE2E2;color:#A11;}
.rb-captcha-option[disabled]{opacity:.5;pointer-events:none;}
.rb-captcha-status{font-size:12.5px;font-weight:600;margin-top:10px;min-height:16px;}
.rb-captcha-status.ok{color:var(--rb-green);}
.rb-captcha-status.err{color:var(--rb-red);}

@media (min-width:640px){
  .rb-field-row-2{grid-template-columns:1fr 1fr;}
}
@media (min-width:900px){
  .rb-quote-card{padding:32px;}
}
