.hwi-lock { overflow: hidden !important; }
.hwi-overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    inset: 0;
    z-index: 12050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(8, 29, 52, .68);
    backdrop-filter: blur(5px);
}
.hwi-overlay[hidden] { display: none !important; }
.hwi-dialog {
    position: relative;
    width: min(760px, 100%);
    max-height: min(82vh, 760px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(25, 77, 112, .16);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(3, 25, 48, .28);
}
.hwi-header {
    flex: 0 0 auto;
    padding: 28px 72px 20px 32px;
    border-bottom: 1px solid #e5edf3;
    background: #f6f9fb;
}
.hwi-kicker {
    margin: 0 0 7px;
    color: #b77a17;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.hwi-title { margin: 0; color: #0b3762; font-size: 28px; line-height: 1.3; }
.hwi-close {
    position: absolute;
    top: 19px;
    right: 20px;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #e9f0f5;
    color: #244a6b;
    font-size: 25px;
    line-height: 38px;
    cursor: pointer;
}
.hwi-content {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 26px 32px 10px;
    color: #333;
    font-family: Helvetica, Arial, "Microsoft YaHei", sans-serif;
    font-size: 14px;
    line-height: 1.4;
    overflow-wrap: break-word;
}
.hwi-content img, .hwi-content video { max-width: 100%; height: auto; }
.hwi-content table { max-width: 100%; }
.hwi-footer { flex: 0 0 auto; padding: 18px 32px 26px; }
.hwi-confirm {
    min-width: 150px;
    min-height: 44px;
    padding: 10px 28px;
    border: 0;
    border-radius: 8px;
    background: #0b568c;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}
.hwi-confirm:hover { background: #084873; }

@media (max-width: 767px) {
    .hwi-overlay { align-items: flex-end; padding: 12px; }
    .hwi-dialog { max-height: 88vh; border-radius: 16px; }
    .hwi-header { padding: 22px 58px 16px 20px; }
    .hwi-title { font-size: 22px; }
    .hwi-close { top: 14px; right: 14px; }
    .hwi-content { padding: 20px 20px 6px; }
    .hwi-footer { padding: 14px 20px 20px; }
    .hwi-confirm { width: 100%; }
}
