.floating-contact{position:fixed;right:18px;top:50%;z-index:40;display:grid;gap:10px;transform:translateY(-50%)}.floating-contact a{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#073455;border:1px solid #d3e0e7;box-shadow:0 8px 24px rgba(4,31,55,.16);transition:transform .18s ease,background-color .18s ease,color .18s ease}.floating-contact a:hover,.floating-contact a:focus-visible{transform:translateY(-2px);background:#087e91;color:#fff}.floating-contact a:focus-visible{outline:3px solid rgba(8,126,145,.28);outline-offset:3px}.floating-contact svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.floating-contact .whatsapp svg{fill:currentColor;stroke:none}@media(max-width:720px){.floating-contact{top:auto;right:14px;bottom:18px;transform:none}.floating-contact a{width:42px;height:42px}}
.floating-contact{display:flex;flex-direction:column;align-items:flex-end}.floating-action{position:relative;display:flex!important;align-items:center!important;justify-content:center!important}.floating-action::before{content:attr(data-label);position:absolute;right:54px;white-space:nowrap;padding:7px 10px;border-radius:6px;background:#073455;color:#fff;font-size:12px;font-weight:700;opacity:0;transform:translateX(5px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.floating-action:hover::before,.floating-action:focus-visible::before{opacity:1;transform:none}.floating-contact .service-toggle{background:#087e91;color:#fff;border-color:#087e91}.floating-contact .whatsapp{background:#25d366;color:#fff;border-color:#25d366}.floating-contact .whatsapp:hover,.floating-contact .whatsapp:focus-visible{background:#1db954;color:#fff;border-color:#1db954}.service-panel{position:absolute;right:56px;bottom:0;width:min(310px,calc(100vw - 92px));padding:20px;background:#fff;border:1px solid #d4e2e8;border-radius:14px;box-shadow:0 18px 55px rgba(4,31,55,.22);color:#163950}.service-panel[hidden]{display:none}.service-panel strong{display:block;margin:0 28px 7px 0;font-size:18px;color:#073455}.service-panel>p{margin:0 0 14px;color:#61798a;font-size:13px;line-height:1.55}.service-close{position:absolute;top:10px;right:10px;width:28px!important;height:28px!important;border:0!important;box-shadow:none!important;background:transparent!important;color:#567084!important;font-size:22px;line-height:1;cursor:pointer}.service-close:hover{color:#073455!important;transform:none!important}.language-options,.need-options{display:flex;gap:7px;flex-wrap:wrap}.language-options{margin-bottom:15px}.language-options button{border:1px solid #cbdbe3;border-radius:999px;background:#fff;color:#23475f;padding:6px 10px;font:inherit;font-size:11px;cursor:pointer}.language-options button[aria-pressed="true"]{background:#e4f4f5;border-color:#087e91;color:#066477}.need-options{display:grid;grid-template-columns:1fr 1fr}.need-options a{width:auto!important;height:auto!important;min-height:40px;border-radius:8px!important;padding:9px!important;box-shadow:none!important;background:#f2f7f9!important;color:#153e59!important;font-size:12px;font-weight:700;text-align:left}.need-options a:hover{background:#e1f1f3!important;color:#076b7c!important;transform:none!important}@media(max-width:720px){.floating-action::before{display:none}.service-panel{right:50px}.floating-contact{gap:8px}}
.floating-contact a.floating-action,.floating-contact button.floating-action{width:56px;height:56px;border-radius:50%;border:1px solid transparent;box-shadow:0 10px 28px rgba(4,31,55,.24);cursor:pointer}.floating-contact .floating-action svg{width:27px;height:27px}.floating-action::before{right:66px}.service-panel{right:68px;bottom:0;width:min(350px,calc(100vw - 110px));padding:0;overflow:hidden;border-radius:18px}.service-panel-header{display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;padding:16px 18px;background:#073f5c;color:#fff}.service-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#087e91;font-weight:800}.service-panel-header strong{margin:0;color:#fff;font-size:15px}.service-status{display:flex;align-items:center;gap:6px;margin-top:3px;color:#cfe8ee;font-size:11px}.service-status::before{content:"";width:7px;height:7px;border-radius:50%;background:#52d889}.service-panel .service-close{position:static;color:#fff!important;background:rgba(255,255,255,.1)!important}.service-conversation{padding:18px;background:#f3f7f9}.service-message{max-width:88%;margin:0 0 10px;padding:11px 13px;border-radius:4px 13px 13px 13px;background:#fff;color:#25485e;font-size:13px;line-height:1.5;box-shadow:0 2px 8px rgba(4,31,55,.07)}.service-message strong{margin:0 0 4px;color:#073455;font-size:15px}.service-panel .language-options{padding:0 18px;margin:0 0 14px}.service-panel .need-options{padding:0 18px 18px}.service-panel>[data-service-question]{padding:0 18px;margin:0 0 10px;color:#536e80;font-size:13px}.need-options a{border-color:#d8e6eb!important;background:#fff!important}.need-options a:hover{border-color:#82cbd4!important}.service-panel[hidden]{display:none}@media(max-width:720px){.floating-contact a.floating-action,.floating-contact button.floating-action{width:50px;height:50px}.floating-contact .floating-action svg{width:24px;height:24px}.service-panel{position:fixed;right:12px;bottom:76px;width:calc(100vw - 24px);max-width:360px}.need-options{grid-template-columns:1fr 1fr}}

/* Keep the quick-contact widget inside the page gutter.
   On desktop the content column ends at max(5vw, (100vw - 1392px)/2) from the right,
   and the widget used to sit at 18px, so it covered the right edge of the content —
   including the footer call-to-action button. Tracking the gutter keeps the button
   reachable without hiding anything behind it. */
@media (min-width: 721px) {
  .floating-contact {
    right: max(6px, calc(max(5vw, (100vw - 1392px) / 2) - 60px));
  }
}

/* Below ~1250px the content gutter (5vw) is narrower than the full-size button, so
   reduce the button instead of letting it cover the content edge. */
@media (min-width: 721px) and (max-width: 1250px) {
  .floating-contact a.floating-action,
  .floating-contact button.floating-action { width: 44px; height: 44px; }
  .floating-contact .floating-action svg { width: 22px; height: 22px; }
}
