.contact-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.contact-links .contact-chip{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 12px;margin:0;border:1px solid #e4e4e7;border-radius:10px;background:#fff;color:#a71926;font-size:14px;font-weight:700;line-height:1.4;text-decoration:none;white-space:nowrap;min-height:42px}
.contact-links .contact-social{background:#fafafa;color:#c8202f}
.contact-links .contact-chip:hover{background:#f5f5f6;border-color:#a1a1a8}
.contact-chip:focus-visible,.contact-dock summary:focus-visible{outline:3px solid #626269;outline-offset:3px}
.contact-dock{position:fixed;right:22px;bottom:22px;z-index:36}
.contact-dock summary{cursor:pointer;list-style:none;border-radius:30px;padding:12px 18px;background:#c8202f;color:#fff;box-shadow:0 5px 25px #20202433;font-size:14px;font-weight:700}
.contact-dock summary::-webkit-details-marker{display:none}
.contact-dock .contact-links{position:absolute;bottom:56px;right:0;width:260px;padding:14px;border:1px solid #f5f5f6;border-radius:16px;background:#fff;box-shadow:0 8px 30px #20202426}
.contact-dock .contact-chip{flex:1 1 auto}
.contact-dock[open]~.ai-launcher{visibility:hidden}
@media(max-width:800px){.footer-bottom{padding-bottom:85px}.contact-dock{right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}.ai-launcher{bottom:calc(74px + env(safe-area-inset-bottom))}.contact-dock .contact-links{max-width:calc(100vw - 32px)}}
@media print{.contact-dock{display:none}}

.contact-dock summary{display:flex;align-items:center;justify-content:center;gap:8px}
.contact-dock-icon{width:20px;height:20px;flex-shrink:0}
@keyframes contact-phone-rock{0%,35%,100%{transform:rotate(0)}5%,15%,25%{transform:rotate(-15deg)}10%,20%,30%{transform:rotate(15deg)}}
@media(max-width:800px){
 .contact-dock summary{width:52px;height:52px;padding:0;border-radius:50%;box-sizing:border-box}
 .contact-dock-label{display:none}
 .contact-dock-icon{width:24px;height:24px;animation:contact-phone-rock 3s ease-in-out infinite;transform-origin:center}
 .contact-dock[open] .contact-dock-icon{animation:none}
 .contact-dock .consult-panel{bottom:64px}
}
@media(prefers-reduced-motion:reduce){.contact-dock-icon{animation:none}}

.footer-map{display:block;width:100%;max-width:100%;height:220px;border:0;border-radius:12px;margin-top:14px}

.mobile-call-button{display:none}
@media(max-width:800px){
 .contact-dock{display:none}
 .mobile-call-button{display:flex;align-items:center;justify-content:center;position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));width:54px;height:54px;border-radius:50%;background:#c8202f;color:#fff;box-shadow:0 4px 18px #20202433;z-index:100}
 .mobile-call-button svg{width:26px;height:26px;animation:contact-phone-rock 3s ease-in-out infinite}
 .mobile-call-button:focus-visible{outline:3px solid #202024;outline-offset:4px}
}
@media(prefers-reduced-motion:reduce){.mobile-call-button svg{animation:none}}
@media print{.mobile-call-button{display:none}}

.mobile-contact{display:none}
@media(max-width:800px){
 .mobile-contact{display:block;position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:100}
 .mobile-contact .mobile-call-button{position:static;list-style:none;cursor:pointer}
 .mobile-call-button::-webkit-details-marker{display:none}
 .mobile-contact[open] svg{animation:none}
 .mobile-contact-panel{position:absolute;right:0;bottom:68px;width:min(300px,calc(100vw - 36px));box-sizing:border-box;padding:18px;display:grid;gap:12px;background:#fff;color:#202024;border:1px solid #eee;border-radius:18px;box-shadow:0 8px 30px #20202426}
 .mobile-contact-panel>a{padding:12px;border-radius:10px;background:#fff3f4;color:#a71927;font-weight:600;font-size:14px}
 .mobile-contact-panel>a.button{background:#c8202f;color:#fff}
}
@media print{.mobile-contact{display:none}}
