/* BuddyPress Profile Icons (Auto) */
:root {
  --bppia-icon-size: 1em;
  --bppia-gap: .5rem;
  --bppia-color: currentColor;
}

/* Generic wrapper: any link/button with data-icon gets a leading icon */
a[data-icon], button[data-icon], .button[data-icon], .bp-button[data-icon] {
  display: inline-flex;
  align-items: center;
  gap: var(--bppia-gap);
}

/* The icon */
a[data-icon]::before, button[data-icon]::before, .button[data-icon]::before, .bp-button[data-icon]::before {
  content: "";
  width: var(--bppia-icon-size);
  height: var(--bppia-icon-size);
  background: var(--bppia-color);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  display: inline-block;
}

/* Per-icon mapping */
a[data-icon="add-friend"]::before,
button[data-icon="add-friend"]::before { -webkit-mask-image: url("../icons/add-friend.svg"); mask-image: url("../icons/add-friend.svg"); }

a[data-icon="public-message"]::before,
button[data-icon="public-message"]::before { -webkit-mask-image: url("../icons/public-message.svg"); mask-image: url("../icons/public-message.svg"); }

a[data-icon="private-message"]::before,
button[data-icon="private-message"]::before { -webkit-mask-image: url("../icons/private-message.svg"); mask-image: url("../icons/private-message.svg"); }

a[data-icon="video-call"]::before,
button[data-icon="video-call"]::before { -webkit-mask-image: url("../icons/video-call.svg"); mask-image: url("../icons/video-call.svg"); }

/* Tabs/sections */
a[data-icon="activity"]::before { -webkit-mask-image: url("../icons/activity.svg"); mask-image: url("../icons/activity.svg"); }
a[data-icon="profile"]::before  { -webkit-mask-image: url("../icons/profile.svg");  mask-image: url("../icons/profile.svg"); }
a[data-icon="friends"]::before  { -webkit-mask-image: url("../icons/friends.svg");  mask-image: url("../icons/friends.svg"); }
a[data-icon="photos"]::before   { -webkit-mask-image: url("../icons/photos.svg");   mask-image: url("../icons/photos.svg"); }
a[data-icon="arcade"]::before   { -webkit-mask-image: url("../icons/arcade.svg");   mask-image: url("../icons/arcade.svg"); }
a[data-icon="personal"]::before { -webkit-mask-image: url("../icons/personal.svg"); mask-image: url("../icons/personal.svg"); }
a[data-icon="mentions"]::before { -webkit-mask-image: url("../icons/mentions.svg"); mask-image: url("../icons/mentions.svg"); }
a[data-icon="favorites"]::before{ -webkit-mask-image: url("../icons/favorites.svg");mask-image: url("../icons/favorites.svg"); }

/* BuddyPress nav areas often use lists; ensure spacing looks nice */
#item-nav a[data-icon], .bp-navs a[data-icon], .bp-subnavs a[data-icon] {
  gap: .5rem;
}

/* Ensure public-message uses private-message icon */

a[data-icon="public-message"]::before,
button[data-icon="public-message"]::before {
  -webkit-mask-image: url("../icons/private-message.svg");
          mask-image: url("../icons/private-message.svg");
}

/* Reinforce add-friend mapping */

a[data-icon="add-friend"]::before,
button[data-icon="add-friend"]::before {
  -webkit-mask-image: url("../icons/add-friend.svg");
          mask-image: url("../icons/add-friend.svg");
}
