:root{--ssm-accent:#2196F3;--ssm-btn-size:65px;--ssm-panel-width:280px;--ssm-radius:16px;--ssm-text:rgba(0,0,0,.87);--ssm-text-sub:rgba(0,0,0,.6);--ssm-sheet-radius:14px;--ssm-sheet-sep:rgba(60,60,67,.29);--ssm-sheet-title:rgba(60,60,67,.6);--ssm-ios-blue:#007AFF;--ssm-offset-x:24px;--ssm-offset-y:24px;--ssm-gap:12px;--ssm-totop-size:44px}
@media (max-width:767px){:root{--ssm-offset-x:16px;--ssm-offset-y:16px;--ssm-btn-size:60px}}

.ssm{position:fixed;right:var(--ssm-offset-x);bottom:var(--ssm-offset-y);z-index:10200;pointer-events:none}

.ssm__btn{pointer-events:auto;display:flex;align-items:center;justify-content:center;width:var(--ssm-btn-size);height:var(--ssm-btn-size);padding:0;border:0;border-radius:50%;background:var(--ssm-accent);cursor:pointer;box-shadow:0 19px 38px rgba(34,36,43,.2);transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;-webkit-appearance:none;appearance:none}
.ssm__btn:hover{transform:scale(1.06);box-shadow:0 22px 42px rgba(34,36,43,.26)}
.ssm__btn:active{transform:scale(1.02)}
.ssm__btn:focus{outline:0}
.ssm__btn:focus-visible{outline:2px solid #fff;outline-offset:3px}
.ssm__btn-icon{display:block;width:30px;height:31px;pointer-events:none}

.ssm__panel{position:absolute;right:0;bottom:var(--ssm-btn-size);width:var(--ssm-panel-width);padding-bottom:20px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;pointer-events:none}
.ssm.is-open .ssm__panel{opacity:1;visibility:visible;transform:none;pointer-events:auto}

.ssm__card{background:#fff;border-radius:var(--ssm-radius);box-shadow:0 1px 17px rgba(0,0,0,.16);overflow:hidden}

.ssm .ssm__item{display:flex;align-items:center;box-sizing:border-box;min-height:56px;padding:16px 14px;color:var(--ssm-text);text-decoration:none;border-bottom:0;transition:background-color .15s ease}
.ssm .ssm__item:hover,.ssm .ssm__item:focus,.ssm .ssm__item:active{background:rgba(0,0,0,.04);color:var(--ssm-text);text-decoration:none;border-bottom:0}
.ssm .ssm__item .ssm__title,.ssm .ssm__sheet-item span{text-decoration:none;border-bottom:0}
.ssm__icon{flex:0 0 24px;width:24px;height:24px;margin-right:14px}
.ssm__title{font-size:15px;line-height:19px}

.ssm__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;background:rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease;pointer-events:none}
.ssm__sheet{position:fixed;right:0;bottom:0;left:0;z-index:2;box-sizing:border-box;padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));transform:translateY(110%);transition:transform .28s cubic-bezier(.32,.72,0,1),visibility .28s ease;visibility:hidden;pointer-events:none}
.ssm__sheet-card{background:#fff;border-radius:var(--ssm-sheet-radius);overflow:hidden}
.ssm__sheet-card+.ssm__sheet-card{margin-top:8px}
.ssm__sheet-title{padding:14px 16px;font-size:13px;line-height:18px;text-align:center;color:var(--ssm-sheet-title);border-bottom:1px solid var(--ssm-sheet-sep)}
.ssm .ssm__sheet-item{display:flex;align-items:center;box-sizing:border-box;min-height:56px;padding:0 16px;color:#000;font-size:17px;line-height:22px;text-decoration:none;border-bottom:0}
.ssm .ssm__sheet-item:hover,.ssm .ssm__sheet-item:focus{color:#000;text-decoration:none;border-bottom:0}
.ssm .ssm__sheet-item:active{background:rgba(0,0,0,.08)}
.ssm .ssm__sheet-item+.ssm__sheet-item{border-top:1px solid var(--ssm-sheet-sep)}
.ssm .ssm__sheet-item .ssm__icon{margin-right:16px}
.ssm__cancel{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;padding:0;border:0;background:none;color:var(--ssm-ios-blue);font-size:17px;line-height:22px;font-weight:600;cursor:pointer;-webkit-appearance:none;appearance:none;font-family:inherit}
.ssm__cancel:active{background:rgba(0,0,0,.08)}

.ssm.is-sheet-open .ssm__overlay{opacity:1;visibility:visible;pointer-events:auto}
.ssm.is-sheet-open .ssm__sheet{transform:none;visibility:visible;pointer-events:auto}
.ssm.is-sheet-open .ssm__btn{opacity:0;pointer-events:none}

@media (max-width:767px){.ssm__btn-icon{width:28px;height:29px}.ssm__panel{display:none}}
@media (min-width:768px){.ssm__overlay,.ssm__sheet{display:none}.ssm:hover .ssm__panel,.ssm:focus-within .ssm__panel{opacity:1;visibility:visible;transform:none;pointer-events:auto}}

@media (min-width:768px){#ssm:target .ssm__panel{opacity:1;visibility:visible;transform:none;pointer-events:auto}}
@media (max-width:767px){#ssm:target .ssm__overlay{opacity:1;visibility:visible;pointer-events:auto}#ssm:target .ssm__sheet{transform:none;visibility:visible;pointer-events:auto}#ssm:target .ssm__btn{opacity:0;pointer-events:none}}

@media (prefers-reduced-motion:reduce){.ssm__btn,.ssm__panel,.ssm__overlay,.ssm__sheet{transition-duration:.01ms}}

/* кастом */
body .scroll-to-top{right:calc(var(--ssm-offset-x) + var(--ssm-btn-size) + var(--ssm-gap))}
