/* Holmo style module: 13-whatsapp-contact.css */
.floating-whatsapp { position: fixed; z-index: 900; right: 15px; bottom: 90px; display: block; width: 56px; height: 56px; overflow: hidden; background: #1f9d55; border: 2px solid rgba(255,255,255,.95); border-radius: 50%; box-shadow: 0 8px 24px rgba(20,77,43,.3); text-decoration: none; animation: whatsappFloatIn .55s ease both, whatsappPulse 2.8s ease-in-out 1s infinite; }
.floating-whatsapp img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.floating-whatsapp:hover, .floating-whatsapp:focus-visible { transform: translateY(-2px); }
.whatsapp-contact-unconfigured { opacity: .72; cursor: help; }
@keyframes whatsappFloatIn { from { opacity: 0; transform: translateY(12px) scale(.9); } to { opacity: .72; transform: translateY(0) scale(1); } }
@keyframes whatsappPulse { 0%, 100% { box-shadow: 0 8px 24px rgba(20,77,43,.3); } 50% { box-shadow: 0 8px 24px rgba(20,77,43,.3), 0 0 0 7px rgba(31,157,85,.13); } }
@media (max-width: 480px) { .floating-whatsapp { right: 10px; bottom: 88px; width: 52px; height: 52px; } }
@media (prefers-reduced-motion: reduce) { .floating-whatsapp { animation: none; } .floating-whatsapp:hover, .floating-whatsapp:focus-visible { transform: none; } }
.whatsapp-confirm-modal[hidden] { display: none; }
.whatsapp-confirm-modal { position: fixed; z-index: 1200; inset: 0; pointer-events: none; }
.whatsapp-confirm-card { position: fixed; right: 15px; bottom: 158px; width: min(300px, calc(100vw - 30px)); padding: 20px 17px 14px; color: #25231f; background: #fffdf9; border: 1px solid #e4ddd2; border-radius: 14px; box-shadow: 0 12px 34px rgba(0,0,0,.2); text-align: center; pointer-events: auto; animation: whatsappPopoverIn .22s ease both; }
.whatsapp-confirm-card::after { content: ""; position: absolute; right: 19px; bottom: -9px; width: 16px; height: 16px; background: #fffdf9; border-right: 1px solid #e4ddd2; border-bottom: 1px solid #e4ddd2; transform: rotate(45deg); }
.whatsapp-confirm-close { position: absolute; top: 8px; right: 11px; width: 30px; height: 30px; color: #777168; background: transparent; border: 0; font-size: 25px; font-weight: 300; line-height: 1; cursor: pointer; }
.whatsapp-confirm-mark { display: grid; place-items: center; width: 56px; height: 56px; margin: 0 auto 12px; overflow: hidden; background: #1f9d55; border: 2px solid #fff; border-radius: 50%; box-shadow: 0 5px 15px rgba(20,77,43,.22); }
.whatsapp-confirm-mark img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.whatsapp-confirm-eyebrow { color: #9a7950; font-size: 8px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; }
.whatsapp-confirm-card h2 { margin: 8px 12px 8px; font-family: var(--font-title); font-size: 20px; font-weight: 600; line-height: 1.1; }
.whatsapp-confirm-card p { margin: 0 auto; max-width: 300px; color: #6f6a62; font-size: 10.5px; line-height: 1.55; }
.whatsapp-confirm-benefits { display: grid; gap: 5px; margin: 16px 0; color: #4f6e58; font-size: 9px; text-align: left; }
.whatsapp-confirm-primary, .whatsapp-confirm-secondary { width: 100%; cursor: pointer; font-family: var(--font-body); }
.whatsapp-confirm-primary { padding: 13px 12px; color: #fff; background: #1f9d55; border: 1px solid #1f9d55; border-radius: 5px; font-size: 10px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; }
.whatsapp-confirm-primary:hover, .whatsapp-confirm-primary:focus-visible { background: #188b49; }
.whatsapp-confirm-secondary { margin-top: 10px; padding: 7px; color: #777168; background: transparent; border: 0; font-size: 9px; }
.whatsapp-confirm-secondary:hover, .whatsapp-confirm-secondary:focus-visible { color: #25231f; text-decoration: underline; text-underline-offset: 3px; }
@keyframes whatsappPopoverIn { from { opacity: 0; transform: translateY(8px) scale(.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 480px) { .whatsapp-confirm-card { right: 10px; bottom: 150px; width: min(286px, calc(100vw - 20px)); } }
@media (prefers-reduced-motion: reduce) { .whatsapp-confirm-card { animation: none; } }
