/*
  ФАЙЛ: themefx.css
  Назначение: мгновенное переключение темы БЕЗ анимации и БЕЗ переходов.
  Что редактируется в этом файле:
  - полный запрет transition/animation на время смены темы: .theme-switch-noanim
  - аварийное скрытие старых overlay-элементов темы, если они остались в DOM
  - страховка для служебных классов theme-animating/theme-freeze
  Примечание: круговая анимация темы удалена, тема должна переключаться сразу.
*/

html.theme-switch-noanim,
body.theme-switch-noanim{
  scroll-behavior: auto !important;
}

html.theme-switch-noanim *,
html.theme-switch-noanim *::before,
html.theme-switch-noanim *::after,
body.theme-switch-noanim *,
body.theme-switch-noanim *::before,
body.theme-switch-noanim *::after,
body.theme-animating *,
body.theme-animating *::before,
body.theme-animating *::after,
body.theme-freeze *,
body.theme-freeze *::before,
body.theme-freeze *::after{
  transition: none !important;
  animation: none !important;
}

.theme-transition-overlay,
.theme-transition-scope,
.theme-transition-clone{
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.theme-animating,
body.theme-freeze{
  overflow-x: hidden !important;
}

body.theme-animating .bag-theme-frozen,
body.theme-animating .bag-theme-frozen::before,
body.theme-animating .bag-theme-frozen::after,
body.theme-freeze .bag-theme-frozen,
body.theme-freeze .bag-theme-frozen::before,
body.theme-freeze .bag-theme-frozen::after,
body.theme-switch-noanim .bag-theme-frozen,
body.theme-switch-noanim .bag-theme-frozen::before,
body.theme-switch-noanim .bag-theme-frozen::after{
  transition: none !important;
  animation: none !important;
  background: var(--bag-freeze-bg, transparent) !important;
  background-color: var(--bag-freeze-bg, transparent) !important;
  border-color: var(--bag-freeze-border, transparent) !important;
  color: var(--bag-freeze-color, inherit) !important;
  fill: var(--bag-freeze-color, currentColor) !important;
  stroke: var(--bag-freeze-color, currentColor) !important;
  box-shadow: var(--bag-freeze-shadow, none) !important;
  filter: var(--bag-freeze-filter, none) !important;
  opacity: var(--bag-freeze-opacity, 1) !important;
  -webkit-text-fill-color: var(--bag-freeze-color, currentColor) !important;
}

body.theme-animating .bag-theme-frozen::placeholder,
body.theme-freeze .bag-theme-frozen::placeholder,
body.theme-switch-noanim .bag-theme-frozen::placeholder{
  color: var(--bag-freeze-placeholder, var(--bag-freeze-color, inherit)) !important;
  opacity: 1 !important;
}


/* FIX v2.1.4: точечно убрать моргание у Content List, BAGID-поиска и избранных */
html.theme-switch-noanim body #tracksToggle,
html.theme-switch-noanim body #tracksToggle *,
body.theme-switch-noanim #tracksToggle,
body.theme-switch-noanim #tracksToggle *,
html.theme-switch-noanim body #bagSearchWrap,
html.theme-switch-noanim body #bagSearchWrap *,
body.theme-switch-noanim #bagSearchWrap,
body.theme-switch-noanim #bagSearchWrap *,
html.theme-switch-noanim body #bagSearchInput,
body.theme-switch-noanim #bagSearchInput,
html.theme-switch-noanim body #bagSearchClear,
html.theme-switch-noanim body #bagSearchClear *,
body.theme-switch-noanim #bagSearchClear,
body.theme-switch-noanim #bagSearchClear *,
html.theme-switch-noanim body #favoritesToggleBtn,
html.theme-switch-noanim body #favoritesToggleBtn *,
body.theme-switch-noanim #favoritesToggleBtn,
body.theme-switch-noanim #favoritesToggleBtn *,
html.theme-switch-noanim body #bagFavoriteInlineBtn,
html.theme-switch-noanim body #bagFavoriteInlineBtn *,
body.theme-switch-noanim #bagFavoriteInlineBtn,
body.theme-switch-noanim #bagFavoriteInlineBtn *,
body.theme-freeze #tracksToggle,
body.theme-freeze #tracksToggle *,
body.theme-freeze #bagSearchWrap,
body.theme-freeze #bagSearchWrap *,
body.theme-freeze #bagSearchInput,
body.theme-freeze #bagSearchClear,
body.theme-freeze #bagSearchClear *,
body.theme-freeze #favoritesToggleBtn,
body.theme-freeze #favoritesToggleBtn *,
body.theme-freeze #bagFavoriteInlineBtn,
body.theme-freeze #bagFavoriteInlineBtn *,
body.theme-animating #tracksToggle,
body.theme-animating #tracksToggle *,
body.theme-animating #bagSearchWrap,
body.theme-animating #bagSearchWrap *,
body.theme-animating #bagSearchInput,
body.theme-animating #bagSearchClear,
body.theme-animating #bagSearchClear *,
body.theme-animating #favoritesToggleBtn,
body.theme-animating #favoritesToggleBtn *,
body.theme-animating #bagFavoriteInlineBtn,
body.theme-animating #bagFavoriteInlineBtn *{
  transition-property: none !important;
  transition-duration: 0s !important;
  transition-delay: 0s !important;
  transition-timing-function: linear !important;
  animation: none !important;
}

