/******************************************************
| 퀵바 오른쪽 
*******************************************************/
:root {
    --quick-bar-right-width: 100px;
    --quick-bar-color: #2e3542;
}
.quick-bar-right {
    display: none;
    overflow: hidden;
    z-index: 998;
    position: fixed;
    top: 50%;
    right: 0;
    width: var(--quick-bar-right-width);
    border-radius: var(--border-radius-default) 0 0 var(--border-radius-default);
    background-color: #fff;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    box-shadow: 1px 1px 13px rgba(47, 47, 47, 0.14);
    transform: translateY(-50%);
}

.consult-box {width: inherit;}
.consult-menu {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: inherit;
    aspect-ratio: 1/0.9;
}
.consult-menu strong {
    font-family: "Montserrat", serif;
    font-size: var(--font-size-default);
    font-weight: var(--font-weight-extra-bold);
    color: var(--quick-bar-color);
    line-height: var(--line-height-1);
}
.consult-menu-link {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--gap-10);
    width: inherit;
    height: 100%;
    padding: 15px 0;
    letter-spacing: 0;
}
.consult-menu:first-child .consult-menu-link {gap: var(--gap-5);}
.consult-menu:not(.menu-kakao, .menu-self) .consult-menu-link::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: calc(100% - 30px);
    height: 1px;
    box-shadow: 0 1px rgba(221, 221, 221, 1);
    transform: translateX(-50%);
    content: '';
}
.consult-menu:nth-child(2) .menu-icon::before {content: url('/img/header/icon_menu_1.webp');}
.consult-menu:nth-child(3) .menu-icon::before {content: url('/img/header/icon_menu_2.webp');}
.consult-menu:nth-child(4) .menu-icon::before {content: url('/img/header/icon_menu_3.webp');}

