/* YFS WhatsApp Chat — frontend. Per-device values come from CSS custom properties
   printed for each button; this file only holds the shared structure. */
.yfs-wa,.yfs-wa *,.yfs-wa *::before,.yfs-wa *::after{box-sizing:border-box}
.yfs-wa{line-height:1;font-family:inherit;margin:0;padding:0}
.yfs-wa--floating{position:fixed;display:var(--yfs-display,block);top:var(--yfs-top,auto);right:var(--yfs-right,auto);bottom:var(--yfs-bottom,auto);left:var(--yfs-left,auto);transform:var(--yfs-tf,none);z-index:var(--yfs-z,9999);pointer-events:none}
.yfs-wa--inline{position:relative;display:var(--yfs-display,inline-block);vertical-align:middle;max-width:100%}
.yfs-wa--inline.yfs-wa--always{display:inline-block}
.yfs-wa__motion{position:relative;display:block;border-radius:var(--yfs-r,9999px);pointer-events:auto;animation:var(--yfs-anim,none) 4.5s ease-in-out 1s infinite}
.yfs-wa__motion::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;animation:var(--yfs-ring,none) 3s ease-out 1s infinite}
.yfs-wa__motion:hover,.yfs-wa__motion:focus-within,.yfs-wa__motion:hover::after,.yfs-wa__motion:focus-within::after{animation-play-state:paused}
.yfs-wa a.yfs-wa__btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--yfs-gap,10px);height:var(--yfs-h,60px);min-width:var(--yfs-h,60px);width:var(--yfs-w,60px);max-width:100%;margin:0;padding:0 var(--yfs-px,0px);border:var(--yfs-bw,0px) solid var(--yfs-bc,transparent);border-radius:var(--yfs-r,9999px);background:var(--yfs-bg,#25d366);color:var(--yfs-tc,#fff);box-shadow:var(--yfs-shadow,none);opacity:var(--yfs-op,1);font-family:inherit;font-size:var(--yfs-fs,15px);font-weight:600;letter-spacing:normal;line-height:1;text-decoration:none;text-transform:none;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease}
/* Keep the touch target at least 44×44px even for small buttons. */
.yfs-wa a.yfs-wa__btn::before{content:"";position:absolute;inset:min(0px,calc((var(--yfs-h,60px) - 44px) / 2))}
.yfs-wa a.yfs-wa__btn:hover{background:var(--yfs-hbg,#1ebe5b);color:var(--yfs-htc,#fff);transform:var(--yfs-hover-t,none);text-decoration:none}
.yfs-wa a.yfs-wa__btn:focus{outline:none}
.yfs-wa a.yfs-wa__btn:focus-visible{outline:3px solid #16241f;outline-offset:3px;box-shadow:0 0 0 6px #fff,var(--yfs-shadow,none)}
.yfs-wa .yfs-wa__icon{align-items:center;justify-content:center;flex:none;width:var(--yfs-icon,32px);height:var(--yfs-icon,32px);color:var(--yfs-fg,#fff)}
.yfs-wa .yfs-wa__icon svg,.yfs-wa .yfs-wa__icon img{display:block;width:100%!important;height:100%!important;max-width:none;margin:0;object-fit:contain;border:0;border-radius:0;box-shadow:none}
.yfs-wa .yfs-wa__label{align-items:center;color:inherit;font:inherit}
@keyframes yfs-wa-pulse{0%,24%,100%{transform:scale(1)}12%{transform:scale(1.08)}}
@keyframes yfs-wa-bounce{0%,26%,100%{transform:translateY(0)}8%{transform:translateY(-10px)}16%{transform:translateY(0)}21%{transform:translateY(-4px)}}
@keyframes yfs-wa-shake{0%,22%,100%{transform:rotate(0)}3%,11%,19%{transform:rotate(-9deg)}7%,15%{transform:rotate(9deg)}}
@keyframes yfs-wa-ring{0%{box-shadow:0 0 0 0 var(--yfs-bg,#25d366)}45%,100%{box-shadow:0 0 0 16px transparent}}
@media (prefers-reduced-motion:reduce){
.yfs-wa__motion,.yfs-wa__motion::after{animation:none!important}
.yfs-wa a.yfs-wa__btn{transition:none}
.yfs-wa a.yfs-wa__btn:hover{transform:none}
}
@media print{.yfs-wa--floating{display:none!important}}
