/* Shared contact controls: one position and one stacking order on every page. */
.site-contact {
    --contact-clearance: 0px;
    position: fixed;
    right: max(18px, env(safe-area-inset-right, 0px));
    bottom: calc(var(--contact-clearance) + 20px + env(safe-area-inset-bottom, 0px));
    z-index: 900;
    font-family: 'poppins-regular', sans-serif;
}
.site-contact[hidden], .site-contact [hidden] { display: none !important; }
.site-contact-actions { display: flex; flex-direction: column; gap: 8px; padding: 7px; border: 1px solid #e4e9ee; border-radius: 32px; background: #fff; box-shadow: 0 5px 24px rgba(25,45,65,.12); }
.site-contact-action, .site-contact-toggle { position: relative; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: #f3f6f9; color: #20354d; cursor: pointer; text-decoration: none; }
.site-contact-action i { font-size: 23px; }
.site-contact-chat { background: #20354d; color: #fff; }
.site-contact-whatsapp { color: #138b47; background: #eaf8ef; }
.site-contact-top i { font-size: 28px; }
.site-contact-action:hover, .site-contact-action:focus-visible { background: #edf1f5; color: #20354d; }
.site-contact-chat:hover, .site-contact-chat:focus-visible { background: #ee7e16; color: #fff; }
.site-contact-whatsapp:hover, .site-contact-whatsapp:focus-visible { background: #d8f2e1; color: #0d7138; }
.site-contact :is(a, button):focus-visible { outline: 3px solid #ee7e16; outline-offset: 3px; }
.site-contact-action span { position: absolute; right: calc(100% + 16px); top: 50%; transform: translateY(-50%); padding: 8px 12px; background: #20354d; color: #fff; font-size: 12px; line-height: 1.5; white-space: nowrap; border-radius: 5px; opacity: 0; visibility: hidden; pointer-events: none; }
.site-contact-action:hover span, .site-contact-action:focus-visible span { opacity: 1; visibility: visible; }
.site-contact-toggle { display: none; }
.site-contact-chat.has-unread::after { content: ''; position: absolute; top: 1px; right: 1px; width: 9px; height: 9px; background: #ee7e16; border: 2px solid #fff; border-radius: 50%; }
.site-chat-open .site-contact, .site-chat-open [data-floating-obstacle], .mobile-nav-active .site-contact, body:has(dialog[open]) .site-contact { visibility: hidden; pointer-events: none; }
@media (max-width: 767px) {
    .site-contact { right: max(14px, env(safe-area-inset-right, 0px)); bottom: calc(var(--contact-clearance) + 12px + env(safe-area-inset-bottom, 0px)); }
    .site-contact-toggle { display: flex; width: 48px; height: 48px; background: #20354d; color: #fff; border: 2px solid #fff; box-shadow: 0 3px 14px rgba(25,45,65,.18); }
    .site-contact-toggle i { font-size: 23px; }
    .site-contact-toggle .fa-times { display: none; font-size: 18px; }
    .site-contact.is-expanded .site-contact-toggle .fa-comments-o { display: none; }
    .site-contact.is-expanded .site-contact-toggle .fa-times { display: block; }
    .site-contact-actions { display: none; position: absolute; right: 0; bottom: calc(100% + 12px); width: 184px; padding: 8px; gap: 4px; border-radius: 12px; }
    .site-contact.is-expanded .site-contact-actions { display: flex; }
    .site-contact-action { justify-content: flex-start; gap: 12px; width: 100%; min-height: 44px; padding: 0 12px; border-radius: 6px; }
    .site-contact-action i { width: 24px; text-align: center; flex-shrink: 0; }
    .site-contact-action span { position: static; transform: none; padding: 0; background: none; color: inherit; font-size: 12px; opacity: 1; visibility: visible; }
}
