/* --------------------------------------------------------------------------
   IMPORTS & GLOBAL STYLES
   -------------------------------------------------------------------------- */
@import "colors.css";

/* --------------------------------------------------------------------------
   BASE CONTAINER
   -------------------------------------------------------------------------- */
window#waybar {
  /* Layout & Box Model */
  /* border: 1px solid @border-color; */
  /* border-bottom: none; */
  /* border-radius: 10px 10px 0 0; */
  
  /* Typography */
  font-family: "Iosevka Nerd Font Propo";
  font-size: 15px;
  
  /* Colors */
  background-color: transparent;
  /* color: @text-primary; */
  
  /* Effects & Transitions */
  /* transition-property: background-color; */
  /* transition-duration: 0.5s; */
}

/* Window States */
window#waybar.hidden {
  opacity: 0.2;
}

window#waybar.termite {
  background-color: #3F3F3F;
}

window#waybar.chromium {
  background-color: #000000;
  border: none;
}

/* --------------------------------------------------------------------------
   MODULE COMMON STYLES
   -------------------------------------------------------------------------- */
/* Common styling applied to all modules */
#mpd,
#mpris,
#custom-pomodoro,
#clock,
#battery,
#network,
#pulseaudio,
#pulseaudio-slider,
#custom-separator,
#scratchpad,
#tray {
  padding: 0 10px;
  color: @text-primary;
  transition: color 0.3s ease, text-shadow 0.3s ease, background 0.3s ease;
}

/* --------------------------------------------------------------------------
   WORKSPACES
   -------------------------------------------------------------------------- */
#workspaces {
  font-size: 18px;
  background-color: transparent;
}

#workspaces button {
  padding: 0 6px;
  min-width: 20px;
  background-color: transparent;
  color: alpha(@accent, 0.5);
  border: none;
  border-radius: 0;
}

/* Workspace States */
#workspaces button.empty:not(.special) {
  color: @text-secondary;
}

#workspaces button.active:not(.hosting-monitor) {
  text-shadow: 0px 0px 8px @accent;
}

#workspaces button.special.active {
  text-shadow: 0px 0px 8px @primary;
}

#workspaces button.active.hosting-monitor {
  color: @accent;
  text-shadow: 0px 0px 8px @accent;
  animation: hover 0.8s 1;
}

#workspaces button.empty:not(.hosting-monitor):not(.special) {
  color: alpha(@text-secondary, 0.45);
}

#workspaces button.urgent {
  color: @attention;
  font-weight: 700;
  text-shadow: 0px 0px 8px @attention;
  transition: color 0.5s, box-shadow 0.5s, background 0.5s;
}

#workspaces button:hover {
  color: @text-primary;
  background: none;
  box-shadow: none;
  text-shadow: 0px -2px 3px @text-primary;
}

#workspaces button:not(.hosting-monitor):not(.empty):not(.special) {
    color: alpha(@accent, 0.2);
}

#workspaces button.active.hosting-monitor:hover {
  color: @text-primary;
  background: none;
  box-shadow: none;
  text-shadow: 0px 0px 8px @text-primary;
}

/* --------------------------------------------------------------------------
   SIDE PANEL GROUPS
   -------------------------------------------------------------------------- */
#mpd, #mpris, #workspaces, .modules-right {
  /* Layout & Box Model */
  border: 1px solid @border-color;
  border-radius: 15px;
   
  /* Colors */
  background-color: @bg-panel;
}

.modules-left {
}

.modules-right {
}

/* --------------------------------------------------------------------------
   AUDIO CONTROL MODULES
   -------------------------------------------------------------------------- */
#pulseaudio {
  padding-right: 0;
  border-right: none;
}

#pulseaudio-slider slider {
  min-height: 0px;
  min-width: 0px;
  opacity: 0;
  background-image: none;
  border: none;
  box-shadow: none;
}

#pulseaudio-slider trough {
  min-height: 10px;
  min-width: 25px;
  border-radius: 5px;
  background: alpha(@text-primary, 0.2);
}

#pulseaudio-slider highlight {
  min-width: 10px;
  border-radius: 5px;
  background: @text-primary;
}

/* --------------------------------------------------------------------------
   CUSTOM MODULES
   -------------------------------------------------------------------------- */
#custom-pomodoro {
  color: @text-secondary;
  border-radius: 0 0 10px 10px;
}

/* --------------------------------------------------------------------------
   STATE-BASED STYLES
   -------------------------------------------------------------------------- */

/* POMODORO STATES */
#custom-pomodoro.work {
  color: @accent;
}

#custom-pomodoro.break {
  color: @success;
  text-shadow: 0px 0px 4px rgba(0, 255, 0, 1);
}

#custom-pomodoro.pause {
  color: @attention;
  text-shadow: 0px 0px 4px @attention;
}

/* MPD STATES */
#mpd, #mpris {
  transition: color 2s, background 2s;
}

#mpd.playing, #mpris.playing {
  color: @accent;
  font-weight: 700;
  /* color: @text-primary; */
}

#mpd.stopped, #mrpis.stopped {
  color: transparent;
  background: transparent;
  border-color: transparent;
  transition: color 2s, background 2s;
}

#mpd.paused, #mpris.paused {
  font-weight: normal;
  color: @text-secondary;
}

/* BATTERY STATES */
#battery.charging,
#battery.plugged {
  color: @success;
  text-shadow: 0px 0px 8px @success;
  transition: color 0.3s, box-shadow 0.3s, background 0.3s;
}

#battery.warning:not(.charging) {
  color: @warning;
  text-shadow: 0px 0px 8px @warning;
  transition: color 0.3s, box-shadow 0.3s, background 0.3s;
}

#battery.critical:not(.charging) {
  color: @danger;
  text-shadow: 0px 0px 8px @danger;
  transition: color 0.3s, box-shadow 0.3s, background 0.3s;
}

/* --------------------------------------------------------------------------
   HOVER EFFECTS
   -------------------------------------------------------------------------- */
#mpd.playing:hover,
#mpd.paused:hover,
#mpris.playing:hover,
#mpris.paused:hover,
#clock:hover,
#battery:hover,
#network:hover,
#pulseaudio:hover,
#custom-pomodoro:hover,
#scratchpad:hover,
#tray:hover {
  color: @accent;
  text-shadow: 0px 0px 8px @accent;
  transition: color 0.3s, box-shadow 0.3s, background 0.3s;
}

#pulseaudio-slider:hover highlight {
  background: @accent;
  box-shadow: 0px 0px 8px @accent;
  transition: color 0.3s, box-shadow 0.3s, background 0.3s;
}

/* --------------------------------------------------------------------------
   LAYOUT UTILITIES
   -------------------------------------------------------------------------- */
#window,
#workspaces {
  margin: 0 2.5px;
}

.modules-left > widget:first-child > #workspaces {
  margin-left: 0;
}

.modules-right > widget:last-child > #workspaces {
  margin-right: 0;
}

/* --------------------------------------------------------------------------
   ANIMATIONS
   -------------------------------------------------------------------------- */
@keyframes hover {
    0% { color: @text-primary; }
    100% { color: @accent; }
}