.top-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    aspect-ratio: 1/0.4;
    background-color: var(--quick-bar-color);
    font-weight: var(--font-weight-bold);
    color: #fff;
}
@media screen and (max-width: 1100px) {
    :root {
        --quick-bar-right-width: 100%;
        --quick-bar-color: #2e3542;
    }
    .quick-bar-right {
        display: block;
        overflow: visible;
        top: auto;
        right: auto;
        bottom: 0;
        left: 50%;
        width: var(--quick-bar-right-width);
        border-radius: 0;
        font-size: var(--font-size-sm);
        transform: translateX(-50%);
    }
    .consult-box {
        z-index: 1100;
        position: absolute;
        bottom: 0;
        left: 0;
        display: flex;
        background-color: #fff;
        box-shadow: 0 -5px 10px rgba(0, 0, 0, 0.05);
    }

    /* 메뉴 설정 */
    .consult-menu {
        height: var(--header-height);

        &.menu-self {display: none;}

        /* 카톡상담 메뉴 별도 설정 (반응형) */
        &.menu-kakao {
            --menu-kakao-w: clamp(69px, 15.625vw, 75px);
            --menu-kakao-bg-color: #FEE500;

            overflow: hidden;
            z-index: -1;
            position: fixed;
            right: calc(var(--header-padding-base) + 10px);
            bottom: calc(var(--header-height) + 70px);
            width: var(--menu-kakao-w);
            height: var(--menu-kakao-w);
            padding: 0;
            background-color: var(--menu-kakao-bg-color);
            border-radius: 50%;
            transform: translateY(50px);
            transition: transform 1s ease;

            &.scrolled {
                transform: translateY(0);
            }

            & .consult-menu-link {
                gap: 0;
                padding: 0;
            }
            & .menu-icon {
                
                &::before {
                    content: url('/img/common/icon-kakaotalk.webp');
                    display: block;
                    transform: scale(0.1);
                }
            }
            &:hover .menu-icon::before {
                content: url('/img/common/icon_quick_kakao_w.webp');
            }
            & .txt-kakao {
                p {display: none;}
                &::after {display: none;}
            }
        }
    }
    .consult-menu:not(.menu-request, .menu-kakao) {position: relative;}
    .consult-menu:not(.menu-request, .menu-kakao)::after {
        position: absolute;
        top: 50%;
        right: 0;
        width: 1px;
        height: 55%;
        background-color: #eee;
        box-shadow: 0 1px rgba(221, 221, 221, 1);
        transform: translateY(-50%);
        content: '';
    }

    /* 메뉴 anchor 부분 */
    .consult-menu-link {flex-direction: row;}
    .consult-menu:not(.menu-request, .menu-kakao) .consult-menu-link::after {content: none;}
    
    .consult-menu strong {
        transform: scale(0.8);
        content: url('/img/header/icon_menu_tel_b.webp');
    }

    /* 메뉴 아이콘 부분 */
    /* .consult-menu:nth-child(2):hover .menu-icon::before {content: url('/img/header/icon_menu_1_w.webp');} */
    .consult-menu:nth-child(3):hover .menu-icon::before {content: url('/img/header/icon_menu_2_w.webp');}
    .consult-menu:nth-child(4):hover .menu-icon::before {content: url('/img/header/icon_menu_3_w.webp');}

    /* 하단 퀵바 메뉴 글자 설정 */
    .consult-menu :where(.txt-tel, .txt-kakao, .txt-request, .txt-forgiveness) p {
        display: none;
    }
    .consult-menu .txt-tel::after,
    .consult-menu .txt-kakao::after,
    .consult-menu .txt-request::after,
    .consult-menu .txt-forgiveness::after {
        font-size: var(--font-size-default);
        color: var(--color-black-01);
    }
    .consult-menu .txt-tel::after {content: '전화상담/예약';}
    .consult-menu .txt-kakao::after {content: '카톡상담';}
    .consult-menu .txt-request::after {content: '온라인상담';}
    .consult-menu .txt-forgiveness::after {content: '탕감률 확인';}

    /* hover 시 */
    .consult-menu:hover {background-color: var(--color-blue-07);}
    .consult-menu:hover::after {display: none;}
    .consult-menu:hover strong {content: url('/img/header/icon_menu_tel_w.webp');}
    
    .consult-menu:hover .txt-tel::after,
    .consult-menu:hover .txt-kakao::after,
    .consult-menu:hover .txt-request::after, 
    .consult-menu:hover .txt-forgiveness::after 
    {color: #fff;}


    /* 탑 버튼 */
    .top-btn {
        position: absolute;
        right: calc(var(--header-padding-base) + 10px);
        bottom: 0;
        width: fit-content;
        aspect-ratio: 1/0.4;
        padding: 10px 15px;
        border-radius: var(--border-radius-default);
        background-color: var(--quick-bar-color);
        font-weight: var(--font-weight-bold);
        color: #fff;
        transition: bottom 1s ease;
    }
    .top-btn.scrolled {
        bottom: calc(var(--header-height) + 20px);
    }
}
@media screen and (max-width: 400px) {
    .consult-menu {
        padding-bottom: 15px;
    }
    .consult-menu:first-child .consult-menu-link {gap: 2px;}
    .consult-menu-link {
        gap: 4px;

        &.request::after {display: none;}
    }
    .consult-menu strong {transform: scale(0.6);}
    .consult-menu:where(.menu-request, .menu-forgiveness) .menu-icon {transform: scale(0.7) translateY(1px);}

    .consult-menu .txt-tel::after,
    .consult-menu .txt-kakao::after,
    .consult-menu .txt-request::after,
    .consult-menu .txt-forgiveness::after {
        font-size: 12px;
    }
    .consult-menu .txt-tel::after {
        position: relative;
        left: -0.25rem;
    }
}


/******************************************************
| 퀵바 하단
*******************************************************/
:root {
    --quick-bar-bottom-height: 70px;
    --quick-bar-bottom-btn-width: 118px;
}
.quick-bar-bottom {
    z-index: 100;
    position: fixed;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--gap-20);
    width: 100%;
    height: var(--quick-bar-bottom-height);
    font-size: var(--font-size-lg-s);
    font-weight: var(--font-weight-bold);
}
.quick-bar-bottom::before {
    opacity: 0.8;
    z-index: -1;
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: var(--color-blue-04);
    content: '';
}
.quick-bar-bottom-btn {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    width: var(--quick-bar-bottom-btn-width);
    aspect-ratio: 1/0.339;
    border-radius: var(--border-radius-20);
    background-color: #fff;
    box-shadow: 0 0 16px var(--color-blue-02);
    font-size: var(--font-size-default);
    font-weight: var(--font-weight-extra-bold);
    filter: contrast(2);
}