.qf{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:1000;font-family:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,'Helvetica Neue','Segoe UI','Noto Sans KR',sans-serif}
.qf-box{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.08);width:180px;overflow:hidden}
.qf-head{background:#1E4E79;padding:10px 14px;text-align:center}
.qf-head-title{font-size:13px;font-weight:600;color:#fff;letter-spacing:.3px;display:flex;align-items:center;justify-content:center;gap:5px}
.qf-head-dot{width:5px;height:5px;border-radius:50%;background:#86efac;box-shadow:0 0 6px rgba(134,239,172,.6);animation:qf-pulse 2.5s infinite}
@keyframes qf-pulse{0%,100%{opacity:1}50%{opacity:.4}}
.qf-price-area{padding:12px 14px;text-align:center;border-bottom:1px solid #f1f5f9}
.qf-price{font-family:'JetBrains Mono',monospace;font-size:24px;font-weight:700;color:#1e293b;line-height:1.3}
.qf-price .w{font-size:14px;font-weight:500;color:#64748b;margin-left:2px}
.qf-vat-hint{font-size:10px;color:#94a3b8;margin-top:2px}
.qf-detail{max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.4,0,.2,1)}
.qf-box:hover .qf-detail{max-height:400px}
.qd-body{padding:8px 14px 4px}
.qd-tag{font-size:9px;font-weight:600;color:#94a3b8;letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;display:flex;align-items:center;gap:4px}
.qd-tag::before{content:'';width:2px;height:8px;background:#3b82f6;border-radius:1px}
.qd-row{display:flex;justify-content:space-between;align-items:baseline;line-height:1.9}
.qd-k{font-size:12.5px;color:#64748b;font-weight:500}
.qd-v{font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:500;color:#1e293b}
.qd-div{height:1px;background:#f1f5f9;margin:5px 0}
.qd-pr{display:flex;justify-content:space-between;line-height:1.9}
.qd-pk{font-size:12.5px;color:#64748b}
.qd-pv{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:500;color:#334155}
.qd-pr.sub .qd-pk{font-weight:600;color:#334155}
.qd-pr.sub .qd-pv{font-weight:600;color:#1e293b}
.qd-pr.vat .qd-pk,.qd-pr.vat .qd-pv{font-size:10.5px;color:#94a3b8}
.qd-opt{font-size:11.5px;color:#cbd5e1;padding:1px 0}
.qd-opt-item{display:flex;align-items:center;justify-content:space-between;padding:3px 6px;background:rgba(99,102,241,.04);border:1px solid rgba(99,102,241,.08);border-radius:3px;margin-bottom:3px}
.qd-opt-name{display:flex;align-items:center;gap:4px;font-size:11.5px;color:#6366f1}
.qd-opt-dot{width:4px;height:4px;border-radius:50%;background:#6366f1}
.qd-opt-val{font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:500;color:#6366f1}
.qd-foot{padding:4px 14px 6px;display:flex;gap:5px}
.qd-fbtn{flex:1;padding:7px 0;border:none;border-radius:6px;font-family:inherit;font-size:11.5px;font-weight:600;cursor:pointer;text-align:center;transition:all .15s}
.qd-fbtn.ord{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 8px rgba(59,130,246,.25)}
.qd-fbtn.ord:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(59,130,246,.35)}
.qd-fbtn.qt{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}
.qd-fbtn.qt:hover{background:#e2e8f0;color:#334155}
.qf-btn-area{padding:10px 14px}
.qf-btn{display:block;width:100%;padding:9px 0;border:none;border-radius:8px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;box-shadow:0 2px 8px rgba(249,115,22,.25)}
.qf-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(249,115,22,.35)}
/* 견적요청 모달 */
.qfm-overlay{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;animation:qfm-fadein .2s ease}
@keyframes qfm-fadein{from{opacity:0}to{opacity:1}}
.qfm-box{background:#fff;border-radius:14px;width:360px;max-width:92vw;box-shadow:0 20px 60px rgba(0,0,0,.2);overflow:hidden;animation:qfm-slidein .25s ease}
@keyframes qfm-slidein{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
.qfm-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#3b82f6,#2563eb)}
.qfm-title{font-size:16px;font-weight:700;color:#fff}
.qfm-close{background:none;border:none;color:rgba(255,255,255,.8);font-size:22px;cursor:pointer;padding:0 2px;line-height:1}
.qfm-close:hover{color:#fff}
.qfm-body{padding:20px}
.qfm-desc{font-size:13px;color:#64748b;margin:0 0 16px;line-height:1.5}
.qfm-field{margin-bottom:12px}
.qfm-label{display:block;font-size:12px;font-weight:600;color:#334155;margin-bottom:4px}
.qfm-req{color:#ef4444}
.qfm-input{width:100%;padding:9px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-family:inherit;color:#1e293b;transition:border-color .15s;box-sizing:border-box}
.qfm-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}
.qfm-input::placeholder{color:#cbd5e1}
.qfm-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:8px 12px;font-size:12px;color:#dc2626;margin-bottom:12px}
.qfm-submit{width:100%;padding:11px;border:none;border-radius:8px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;box-shadow:0 2px 8px rgba(249,115,22,.25);margin-top:4px}
.qfm-submit:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(249,115,22,.35)}
.qfm-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}
/* 토스트 */
.qf-toast{position:fixed;bottom:40px;left:50%;transform:translateX(-50%);background:#1e293b;color:#fff;padding:12px 24px;border-radius:10px;font-size:14px;font-weight:500;font-family:'Pretendard Variable',sans-serif;box-shadow:0 8px 30px rgba(0,0,0,.18);z-index:10001;animation:qf-toast-in .3s ease}
@keyframes qf-toast-in{from{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
@media(max-width:768px){.qf{display:none}}
