.mall-contact { position:fixed; top:calc(50% + 40px); right:28px; transform:translateY(-50%); z-index:9990; display:flex; flex-direction:column; gap:10px; }
.mall-contact a { position:relative; display:grid; width:54px; height:54px; place-items:center; border:1px solid rgba(148,163,184,.24); border-radius:50%; background:rgba(255,255,255,.78); box-shadow:0 8px 24px rgba(15,23,42,.1); backdrop-filter:blur(12px) saturate(140%); transition:transform .2s,box-shadow .2s; }
.mall-contact .wechat { color:#07c160; }
.mall-contact .phone { color:#168cff; }
.mall-contact svg { width:26px; height:26px; fill:currentColor; }
.mall-contact a::before { content:attr(aria-label); position:absolute; right:calc(100% + 12px); white-space:nowrap; padding:7px 11px; border-radius:8px; background:rgba(15,23,42,.9); color:#fff; font-size:12px; opacity:0; pointer-events:none; }
.mall-contact a:hover,.mall-contact a:focus-visible { transform:translateY(-2px); box-shadow:0 12px 32px rgba(15,23,42,.14); }
.mall-contact a:hover::before,.mall-contact a:focus-visible::before { opacity:1; }
.mall-account-frame { display:none; position:fixed; inset:0; width:100%; height:100%; border:0; z-index:2147483000; background:transparent; }
.mall-account-frame.is-open { display:block; }
body.mall-account-open { overflow:hidden; }
#footer .mall-footer-contacts { margin:0; padding:0; list-style:none; }
#footer .mall-footer-contacts li { display:grid; grid-template-columns:36px minmax(0,1fr); align-items:center; column-gap:12px; min-height:60px; margin:0; padding:10px 0; border:0; }
#footer .mall-footer-contacts .fa { display:grid; place-items:center; flex:0 0 36px; height:36px; border-radius:50%; color:#b9ddff; background:rgba(255,255,255,.08); font-size:17px; }
#footer .mall-footer-contacts li > div { display:grid; grid-template-columns:36px minmax(0,1fr); align-items:baseline; gap:3px 8px; min-width:0; text-align:left; }
#footer .mall-footer-contacts strong { color:#fff; font-size:14px; margin-right:8px; }
#footer .mall-footer-contacts span { color:#b8bdc7; font-size:12px; }
#footer .mall-footer-contacts a { grid-column:1 / -1; display:block; margin:0; padding:0; color:#e5e7eb; font-size:16px; line-height:24px; font-variant-numeric:tabular-nums; white-space:nowrap; }
#footer .mall-footer-contacts a::before { content:none; }
#footer .mall-footer-contacts a:hover,#footer .mall-footer-contacts a:focus-visible { color:#8ecbff; text-decoration:underline; }
@media(max-width:767px) { .mall-contact { right:12px; } .mall-contact a { width:46px; height:46px; } }

