:root {
    --bf-themeRed: #dd1029;
    --bf-themeBlack: #141618;
    --bf-btn-Bfont: 1.1rem;
    --bf-btn-mfont: 1rem;
    --bf-bt-sfont: 0.8rem;
    --bf-shadow: rgba(0, 0, 0, 0.1);
}

body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {
    overflow: hidden;
}

.bf-dialog-big .swal2-popup {
    width: 800px;
    max-width: calc(100vw - 3rem);
}

.bf-dialog-middle .swal2-popup {
    width: 580px;
    max-width: calc(100vw - 3rem);
}

.bf-dialog-alert .swal2-popup {
    width: 400px;
    max-width: calc(100vw - 3rem);
}

.swal2-popup {
    border-radius: 8px;
    border: none;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    font-family: "Segoe UI", "Roboto", -apple-system, BlinkMacSystemFont, "Helvetica", Arial, "PingFang HK", "NotoSansTC", "Noto Sans", Microsoft YaHei, sans-serif;
}

.swal2-title {
    font-size: 1.1rem;
    font-weight: bold;
    color: var(--bf-themeBlack);
    text-align: center;
    margin: 0 2.5rem;
    padding: 1rem 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bf-dialog-alert .swal2-title {
    font-size: 1.25rem;
}

.swal2-close {
    position: absolute;
    top: 0.8rem;
    right: 1rem;
    width: 32px;
    height: 32px;
    padding: 0.2rem;
    color: inherit;
    border: 0;
    cursor: pointer;
    margin: 0;
    outline: 0;
    border-radius: 0;
    vertical-align: middle;
    text-decoration: none;
    background-color: transparent;
    font-size: 0;
    line-height: 0;
    color: transparent;
    text-indent: -9999px;
    overflow: hidden;
}

.swal2-close:hover {
    background-color: rgba(0, 0, 0, 0.05);
    border-radius: 50%;
}

.swal2-close::before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 0h20v20H0z'/%3E%3Cpath d='M3.293 3.293a1 1 0 0 1 1.414 0L10 8.585l5.293-5.292a1 1 0 0 1 1.32-.083l.094.083a1 1 0 0 1 0 1.414L11.415 10l5.292 5.293a1 1 0 0 1 .083 1.32l-.083.094a1 1 0 0 1-1.414 0L10 11.415l-5.293 5.292a1 1 0 0 1-1.32.083l-.094-.083a1 1 0 0 1 0-1.414L8.585 10 3.293 4.707a1 1 0 0 1-.083-1.32z' fill='%23141618' fill-rule='nonzero'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    text-indent: 0;
}

.swal2-close::after {
    display: none !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
}

.swal2-html-container {
    padding: 1.25rem 1rem;
    color: var(--bf-themeBlack);
    line-height: 1.5;
}

.bf-dialog-alert .swal2-html-container {
    padding: 1.25rem 0;
    text-align: center;
}

.swal2-actions {
    padding: 0.5rem 1rem 1rem;
    border-top: none;
    box-shadow: none;
    gap: 0.5rem;
    background-color: transparent;
}

.bf-dialog-alert .swal2-actions {
    border-top: none;
    box-shadow: none;
    padding: 1rem 0 0;
    background-color: transparent;
}

.swal2-styled {
    display: inline-block;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    border-radius: 8px;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    font-weight: 500;
    border: 1px solid transparent;
}

.swal2-styled.swal2-confirm {
    background-color: var(--bf-themeRed);
    color: #fff;
    border-color: var(--bf-themeRed);
    font-size: 1rem;
    height: 40px;
    line-height: 1.2;
    padding: 0 1rem;
}

.swal2-styled.swal2-confirm:hover {
    background-color: #E43745;
    border-color: #E43745;
}

.swal2-styled.swal2-confirm:focus {
    background-color: #B90A24;
    border-color: #D3D3D3;
    box-shadow: none;
}

.swal2-styled.swal2-confirm:active {
    background-color: #B90A24;
    border-color: #B90A24;
}

.swal2-styled.swal2-cancel {
    background-color: #fff;
    color: var(--bf-themeBlack);
    border-color: #BFC2C7;
    font-size: 1rem;
    height: 40px;
    line-height: 1.2;
    padding: 0 1rem;
}

.swal2-styled.swal2-cancel:hover {
    background-color: #F9F9F9;
    border-color: #BFC2C7;
}

.swal2-styled.swal2-cancel:focus {
    background-color: #F3F2F2;
    border-color: #BFC2C7;
    box-shadow: none;
}

.swal2-styled.swal2-cancel:active {
    background-color: #F3F2F2;
    border-color: #BFC2C7;
}

.swal2-styled.swal2-deny {
    background-color: #fff;
    color: var(--bf-themeBlack);
    border-color: var(--bf-themeBlack);
    font-size: 1rem;
    height: 40px;
    line-height: 1.2;
    padding: 0 1rem;
}

.swal2-styled.swal2-deny:hover {
    background-color: #F9F9F9;
    border-color: var(--bf-themeBlack);
}

