/* Camperly Valuation Tool v3 — Scoped to #cv-app */
#cv-app,#cv-app *{box-sizing:border-box}
#cv-app{max-width:660px;margin:0 auto;padding:32px 16px 60px;font-family:'Inter',system-ui,sans-serif;color:#1e293b;-webkit-font-smoothing:antialiased;--n:#384b5c;--nd:#2a3a49;--ndd:#1e2d3a;--b:#6197bd;--bl:#8fb8d6;--bp:#e8f1f8;--bg:#f3f8fc;--w:#fff;--f:#f4f5f7;--bd:#dde1e7;--bdl:#ebeef2;--t:#1e293b;--tm:#475569;--tl:#94a3b8;--r:#dc2626;--rad:10px;--radl:14px;--sh:0 1px 3px rgba(30,45,58,.06),0 4px 14px rgba(30,45,58,.04);--e:.2s cubic-bezier(.4,0,.2,1)}
#cv-app .cv-hdr{text-align:center;margin-bottom:28px}
#cv-app .cv-hdr h2{font-family:'Lexend Deca','Inter',sans-serif;font-size:30px;font-weight:700;color:var(--nd);line-height:1.2;margin-bottom:6px}
#cv-app .cv-hdr p{font-size:15px;color:var(--tm);line-height:1.5;margin:0}
#cv-app .cv-prog{display:flex;align-items:center;gap:6px;margin-bottom:24px}
#cv-app .cv-prog span{font-size:12px;font-weight:600;color:var(--tl);min-width:max-content}
#cv-app .cv-pbar{flex:1;height:3px;border-radius:3px;background:var(--bd);transition:background var(--e)}
#cv-app .cv-pbar.done{background:var(--n)}
#cv-app .cv-pbar.on{background:var(--b)}
#cv-app .cv-card{background:var(--w);border:1px solid var(--bd);border-radius:var(--radl);padding:28px 24px;box-shadow:var(--sh)}
@media(max-width:480px){#cv-app .cv-card{padding:22px 16px}}
#cv-app .cv-s{display:none;animation:cvF .3s ease}
#cv-app .cv-s.on{display:block}
@keyframes cvF{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
#cv-app .cv-s h3{font-family:'Lexend Deca','Inter',sans-serif;font-size:21px;font-weight:600;color:var(--nd);margin-bottom:3px}
#cv-app .cv-s .desc{font-size:13px;color:var(--tl);margin-bottom:22px;line-height:1.5}
#cv-app .cv-f{margin-bottom:18px}
#cv-app .cv-l{display:block;font-size:12.5px;font-weight:600;color:var(--t);margin-bottom:5px}
#cv-app .cv-h{font-weight:400;color:var(--tl)}
#cv-app .cv-in,#cv-app .cv-sl{width:100%;padding:9px 12px;font-size:14px;font-family:inherit;color:var(--t);background:var(--f);border:1.5px solid var(--bd);border-radius:8px;outline:none;transition:border-color var(--e),box-shadow var(--e);appearance:none;-webkit-appearance:none}
#cv-app .cv-sl{background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}
#cv-app .cv-in:focus,#cv-app .cv-sl:focus{border-color:var(--b);box-shadow:0 0 0 3px rgba(97,151,189,.15)}
#cv-app .cv-in::placeholder{color:#b0b8c4}
#cv-app .cv-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#cv-app .cv-row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
@media(max-width:480px){#cv-app .cv-row,#cv-app .cv-row3{grid-template-columns:1fr}}
#cv-app .cv-f--e .cv-in,#cv-app .cv-f--e .cv-sl{border-color:var(--r)}
#cv-app .cv-er{display:none;font-size:11px;color:var(--r);margin-top:3px}
#cv-app .cv-f--e .cv-er{display:block}
#cv-app .cv-tg{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:520px){#cv-app .cv-tg{grid-template-columns:repeat(2,1fr)}}
#cv-app .cv-to{position:relative}
#cv-app .cv-to input{position:absolute;opacity:0;pointer-events:none}
#cv-app .cv-to label{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 8px 14px;border:1.5px solid var(--bd);border-radius:var(--rad);cursor:pointer;transition:all var(--e);background:var(--w);text-align:center}
#cv-app .cv-to label:hover{border-color:var(--bl);background:var(--bg)}
#cv-app .cv-to input:checked+label{border-color:var(--n);background:var(--bp);box-shadow:0 0 0 2px var(--n)}
#cv-app .cv-to .ico{width:36px;height:36px;display:flex;align-items:center;justify-content:center}
#cv-app .cv-to .ico svg{width:100%;height:100%}
#cv-app .cv-to .nm{font-size:11.5px;font-weight:600;color:var(--t);line-height:1.3}
#cv-app .cv-rg{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(max-width:480px){#cv-app .cv-rg{grid-template-columns:1fr}}
#cv-app .cv-ro{position:relative}
#cv-app .cv-ro input{position:absolute;opacity:0;pointer-events:none}
#cv-app .cv-ro label{display:block;padding:12px 14px;border:1.5px solid var(--bd);border-radius:var(--rad);cursor:pointer;transition:all var(--e);background:var(--w)}
#cv-app .cv-ro label:hover{border-color:var(--bl)}
#cv-app .cv-ro input:checked+label{border-color:var(--n);background:var(--bp);box-shadow:0 0 0 2px var(--n)}
#cv-app .cv-ro .rt{font-size:13.5px;font-weight:600;margin-bottom:1px}
#cv-app .cv-ro .rd{font-size:11.5px;color:var(--tl);line-height:1.4}
#cv-app .cv-cg{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}
@media(max-width:480px){#cv-app .cv-cg{grid-template-columns:1fr}}
#cv-app .cv-co{position:relative}
#cv-app .cv-co input{position:absolute;opacity:0;pointer-events:none}
#cv-app .cv-co label{display:flex;align-items:center;gap:9px;padding:9px 12px;border:1.5px solid var(--bd);border-radius:8px;cursor:pointer;transition:all var(--e);font-size:12.5px;font-weight:500;background:var(--w)}
#cv-app .cv-co label:hover{border-color:var(--bl)}
#cv-app .cv-co input:checked+label{border-color:var(--n);background:var(--bp)}
#cv-app .cv-ck{width:16px;height:16px;border:2px solid var(--bd);border-radius:3px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--e)}
#cv-app .cv-co input:checked+label .cv-ck{background:var(--n);border-color:var(--n)}
#cv-app .cv-co input:checked+label .cv-ck::after{content:'';width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px}
#cv-app .cv-toggle{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg);border:1.5px solid var(--bd);border-radius:var(--rad);margin-bottom:18px;cursor:pointer}
#cv-app .cv-toggle:hover{border-color:var(--bl)}
#cv-app .cv-toggle.active{border-color:var(--n);background:var(--bp)}
#cv-app .cv-toggle input{display:none}
#cv-app .cv-tgl-track{width:36px;height:20px;background:var(--bd);border-radius:10px;position:relative;transition:background var(--e);flex-shrink:0}
#cv-app .cv-toggle.active .cv-tgl-track{background:var(--n)}
#cv-app .cv-tgl-dot{width:16px;height:16px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:left var(--e);box-shadow:0 1px 3px rgba(0,0,0,.15)}
#cv-app .cv-toggle.active .cv-tgl-dot{left:18px}
#cv-app .cv-tgl-label{font-size:13px;font-weight:600;color:var(--t)}
#cv-app .cv-tgl-desc{font-size:11px;color:var(--tl);margin-top:1px}
#cv-app .cv-cnd{display:none;animation:cvF .25s ease}
#cv-app .cv-cnd.on{display:block}
#cv-app .cv-div{height:1px;background:var(--bdl);margin:20px 0}
#cv-app .cv-sec{font-size:11px;font-weight:700;color:var(--tl);text-transform:uppercase;letter-spacing:.06em;margin:20px 0 10px}
#cv-app .cv-btns{display:flex;justify-content:space-between;align-items:center;margin-top:26px;gap:10px}
#cv-app .cv-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 24px;font-size:13.5px;font-weight:600;font-family:inherit;border:none;border-radius:8px;cursor:pointer;transition:all var(--e);text-decoration:none;line-height:1}
#cv-app .cv-btn-p{background:var(--n);color:#fff}
#cv-app .cv-btn-p:hover{background:var(--nd);transform:translateY(-1px);box-shadow:0 4px 12px rgba(56,75,92,.3)}
#cv-app .cv-btn-s{background:transparent;color:var(--tl);padding:11px 14px}
#cv-app .cv-btn-s:hover{color:var(--t)}
#cv-app .cv-btn-lg{padding:14px 32px;font-size:15px;border-radius:10px;width:100%}
#cv-app .cv-btn-cta{background:var(--b);color:#fff}
#cv-app .cv-btn-cta:hover{background:#5088ab;transform:translateY(-1px);box-shadow:0 4px 14px rgba(97,151,189,.35)}
#cv-app .cv-btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}
#cv-app .cv-ld{display:none;text-align:center;padding:44px 20px}
#cv-app .cv-ld.on{display:block}
#cv-app .cv-sp{width:36px;height:36px;border:3px solid var(--bd);border-top-color:var(--n);border-radius:50%;animation:cvS .7s linear infinite;margin:0 auto 14px}
@keyframes cvS{to{transform:rotate(360deg)}}
#cv-app .cv-res{display:none;animation:cvF .5s ease}
#cv-app .cv-res.on{display:block}
#cv-app .cv-res-h{text-align:center;margin-bottom:6px}
#cv-app .cv-res-lbl{font-size:12px;font-weight:600;color:var(--tl);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
#cv-app .cv-res-val{font-family:'Lexend Deca','Inter',sans-serif;font-size:46px;font-weight:700;color:var(--nd);line-height:1.1}
#cv-app .cv-res-rng{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:6px;font-size:14px;color:var(--tl)}
#cv-app .cv-res-lo,#cv-app .cv-res-hi{font-weight:600;color:var(--t)}
#cv-app .cv-slider-wrap{margin:20px 0;padding:0 8px}
#cv-app .cv-slider-val{text-align:center;font-family:'Lexend Deca','Inter',sans-serif;font-size:28px;font-weight:700;color:var(--nd);margin-bottom:12px;transition:color .1s}
#cv-app .cv-slider-track{position:relative;height:8px;background:linear-gradient(90deg,var(--bl),var(--n));border-radius:8px}
#cv-app .cv-slider-input{-webkit-appearance:none;appearance:none;width:100%;height:8px;background:transparent;position:absolute;top:0;left:0;margin:0;cursor:pointer;outline:none;border-radius:8px}
#cv-app .cv-slider-input::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;background:var(--nd);border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.2);cursor:grab;transition:transform .15s}
#cv-app .cv-slider-input::-webkit-slider-thumb:hover{transform:scale(1.15)}
#cv-app .cv-slider-input::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.1)}
#cv-app .cv-slider-input::-moz-range-thumb{width:26px;height:26px;background:var(--nd);border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.2);cursor:grab}
#cv-app .cv-slider-input::-moz-range-track{background:transparent}
#cv-app .cv-slider-labels{display:flex;justify-content:space-between;margin-top:10px;font-size:12px;font-weight:600}
#cv-app .cv-slider-lo,#cv-app .cv-slider-hi{color:var(--tl)}
#cv-app .cv-slider-hint{text-align:center;margin-top:6px;font-size:11px;color:var(--tl);font-style:italic}
#cv-app .cv-slider-tag{text-align:center;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;padding:4px 14px;border-radius:20px;display:inline-block;position:relative;left:50%;transform:translateX(-50%);transition:all .2s}
#cv-app .cv-slider-tag.tag-lo{background:#fee2e2;color:#dc2626}
#cv-app .cv-slider-tag.tag-mid{background:#fef3c7;color:#b45309}
#cv-app .cv-slider-tag.tag-fair{background:#e8f1f8;color:#384b5c}
#cv-app .cv-slider-tag.tag-hi{background:#dbeafe;color:#1d4ed8}
#cv-app .cv-slider-tag.tag-top{background:#d1fae5;color:#059669}
#cv-app .cv-tips{margin-top:22px}
#cv-app .cv-tips-t{font-size:13px;font-weight:700;margin-bottom:10px}
#cv-app .cv-tip{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--bdl);font-size:12.5px;line-height:1.5}
#cv-app .cv-tip:last-child{border-bottom:none}
#cv-app .cv-tip-i{flex-shrink:0;width:26px;height:26px;background:var(--bp);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:1px;font-size:13px}
#cv-app .cv-cta{margin-top:24px;background:linear-gradient(135deg,var(--ndd),var(--n));border-radius:var(--radl);padding:26px 22px;text-align:center;color:#fff}
#cv-app .cv-cta h3{font-family:'Lexend Deca','Inter',sans-serif;font-size:20px;font-weight:600;margin-bottom:6px}
#cv-app .cv-cta p{font-size:13px;opacity:.8;margin-bottom:18px;line-height:1.5}
#cv-app .cv-email{margin-top:18px;background:var(--bg);border:1px solid var(--bdl);border-radius:var(--rad);padding:16px}
#cv-app .cv-email-t{font-size:12.5px;font-weight:600;margin-bottom:8px;color:var(--t)}
#cv-app .cv-email-r{display:flex;gap:8px}
#cv-app .cv-email-r input{flex:1;padding:9px 12px;font-size:13px;font-family:inherit;border:1.5px solid var(--bd);border-radius:8px;outline:none;background:var(--w)}
#cv-app .cv-email-r input:focus{border-color:var(--b)}
#cv-app .cv-email-r button{padding:9px 18px;font-size:12.5px;font-weight:600;font-family:inherit;background:var(--n);color:#fff;border:none;border-radius:8px;cursor:pointer;white-space:nowrap}
#cv-app .cv-email-ok{display:none;font-size:12px;color:#16a34a;font-weight:500;margin-top:6px}
#cv-app .cv-disc{margin-top:20px;padding:16px;background:var(--f);border-radius:var(--rad);border:1px solid var(--bdl)}
#cv-app .cv-disc b{font-size:11.5px;color:var(--tm);display:block;margin-bottom:4px}
#cv-app .cv-disc p{font-size:11px;color:var(--tl);line-height:1.6}
#cv-app .cv-redo{text-align:center;margin-top:14px}
