.contact-dock { --contact-dock-qr-text: #0d4f89; --contact-dock-toggle-text: var(--pf-accent, #0d6f9d); position: fixed; z-index: 80; right: 0; bottom: 24px; color: var(--pf-text, #173746); font: inherit; }
.contact-dock__toggle { display: none; }
.contact-dock__panel { display: flex; flex-direction: column; width: 68px; gap: 6px; padding: 7px; border: 1px solid var(--pf-line, #d7e4eb); border-right: 0; border-radius: 14px 0 0 14px; background: var(--pf-surface, #fff); box-shadow: 0 12px 32px rgb(23 55 70 / .14); }
.contact-dock__channel { display: grid; gap: 4px; min-width: 0; padding: 3px 0; text-align: center; }
.contact-dock__channel > h2 { display: none; }
.contact-dock__qr-link, .contact-dock__whatsapp { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; border: 1px solid var(--pf-line, #d7e4eb); border-radius: 9px; color: var(--contact-dock-qr-text); background: #fff; font-size: .72rem; font-weight: 700; text-decoration: none; }
.contact-dock__qr-link:focus-visible, .contact-dock__whatsapp:focus-visible, .contact-dock__toggle:focus-visible, .contact-dock__dialog a:focus-visible, .contact-dock__dialog button:focus-visible { outline: 3px solid rgb(13 111 157 / .35); outline-offset: 2px; }
.contact-dock__whatsapp { background: #eaf8f1; color: #087d62; }
.contact-dock__channel small { display: block; max-width: 180px; margin: 3px auto 0; font-size: .68rem; line-height: 1.35; color: var(--pf-muted, #5f7480); }
.contact-dock__dialog { --contact-dialog-text: #173746; --contact-dialog-muted: #5f7480; width: min(92vw, 390px); max-height: min(90vh, 720px); overflow: auto; padding: 0; border: 0; border-radius: 18px; color: var(--contact-dialog-text); background: #fff; box-shadow: 0 24px 80px rgb(23 55 70 / .24); }
.contact-dock__dialog::backdrop { background: rgb(23 55 70 / .28); }
.contact-dock__dialog-card { display: grid; gap: 10px; padding: 18px; text-align: center; }
.contact-dock__dialog h2 { margin: 0; color: var(--contact-dialog-text); font-size: 1rem; }
.contact-dock__dialog small { color: var(--contact-dialog-muted); }
.contact-dock__qr-image { display: block; width: 100%; height: auto; max-height: min(58vh, 500px); object-fit: contain; background: #fff; }
.contact-dock__dialog-actions { display: flex; min-height: 44px; align-items: center; justify-content: center; gap: 16px; font-size: .85rem; }
.contact-dock__dialog-actions a, .contact-dock__dialog button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 8px 12px; border: 1px solid var(--pf-line, #d7e4eb); border-radius: 9px; color: var(--contact-dialog-text); background: #fff; font: inherit; cursor: pointer; text-decoration: none; }
body.is-menu-open .contact-dock, body:has(.tools-mobile-menu[open]) .contact-dock { visibility: hidden; opacity: 0; pointer-events: none; }
@media (prefers-reduced-motion: no-preference) { .contact-dock, .contact-dock__dialog { transition: opacity .18s ease, transform .18s ease; } }
@media (max-width: 700px) {
  .contact-dock { right: 12px; bottom: calc(80px + env(safe-area-inset-bottom)); }
  .contact-dock__toggle { display: grid; width: 48px; height: 48px; place-items: center; padding: 0; border: 1px solid var(--pf-line, #d7e4eb); border-radius: 50%; background: var(--pf-surface, #fff); box-shadow: 0 8px 22px rgb(23 55 70 / .16); color: var(--contact-dock-toggle-text); cursor: pointer; font: inherit; font-size: .7rem; font-weight: 700; }
  .contact-dock__panel { display: none; position: absolute; right: 0; bottom: 58px; width: 68px; border-right: 1px solid var(--pf-line, #d7e4eb); border-radius: 14px; }
  .contact-dock[data-expanded="true"] .contact-dock__panel { display: flex; }
}
@media (min-width: 701px) { .contact-dock__panel { display: flex; } }
@media (prefers-reduced-motion: reduce) { .contact-dock, .contact-dock__dialog { transition: none; } }
