/* ImpactSMB Quote Builder 1.6.1 frontend */
.ismb-qb-wizard-wrap,.ismb-quote-portal{
 --q-primary:#1769e0;--q-primary-dark:#0f58bd;--q-text:#17263b;--q-muted:#68788d;--q-line:#dfe7f0;
 --q-soft:#f4f8fd;--q-success:#12845a;--q-danger:#bb3248;
 width:100%;max-width:980px;margin:36px auto;background:#fff;border:1px solid var(--q-line);border-radius:24px;
 box-shadow:0 22px 60px rgba(32,55,83,.11);overflow:hidden;color:var(--q-text);font-family:inherit;box-sizing:border-box
}
.ismb-qb-wizard-wrap *,.ismb-quote-portal *{box-sizing:border-box}
.ismb-qb-wizard-hero{
 padding:34px 40px 28px;background:
 radial-gradient(circle at 90% 20%,rgba(77,145,240,.16),transparent 31%),
 linear-gradient(135deg,#fff 0%,#f1f7ff 100%);
 display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid #e6edf5
}
.ismb-qb-hero-copy{min-width:0;max-width:720px}
.ismb-qb-eyebrow{display:block;color:var(--q-primary);font-size:11px;font-weight:850;letter-spacing:.11em;text-transform:uppercase;margin-bottom:8px}
.ismb-qb-wizard-hero h2,.ismb-quote-portal h2{margin:0 0 9px;font-size:clamp(28px,4vw,38px);line-height:1.08;letter-spacing:-.025em;color:var(--q-text)}
.ismb-qb-wizard-hero p{margin:0;color:var(--q-muted);max-width:690px;font-size:15px;line-height:1.65}
.ismb-qb-hero-badge{flex:0 0 88px;width:88px;height:88px;border-radius:22px;background:#fff;border:1px solid #d8e6f6;box-shadow:0 12px 30px rgba(38,74,117,.09);display:grid;place-items:center;align-content:center;color:var(--q-primary)}
.ismb-qb-hero-badge span{font-size:29px;font-weight:850;line-height:1}.ismb-qb-hero-badge small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-top:5px;color:#6d8199}

.ismb-qb-stepper-wrap{background:#fff;padding:20px 38px 16px;border-bottom:1px solid #edf1f5;overflow-x:auto;scrollbar-width:thin}
.ismb-qb-stepper{list-style:none!important;margin:0!important;padding:0!important;display:flex;align-items:flex-start;min-width:max-content}
.ismb-qb-stepper li{position:relative;display:grid;grid-template-columns:34px auto;align-items:center;gap:8px;padding-right:42px;color:#8b99aa}
.ismb-qb-stepper li:not(:last-child):after{content:"";position:absolute;left:34px;top:16px;width:calc(100% - 2px);height:2px;background:#e2e9f1;z-index:0}
.ismb-qb-stepper-node{position:relative;z-index:1;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f0f4f8;border:2px solid #d9e2ec;color:#7d8da0;font-size:12px;font-weight:850;transition:.2s}
.ismb-qb-stepper-label{position:relative;z-index:1;max-width:122px;font-size:11px;font-weight:750;line-height:1.25;background:#fff;padding-right:4px}
.ismb-qb-stepper li.is-active{color:var(--q-primary)}.ismb-qb-stepper li.is-active .ismb-qb-stepper-node{background:var(--q-primary);border-color:var(--q-primary);color:#fff;box-shadow:0 0 0 5px #eaf3ff}
.ismb-qb-stepper li.is-complete{color:#477096}.ismb-qb-stepper li.is-complete .ismb-qb-stepper-node{background:#e6f7ef;border-color:#8fd0b0;color:var(--q-success)}
.ismb-qb-stepper li.is-complete:not(:last-child):after{background:#9fc7f5}

.ismb-qb-progress{height:4px;background:#edf2f7}.ismb-qb-progress-bar{height:100%;width:0;background:linear-gradient(90deg,#1769e0,#5ba8ff);transition:width .28s ease}
.ismb-qb-wizard-form{padding:34px 40px 40px}
.ismb-qb-step{display:none}.ismb-qb-step[hidden]{display:none!important}.ismb-qb-step.is-active{display:block;animation:ismbStepIn .22s ease}
@keyframes ismbStepIn{from{opacity:.25;transform:translateY(7px)}to{opacity:1;transform:none}}
.ismb-qb-step-head{margin-bottom:26px;max-width:720px}.ismb-qb-step-head>span{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#f1f5f9;color:#718197;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.ismb-qb-step-head h3{font-size:clamp(23px,3vw,30px);letter-spacing:-.015em;margin:10px 0 7px;color:var(--q-text)}
.ismb-qb-step-head p{color:var(--q-muted);font-size:14px;line-height:1.6;margin:0}

.ismb-qb-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ismb-form-group{min-width:0;background:#fbfcfe;border:1px solid #e6ebf2;border-radius:14px;padding:16px;transition:.17s}
.ismb-form-group:focus-within{background:#fff;border-color:#aacaf2;box-shadow:0 0 0 3px #edf5ff}
.ismb-form-group>label{display:block;font-size:13px;font-weight:800;margin-bottom:8px;color:#263b55}.ismb-help{display:block;color:var(--q-muted);font-size:11px;line-height:1.45;margin:-3px 0 8px}.required{color:#d4465b}
.ismb-form-group input,.ismb-form-group select,.ismb-form-group textarea{
 width:100%;max-width:none!important;box-sizing:border-box;border:1px solid #cbd7e5!important;border-radius:10px!important;
 padding:12px 13px!important;min-height:46px;font:inherit!important;color:var(--q-text)!important;background:#fff!important;outline:0;box-shadow:none!important
}
.ismb-form-group textarea{min-height:110px;resize:vertical}
.ismb-form-group input:focus,.ismb-form-group select:focus,.ismb-form-group textarea:focus{border-color:#6ea5ed!important;box-shadow:0 0 0 3px #eaf3ff!important}
.ismb-input-unit{position:relative}.ismb-input-unit input{padding-right:68px!important}.ismb-input-unit>span{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:11px;color:#66788e;background:#edf3f9;border-radius:7px;padding:4px 7px;font-weight:700}
.ismb-field-error{color:var(--q-danger);font-size:11px;margin-top:6px;min-height:14px}.ismb-form-group.has-error{border-color:#efb8c1;background:#fff9fa}.ismb-form-group.has-error input,.ismb-form-group.has-error select{border-color:#dc7080!important}

.ismb-radio-grid,.ismb-material-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ismb-radio-grid label,.ismb-material-choice{position:relative;cursor:pointer;margin:0!important}.ismb-radio-grid input,.ismb-material-choice input{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}
.ismb-radio-grid span,.ismb-material-card{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:68px;border:1px solid var(--q-line);border-radius:12px;padding:12px 14px;background:#fff;transition:.15s}
.ismb-radio-grid span:hover,.ismb-material-card:hover{border-color:#9ebfe8;transform:translateY(-1px);box-shadow:0 7px 18px rgba(47,77,113,.07)}
.ismb-radio-grid input:checked+span,.ismb-material-choice input:checked+.ismb-material-card{border-color:#5b9bea;background:#eff6ff;box-shadow:0 0 0 3px #dfeeff}
.ismb-radio-grid b{font-size:13px}.ismb-material-card strong{font-size:13px;padding-right:25px}.ismb-material-card small{color:var(--q-muted);margin:4px 0;line-height:1.4}.ismb-material-card>span:not(.ismb-material-check){color:#245d9f;font-weight:750;font-size:12px}
.ismb-material-check{position:absolute;right:10px;top:10px;width:22px;height:22px!important;min-height:0!important;border-radius:50%!important;border:1px solid #dce6f0!important;display:grid!important;place-items:center;background:#f5f8fb!important;color:#9aacbd!important;font-size:10px;padding:0!important}
.ismb-material-choice input:checked+.ismb-material-card .ismb-material-check{background:var(--q-primary)!important;color:#fff!important;border-color:var(--q-primary)!important}

.ismb-qb-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #edf1f5;margin-top:32px;padding-top:22px}
.ismb-btn{appearance:none;border:0!important;border-radius:11px!important;padding:13px 19px!important;min-height:46px;font:inherit!important;font-weight:800!important;text-decoration:none!important;display:inline-flex;justify-content:center;align-items:center;cursor:pointer;transition:.15s}
.ismb-btn-primary{background:linear-gradient(135deg,var(--q-primary),#438eea)!important;color:#fff!important;box-shadow:0 9px 22px rgba(23,105,224,.20)!important}
.ismb-btn-primary:hover{background:linear-gradient(135deg,var(--q-primary-dark),#307fdc)!important;transform:translateY(-1px)}
.ismb-btn-secondary{background:#eff3f8!important;color:#43566e!important}.ismb-btn:disabled{opacity:.55;cursor:wait;transform:none!important}

.ismb-summary-placeholder{grid-column:1/-1;background:linear-gradient(135deg,#f8fafc,#f1f7ff);border:1px solid #dce6f0;border-radius:15px;padding:18px;display:flex;align-items:flex-start;gap:13px}
.ismb-summary-icon{flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#e7f7ef;color:#0a8454;display:grid;place-items:center;font-weight:900}
.ismb-summary-placeholder p{margin:3px 0 0;color:var(--q-muted)}.ismb-summary-content{min-width:0;flex:1}
.ismb-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.ismb-summary-grid>div{background:#fff;border:1px solid #e6ebf1;border-radius:9px;padding:10px}.ismb-summary-grid span,.ismb-summary-grid strong{display:block}.ismb-summary-grid span{font-size:10px;color:var(--q-muted)}.ismb-summary-grid strong{margin-top:3px;font-size:12px}

.ismb-qb-result{padding:38px}.ismb-result-success{text-align:center;max-width:620px;margin:auto}.result-check{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 14px;background:#e6f8ef;color:#098250;border-radius:50%;font-size:27px}.ismb-result-success h3{font-size:28px;margin:7px}.ismb-result-success p{color:var(--q-muted)}.ismb-result-price{background:#f4f8fd;border:1px solid #dbe7f3;border-radius:14px;padding:16px;margin:18px 0}.ismb-result-price small,.ismb-result-price strong{display:block}.ismb-result-price strong{font-size:29px;margin-top:3px}
.ismb-qb-notice{max-width:820px;margin:30px auto;padding:18px;border:1px solid #dfe7f0;border-radius:14px;background:#f8fafc}

/* Quote portal retained */
.ismb-quote-portal{padding:0}.ismb-quote-portal>header{padding:26px 30px;background:linear-gradient(135deg,#fff,#f3f8ff);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--q-line)}.ismb-status{font-size:11px;text-transform:uppercase;font-weight:800;background:#edf2f7;border-radius:999px;padding:6px 9px}.ismb-quote-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:22px 30px}.ismb-quote-meta div{background:#f8fafc;padding:12px;border-radius:10px}.ismb-quote-meta small,.ismb-quote-meta strong{display:block}.ismb-quote-meta small{color:var(--q-muted);font-size:10px}.ismb-quote-lines{padding:0 30px}.ismb-quote-line{display:grid;grid-template-columns:1fr 120px 120px;gap:14px;padding:14px 0;border-top:1px solid #edf1f5}.ismb-quote-line small{display:block;color:var(--q-muted);margin-top:3px}.ismb-quote-totals{margin:20px 30px;background:#f8fafc;border-radius:13px;padding:15px}.ismb-quote-totals div{display:flex;justify-content:space-between;padding:6px}.ismb-quote-totals .grand{font-size:20px;border-top:1px solid #dce4ec;margin-top:5px;padding-top:11px}.ismb-quote-accept-form{margin:0 30px 30px;padding:20px;border:1px solid #dbe5ef;border-radius:14px}.ismb-quote-accept-form h3{margin-top:0}.ismb-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ismb-two-col label{font-size:12px;font-weight:700}.ismb-two-col input{display:block;width:100%;margin-top:5px;box-sizing:border-box;border:1px solid #cbd7e5;border-radius:9px;padding:10px}.ismb-check{display:flex;gap:8px;align-items:flex-start;margin:15px 0}.ismb-accepted{margin:0 30px 30px;padding:16px;background:#e9f8f0;color:#08754a;border-radius:12px;font-weight:750}

@media(max-width:760px){
 .ismb-qb-wizard-wrap,.ismb-quote-portal{margin:18px 0;border-radius:17px}
 .ismb-qb-wizard-hero{padding:25px 21px 22px;align-items:flex-start}
 .ismb-qb-hero-badge{width:66px;height:66px;flex-basis:66px;border-radius:17px}.ismb-qb-hero-badge span{font-size:22px}
 .ismb-qb-stepper-wrap{padding:16px 20px 13px}.ismb-qb-stepper li{padding-right:30px}.ismb-qb-stepper-label{display:none}.ismb-qb-stepper-node{width:31px;height:31px}
 .ismb-qb-wizard-form{padding:26px 20px 28px}
 .ismb-qb-fields,.ismb-radio-grid,.ismb-material-choice-grid,.ismb-summary-grid,.ismb-quote-meta,.ismb-two-col{grid-template-columns:1fr}
 .ismb-form-group{padding:14px}
 .ismb-qb-nav{flex-direction:column-reverse;align-items:stretch}.ismb-qb-nav>div{width:100%}.ismb-btn{width:100%}
 .ismb-quote-line{grid-template-columns:1fr auto}.ismb-quote-line>div:first-child{grid-column:1/-1}
 .ismb-quote-portal>header,.ismb-quote-meta,.ismb-quote-lines,.ismb-quote-accept-form{margin-left:0;margin-right:0}
 .ismb-quote-lines{padding:0 20px}.ismb-quote-meta{padding:18px 20px}.ismb-quote-totals,.ismb-quote-accept-form{margin:16px 20px}
}
@media(max-width:460px){
 .ismb-qb-wizard-hero{display:block}.ismb-qb-hero-badge{margin-top:18px;width:100%;height:auto;min-height:54px;display:flex;gap:6px;padding:10px 13px}
 .ismb-qb-hero-badge small{margin:0}.ismb-qb-stepper li{padding-right:22px}
}
