
.rlt-form{display:grid;gap:24px}
.rlt-hp{position:absolute;left:-9999px;opacity:0}
.rlt-alert{border-radius:18px;padding:16px 18px;margin-bottom:20px;font-weight:850}
.rlt-alert--success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}
.rlt-alert--error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
.rlt-full{grid-column:1/-1}
.rlt-field-help{display:block;margin-top:2px;color:#64748b;font-size:13px;font-weight:600}
.rlt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.rlt-grid--spaced{margin-top:22px}
.rlt-grid label{display:grid;gap:7px;font-weight:800;color:#101421}
.rlt-grid label>span{color:#d9480f}
.rlt-grid input,.rlt-grid select,.rlt-grid textarea{width:100%;border:1px solid #d7dce5;border-radius:14px;padding:14px 15px;font:inherit;background:#fff;color:#101421;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.rlt-grid textarea{resize:vertical;min-height:116px}
.rlt-grid input:hover,.rlt-grid select:hover,.rlt-grid textarea:hover{border-color:#aab3c2}
.rlt-grid input:focus,.rlt-grid select:focus,.rlt-grid textarea:focus{outline:0;border-color:#1f2937;box-shadow:0 0 0 4px rgba(31,41,55,.09)}
.rlt-grid input:invalid:not(:placeholder-shown),.rlt-grid textarea:invalid:not(:placeholder-shown){border-color:#dc2626}
.rlt-form__section{background:#fff;border:1px solid #e6e9f0;border-radius:24px;padding:24px;box-shadow:0 12px 35px rgba(15,23,42,.07)}
.rlt-form__section h3{margin:0 0 18px;color:#101421;font-size:24px;line-height:1.15}
.rlt-consent{display:flex;gap:11px;align-items:flex-start;font-weight:750;color:#394052}
.rlt-consent input{width:18px;height:18px;margin-top:4px;accent-color:#111827}
.rlt-submit{justify-self:start}

/* Devis premium */
.rlt-devis-shell{display:grid;gap:22px;max-width:1040px;margin-inline:auto}
.rlt-devis-intro{position:relative;overflow:hidden;background:linear-gradient(135deg,#0d111a,#1d2432);color:#fff;border-radius:30px;padding:34px 38px;box-shadow:0 24px 65px rgba(15,23,42,.18)}
.rlt-devis-intro:after{content:"";position:absolute;width:240px;height:240px;border-radius:999px;background:radial-gradient(circle,rgba(245,158,11,.24),rgba(245,158,11,0) 70%);right:-70px;top:-90px;pointer-events:none}
.rlt-devis-kicker{display:inline-flex;align-items:center;gap:8px;color:#f59e0b;text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:950}
.rlt-devis-kicker:before{content:"";width:30px;height:2px;background:#f59e0b}
.rlt-devis-intro h2{margin:10px 0 10px;font-size:clamp(30px,4vw,48px);line-height:1.02;letter-spacing:-.04em;color:#fff}





.rlt-wizard{background:#f8fafc;border:1px solid #e3e8ef;border-radius:30px;overflow:hidden;box-shadow:0 20px 65px rgba(15,23,42,.1)}
.rlt-progress{background:#fff;border-bottom:1px solid #e7ebf1;padding:22px 28px 18px}
.rlt-progress__bar{height:5px;background:#edf1f5;border-radius:999px;overflow:hidden;margin-bottom:18px}
.rlt-progress__bar span{display:block;width:25%;height:100%;background:linear-gradient(90deg,#111827,#f59e0b);border-radius:999px;transition:width .28s ease}
.rlt-progress__steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.rlt-progress__step{appearance:none;border:0;background:transparent;display:flex;align-items:center;gap:10px;padding:0;color:#778195;text-align:left;cursor:pointer}
.rlt-progress__step strong{width:32px;height:32px;border-radius:999px;display:grid;place-items:center;background:#eef2f6;color:#6b7280;font-size:13px;flex:0 0 32px;transition:.2s ease}
.rlt-progress__step span{font-size:13px;font-weight:850;white-space:nowrap}
.rlt-progress__step.is-active{color:#111827}
.rlt-progress__step.is-active strong{background:#111827;color:#fff;box-shadow:0 8px 18px rgba(17,24,39,.16)}
.rlt-progress__step.is-done strong{background:#f59e0b;color:#111827}
.rlt-progress__step.is-done{color:#374151}

.rlt-step-panel{padding:30px}
.rlt-step-panel[hidden]{display:none!important}
.rlt-step-head{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}
.rlt-step-number{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:15px;background:#111827;color:#fff;font-weight:950;font-size:14px}
.rlt-step-head h3{margin:0 0 6px;font-size:clamp(24px,3vw,34px);line-height:1.08;color:#101421;letter-spacing:-.025em}
.rlt-step-head p{margin:0;color:#667085;font-size:15px}

.rlt-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rlt-choice-card{position:relative;display:flex;align-items:center;min-height:82px;padding:16px 16px 16px 48px;border:1px solid #dce2ea;border-radius:17px;background:#fff;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}
.rlt-choice-card:hover{transform:translateY(-1px);border-color:#9ca3af;box-shadow:0 12px 28px rgba(15,23,42,.07)}
.rlt-choice-card input{position:absolute;opacity:0;pointer-events:none}
.rlt-choice-card__mark{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:999px;border:2px solid #b8c0cc;background:#fff}
.rlt-choice-card__mark:after{content:"";position:absolute;inset:4px;border-radius:999px;background:#111827;transform:scale(0);transition:transform .15s ease}
.rlt-choice-card strong{font-size:14px;line-height:1.28;color:#263041}
.rlt-choice-card:has(input:checked){border-color:#111827;background:#f9fafb;box-shadow:0 0 0 2px rgba(17,24,39,.08)}
.rlt-choice-card:has(input:checked) .rlt-choice-card__mark{border-color:#111827}
.rlt-choice-card:has(input:checked) .rlt-choice-card__mark:after{transform:scale(1)}
.rlt-choice-card:has(input:focus-visible){outline:3px solid rgba(245,158,11,.35);outline-offset:2px}

.rlt-step-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:28px;padding-top:22px;border-top:1px solid #e6eaf0}
.rlt-step-hint{margin-right:auto;color:#778195;font-size:13px}
.rlt-step-actions .rt-btn{min-width:134px}
.rlt-step-actions--final{justify-content:space-between}
.rlt-step-actions--final .rlt-submit{min-width:240px}

.rlt-summary{margin-top:24px;border:1px solid #dfe4eb;border-radius:20px;background:#fff;overflow:hidden}
.rlt-summary__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;background:#111827;color:#fff}
.rlt-summary__head span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#f59e0b;font-weight:950}
.rlt-summary__head strong{font-size:14px}
.rlt-summary__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.rlt-summary__grid>div{padding:15px 17px;border-right:1px solid #edf0f4}
.rlt-summary__grid>div:last-child{border-right:0}
.rlt-summary__grid span{display:block;color:#8791a2;font-size:12px;margin-bottom:3px}
.rlt-summary__grid strong{display:block;color:#1f2937;font-size:13px;line-height:1.3}

.rlt-wizard .rlt-consent{margin-top:20px;padding:15px 16px;border-radius:15px;background:#fff;border:1px solid #e1e6ed}
.rlt-wizard .rlt-consent span{font-size:14px}

/* Contact */
.rlt-form--contact .rlt-form__section{padding:28px}

/* Validation */
.rlt-wizard .is-invalid{border-color:#dc2626!important;box-shadow:0 0 0 3px rgba(220,38,38,.09)!important}
.rlt-validation-message{display:none;color:#b91c1c;font-size:13px;font-weight:800;margin:12px 0 0}
.rlt-validation-message.is-visible{display:block}

@media(max-width:900px){
  .rlt-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rlt-summary__grid{grid-template-columns:repeat(2,1fr)}
  .rlt-summary__grid>div:nth-child(2){border-right:0}
  .rlt-summary__grid>div:nth-child(-n+2){border-bottom:1px solid #edf0f4}
  .rlt-progress__step span{display:none}
  .rlt-progress__step{justify-content:center}
}
@media(max-width:760px){
  .rlt-grid{grid-template-columns:1fr}
  .rlt-devis-intro{padding:27px 22px;border-radius:24px}
  .rlt-devis-intro h2{font-size:34px}
  .rlt-progress{padding:18px 16px 14px}
  .rlt-step-panel{padding:22px 16px}
  .rlt-choice-grid{grid-template-columns:1fr}
  .rlt-choice-card{min-height:66px}
  .rlt-step-hint{display:none}
  .rlt-step-actions{justify-content:space-between;flex-wrap:wrap}
  .rlt-step-actions .rt-btn{min-width:0;flex:1}
  .rlt-step-actions--final .rlt-submit{min-width:0}
}
@media(max-width:480px){
  
  
  .rlt-progress__steps{gap:4px}
  .rlt-progress__step strong{width:29px;height:29px;flex-basis:29px}
  .rlt-step-head{gap:12px}
  .rlt-step-number{width:42px;height:42px;flex-basis:42px}
  .rlt-summary__grid{grid-template-columns:1fr}
  .rlt-summary__grid>div{border-right:0!important;border-bottom:1px solid #edf0f4!important}
  .rlt-summary__grid>div:last-child{border-bottom:0!important}
}
