/* Get started buyer flow. Sits above the page and posts to Salesforce web-to-lead. */
.fab{
  position:fixed;right:20px;bottom:20px;z-index:60;
  display:inline-flex;align-items:center;gap:.6rem;
  background:var(--copper);color:#fff;font-weight:700;
  padding:.9rem 1.4rem;border-radius:999px;border:0;
  box-shadow:0 12px 30px rgba(0,0,0,.25);cursor:pointer;
  font:inherit;font-weight:700;
}
.fab:hover{background:var(--copper-2)}
.fab svg{width:20px;height:20px;flex:none}
.apply-overlay,.buyer-overlay{
  position:fixed;inset:0;background:rgba(15,31,75,.45);z-index:70;
  opacity:0;pointer-events:none;transition:.2s;
}
.apply-panel,.buyer-panel{
  position:fixed;top:0;right:0;height:100%;width:min(520px,100%);
  background:#fff;z-index:80;transform:translateX(100%);transition:.25s;
  overflow-y:auto;padding:1.5rem 1.35rem 2rem;
  box-shadow:-10px 0 40px rgba(0,0,0,.2);
}
.buyer-panel{width:min(560px,100%)}
body.apply-open .apply-overlay,body.buyer-open .buyer-overlay{opacity:1;pointer-events:auto}
body.apply-open .apply-panel,body.buyer-open .buyer-panel{transform:none}
body.apply-open,body.buyer-open{overflow:hidden}
.apply-panel .close,.buyer-panel .close{
  position:absolute;top:.9rem;right:.9rem;background:var(--sand);border:0;
  width:38px;height:38px;border-radius:50%;font-size:1.3rem;cursor:pointer;color:var(--navy);z-index:2;
}
.apply-panel form.quote{display:grid;grid-template-columns:1fr 1fr;gap:.85rem 1rem}
.apply-panel form.quote>div{display:flex;flex-direction:column;justify-content:flex-end}
.apply-panel form.quote .full{grid-column:1/-1}
.apply-panel form.quote label,.buyer-flow label{font-weight:600;font-size:.9rem;color:var(--navy);margin-bottom:.3rem}
.apply-panel form.quote input,.apply-panel form.quote select,.apply-panel form.quote textarea,
.buyer-flow input{
  font:inherit;padding:.65rem .75rem;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);width:100%;
}
.buyer-flow{display:flex;flex-direction:column;gap:0;padding-top:.35rem}
.buyer-brand{display:flex;align-items:center;gap:.9rem;margin:0 2.6rem 1.4rem 0}
.buyer-logo{width:64px;height:64px;border-radius:50%;object-fit:contain;flex:none;background:#fff}
.buyer-brand strong{display:block;color:var(--navy);font-family:"Manrope","Inter",system-ui,sans-serif;font-size:1.05rem;line-height:1.2}
.buyer-brand span{display:block;color:var(--muted);font-size:.92rem;margin-top:.15rem}
.buyer-flow h2{font-size:1.45rem;margin:0}
.buyer-flow .helper{color:var(--muted);margin:0}
.buyer-progress{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.35rem}
.buyer-lead{display:flex;flex-direction:column;gap:.7rem;margin-bottom:1.45rem}
.buyer-lead .eyebrow{margin-bottom:0}
.buyer-progress .meta{display:flex;justify-content:space-between;font-size:.82rem;font-weight:600;color:var(--muted)}
.buyer-progress .track{height:6px;background:var(--sand);border-radius:99px;overflow:hidden}
.buyer-progress .fill{height:100%;background:var(--copper);border-radius:99px}
.choice-grid{display:flex;flex-direction:column;gap:.65rem}
.choice{
  text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:.85rem 1rem;cursor:pointer;font:inherit;color:var(--ink);display:flex;flex-direction:column;gap:.2rem;
}
.choice:hover{border-color:var(--copper)}
.choice.selected{border-color:var(--copper);background:#fff6f2;box-shadow:inset 0 0 0 1px var(--copper)}
.choice-title{font-weight:700;color:var(--navy)}
.choice-description{color:var(--muted);font-size:.92rem}
.buyer-copy{background:var(--sand);border-radius:12px;padding:.9rem 1rem;font-size:.95rem}
.buyer-copy h3{font-size:1rem;margin:.8rem 0 .35rem}
.buyer-copy h3:first-child{margin-top:0}
.buyer-copy ul{margin:.3rem 0 .6rem;padding-left:1.1rem}
.buyer-copy p{margin:0 0 .7rem}
.buyer-copy p:last-child{margin:0}
.buyer-form{display:grid;gap:.75rem}
.buyer-name{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.buyer-actions{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.6rem}
.buyer-actions .btn{min-width:7.5rem}
.buyer-actions .btn:disabled{opacity:.45;cursor:not-allowed}
.buyer-error{color:#9b2c2c;font-size:.88rem;margin:0}
.buyer-note{margin:0;font-size:.82rem;color:var(--muted)}
@media(max-width:480px){
  .apply-panel form.quote{grid-template-columns:1fr}
  .buyer-name{grid-template-columns:1fr}
  .fab-start span{display:inline}
  .fab-start{padding:.85rem 1.05rem;right:12px;bottom:12px}
}
