/* 食安知识模块统一提示/确认弹窗，替代浏览器原生 alert / confirm */
.fk-dialog-mask {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 20000000;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
    background: rgba(31, 40, 55, .54);
}

.fk-dialog-mask.is-open { display: flex; }

.fk-dialog {
    width: 450px;
    max-width: 100%;
    overflow: hidden;
    border: 1px solid #ead5de;
    border-radius: 15px;
    background: #fff9fc;
    box-shadow: 0 18px 55px rgba(60, 24, 39, .25);
    color: #351422;
    animation: fk-dialog-in .16s ease-out;
}

.fk-dialog-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 52px;
    padding: 0 20px 0 20px;
    box-sizing: border-box;
    background: #fff9fc;
}

.fk-dialog-head span {
    font-size: 16px;
    font-weight: 500;
    color: #3d1727;
}

.fk-dialog-close {
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #9d7785;
    font-size: 24px;
    line-height: 26px;
    cursor: pointer;
}

.fk-dialog-close:hover,
.fk-dialog-close:focus-visible { background: #f7e7ed; color: #6f293f; outline: none; }

.fk-dialog-body { padding: 0 20px 20px; }

.fk-dialog-body p {
    min-height: 24px;
    margin: 0;
    white-space: pre-line;
    color: #351422;
    font-size: 14px;
    line-height: 24px;
    word-break: break-word;
}

.fk-dialog-foot {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 0 20px 18px;
}

.fk-dialog-btn {
    min-width: 74px;
    height: 38px;
    padding: 0 18px;
    border-radius: 20px;
    font-size: 14px;
    line-height: 36px;
    cursor: pointer;
    transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
}

.fk-dialog-btn:hover { transform: translateY(-1px); }
.fk-dialog-btn:focus-visible { outline: 2px solid rgba(143, 64, 84, .35); outline-offset: 2px; }

.fk-dialog-btn-cancel {
    border: 1px solid #f4cbd8;
    background: #ffd5df;
    color: #7c3149;
}

.fk-dialog-btn-confirm {
    border: 1px solid #8f4054;
    background: #8f4054;
    color: #fff;
    box-shadow: 0 4px 10px rgba(143, 64, 84, .22);
}

@keyframes fk-dialog-in {
    from { opacity: 0; transform: translateY(6px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 600px) {
    .fk-dialog { border-radius: 13px; }
    .fk-dialog-head { min-height: 48px; padding-left: 16px; padding-right: 16px; }
    .fk-dialog-body { padding: 0 16px 18px; }
    .fk-dialog-foot { padding: 0 16px 16px; }
}
