/* YOYO Messenger — shared modern SVG icon system (chat v27 stroke style) */

.yoyo-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  display: block;
  pointer-events: none;
}

.yoyo-icon-sm {
  width: 16px;
  height: 16px;
}

.yoyo-icon-lg {
  width: 24px;
  height: 24px;
}

/* Icon-only button (toolbar actions, headers) */
.yoyo-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: none;
  border-radius: 10px;
  background: transparent;
  color: var(--ym-purple-dark);
  cursor: pointer;
  transition: background 0.15s, color 0.15s, transform 0.12s;
  -webkit-tap-highlight-color: transparent;
}

.yoyo-icon-btn:hover {
  background: rgba(92, 45, 145, 0.12);
  color: var(--ym-purple);
}

.yoyo-icon-btn:active {
  transform: scale(0.94);
  background: rgba(92, 45, 145, 0.18);
}

.yoyo-icon-btn:focus-visible {
  outline: 2px solid rgba(92, 45, 145, 0.45);
  outline-offset: 1px;
}

.yoyo-icon-btn.sounds-muted {
  opacity: 0.45;
  color: #7a6b8a;
}

.yoyo-icon-btn .icon-sound-on.hidden,
.yoyo-icon-btn .icon-sound-off.hidden {
  display: none;
}

/* Classic Yahoo-style toolbar: icon above label */
.yoyo-toolbar {
  display: flex;
  align-items: flex-end;
  gap: 2px;
  flex-wrap: wrap;
}

.yoyo-toolbar-spacer {
  flex: 1;
  min-width: 8px;
}

.yoyo-toolbar-btn {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-width: 48px;
  padding: 4px 6px 3px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--ym-purple-dark);
  font-size: 9px;
  font-weight: 600;
  line-height: 1.1;
  cursor: pointer;
  transition: background 0.15s, color 0.15s, border-color 0.15s, transform 0.12s;
  -webkit-tap-highlight-color: transparent;
}

.yoyo-toolbar-btn .yoyo-icon {
  width: 22px;
  height: 22px;
}

.yoyo-toolbar-btn:hover {
  background: rgba(92, 45, 145, 0.12);
  color: var(--ym-purple);
  border-color: rgba(92, 45, 145, 0.15);
}

.yoyo-toolbar-btn:active {
  transform: scale(0.96);
  background: rgba(92, 45, 145, 0.18);
}

.yoyo-toolbar-btn:focus-visible {
  outline: 2px solid rgba(92, 45, 145, 0.45);
  outline-offset: 1px;
}

.yoyo-toolbar-label {
  max-width: 56px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.yoyo-toolbar-btn--signout {
  min-width: auto;
  padding: 4px 10px;
}

.yoyo-toolbar-btn--signout .yoyo-icon {
  width: 18px;
  height: 18px;
}

/* Inline buddy indicators */
.buddy-pin,
.buddy-mute {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  margin-left: 3px;
  color: var(--ym-purple);
}

.buddy-pin .yoyo-icon,
.buddy-mute .yoyo-icon {
  width: 12px;
  height: 12px;
}

/* Context menu items with icons */
.yoyo-menu-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  text-align: left;
  padding: 7px 12px;
  border: none;
  background: transparent;
  font-size: 11px;
  cursor: pointer;
  color: var(--ym-text);
}

.yoyo-menu-btn:hover {
  background: #ece4f8;
}

.yoyo-menu-btn .yoyo-icon {
  width: 16px;
  height: 16px;
  color: var(--ym-purple);
}

/* Search box with icon */
.yoyo-search-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.yoyo-search-wrap .yoyo-search-icon {
  position: absolute;
  left: 8px;
  width: 14px;
  height: 14px;
  color: #888;
  pointer-events: none;
}

.yoyo-search-wrap input {
  padding-left: 28px !important;
}

/* Section header icons (profile, rooms) */
.yoyo-section-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: rgba(92, 45, 145, 0.1);
  color: var(--ym-purple);
  flex-shrink: 0;
}

.yoyo-section-icon .yoyo-icon {
  width: 16px;
  height: 16px;
}

.yoyo-section-heading {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Room / header action buttons with icon + text */
.yoyo-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.yoyo-action-btn .yoyo-icon {
  width: 16px;
  height: 16px;
}

/* Badge icons (lock, mute in lists) */
.yoyo-badge-icon {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  vertical-align: middle;
}

.yoyo-badge-icon .yoyo-icon {
  width: 12px;
  height: 12px;
}
