/* Atomware Toolkit – Flow Pro: WhatsApp floating widget (0.1.1). Geometry copied from the Hoeksfontein Elementor Contact Button. */
.fp-wa{--fp-wa-navy:#122A47;--fp-wa-blue:#2152D0;--fp-wa-blue-h:#104778;--fp-wa-green:#25D366;--fp-wa-bg:#ECE5DD;--fp-wa-right:25px;--fp-wa-bottom:25px;
  position:fixed;right:var(--fp-wa-right);bottom:var(--fp-wa-bottom);z-index:9990;display:flex;flex-direction:column;align-items:flex-end;font-family:Poppins,Arial,sans-serif}
.fp-wa *{box-sizing:border-box}
/* round toggle, 55px, green with white glyph, soft shadow; round on hover (no frame), small grow */
.fp-wa__toggle{width:55px;height:55px;margin:0 20px 0 0;padding:0;border:0!important;border-radius:50%!important;background:var(--fp-wa-green)!important;color:#fff!important;box-shadow:4px 4px 10px rgba(0,0,0,.15);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .3s,filter .3s}
.fp-wa__toggle svg{width:30px;height:30px}
.fp-wa__toggle:hover{transform:scale(1.05);filter:brightness(.92)}
.fp-wa__toggle:focus{outline:none}
.fp-wa__toggle:focus-visible{outline:3px solid #122A47;outline-offset:3px}
/* hide the toggle while open (the X closes) */
.fp-wa.is-open .fp-wa__toggle{display:none}
/* panel 320px, rounded, header 125px navy, avatar 85, bubble on WhatsApp beige, CTA pill */
.fp-wa__panel{width:320px;max-width:calc(100vw - 24px);border-radius:10px;overflow:hidden;background:var(--fp-wa-bg);box-shadow:0 10px 30px rgba(18,42,71,.25);transform-origin:bottom right;outline:none}
.fp-wa__panel[hidden]{display:none}
.fp-wa.is-open .fp-wa__panel{animation:fp-wa-in .3s cubic-bezier(.2,.7,.2,1) both}
.fp-wa.is-closing .fp-wa__panel{animation:fp-wa-out .2s ease-in both}
@keyframes fp-wa-in{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}
@keyframes fp-wa-out{from{opacity:1;transform:none}to{opacity:0;transform:translateY(12px) scale(.96)}}
.fp-wa__top{position:relative;display:flex;align-items:center;gap:20px;min-height:125px;padding:20px;background:var(--fp-wa-navy);color:#fff}
.fp-wa__avatar{flex:0 0 85px;width:85px;height:85px;border-radius:50%;overflow:hidden;display:block;background:#104778}
.fp-wa__avatar-img,.fp-wa__avatar-svg{display:block;width:85px;height:85px;object-fit:contain}
.fp-wa__title{flex:1 1 0;min-width:0;margin:0;padding-inline-end:32px;font-size:16px;font-weight:700;line-height:1.35;color:#fff}
.fp-wa__close{position:absolute;top:16px;right:16px;width:32px;height:32px;padding:6px;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.fp-wa__close svg{width:16px;height:16px}
.fp-wa__close:hover{background:rgba(255,255,255,.12)}
.fp-wa__close:focus{outline:none}
.fp-wa__close:focus-visible{outline:2px solid #fff;outline-offset:2px}
.fp-wa__body{padding:28px 20px;min-height:150px}
.fp-wa__bubble{position:relative;max-width:85%;padding:12px 14px 22px;border-radius:0 10px 10px 10px;background:#fff;color:#130D13;box-shadow:0 1px 1px rgba(0,0,0,.08)}
.fp-wa__bubble::before{content:"";position:absolute;top:0;left:-8px;border:8px solid transparent;border-top-color:#fff;border-right-color:#fff;border-width:0 8px 10px 0}
.fp-wa__bubble-name{margin:0 0 4px;font-size:14px;font-weight:700;color:#104778}
.fp-wa__bubble-text{margin:0;font-size:16px;line-height:1.45}
.fp-wa__bubble-time{position:absolute;right:10px;bottom:4px;margin:0;font-size:11px;color:#54595F}
.fp-wa__send{padding:6px 6px 16px}
.fp-wa__cta{display:flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:12px 20px;border-radius:30px;background:var(--fp-wa-blue);color:#fff!important;font-size:16px;font-weight:600;text-decoration:none!important;transition:background-color .2s,transform .3s}
.fp-wa__cta svg{width:20px;height:20px}
.fp-wa__cta:hover{background:var(--fp-wa-blue-h);transform:scale(1.02)}
.fp-wa__cta:focus{outline:none}
.fp-wa__cta:focus-visible{outline:3px solid #122A47;outline-offset:3px}
.fp-wa .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
/* tablet: same, a little closer to the edge */
@media (max-width:1024px){.fp-wa{--fp-wa-right:16px;--fp-wa-bottom:20px}.fp-wa__toggle{margin-right:8px}}
/* phones: the sticky bar (fp-mobile-bar: Call + WhatsApp) is the only WhatsApp entry point */
@media (max-width:767px){.fp-wa{display:none!important}}
/* opt-out */
body.fp-no-wa .fp-wa{display:none!important}
@media (prefers-reduced-motion:reduce){.fp-wa *,.fp-wa__panel{animation:none!important;transition:none!important}.fp-wa__toggle:hover,.fp-wa__cta:hover{transform:none}}
