@charset "utf-8";
/* ========================================
   Side Floating Buttons — Premium Edition
   좌측 고정 플로팅 버튼 (PC Only)
   ======================================== */

/* 컨테이너 */
.wz-side-btn {
    position: fixed;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9900;
    display: flex;
    flex-direction: column;
    gap: 0;
    align-items: flex-start;
}

/* 개별 버튼 — 좌측 엣지에 붙는 pill 형태 */
.wz-side-btn__item {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: row;
    gap: 10px;
    height: 48px;
    padding: 0 14px 0 12px;
    background: var(--point-color, #182954);
    color: #fff;
    border: none;
    cursor: pointer;
    text-decoration: none;
    outline: none;
    font-family: var(--site-font, 'Pretendard Variable', sans-serif);
    line-height: 1;
    /* 기본: 아이콘+짧은 탭 → 호버 시 라벨까지 확장 */
    max-width: 44px;
    overflow: hidden;
    white-space: nowrap;
    transition: max-width 0.32s cubic-bezier(0.4, 0, 0.2, 1),
                background 0.25s ease,
                box-shadow 0.25s ease;
    border-radius: 0 24px 24px 0;
    box-shadow: 2px 2px 12px rgba(0, 0, 0, 0.18);
    margin-bottom: 3px;
}

/* 아이콘 */
.wz-side-btn__icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    transition: transform 0.25s ease;
}

/* 라벨 */
.wz-side-btn__label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.03em;
    opacity: 0;
    transform: translateX(-6px);
    transition: opacity 0.2s ease 0.08s, transform 0.2s ease 0.08s;
    pointer-events: none;
}

/* 호버: 가로 확장 + 라벨 표시 */
.wz-side-btn__item:hover {
    max-width: 110px;
    background: var(--txt-point-color, color-mix(in srgb, var(--point-color, #182954) 80%, #fff));
    box-shadow: 3px 3px 18px rgba(0, 0, 0, 0.28);
}

.wz-side-btn__item:hover .wz-side-btn__label {
    opacity: 1;
    transform: translateX(0);
}

.wz-side-btn__item:hover .wz-side-btn__icon {
    transform: scale(1.1);
}

.wz-side-btn__item:active {
    transform: scaleX(0.96);
}

/* TOP 버튼 — 스크롤 위치 기반 */
.wz-side-btn__item--top {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s ease,
                max-width 0.32s cubic-bezier(0.4, 0, 0.2, 1),
                background 0.25s ease,
                box-shadow 0.25s ease;
}
.wz-side-btn__item--top.is-active {
    opacity: 1;
    pointer-events: auto;
}

/* 팝업 버튼 */
.wz-side-btn__item--popup { display: none; }
body.popup-exists .wz-side-btn__item--popup { display: flex; }
body.popup-exists.has-popup .wz-side-btn__item--popup { display: none; }

/* 모바일 숨기기 */
@media all and (max-width: 768px) {
    .wz-side-btn { display: none !important; }
}
