/* Quote wizard – app shell (progress + summary + canvas) */
body.qw-solo{margin:0;background:#fff;overflow-x:hidden}
body.qw-solo .site-header,
body.qw-solo .site-footer,
body.qw-solo .nav-backdrop,
body.qw-solo .wa-float{display:none!important}

.qw-app{
  --qw-navy:#122a4a;
  --qw-accent:#6fb0e4;
  --qw-accent-soft:#eef6fc;
  --qw-red:#d64545;
  --qw-line:rgba(18,42,74,.10);
  --qw-muted:#5d6f82;
  --qw-soft:#f3f7fb;
  --qw-side:#f3f7fb;
  min-height:100vh;height:100vh;
  display:flex;
  flex-direction:column;
  background:#fff;
  font-family:Nunito,system-ui,sans-serif;
  color:var(--qw-navy);
}

/* Top bar (original) */
.qw-top{
  display:grid;
  grid-template-columns:120px minmax(0,1fr) 160px;
  align-items:center;
  justify-items:stretch;
  gap:1rem;
  padding:.85rem clamp(1rem,3vw,2rem);
  border-bottom:1px solid var(--qw-line);
  background:#fff;
  position:sticky;
  top:0;
  z-index:40;
  flex:0 0 auto;
}
.qw-back{
  appearance:none;border:0;background:transparent;
  color:var(--qw-red);font-weight:800;font-size:.95rem;
  cursor:pointer;font-family:inherit;padding:.35rem 0;text-align:left;
  justify-self:start;
}
.qw-back[hidden]{visibility:hidden}
.qw-top-mid{
  min-width:0;width:100%;max-width:860px;margin:0 auto;
  justify-self:stretch;
}
.qw-top-title{
  margin:0 0 .7rem;text-align:center;
  font-family:Outfit,Nunito,sans-serif;font-size:1.1rem;font-weight:800;color:var(--qw-navy);
}
.qw-top-actions{display:flex;align-items:center;gap:.65rem;justify-content:flex-end;justify-self:end}
.qw-close{
  width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  color:var(--qw-muted);text-decoration:none;font-size:1.4rem;line-height:1;
  border:1px solid transparent;
}
.qw-close:hover{background:var(--qw-soft);color:var(--qw-navy)}

/* Footer only inside main column (not over summary) */
.qw-foot{
  flex:0 0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.85rem 0 0;
  margin-top:auto;
  background:#fff;border-top:1px solid var(--qw-line);
}
.qw-foot .qw-btn-next{margin-left:auto;min-width:140px}
.qw-back-bottom{color:var(--qw-red)}

/* Progress track – equal columns, never collapse */
.qw-track{position:relative;padding:12px 0 0;width:100%;box-sizing:border-box}
.qw-track-line{
  position:absolute;left:7.14%;right:7.14%;top:17px;height:3px;background:#e2eaf1;border-radius:99px;z-index:0;
}
.qw-track-fill{
  position:absolute;left:7.14%;top:17px;height:3px;background:var(--qw-accent);border-radius:99px;
  transition:width .28s ease;z-index:0;
}
.qw-track-steps{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  width:100%;
  position:relative;z-index:1;
  gap:0;
}
.qw-track-step{
  min-width:0;text-align:center;
  display:flex;flex-direction:column;align-items:center;
  padding:0 2px;
}
.qw-track-dot{
  width:12px;height:12px;border-radius:50%;margin:0 0 .45rem;
  background:#c9d6e3;border:3px solid #fff;box-sizing:content-box;
  box-shadow:0 0 0 1.5px #c9d6e3;flex:0 0 auto;
}
.qw-track-step.done .qw-track-dot,
.qw-track-step.active .qw-track-dot{
  background:var(--qw-accent);box-shadow:0 0 0 1.5px var(--qw-accent);
}
.qw-track-step.active .qw-track-dot{
  width:14px;height:14px;margin-top:-1px;
}
.qw-track-step span{
  display:block;width:100%;max-width:100%;
  font-size:.62rem;font-weight:700;color:var(--qw-muted);
  line-height:1.2;padding:0 1px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  hyphens:manual;
}
.qw-track-step.active span{color:var(--qw-navy);font-weight:800}
.qw-track-step.done span{color:var(--qw-navy)}

/* Body: summary + main */
.qw-body{display:grid;grid-template-columns:300px minmax(0,1fr);flex:1;min-height:0;overflow:hidden}
.qw-summary{
  background:var(--qw-side);border-right:1px solid var(--qw-line);
  padding:1.25rem 1.1rem 2rem;overflow:auto;
  display:flex;flex-direction:column;min-height:0;
}
.qw-summary h2{margin:0 0 .75rem;font-size:1.05rem;font-family:Outfit,Nunito,sans-serif;flex:0 0 auto}
.qw-summary-body{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:180px}
.qw-summary.has-cards .qw-summary-body{justify-content:flex-start}
.qw-tip{
  background:var(--qw-accent-soft);color:var(--qw-navy);border-radius:12px;padding:.85rem .95rem;
  font-size:.82rem;font-weight:700;line-height:1.45;margin:0 auto;max-width:100%;
  text-align:center;
}
.qw-summary.has-cards .qw-tip{margin:0 0 1rem;text-align:left}
.qw-sum-empty{display:none}
.qw-sum-card{
  background:#eef1f4;border-radius:14px;padding:.85rem .9rem;margin-bottom:.65rem;position:relative;
}
.qw-sum-card h3{margin:0 1.6rem .45rem 0;font-size:.92rem;font-weight:800}
.qw-sum-card dl{margin:0;display:grid;gap:.2rem}
.qw-sum-card dt{display:none}
.qw-sum-card dd{margin:0;font-size:.82rem;font-weight:700;color:#3d5166;line-height:1.35}
.qw-sum-edit{
  position:absolute;top:.65rem;right:.65rem;width:28px;height:28px;border:0;border-radius:8px;
  background:transparent;color:var(--qw-red);cursor:pointer;display:grid;place-items:center;padding:0;
}
.qw-sum-edit:hover{background:rgba(214,69,69,.1)}
.qw-sum-edit svg{width:15px;height:15px;fill:currentColor}

.qw-main{
  min-width:0;min-height:0;height:100%;
  display:flex;flex-direction:column;
  padding:clamp(1.1rem,2.5vw,2rem) clamp(1.1rem,4vw,3rem) 1rem;
  box-sizing:border-box;background:#fff;
}
.qw-main-scroll{
  flex:1;min-height:0;overflow:auto;
  max-width:820px;width:100%;margin:0 auto;
  display:flex;flex-direction:column;
}
.qw-main-scroll [data-qw-panels]{flex:1;display:flex;flex-direction:column}
.qw-main-scroll [data-qw-panels]:has(.qw-panel-date){justify-content:center}
.qw-main .qw-panel{width:100%}
.qw-main .qw-panel-date{width:100%;display:flex;flex-direction:column;align-items:center}
.qw-main > .qw-foot{max-width:820px;width:100%;margin-left:auto;margin-right:auto;padding-bottom:calc(.5rem + env(safe-area-inset-bottom))}
.qw-mobile-step{display:none;margin-bottom:1rem;font-weight:800}
.qw-mobile-step small{display:block;font-weight:600;color:var(--qw-muted);margin-top:.15rem}

.qw-btn{
  appearance:none;border:0;border-radius:999px;padding:.75rem 1.25rem;
  font-weight:800;font-family:inherit;cursor:pointer;transition:.15s;font-size:.95rem;
}
.qw-btn:disabled{opacity:.45;cursor:not-allowed}
.qw-btn-next{background:var(--qw-red);color:#fff;box-shadow:0 8px 20px rgba(214,69,69,.22)}
.qw-btn-next:hover{filter:brightness(1.05)}
.qw-btn-submit{background:var(--qw-red);border-radius:999px}
.qw-btn-soft{background:var(--qw-navy);color:#fff;border-radius:14px}

.qw-panel{animation:qwIn .25s ease}
@keyframes qwIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.qw-title{
  font-family:Outfit,Nunito,sans-serif;font-size:clamp(1.45rem,3vw,1.9rem);
  line-height:1.15;margin:0 0 .4rem;color:var(--qw-navy);
}
.qw-sub{color:var(--qw-muted);margin:0 0 1.35rem;font-size:.98rem;font-weight:650;max-width:42rem}
.qw-addr-chip{
  display:inline-flex;align-items:center;gap:.45rem;background:var(--qw-accent-soft);
  color:var(--qw-navy);padding:.4rem .75rem;border-radius:999px;font-weight:700;font-size:.88rem;margin:0 0 1.1rem;
}

.qw-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.qw-grid-opts{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.qw-choice{
  appearance:none;border:1.5px solid var(--qw-line);background:#fff;border-radius:16px;
  padding:1.05rem .9rem;cursor:pointer;text-align:left;font-weight:800;color:var(--qw-navy);
  transition:.18s;min-height:84px;display:flex;align-items:center;gap:.7rem;
  font-family:inherit;font-size:.95rem;
}
.qw-grid-opts .qw-choice{
  flex-direction:column;text-align:center;justify-content:center;gap:.5rem;
}
.qw-grid-opts .qw-choice .qw-radio{display:none}
.qw-choice:hover{border-color:var(--qw-accent);background:var(--qw-accent-soft)}
.qw-choice.is-selected{border-color:var(--qw-accent);background:var(--qw-accent-soft);box-shadow:0 0 0 3px rgba(111,176,228,.22)}
.qw-choice .qw-ico{
  width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
  background:var(--qw-accent-soft);font-size:1.15rem;flex:0 0 auto;
}
.qw-choice .qw-radio{
  width:20px;height:20px;border-radius:50%;border:2px solid #c5d0db;flex:0 0 auto;
  display:grid;place-items:center;
}
.qw-choice.is-selected .qw-radio{border-color:var(--qw-accent)}
.qw-choice.is-selected .qw-radio::after{
  content:"";width:10px;height:10px;border-radius:50%;background:var(--qw-accent);
}

.qw-field{margin-bottom:.9rem}
.qw-field label{display:block;font-weight:800;color:var(--qw-navy);margin-bottom:.35rem;font-size:.92rem}
.qw-field .hint{font-weight:600;color:var(--qw-muted);font-size:.8rem;margin-left:.25rem}
.qw-field input,.qw-field select,.qw-field textarea{
  width:100%;border:1.5px solid var(--qw-line);border-radius:12px;padding:.85rem .95rem;
  font:inherit;color:var(--qw-navy);background:#fff;outline:none;transition:.15s;box-sizing:border-box;
}
.qw-field input:focus,.qw-field select:focus{border-color:var(--qw-accent);box-shadow:0 0 0 4px rgba(111,176,228,.22)}
.qw-field.has-error input,.qw-field.has-error select,.qw-grid-opts.has-error,.qw-grid-2.has-error{border-color:var(--qw-red)!important}
.qw-error{display:none;color:var(--qw-red);font-size:.82rem;font-weight:700;margin-top:.35rem}
.qw-field.has-error .qw-error,.qw-grid-opts.has-error .qw-error,.qw-grid-2.has-error .qw-error{display:block}
.qw-row{display:grid;grid-template-columns:1.4fr .7fr .6fr;gap:.65rem}
.qw-row-name{display:grid;grid-template-columns:1.4fr .7fr;gap:.65rem}
.qw-phone{display:grid;grid-template-columns:132px 1fr;gap:.55rem}
.qw-phone-code{
  display:flex;align-items:center;border:1.5px solid var(--qw-line);border-radius:12px;
  padding:.55rem .65rem;background:#fff;font-weight:700;
}
.qw-phone-code select{border:0;background:transparent;font:inherit;font-weight:800;width:100%;padding:0;outline:none;cursor:pointer}

/* Inventory */
.qw-inv{display:grid;grid-template-columns:1fr;gap:1rem}
.qw-search-wrap{position:relative;margin-bottom:.85rem}
.qw-search-wrap input{padding-left:2.5rem;width:100%;border:1.5px solid var(--qw-line);border-radius:12px;padding:.85rem .95rem .85rem 2.5rem;font:inherit;box-sizing:border-box}
.qw-search-ico{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);opacity:.55}
.qw-search-drop{
  position:absolute;left:0;right:0;top:calc(100% + .35rem);background:#fff;
  border:1px solid var(--qw-line);border-radius:14px;box-shadow:0 16px 40px rgba(18,42,74,.12);
  max-height:280px;overflow:auto;z-index:20;display:none;
}
.qw-search-drop.on{display:block}
.qw-search-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .85rem;border-bottom:1px solid #f0f4f8}
.qw-search-item:last-child{border-bottom:0}
.qw-search-item strong{display:block;font-size:.92rem}
.qw-search-item small{color:var(--qw-muted);font-weight:600}
.qw-acc{border:1px solid var(--qw-line);border-radius:14px;overflow:hidden;margin-bottom:.55rem;background:#fff}
.qw-acc-h{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border:0;background:#f8fafc;font-weight:800;color:var(--qw-navy);cursor:pointer;font-family:inherit;font-size:.95rem}
.qw-acc-h .count{color:var(--qw-muted);font-weight:700;font-size:.82rem;margin-left:.35rem}
.qw-acc-b{display:none;padding:.5rem .75rem .85rem;border-top:1px solid var(--qw-line)}
.qw-acc.open .qw-acc-b{display:block}
.qw-items{display:grid;grid-template-columns:1fr 1fr;gap:.45rem .7rem}
.qw-item{display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:.35rem 0}
.qw-item-name{font-weight:700;font-size:.88rem}
.qw-counter{display:inline-flex;align-items:center;gap:.25rem;background:#fff;border:1.5px solid #c9dff2;border-radius:999px;padding:.15rem}
.qw-counter button{width:28px;height:28px;border:0;border-radius:50%;background:var(--qw-accent-soft);color:var(--qw-navy);font-weight:900;cursor:pointer;line-height:1}
.qw-counter span{min-width:1.4rem;text-align:center;font-weight:800;font-size:.9rem}
.qw-inv-total{font-size:1.5rem;font-weight:900;margin:.5rem 0 0}
.qw-inv-total small{display:block;font-size:.78rem;font-weight:700;color:var(--qw-muted)}

.qw-calendar{
  border:1.5px solid var(--qw-line);border-radius:22px;padding:1.25rem 1.35rem;
  max-width:720px;margin:0 auto;width:100%;box-sizing:border-box;
}
.qw-field[data-field="date"]{display:flex;flex-direction:column;align-items:center;width:100%}
.qw-date-error{text-align:center;width:100%;margin:.5rem 0 0}
.qw-panel-date .qw-title,.qw-panel-date .qw-sub{text-align:center;margin-left:auto;margin-right:auto}
.qw-panel-date .qw-sub{max-width:32rem}
.qw-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-weight:800;font-size:1.15rem}
.qw-cal-head button{border:0;background:var(--qw-soft);width:44px;height:44px;border-radius:12px;cursor:pointer;font-weight:900;color:var(--qw-navy);font-size:1.2rem}
.qw-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem;text-align:center}
.qw-cal-grid .dow{font-size:.9rem;font-weight:800;color:var(--qw-muted);padding:.45rem 0}
.qw-cal-grid button{
  border:0;background:transparent;border-radius:14px;aspect-ratio:1;min-height:52px;
  font-weight:800;font-size:1.05rem;cursor:pointer;color:var(--qw-navy);font-family:inherit;
}
.qw-cal-grid button:hover{background:var(--qw-soft)}
.qw-cal-grid button.is-on{background:var(--qw-red);color:#fff}
.qw-cal-grid button:disabled{opacity:.3;cursor:default}

@media (max-width:960px){
  .qw-summary{display:none!important}
  .qw-body{grid-template-columns:1fr}
  .qw-top{grid-template-columns:1fr auto;grid-template-areas:"back actions" "mid mid";row-gap:.35rem}
  .qw-back{grid-area:back}
  .qw-top-actions{grid-area:actions}
  .qw-top-mid{grid-area:mid;max-width:none;width:100%}
  .qw-top-actions .qw-btn-next{display:none}
  .qw-mobile-step{display:block}
  .qw-items{grid-template-columns:1fr}
  .qw-grid-opts{grid-template-columns:1fr}
  .qw-row{grid-template-columns:1fr 1fr}
  .qw-row .qw-toev{grid-column:1/-1}
  .qw-track-step span{font-size:.58rem}
  .qw-calendar{max-width:100%;padding:1rem}
  .qw-cal-grid button{min-height:46px;font-size:1rem}
}
@media (max-width:640px){
  .qw-grid-2,.qw-row-name{grid-template-columns:1fr}
  .qw-phone{grid-template-columns:118px 1fr;gap:.45rem}
  .qw-top-title{font-size:.95rem}
  .qw-track-step span{display:none}
  .qw-track{padding-top:4px}
  .qw-track-line,.qw-track-fill{top:12px}
}
