/* Heeler RV customer inquiry readability layer */
.inquiry-dialog{
  width:min(1180px,calc(100% - 28px))!important;
  max-height:94%!important;
  border-color:#3b3b3b!important;
  border-radius:20px!important;
  background:#090909!important;
}
.inquiry-dialog #inquiryForm{font-size:16px}
.inquiry-dialog .dialog-head{
  padding:28px 34px 25px!important;
  align-items:center!important;
}
.inquiry-dialog .dialog-head .eyebrow{
  margin-bottom:8px!important;
  font-size:12px!important;
  letter-spacing:2.6px!important;
}
.inquiry-dialog .dialog-head h2{
  font-size:clamp(28px,3vw,38px)!important;
  line-height:1.08!important;
  letter-spacing:-.7px!important;
}
.inquiry-dialog .close-btn{
  width:48px!important;
  height:48px!important;
  flex:0 0 48px;
  font-size:28px!important;
  border-color:#444!important;
}

/* Make the three stages obvious at a glance. */
.inquiry-dialog .progress{
  max-width:660px!important;
  margin:34px auto 44px!important;
  padding:0 34px!important;
  overflow:visible!important;
}
.inquiry-dialog .progress span{
  position:relative;
  width:52px!important;
  height:52px!important;
  flex:0 0 52px;
  border-width:2px!important;
  font-size:18px!important;
  font-weight:900!important;
  color:#a6a6a6!important;
  background:#121212!important;
  transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease;
}
.inquiry-dialog .progress span::after{
  position:absolute;
  top:61px;
  left:50%;
  transform:translateX(-50%);
  width:126px;
  color:#8c8c8c;
  font-size:10px;
  font-weight:900;
  letter-spacing:.8px;
  line-height:1.2;
  text-align:center;
  white-space:nowrap;
}
.inquiry-dialog .progress span[data-progress="1"]::after{content:"RV INFO"}
.inquiry-dialog .progress span[data-progress="2"]::after{content:"POWER USE"}
.inquiry-dialog .progress span[data-progress="3"]::after{content:"REVIEW & SEND"}
.inquiry-dialog .progress span.active{
  border-color:var(--orange)!important;
  background:linear-gradient(180deg,var(--orange2),var(--orange))!important;
  color:#111!important;
  transform:scale(1.04);
}
.inquiry-dialog .progress span.active::after{color:#e5e5e5!important}
.inquiry-dialog .progress i{
  height:2px!important;
  margin:0 12px!important;
  background:#343434!important;
}

.inquiry-dialog .step{
  padding:4px 38px 38px!important;
  max-width:1120px;
  margin:0 auto;
}
.inquiry-dialog .step>h3,
.inquiry-dialog .step3-form-column>h3{
  margin:0 0 9px!important;
  font-size:clamp(25px,2.4vw,31px)!important;
  line-height:1.15!important;
  letter-spacing:-.35px;
}
.inquiry-dialog .step-note{
  margin:0 0 22px!important;
  max-width:800px;
  color:#b0b0b0!important;
  font-size:16px!important;
  line-height:1.5!important;
}

.inquiry-dialog .choice-grid{
  gap:14px!important;
  margin:22px 0 26px!important;
}
.inquiry-dialog .choice-grid span{
  min-height:76px!important;
  padding:17px 15px!important;
  border-radius:14px!important;
  border-color:#3c3c3c!important;
  background:#111!important;
  color:#e5e5e5;
  font-size:16px!important;
  line-height:1.25!important;
}
.inquiry-dialog .choice-grid input:checked+span{
  border-color:var(--orange)!important;
  box-shadow:0 0 0 2px rgba(245,168,22,.25) inset!important;
  background:#241a08!important;
  color:#fff!important;
}
.inquiry-dialog .choice-grid input:focus-visible+span{
  outline:3px solid rgba(255,196,67,.36);
  outline-offset:2px;
}

.inquiry-dialog .field-grid{gap:16px!important;margin:20px 0!important}
.inquiry-dialog label{
  color:#e0e0e0!important;
  font-size:14px!important;
  line-height:1.35;
}
.inquiry-dialog label small{color:#969696!important;font-size:12px!important}
.inquiry-dialog input,
.inquiry-dialog select,
.inquiry-dialog textarea{
  min-height:52px;
  margin-top:8px!important;
  padding:15px 16px!important;
  border-color:#404040!important;
  border-radius:11px!important;
  background:#121212!important;
  font-size:16px!important;
  line-height:1.35!important;
}
.inquiry-dialog textarea{min-height:128px}
.inquiry-dialog input::placeholder,
.inquiry-dialog textarea::placeholder{color:#737373;opacity:1}
.inquiry-dialog input:focus,
.inquiry-dialog select:focus,
.inquiry-dialog textarea:focus{
  border-color:var(--orange)!important;
  box-shadow:0 0 0 3px rgba(245,168,22,.14)!important;
}

.inquiry-dialog .sub-panel{
  margin-top:24px!important;
  padding:22px!important;
  border-color:#343434!important;
  border-radius:15px!important;
  background:#0f0f0f!important;
}
.inquiry-dialog .sub-head h3{font-size:20px!important}
.inquiry-dialog .sub-head p{font-size:13px!important;color:#9a9a9a!important;line-height:1.4}
.inquiry-dialog .toggle{font-size:14px!important}
.inquiry-dialog .toggle span{width:48px!important;height:28px!important;flex:0 0 48px}
.inquiry-dialog .toggle span:after{width:22px!important;height:22px!important}
.inquiry-dialog .toggle input:checked+span:after{left:23px!important}

.inquiry-dialog .device-grid{gap:14px!important;margin-top:24px!important}
.inquiry-dialog .device-card{
  min-height:82px;
  padding:17px!important;
  gap:13px!important;
  border-color:#393939!important;
  border-radius:14px!important;
}
.inquiry-dialog .device-card.selected{
  border-color:var(--orange)!important;
  box-shadow:0 0 0 1px rgba(245,168,22,.22) inset;
}
.inquiry-dialog .device-check{width:27px!important;height:27px!important}
.inquiry-dialog .device-name strong{font-size:16px!important;line-height:1.25}
.inquiry-dialog .device-name small{margin-top:5px!important;color:#969696!important;font-size:12px!important;line-height:1.3}
.inquiry-dialog .usage-wrap{gap:8px!important;font-size:12px;color:#aaa}
.inquiry-dialog .usage-wrap input{width:82px!important;min-height:44px!important;padding:10px!important}

.inquiry-dialog .estimate-box{
  margin-top:24px!important;
  padding:23px 24px!important;
  border-radius:15px!important;
}
.inquiry-dialog .estimate-box span{font-size:12px!important;letter-spacing:1.1px!important}
.inquiry-dialog .estimate-box strong{font-size:40px!important;line-height:1.08!important;margin:7px 0 8px!important}
.inquiry-dialog .estimate-box small{display:block;max-width:760px;font-size:12px!important;line-height:1.5!important}

.inquiry-dialog .full-field{margin:22px 0!important}
.inquiry-dialog .photo-upload{
  padding:22px!important;
  border-color:#555!important;
  border-radius:15px!important;
}
.inquiry-dialog .photo-upload>label{gap:15px!important}
.inquiry-dialog .photo-upload>label strong{font-size:16px!important}
.inquiry-dialog .photo-upload>label small{font-size:12px!important;line-height:1.4!important}
.inquiry-dialog .upload-icon{width:48px!important;height:48px!important;flex:0 0 48px;font-size:27px!important}
.inquiry-dialog .photo-preview img{width:92px!important;height:92px!important;border-radius:10px!important}
.inquiry-dialog .consent{margin-top:20px!important}
.inquiry-dialog .consent label{align-items:flex-start!important;gap:12px!important;font-size:14px!important;line-height:1.45}
.inquiry-dialog .consent input{width:22px!important;height:22px!important;min-height:22px!important;margin:0!important;flex:0 0 22px}

.inquiry-dialog .form-message{
  margin:0 38px 16px!important;
  font-size:14px!important;
  line-height:1.45!important;
}
.inquiry-dialog .form-nav{
  position:sticky;
  bottom:0;
  z-index:10;
  gap:12px!important;
  padding:19px 38px 22px!important;
  border-top-color:#303030!important;
  background:rgba(9,9,9,.96)!important;
  backdrop-filter:blur(10px);
}
.inquiry-dialog .primary-form,
.inquiry-dialog .secondary-form{
  min-width:155px!important;
  min-height:52px!important;
  padding:15px 22px!important;
  border-radius:11px!important;
  font-size:14px!important;
  letter-spacing:.25px;
}

/* Step 3's live review panel gets more room and stronger readability. */
.inquiry-dialog .step3-review-layout{grid-template-columns:minmax(0,1fr) 360px!important;gap:28px!important}
.inquiry-dialog .power-snapshot{border-radius:16px!important;border-color:#3b3b3b!important}
.inquiry-dialog .snapshot-head{padding:20px 21px 17px!important}
.inquiry-dialog .snapshot-kicker{font-size:11px!important}
.inquiry-dialog .snapshot-head h3{font-size:21px!important;line-height:1.2!important}
.inquiry-dialog .snapshot-head p{font-size:12px!important;line-height:1.5!important}
.inquiry-dialog .snapshot-body{padding:18px 21px 22px!important}
.inquiry-dialog .snapshot-label{font-size:10px!important}
.inquiry-dialog .snapshot-rv{font-size:15px!important}
.inquiry-dialog .snapshot-meta{font-size:12px!important;line-height:1.45!important}
.inquiry-dialog .snapshot-energy{font-size:30px!important}
.inquiry-dialog .snapshot-list li{padding:11px 12px 11px 31px!important;font-size:12px!important;line-height:1.45!important}
.inquiry-dialog .snapshot-disclaimer{padding:12px!important;font-size:10px!important;line-height:1.5!important}
.inquiry-dialog .snapshot-goal{padding:6px 9px!important;font-size:10px!important}

@media(max-width:900px){
  .inquiry-dialog{width:calc(100% - 18px)!important;max-height:96%!important}
  .inquiry-dialog .dialog-head{padding:22px 22px 20px!important}
  .inquiry-dialog .progress{max-width:560px!important;margin:28px auto 42px!important;padding:0 28px!important}
  .inquiry-dialog .progress span{width:46px!important;height:46px!important;flex-basis:46px;font-size:16px!important}
  .inquiry-dialog .progress span::after{top:55px;width:110px;font-size:9px!important}
  .inquiry-dialog .step{padding:3px 24px 30px!important}
  .inquiry-dialog .step3-review-layout{grid-template-columns:1fr!important;gap:20px!important}
  .inquiry-dialog .power-snapshot{order:-1;position:relative!important;top:auto!important}
  .inquiry-dialog .form-nav{padding:16px 24px 19px!important}
  .inquiry-dialog .form-message{margin-left:24px!important;margin-right:24px!important}
}

@media(max-width:640px){
  .inquiry-dialog{width:calc(100% - 10px)!important;border-radius:14px!important}
  .inquiry-dialog .dialog-head{padding:18px 17px 17px!important;gap:12px}
  .inquiry-dialog .dialog-head h2{font-size:25px!important}
  .inquiry-dialog .dialog-head .eyebrow{font-size:10px!important;letter-spacing:2px!important}
  .inquiry-dialog .close-btn{width:44px!important;height:44px!important;flex-basis:44px}
  .inquiry-dialog .progress{margin:24px auto 40px!important;padding:0 22px!important}
  .inquiry-dialog .progress span{width:42px!important;height:42px!important;flex-basis:42px}
  .inquiry-dialog .progress span::after{top:50px;width:96px;font-size:8px!important;letter-spacing:.55px!important}
  .inquiry-dialog .progress i{margin:0 6px!important}
  .inquiry-dialog .step{padding:2px 17px 26px!important}
  .inquiry-dialog .step>h3,
  .inquiry-dialog .step3-form-column>h3{font-size:23px!important}
  .inquiry-dialog .step-note{font-size:15px!important;margin-bottom:18px!important}
  .inquiry-dialog .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:17px 0 21px!important}
  .inquiry-dialog .choice-grid span{min-height:68px!important;padding:14px 10px!important;font-size:14px!important}
  .inquiry-dialog .field-grid.two,
  .inquiry-dialog .field-grid.three{grid-template-columns:1fr!important;gap:13px!important}
  .inquiry-dialog .field-grid{margin:16px 0!important}
  .inquiry-dialog input,
  .inquiry-dialog select,
  .inquiry-dialog textarea{font-size:16px!important;min-height:50px}
  .inquiry-dialog .sub-panel{padding:17px!important;margin-top:18px!important}
  .inquiry-dialog .sub-head{align-items:flex-start!important;flex-direction:column!important}
  .inquiry-dialog .device-grid{grid-template-columns:1fr!important;gap:10px!important;margin-top:18px!important}
  .inquiry-dialog .device-card{min-height:74px;padding:14px!important}
  .inquiry-dialog .estimate-box{padding:18px!important;margin-top:18px!important}
  .inquiry-dialog .estimate-box strong{font-size:34px!important}
  .inquiry-dialog .snapshot-body{display:block!important;padding:16px 17px 18px!important}
  .inquiry-dialog .snapshot-block{padding:0 0 14px!important;margin:0 0 14px!important;border-bottom:1px solid #292929!important}
  .inquiry-dialog .snapshot-block:last-child{border-bottom:0!important;margin-bottom:0!important;padding-bottom:0!important}
  .inquiry-dialog .form-nav{padding:14px 17px 17px!important;display:grid!important;grid-template-columns:1fr 1.35fr!important}
  .inquiry-dialog .primary-form,
  .inquiry-dialog .secondary-form{width:100%!important;min-width:0!important;min-height:50px!important;padding:13px 10px!important;font-size:13px!important}
  .inquiry-dialog .form-message{margin-left:17px!important;margin-right:17px!important}
}

@media(max-width:390px){
  .inquiry-dialog .choice-grid{grid-template-columns:1fr!important}
  .inquiry-dialog .progress{padding:0 14px!important}
  .inquiry-dialog .progress span::after{width:82px;font-size:7px!important}
}
