window#calendar {
   all: unset;
   color: $fg0;
   font-size: $font-size;

   .main {
      background: rgba($bg0, $window-opacity);
      border: $window-border-width solid $window-border-color;
      padding: $window-padding;
      border-radius: $window-radius;
      @if $shadow {
         box-shadow: $window-shadow-offset
            $window-shadow-blur
            $window-shadow-spread
            rgba($window-shadow-color, $window-shadow-opacity);
      }
   }

   .calendar-button,
   .weekdays button {
      background: transparent;
      font-weight: normal;
      outline: none;
      border-radius: $widget-radius;
      padding: 0;
      min-width: 40px;
      min-height: 40px;

      &:hover {
         transition: background $transition;
         background: rgba($bg1, $window-opacity);
      }
      &:focus {
         transition: 0s;
         outline-offset: -$window-outline-width;
         outline: $window-outline-width solid $window-outline-color;
      }
   }

   .weekend {
      color: $red;
   }

   .monthshift,
   .monthyear {
      border-radius: $widget-radius;
      background: transparent;
      font-weight: normal;
      outline: none;
      padding: 0;
      min-height: 40px;
      min-width: 40px;

      &:hover {
         transition: background $transition;
         background: rgba($bg1, $window-opacity);
      }
      &:focus {
         transition: 0s;
         outline-offset: -$window-outline-width;
         outline: $window-outline-width solid $window-outline-color;
      }
   }

   .monthyear {
      padding: 0 10px;
   }

   .today {
      background: rgba($accent, $window-opacity);
      color: get-contrast-color($accent, $fg0, $bg0);

      &:hover {
         color: get-contrast-color($accent-light, $fg0, $bg0);
         background: rgba($accent-light, $window-opacity);
      }
   }

   .other-month {
      color: $fg2;
   }

   .other-month-weekend {
      color: darken($red, 25%);
   }
}
