/* DF 디자인 · 퀵메뉴 */
.dfd-qm-root{--qm-r:8px;font-family:inherit;letter-spacing:-.01em;word-break:keep-all}
.dfd-qm-root *,.dfd-qm-root *::before,.dfd-qm-root *::after{box-sizing:border-box}
.dfd-qm-root [hidden]{display:none!important}
.dfd-qm-root a{text-decoration:none!important;box-shadow:none!important}

/* ---------- PC 세로 퀵메뉴 ---------- */
.dfd-qm{position:fixed;z-index:2147483600;right:22px;bottom:calc(var(--qm-y) + 74px);width:72px;border-radius:36px;background:var(--qm-bg);color:var(--qm-fg);box-shadow:0 12px 30px -12px rgba(0,0,0,.45);display:grid;grid-template-rows:auto;overflow:hidden;transition:box-shadow .3s}
.dfd-qm-root.is-left .dfd-qm{right:auto;left:22px}
.dfd-qm-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:100%;min-height:112px;margin:0;padding:20px 0;border:0;background:none;color:inherit;font:inherit;font-size:14.5px;font-weight:400;line-height:1.3;text-align:center;cursor:pointer;transition:min-height .6s cubic-bezier(.4,0,.2,1),padding .6s cubic-bezier(.4,0,.2,1),opacity .35s}
.dfd-qm-toggle i{display:block;width:22px;height:1px;margin:10px 0;background:currentColor;opacity:.35}
.dfd-qm-toggle span{display:block;letter-spacing:.02em}
.dfd-qm-list{margin:0!important;padding:0!important;list-style:none!important;max-height:0;overflow:hidden;transition:max-height .9s cubic-bezier(.4,0,.2,1),padding .6s cubic-bezier(.4,0,.2,1)}
.dfd-qm-list>li{margin:0!important;padding:0!important;list-style:none!important}
.dfd-qm-item{display:flex;flex-direction:column;align-items:center;gap:5px;padding:14px 4px 13px;color:var(--qm-fg)!important;font-size:12px;font-weight:300;line-height:1.35;text-align:center;opacity:.9;transition:opacity .2s,background .2s}
.dfd-qm-item svg{width:22px;height:22px;flex:0 0 auto;stroke-width:1.3}
.dfd-qm-list>li+li .dfd-qm-item{border-top:1px solid rgba(255,255,255,.12)}
.dfd-qm-item:hover,.dfd-qm-item:focus-visible{opacity:1;background:rgba(255,255,255,.08);outline:0}
/* 펼침 */
.dfd-qm-pill.is-open .dfd-qm-toggle{min-height:0;padding:0;opacity:0;pointer-events:none;height:0;overflow:hidden}
.dfd-qm-pill.is-open .dfd-qm-list{max-height:640px;padding:10px 0!important}
@media (hover:hover){
	.dfd-qm-pill:hover .dfd-qm-toggle,.dfd-qm-pill:hover .dfd-qm-list{transition-delay:.15s}
	.dfd-qm-pill:hover .dfd-qm-toggle,.dfd-qm-pill:focus-within .dfd-qm-toggle{min-height:0;padding:0;opacity:0;height:0;overflow:hidden}
	.dfd-qm-pill:hover .dfd-qm-list,.dfd-qm-pill:focus-within .dfd-qm-list{max-height:640px;padding:10px 0!important}
}
/* 항상 펼침 */
.dfd-qm-open .dfd-qm-list{max-height:none;padding:10px 0!important}

