.contact-invitation { --contact-cta-height: 0px; position: fixed; right: max(20px, env(safe-area-inset-right)); bottom: calc(var(--contact-cta-height) + max(24px, env(safe-area-inset-bottom))); z-index: 45; font-family: inherit; color: #172b41; }
.contact-invitation[hidden], .contact-invitation [hidden] { display: none !important; }
.contact-invitation button { font: inherit; cursor: pointer; }
.contact-invitation button:focus-visible { outline: 3px solid #2463a3; outline-offset: 4px; }
.contact-launcher { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 10px 15px; border: 1px solid #d8e0e8; border-radius: 24px; background: #fff; color: #172b41; box-shadow: 0 3px 14px #172b411a; font-size: 14px !important; font-weight: 600 !important; }
.contact-invitation svg { width: 22px; height: 22px; flex: 0 0 22px; }
.contact-invite { position: absolute; right: 0; bottom: calc(100% + 12px); display: flex; width: min(320px, calc(100vw - 40px)); border: 1px solid #d8e0e8; border-radius: 14px; background: #fff; box-shadow: 0 8px 28px #172b4124; animation: contact-invite-in 280ms ease-out both; }
.contact-invite-open { flex: 1; min-width: 0; padding: 17px 0 17px 17px; border: 0; border-radius: 14px; background: transparent; color: inherit; text-align: left; }
.contact-invite-open strong { display: block; margin-bottom: 5px; font-size: 15px; line-height: 1.35; }
.contact-invite-open span { display: block; font-size: 13px; line-height: 1.45; color: #506176; }
.contact-invite-dismiss { display: flex; align-items: center; justify-content: center; align-self: flex-start; min-width: 44px; min-height: 44px; margin: 3px; border: 0; border-radius: 50%; background: transparent; color: #506176; }
@keyframes contact-invite-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 600px) { .contact-invitation { right: max(16px, env(safe-area-inset-right)); } }
@media (prefers-reduced-motion: reduce) { .contact-invite { animation: none; } }
