/**
 * Shop boxicons alignment
 * boxicons-fix.css forces display:inline-block !important on <i class="bx">.
 * Rules that set width/height on <i> cannot use flex — center via ::before instead.
 */
body.shop-body.sn-theme .shop-filters__title > i[class*="bx-"],
body.shop-body.sn-theme .sn-auth-features i[class*="bx-"],
body.shop-body.sn-theme .sn-quick-link > i[class*="bx-"],
body.shop-body.sn-theme .sn-action:not(.sn-action--primary):not(.sn-action--ghost) > i[class*="bx-"],
body.shop-body.sn-theme .sn-mobile-menu__body a > i[class*="bx-"],
body.shop-body.sn-theme .sn-footer__contact > i[class*="bx-"],
body.shop-body.sn-theme .sn-footer__list a > i[class*="bx-"],
body.shop-body.sn-theme .sn-footer__trust-item > i[class*="bx-"],
body.shop-body.sn-theme .sn-services--compact .sn-service-item .sn-service-item__ico > i[class*="bx-"],
body.shop-body.sn-theme .sn-services--compact .sn-service-item > i[class*="bx-"],
body.shop-body.sn-theme .sn-quick-card__icon > i[class*="bx-"],
body.shop-body.sn-theme .sn-service-item__ico > i[class*="bx-"]{
  position:relative;
  box-sizing:border-box;
  text-align:center;
  vertical-align:middle;
}

body.shop-body.sn-theme .shop-filters__title > i[class*="bx-"]::before,
body.shop-body.sn-theme .sn-auth-features i[class*="bx-"]::before,
body.shop-body.sn-theme .sn-quick-link > i[class*="bx-"]::before,
body.shop-body.sn-theme .sn-action:not(.sn-action--primary):not(.sn-action--ghost) > i[class*="bx-"]::before,
body.shop-body.sn-theme .sn-mobile-menu__body a > i[class*="bx-"]::before,
body.shop-body.sn-theme .sn-footer__contact > i[class*="bx-"]::before,
body.shop-body.sn-theme .sn-footer__list a > i[class*="bx-"]::before,
body.shop-body.sn-theme .sn-footer__trust-item > i[class*="bx-"]::before,
body.shop-body.sn-theme .sn-services--compact .sn-service-item .sn-service-item__ico > i[class*="bx-"]::before,
body.shop-body.sn-theme .sn-services--compact .sn-service-item > i[class*="bx-"]::before,
body.shop-body.sn-theme .sn-quick-card__icon > i[class*="bx-"]::before,
body.shop-body.sn-theme .sn-service-item__ico > i[class*="bx-"]::before{
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important;
  line-height:1!important;
}

/* Flex parents center the <i> box; glyph centered inside via rules above when <i> is sized */
body.shop-body.sn-theme .sn-footer__social a > i[class*="bx-"],
body.shop-body.sn-theme .sn-sec-ico > i[class*="bx-"],
body.shop-body.sn-theme .sn-logo__icon > i[class*="bx-"],
body.shop-body.sn-theme .sn-footer__logo-icon > i[class*="bx-"],
body.shop-body.sn-theme .sn-cat-ico > i[class*="bx-"],
body.shop-body.sn-theme .shop-hero__nav > i[class*="bx-"],
body.shop-body.sn-theme .sn-mega-btn > i[class*="bx-"],
body.shop-body.sn-theme .sn-header__menu-btn > i[class*="bx-"]{
  display:inline-block!important;
  line-height:1!important;
  vertical-align:middle;
}
