/* Haivenu Dual Floating Phone Buttons v1.0.1 - isolated, no JavaScript. */
.hvpb-widget {
    box-sizing: border-box;
    position: fixed;
    z-index: 9997;
    bottom: calc(var(--hvpb-bottom-offset, 24px) + env(safe-area-inset-bottom, 0px));
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    pointer-events: none;
    font-family: inherit;
}
.hvpb-widget--left { left: max(16px, env(safe-area-inset-left, 0px)); }
.hvpb-widget--right { right: max(16px, env(safe-area-inset-right, 0px)); align-items: flex-end; }
.hvpb-widget *, .hvpb-widget *::before, .hvpb-widget *::after { box-sizing: border-box; }
.hvpb-widget .hvpb-button,
.hvpb-widget .hvpb-button:visited {
    display: flex;
    align-items: center;
    gap: 10px;
    width: auto;
    min-width: 176px;
    min-height: 52px;
    padding: 8px 13px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 16px;
    background: #173c54;
    box-shadow: 0 7px 21px rgba(16, 31, 40, 0.24);
    color: #fff;
    text-decoration: none;
    text-align: left;
    line-height: 1.25;
    pointer-events: auto;
    cursor: pointer;
    transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}
.hvpb-widget .hvpb-button--vn,
.hvpb-widget .hvpb-button--vn:visited { background: #763b32; }
.hvpb-widget .hvpb-button:hover,
.hvpb-widget .hvpb-button:focus-visible { transform: translateY(-2px); box-shadow: 0 11px 28px rgba(16, 31, 40, 0.30); background: #245977; color: #fff; }
.hvpb-widget .hvpb-button--vn:hover,
.hvpb-widget .hvpb-button--vn:focus-visible { background: #925044; }
.hvpb-widget .hvpb-button:focus-visible { outline: 3px solid #e4bb76; outline-offset: 3px; }
.hvpb-widget .hvpb-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.13);
    color: #f7e4bc;
}
.hvpb-widget .hvpb-icon svg { display: block; width: 20px; height: 20px; }
.hvpb-widget .hvpb-info { display: flex; min-width: 0; align-items: center; }
.hvpb-widget .hvpb-office { font-size: 13px; font-weight: 700; color: #fff; letter-spacing: 0.015em; white-space: nowrap; }
.hvpb-widget .hvpb-flag { margin-right: 3px; font-size: 14px; }
@media (max-width: 640px) {
    .hvpb-widget { gap: 8px; }
    .hvpb-widget--left { left: max(12px, env(safe-area-inset-left, 0px)); }
    .hvpb-widget--right { right: max(12px, env(safe-area-inset-right, 0px)); }
    .hvpb-widget .hvpb-button,
    .hvpb-widget .hvpb-button:visited { width: auto; min-width: 166px; max-width: calc(100vw - 24px); min-height: 48px; padding: 7px 11px; gap: 9px; border-radius: 14px; }
    .hvpb-widget .hvpb-icon { width: 32px; height: 32px; flex-basis: 32px; border-radius: 10px; }
    .hvpb-widget .hvpb-icon svg { width: 18px; height: 18px; }
    .hvpb-widget .hvpb-office { font-size: 12px; }
    .hvpb-widget--hide-mobile { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .hvpb-widget .hvpb-button { transition: none; }
}
@media print { .hvpb-widget { display: none !important; } }
