/* Purchase and recovery pages */
.flow-wrap{background:linear-gradient(180deg,#FFF8E8 0%,#FFFFFF 340px);min-height:80vh;padding:40px 0 70px}
.panel{max-width:560px;margin:0 auto;background:#fff;border:2px solid #1B2430;border-radius:16px;padding:26px;box-shadow:6px 6px 0 #1B2430}
.panel[hidden],[data-view][hidden],.hide{display:none!important}
.step{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:13px;letter-spacing:2.5px;text-transform:uppercase;color:#B97F00;margin-bottom:6px}
.p-title{font-size:32px;margin:0 0 6px}
.p-lead{color:#4A5560;font-size:15.5px;margin:0 0 18px}
.car{display:flex;align-items:center;gap:14px;background:#F7F4EC;border:1.5px solid #E6E1D4;border-radius:12px;padding:14px 16px;margin:14px 0}
.car .vin{font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:1px;color:#4A5560;word-break:break-all}
.car .name{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:26px;line-height:1.05;color:#1B2430}
.big-n{display:inline-block;background:#FFF1CC;border-radius:8px;padding:4px 10px;font-weight:800;color:#8F6200}
.good{background:#E9F6EE;border-radius:10px;padding:12px 14px;font-size:14.5px}
.warn{background:#FDECEA;border-radius:10px;padding:12px 14px;font-size:14.5px;color:#7A2320}
.note{background:#F7F4EC;border-radius:10px;padding:12px 14px;font-size:14px;color:#4A5560}
.btn.full,.btn-dark.full,.btn-line.full{display:block;width:100%}
.btn-line{display:inline-block;background:#fff;border:1.5px solid #1B2430;color:#1B2430;font-weight:700;font-size:15px;padding:13px 20px;border-radius:10px;cursor:pointer;font-family:inherit;text-align:center}
.btn[disabled],.btn-dark[disabled]{opacity:.55;cursor:not-allowed}
.stack>*+*{margin-top:12px}
.links{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.back{background:none;border:0;color:#6B7480;font-weight:600;font-size:14px;cursor:pointer;padding:10px 0;font-family:inherit}
.lock{font-size:13px;color:#6B7480;text-align:center;margin-top:12px}
.attr-s{font-size:11px;color:#6B7480;line-height:1.5;margin-top:14px}
.checks{list-style:none;padding:0;margin:14px 0}
.checks li{padding:5px 0 5px 28px;position:relative;font-size:15px}
.checks li::before{content:"✓";position:absolute;left:2px;color:#2E9E5B;font-weight:800}
.checks li.wait{color:#9AA0A8}.checks li.wait::before{content:"○";color:#C9C4B6}
.spin{width:44px;height:44px;border:5px solid #E6E1D4;border-top-color:#E8A200;border-radius:50%;animation:spn .9s linear infinite;margin:6px auto 16px}
@keyframes spn{to{transform:rotate(360deg)}}
.seg{display:flex;gap:8px;margin-bottom:14px}
.seg button{flex:1;border:1.5px solid #CFC9B8;background:#fff;border-radius:10px;padding:12px;font-weight:700;font-size:15px;cursor:pointer;font-family:inherit;min-height:48px}
.seg button.on{border-color:#1B2430;background:#1B2430;color:#fff}
.seg button[disabled]{opacity:.5;cursor:not-allowed}
.fld{margin-top:14px}
.fld label{display:block;font-weight:700;font-size:14px;margin-bottom:6px;color:#1B2430}
.fld small{display:block;color:#6B7480;font-size:12.5px;margin-top:5px}
.fld input,.fld select,.fld textarea,.stripe-box{width:100%;border:1.5px solid #CFC9B8;border-radius:10px;padding:13px 14px;font-family:inherit;font-size:16px;color:#1B2430;background:#fff;min-height:50px}
.fld input.err{border-color:#D64541}
.phone{display:flex;gap:8px}.phone select{width:110px;flex:none}
.field-err{color:#B3302C;font-size:13.5px;font-weight:600;margin-top:6px}
.opt{display:flex;align-items:center;gap:12px;border:2px solid #E6E1D4;border-radius:12px;padding:14px;margin-top:10px;cursor:pointer;background:#fff}
.opt.on{border-color:#E8A200;background:#FFF9E8}
.opt input{width:20px;height:20px;accent-color:#E8A200}
.opt .t{flex:1;font-weight:700}.opt .t small{display:block;font-weight:500;color:#6B7480;font-size:13px}
.opt .pr{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:24px}
.sum{border-top:1px dashed #E6E1D4;margin-top:16px;padding-top:12px}
.sum div{display:flex;justify-content:space-between;padding:3px 0;font-size:15px}
.sum .tot{font-weight:800;font-size:19px;border-top:1px solid #E6E1D4;margin-top:6px;padding-top:8px}
.consent{background:#F7F4EC;border:1.5px solid #E6E1D4;border-radius:10px;padding:13px 14px;margin-top:16px;font-size:13px;color:#4A5560}
.consent label{display:flex;gap:10px;align-items:flex-start;margin-top:10px;color:#1B2430;font-size:13.5px;cursor:pointer}
.consent input{margin-top:3px;width:20px;height:20px;flex:none;accent-color:#E8A200}
.consent a{text-decoration:underline;font-weight:700}
.need{color:#B3302C;font-weight:700;font-size:13.5px;margin-top:8px}
.sect{font-weight:800;font-size:15px;margin:20px 0 8px;color:#1B2430}
.or2{display:flex;align-items:center;gap:10px;margin:18px 0 6px;color:#6B7480;font-size:13px}.or2 span{flex:1;height:1px;background:#E6E1D4}
.two-f{display:flex;gap:10px}.two-f>div{flex:1}
.done-ico{width:64px;height:64px;border-radius:50%;background:#2E9E5B;color:#fff;display:flex;align-items:center;justify-content:center;font-size:34px;margin:0 auto 14px}
.done-ico.bad{background:#D64541}.done-ico.warn2{background:#E8A200;color:#0F141C}
.recap{background:#F7F4EC;border-radius:12px;padding:14px 16px;margin:16px 0;font-size:14.5px}
.recap div{display:flex;justify-content:space-between;gap:12px;padding:3px 0}
.recap b{text-align:right}
.ordr{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1.5px solid #E6E1D4;border-radius:12px;padding:14px;margin-top:10px}
.ordr .n{font-weight:800}.ordr .s{font-size:13px;color:#6B7480}
.ordr button{min-height:44px}
.code-in{font-family:'JetBrains Mono',monospace;font-size:28px!important;letter-spacing:10px;text-align:center}
.modal{position:fixed;inset:0;background:rgba(15,20,28,.6);z-index:20;display:flex;align-items:center;justify-content:center;padding:20px}
.modal[hidden]{display:none}
.modal .box{background:#fff;border-radius:18px;max-width:440px;width:100%;padding:28px;text-align:center;position:relative}
.modal .x{position:absolute;right:12px;top:8px;background:none;border:0;font-size:28px;cursor:pointer;color:#6B7480;min-width:44px;min-height:44px}
.off-p{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:54px;color:#1B2430;line-height:1}
.off-p s{color:#9AA0A8;font-size:30px;margin-right:6px}
@media(max-width:520px){.panel{padding:20px 16px;box-shadow:4px 4px 0 #1B2430}.p-title{font-size:28px}.flow-wrap{padding:22px 0 50px}}

/* page heading gets focus for screen readers when the step changes; no visible box */
[tabindex="-1"]:focus{outline:none}

/* progress list on the thank-you screen */
.prog{list-style:none;margin:18px auto 6px;padding:0;max-width:420px;text-align:left}
.prog li{display:flex;align-items:center;gap:12px;padding:8px 0;font-size:15.5px;color:#9AA3AD}
.prog li i{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid #D7D2C4;box-sizing:border-box;display:inline-block}
.prog li.done{color:#1B2430}
.prog li.done i{background:#2E9E5B;border-color:#2E9E5B;position:relative}
.prog li.done i:after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.prog li.now{color:#1B2430;font-weight:700}
.prog li.now i{border-color:#E8A200;border-top-color:transparent;animation:progspin .9s linear infinite}
.prog-note{font-size:14px;color:#4A5560;margin:6px 0 0}
@keyframes progspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.prog li.now i{animation:none;border-top-color:#E8A200}}
