/* Independent contact shortcuts; deliberately below menus, dialogs and toasts. */
.lm-floating-contact {
    position: fixed;
    z-index: 900;
    right: calc(24px + env(safe-area-inset-right, 0px));
    bottom: calc(96px + env(safe-area-inset-bottom, 0px));
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}
.lm-floating-contact__link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    border: 1px solid rgb(255 255 255 / 80%);
    border-radius: 50%;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 5px 18px rgb(41 17 35 / 18%);
    transition: background-color .16s ease;
}
.lm-floating-contact__link--whatsapp { background: #0b805b; }
.lm-floating-contact__link--whatsapp:hover { background: #096b4d; }
.lm-floating-contact__link--email { background: #3b1e33; }
.lm-floating-contact__link--email:hover { background: #542c47; }
.lm-floating-contact__link:hover { color: #fff; text-decoration: none; }
.lm-floating-contact__link:focus-visible { outline: 2px solid #fff; outline-offset: 2px; box-shadow: 0 0 0 5px #3b1e33, 0 5px 18px rgb(41 17 35 / 18%); }
.lm-floating-contact__link > svg { display: block; flex: 0 0 auto; width: 26px; height: 26px; }
.lm-floating-contact .screen-reader-text { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.lm-floating-contact__tooltip {
    position: absolute;
    top: 50%;
    right: calc(100% + 12px);
    width: max-content;
    max-width: calc(100vw - 110px);
    padding: 8px 12px;
    border: 1px solid #e6dbe1;
    border-radius: 6px;
    background: #fff;
    color: #3b1e33;
    font: 600 12px/1.5 var(--lm-sans, Arial, sans-serif);
    text-align: left;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transform: translate(4px, -50%);
    box-shadow: 0 4px 14px rgb(41 17 35 / 10%);
    pointer-events: none;
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}
.lm-floating-contact__tooltip > span { display: block; color: #73616d; font-size: 11px; font-weight: 400; line-height: 1.5; }
.lm-floating-contact__link:is(:hover, :focus) .lm-floating-contact__tooltip { opacity: 1; visibility: visible; transform: translate(0, -50%); }
body.lm-menu-open .lm-floating-contact { display: none; }
@media (max-width: 600px) {
    .lm-floating-contact { right: calc(16px + env(safe-area-inset-right, 0px)); }
    .lm-floating-contact__link { flex-basis: 48px; width: 48px; height: 48px; }
    .lm-floating-contact__link > svg { width: 24px; height: 24px; }
    .lm-floating-contact__tooltip { right: calc(100% + 10px); max-width: calc(100vw - 92px); padding: 7px 10px; }
}
@media (prefers-reduced-motion: reduce) {
    .lm-floating-contact__link,
    .lm-floating-contact__tooltip { transition: none; }
}
