popover.menu {
  box.inline-buttons {
    padding: 0 $menu_padding;

    button.image-button.model {
      @extend %button_basic_flat;

      min-height: 30px;
      min-width: 30px;
      padding: 0;
      border: none;
      outline: none;
      transition: none;

      &:selected {
        background-color: $view_selected_color;

        &:active {
          background-color: $view_selected_active_color;
        }
      }
    }
  }

  box.circular-buttons {
    padding: $menu_padding $menu_padding 6px;

    button.circular.image-button.model {
      @extend %outline_button;

      outline: none;
      padding: 11px;
      &:selected {
        background-color: $view_selected_color;

        &:active {
          background-color: $view_selected_active_color;
        }
      }
    }
  }

  & > arrow,
  &.background > contents {
    background-color: $menu_color;
    color: $text_color;
    padding: 0;
  }

  &.background > contents {
    &, > scrolledwindow > viewport {
      > stack > box {
        padding: $menu-margin;
      }
    }
  }

  &.background separator {
    margin: 6px 0;
  }

  &.background list separator {
    margin: 0;
  }

  accelerator {
    color: gtkalpha(currentColor, 0.55);

    &:dir(ltr) { margin-left: $menu_padding; }
    &:dir(rtl) { margin-right: $menu_padding; }
  }

  check,
  radio {
    &, &:hover, &:hover:active, &:checked, &:disabled {
      background: none;
      color: inherit;

      transform: scale(0.8);
    }
  }

  //only menu radios have a border
  radio {
    padding: 0;
    border: 1.2px solid gtkalpha(currentColor, if($contrast == "high", 1, 0.3));
  }

  check,
  radio,
  arrow {
    &.left {
      margin-left: -2px;
      margin-right: 6px;
    }

    &.right {
      margin-left: 6px;
      margin-right: -2px;
    }
  }

  modelbutton {
    min-height: 30px;
    min-width: 40px;
    padding: 0 $menu_padding;
    border-radius: $menu-margin;

    @extend %undecorated_button;

    &:hover,
    &:selected {
      background-color: $view_selected_color;

      &:active {
        background-color: $view_selected_active_color; // matching buttons
      }
    }

    arrow {
      background: none;
      min-width: 16px;
      min-height: 16px;
      @if $contrast != "high" {
        opacity: 0.3; // dim icon
      }

      &:hover { background: none; }

      &:disabled {
        filter: opacity(0.5);
      }

      &.left { -gtk-icon-source: -gtk-icontheme("go-previous-symbolic"); }

      &.right { -gtk-icon-source: -gtk-icontheme("go-next-symbolic"); }
    }
  }

  label.title {
    font-weight: bold;
    padding: 4px ($menu_padding + 20px); //this will fall apart with font sizing
  }
}

menubar {
  padding: 0px;
  box-shadow: inset 0 -1px $borders_color;

  > item {
    min-height: 16px;
    padding: 4px 8px;
    border-radius: $button_radius;

    &:selected { //Seems like it :hover even with keyboard focus
      background-color: $view_selected_color;
    }

    //nested submenus
    popover.menu popover.menu {
      padding: 0 0 4px 0;
    }

    popover.menu.background popover.menu.background > contents {
      margin: 0;
      border-radius: $popover_radius; //including top
    }
  }
}
