/* Frank's Cash For Cars: quote + offer pages */
:root{
  --fl-purple:#3f159d; --fl-purple-deep:#2a0d6c; --fl-purple-tint:#efe9fb; --fl-purple-line:#cfc8de;
  --fl-red:#c81a3b; --fl-red-deep:#a3132f; --fl-ink:#1f1147; --fl-body:#3e3752; --fl-mute:#6b6480;
  --fl-bg:#f4f1fa; --fl-white:#fff; --fl-green:#21863a; --fl-err:#b1122f; --fl-err-bg:#fdeef1;
  --fl-head:'Roboto Slab',Georgia,serif; --fl-text:'Open Sans',Arial,sans-serif;
}
*,*:before,*:after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.fl-page{margin:0;background:var(--fl-bg);color:var(--fl-body);font:400 16px/1.55 var(--fl-text);min-height:100vh;display:flex;flex-direction:column}
body.fl-locked{overflow:hidden}
[hidden]{display:none!important}
button{font:inherit}
.fl-wrap{max-width:1140px;margin:0 auto;padding:0 16px}
.fl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* flow header: logo only */
.fl-flowbar{background:var(--fl-purple);border-bottom:4px solid var(--fl-red)}
.fl-flowbar .fl-wrap{display:flex;align-items:center;min-height:76px}
.fl-logo img{display:block;height:58px;width:auto}
.fl-app{flex:1;padding:28px 16px 56px}
.fl-foot{background:#0e0e0e;padding:26px 0 18px}
.fl-foot p{margin:0;color:#fff;text-align:center;font-size:14px}
.fl-boot,.fl-noscript{text-align:center;color:var(--fl-mute);margin:40px 0}

/* question card */
.fl-card{max-width:640px;margin:0 auto;background:var(--fl-white);border-radius:10px;box-shadow:0 10px 30px rgba(42,13,108,.10);padding:22px 32px 30px;overflow:hidden}
.fl-cardtop{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px}
.fl-ride{font:600 14px var(--fl-text);color:var(--fl-mute);text-align:right}
.fl-back{background:none;border:0;padding:10px 4px 10px 0;min-height:44px;color:var(--fl-purple);font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.fl-back:before{content:"";width:9px;height:9px;border-left:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(45deg)}
.fl-back:hover{text-decoration:underline}
.fl-bar{height:6px;background:#e7e2f2;border-radius:6px;margin:4px 0 22px;overflow:hidden}
.fl-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--fl-purple),var(--fl-red));border-radius:6px;transition:width .3s ease}
.fl-stage.fl-from-r{animation:flR .22s ease-out}
.fl-stage.fl-from-l{animation:flL .22s ease-out}
@keyframes flR{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
@keyframes flL{from{opacity:0;transform:translateX(-26px)}to{opacity:1;transform:none}}
.fl-q{font:700 27px/1.25 var(--fl-head);color:var(--fl-ink);margin:0 0 8px;outline:none}
.fl-help{margin:0 0 18px;color:var(--fl-body);font-size:15px}
.fl-flag{background:#fff6dc;border-left:4px solid #e0a400;padding:10px 14px;border-radius:4px;color:#4a3800;font-size:15px;margin:0 0 16px}

/* choices */
.fl-opts{display:flex;flex-direction:column;gap:10px;margin:14px 0 6px}
.fl-opt{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:56px;text-align:left;padding:12px 16px;background:#fff;border:2px solid var(--fl-purple-line);border-radius:8px;color:var(--fl-ink);font-weight:600;font-size:16px;cursor:pointer;transition:border-color .15s,background .15s}
.fl-opt:after{content:"";flex:none;width:8px;height:8px;border-top:2.5px solid var(--fl-purple);border-right:2.5px solid var(--fl-purple);transform:rotate(45deg);opacity:.6}
.fl-opt:hover{border-color:var(--fl-purple)}
.fl-opt:focus-visible,.fl-cta:focus-visible,.fl-ghost:focus-visible,.fl-link:focus-visible,.fl-back:focus-visible,.fl-slot:focus-visible,.fl-day:focus-visible,.fl-win:focus-visible,.fl-seg button:focus-visible{outline:3px solid #f2b705;outline-offset:2px}
.fl-opt[aria-checked=true]{background:var(--fl-purple-tint);border-color:var(--fl-purple)}
.fl-opt[aria-checked=true]:after{width:12px;height:7px;border:0;border-left:3px solid var(--fl-purple);border-bottom:3px solid var(--fl-purple);transform:rotate(-45deg);opacity:1}
.fl-opt.is-picked{box-shadow:0 0 0 3px rgba(63,21,157,.18)}
.fl-opt:disabled{cursor:not-allowed;background:#f6f5f8;border-style:dashed;color:#8a849a}
.fl-opt:disabled:after{display:none}
.fl-opt em{font-style:normal;font-size:13px;font-weight:400;color:#7a7390}
.fl-info{background:var(--fl-purple-tint);border-radius:6px;padding:10px 14px;font-size:15px;color:var(--fl-ink);margin:10px 0 0}

/* corners */
.fl-areas{border:2px solid var(--fl-purple-line);border-radius:8px;padding:12px 14px 10px;margin:14px 0 0}
.fl-areas.has-err{border-color:var(--fl-err);background:var(--fl-err-bg)}
.fl-areas legend{font:700 16px var(--fl-text);color:var(--fl-ink);padding:0 6px}
.fl-areas-tag{text-align:center;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--fl-mute);margin:2px 0 6px}
.fl-areas-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fl-corner{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 12px;border:2px solid var(--fl-purple-line);border-radius:8px;background:#fff;cursor:pointer;font-size:15px;color:var(--fl-ink)}
.fl-corner input{width:20px;height:20px;accent-color:var(--fl-purple);flex:none}
.fl-corner:has(input:checked){border-color:var(--fl-purple);background:var(--fl-purple-tint)}

/* fields */
.fl-f{margin:0 0 16px;position:relative;min-width:0}
.fl-f label,.fl-lblrow label{display:block;font:600 15px/1.3 var(--fl-text);color:var(--fl-ink);margin:0 0 6px}
.fl-lblrow{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.fl-lblrow .fl-link{font-size:14px;padding:0 0 6px;min-height:0}
.fl-f input{width:100%;height:50px;border:2px solid var(--fl-purple-line);border-radius:7px;padding:0 14px;font:400 16px var(--fl-text);color:var(--fl-ink);background:#fff}
.fl-f input:focus{outline:none;border-color:var(--fl-purple);box-shadow:0 0 0 3px rgba(63,21,157,.2)}
.fl-f input:disabled{background:#f1eff5;color:#8a849a}
.fl-f input[readonly]{background:#f6f4fa}
.fl-pickf input{padding-right:40px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%233f159d' stroke-width='2'/%3E%3C/svg%3E") right 15px center no-repeat}
.fl-f.has-err input{border-color:var(--fl-err);background-color:var(--fl-err-bg)}
.fl-err{margin:6px 0 0;color:var(--fl-err);font-size:14px;font-weight:600}
.fl-err:before{content:"! ";font-weight:800}
.fl-row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.fl-row-wide{grid-template-columns:2fr 1fr}
.fl-check{display:flex;align-items:center;gap:10px;min-height:44px;font-size:15px;color:var(--fl-ink);cursor:pointer}
.fl-check input{width:20px;height:20px;accent-color:var(--fl-purple)}
.fl-picklist{position:absolute;z-index:30;left:0;right:0;top:100%;margin:4px 0 0;padding:4px 0;list-style:none;background:#fff;border:2px solid var(--fl-purple);border-radius:7px;max-height:260px;overflow:auto;box-shadow:0 12px 28px rgba(20,4,60,.2)}
.fl-picklist li{padding:11px 14px;font-size:16px;color:var(--fl-ink);cursor:pointer}
.fl-picklist li.is-active,.fl-picklist li:hover{background:var(--fl-purple-tint)}
.fl-picklist li[aria-selected=true]{font-weight:700}
.fl-picklist .fl-pick-none{color:var(--fl-mute);cursor:default}

/* segmented vehicle mode */
.fl-seg{display:grid;grid-template-columns:1fr 1fr;background:#ece8f5;border-radius:9px;padding:4px;margin:6px 0 18px}
.fl-seg button{min-height:46px;border:0;border-radius:7px;background:transparent;color:var(--fl-ink);font-weight:600;cursor:pointer}
.fl-seg button[aria-checked=true]{background:#fff;box-shadow:0 2px 6px rgba(42,13,108,.15);color:var(--fl-purple)}
.fl-found{display:flex;flex-direction:column;gap:2px;border:2px solid #b9e3c3;background:#effaf1;border-radius:8px;padding:12px 14px;margin:0 0 14px;color:var(--fl-ink)}
.fl-found-k{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--fl-green);font-weight:700}
.fl-found .fl-link{align-self:flex-start;font-size:14px}

/* buttons */
.fl-acts{display:flex;justify-content:flex-end;margin-top:18px}
.fl-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:12px 28px;border:0;border-radius:8px;background:var(--fl-red);color:#fff;font:700 17px var(--fl-text);cursor:pointer;transition:background .15s;text-align:center}
.fl-cta:hover{background:var(--fl-red-deep)}
.fl-cta:disabled{opacity:.72;cursor:progress}
.fl-cta-big{width:100%;font-size:19px;min-height:58px}
.fl-ghost{min-height:50px;padding:10px 26px;border:2px solid var(--fl-purple);border-radius:8px;background:#fff;color:var(--fl-purple);font-weight:700;cursor:pointer}
.fl-link{background:none;border:0;padding:4px 0;min-height:44px;color:var(--fl-purple);font-weight:700;text-decoration:underline;cursor:pointer}
.fl-spin{width:18px;height:18px;border:3px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:flSpin .8s linear infinite;display:inline-block}
.fl-boot .fl-spin,.fl-end-icon .fl-spin{border-color:#d9d2ea;border-top-color:var(--fl-purple);vertical-align:middle}
@keyframes flSpin{to{transform:rotate(360deg)}}
.fl-stepnote{margin:14px 0 0;color:var(--fl-err);font-weight:600;font-size:15px}
.fl-stepnote .fl-link{min-height:0}

/* loading */
.fl-wait-card{text-align:center;padding:44px 32px}
.fl-ring{display:block;width:58px;height:58px;margin:0 auto 18px;border:5px solid #e3dcf3;border-top-color:var(--fl-red);border-radius:50%;animation:flSpin 1s linear infinite}
.fl-wait-card h1{font:700 26px var(--fl-head);color:var(--fl-ink);margin:0 0 4px;outline:none}
.fl-wait-car{color:var(--fl-mute);margin:0 0 18px}
.fl-wait-list{list-style:none;padding:0;margin:0 auto;display:inline-block;text-align:left}
.fl-wait-list li{padding:5px 0 5px 30px;position:relative;color:#9a94ab;transition:color .2s}
.fl-wait-list li:before{content:"";position:absolute;left:0;top:8px;width:18px;height:18px;border-radius:50%;border:2px solid #cfc8de}
.fl-wait-list li.is-done{color:var(--fl-ink)}
.fl-wait-list li.is-done:before{background:var(--fl-green);border-color:var(--fl-green)}
.fl-wait-list li.is-done:after{content:"";position:absolute;left:6px;top:12px;width:7px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.fl-wait-slow{margin:18px 0 0;color:var(--fl-body)}

/* offer page */
.fl-offer-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start}
.fl-rail{position:sticky;top:24px;display:flex;flex-direction:column;gap:14px}
.fl-rail-card{background:var(--fl-purple);color:#fff;border-radius:10px;padding:20px 22px;border-bottom:5px solid var(--fl-red)}
.fl-rail-k{margin:0;font-size:14px;letter-spacing:.06em;text-transform:uppercase;opacity:.85}
.fl-rail-amt{margin:2px 0 2px;font:800 44px/1.1 var(--fl-head)}
.fl-rail-car{margin:0;font-weight:600}
.fl-speed{margin:12px 0 0;padding-top:10px;border-top:1px solid rgba(255,255,255,.25);font-size:15px}
.fl-speed:before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:#7ee35a;margin-right:8px}
.fl-rail-how{background:#fff;border-radius:10px;padding:18px 20px;box-shadow:0 6px 20px rgba(42,13,108,.07)}
.fl-rail-how h2{font:700 18px var(--fl-head);color:var(--fl-ink);margin:0 0 8px}
.fl-how{margin:0;padding-left:20px;font-size:15px}
.fl-how li{margin:0 0 8px}
.fl-how strong{color:var(--fl-ink)}
.fl-offer-main{background:#fff;border-radius:10px;box-shadow:0 10px 30px rgba(42,13,108,.10);padding:18px 34px 34px}
.fl-offer-h{font:700 30px/1.25 var(--fl-head);color:var(--fl-ink);margin:4px 0 6px;outline:none}
.fl-amt{color:var(--fl-red)}
.fl-offer-sub{margin:0 0 20px}
.fl-sec{border:0;padding:0;margin:0 0 22px;min-width:0}
.fl-sec-h,.fl-sec legend{font:700 20px var(--fl-head);color:var(--fl-ink);padding:0 0 8px;margin:0 0 14px;border-bottom:2px solid #eee9f6;width:100%;outline:none}
.fl-sec-h span{font:400 15px var(--fl-text);color:var(--fl-mute)}
.fl-contact-sum{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;border:2px solid #b9e3c3;background:#f2fbf4;border-radius:8px;padding:10px 14px;color:var(--fl-ink);font-weight:600}
.fl-contact-sum .fl-link{margin-left:auto;min-height:44px}
.fl-tick{width:24px;height:24px;border-radius:50%;background:var(--fl-green);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:14px}
.fl-lockmark{margin-left:auto;font-weight:400;font-size:14px;color:var(--fl-mute)}
.fl-say{font-size:14px;color:var(--fl-body);margin:0 0 14px;line-height:1.5}
.fl-cont{margin:0 0 6px}
.fl-cont .fl-cta{min-width:240px}
.fl-status{margin:12px 0 0;padding:10px 14px;border-radius:6px;background:var(--fl-err-bg);color:var(--fl-err);font-weight:600;font-size:15px}
.fl-final{margin-top:8px;border-top:2px solid #eee9f6;padding-top:20px}
.fl-errsum{margin:0 0 12px;padding:10px 14px;border-radius:6px;background:var(--fl-err-bg);color:var(--fl-err);font-weight:700}
.fl-cta-note{margin:10px 0 12px;text-align:center;font-size:15px;color:var(--fl-body)}
.fl-terms{font-size:14px;margin:0;text-align:center}
.fl-terms .fl-link{min-height:0;padding:0;font-weight:600}

/* pickup */
.fl-slot{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:4px 12px;width:100%;min-height:60px;padding:10px 16px 10px 46px;margin:4px 0 4px;border:2px solid var(--fl-purple-line);border-radius:10px;background:#fff;text-align:left;cursor:pointer;position:relative;color:var(--fl-ink)}
.fl-slot:before{content:"";position:absolute;left:16px;top:50%;width:20px;height:20px;margin-top:-10px;border:2px solid var(--fl-purple);border-radius:50%}
.fl-slot.is-on{border-color:var(--fl-purple);background:var(--fl-purple-tint)}
.fl-slot.is-on:before{background:var(--fl-purple);box-shadow:inset 0 0 0 4px #fff}
.fl-slot-k{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--fl-mute);grid-column:1/3}
.fl-slot-v{font-weight:700;grid-column:1/3}
.fl-slot-free{grid-row:1/3;grid-column:3;background:#e3f6e7;color:var(--fl-green);font-weight:700;font-size:13px;border-radius:20px;padding:3px 10px}
.fl-more{display:block}
.fl-days{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}
.fl-day,.fl-win{min-height:46px;padding:8px 14px;border:2px solid var(--fl-purple-line);border-radius:8px;background:#fff;color:var(--fl-ink);font-weight:600;cursor:pointer}
.fl-day.is-wkend{background:#f6f4fa}
.fl-day[aria-checked=true],.fl-win[aria-checked=true]{border-color:var(--fl-purple);background:var(--fl-purple);color:#fff}
.fl-wins{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.fl-picked{margin:6px 0 0;font-size:15px}
.fl-picked .fl-link{min-height:0;margin-left:6px}
.fl-stale{margin:10px 0 0;padding:10px 14px;border-radius:6px;background:#fff6dc;color:#4a3800;font-size:15px}
.fl-stale .fl-link{min-height:0}

/* end screens */
.fl-end-card{text-align:center;padding:36px 32px}
.fl-end-icon{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;border:3px solid var(--fl-purple);color:var(--fl-purple);font:700 26px/50px var(--fl-head)}
.fl-end-icon.is-yes{background:var(--fl-green);border-color:var(--fl-green);color:#fff}
.fl-end-h{font:700 26px/1.3 var(--fl-head);color:var(--fl-ink);margin:0 0 12px;outline:none}
.fl-end-p{margin:0 0 18px}
.fl-end-p a{color:var(--fl-purple);font-weight:700}
.fl-end-acts{display:flex;flex-direction:column;align-items:center;gap:6px}
.fl-receipt{text-align:left;border:2px solid #eee9f6;border-radius:10px;padding:6px 16px;margin:6px 0 20px}
.fl-receipt p{display:flex;justify-content:space-between;gap:12px;margin:0;padding:9px 0;border-bottom:1px solid #f0edf6}
.fl-receipt p:last-child{border-bottom:0}
.fl-receipt span{color:var(--fl-mute)}
.fl-receipt strong{color:var(--fl-ink);text-align:right}
.fl-end-sub{font:700 18px var(--fl-head);color:var(--fl-ink);text-align:left;margin:0 0 8px}
.fl-how-end{text-align:left;margin-bottom:18px}

/* dialogs: bottom sheet on mobile, centered modal on desktop */
.fl-dialog{position:fixed;inset:0;z-index:100;background:rgba(20,8,48,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.fl-dialog-panel{background:#fff;border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow:auto;padding:26px 28px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.fl-dlg-h{font:700 22px/1.3 var(--fl-head);color:var(--fl-ink);margin:0 0 10px;outline:none}
.fl-dlg-acts{display:flex;flex-direction:column;align-items:stretch;gap:4px;margin-top:18px}
.fl-new-amt{font:800 44px/1.1 var(--fl-head);color:var(--fl-red);margin:4px 0}
.fl-old-amt{color:#77708a;font-size:15px;margin:0 0 10px}
.fl-mono{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.04em}
.fl-vin-where{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fl-vin-where h3{font:700 15px var(--fl-text);color:var(--fl-ink);margin:6px 0 4px}
.fl-vin-where ul{margin:0;padding-left:18px;font-size:15px}

@media (max-width:1023px){
  .fl-offer-grid{grid-template-columns:1fr;max-width:680px}
  .fl-rail{position:static;order:2}
  .fl-offer-main{order:1}
}
@media (max-width:767px){
  .fl-app{padding:0 0 40px}
  .fl-card,.fl-offer-main{border-radius:0;box-shadow:none;padding:12px 16px 26px}
  .fl-flowbar .fl-wrap{min-height:64px}
  .fl-logo img{height:48px}
  .fl-q{font-size:23px}
  .fl-offer-h{font-size:24px}
  .fl-row,.fl-row-wide{grid-template-columns:1fr}
  .fl-row-wide{grid-template-columns:1fr}
  .fl-rail{padding:0 16px}
  .fl-acts .fl-cta,.fl-acts .fl-ghost,.fl-cont .fl-cta{width:100%}
  .fl-dialog{align-items:flex-end;padding:0}
  .fl-dialog-panel{border-radius:16px 16px 0 0;max-width:none;padding:22px 18px 26px}
  .fl-vin-where{grid-template-columns:1fr}
  .fl-days{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
  .fl-day{flex:none;scroll-snap-align:start}
  .fl-end-card{padding:28px 16px}
}
@media (prefers-reduced-motion:reduce){
  .fl-stage.fl-from-r,.fl-stage.fl-from-l{animation:none}
  .fl-bar span{transition:none}
  .fl-ring,.fl-spin{animation-duration:2.4s}
}
