#vwh-chat-gate[hidden],
#vwh-chat-gate [hidden] { display: none !important; }
#vwh-chat-gate { font-family: inherit; }
#vwh-chat-launcher {
    position: fixed; right: 20px; bottom: 20px; z-index: 2147482999;
    display: flex; align-items: center; justify-content: center;
    width: 60px; height: 60px; padding: 16px; border: 0; border-radius: 50%;
    background: #1f74c9; color: #fff; cursor: pointer;
}
#vwh-chat-gate .whv-chat-login {
    position: fixed; right: 20px; bottom: 94px; z-index: 2147483000;
    width: min(420px, calc(100% - 40px)); max-height: calc(100dvh - 120px);
    overflow-y: auto; background: linear-gradient(180deg,#2b8de0,#1f74c9);
    border-radius: 28px; padding: 30px 22px 26px; color: #fff;
    text-align: center; font-family: inherit; box-sizing: border-box;
}
#vwh-chat-gate .whv-logo {
    width: 72px; height: 72px; border-radius: 50%; background: #fff;
    margin: 0 auto; display: flex; align-items: center; justify-content: center;
}
#vwh-chat-gate .whv-logo img { width: 50px; height: auto; display: block; }
#vwh-chat-gate h2 {
    font: inherit; font-size: 20px; font-weight: 700; margin: 20px 10px 22px;
    line-height: 1.35; color: #fff; text-transform: none; letter-spacing: normal;
}
#vwh-chat-gate .whv-login-btn {
    display: block; background: #fff; color: #1f74c9; font-weight: 800;
    font-size: 17px; line-height: 1.35; padding: 14px; border-radius: 30px;
    margin: 0 20px; text-decoration: none; text-transform: none; letter-spacing: normal;
}
#vwh-chat-gate .whv-login-btn:hover { background: #f0f6ff; }
#vwh-chat-gate .whv-new { font-size: 13px; line-height: 1.5; margin-top: 12px; color: #fff; }
#vwh-chat-gate .whv-new a { color: #fff; font-weight: 600; text-decoration: underline; }
#vwh-chat-close {
    position: absolute; top: 14px; right: 14px; width: 36px; height: 36px;
    display: flex; align-items: center; justify-content: center; padding: 0;
    border: 0; border-radius: 50%; background: rgb(255 255 255 / 24%);
    color: #fff; font: inherit; font-size: 30px; font-weight: 400;
    line-height: 1; cursor: pointer;
}
#vwh-chat-gate button:focus-visible,
#vwh-chat-gate a:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
#vwh-chat-launcher:focus-visible { outline-color: #1f74c9 !important; }
@media (max-width: 480px) {
    #vwh-chat-launcher { right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); }
    #vwh-chat-gate .whv-chat-login {
        right: 12px; bottom: max(86px, calc(env(safe-area-inset-bottom) + 74px));
        width: calc(100% - 24px); max-height: calc(100dvh - 110px);
    }
    #vwh-chat-gate .whv-login-btn { margin: 0; }
}
