/* v2.4 — Small, dependency-free and scoped to plugin elements. */
.cwfi-floating{direction:ltr}
.cwfi-float{position:fixed;z-index:99999;display:inline-flex;align-items:center;gap:0;min-height:var(--cwfi-row-height,56px);width:max-content;max-width:calc(100vw - var(--cwfi-x,20px) - 8px);box-sizing:border-box;text-decoration:none!important;line-height:1.2;outline-offset:3px;-webkit-tap-highlight-color:transparent;isolation:isolate}
/* Label position is independent from the edge to which the widget is anchored. */
.cwfi-label-on-left{flex-direction:row-reverse}.cwfi-label-on-right{flex-direction:row}
.cwfi-label-on-left .cwfi-attached-label{margin-right:var(--cwfi-label-distance,0px);margin-left:0}
.cwfi-label-on-right .cwfi-attached-label{margin-left:var(--cwfi-label-distance,0px);margin-right:0}
.cwfi-icon-box{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:var(--cwfi-size,56px);height:var(--cwfi-size,56px);flex:0 0 var(--cwfi-size,56px);background:var(--cwfi-color,#178b57);color:var(--cwfi-svg-color,#fff);opacity:var(--cwfi-icon-opacity,1);box-shadow:0 4px 15px rgba(0,0,0,.19);transition:box-shadow .2s ease;position:relative;z-index:2}
.cwfi-icon-shape-circle{border-radius:50%}.cwfi-icon-shape-rounded{border-radius:16px}.cwfi-icon-shape-square{border-radius:3px}
.cwfi-icon-bg-transparent{background:transparent!important;box-shadow:none!important}
.cwfi-icon-content{display:flex;align-items:center;justify-content:center;overflow:hidden;width:100%;height:100%;border-radius:inherit}
.cwfi-icon-content svg{width:51%;height:51%;color:inherit;display:block;flex:none}
.cwfi-icon-bg-transparent .cwfi-icon-content svg{width:72%;height:72%}
.cwfi-icon-content img{width:100%;height:100%;object-fit:contain;display:block}
.cwfi-float:hover .cwfi-icon-box,.cwfi-float:focus-visible .cwfi-icon-box{box-shadow:0 7px 22px rgba(0,0,0,.25)}
.cwfi-attached-label{position:relative;z-index:1;top:var(--cwfi-label-y,0px);box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:0 1 auto;min-width:0;width:var(--cwfi-label-width,auto);min-height:var(--cwfi-label-height,48px);height:var(--cwfi-label-height,48px);max-width:min(320px, calc(100vw - var(--cwfi-x,20px) - var(--cwfi-size,56px) - 12px));padding:3px var(--cwfi-label-padding,14px);margin:0;color:var(--cwfi-label-color,#fff)!important;background:var(--cwfi-label-background,#178b57);opacity:var(--cwfi-label-opacity,1);box-shadow:0 4px 12px rgba(0,0,0,.13);font-size:var(--cwfi-label-size,14px);font-weight:700;line-height:1.3;text-align:center;direction:rtl;unicode-bidi:plaintext;overflow:hidden;overflow-wrap:anywhere;text-overflow:ellipsis;text-decoration:none!important}
.cwfi-label-shape-pill{border-radius:100px}
.cwfi-label-shape-rounded{border-radius:12px}
/* Negative distance brings the whole icon over the full-shaped label; reserve text space beneath it.
   The icon is layered above the label without changing the clickable link or independent animation. */
.cwfi-label-overlap-yes.cwfi-label-on-left .cwfi-attached-label{padding-right:calc(var(--cwfi-label-padding,14px) + var(--cwfi-label-overlap,0px))}
.cwfi-label-overlap-yes.cwfi-label-on-right .cwfi-attached-label{padding-left:calc(var(--cwfi-label-padding,14px) + var(--cwfi-label-overlap,0px))}
/* With EXACTLY zero distance, keep the inside edge flat to visually join label and icon. */
.cwfi-label-joined-yes.cwfi-label-on-left .cwfi-label-shape-pill{border-radius:100px 0 0 100px}
.cwfi-label-joined-yes.cwfi-label-on-right .cwfi-label-shape-pill{border-radius:0 100px 100px 0}
.cwfi-label-joined-yes.cwfi-label-on-left .cwfi-label-shape-rounded{border-radius:12px 0 0 12px}
.cwfi-label-joined-yes.cwfi-label-on-right .cwfi-label-shape-rounded{border-radius:0 12px 12px 0}
.cwfi-label-shape-square{border-radius:0}
.cwfi-label-bg-transparent{background:transparent!important;box-shadow:none!important}
.cwfi-tooltip{position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%);white-space:nowrap;border-radius:6px;background:#151c2c;color:#fff;padding:6px 10px;direction:rtl;font-size:12px;line-height:1.4;opacity:0;pointer-events:none;transition:opacity .2s ease}
.cwfi-side-left .cwfi-tooltip{right:auto;left:calc(100% + 10px)}
.cwfi-float:hover .cwfi-tooltip,.cwfi-float:focus-visible .cwfi-tooltip{opacity:1}
@media(max-width:767px){.cwfi-show-desktop{display:none!important}.cwfi-icon-box{max-width:20vw;max-height:20vw}.cwfi-attached-label{max-width:calc(100vw - var(--cwfi-x,20px) - var(--cwfi-size,56px) - 12px)}}
@media(min-width:768px){.cwfi-show-mobile{display:none!important}}
@media(hover:none){.cwfi-tooltip{display:none}}
@media(prefers-reduced-motion:reduce){.cwfi-icon-box,.cwfi-attached-label{animation:none!important;transition:none!important}.cwfi-tooltip{transition:none!important}}

/* v2.6: mirror artwork independently of animated icon container and attached label. */
.cwfi-icon-box.cwfi-art-mirror .cwfi-icon-content > svg,
.cwfi-icon-box.cwfi-art-mirror .cwfi-icon-content > img {transform:scaleX(-1);transform-origin:center center}
