.contact-float { position: fixed; z-index: 80; top: 50%; right: 18px; display: grid; gap: 8px; width: 128px; padding: 8px; transform: translateY(-50%); border: 1px solid #d8dfdc; border-radius: 16px; background: rgba(255, 255, 255, .94); box-shadow: 0 8px 26px rgba(22, 45, 36, .16); backdrop-filter: blur(10px); }
.contact-float button { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 42px; padding: 7px 8px; border: 0; border-radius: 10px; background: transparent; color: #24463b; text-align: left; font-size: 12px; font-weight: 700; transition: background .16s ease, transform .16s ease; }
.contact-float button:hover { background: #edf8f2; transform: translateX(-2px); }
.contact-float button:focus-visible { outline: 2px solid #2b9872; outline-offset: 2px; }
.contact-float-icon { position: relative; display: block; width: 28px; height: 28px; flex: 0 0 28px; border-radius: 50%; background: #20c765; }
.contact-float-icon::before,.contact-float-icon::after { position: absolute; display: block; border-radius: 50%; background: #fff; content: ""; }
.contact-float-icon::before { top: 6px; left: 5px; width: 13px; height: 10px; box-shadow: 4px 5px 0 -3px #fff; }
.contact-float-icon::after { top: 11px; left: 12px; width: 11px; height: 9px; box-shadow: 3px 4px 0 -3px #fff; }
.contact-float-label { white-space: nowrap; }
.contact-qr-modal { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(15, 28, 23, .44); }
.contact-qr-modal[hidden] { display: none; }
.contact-qr-dialog { position: relative; width: min(360px, 100%); padding: 25px 25px 22px; border: 1px solid #d8dfdc; border-radius: 14px; background: #fff; box-shadow: 0 24px 70px rgba(15, 31, 24, .24); text-align: center; }
.contact-qr-dialog h2 { margin: 0; color: #1e302a; font-size: 20px; }
.contact-qr-dialog p { margin: 8px 0 16px; color: #7b8782; font-size: 13px; }
.contact-qr-dialog img { display: block; width: min(290px, 100%); height: auto; margin: 0 auto; border-radius: 8px; }
.contact-qr-close { position: absolute; top: 8px; right: 10px; display: grid; width: 30px; height: 30px; place-items: center; border: 0; border-radius: 50%; background: transparent; color: #7d8984; font-size: 24px; line-height: 1; }
.contact-qr-close:hover { background: #f0f4f2; color: #334a40; }
@media (max-width: 600px) { .contact-float { right: 10px; width: 112px; padding: 6px; border-radius: 13px; }.contact-float button { min-height: 38px; padding: 5px 6px; font-size: 11px; }.contact-float-icon { width: 25px; height: 25px; flex-basis: 25px; }.contact-float-icon::before { top: 5px; left: 4px; }.contact-float-icon::after { top: 10px; left: 11px; } }