body.theme-switch-noanim #tracksToggle.bag-theme-frozen,
body.theme-switch-noanim #bagSearchWrap.bag-theme-frozen,
body.theme-switch-noanim #bagSearchInput.bag-theme-frozen,
body.theme-switch-noanim #bagSearchClear.bag-theme-frozen,
body.theme-switch-noanim #favoritesToggleBtn.bag-theme-frozen,
body.theme-switch-noanim #bagFavoriteInlineBtn.bag-theme-frozen,
body.theme-freeze #tracksToggle.bag-theme-frozen,
body.theme-freeze #bagSearchWrap.bag-theme-frozen,
body.theme-freeze #bagSearchInput.bag-theme-frozen,
body.theme-freeze #bagSearchClear.bag-theme-frozen,
body.theme-freeze #favoritesToggleBtn.bag-theme-frozen,
body.theme-freeze #bagFavoriteInlineBtn.bag-theme-frozen,
body.theme-animating #tracksToggle.bag-theme-frozen,
body.theme-animating #bagSearchWrap.bag-theme-frozen,
body.theme-animating #bagSearchInput.bag-theme-frozen,
body.theme-animating #bagSearchClear.bag-theme-frozen,
body.theme-animating #favoritesToggleBtn.bag-theme-frozen,
body.theme-animating #bagFavoriteInlineBtn.bag-theme-frozen{
  background: var(--bag-freeze-bg, transparent) !important;
  background-color: var(--bag-freeze-bg, transparent) !important;
  border-color: var(--bag-freeze-border, transparent) !important;
  color: var(--bag-freeze-color, inherit) !important;
  box-shadow: var(--bag-freeze-shadow, none) !important;
  filter: var(--bag-freeze-filter, none) !important;
  opacity: var(--bag-freeze-opacity, 1) !important;
  -webkit-text-fill-color: var(--bag-freeze-color, currentColor) !important;
}

body.theme-switch-noanim #tracksToggle .bag-theme-frozen,
body.theme-switch-noanim #favoritesToggleBtn .bag-theme-frozen,
body.theme-switch-noanim #bagFavoriteInlineBtn .bag-theme-frozen,
body.theme-freeze #tracksToggle .bag-theme-frozen,
body.theme-freeze #favoritesToggleBtn .bag-theme-frozen,
body.theme-freeze #bagFavoriteInlineBtn .bag-theme-frozen,
body.theme-animating #tracksToggle .bag-theme-frozen,
body.theme-animating #favoritesToggleBtn .bag-theme-frozen,
body.theme-animating #bagFavoriteInlineBtn .bag-theme-frozen{
  color: var(--bag-freeze-color, inherit) !important;
  fill: var(--bag-freeze-color, currentColor) !important;
  stroke: var(--bag-freeze-color, currentColor) !important;
  opacity: var(--bag-freeze-opacity, 1) !important;
  filter: var(--bag-freeze-filter, none) !important;
  -webkit-text-fill-color: var(--bag-freeze-color, currentColor) !important;
}

body.theme-switch-noanim #bagSearchInput.bag-theme-frozen::placeholder,
body.theme-freeze #bagSearchInput.bag-theme-frozen::placeholder,
body.theme-animating #bagSearchInput.bag-theme-frozen::placeholder{
  color: var(--bag-freeze-placeholder, var(--bag-freeze-color, inherit)) !important;
  opacity: 1 !important;
}