.swal2-styled.swal2-deny:focus {
    background-color: #F3F2F2;
    border-color: var(--bf-themeBlack);
    box-shadow: none;
}

.swal2-styled.swal2-deny:active {
    background-color: #F3F2F2;
    border-color: var(--bf-themeBlack);
}

.bf-btn-large {
    font-size: 18px;
    height: 48px;
    line-height: 1.5;
}

.bf-btn-medium {
    font-size: 16px;
    height: 40px;
    line-height: 1.2;
}

.bf-btn-small {
    font-size: 14px;
    height: 32px;
    line-height: 1;
}

.bf-btn-secondary {
    background-color: #fff !important;
    color: var(--bf-themeBlack) !important;
    border-color: var(--bf-themeBlack) !important;
}

.bf-btn-secondary:hover {
    background-color: #F9F9F9 !important;
    border-color: var(--bf-themeBlack) !important;
}

.bf-btn-tertiary {
    background-color: #fff !important;
    color: var(--bf-themeBlack) !important;
    border-color: #BFC2C7 !important;
}

.bf-btn-tertiary:hover {
    background-color: #F9F9F9 !important;
    border-color: #BFC2C7 !important;
}

.swal2-container {
    padding: 1.5rem 1.25rem;
}

.swal2-container.swal2-center {
    align-items: center;
}

.swal2-footer {
    padding: 0.5rem 1rem 1rem;
    border-top: 1px solid #f7f7f7;
}

@media only screen and (max-width: 768px) {
    .swal2-container {
        padding: 0;
    }

    .swal2-container.swal2-center {
        align-items: flex-end;
    }

    .swal2-popup {
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 10px 10px 0 0 !important;
        margin: 0 !important;
    }

    .bf-dialog-big .swal2-popup,
    .bf-dialog-middle .swal2-popup,
    .bf-dialog-alert .swal2-popup {
        width: 100% !important;
        max-width: 100% !important;
    }

    .bf-dialog-verify-email.swal2-container .swal2-popup {
        width: 400px !important;
        max-width: calc(100vw - 60px) !important;
        border-radius: 8px !important;
        margin: 0 auto !important;
    }

    .bf-dialog-verify-email.swal2-container.swal2-center {
        align-items: center !important;
    }
}

.bf-dialog-verify-email.swal2-container .swal2-popup {
    width: 400px !important;
    max-width: calc(100vw - 60px);
    border-radius: 8px;
}

.bf-dialog-verify-email.swal2-container .swal2-popup .swal2-actions,
.bf-dialog-verify-email-actions {
    display: flex !important;
    flex-direction: column-reverse !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    padding: 0 30px 30px !important;
    box-sizing: border-box;
    gap: 10px;
    margin: 0 !important;
}

.bf-dialog-verify-email.swal2-container .swal2-popup .swal2-styled,
.bf-dialog-verify-email-actions .swal2-styled {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box;
}

.bf-dialog-review-visibility.swal2-container .swal2-popup {
    width: 340px !important;
    max-width: calc(100vw - 32px) !important;
    border-radius: 8px !important;
    margin: 0 auto !important;
    padding: 0;
    box-sizing: border-box;
}

.bf-dialog-review-visibility.swal2-container.swal2-center {
    align-items: center !important;
}

.bf-dialog-review-visibility.swal2-container .swal2-title {
    font-family: Roboto, Roboto, sans-serif;
    font-weight: bold;
    font-size: 20px;
    color: #141618;
    line-height: 24px;
    text-align: center;
    font-style: normal;
    margin: 0;
    padding: 24px 30px 0;
    box-sizing: border-box;
}

.bf-dialog-review-visibility.swal2-container .swal2-html-container {
    font-family: Roboto, Roboto, sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #000000;
    line-height: 19px;
    text-align: center;
    font-style: normal;
    padding: 16px 30px 0;
    margin: 0;
    box-sizing: border-box;
}

.bf-dialog-review-visibility.swal2-container .swal2-popup .swal2-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 24px 30px 30px !important;
    box-sizing: border-box;
    gap: 10px;
    margin: 0 !important;
}

.bf-dialog-review-visibility.swal2-container .swal2-popup .swal2-styled {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box;
}

.bf-dialog-review-visibility.swal2-container .swal2-popup .swal2-cancel {
    order: 1;
}

.bf-dialog-review-visibility.swal2-container .swal2-popup .swal2-confirm {
    order: 2;
}

.bf-dialog-review-visibility.swal2-container .swal2-popup .swal2-confirm:focus {
    background-color: var(--bf-themeRed);
    border-color: var(--bf-themeRed);
    box-shadow: none;
}

.bf-dialog-review-visibility.swal2-container .swal2-popup .swal2-cancel:focus {
    background-color: #fff;
    border-color: #BFC2C7;
    box-shadow: none;
}

@media only screen and (max-width: 768px) {
    .bf-dialog-review-visibility.swal2-container .swal2-popup {
        width: 340px !important;
        max-width: calc(100vw - 32px) !important;
        border-radius: 8px !important;
        margin: 0 auto !important;
    }

    .bf-dialog-review-visibility.swal2-container.swal2-center {
        align-items: center !important;
    }
}