/* Optional WhatsApp contact, with no third-party widget or tracking code. */
.whatsapp-link,.whatsapp-float { display:inline-flex; align-items:center; justify-content:center; gap:10px; color:#e6ffed; background:#123a2b; border:1px solid #38845e; border-radius:8px; font-weight:600; font-size:.87rem; line-height:1.5; text-decoration:none; padding:12px 18px; min-height:48px; transition:background .18s,border-color .18s; }
.whatsapp-link:hover,.whatsapp-float:hover { background:#194b36; border-color:#6ac98d; color:#fff; }
.whatsapp-link:focus-visible,.whatsapp-float:focus-visible { outline:3px solid #e8c97a; outline-offset:4px; }
.whatsapp-link svg,.whatsapp-float svg { flex:0 0 23px; width:23px; height:23px; color:#77dfa0; }
.whatsapp-link span { min-width:0; }
.whatsapp-float { position:fixed; right:24px; bottom:24px; bottom:calc(24px + env(safe-area-inset-bottom)); z-index:95; border-radius:999px; padding:13px 20px; box-shadow:0 7px 28px #0005; }
.whatsapp-float.is-suppressed { visibility:hidden; pointer-events:none; }
.contact-whatsapp { margin:0 0 26px; padding:20px; border:1px solid #2b5140; border-radius:12px; background:linear-gradient(135deg,#16322655,#101c2255); }
.contact-whatsapp > p:first-child { font-size:.93rem; color:var(--text); margin-bottom:12px; font-weight:600; }
.whatsapp-note { color:var(--muted); font-size:.73rem; line-height:1.6; margin-top:10px; }
.contact-whatsapp .whatsapp-note { margin-bottom:0; }
.calc-whatsapp { margin-top:12px; width:100%; text-align:center; }
.calc-whatsapp + .whatsapp-note { margin-bottom:0; }
.footer-whatsapp { padding:0; min-height:40px; border:0; background:none; justify-content:flex-start; font-size:.84rem; }
.footer-whatsapp:hover { background:none; }
.footer-company { min-width:0; }
.company-details { display:flex; flex-direction:column; gap:7px; font-style:normal; font-size:.79rem; line-height:1.7; color:var(--muted); overflow-wrap:anywhere; }
.company-details strong { color:var(--text); font-weight:550; }
.company-details .company-vat { color:var(--text); font-variant-numeric:tabular-nums; }
.footer-company > p { margin-bottom:12px; }
.contact-company { padding:20px 0 0; border-top:1px solid var(--border); margin-top:26px; }
.contact-company h3 { font-size:.77rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); margin:0 0 12px; font-weight:500; }
.contact-company .company-details { font-size:.88rem; }
.international-footer { padding-bottom:100px; }
@media(max-width:767px) {
 .whatsapp-float { right:16px; bottom:calc(18px + env(safe-area-inset-bottom)); padding:0; width:54px; height:54px; min-height:54px; }
 .whatsapp-float svg { width:27px; height:27px; flex-basis:27px; }
 .whatsapp-float span { display:none; }
 .has-sticky-cta .whatsapp-float { bottom:calc(12px + env(safe-area-inset-bottom)); }
 .has-sticky-cta:not(.has-inline-whatsapp) .sticky-cta { padding-right:84px; }
 body:has(.contact input:focus,.contact textarea:focus) .whatsapp-float { visibility:hidden; }
 .international-footer { padding-bottom:172px; }
 .contact-whatsapp { padding:18px; }
 .whatsapp-contact { width:100%; text-align:center; }
}
@media(prefers-reduced-motion:reduce) {
 .whatsapp-link,.whatsapp-float { transition:none; }
}
