/* ============================================================
   MATERIAL SYMBOLS OUTLINED
   Font-face + PrimeNG Bridge Classes
   ============================================================ */

@font-face {
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 100 700;
  src: url('../assets/font/MaterialSymbolsOutlined[FILL,GRAD,opsz,wght].woff2') format('woff2');
}

.material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'liga';
}

/* ── PrimeNG Bridge: mso-* classes ── */

[class^="mso-"]::before,
[class*=" mso-"]::before {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  vertical-align: middle;
}

/* Icon inside PrimeNG buttons — centered alignment */
.ui-button [class^="mso-"]::before,
.ui-button [class*=" mso-"]::before,
.ui-button[class^="mso-"]::before,
.ui-button[class*=" mso-"]::before,
.ui-button-icon-left[class^="mso-"]::before,
.ui-button-icon-left[class*=" mso-"]::before {
  font-size: 20px;
  vertical-align: middle;
}

/* Icon inside menu items — proper width */
.ui-menuitem-icon[class^="mso-"]::before,
.ui-menuitem-icon[class*=" mso-"]::before {
  font-size: 22px;
}

/* ── Navigation & Menu ── */
.mso-home::before { content: 'home'; }
.mso-menu::before { content: 'menu'; }
.mso-settings::before { content: 'settings'; }
.mso-logout::before { content: 'logout'; }
.mso-explore::before { content: 'explore'; }
.mso-language::before { content: 'language'; }

/* ── Arrows & Chevrons ── */
.mso-arrow-back::before { content: 'arrow_back'; }
.mso-arrow-drop-down::before { content: 'arrow_drop_down'; }
.mso-arrow-drop-up::before { content: 'arrow_drop_up'; }
.mso-chevron-left::before { content: 'chevron_left'; }
.mso-chevron-right::before { content: 'chevron_right'; }
.mso-expand-less::before { content: 'expand_less'; }
.mso-expand-more::before { content: 'expand_more'; }
.mso-keyboard-double-arrow-left::before { content: 'keyboard_double_arrow_left'; }
.mso-keyboard-double-arrow-right::before { content: 'keyboard_double_arrow_right'; }

/* ── Actions ── */
.mso-add::before { content: 'add'; }
.mso-add-box::before { content: 'add_box'; }
.mso-delete::before { content: 'delete'; }
.mso-save::before { content: 'save'; }
.mso-edit::before { content: 'edit'; }
.mso-edit-square::before { content: 'edit_square'; }
.mso-content-copy::before { content: 'content_copy'; }
.mso-share::before { content: 'share'; }
.mso-download::before { content: 'download'; }
.mso-upload::before { content: 'upload'; }
.mso-search::before { content: 'search'; }
.mso-sort::before { content: 'sort'; }
.mso-redo::before { content: 'redo'; }
.mso-refresh::before { content: 'refresh'; }
.mso-sync::before { content: 'sync'; }
.mso-swap-horiz::before { content: 'swap_horiz'; }
.mso-drag-indicator::before { content: 'drag_indicator'; }

/* ── Status & Feedback ── */
.mso-check-circle::before { content: 'check_circle'; }
.mso-check-box::before { content: 'check_box'; }
.mso-check-box-blank::before { content: 'check_box_outline_blank'; }
.mso-indeterminate-check-box::before { content: 'indeterminate_check_box'; }
.mso-cancel::before { content: 'cancel'; }
.mso-block::before { content: 'block'; }
.mso-warning::before { content: 'warning'; }
.mso-info::before { content: 'info'; }
.mso-help::before { content: 'help'; }

/* ── People & Communication ── */
.mso-person::before { content: 'person'; }
.mso-send::before { content: 'send'; }
.mso-mail::before { content: 'mail'; }
.mso-phone::before { content: 'phone'; }
.mso-smartphone::before { content: 'smartphone'; }
.mso-handshake::before { content: 'handshake'; }

/* ── Places & Maps ── */
.mso-location-on::before { content: 'location_on'; }
.mso-calendar-today::before { content: 'calendar_today'; }
.mso-warehouse::before { content: 'warehouse'; }

/* ── Music & Entertainment ── */
.mso-music-note::before { content: 'music_note'; }
.mso-mic::before { content: 'mic'; }
.mso-rocket-launch::before { content: 'rocket_launch'; }
.mso-sports-mma::before { content: 'sports_mma'; }
.mso-star::before { content: 'star'; }
.mso-monitor-heart::before { content: 'monitor_heart'; }

/* ── Content & Media ── */
.mso-image::before { content: 'image'; }
.mso-photo-library::before { content: 'photo_library'; }
.mso-newspaper::before { content: 'newspaper'; }
.mso-list::before { content: 'list'; }
.mso-tag::before { content: 'tag'; }

/* ── Security ── */
.mso-lock::before { content: 'lock'; }
.mso-lock-open::before { content: 'lock_open'; }

/* ── Commerce & Inventory ── */
.mso-attach-money::before { content: 'attach_money'; }
.mso-inventory-2::before { content: 'inventory_2'; }

/* ── Misc ── */
.mso-brush::before { content: 'brush'; }
.mso-lightbulb::before { content: 'lightbulb'; }
.mso-dark-mode::before { content: 'dark_mode'; }
.mso-light-mode::before { content: 'light_mode'; }

/* ── Utility Classes ── */
.mso-2x { font-size: 2em !important; }
.mso-3x { font-size: 3em !important; }

@keyframes mso-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
.mso-spin {
  animation: mso-spin 1s linear infinite;
  display: inline-block;
}