/* ---------- TOP (배경 없는 창 화살표) ---------- */
.dfd-qm-top{position:fixed;z-index:2147483600;right:22px;bottom:var(--qm-y);width:72px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 0;color:var(--qm-top)!important;background:none!important;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .35s,transform .35s,visibility .35s;filter:drop-shadow(0 0 1px rgba(255,255,255,.9)) drop-shadow(0 0 3px rgba(255,255,255,.55))}
.dfd-qm-root.is-left .dfd-qm-top{right:auto;left:22px}
.dfd-qm-top.is-show{opacity:1;visibility:visible;transform:none}
/* 자동: 밝은 곳에선 어둡게, 어두운 곳에선 밝게 */
.dfd-qm-top.is-auto{color:#fff!important;mix-blend-mode:difference;filter:none}
.dfd-qm-top svg{display:block;width:18px;height:48px;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.dfd-qm-top span{font-size:10.5px;font-weight:500;letter-spacing:.24em;line-height:1;padding-left:.24em}
.dfd-qm-top:hover svg{transform:translateY(-5px)}
.dfd-qm-top:focus-visible{outline:1px dashed currentColor;outline-offset:4px}

/* ---------- PC 하단 빠른 상담 바 ---------- */
.dfd-qm-bar{position:fixed;z-index:2147483599;left:50%;bottom:18px;width:min(1100px,calc(100% - 200px));margin:0;transform:translateX(-50%);padding:14px 18px;border-radius:14px;background:var(--qm-bg);color:var(--qm-fg);box-shadow:0 16px 40px -18px rgba(0,0,0,.5)}
.dfd-qm-bar-in{display:flex;align-items:center;gap:12px}
.dfd-qm-bar-title{flex:0 0 auto;margin:0 6px 0 4px!important;font-size:15px;font-weight:700;line-height:1.3;color:var(--qm-fg)}
.dfd-qm-bar .dfd-qm-fields{display:flex;gap:8px;flex:1;min-width:0}
.dfd-qm-bar .dfd-qm-fields>*{flex:1;min-width:0}
.dfd-qm-root input[type=text],.dfd-qm-root input[type=tel],.dfd-qm-root select,.dfd-qm-root textarea{width:100%;height:46px;margin:0;padding:0 14px;border:1px solid transparent;border-radius:var(--qm-r);background:#fff;color:#222;font:inherit;font-size:14.5px;box-shadow:none;outline:0;-webkit-appearance:none;appearance:none}
.dfd-qm-root select{padding-right:34px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23666' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 14px center;color:#666}
.dfd-qm-root textarea{height:auto;padding:12px 14px;resize:vertical;line-height:1.5}
.dfd-qm-root input:focus,.dfd-qm-root select:focus,.dfd-qm-root textarea:focus{border-color:var(--qm-accent)}
.dfd-qm-root ::placeholder{color:#9a9a9a}
.dfd-qm-agree{display:flex;align-items:center;gap:6px;flex:0 0 auto;font-size:12.5px;line-height:1.3;white-space:nowrap}
.dfd-qm-agree label{display:inline-flex;align-items:center;gap:6px;margin:0;cursor:pointer;color:inherit;font-size:inherit}
.dfd-qm-agree input{width:16px;height:16px;margin:0;accent-color:var(--qm-accent)}
.dfd-qm-agree a{color:inherit!important;opacity:.6;text-decoration:underline!important;text-underline-offset:2px}
.dfd-qm-submit{flex:0 0 auto;height:46px;margin:0;padding:0 26px;border:0;border-radius:var(--qm-r);background:var(--qm-accent);color:#fff;font:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:filter .2s}
.dfd-qm-submit:hover{filter:brightness(1.08)}
.dfd-qm-submit:disabled{opacity:.6;cursor:default}
.dfd-qm-msg{margin:0!important;font-size:13px;line-height:1.4}
.dfd-qm-msg:empty{display:none}
.dfd-qm-bar .dfd-qm-msg{padding:8px 4px 0}
.dfd-qm-msg.is-err{color:#ff8a80}
.dfd-qm-sheet .dfd-qm-msg.is-err{color:#d33}
.dfd-qm-msg.is-ok{color:var(--qm-accent)}
.dfd-qm-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.dfd-qm-root.has-bar .dfd-qm{bottom:calc(var(--qm-y) + 74px + 60px)}
.dfd-qm-root.has-bar .dfd-qm-top{bottom:calc(var(--qm-y) + 60px)}
body.dfd-qm-pad{padding-bottom:var(--dfd-qm-pad,0)!important}

/* ---------- 상담 신청 창 ---------- */
.dfd-qm-sheet{position:fixed;inset:0;z-index:2147483640;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(10,14,20,.5);animation:dfd-qm-fade .2s ease}
.dfd-qm-sheet-box{position:relative;width:100%;max-width:420px;max-height:90vh;overflow:auto;padding:30px 26px 24px;border-radius:12px;background:#fff;color:#222;animation:dfd-qm-up .28s cubic-bezier(.2,.8,.2,1)}
.dfd-qm-sheet h3{margin:0 0 6px!important;padding:0!important;font-size:20px;font-weight:700;line-height:1.4;color:#111}
.dfd-qm-desc{margin:0 0 18px!important;font-size:14px;line-height:1.6;color:#666}
.dfd-qm-x{position:absolute;top:10px;right:10px;width:36px;height:36px;margin:0;padding:0;border:0;background:none;font-size:26px;line-height:1;color:#999;cursor:pointer}
.dfd-qm-sheet .dfd-qm-fields{display:grid;gap:8px}
.dfd-qm-sheet input[type=text],.dfd-qm-sheet input[type=tel],.dfd-qm-sheet select,.dfd-qm-sheet textarea{border-color:#e2e2e2;background-color:#fff}
.dfd-qm-sheet .dfd-qm-agree{margin:14px 0 16px;color:#555}
.dfd-qm-sheet .dfd-qm-submit{width:100%;height:52px}
.dfd-qm-sheet .dfd-qm-msg{margin-top:12px!important;text-align:center}
.dfd-qm-policy .dfd-qm-desc{margin:10px 0 0!important}
html.dfd-qm-lock,html.dfd-qm-lock body{overflow:hidden}
@keyframes dfd-qm-fade{from{opacity:0}}
@keyframes dfd-qm-up{from{opacity:0;transform:translateY(16px)}}

/* ---------- 모바일 하단 고정 바 ---------- */
.dfd-qm-mobar{display:none}
@media (max-width:768px){
	.dfd-qm,.dfd-qm-bar{display:none!important}
	.dfd-qm-root.has-mobar .dfd-qm-mobar{position:fixed;z-index:2147483600;left:0;right:0;bottom:0;display:flex;padding-bottom:env(safe-area-inset-bottom);background:var(--qm-bg);box-shadow:0 -6px 20px -10px rgba(0,0,0,.35)}
	.dfd-qm-mo{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:60px;padding:8px 2px;color:var(--qm-fg)!important;font-size:11.5px;font-weight:400;line-height:1.2}
	.dfd-qm-mo+.dfd-qm-mo{border-left:1px solid rgba(255,255,255,.1)}
	.dfd-qm-mo svg{width:22px;height:22px}
	.dfd-qm-mo.is-accent{background:var(--qm-accent);color:#fff!important;font-weight:500}
	.dfd-qm-mo.is-accent+.dfd-qm-mo,.dfd-qm-mo+.dfd-qm-mo.is-accent{border-left-color:transparent}
	.dfd-qm-top{right:12px!important;left:auto!important;width:40px;bottom:14px;gap:4px}
	.dfd-qm-root.is-left .dfd-qm-top{left:12px!important;right:auto!important}
	.dfd-qm-root.has-mobar .dfd-qm-top{bottom:calc(74px + env(safe-area-inset-bottom))}
	.dfd-qm-top svg{width:14px;height:38px}
	.dfd-qm-top span{font-size:9.5px}
	.dfd-qm-sheet{align-items:flex-end;padding:0}
	.dfd-qm-sheet-box{max-width:none;border-radius:16px 16px 0 0;padding:28px 20px calc(20px + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){
	.dfd-qm *,.dfd-qm-top,.dfd-qm-sheet,.dfd-qm-sheet-box{transition:none!important;animation:none!important}
}
@media print{.dfd-qm-root{display:none!important}}
