/*! SEMZON Widgets – site-wide polish (ripple, back-to-top, WhatsApp, reading progress) */
:root{--sz-fab-gap:20px;--sz-fab-size:52px}
/* click ripple */
.sz-rh{position:relative!important;overflow:hidden!important;isolation:isolate}
.sz-ripple{position:absolute;z-index:0;border-radius:50%;pointer-events:none;background:currentColor;opacity:.28;transform:scale(0);animation:szRipple .6s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes szRipple{to{transform:scale(1);opacity:0}}
/* floating buttons (bottom right) */
.sz-fabs{position:fixed;right:var(--sz-fab-gap);bottom:calc(var(--sz-fab-gap) + env(safe-area-inset-bottom,0px));z-index:998;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none;
 transform:scale(var(--sz-zoom,1));transform-origin:100% 100%}
.sz-fab{pointer-events:auto;position:relative;display:grid;place-items:center;width:var(--sz-fab-size);height:var(--sz-fab-size);border-radius:50%;border:0;padding:0;margin:0;cursor:pointer;text-decoration:none!important;
 box-shadow:0 14px 30px -12px rgba(11,16,38,.55);transition:transform .3s cubic-bezier(.2,.7,.2,1),opacity .3s,visibility .3s,background-color .25s,box-shadow .3s;-webkit-tap-highlight-color:transparent}
.sz-fab svg{width:24px;height:24px;display:block}
.sz-fab:hover{transform:translateY(-3px);box-shadow:0 18px 34px -12px rgba(11,16,38,.6)}
.sz-fab:active{transform:scale(.94)}
.sz-fab:focus-visible{outline:3px solid #fff;box-shadow:0 0 0 6px #241A63}
.sz-totop{background:#241A63;color:#fff}
.sz-totop:hover,.sz-totop:focus{background:#2E1F7A;color:#fff}
.sz-totop svg{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}
.sz-totop{opacity:0;visibility:hidden;transform:translateY(12px)}
.sz-totop.is-on{opacity:1;visibility:visible;transform:none}
.sz-totop.is-on:hover{transform:translateY(-3px)}
.sz-totop-ring{position:absolute;inset:0;width:100%!important;height:100%!important;transform:rotate(-90deg);pointer-events:none}
.sz-totop-ring circle{fill:none;stroke:#E5484D;stroke-width:3;stroke-linecap:round}
.sz-wa{background:#25D366;color:#fff}
.sz-wa:hover,.sz-wa:focus{background:#1EBE5A;color:#fff}
.sz-wa svg{fill:currentColor;width:28px;height:28px}
.sz-wa::before{content:'';position:absolute;inset:0;border-radius:50%;background:#25D366;z-index:-1;animation:szPulse 2.6s cubic-bezier(.2,.7,.2,1) infinite}
@keyframes szPulse{0%{transform:scale(1);opacity:.55}70%,100%{transform:scale(1.55);opacity:0}}
.sz-wa-tip{position:absolute;right:calc(100% + 12px);top:50%;transform:translate(6px,-50%);white-space:nowrap;padding:9px 14px;border-radius:10px;background:#0B1026;color:#fff;font:700 13px/1.2 Inter,system-ui,sans-serif;
 opacity:0;visibility:hidden;transition:opacity .25s,transform .25s,visibility .25s;box-shadow:0 12px 24px -12px rgba(11,16,38,.6)}
.sz-wa:hover .sz-wa-tip,.sz-wa:focus-visible .sz-wa-tip{opacity:1;visibility:visible;transform:translate(0,-50%)}
@media (hover:none){.sz-wa-tip{display:none}}
@media (max-width:767px){:root{--sz-fab-gap:14px;--sz-fab-size:48px}}
/* reading progress (blog posts) */
.sz-progress{position:fixed;left:0;right:0;top:var(--wp-admin--admin-bar--height,0px);height:calc(3px * var(--sz-zoom,1));z-index:1000;pointer-events:none;background:transparent}
.sz-progress span{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,#9E1414,#3B2A99)}
@media (max-width:600px){.admin-bar .sz-progress{top:0}}
@media print{.sz-fabs,.sz-progress{display:none!important}}
@media (prefers-reduced-motion:reduce){.sz-ripple,.sz-wa::before{display:none!important}.sz-fab,.sz-totop{transition:none!important}}
