@charset "UTF-8";

/* Custom Alert Popup */
.custom_popup_overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.45);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.custom_popup_overlay.active {
    opacity: 1;
}

.custom_popup {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
    min-width: 320px;
    max-width: 420px;
    width: 90%;
    transform: translateY(20px) scale(0.97);
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
    overflow: hidden;
}

.custom_popup_overlay.active .custom_popup {
    transform: translateY(0) scale(1);
}

.custom_popup_icon {
    display: flex;
    justify-content: center;
    padding: 28px 0 0;
}

.custom_popup_icon svg {
    width: 48px;
    height: 48px;
}

.custom_popup_body {
    padding: 16px 28px 8px;
    text-align: center;
}

.custom_popup_msg {
    font-family: var(--font-st2, 'Pretendard', sans-serif);
    font-size: 15px;
    font-weight: 500;
    color: #333;
    line-height: 1.6;
    word-break: keep-all;
    white-space: pre-line;
}

.custom_popup_footer {
    padding: 16px 28px 24px;
    display: flex;
    gap: 8px;
    justify-content: center;
}

.custom_popup_btn {
    font-family: var(--font-st2, 'Pretendard', sans-serif);
    min-width: 120px;
    height: 44px;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.1s ease;
}

.custom_popup_btn:active {
    transform: scale(0.97);
}

.custom_popup_btn.btn_ok {
    background: var(--primary-solid-bg, #c41816);
    color: #fff;
}

.custom_popup_btn.btn_ok:hover {
    background: #a81412;
}

.custom_popup_btn.btn_cancel {
    background: #f0f0f0;
    color: #555;
}

.custom_popup_btn.btn_cancel:hover {
    background: #e0e0e0;
}

/* Confirm 타입 */
/* .custom_popup_overlay.type_confirm .custom_popup_btn.btn_ok {
    min-width: 100px;
} */

/* 아이콘 색상 */
.custom_popup_icon .icon_info {
    color: var(--primary-solid-bg, #c41816);
}

.custom_popup_icon .icon_success {
    color: var(--limeGreen, #00a550);
}

.custom_popup_icon .icon_error {
    color: var(--delete, #ff5962);
}

.custom_popup_icon .icon_warning {
    color: var(--yellow, #f9ad0a);
}

.custom_popup_icon .icon_confirm {
    color: var(--blue, #154a8f);
}

/* 모바일 대응 */
@media (max-width: 480px) {
    .custom_popup {
        min-width: auto;
        width: calc(100% - 40px);
        margin: 0 20px;
    }

    .custom_popup_body {
        padding: 16px 20px 8px;
    }

    .custom_popup_footer {
        padding: 16px 20px 20px;
    }

    .custom_popup_btn {
        flex: 1;
        min-width: auto;
    }
}
