/* DF 퀵패널 v1.1.1 — 스티키 바 + 흰색 패널 */
.dfqp{position:fixed;top:var(--dfqp-top,50%);right:0;z-index:99990;transform:translateY(-50%);
	font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
	-webkit-font-smoothing:antialiased;line-height:1.5;letter-spacing:-.01em}
.dfqp *,.dfqp *::before,.dfqp *::after{box-sizing:border-box}
.dfqp--left{right:auto;left:0}

/* ===== 탭 막대 ===== */
.dfqp__tabs{position:relative;z-index:1;display:flex;flex-direction:column;box-shadow:-3px 4px 16px rgba(0,0,0,.16);border-radius:var(--dfqp-r,10px) 0 0 var(--dfqp-r,10px)}
.dfqp--left .dfqp__tabs{box-shadow:3px 4px 16px rgba(0,0,0,.16);border-radius:0 var(--dfqp-r,10px) var(--dfqp-r,10px) 0}
.dfqp__tab{all:unset;box-sizing:border-box;cursor:pointer;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
	width:max(52px,var(--dfqp-tw,56px));min-height:calc(42px + 2 * var(--dfqp-tp,8px));padding:var(--dfqp-tp,8px) 2px;background:var(--bg);color:var(--fg);
	font-size:10.5px;font-weight:600;line-height:1.1;text-align:center;text-decoration:none!important;transition:filter .15s}
.dfqp__tab span{display:block;max-width:100%;overflow:hidden;white-space:nowrap;letter-spacing:-.05em;color:inherit}
.dfqp__ico{display:block;width:22px;height:22px;flex:0 0 auto;font-style:normal}
.dfqp__ico svg{display:block;width:100%;height:100%}
.dfqp__tab:hover{filter:brightness(1.1)}
.dfqp__tab:focus{outline:none}
.dfqp__tab:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:-4px}
.dfqp.is-open .dfqp__tab:not(.is-active){filter:saturate(.8) brightness(.96)}
.dfqp .dfqp__tab.is-active{filter:none;box-shadow:inset 3px 0 0 rgba(255,255,255,.9)}
.dfqp--right .dfqp__tab.is-active{box-shadow:inset -3px 0 0 rgba(255,255,255,.9)}
/* 바깥 모서리만 둥글게 */
.dfqp--right .dfqp__tabs>:first-child{border-top-left-radius:var(--dfqp-r,10px)}
.dfqp--right .dfqp__tabs>:last-child{border-bottom-left-radius:var(--dfqp-r,10px)}
.dfqp--left .dfqp__tabs>:first-child{border-top-right-radius:var(--dfqp-r,10px)}
.dfqp--left .dfqp__tabs>:last-child{border-bottom-right-radius:var(--dfqp-r,10px)}

/* 마우스를 올리면 옆으로 나오는 이름표 */
.dfqp__tab[data-tip]::after{content:attr(data-tip);position:absolute;top:50%;padding:0 18px;height:42px;line-height:42px;white-space:nowrap;
	background:var(--bg);color:var(--fg);font-size:14px;font-weight:600;letter-spacing:-.02em;opacity:0;visibility:hidden;pointer-events:none;
	transition:opacity .18s,transform .18s,visibility .18s}
.dfqp--left .dfqp__tab[data-tip]::after{left:100%;border-radius:0 21px 21px 0;transform:translate(-8px,-50%)}
.dfqp--right .dfqp__tab[data-tip]::after{right:100%;border-radius:21px 0 0 21px;transform:translate(8px,-50%)}
.dfqp:not(.is-m):not(.is-open) .dfqp__tab[data-tip]:hover::after{opacity:1;visibility:visible;transform:translate(0,-50%)}

