/* DF 하단바 v1.3.3 — PC 전용 */
#dfdock, #dfdock-handle, #dfdock-fab { display: none; }
/* 기존 DF 퀵패널은 화면에 안 보이게 (PC 빠른 상담 팝업의 상담폼만 가져다 씀) — 모바일에서 잠깐 나타났다 사라지는 현상 방지 */
#dfqp { display: none !important; }
@media (max-width: 1024px) {
	/* 예전 빠른메뉴(카톡·빠른·견적 상담) 옆 버튼과 예전 하단바 — DF 모바일 하단바로 대체됨 */
	.dfd-qm, .dfd-qm-mobar { display: none !important; }
}

@media (min-width: 1025px) {
	#dfdock {
		--dd-blue: #1d64d8;
		--dd-ink: #161c26;
		--dd-sub: #6b7482;
		--dd-line: #e6eaf0;
		--dd-w: min(1200px, calc(100vw - 48px));
		display: block;
		position: fixed;
		left: 50%;
		bottom: 20px;
		width: var(--dd-w);
		z-index: 99990;
		transform: translate(-50%, 0);
		transition: transform .45s cubic-bezier(.2,.8,.2,1), opacity .3s;
		font-family: "Pretendard Variable", Pretendard, -apple-system, "Malgun Gothic", sans-serif;
		letter-spacing: -0.02em;
		-webkit-font-smoothing: antialiased;
	}
	#dfdock.is-hidden { transform: translate(-50%, calc(100% + 40px)); opacity: 0; pointer-events: none; }
	#dfdock *, #dfdock *::before, #dfdock *::after { box-sizing: border-box; }
	#dfdock svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
	#dfdock a { text-decoration: none; }
	#dfdock button { font: inherit; letter-spacing: inherit; cursor: pointer; border: 0; background: none; margin: 0; }

	/* ===== 바 ===== */
	.dfdock__bar {
		position: relative;
		z-index: 2;
		display: flex;
		align-items: center;
		justify-content: space-between;
		height: 64px;
		padding: 0 10px;
		background: #fff;
		border: 1px solid #d5dce7;
		border-radius: 18px;
		box-shadow: 0 14px 38px rgba(12, 28, 60, .18), 0 2px 8px rgba(12, 28, 60, .08);
	}
	.dfdock__left, .dfdock__right, .dfdock__menu { display: flex; align-items: center; gap: 6px; flex: none; }
	.dfdock__bar a, .dfdock__bar button, .dfdock__bar span { white-space: nowrap; }

	.dfdock__btn {
		display: inline-flex; align-items: center; gap: 7px;
		height: 44px; padding: 0 14px;
		border-radius: 12px;
		font-size: 14.5px; font-weight: 600;
		color: var(--dd-ink) !important;
		background: #f3f5f9;
		transition: background .2s, color .2s;
	}
	.dfdock__btn:hover { background: #e9eef6; }
	.dfdock__btn--main { background: var(--dd-blue); color: #fff !important; }
	.dfdock__btn--main:hover { background: #1554bd; }

	.dfdock__tel {
		display: inline-flex; align-items: center; gap: 8px;
		height: 44px; padding: 0 10px 0 12px;
		color: var(--dd-ink) !important;
	}
	.dfdock__tel svg { color: var(--dd-blue); }
	.dfdock__tel span { display: flex; flex-direction: column; line-height: 1.15; font-size: 16px; font-weight: 700; letter-spacing: 0; }
	.dfdock__tel em { font-style: normal; font-size: 11px; font-weight: 500; color: var(--dd-sub); letter-spacing: -0.02em; }

	.dfdock__menu { gap: 2px; }
	.dfdock__tab {
		display: inline-flex; align-items: center; gap: 5px;
		height: 44px; padding: 0 13px;
		border-radius: 12px;
		font-size: 15px !important; font-weight: 600;
		color: var(--dd-ink) !important;
		transition: background .2s, color .2s;
	}
	.dfdock__tab svg { width: 15px; height: 15px; color: #9aa3b0; transition: transform .25s, color .2s; }
	.dfdock__tab:hover, .dfdock__tab.is-on { background: #f3f5f9; }
	.dfdock__tab.is-on { color: var(--dd-blue) !important; }
	.dfdock__tab.is-on svg { transform: rotate(180deg); color: var(--dd-blue); }

	.dfdock__ic {
		display: inline-flex; align-items: center; justify-content: center;
		width: 42px; height: 42px; border-radius: 12px;
		color: #4a5262 !important;
		transition: background .2s, color .2s;
	}
	.dfdock__ic:hover { background: #f3f5f9; color: var(--dd-blue) !important; }
	.dfdock__ic--admin { color: #8a93a1 !important; }
	.dfdock__sep { width: 1px; height: 22px; background: var(--dd-line); margin: 0 4px; }

	.dfdock__ai {
		display: inline-flex; align-items: center; gap: 8px;
		height: 44px; padding: 0 14px 0 6px;
		border-radius: 12px;
		font-size: 14.5px; font-weight: 600;
		color: var(--dd-ink);
		background: #f3f5f9;
		transition: background .2s;
	}
	.dfdock__ai[hidden] { display: none; }
	.dfdock__ai:hover { background: #e9eef6; }
	.dfdock__ai-av { position: relative; width: 32px; height: 32px; border-radius: 50%; background: #fff; overflow: hidden; display: block; }
	.dfdock__ai-av img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; display: block; }
	.dfdock__ai-av::after { content: ""; position: absolute; right: 1px; top: 1px; width: 8px; height: 8px; border-radius: 50%; background: #22c55e; border: 2px solid #fff; }

	/* ===== 메뉴판 ===== */
	.dfdock__panels { position: absolute; left: 0; right: 0; bottom: calc(100% + 10px); z-index: 1; }
	.dfdock__panel {
		position: absolute; left: 0; right: 0; bottom: 0;
		display: grid; grid-template-columns: 250px 1fr; gap: 36px;
		padding: 34px 36px;
		background: #fff;
		border: 1px solid #d5dce7;
		border-radius: 18px;
		box-shadow: 0 18px 50px rgba(12, 28, 60, .16);
		opacity: 0; visibility: hidden; transform: translateY(10px);
		transition: opacity .25s, transform .3s cubic-bezier(.2,.8,.2,1), visibility 0s .3s;
	}
	.dfdock__panel.is-on { opacity: 1; visibility: visible; transform: none; transition: opacity .25s, transform .3s cubic-bezier(.2,.8,.2,1); }

	.dfdock__intro { padding-right: 10px; border-right: 1px solid var(--dd-line); }
	.dfdock__eyebrow { display: block; font-size: 12px; font-weight: 700; color: var(--dd-blue); letter-spacing: .02em; margin-bottom: 10px; }
	.dfdock__intro strong { display: block; font-size: 21px; line-height: 1.35; font-weight: 700; color: var(--dd-ink); margin-bottom: 10px; }
	.dfdock__intro p { margin: 0; padding: 0 20px 0 0; font-size: 13.5px; line-height: 1.6; color: var(--dd-sub); }

	.dfdock__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
	.dfdock__grid li { margin: 0; padding: 0; list-style: none; }
	.dfdock__grid a {
		position: relative; display: block; height: 100%;
		padding: 16px 40px 16px 18px;
		border: 1px solid var(--dd-line);
		border-radius: 12px;
		background: #fff;
		transition: border-color .2s, box-shadow .2s, transform .2s;
	}
	.dfdock__grid a:hover { border-color: var(--dd-blue); box-shadow: 0 6px 18px rgba(29, 100, 216, .12); transform: translateY(-2px); }
	.dfdock__grid b { display: block; font-size: 15px; font-weight: 700; color: var(--dd-ink); margin-bottom: 5px; line-height: 1.3; }
	.dfdock__grid span { display: block; font-size: 12.5px; line-height: 1.5; color: var(--dd-sub); }
	.dfdock__go { position: absolute; right: 14px; top: 16px; color: #c3cad4; transition: color .2s, transform .2s; }
	.dfdock__go svg { width: 16px; height: 16px; }
	.dfdock__grid a:hover .dfdock__go { color: var(--dd-blue); transform: translateX(2px); }

	/* ===== 접힘 손잡이 ===== */
	#dfdock-handle {
		display: inline-flex; align-items: center; gap: 4px;
		position: fixed; left: 50%; bottom: 0; z-index: 99989;
		height: 34px; padding: 0 18px 0 14px;
		font-family: "Pretendard Variable", Pretendard, sans-serif;
		font-size: 13px; font-weight: 600; letter-spacing: -0.02em;
		color: #161c26; background: #fff;
		border: 1px solid #d5dce7; border-bottom: 0;
		border-radius: 12px 12px 0 0;
		box-shadow: 0 -4px 18px rgba(12, 28, 60, .12);
		cursor: pointer;
		transform: translate(-50%, 100%);
		transition: transform .35s cubic-bezier(.2,.8,.2,1);
	}
	#dfdock-handle svg { width: 15px; height: 15px; fill: none; stroke: #1d64d8; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
	#dfdock-handle.is-show { transform: translate(-50%, 0); }
	#dfdock-handle:hover { color: #1d64d8; }

	/* ===== 기존 떠 있는 요소 정리 (PC만) ===== */
	#dfqp,
	#dfml,
	#dfml-open,
	.dfd-qm-top { display: none !important; }

	/* ===== 빠른 상담 팝업 ===== */
	#dfdock-qc { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; font-family: "Pretendard Variable", Pretendard, sans-serif; letter-spacing: -0.02em; }
	#dfdock-qc[hidden] { display: none; }
	.dfdock-qc__dim { position: absolute; inset: 0; background: rgba(10, 20, 40, .45); animation: dfdockFade .2s ease; }
	.dfdock-qc__box {
		position: relative; width: 440px; max-width: calc(100vw - 48px); max-height: calc(100vh - 80px); overflow: auto;
		background: #fff; border-radius: 18px; box-shadow: 0 24px 70px rgba(10, 20, 40, .28);
		animation: dfdockPop .28s cubic-bezier(.2,.8,.2,1);
	}
	.dfdock-qc__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 28px 28px 6px; }
	.dfdock-qc__eyebrow { display: block; font-size: 11.5px; font-weight: 700; color: #1d64d8; letter-spacing: .06em; margin-bottom: 8px; }
	.dfdock-qc__head strong { display: block; font-size: 22px; font-weight: 700; color: #161c26; margin-bottom: 6px; }
	.dfdock-qc__head p { margin: 0; font-size: 13.5px; line-height: 1.55; color: #6b7482; }
	.dfdock-qc__x { flex: none; width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 10px; background: #f3f5f9; cursor: pointer; color: #4a5262; }
	.dfdock-qc__x:hover { background: #e9eef6; color: #1d64d8; }
	.dfdock-qc__x svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
	.dfdock-qc__body { padding: 14px 28px 28px; }
	/* 기존 퀵패널 상담폼을 팝업 안에서 그대로 사용 */
	.dfdock-qc__body .dfqp__panel {
		display: block !important; position: static !important; transform: none !important;
		opacity: 1 !important; visibility: visible !important; pointer-events: auto !important;
		width: auto !important; max-width: none !important; height: auto !important; max-height: none !important;
		margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; background: none !important;
	}
	.dfdock-qc__body .dfqp__close, .dfdock-qc__body .dfqp__title, .dfdock-qc__body .dfqp__sub { display: none !important; }
	.dfdock-qc__body .dfqp-consult { display: flex !important; flex-direction: column; gap: 10px; }
	.dfdock-qc__body .dfqp-input {
		display: block !important; width: 100% !important; height: 48px !important; margin: 0 !important;
		padding: 0 14px !important; border: 1px solid #d5dce7 !important; border-radius: 10px !important;
		background: #fff !important; font: inherit !important; font-size: 14.5px !important; color: #161c26 !important; box-shadow: none !important;
	}
	.dfdock-qc__body textarea.dfqp-input { height: 96px !important; padding: 12px 14px !important; resize: none; }
	.dfdock-qc__body .dfqp-input:focus { border-color: #1d64d8 !important; outline: 0 !important; }
	.dfdock-qc__body .dfqp-chips { display: flex !important; flex-wrap: wrap; gap: 6px !important; margin: 2px 0 !important; }
	.dfdock-qc__body .dfqp-chip span { border-radius: 999px !important; }
	.dfdock-qc__body .dfqp-chip input:checked + span { background: #1d64d8 !important; border-color: #1d64d8 !important; color: #fff !important; }
	.dfdock-qc__body .dfqp-agree { margin: 2px 0 0 !important; font-size: 13px !important; color: #4a5262 !important; }
	.dfdock-qc__body .dfqp-btn--block {
		width: 100% !important; height: 52px !important; margin-top: 6px !important; border: 0 !important; border-radius: 12px !important;
		background: #1d64d8 !important; color: #fff !important; font: inherit !important; font-size: 15.5px !important; font-weight: 700 !important;
	}
	.dfdock-qc__body .dfqp-btn--block:hover { background: #1554bd !important; }
	.dfdock-qc__body .dfqp__body { padding: 0 !important; overflow: visible !important; max-height: none !important; }
	@keyframes dfdockFade { from { opacity: 0; } }
	@keyframes dfdockPop { from { opacity: 0; transform: translateY(14px); } }
}

/* ===================== 모바일 (1024px 이하) ===================== */
@media (max-width: 1024px) {
	/* 마이서비스 옆 손잡이만 숨김 (레이어는 하단바 「마이」로 열림) */
	#dfml-open { display: none !important; }

	/* 하단바 선 정리: 칸 사이 세로선은 모두 연하게, 맨 위 경계선은 조금 진하게 */
	.dfmb.has-dfdock { border-top: 1px solid #cfd6e0 !important; box-shadow: 0 -2px 10px rgba(12, 28, 60, .06) !important; }
	.dfmb.has-dfdock .dfmb__it { border-left-color: #e5e7eb !important; }
	/* 테마의 TOP 버튼은 모바일에서 숨김 (메뉴 버튼과 겹침) */
	.dfd-qm-top { display: none !important; }

	/* 하단바 5칸 + 가운데 메뉴 버튼 */
	.dfmb.has-dfdock { grid-template-columns: repeat(5, 1fr) !important; overflow: visible !important; }
	.dfmb.has-dfdock .dfmb__it.is-accent { background: none !important; color: #1d64d8 !important; }
	.dfmb.has-dfdock .dfmb__it.is-accent svg { color: #1d64d8 !important; stroke: currentColor; }
	.dfdock-mbtn { position: relative; overflow: visible !important; color: #161c26 !important; }
	.dfdock-mbtn__c {
		position: absolute; left: 50%; top: -20px; transform: translateX(-50%);
		width: 48px; height: 48px; border-radius: 50%;
		display: flex; align-items: center; justify-content: center;
		background: #fff; color: #3a414d; border: 2px solid #3a414d; box-sizing: border-box;
		box-shadow: 0 6px 16px rgba(20, 24, 32, .16), 0 0 0 4px #fff;
		transition: transform .25s;
	}
	.dfdock-mbtn__c i { position: absolute; left: 12px; top: 21px; width: 20px; height: 2px; border-radius: 2px; background: #3a414d; transform-origin: 0 50%; transition: top .25s, transform .25s, opacity .2s; animation: dfdockLine 4s ease-in-out 2s infinite; }
	.dfdock-mbtn__c i:nth-child(1) { top: 15px; }
	.dfdock-mbtn__c i:nth-child(2) { animation-delay: 2.12s; }
	.dfdock-mbtn__c i:nth-child(3) { top: 27px; animation-delay: 2.24s; }
	.dfdock-mbtn.is-open .dfdock-mbtn__c i { animation: none; transform-origin: 50% 50%; }
	.dfdock-mbtn.is-open .dfdock-mbtn__c i:nth-child(1) { top: 21px; transform: rotate(45deg); }
	.dfdock-mbtn.is-open .dfdock-mbtn__c i:nth-child(2) { opacity: 0; }
	.dfdock-mbtn.is-open .dfdock-mbtn__c i:nth-child(3) { top: 21px; transform: rotate(-45deg); }
	.dfmb .dfdock-mbtn { justify-content: flex-end !important; padding-bottom: 8px !important; }
	.dfdock-mbtn .dfdock-mbtn__sp { display: none; }
	.dfdock-mbtn span:last-child { font-weight: 700; line-height: 1.2; }

	/* 메뉴판 시트 */
	#dfdock-m { position: fixed; inset: 0; z-index: 2147483590; font-family: "Pretendard Variable", Pretendard, sans-serif; letter-spacing: -0.02em; -webkit-font-smoothing: antialiased; }
	#dfdock-m[hidden] { display: none; }
	#dfdock-m *, #dfdock-m *::before, #dfdock-m *::after { box-sizing: border-box; }
	.dfdock-m__dim { position: absolute; inset: 0; background: rgba(10, 20, 40, .45); opacity: 0; transition: opacity .25s; }
	#dfdock-m.is-on .dfdock-m__dim { opacity: 1; }
	.dfdock-m__sheet {
		position: absolute; left: 0; right: 0; bottom: 0;
		max-height: 84vh; display: flex; flex-direction: column;
		background: #fff; border-radius: 20px 20px 0 0;
		box-shadow: 0 -10px 40px rgba(10, 20, 40, .2);
		padding-bottom: calc(71px + env(safe-area-inset-bottom, 0px));
		transform: translateY(100%); transition: transform .35s cubic-bezier(.2,.8,.2,1);
	}
	#dfdock-m.is-on .dfdock-m__sheet { transform: translateY(0); }
	#dfdock-m.is-drag .dfdock-m__sheet { transition: none; }
	.dfdock-m__grab { padding: 8px 0 2px; display: flex; justify-content: center; }
	.dfdock-m__grab i { width: 38px; height: 4px; border-radius: 4px; background: #d5dce7; }
	.dfdock-m__head { display: flex; align-items: center; justify-content: space-between; padding: 6px 20px 10px; }
	.dfdock-m__head strong { font-size: 17px; font-weight: 700; color: #161c26; }
	.dfdock-m__x { width: 34px; height: 34px; border: 0; border-radius: 10px; background: #f3f5f9; color: #4a5262; display: inline-flex; align-items: center; justify-content: center; padding: 0; }
	.dfdock-m__x svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }

	.dfdock-m__tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; margin: 0 20px; padding: 4px; background: #e3e7ed; border-radius: 12px; }
	.dfdock-m__tab { height: 36px; border: 0; border-radius: 9px; background: none; font: inherit; font-size: 12.5px; font-weight: 600; color: #3f4756; padding: 0; white-space: nowrap; letter-spacing: -0.04em; }
	.dfdock-m__tab.is-on { background: #fff; color: #1d64d8; box-shadow: 0 1px 4px rgba(12, 28, 60, .1); }

	.dfdock-m__body { overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 12px 20px 14px; flex: 1; min-height: 0; }
	.dfdock-m__pane { display: none; }
	.dfdock-m__pane.is-on { display: block; animation: dfdockFade .2s ease; }
	.dfdock-m__desc { margin: 0 0 10px; font-size: 12px; line-height: 1.5; color: #6b7482; }
	.dfdock-m__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
	.dfdock-m__grid li { margin: 0; padding: 0; list-style: none; }
	.dfdock-m__grid a { display: block; height: 100%; padding: 12px 13px; border: 1px solid #e6eaf0; border-radius: 12px; background: #fff; text-decoration: none; box-shadow: 0 1px 3px rgba(12, 28, 60, .04); }
	.dfdock-m__grid a:active { border-color: #1d64d8; }
	.dfdock-m__grid b { display: block; font-size: 13.5px; font-weight: 700; color: #161c26; line-height: 1.3; margin-bottom: 3px; }
	.dfdock-m__grid span { display: block; font-size: 11.5px; line-height: 1.45; color: #6b7482; }

	.dfdock-m__foot { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 10px 20px 14px; border-top: 1px solid #eef1f5; }
	.dfdock-m__cta { display: flex; align-items: center; justify-content: center; height: 46px; border-radius: 12px; background: #1d64d8; color: #fff !important; font-size: 14.5px; font-weight: 700; text-decoration: none; }
	.dfdock-m__tel { display: inline-flex; align-items: center; gap: 6px; height: 46px; padding: 0 16px; border-radius: 12px; border: 1px solid #d5dce7; color: #161c26 !important; font-size: 14.5px; font-weight: 700; text-decoration: none; letter-spacing: 0; }
	.dfdock-m__tel svg { width: 16px; height: 16px; fill: none; stroke: #1d64d8; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
	html.dfdock-m-lock, html.dfdock-m-lock body { overflow: hidden !important; }
}
@keyframes dfdockFade { from { opacity: 0; } }
@media (max-width: 1024px) {
	#dfcb-root.dfdock-tz-off .dfcb-teaser { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; transition: opacity .4s, visibility 0s .4s !important; }
}
/* 모바일: 스크롤할 때 상담봇 캐릭터가 왼쪽 끝으로 쏙 — 머리만 살짝 보이게 */
@media (max-width: 1024px) {
	#dfcb-root .dfcb-launcher { transition: transform .5s cubic-bezier(.3,1.4,.5,1) !important; transform-origin: 50% 90%; }
	#dfcb-root.dfcb-scrolling:not(.dfcb-open) .dfcb-launcher { transform: translateX(-72%) rotate(18deg) !important; transition: transform .4s cubic-bezier(.4,0,.2,1) !important; }
	#dfcb-root.dfcb-scrolling:not(.dfcb-open) .dfcb-shadow { opacity: 0 !important; }
}

/* 모바일: 상단 로고 옆 메뉴(햄버거) 버튼 — 「☰ 메뉴」 파란 알약, 말랑하게 움직이고, 스크롤하면 동그란 아이콘만 */
@media (max-width: 1024px) {
	#dfhd .dfhd-burger {
		display: grid !important; grid-template-columns: 16px 30px; grid-template-rows: repeat(3, 2px);
		row-gap: 4px; column-gap: 7px; align-content: center; align-items: center; justify-content: start;
		width: 82px !important; height: 36px !important; padding: 0 0 0 17px !important; overflow: hidden;
		border-radius: 18px !important; background: #1d64d8 !important; color: #fff !important;
		box-shadow: 0 4px 12px rgba(29, 100, 216, .3) !important;
		transition: width .35s cubic-bezier(.3,1.3,.5,1), padding .35s, column-gap .35s, grid-template-columns .35s !important;
		animation: dfdockBurgerPulse 2.4s ease-out .8s 2;
	}
	#dfhd .dfhd-burger i { grid-column: 1; width: 16px !important; height: 2px !important; margin: 0 !important; background: #fff !important; border-radius: 2px; }
	#dfhd .dfhd-burger::after {
		content: "메뉴"; grid-column: 2; grid-row: 1 / -1; white-space: nowrap;
		font-family: "Pretendard Variable", Pretendard, sans-serif; font-size: 13px; font-weight: 700; letter-spacing: -0.02em; line-height: 1; color: #fff;
		transition: opacity .2s;
	}
	/* 스크롤 내리면: 헤더가 올라가도 동그란 메뉴 아이콘은 화면 위에 고정 */
	#dfdock-fab {
		position: fixed; top: calc(24px + env(safe-area-inset-top, 0px)); right: 16px; z-index: 2147483500;
		height: 36px; padding: 0 15px 0 16px; border: 2px solid #1d64d8; border-radius: 18px;
		display: grid; grid-template-columns: 16px auto; grid-template-rows: repeat(3, 2px); row-gap: 4px; column-gap: 7px; align-content: center; align-items: center;
		background: #fff; box-shadow: 0 6px 16px rgba(12, 28, 60, .16);
		opacity: 0; visibility: hidden; transform: translateY(-8px);
		transition: opacity .25s, transform .35s cubic-bezier(.3,1.4,.5,1), visibility 0s .35s;
		cursor: pointer;
	}
	#dfdock-fab i { grid-column: 1; display: block; width: 16px; height: 2px; border-radius: 2px; background: #1d64d8; }
	#dfdock-fab::after { content: "메뉴"; grid-column: 2; grid-row: 1 / -1; font-family: "Pretendard Variable", Pretendard, sans-serif; font-size: 13px; font-weight: 700; letter-spacing: -0.02em; line-height: 1; color: #1d64d8; white-space: nowrap; }
	html.dfdock-burger-mini #dfdock-fab {
		opacity: 1; visibility: visible; transform: none;
		transition: opacity .25s, transform .35s cubic-bezier(.3,1.4,.5,1);
	}
	html.dfdock-burger-mini #dfhd .dfhd-burger { visibility: hidden !important; }
	html.dfdock-m-lock #dfdock-fab, html.dfmm-open #dfdock-fab { opacity: 0 !important; visibility: hidden !important; }

	@keyframes dfdockBurgerPulse {
		0% { box-shadow: 0 4px 12px rgba(29, 100, 216, .3), 0 0 0 0 rgba(29, 100, 216, .45); }
		70% { box-shadow: 0 4px 12px rgba(29, 100, 216, .3), 0 0 0 10px rgba(29, 100, 216, 0); }
		100% { box-shadow: 0 4px 12px rgba(29, 100, 216, .3), 0 0 0 0 rgba(29, 100, 216, 0); }
	}
	/* 버튼은 그대로, 안의 줄 세 개만 좌우로 살짝 줄었다 늘어남 (4초마다, 차례로) */
	#dfhd .dfhd-burger i, #dfdock-fab i { transform-origin: 0 50%; animation: dfdockLine 4s ease-in-out 2s infinite; }
	#dfhd .dfhd-burger i:nth-child(2), #dfdock-fab i:nth-child(2) { animation-delay: 2.12s; }
	#dfhd .dfhd-burger i:nth-child(3), #dfdock-fab i:nth-child(3) { animation-delay: 2.24s; }
	@keyframes dfdockLine {
		0%, 20%, 100% { transform: scaleX(1); }
		8% { transform: scaleX(.55); }
		14% { transform: scaleX(1.1); }
	}
}

/* 1.3.4 홈페이지 상품 전환 바 (맞춤형 ↔ 템플릿 ↔ 비교) */
#dfdock-sw{position:fixed;left:50%;top:90px;z-index:9980;transform:translate(-50%,-14px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s,transform .35s,visibility .35s}
#dfdock-sw.is-show{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
#dfdock-sw .dfdock-sw__in{display:flex;gap:4px;padding:5px;border-radius:999px;background:rgba(255,255,255,.96);border:1px solid #dfe4ec;box-shadow:0 12px 30px -12px rgba(14,42,71,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
#dfdock-sw a{display:flex;align-items:center;gap:6px;padding:9px 18px;border-radius:999px;font-size:14px;font-weight:600;line-height:1;color:#5b6477!important;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
#dfdock-sw a small{font-size:11.5px;font-weight:500;opacity:.75}
#dfdock-sw a:hover{background:#f1f4f9;color:#16203a!important}
#dfdock-sw a.is-on{background:#0b1f44;color:#fff!important}
@media (max-width:1024px){
	#dfdock-sw .dfdock-sw__in{padding:4px;gap:2px}
	#dfdock-sw a{padding:8px 13px;font-size:12.5px}
	#dfdock-sw a small{display:none}
}
