.right_fix_menu.edge-contact-sidebar ul.fix_menu { max-height: 100vh; max-height: 100dvh; overflow-y: auto; scrollbar-width: thin; padding-bottom: 56px; }
.edge-contact-sidebar .edge-contact-button { display: block; width: 100%; border: 0; padding: 0; background: transparent; color: #666; font: inherit; cursor: pointer; }
.edge-contact-sidebar .edge-contact-button i { font-size: 26px; }
.edge-contact-sidebar .edge-contact-button:hover { color: #e04641; }
.edge-contact-floating { display: none; }
.edge-contact-dialog { width: min(400px, calc(100% - 24px)); max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); margin: auto; padding: 16px; border: 1px solid #ddd; border-radius: 4px; background: #fff; color: #222; box-sizing: border-box; overflow: auto; }
.edge-contact-dialog::backdrop { background: rgb(0 0 0 / 55%); }
.edge-contact-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.edge-contact-dialog h2 { font-size: 20px; line-height: 1.4; margin: 0; }
.edge-contact-dialog__close { width: 44px; height: 44px; flex: 0 0 44px; border: 0; background: transparent; color: #333; font-size: 24px; cursor: pointer; }
.edge-contact-dialog__qr { display: block; width: 100%; height: auto; max-height: calc(100vh - 150px); max-height: calc(100dvh - 150px); object-fit: contain; margin: 8px auto; }
.edge-contact-dialog__download { display: flex; min-height: 44px; align-items: center; justify-content: center; gap: 6px; border: 1px solid #ddd; color: #333; font-size: 14px; text-decoration: none; }
.edge-contact-dialog[data-contact-qr="line"] .edge-contact-dialog__qr { max-width: 250px; }
#mobile_footer_menu .edge-contact-button { display: inline-block; border: 0; padding: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; }
#mobile_footer_menu .edge-contact-button > i { color: #e04641; }
@media screen and (max-width: 1250px) {
    .edge-contact-floating { position: fixed; z-index: 90999; right: max(10px, env(safe-area-inset-right)); bottom: calc(120px + env(safe-area-inset-bottom)); display: flex; flex-direction: column; align-items: flex-end; gap: 6px; width: 60px; max-height: calc(100vh - 210px); max-height: calc(100dvh - 210px); overflow-y: auto; scrollbar-width: thin; }
    .edge-contact-floating .fixed_quick { position: static; flex: 0 0 auto; }
    .edge-contact-floating .fixed_quick > ul { display: flex; flex-direction: column; gap: 4px; }
    .edge-contact-floating .quick { min-height: 44px; height: 44px; line-height: 44px; margin-top: 0; }
    .edge-contact-actions { display: flex; flex: 0 0 auto; flex-direction: column; align-items: flex-end; gap: 6px; }
    .edge-contact-actions .edge-contact-button { display: flex; width: 44px; height: 44px; align-items: center; justify-content: center; box-sizing: border-box; border: 1px solid #e04641; border-radius: 50% 0 50% 50%; background: #e04641; color: #fff; cursor: pointer; text-decoration: none; font-size: 25px; }
    .edge-contact-actions .edge-contact-button:hover { background: #cf3530; }
    .edge-contact-floating :focus-visible, .edge-contact-dialog :focus-visible, .edge-contact-sidebar .edge-contact-button:focus-visible { outline: 2px solid #222; outline-offset: -2px; }
}
