/* 오른쪽 중앙 따라다니는 심플 빠른 메뉴: 상담신청·전화·카카오톡 + 맨 위로(TOP) */
.sw-float{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:var(--sw-z-float);display:flex;flex-direction:column;align-items:center;gap:8px}
.sw-float__stack{display:flex;flex-direction:column;gap:8px;padding:8px;border-radius:var(--sw-radius-pill);background:var(--sw-surface);box-shadow:var(--sw-shadow-md);transition:opacity .25s,visibility .25s}
.sw-float.is-hidden .sw-float__stack{opacity:0;visibility:hidden;pointer-events:none}
.sw-fbtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:58px;height:58px;border-radius:50%;border:0;padding:0;font:inherit;font-size:14px;font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer;transition:transform .2s,background .2s}
.sw-fbtn svg{width:22px;height:22px}
.sw-fbtn:hover{transform:translateY(-2px)}
.sw-fbtn--consult{background:var(--sw-orange-600);color:var(--sw-text-on-dark)}
.sw-fbtn--tel{background:var(--sw-orange-600);color:var(--sw-text-on-dark)}
.sw-fbtn--kakao{background:var(--sw-kakao);color:var(--sw-black)}
.sw-fbtn--kakao svg{color:var(--sw-danger)}
.sw-fbtn--top{width:46px;height:46px;background:var(--sw-orange-600);color:var(--sw-text-on-dark);box-shadow:var(--sw-shadow-md);font-size:14px;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .2s}
.sw-fbtn--top svg{width:18px;height:18px}
.sw-float.show-top .sw-fbtn--top{opacity:1;visibility:visible}
@media(max-width:760px){.sw-float{right:10px;top:auto;bottom:14px;transform:none}.sw-fbtn{width:50px;height:50px;font-size:14px}.sw-fbtn svg{width:20px;height:20px}.sw-fbtn--top{width:42px;height:42px}}

/* 전화문의 팝업 */
.sw-tel{position:fixed;inset:0;z-index:var(--sw-z-modal-over);display:none;align-items:center;justify-content:center;padding:24px;background:rgba(16,38,63,.55)}
.sw-tel.is-open{display:flex}
.sw-tel__box{position:relative;width:min(380px,100%);padding:32px 32px 32px;border-radius:var(--sw-radius-lg);background:var(--sw-surface);text-align:center;box-shadow:var(--sw-shadow-lg)}
.sw-tel__x{position:absolute;top:10px;right:12px;width:34px;height:34px;border:0;border-radius:50%;background:none;font-size:20px;line-height:1;color:var(--sw-text-muted);cursor:pointer}
.sw-tel__badge{display:inline-block;padding:4px 16px;border-radius:var(--sw-radius-pill);background:var(--sw-orange-50);color:var(--sw-orange-600);font-size:14px;font-weight:700}
.sw-tel__title{margin:16px 0 8px;font-size:20px;font-weight:800;color:var(--sw-navy-900);line-height:1.2}
.sw-tel__sub{margin:0 0 24px;font-size:16px;color:var(--sw-text-muted)}
.sw-tel__num{display:block;padding:16px;border-radius:var(--sw-radius-md);background:var(--sw-orange-600);color:var(--sw-text-on-dark);font-size:32px;font-weight:800;letter-spacing:-.02em;text-decoration:none}
.sw-tel__num:hover{background:var(--sw-orange-700)}
.sw-tel__hint{margin:16px 0 0;font-size:14px;color:var(--sw-text-muted)}
/* 전화 팝업 가독성 */
.sw-tel__box{width:min(460px,100%);padding:48px 32px 32px}
.sw-tel__badge{font-size:16px;padding:8px 16px}
.sw-tel__title{font-size:32px;margin:16px 0 8px}
.sw-tel__sub{font-size:20px;margin-bottom:24px;color:var(--sw-navy-700)}
.sw-tel__num{font-size:48px;padding:24px 16px;border-radius:var(--sw-radius-lg)}
.sw-tel__x{width:44px;height:44px;font-size:32px;color:var(--sw-text-muted)}
@media(max-width:560px){.sw-tel__title{font-size:32px}.sw-tel__sub{font-size:18px}.sw-tel__num{font-size:32px}}
/* PC에서는 번호만 표시 (전화 연결 없음) */
.sw-tel__num.is-static{cursor:default;user-select:text}
.sw-tel__num.is-static:hover{background:var(--sw-orange-600)}

/* 사이드 아이콘: 데스크톱·모바일 모두 항상 화면 세로 중앙. TOP 버튼은 묶음 아래에 따로 붙여 중앙 위치가 흔들리지 않게 함 */
.sw-float,
.sw-float{top:50%;bottom:auto;transform:translateY(-50%)}
.sw-float .sw-fbtn--top{position:absolute;top:100%;left:50%;margin:8px 0 0 -24px}
@media(max-width:760px){
  .sw-float{right:10px;top:50%;bottom:auto;transform:translateY(-50%)}
  .sw-float .sw-fbtn--top{margin:8px 0 0 -24px}
}

/* 모바일: 평소엔 오른쪽 가장자리 손잡이만 보이고, 누르면 상담·전화·카톡 아이콘이 펼쳐짐 (본문을 가리지 않도록) */
.sw-float__handle{display:none}
@media(max-width:760px){
  .sw-float{right:0;top:50%;bottom:auto;transform:translateY(-50%);display:block}
  .sw-float__handle{display:flex;align-items:center;justify-content:center;width:26px;height:64px;padding:0;border:0;border-radius:12px 0 0 12px;background:var(--sw-orange-600);color:var(--sw-text-on-dark);box-shadow:var(--sw-shadow-md);cursor:pointer;transition:opacity .2s,visibility .2s}
  .sw-float__handle svg{width:16px;height:16px;transition:transform .25s}
  .sw-float.is-open .sw-float__handle{opacity:0;visibility:hidden;pointer-events:none}
  .sw-float .sw-float__stack{position:absolute;right:10px;top:50%;transform:translate(130%,-50%);opacity:0;visibility:hidden;pointer-events:none;transition:transform .3s ease,opacity .25s,visibility .25s}
  .sw-float.is-open .sw-float__stack{transform:translate(0,-50%);opacity:1;visibility:visible;pointer-events:auto}
  .sw-float.is-hidden .sw-float__handle{opacity:0;visibility:hidden;pointer-events:none}
  .sw-float:not(.is-open) .sw-fbtn--top{opacity:0;visibility:hidden;pointer-events:none}
  .sw-float .sw-fbtn--top{position:absolute;top:140px;left:auto;right:14px;margin:0}
}