/* 접기 버튼 */
.dfqp__fold{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;justify-content:center;width:max(52px,var(--dfqp-tw,56px));height:34px;background:#111827;color:#fff}
.dfqp__fold svg{width:18px;height:18px;transition:transform .2s}
.dfqp--right .dfqp__fold svg{transform:rotate(180deg)}
.dfqp--left.is-folded .dfqp__fold svg{transform:rotate(180deg)}
.dfqp--right.is-folded .dfqp__fold svg{transform:none}
.dfqp__fold:focus-visible{outline:2px solid #fff;outline-offset:-4px}
.dfqp.is-folded .dfqp__tab{display:none!important}
.dfqp.is-folded .dfqp__fold{border-radius:0 var(--dfqp-r,10px) var(--dfqp-r,10px) 0}
.dfqp--right.is-folded .dfqp__fold{border-radius:var(--dfqp-r,10px) 0 0 var(--dfqp-r,10px)}

/* ===== 패널 (흰색 카드, 탭 막대에 살짝 겹침) ===== */
.dfqp__drawer{position:absolute;top:0;z-index:2;width:var(--dfqp-w,340px);transition:opacity .22s,transform .22s,visibility .22s}
.dfqp--left .dfqp__drawer{left:100%;margin-left:-4px}
.dfqp--right .dfqp__drawer{right:100%;margin-right:-4px}
.dfqp:not(.is-open) .dfqp__drawer{opacity:0;visibility:hidden;pointer-events:none}
.dfqp--left:not(.is-open) .dfqp__drawer{transform:translateX(-12px)}
.dfqp--right:not(.is-open) .dfqp__drawer{transform:translateX(12px)}
.dfqp__panel{position:relative;background:#fff;color:#374151;padding:24px 22px 22px;border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.22);
	display:flex;flex-direction:column;min-height:var(--dfqp-th,0px);max-height:82vh;overflow:auto;overscroll-behavior:contain;font-size:14px}
.dfqp__panel[hidden]{display:none}
.dfqp__panel::before,.dfqp__panel::after{content:"";flex:1 1 0;min-height:0}
.dfqp__panel>*{flex:0 0 auto}
.dfqp__close{all:unset;cursor:pointer;position:absolute;top:10px;right:12px;width:30px;height:30px;line-height:28px;text-align:center;font-size:24px;color:#9ca3af;border-radius:50%}
.dfqp__close:hover{color:#374151;background:#f3f4f6}
.dfqp__title{margin:0 28px 6px 0;font-size:19px;font-weight:700;line-height:1.35;color:#111827;letter-spacing:-.02em}
.dfqp__sub{margin:0 0 16px;font-size:13.5px;color:#6b7280}
.dfqp__html{color:inherit}
.dfqp__html a{color:inherit;text-decoration:underline}
.dfqp__html img{max-width:100%;height:auto;border-radius:8px}

/* 공통 입력 */
.dfqp input.dfqp-input,.dfqp textarea.dfqp-input{display:block!important;width:100%!important;height:auto!important;min-height:44px!important;margin:0 0 10px!important;
	padding:10px 18px!important;border:1px solid #d9dde3!important;border-radius:22px!important;background:#fff!important;color:#1f2937!important;
	font-family:inherit!important;font-size:14.5px!important;font-weight:400!important;line-height:1.4!important;
	box-shadow:none!important;outline:none!important;opacity:1!important;-webkit-appearance:none;appearance:none;transition:border-color .15s,box-shadow .15s}
.dfqp .dfqp-input::placeholder{color:#9ca3af!important;opacity:1!important}
.dfqp .dfqp-input:focus{border-color:var(--bg)!important;box-shadow:0 0 0 3px rgba(17,24,39,.06)!important}
.dfqp textarea.dfqp-input{resize:vertical;min-height:88px!important;border-radius:18px!important}
.dfqp-btn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px;
	padding:12px 18px;border-radius:24px;background:var(--bg);color:var(--fg);font-size:15px;font-weight:700;white-space:nowrap;text-decoration:none!important;transition:filter .15s,opacity .15s}
.dfqp-btn:hover{filter:brightness(1.07)}
.dfqp-btn[disabled]{opacity:.55;cursor:default}
.dfqp-btn--block{display:flex;width:100%}
.dfqp-btn--ghost{background:#fff;color:#374151;box-shadow:inset 0 0 0 1px #d9dde3}
.dfqp-note{margin:10px 0 0;font-size:12px;color:#6b7280}

/* 도메인 조회 */
.dfqp__panel--domain .dfqp__title{margin-bottom:20px}
.dfqp-domain__row{display:flex;gap:6px}
.dfqp .dfqp-domain__row .dfqp-input{margin:0!important;flex:1;min-width:0}
.dfqp-domain__tlds{margin:8px 4px 0;font-size:12px;color:#6b7280;word-spacing:4px}
.dfqp-domain__result{list-style:none;margin:12px 0 0;padding:0;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;color:#1f2937}
.dfqp-domain__result:empty{display:none}
.dfqp-domain__result li{display:flex;align-items:center;gap:8px;padding:11px 14px;border-top:1px solid #f1f2f4;font-size:14px;margin:0}
.dfqp-domain__result li:first-child{border-top:0}
.dfqp-domain__result .d{flex:1;min-width:0;font-weight:600;word-break:break-all}
.dfqp-badge{flex:0 0 auto;font-size:12px;font-weight:600;padding:3px 8px;border-radius:20px;background:#f3f4f6;color:#6b7280}
.dfqp-badge--available{background:#dcfce7;color:#15803d}
.dfqp-badge--unknown{background:#fef3c7;color:#b45309}
.dfqp-badge--loading{background:#f3f4f6;color:#9ca3af}
.dfqp-mini{all:unset;cursor:pointer;flex:0 0 auto;font-size:12px;font-weight:600;padding:3px 9px;border-radius:12px;background:var(--bg);color:var(--fg)}
.dfqp-err{margin:10px 0 0;font-size:13px;font-weight:600;color:#dc2626}

/* 빠른상담 */
.dfqp-chips{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 12px}
.dfqp-chip{cursor:pointer;margin:0}
.dfqp-chip input{position:absolute;opacity:0;pointer-events:none}
.dfqp-chip span{display:inline-block;padding:6px 12px;border-radius:20px;font-size:13px;color:#4b5563;box-shadow:inset 0 0 0 1px #d9dde3;transition:.15s}
.dfqp-chip input:checked+span{background:var(--bg);color:var(--fg);box-shadow:none;font-weight:600}
.dfqp-chip input:focus-visible+span{outline:2px solid var(--bg);outline-offset:2px}
.dfqp-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.dfqp-agree{display:flex;align-items:center;gap:8px;margin:4px 0 14px;font-size:13px;color:#4b5563;cursor:pointer}
.dfqp-agree input{width:16px;height:16px;margin:0;accent-color:var(--bg)}
.dfqp-agree__more{all:unset;cursor:pointer;margin-left:4px;font-size:12px;text-decoration:underline;color:#6b7280}
.dfqp-agree__text{margin:-6px 0 12px;padding:10px 12px;border-radius:10px;background:#f3f4f6;color:#4b5563;font-size:12px;line-height:1.6}
.dfqp-agree__text[hidden]{display:none}
.dfqp-msg{margin:8px 0 0;font-size:13px;font-weight:600;color:#dc2626;min-height:1em}
.dfqp-msg:empty{display:none}
.dfqp-done{text-align:center;padding:20px 0 6px;color:#111827}
.dfqp-done[hidden]{display:none}
.dfqp-done__icon{width:54px;height:54px;margin:0 auto 12px;border-radius:50%;background:var(--bg);color:var(--fg);font-size:26px;line-height:54px;font-weight:700}
.dfqp-done p{margin:0;font-size:15px;font-weight:600}

/* 오시는길 */
.dfqp-map{margin:0 0 12px;border-radius:12px;overflow:hidden;background:#f3f4f6}
.dfqp-map iframe,.dfqp-map img{display:block;width:100%!important;max-width:100%;border:0}
.dfqp-map iframe{height:240px}
.dfqp-addr{margin:0 0 16px;font-size:14px;font-weight:500;color:#1f2937}
.dfqp-maplinks{display:flex;gap:8px;margin:0 0 10px}
.dfqp-maplinks .dfqp-btn{flex:1;padding:12px 10px;font-size:14px}
.dfqp-tel{margin-top:0}

/* ===== 모바일 ===== */
.dfqp.is-m .dfqp--d-pc{display:none!important}
.dfqp:not(.is-m) .dfqp--d-mobile{display:none!important}
.dfqp.is-m.dfqp--m-hide{display:none!important}
.dfqp.is-m .dfqp__tab[data-tip]::after{display:none}

.dfqp.is-m.dfqp--m-bottom{top:auto;bottom:0;left:0;right:0;transform:none;display:flex;flex-direction:column-reverse;align-items:stretch}
.dfqp.is-m.dfqp--m-bottom .dfqp__fold{display:none}
.dfqp.is-m.dfqp--m-bottom .dfqp__tabs{flex-direction:row;gap:0;border-radius:0;padding-bottom:env(safe-area-inset-bottom);background:#111827;box-shadow:0 -2px 12px rgba(0,0,0,.15)}
.dfqp.is-m.dfqp--m-bottom .dfqp__tabs>*{border-radius:0!important}
.dfqp.is-m.dfqp--m-bottom .dfqp__tab{flex:1 1 0;width:auto;min-height:0;padding:9px 4px 8px;gap:3px;font-size:12.5px;box-shadow:none}
.dfqp.is-m.dfqp--m-bottom .dfqp__ico{width:19px;height:19px}
.dfqp.is-m.dfqp--m-bottom .dfqp__drawer{position:static;top:auto!important;width:100%;margin:0;display:none;transform:none;opacity:1;visibility:visible;pointer-events:auto}
.dfqp.is-m.dfqp--m-bottom.is-open .dfqp__drawer{display:block;animation:dfqpUp .28s ease}
.dfqp.is-m.dfqp--m-bottom .dfqp__panel{display:block;min-height:0;max-height:70vh;border-radius:16px 16px 0 0;box-shadow:0 -8px 30px rgba(0,0,0,.25)}
html.dfqp-bar body{padding-bottom:calc(56px + env(safe-area-inset-bottom))}
@keyframes dfqpUp{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}

@media (prefers-reduced-motion:reduce){.dfqp__drawer,.dfqp__tab::after{transition:none}.dfqp__drawer{animation:none!important}}
