:root {
  --sl-purple: #4f197a;
  --sl-purple-bright: #682585;
  --sl-gold: #d4af37;
  --sl-ink: #130f18;
  --sl-paper: #f7f4f9;
  --sl-white: #fff;
  --sl-muted: #6e6972;
  --sl-line: rgba(79, 25, 122, 0.16);
  --sl-radius: 22px;
  --sl-shadow: 0 28px 70px rgba(25, 15, 33, 0.14);
}

/* Brand-aligned vector footer icons, independent of legacy icon fonts. */
#footer-outer .text-icon.address,
#footer-outer .text-icon.phone,
#footer-outer .text-icon.email {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
}

#footer-outer .text-icon.address::before,
#footer-outer .text-icon.phone::before,
#footer-outer .text-icon.email::before {
  position: static !important;
  display: block !important;
  flex: 0 0 20px;
  width: 20px !important;
  height: 20px !important;
  margin: 2px 0 0 !important;
  transform: none !important;
  background-color: var(--sl-gold) !important;
  background-image: none !important;
  content: "" !important;
  -webkit-mask-image: var(--sl-footer-icon);
  mask-image: var(--sl-footer-icon);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

#footer-outer .text-icon.address::before {
  --sl-footer-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 11-8 11S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
}

#footer-outer .text-icon.phone::before {
  --sl-footer-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.1 3.4 9.7 8l-2.1 2.1a16 16 0 0 0 6.3 6.3l2.1-2.1 4.6 2.6v2.4a1.8 1.8 0 0 1-1.8 1.8A16 16 0 0 1 2.9 5.2a1.8 1.8 0 0 1 1.8-1.8Z'/%3E%3C/svg%3E");
}

#footer-outer .text-icon.email::before {
  --sl-footer-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E");
}

:where(a, button, input, textarea, select):focus-visible {
  outline: 3px solid rgba(212, 175, 55, 0.72);
  outline-offset: 3px;
}

#header-outer .cart-menu,
#header-outer a.cart-contents,
#footer-outer .social li a,
.pagination a.page-numbers,
.portfolio-items .infinite-scroll-pagination a {
  min-width: 44px;
  min-height: 44px;
}

#footer-outer .social li a,
.pagination a.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 999px) {
  #header-outer .slide-out-widget-area-toggle.mobile-icon,
  #header-outer .slide-out-widget-area-toggle.mobile-icon > div {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
  }

  #header-outer .slide-out-widget-area-toggle.mobile-icon > div > a,
  #header-outer #mobile-cart-link {
    display: inline-flex !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
  }
}
