/* Shared responsive site footer. */
#site-footer,#site-footer *{box-sizing:border-box}
#site-footer a{color:inherit;text-decoration:none}
.site-foot .sh-logo{display:flex;align-items:center;gap:9px;font-weight:800;font-size:21px;letter-spacing:-.5px;width:fit-content}
.site-foot .sh-logo .mark{width:34px;height:34px;border-radius:11px;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px}
.site-foot{background:#101012;color:#B9B9BF;margin-top:76px;border-radius:0}
.sf-inner{max-width:1560px;margin:0 auto;padding:52px 40px 30px}
.sf-top{display:flex;gap:44px;flex-wrap:wrap;margin-bottom:38px}
.sf-brand{flex:1 1 260px}
.sf-brand .sh-logo{color:#fff;margin-bottom:12px}
.sf-brand p{font-size:13px;color:#8E8E96;font-weight:500;line-height:1.6;max-width:300px;margin-bottom:18px}
.sf-social{display:flex;gap:9px}
.sf-social a{width:38px;height:38px;border-radius:50%;background:#1A1A1E;border:1px solid #26262B;color:#C9C9CF;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s ease}
.sf-social a:hover{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-2px)}
.sf-col{flex:1 1 150px;min-width:140px}
.sf-col h5{color:#fff;font-size:13px;margin:0 0 16px;font-weight:700}
.sf-col a{display:block;font-size:13px;color:#A5A5AD;font-weight:600;padding:5px 0;transition:color .2s ease}
.sf-col a:hover{color:#fff}
.sf-bottom{border-top:1px solid #232327;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:12px;color:#7F7F87;font-weight:600}
.sf-bottom .links{display:flex;gap:18px;flex-wrap:wrap}
.sf-bottom a:hover{color:#fff}
.fab-wrap{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:150;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}
/* the wrapper is a tall invisible column; only the button itself may take the pointer, or it swallows hovers and clicks on whatever sits under it (map zoom, footer links) */
.fab-wrap .fab-main{pointer-events:auto}
.fab-main{width:56px;height:56px;border-radius:50%;border:none;background:var(--red);color:#fff;font-size:19px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(0,0,0,.22);transition:transform .25s cubic-bezier(.2,.8,.3,1.4)}
.fab-main:hover{transform:scale(1.06)}
.fab-wrap.open .fab-main{transform:rotate(135deg)}
.fab-menu{display:flex;flex-direction:column;align-items:flex-end;gap:8px;opacity:0;pointer-events:none;transform:translateY(10px);transition:all .22s var(--ease)}
.fab-wrap.open .fab-menu{opacity:1;pointer-events:auto;transform:none}
.fab-item{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #E9E9E9;border-radius:999px;padding:9px 16px 9px 10px;font-weight:800;font-size:12.5px;color:var(--ink);box-shadow:0 8px 22px rgba(20,20,20,.14);cursor:pointer;transition:all .18s ease;font-family:inherit}
.fab-item:hover{transform:translateX(-3px);border-color:var(--ink)}
.fab-item .fi-ic{width:30px;height:30px;border-radius:50%;background:var(--red-soft);color:var(--red);display:flex;align-items:center;justify-content:center;font-size:12.5px;flex:0 0 auto}
.fab-item .fi-ic.wa{background:#F4F4F4;color:#171717}.fab-item .fi-ic.ink{background:var(--g100);color:var(--ink)}
.fab-backdrop{position:fixed;inset:0;background:rgba(15,15,15,.18);z-index:149;opacity:0;pointer-events:none;transition:opacity .2s ease}.fab-backdrop.show{opacity:1;pointer-events:auto}
@media(max-width:700px){.sf-inner{padding:40px 20px 26px}.sf-top{display:grid;grid-template-columns:1fr 1fr;gap:28px 18px}.sf-brand{grid-column:1/-1;min-width:0}.sf-top .sf-col{min-width:0;flex:none}.site-foot{border-radius:0;margin-top:52px}}
@media(max-width:860px){.site-foot{padding-bottom:8px}.fab-wrap,.fab-backdrop{display:none!important}}
